01 前面的话 如今我们使用的互联网,客户端与服务器端的交互无时无刻不在发生.比如我们在浏览器打开网页,浏览器就是客户端,将网页数据发过来的也就是服务器.其实服务器,并没有什么特别的,也就是一台昼夜不停运转的电脑罢了.每一台入网的机器,都会被分配一个ip,我们可以通过ipconfig / ifconfig这样的命令,知道我们电脑的ip地址.服务器本身,运行着服务器程序,他们监听着来源于网络的请求,并对请求进行响应. 比较常见的服务器程序,比如apache / Nginx / IIS等等,我们可以…
一.业务场景 工作多年,在真实的项目开发中经常会遇到将一个项目拆分成多个工程的情况,比如将一个真实的项目拆分成controller层,service层, dao层,common公共服务层等等.这样拆分比较有利于分清各自所属层需要做的事情,也非常便于管理个层次之间的代码,职责比较清晰.各 个层次之间也会相互依赖,比如controller层需要依赖common层,则直接引入:service层需要引入common层也直接引入:dao层也是同理. 这种处理方式也没什么问题,整个项目依然能够顺利的跑起来,…
一.业务场景 web项目开发中,经常会有的一个操作是记录请求日志,比如记录请求的IP地址,记录请求的路径,记录请求的参数等等. 每个系统都会根据自己的需要来记录一些请求相关的日志.一般会将记录的日志信息保存到数据库中,以便于查看,如出现异常 高频率的访问请求,或者是遇到其他一些问题都可以查看记录的日志来进行排查问题.如果系统的请求比较少的话,直接记录日志 则没什么问题,可是如果请求量比较大的时候,如何来优化日志记录的操作呢? 二.需求分析 本篇文章所说的这种方式是使用异步的方式来记录日志.Jav…
一.业务场景 Web项目开发中,为了加快数据处理的的效率,大量的使用了各种缓存,缓存技术主要使用的是redis.导致出现的小小的 问题是对redis缓存形成了一个比较强的依赖,并且有的数据暂时是没有同步到业务数据库当中进行存储的,有不少数据都是直 接从缓存中获取.这种处理方式确实加快了数据的处理效率,可是也存在一些问题. 二.需求分析 当前由于系统要进行迁移,以前保存在一台服务器上面的redis中的数据,是不可能迁移的.即使运维人员愿意迁移,操作起来 也是相当的麻烦.还有一个问题,如果发现缓存中…
一.业务场景 考虑到新项目中部分与业务数据相关的表在后期数据量会比较大,架构师在最开始设计项目中与业务数据相关的表时,就已经考虑使用分表来 进行处理,给业务数据相关的每张表都添加统一批次的后缀,查询这些数据时,根据不同表名的后缀和来查询对应的数据信息.如果能够动态的 更改数据表,比如将ai_user表更改为ai_user_20220001,这样就可以动态的查询不同表中的数据. 二.需求分析 最开始考虑使用的是在xml文件中使用if来做条件判断,根据传入参数的不同来动态查询不同的表.这种方式最开始…
ImproperlyConfigured: WSGI application 'lightapi.wsgi.application' could not be loaded; 在moddleware中加了一个 'corsheaders.middleware.CorsMiddleware' ,但是这个app并没有在上面注册(其实也没有安装),在将其注释之后,即可运行了 创建app的流程: 在虚拟环境中运行 Python manage.py startapp 应用名 --->>> 在sett…
方法 一 方法二 可以通过urlencode();遍历出来…
阅读目录: 1.开篇介绍 2.迭代测试.重构(强制性面向接口编程,要求代码具有可测试性) 2.1.面向接口编程的两个设计误区 2.1.1.接口的依赖倒置 2.1.2.接口对实体的抽象 2.2.迭代单元测试.重构(代码可测试) 2.2.1.LINQ表达式对单元测试的影响 1]开篇介绍 最近一段时间结束了一个小项目的开发,觉得有些好东西值得总结与分享,所以花点时间整理成文章: 大多数情况下我们都知道这些概念,面向接口编程是老生常谈的话题了,有几年编程经验的都知道怎么运用:单元测试其实在前几年不怎么被…
现在开发中大多数公司中都在使用Git这个代码版本管理工具,几乎可以说是已经成为标配,刚入职不久的这家新公司也不例外. 去公司没多久,开始搭建项目,然后创建开发分支,有多少个后端人员就创建多少个开发分支,每个人都在自己的分支上进行开发. 如上图所示:我们假设有四个开发人员鸣人.佐助.雏田.小樱,首先创建一个主要的开发分支 bigstuff-release-V1,然后根据 bigstuff-release-V1这个分支在创建 四个分支分别给四个开发人员使用,以每个人的名字缩写作为分支的后缀.每个人的…
一.业务场景 数据去重是web开发中经常会遇到的方式之一,数据库操作中有一个关键字distinct主要就是用来做这件事,用来进行去重. 比如进行统计查询的时候,可以这样写 select count(dintinct(需要去重的字段)) from table:这样如果统计的时候,某个字段存在 重复时,就可以很好的去重.现在自己遇到的这种情况不能使用distinct关键字进行去重,因为表中创建得有主键ID,id并不重复, 只是数据表中保存的其他字段存在重复数据,这时候该如何去重呢? 二.需求分析 首…