Github
文章平均质量分 94
老马啸西风
Github: https://github.com/houbb
Email:houbinbin.echo@gmail.com
展开
-
NLP 中文形近字相似度算法开源实现
项目简介nlp-hanzi-similar 为汉字提供相似性的计算。创作目的有一个小伙伴说自己在做语言认知科学方向的课题研究,看了我以前写的 NLP 中文形近字相似度计算思路就想问下有没有源码或者相关资料。国内对于文本的相似度计算,开源的工具是比较丰富的。但是对于两个汉字之间的相似度计算,国内基本一片空白。国内的参考的资料少的可怜,国外相关文档也是如此。于是将以前写的相似度算法整理开源,希望能帮到这位小伙伴。本项目旨在抛砖引玉,实现一个基本的相似度计算工具,为汉字 NLP 贡献一点绵薄之力原创 2021-11-22 21:24:32 · 1654 阅读 · 0 评论 -
lombok-ex 编译时注解框架,性能完爆 AOP
lombok-exlombok-ex 是一款类似于 lombok 的编译时注解框架。主要补充一些 lombok 没有实现,且自己会用到的常见工具。编译时注解性能无任何损失,一个注解搞定一切,无三方依赖。创作目的补充 lombok 缺失的注解,便于日常开发使用。lombok 的源码基本不可读,应该是加密处理了。为其他注解相关框架提升性能提供基础,后期考虑替换为编译时注解。特性@Serial 序列化@Util 工具类@ToString toString@S原创 2020-06-05 21:43:12 · 12231 阅读 · 0 评论 -
你抢了那么多红包,知道它实现的原理吗?
抢红包随着电子支付的流行,目前在微信钉钉等社交软件都非常的受欢迎。发红包金额一般不需要很大,就可以达到提升大家积极性的方式。抢红包其实更多是一种消遣,不劳而获的快乐,快乐到无法想象。红包作为我们的传统文化流传至今,那么如果用程序该怎么实现呢?大概是自己 5 年前实现过一次,时间太久源码都没了,今天重新整理一下,希望对你有所启发。lucky-moneylucky-money 是我为这款红包小工具起的名字,好的名字是成功的一半。期间也看了几种翻译,就直接拼音翻译的,HongBao,或者是直译的 r原创 2020-05-25 20:19:37 · 12710 阅读 · 0 评论 -
java 支持分词的拼音转换高性能工具,速度是 pinyin4j 的两倍
pinyinpinyin 是 java 实现的高性能中文拼音转换工具。变更日志创作目的想为 java 设计一款便捷易用的拼音工具。如何为 java 设计一款高性能的拼音转换工具 pinyin4j特性性能是 pinyin4j 的两倍极简的 api 设计支持转换长文本支持多音字支持多种拼音标注方式支持中文分词快速开始准备jdk 1.7+m...原创 2020-01-18 22:40:14 · 1203 阅读 · 0 评论 -
结巴分词 java 高性能实现,优雅易用的 api 设计,性能优于 huaban jieba 分词
SegmentSegment 是基于结巴分词词库实现的更加灵活,高性能的 java 分词实现。变更日志创作目的分词是做 NLP 相关工作,非常基础的一项功能。jieba-analysis 作为一款非常受欢迎的分词实现,个人实现的 opencc4j 之前一直使用其作为分词。但是随着对分词的了解,发现结巴分词对于一些配置上不够灵活。有很多功能无法指定关闭,比如 HMM 对于繁简体转换...原创 2020-01-14 20:51:00 · 14947 阅读 · 0 评论 -
java 实现敏感词(sensitive word)工具详解使用说明
sensitive-word平时工作中,只要涉及到用户可以自由发言(博客、文档、论坛),就要考虑内容的敏感性处理。sensitive-word 基于 DFA 算法实现的高性能敏感词工具。工具使用 java 实现,帮助我们解决常见的问题。特性6W+ 词库,且不断优化更新基于 DFA 算法,性能较好基于 fluent-api 实现,使用优雅简洁支持敏感词的判断、返回、脱敏...原创 2020-01-09 14:48:46 · 21485 阅读 · 7 评论 -
java 实现 email 邮件发送最简单优雅的方式(网易 163 为例)
如何使用IMAP服务?首先介绍一些邮件发送的基础知识,如果你已经知道可以跳过。直接到 Email 邮件发送实现的部分。IMAP是什么?IMAP,即Internet Message Access Protocol(互联网邮件访问协议),您可以通过这种协议从邮件服务器上获取邮件的信息、下载邮件等。IMAP与POP类似,都是一种邮件获取协议。IMAP和POP有什么区别?POP允许电子邮件客...原创 2020-01-06 17:54:57 · 15498 阅读 · 1 评论 -
java property 配置文件管理工具框架,避免写入 property 乱序
propertyproperty 是 java 实现的 property 框架。特点优雅地进行属性文件的读取和更新写入属性文件后属性不乱序灵活定义编码信息使用 OO 的方式操作 property 文件支持多级对象引用变更日志ChangeLog快速开始环境依赖Maven 3.xJdk 1.7+Maven 引入依赖<dependency&...原创 2019-11-20 22:51:08 · 14822 阅读 · 0 评论 -
CSV-03- csv 读写框架支持数组、Map、Collection 等常见集合
集合类有时候对象中会包含数组、Map、Collection 等常见集合。为了存储的便利性,默认提供集合的相关支持。特性和普通字段保持一致,如果指定注解转换,则以注解为准。使用示例UserCollection.java用于演示集合的对象public class UserCollection { private String[] arrays; private L...原创 2019-06-17 20:12:21 · 16741 阅读 · 0 评论 -
spring retry, guava retrying 的整合-sisyphus java 重试框架
Sisyphus支持过程式编程和注解编程的 java 重试框架。特性支持 fluent 过程式编程基于字节码的代理重试基于注解的重试,允许自定义注解无缝接入 spring接口与注解的统一解决 spring-retry 与 guava-retrying 中的不足之处设计目的综合了 spring-retry 和 gauva-retrying 的优势。调...原创 2019-06-20 22:59:58 · 16291 阅读 · 12 评论 -
基于 java 注解的 csv 读写框架更加简单灵活,java 对象转 csv
CSV基于 java 注解的 csv 读写框架。相关框架Apache commons-csvsuper-csv简单看了下,这两个框架提供的特性都非常的基础。创作原由以前觉得 csv 文件的读写非常简单,就懒得封装。最近一个月写了两次 csv 文件相关的东西,发现要处理的细节还是有的,还浪费比较多的时间。比如:UTF-8 中文编码使用 excel 打开乱码,因为缺少 BOM ...原创 2019-06-20 20:16:31 · 16794 阅读 · 0 评论 -
基于 java 注解的 csv 文件读写框架
csv基于 java 注解生成加签验签 csv。开源地址: github csv创作原由以前觉得 csv 文件的多写非常简单,就懒得封装。最近一个月写了两次 csv 文件相关的东西,发现要处理的细节还是有的,还浪费比较多的时间。比如:UTF-8 中文编码使用 excel 打开乱码,因为缺少 BOM 头。不同类型字段转化为字符串,顺序的指定,head 头的指定,如果手写都会很...原创 2019-06-03 19:11:14 · 20395 阅读 · 0 评论 -
基于注解的 java 加签验签框架 checksum
checksum基于 java 注解生成加签验签 checksum。开源地址:github checksum创作缘由原来的代码中,checksum 的生成是用的工具类方法。后来发现如下的问题:有些字段太大,不想参与验签,但是无法方便的调整。不同系统的 checksum 字段不同,只好把工具方法 copy 过去,改来改去。感觉这样有很大的弊端,完全失去了灵活性。特性...原创 2019-05-29 21:06:30 · 22649 阅读 · 0 评论 -
自动生成 java markdown 文档生成框架-01-入门使用
设计初衷节约时间Java 文档一直是一个大问题。很多项目不写文档,即使写文档,对于开发人员来说也是非常痛苦的。不写文档的缺点自不用多少,手动写文档的缺点也显而易见:非常浪费时间,而且会出错。无法保证及时更新。代码已经变了,但是文档还要同步修改。需要强制人来维护这一种一致性。这很难。为什么不是 swagger-uijava 的文档有几类:jdk 自带的 doc 生成。...原创 2019-03-18 21:43:48 · 18382 阅读 · 2 评论 -
为 github markdown 文件生成目录(toc)
缘起有需求,才有创作。每次写 github 上的 README.md,内容较多时阅读不方便,也没有自动生成的 TOC(目录)。于是就自己写了一个。markdown-tocmarkdown-toc可以根据 atx(# 指定标题) 标题形式的 markdown 文件生成对应目录。效果展示BeforeAfter原创 2018-01-30 17:28:26 · 62420 阅读 · 0 评论 -
Java中文繁简体转换工具
创作缘由对于中文的繁简体转换是一种很常见的需求。但是很多工具类都是简单的做个映射。(使用map,集合,properties)等。存在一个严重的问题:特殊词组 的转换可能存在问题。OpenCCOpenCC 是一款非常优秀的转换工具。但是没有直接提供 Java 便于使用的 jar。opencc4jopencc4j 就是在上面的工具基础上提供的 java 使用版本。...原创 2018-02-13 18:17:31 · 42190 阅读 · 4 评论 -
java 日志脱敏框架 sensitive-新版本0.0.2-深度拷贝,属性为对象和集合的支持
项目介绍日志脱敏是常见的安全需求。普通的基于工具类方法的方式,对代码的入侵性太强。编写起来又特别麻烦。本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发。用户也可以基于自己的实际需要,自定义注解。特性基于注解的日志脱敏可以自定义策略实现,策略生效条件常见的脱敏内置方案java 深拷贝,且原始对象不用实现任何接口。快速开始maven 导入<d...原创 2019-01-11 00:34:59 · 14617 阅读 · 0 评论 -
java 日志脱敏框架 sensitive,优雅的打印脱敏日志
问题为了保证用户的信息安全,敏感信息需要脱敏。项目开发过程中,每次处理敏感信息的日志问题感觉很麻烦,大部分都是用工具类单独处理,不利于以后统一管理,很不优雅。于是,就写了一个基于 java 注解的日志脱敏工具。github sensitive项目介绍日志脱敏是常见的安全需求。普通的基于工具类方法的方式,对代码的入侵性太强。编写起来又特别麻烦。本项目提供基于注解的方式,并且内置了常...原创 2019-01-03 11:05:56 · 18867 阅读 · 11 评论 -
java 日志脱敏框架 sensitive-v0.0.4 系统内置常见注解,支持自定义注解
项目介绍日志脱敏是常见的安全需求。普通的基于工具类方法的方式,对代码的入侵性太强。编写起来又特别麻烦。本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发。特性基于注解的日志脱敏。可以自定义策略实现,策略生效条件。常见的脱敏内置方案。java 深拷贝,且原始对象不用实现任何接口。支持用户自定义注解。自定义注解maven 导入<depend...原创 2019-01-18 10:05:08 · 14619 阅读 · 1 评论 -
java bean 对象属性复制框架BeanMapping-01-入门案例
项目简介Bean-Mapping 用于 java 对象属性赋值。项目中经常需要将一个对象的属性,赋值到另一个对象中。常见的工具有很多,但都多少不够简洁,要么不够强大。特性支持对象属性的浅拷贝变更日志变更日志快速开始准备JDK1.8 及其以上版本Maven 3.X 及其以上版本maven 项目依赖<dependency> <groupId&...原创 2019-02-23 10:37:06 · 15306 阅读 · 0 评论 -
java bean 对象属性复制框架BeanMapping-release_0.0.2-注解支持
BeanMapping为了更加灵活的指定映射方式,0.0.2 版本引入了 @BeanMapping 注解。注解的定义注解定义在 bean-mapping-api 模块中,bean-mapping-core 会默认引入此模块。package com.github.houbb.bean.mapping.api.annotation;import com.github.houbb.bean....原创 2019-02-25 20:42:32 · 14217 阅读 · 0 评论 -
java 异步并行框架 async-01-入门教程
项目简介Async 是一款 Java 异步处理框架。设计目的并行执行可以大幅度提升程序的运行速度,有效利用 CPU 资源。但是单独为每次方法都使用线程池手写,显然不够优雅,复用性也很差。特性支持接口类的动态代理异步支持非接口类的 CGLIB 代理异步快速入门具体测试代码,参见 async-test 模块。引入 maven<dependency> ...原创 2019-03-12 19:49:47 · 14883 阅读 · 0 评论