美文网首页
使用框架的时候,还应该去探究框架都做了什么

使用框架的时候,还应该去探究框架都做了什么

作者: 李行风 | 来源:发表于2018-11-26 01:57 被阅读0次

引言

最近面试遇到这几个问题没答好,一半是紧张,一半是基础还不扎实,做一下记录。

如果遇到很类似的七个管理系统,如何快捷开发?

Don't repeat yourself

  1. 将系统公用的模块封装成工具类,搭建其他系统的时候可以直接使用。例如:用户管理模块,登陆验证方法。
  2. 统一api接口返回格式,例如:
def api_bye(obj = {})
  http_status = 200 
  http_status = obj.fetch(:status, 200) if obj.is_a?(Hash)
  res = { result: obj}
  render json: res, status: http_status
end
  1. 常用功能组件化,情况允许也开源组件来帮助社区。通过安装组件就可以实现某些常用功能。例如:ruby里通过gem命令安装,python里是pip 命令安装。
  2. 代码生成器。通过实现代码生成器,来生成默认的项目目录,项目主体文件。
  3. 保存数据库建表脚本,可通过修改通用脚本的方式创建数据库。

如何在处理支付回调的时候,保证数据不被重复更新呢?

  1. 处理回调请求时,更新数据的部分加入队列进行处理,记录日志并对回调方直接返回success,避免重复回调。
  2. 生成预支付订单时,记录当前余额
  3. 对要被更新的数据加上行级锁,排他锁。
  4. 在余额数据修改时,检查账户余额与预支付订单中余额是否一致,订单状态是否为支付处理中,不一致则停止更新。
  5. 用户的余额修改与订单的状态修改应该写进一个事务里,保证一定同时修改成功。

http会传cookie么?

  1. cookie在浏览器第一次访问服务器的时候,由服务器记录并生成name,value的结构数据,并跟随response一起返回给浏览器,之后由浏览器维护。
  2. 从服务器端,发送cookie给客户端,使用set-cookie,创建或更新对应的cookie。
  3. 浏览器会保存这个cookie,且之后每一次与服务器通信,都会在Request Headers中加入cookie,用来标记每次请求。
  4. 在服务器会创建session来储存浏览器的请求信息。

在浏览器控制台可以看到headers的内容。


cookie.png

相关文章

  • 使用框架的时候,还应该去探究框架都做了什么

    引言 最近面试遇到这几个问题没答好,一半是紧张,一半是基础还不扎实,做一下记录。 如果遇到很类似的七个管理系统,如...

  • Javafx底层原理探索过程

    经常用一些图形界面久了,难免会去思考这些框架的底层原理。在探究这些底层原理的时候,记录一些探究的过程! 使用的框架...

  • 前端UI框架的定义

    在聊前端UI框架的定义之前,我们聊聊前端框架的用处,为什么使用前端框架?开发什么项目才会使用到前端框架?其实这些都...

  • 对MVP、Flux和RxAndroid框架的理解和选择

    为什么要使用框架 使用框架,是为了提高生产效率。 什么是生产效率? 上学的时候,导师曾说:我以前上学那会儿,什么都...

  • Spring转发

    什么是Spring框架?使用Spring框架有什么好处?Spring框架都有哪些模块,怎样使用?为什么要使用?Sp...

  • Struts2(一)Struts2介绍及基本使用

    1.什么是框架 什么是框架,框架从何而来,为什么使用框架? 1).框架(framework)——半成品: 1.是一...

  • Laravel框架学习笔记-AES加解密

    最近在开发账户中心,需要使用到AES对称加密。于是就对Laravel框架里的加密方式做了一点探究。 Laravel...

  • 2018-09-06

    Spring 什么是框架: 为啥使用框架: Spring是什么: ...

  • 编程框架中的设计模式

    什么是框架 框架就是对某一类架构方案的可服用的设计和实现. 我们使用框架编程的时候,需要遵循框架的规范编写代码,比...

  • 25个经典的Spring面试问答

    问题清单: 什么是Spring框架?Spring框架有哪些主要模块? 使用Spring框架有什么好处? 什么是控制...

网友评论

      本文标题:使用框架的时候,还应该去探究框架都做了什么

      本文链接:https://www.haomeiwen.com/subject/zoosqqtx.html