《船》- 作者白桦

我有过多次这样的奇遇,
从天堂到地狱只在瞬息之间;
每一朵可爱、温柔的浪花,
都成了突然崛起、随即倾倒的高山。


每一滴海水都变脸变色,
刚刚还是那样美丽、蔚蓝;
旋涡纠缠着旋涡,
我被抛向高空又投进深渊……

 
当时我甚至想到过轻生,
眼前一片苦海无边;
放弃了希望就象放弃了舵柄,
在暴力之下只能沉默和哀叹。
 
今天我才有资格嘲笑昨天的自己,
为昨天落叶似的惶恐感到羞惭;
虚度了多少年华,
船身多次被礁石撞穿……
 
千万次在大洋里撒网,
才捕获到一点点生活的经验,
才恍然大悟,
啊......
道理原是如此浅显:
 
你要航行吗?
必然会有千妖百怪出来阻拦;
暴虐的欺凌是它们的游戏,
制造灭亡是它们唯一的才干。
 
命中注定我要常常和它们相逢,
因为我的名字叫做船;
面对强大于自身千万倍的对手,
能援救自己的只有清醒和勇敢。
 
恐惧只能使自己盲目,
盲目只能夸大魔鬼的狰狞嘴脸;
也许我的样子比它们更可怕,
当我以生命相拼,一往无前!
 
只要我还有一根完整的龙骨,
绝不驶进避风的港湾;
把生命放在征途上,
让勇敢来决定道路的宽窄、长短。
 
我完完全全的自由了,
船头成为埋葬它们的铁铲;
我在波浪中有节奏地跳跃,
就象荡着一个巨大的秋千。
 
即使它们终于把我撕碎,
变成一些残破的木片;
我不会沉沦,决不!
我还会在浪尖上飞旋。
 
后来者还会在残片上认出我,
未来的诗人会喟然长叹:
“这里有一个幸福的灵魂,
它曾经是一艘前进着的航船……”

PHP代码开发规范

以下为个人总结,工具都实践使用过,若有补充或建议,可通过本站联系方式找到我。

1.代码注释参考github标准库或laravel核心依赖。

2.架构模块化,分组,Service、Controller、Model必须各司其职。

3.方法命名约定参考:https://symfony.com/doc/current/contributing/code/conventions.html

4.合理利用组件化资源,写出来好的可共用的代码尽量封装放到GitHub并提交到一些插件库网站(https://packagist.org/)。

5.编码风格,统一遵守PSR-2标准,若编辑器没相关插件可以使用脚本对文件进行处理,例如php-cs-fixer-v2.phar 。

6.文件命名约定,接口类后缀 Interface、异常处理类后缀 Exception、控制器后缀 Controller。

7.更多编码风格(逗号空格)可参考:https://symfony.com/doc/current/contributing/code/standards.html ,若开始不习惯可以用php-cs-fixer-v2.phar一段时间就会适应了。

8.接口不仅要定义好接口规范和书写完整的接口文档,还要有接口流程图。

9.为方便其他人和自己对代码的观看和对整个系统代码层面的理解,可以生成代码依赖关系图,可以使用工具phpda

10.当出现一个新的功能需求时,一定要设计好解决方案,以及解决方案系统设计图。不仅可以梳理自己的逻辑,锻炼自己的思路,还方便后期自己和他人对系统和各个模块的review。

11.即便遵守了以上规范并且拥有良好的设计,一般还是避免不了有漏网之鱼,可以采用静态分析和动态漏洞检查进一步对整个系统或者某个模块进行审查。静态分析:审核PHP代码,将评估结果细节列出来并给出修复方案。可以利用工具:cobra、phpmd、。动态漏洞检查:检测代码运行中不同的情况出现的问题,可以利用工具:Arachni、striker等等。

12.应用程序安全性得到保证之后,系统级别也要照顾,毕竟系统出问题了,代码就可以直接拿走或者造成其他威胁,所以服务器除了良好的安全配置,还可以利用一些工具进行辅助扫描,比如Vuls,还需要一些可以自动检测系统存在的模块并不间断监测发布的最新补丁及时安装。

梦想过着一个普通人的生活

刚刚一只流浪狗从面前走过 在街道里总能看到它孤单的身影 原本洁白的毛发夹着太多脏物显得脏兮兮的 天黑了 有些凉意 我想晚上它会不会冻着 看着它一路低头嗅着有没有食物 突然就哭了 我何尝又不一样 在这城市生活 为了填饱肚子而四处奔波 我何尝不是那么的卑微

The new website

I have built this new website, but the old content will not be migrated because I no longer want to maintain them.