Skip to content

Commit

Permalink
feat(fate): update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
godcong committed Dec 2, 2022
1 parent 2ee97c5 commit b2f6bc6
Showing 1 changed file with 103 additions and 90 deletions.
193 changes: 103 additions & 90 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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等工具导入,导入速度较快
```

## 版本履历:
## 版本计划

第一版:
大部分是手动工作,现已废弃
Expand All @@ -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 %.

目前使用到的一些库:

- 八字计算(用于计算生辰): <https://github.com/godcong/chronos>
- 字典数据(一个爬虫工具填充字典数据库): <https://github.com/godcong/excavator>
如果谁有更好用的可以告诉我.

### 资料查询

1. 全国及各省重名查询网址汇总

网友提供:`https://zhuanlan.zhihu.com/p/89654568`(**请谨慎访问非本站点地址**)
[本仓库地址](./docs/chinese_name_query.md)

## PS ##
## 一些废话

在过去的几年中虽然Fate经过了好几个版本的改进,但是仍然有许多不足之处。 其中包括生成的名字太多不容易筛选,
还有些用户遇到了一些和Go相关的问题, 一些用户不知道如何导入数据库等。 这些问题都只能慢慢想办法去解决。
在过去的几年中虽然Fate经过了好几个版本的改进, 但是仍然有许多不足之处.
其中包括生成的名字太多不容易筛选.
还有些用户遇到了一些和Go相关的问题, 一些用户不知道如何导入数据库等. 这些问题都只能慢慢想办法去解决.
还有些用户因为字典库生成的名字中有些字的寓意不好, 而恶意中伤作者.
我想说的是这个字也不是我造的, 你如果有问题可以去找造那个字的人.
如果觉得这个工具不好你可以不用.

0 comments on commit b2f6bc6

Please sign in to comment.