开发中的一些经验总结

疑难杂症   2024-01-14 09:03   156   0  

API 相关

  1. git flow 工作流

  • master 主版本分支, 此分支上是最新代码

  • develop 开发版本分支, 但是不在这个分支上做开发, 此分支上是开发中的最新代码

  • feature 开发版本分支, 通常开发新功能时基于 develop 新建一个 feature 分支, 开发完成之后合并到 develop 上, 并进行删除

  • release 预发布分支, 基于 develop 分支创建, 用来进行测试的分支, 测试完成之后合并到 master

  • hotfix 分支, 紧急bug修复分支, 从 master 创建。

RestFull

  • 请求某篇文章的评论列表 GET /post/1/comment

  • 请求某篇文章的某个评论 GET /post/1/comment/1

  • 隐藏某篇文章的某个评论 PUT /post/1/comment/1/hidden

  • Post 新增

  • Put 更新

  • Get 查询

  • Delete 删除

  • 请求方法

  • 嵌套Api

动态查询参数

  • 查询条件过滤 filter  /post?filter[name]=test&filter[created_at_between]=2018-01-01,2018-12-31

  • 排序 sort /post?sort=-id,name

  • 包含关系 include /post?include=user,commentCount,commentExists

  • 选择字段 fields /post?include=user&fields[post]=id,name,info&fields[user]=id,name

异常处理机制

  • 框架服务异常, status 503 506 , code 为具体的错误类型. 比如 mysql 超时, redis 连不上, 短信验证服务欠费, oss 账号密码错误之类的问题, api 接口维护等等

  • 请求处理异常, status 400 403 等等, code 为资源id ,  比如 路由不存在, 控制器方法不存在, 资源不存在, 没有权限等等

  • 业务逻辑异常, 错误码 500, code 为具体的错误类型,  比如 传入参数校验不通过

日志处理

  • sql 查询日志, 仅开发环境, 记录在 sql.log

  • 错误日志, 记录在 error.log

  • 用户操作日志, 记录在数据库

  • api 请求日志, 每个请求有一个 request_id, 服务端在 header 加入 RequestId 字段。 然后请求信息记录在文件,文件名为 RequestId.

代码结构

  • 路由 控制器 模型 事件等等放在 laravel 默认的位置

  • 业务逻辑放在 Repositories 文件夹下, 每一个功能模块创建一个单独的文件夹, 文件夹下又细分为 Contracts Services 两个文件夹分别存放接口和实现。

  • 工具类放在 Util 文件夹中

  • 每个 interface 的所有方法都要编写测试

如何保证 token 的安全性

  • token 中携带 signature, signature 能保证 token 不被篡改,如何保证的呢? signature 是只有服务端才能生成和解密的一组加密字符串,篡改后的 token 和 signature 会对不上。

  • token 有效期,不要设置永久的 token。

  • token 黑名单,用户的 token 一旦刷新, 之前的 token 需要加入黑名单无法再使用。

Web开发相关

  1. 拆分组件的时机。

  • 复用类组件,页面某一部分可能在很多页面可以复用。

  • 模块类组件,页面的某一部分和其他部分没有联系或者联系很少, 可以抽象到几个变量中。

同一类型的 store 可以因为模块的不同, 创建多个命名空间下的 store。

组件可以从一个简单的组件开始封装高阶的组件。

只在模块类组件使用 store。

面试的时候技术总监不在 (面试题有点意思,感觉一般人可能不太会做,我答完之后专程把技术总监喊了回来) ,然后在会议室写的 。哈哈哈哈 这操作也没谁了。
到家收到了offer,技术氛围和薪资待遇都很满意。哈哈哈哈 开心, 祝贺我吧 各位网络有缘人。

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。
闲言碎语
别说王子有多爱灰灰姑娘,TM的就隔了一个晚上就忘了啥样要靠水晶鞋。
赞赏支持

如果觉得博客文章对您有帮助,异或土豪有钱任性,可以通过以下扫码向我捐助。也可以动动手指,帮我分享和传播。您的肯定,是我不懈努力的动力!感谢各位亲~