syyongx 发布的文章

ii18n - Go 国际化 i18n 库

ii18n - 是一个 Go 的 i18n 库,采用 MIT 开源协议。通过读取翻译映射格式的配置文件来实现多语言翻译。使用起来非常简单方便。

CConf - Go实现的一个轻量级的config库

CConf 是使用 Go 实现的一个轻量级的 config 库,参考了 ozzo-config 的设计,但具有更优的性能和支持动态移植配置的功能。

CConf 采用 MIT 开源协议。

Dokuwiki 二次开发记录

DokuWiki 是一种在 GPLv2 下获得许可并以 PHP 编程语言编写的 wiki 应用程序。 它适用于纯文本文件,因此不需要数据库。它的语法与 MediaWiki 使用的语法类似。

DokuWiki 具有丰富的插件,如Markdown、sidebar、流程图、时序图、svg、数学公式、ToDo等等这些实用的插件。

但由于直接安装 DokuWiki 和使用她的插件,对有些地方和样式不是很满意。如 Markdown 插件存在 bug,样式风格过于传统,登录方式需要自定义等。由于这些问题的存在,也就需要在源码的基础上做些配置和二次开发。

http2

HTTP/2(最初名为 HTTP/2.0)是 WWW 使用的 HTTP 网络协议的主要版本。 它来自早先由 Google 开发的实验性 SPDY 协议。 HTTP/2由互联网工程任务组的超文本传输协议工作组 httpbis(其中 bis 表示“第二个”)开发。 HTTP/2是 HTTP 1.1以来的第一个新版本,于1997年在 RFC 2068中进行了标准化。工作组于2014年12月向 IESG 提交了 HTTP/2作为建议标准的审议意见,IESG 批准其发布为提议 标准于2015年2月17日发布。HTTP/2规范于2015年5月发布为 RFC 7540。

Chrome,Opera,Firefox,Internet Explorer 11,Safari,Amazon Silk 和 Edge 浏览器支持标准化工作。 到2015年底,大多数主流浏览器都增加了对 HTTP/2 的支持。

Go 完整实现版本比较 VersionCompare 函数

VersionCompare — 用于对比两个的版本数字字符串大小。

此函数首先在版本字符串里用一个点 . 替换 _、- 和 +,也会在任意非数字前后插入一个点 .,这样,类似 '4.3.2RC1' 将会变成 '4.3.2.RC.1'。 接下来它会分割结果,然后它会从左往右对比各个部分。如果某部分包含了特定的版本字符串,将会用以下顺序处理:列表中未找到的任意字符串 < dev < alpha = a < beta = b < RC = rc < # < pl = p。 这种方式不仅能够对比类似 '4.1' 和 '4.1.2' 那种不同的版本级别,同时也可以指定对比任何包含开发状态的版本。

PHP 中几种用于区分环境的方法

在项目开发过程中,我们一般至少会有三套环境:本地开发环境,测试环境、线上生产环境。而不同的环境一般它的配置文件内容是不一样的,比如环境不一样时数据库地址不一样。为了能在每次发布代码时不至于屡次改动代码来适配不同的环境,我们可以为每一套环境对应到各自的配置文件,这时就需要能有一种方法能识别当前代码所运行的环境来自动加载对应的配置文件。这样的自动识别环境的方法常用的有三种。