From b2f6bc63931aa659360257677409a662009b54dd Mon Sep 17 00:00:00 2001 From: godcong Date: Fri, 2 Dec 2022 14:39:17 +0800 Subject: [PATCH] feat(fate): update readme --- README.md | 193 +++++++++++++++++++++++++++++------------------------- 1 file changed, 103 insertions(+), 90 deletions(-) diff --git a/README.md b/README.md index dd4232a0..b4d85972 100644 --- a/README.md +++ b/README.md @@ -9,100 +9,88 @@ ## 现代科学取名工具(A modern science chinese name create tool) -Github第一个开源的中文取名项目(The first chinese name create tool in github) +Github上第一个开源的中文取名项目(The first chinese name create tool in `github`) -## 简介 ## +## 目录 -本程序适用于单个姓或双个姓,起2个名的情况。(如:独孤**,李张**,张**,王**) -一个好名字伴随人的一生,FATE让你取一个好名字。 +[TOR] -## 全国及各省重名查询网址汇总 +### 简介 -原地址:`https://zhuanlan.zhihu.com/p/89654568` +本程序适用于单个姓或双个姓, 起2个名的情况. (如:独孤**, 李张**, 张**, 王**) +一个好名字伴随人的一生, FATE让你取一个好名字. -[本仓库地址](./docs/chinese_name_query.md) - -## 关于版本: +### 关于版本 除非稳定版本会单独出release,以后每次提交都会生成二进制文件的pre_release提供下载. -【[最新自编译版本](https://github.com/babyname/fate/releases/tag/auto_build)】 -【[最新数据库文件:20200331](https://github.com/babyname/fate/releases/download/v3.5.1/fate_db_200331.7z)】 +最新版使用Sqlite3数据库,不在需要导入数据库文件了. 直接下载下面的Sqlite3数据库到本地就能使用. 【[v3.5.2下载](https://github.com/babyname/fate/releases/tag/v3.5.2)】 【[Sqlite3数据库](https://github.com/babyname/fate/releases/download/auto_build/fate_sqlite3_database.zip)】 - -## 关于起名算法 ## - -FATE使用了以下算法,按照每种算法的准确度,使用程度也有高有低,不会一概而否,也不会偏向单独某种算法. - -``` -周易卦象 -大衍之数 -三才五格 -喜用神(平衡用神) -生肖用字 -八字吉凶 -``` - -## 接口调用生成姓名 ## - -``` - 使用前请导入database的数据(测试字库已基本完善,保险起见生成姓名后可以去一些测名网站验证下) - //加载配置(具体参数参考example/create_a_name) - cfg := config.Default() - //生日: - born := chronos.New("2020/01/23 11:31") - //姓氏: - lastName := "张" - //第一参数:姓氏 - //第二参数:生日 - f := fate.NewFate(lastName, born.Solar().Time(), fate.ConfigOption(cfg)) +【[最新自编译版本](https://github.com/babyname/fate/releases/tag/auto_build)】 +【[SQL数据库文件:20200331](https://github.com/babyname/fate/releases/download/v3.5.1/fate_db_200331.7z)】 + +### 使用方法 + +1. 编写运行go代码,接口调用生成姓名 + + ```go + 使用前请导入database的数据(测试字库已基本完善, 保险起见生成姓名后可以去一些测名网站验证下) + //加载配置(具体参数参考example/create_a_name) + cfg := config.Default() + //生日: + born := chronos.New("2020/01/23 11:31") + //姓氏: + lastName := "张" + //第一参数:姓氏 + //第二参数:生日 + f := fate.NewFate(lastName, born.Solar().Time(), fate.ConfigOption(cfg)) - e := f.MakeName(context.Background()) - if e != nil { - t.Fatal(e) - } -``` - -### ~~针对没有安装Go环境的用户,使用二进制文件在运行前务必把zoneinfo.zip下载并和二进制文件放在一起(不要解压) -,不然会报错.~~ + e := f.MakeName(context.Background()) + if e != nil { + t.Fatal(e) + } + ``` -### ~~[zoneinfo文件](https://github.com/babyname/fate/blob/master/zoneinfo.zip)~~ +2. 使用预编译二进制文件生成姓名 -## 二进制可执行文件生成姓名 ## + ```shell + //没有安装go环境的请下载master下的zoneinfo文件和fate二进制文件放一起 + //生成配置文件(可修改数据库, 及一些基本参数): + fate.exe init + //输出姓名: + fate.exe name -l 张 -b "2020/02/06 15:04" + ``` -``` -//没有安装go环境的请下载master下的zoneinfo文件和fate二进制文件放一起 -//生成配置文件(可修改数据库,及一些基本参数): -fate.exe init -//输出姓名: -fate.exe name -l 张 -b "2020/02/06 15:04" -``` +3. ~~针对没有安装Go环境的用户,使用二进制文件在运行前务必把zoneinfo.zip下载并和二进制文件放在一起(不要解压),不然会报错.~~ + ~~[zoneinfo文件](https://github.com/babyname/fate/blob/master/zoneinfo.zip)~~ + 最新编译的版本使用了Go新版编译, 已经不再需要手动下载`zoneinfo.zip`文件了. -## 常见问题: +### 常见问题 1. 报错: count total error:The system cannot find the path specified - ```docs + + ```docs zoneinfo缺失导致的时间转换失败问题(一般发生在windows环境下), 下载上面的zoneinfo文件并放到执行文件相同的目录下即可解决. 最新版会检查根目录,已无需重新init. 地址:https://github.com/babyname/fate/blob/master/zoneinfo.zip ``` -2. 如何导入数据 +2. 如何导入数据(Mysql) - ```docs - //链接到mysql数据库 - mysql -u用户名 -p密码 - //创建数据库 - CREATE schema `fate` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; - //使用fate数据库 - use fate; - //导入数据库文件 - source /path/to/sql/file; -PS:建议使用Navicat等工具导入,导入速度较快 -``` + ```docs + //链接到mysql数据库 + mysql -u用户名 -p密码 + //创建数据库 + CREATE schema `fate` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; + //使用fate数据库 + use fate; + //导入数据库文件 + source /path/to/sql/file; + PS:建议使用Navicat等工具导入,导入速度较快 + ``` -## 版本履历: +## 版本计划 第一版: 大部分是手动工作,现已废弃 @@ -111,32 +99,57 @@ PS:建议使用Navicat等工具导入,导入速度较快 可自动生成名字字符 + 手工筛选 第三版(开发中): -每次生成一个名字,并目标喜用神,生肖喜忌,月历转换,生成八字等功能 -八字计算: https://github.com/godcong/chronos -字典数据: https://github.com/godcong/excavator -数据库重新切回mysql,mongo虽然插入简单,检索语法太繁琐了... + +1. 添加API接口查询(后期可能需要一些WEB方面的工作, 如果有兴趣的可以报名). +2. 完善精简字典库, 并迁移到EntORM. +3. 更完善的查询规则定义. 第四版(计划中): 优化算法,调整接口,数据库,完善文档以及修复一些bug. -第五版(计划中): -图形界面UI,api接口调用. - -第六版(计划中): -占坑备用 - 第七版(计划中): 通过AI,大数据匹配算法,取出更好更佳的名字. -Fate涵盖以下六大派作为起名的基准: -• 笔划派: 认为笔划全吉,人生就大吉。其实准确度仅12.5 % -• 三才派: 完全不管笔划吉凶,只认为天地人三才五行相生,人生就大吉。其实准确度仅56.6 %。 -• 补八字: 完全不管笔划吉凶,只认为名字补到先天八字命盘欠缺,人生就大吉。其实准确度非常低。 -• 卦象派: 完全不管笔划吉凶,只认为名字求出卦象漂亮,人生就大吉。其实准确度仅40.26 %。 -• 天运派: 完全不管笔划吉凶,只认为名字不要被出生年天运五行所剋,人生就大吉。其实准确度仅25.32 %。 -• 生肖派: 完全不管笔划吉凶,只认为生肖用对字形,人生就大吉。其实准确度仅27.55 %。 +### 关于FATE + +FATE使用了以下算法,查询字典库自动生成匹配规则的名字. +按照每种算法的准确度,使用程度也有高有低,不会一概而否,也不会偏向单独某种算法. +不会按照个人喜好做出选择. + +- 周易卦象 +- 大衍之数 +- 三才五格 +- 喜用神(平衡用神) +- 生肖用字 +- 八字吉凶 + +目前Fate以六大派为基准综合计算生成名字: + +- 笔划派: 认为笔划全吉, 人生就大吉. 准确度12.5 % +- 三才派: 完全不管笔划吉凶, 只认为天地人三才五行相生, 人生就大吉. 准确度56.6 %. +- 补八字: 完全不管笔划吉凶, 只认为名字补到先天八字命盘欠缺, 人生就大吉. 其实准确度非常低. +- 卦象派: 完全不管笔划吉凶, 只认为名字求出卦象漂亮, 人生就大吉. 准确度40.26 %. +- 天运派: 完全不管笔划吉凶, 只认为名字不要被出生年天运五行所剋, 人生就大吉. 准确度25.32 %. +- 生肖派: 完全不管笔划吉凶, 只认为生肖用对字形, 人生就大吉. 准确度27.55 %. + +目前使用到的一些库: + +- 八字计算(用于计算生辰): +- 字典数据(一个爬虫工具填充字典数据库): +如果谁有更好用的可以告诉我. + +### 资料查询 + +1. 全国及各省重名查询网址汇总 + + 网友提供:`https://zhuanlan.zhihu.com/p/89654568`(**请谨慎访问非本站点地址**) + [本仓库地址](./docs/chinese_name_query.md) -## PS ## +## 一些废话 -在过去的几年中虽然Fate经过了好几个版本的改进,但是仍然有许多不足之处。 其中包括生成的名字太多不容易筛选, -还有些用户遇到了一些和Go相关的问题, 一些用户不知道如何导入数据库等。 这些问题都只能慢慢想办法去解决。 + 在过去的几年中虽然Fate经过了好几个版本的改进, 但是仍然有许多不足之处. + 其中包括生成的名字太多不容易筛选. + 还有些用户遇到了一些和Go相关的问题, 一些用户不知道如何导入数据库等. 这些问题都只能慢慢想办法去解决. + 还有些用户因为字典库生成的名字中有些字的寓意不好, 而恶意中伤作者. + 我想说的是这个字也不是我造的, 你如果有问题可以去找造那个字的人. + 如果觉得这个工具不好你可以不用.