- 博客(6)
- 收藏
- 关注
原创 《如何做好软件设计》:设计原则
前言软件设计是一门关注长期变化的学问,日常开发中需求不断变化,那我们该怎么编写出可以支撑长期变化的代码呢?大多数人都认同的解决方案是利用设计模式,这里就有一个问题:怎么融汇贯通的将设计模式应用到实际项目中呢?这就是我们本篇文章的主题:设计原则。个人认为设计原则是软件设计的基石之一,所有语言都可以利用设计原则开发出可扩展性、可维护性、可读性高的项目,学好设计原则,就等于我们拥有了指南针,不会迷失在各个设计模式的场景中。郑晔老师的《软件设计之美》指出:设计模式是在特定问题上应用设计原则的解决方案。我们可以
2021-02-06 13:22:30 594
原创 从零到一快速搭建个人博客网站(域名备案 + https免费证书)(一)
环境介绍资源说明centosv7.2docker快速部署项目环境nginx反向代理,同时配置https证书halov1.4.2,开源博客项目Let’s Encrypt 免费证书配置https使用效果演示yangwq.cn前言 为什么选择搭建个人博客?一方面是各个平台对文章的审核有不一样的标准导致文章被下架,另一个原因是对建站这块的知识欠缺。通过部署个人博客,可
2020-12-14 21:04:14 1642
原创 Centos7.2 安装docker、mysql和redis
Docker是什么?个人理解Docker就是一个平台,这个平台具备开发、发布和运行应用程序的功能。在项目生命周期中,我们可以运用Docker实现快速交付、测试和部署。Docker通过将运行环境打包成一个镜像,就可以在安装了Docker的任意平台上运行(一次构建,到处运行~)。安装Dockercentos版本推荐7以上,centos6安装docker比较麻烦。如果以前安装过docker,需要先清理:sudo yum remove docker \ docker-cl
2020-12-03 23:30:29 172
原创 深圳-2020-面试题分享
记录一下最近面试接触的面试题,三年工作经验。公司一:union 和union all区别union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;union All:对两个结果集进行并集操作,包括重复行,不进行排序。JDK1.8默认的垃圾回收器默认使用的是UseParallelGC,ParallelGC 默认的是 Parallel Scavenge(新生代)+ Parallel Old(老年代)varchar类型的时间字段,进行按月统计使用DATE_FORMAT函数,DA
2020-12-02 21:22:55 246
原创 【源码讲解】Spring事务是如何应用到你的业务场景中的?
初衷很多文章长篇大论列出大量源码讲解Spring事务的实现原理,对于读者而言(比如我)看这样的文章是很痛苦的,因为文章源码太多找不到重点,所以本篇文章从以下两个方面阐述Spring事务:事务配置的加载:本质上是将配置加载成 BeanDefinition 对象生成事务代理对象:本质上是Spring AOP在事务这块的应用,将开启了事务的业务Bean替换成事务代理对象(JdkDynamicAopProxy:JDK代理,CglibAopProxy:CGLIB代理);本文使用的源码版本是Spring 4
2020-09-14 16:30:19 352
原创 利用反射执行Spring方法,支持参数自动转换
文章目录使用情景目的实现方式前提: 明确清楚需要执行的类和方法。思路核心类测试方法源码分享使用情景将定时任务录入数据库(这样做的好处是定时任务可视化,也可以动态修改各个任务的执行时间),通过反射执行对应的方法;配合Netty实现简单的HTTP请求处理框架其他需要使用反射执行Spring方法的业务亦可目的 很多文章都提到了反射,但是对于方法参数处理这一块都是明确了类型,不支持按照实际参数动态转换,而本篇文章提供了一个思路
2020-06-13 16:24:55 953
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人