insight

致力于分享有关软件开发和技术创新的见解和经验。

Git 开发流程 git-flow

Git-Flow是什么 Git 诸多命令就像一个个零件,代码管理是够用的。但是工程化代码管理尤其是团队协作的工程化,就需要这些零件整合起来,形成一套工作流。Git Flow 就是这么一套工具。 http://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html 安装 brew install git-flow-avh 初始化项目 git flow init # 然后一路回车 Which branch should be used for bringing forth production releases? - main Branch name for production releases: [main] Branch name for "

一种好用的接口请求和响应格式规范,基于Google Json Style

一种好用的接口请求和响应格式规范,基于Google Json Style

简述 1. 基于较为流行的谷歌 json 风格 google json style 1. 英文 https://google.github.io/styleguide/jsoncstyleguide.xml 2. 中文 https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md 2. 所有字段驼峰命名,接口使用:get post 1. get 获取数据 2. post 更新数据 3. post:请求 body 数据使用 application/json, 不使用 FormData; 4. 响应成功,

web后端开发chrome浏览器设置

切换 host 之后,清除 dsn 缓存 访问链接 chrome://net-internals/#sockets 点击 Flush socket pools 一次,其他都不用点击了。 搜索引擎设置 访问搜索引擎设置页面 chrome://settings/search 管理搜索引擎和网站搜索-网站搜索-添加 1. cmd/ctrl + L 定位到浏览器链接输入框, 2. 输入 dict 按下 Tab 3. 输入想要翻译的单词 4. 按下 Enter 看似四步,简单上手后一气呵成! 多搜索引擎管理 不同的搜索内容,应该使用不同的搜索引擎,就像你不能在 baidu 搜索技术关键词一样。 你可以设置,google搜索,输入 goo 按下

OpenSSL 工具生成密钥

第一步 生成RSA密钥 $openssl OpenSSL> genrsa -out app_private_key.pem 2048 OpenSSL> pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem OpenSSL> rsa -in app_private_key.pem -pubout -out app_public_key.pem OpenSSL> exit 经过以上步骤,

PHP 项目的用户密码设计

PHP 项目的用户密码设计

简单聊一聊用户系统的密码存储设计。 历史变迁 首先,最开始大家用的都是明文存储用户的密码,想着,反正存储在服务端,也只有服务端看得到, 但这些年这么多脱裤事件,终于意识到不能再使用明文了, 于是,大家改用 md5 等哈希算法,为用户密码“加密”,但数据库泄漏后,仍然可以使用 字典攻击 破解。字典攻击 是用一个字典文件,储存了单词、短语、常用密码和他们 hash 后结果。将密码与 hash 结果对比,就能破解。 为了解决这个问题,研发工程师又在密码的hash的过程中加 salt, salt是一串随机值,与 hash 后的密码一起保存在数据库。  这恐怕只能使用暴力破解了,但现在GPU的发展,使得暴力破解成为可能,如果被脱裤,则更容易破解。 同时期的 GPU 的计算单元比CPU多, L1/L2/L3缓存和控制器较少, 所以GPU非常适合做并行且无需内存参与的计算任务。 解决方案

显示 vscode 的 tab 和空格

显示 vscode 的 tab 和空格

文字中的空白到底是tab和空格? 开发测试过程中,我们可能需要构造各种tab分割的文本数据,然而默认配置下,输入tab,就被转化成了4个空格,为了避免这些坑,我们来尝试做些处理。 显示空白 设置中搜索renderWhitespace,设置为all 这个时候,就能看出空白到底是tab还是空格,如图: 这一步操作不仅能显示tab和空格,而且区分了 tab 和 空格 * 拷贝文本,保留tab * 输入文本,替换tab为4个空格