关于php:PHP-码农的-go-语言密码本项目开发实战-项目介绍

2次阅读

共计 1357 个字符,预计需要花费 4 分钟才能阅读完成。

我是一名 PHP 程序员。最近对 go 语言有了趣味,始终想找一个机会学习并实际这门乏味的语言。手头刚好有一个之前用 PHP 写的账号密码治理小工具,我决定用 go 重构这个小工具来入门 go 语言的 web 场景开发。同时我也心愿本人这个实际和学习的过程能给其余向我一样,也就是对 go 语言有趣味的人带来一些帮忙。

尽管我的项目不大,但我还是心愿有打算的来实现它。所以这将会是一个系列文章,目前我布局的步骤如下:

  1. 我的项目布局
  2. 开发环境搭建
  3. 实现前端界面
  4. 实现数据表创立办法
  5. 实现随机明码生成办法
  6. 实现我的项目装置命令
  7. 实现登录性能
  8. 实现明码项的治理性能
  9. 部署上线

这篇文章我会介绍一下小我的项目的需要和布局。除让本人对性能再进行一次梳理,也是让看到这里的各位对这个我的项目有个大抵的理解和印象。

有人可能会问为什么不必成熟的明码治理计划,比方 1Password。目前市面上的明码管理软件确实曾经足够好了,还能和登录网站, 甚至是 app 实现无缝对接,应用起来确实更加不便。但我还是感觉应该有一个属于本人的明码治理计划,无人晓得的那种。所以这只是集体的掂量和思考,我也举荐各位应用这些成熟的软件和计划。

回到我的项目自身。之前用 PHP 做的版本始终放在我本人的电脑上运行,要用的时候就运行 php -S localhost:8000,启动后,在浏览器中拜访,用完了就完结命令。所以从应用模式上具备了一点安全性。但这种形式还是存在一些问题。比方我要随时记得备份我的数据库文件,在多个电脑的环境种应用时,总是要重复的复制数据库文件,也没有主动生成随机明码的性能,不得已我又写了个随机明码生成的 shell 脚本配合应用。但即使是这么难用,我也还是始终从 2013 年沿用至今。所以这个我的项目对我本人来说是有实用意义的。期间我也想过重构,每次要入手的时候又感觉意义不大,后果也就不了了之。go 语言让我从新燃起了这团火。

go 语言晓得的比拟早,但始终没有太大心理去学。起因无外乎不晓得用这个来干嘛。web 畛域 php 曾经足够好了。go 语言对我来说,最受吸引的就是编译后的二进制文件能够复制到雷同零碎下间接运行。对一些批改不频繁的我的项目,这很有吸引力,特地是搭配微服务架构,这也是我目前迫切想要学习这门语言的起因。PHP 做微服务,做过的人都懂。

对于这个密码本我的项目的重构要求,我目前整顿如下:

  1. 反对跨平台。也就是支流的零碎或设施都应该能够应用。
  2. 反对明码生成。我之前的 php 版本就短少这个性能,本人编随机数的感觉不是很好。
  3. 信息加密。这个是必须的,我要确保明码数据被人窃取了也无奈晓得实在内容。
  4. 明码项的增删改查。根底性能。
  5. 主明码登陆。我只有记住这一个明码就够了。
  6. 部署简略不便。越简略越好,最好没有 PHP 部署前的一系列环境筹备工作。
  7. 资源占用小。资源占用小意味着老本就低。

依照下面的要求,我相应的技术选型如下:

  • 采纳 B/S 架构。Web 是我目前相熟的畛域,也能最快解决跨平台和设施问题。
  • 应用 golang 语言。这个没的说,这次就是冲着这个语言来的。而且 go 语言自身的个性也满足了资源占用和部署上的需要。
  • 应用 SQLite 数据库。应答这个我的项目入不敷出了。

我的项目性能也比较简单,画了一个简略的流程图如下:

对于我的项目的介绍就到这里了,喜爱就请点个赞,也欢送评论交换。下一篇将开始 go 开发环境的搭建,敬请关注。

正文完
 0