- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 Jinjia2-语法入门
Jinjia2语法控制结构 {% %}变量取值 {{ }}注释 {# #}变量读取变量{{ parameter }}读取字典{{ parameter[‘key’] }}{{ parameter.key }}读取数组{{ parameter[3] }}读取对象{{ object.something() }}过滤器变量可以通过“过滤器”进行修改,过滤器可以理解为是Jinja2里面的内置函数和字符串处理函数。常用过滤器如下:abs(value):返回一个数值的绝对值。
2022-11-18 10:38:52 2878
原创 nginx 配置规则
#nginx 配置规则参考##locationuri匹配规则语法规则: location [=||*|^~] /uri/ {… }首先匹配 =,其次匹配^~,其次是按文件中顺序的正则匹配,最后是交给 /通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。= 开头表示精确匹配^~ 非正则匹配~ 正则匹配,区分大小写。~* 正则匹配,不区分大小写。!~ 正则不匹配,区分大小写!~* 正则不匹配,不区分大小写精准匹配(=)# 精确匹配,必须是127.0.0.
2022-11-18 10:37:54 833
转载 领域驱动设计系列文章(3)——有选择性的使用领域驱动设计
本系列的第一篇博文抛砖引玉,大谈领域驱动设计的优势,这里笔者还是希望以客观的态度,谈谈领域驱动设计的缺点及其不适合使用的场景,以让读者可以有选择性的使用领域驱动设计。我们知道,没有最好,只有最合适,设计也是一样。因此,所谓设计,就是以你和你的团队的知识、经验和智慧,全面充分的考虑各种内外因素后,在你们的设计方案中作出合理的选择的过程。而这些影响你们选择的因素主要有:技术框架的特征和约束(如果你的项目决定使用C语言进行开发,那么首先在设计方法上,就需要使用面向过程而非面向对象的设计方法)。时间的
2021-08-15 10:12:55 155
转载 领域驱动设计系列文章(2)——浅析VO、DTO、DO、PO的概念、区别和用处
上一篇文章作为一个引子,说明了领域驱动设计的优势,从本篇文章开始,笔者将会结合自己的实际经验,谈及领域驱动设计的应用。本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念:概念:VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这个概念来源于
2021-08-15 10:11:14 174
转载 领域驱动设计系列文章(1)
曾经参与过系统维护或是在现有系统中进行迭代开发的软件工程师们,你们是否有过这样的痛苦经历:当需要修改一个Bug的时候,面对一个类中成百上千行的代码,没有注释,千奇百怪的方法和变量名字,层层嵌套的方法调用,混乱不堪的结构,不要说准确找到Bug所在的位置,就是要清晰知道一段代码究竟是做了什么也非常困难,最终,改对了一个Bug,却多冒出N个新Bug;同样的情况,当你拿到一份新的需求,需要在现有系统中添加功能的时候,面对一行行完全过程式的代码,需要使用一个功能时,不知道是应该自己编写,还是应该寻找是否已经存在的方法
2021-08-15 10:10:05 142
原创 领域驱动设计概览
文章目录DDD(Domain Driven Design)相关概念产品战略架构定义原则目的分类问题定义如何确定问题是不是问题?问题空间和解决方案空间定义软件开发过程领域定义DDD(Domain Driven Design)领域驱动设计参考:https://www.jianshu.com/p/8dede848306a相关概念产品战略伐谋战术:产品来源于市场,市场由两个C组成customer(客户需要什么?谁是客户?)competitor(竞争对手有什么?谁是竞争对手?)架构定义架构是
2021-08-15 10:08:53 80
原创 spring-配置文件加载
#配置文件加载springboot启动会扫描一下位置的application.properties或者application.yml作为默认的配置文件工程根目录:./config/工程根目录:./classpath:/config/classpath:/加载的优先级顺序是从上向下加载,并且所有的文件都会被加载,高优先级的内容会覆盖底优先级的内容,形成互补配置也可以通过指定配置spring.config.location来改变默认配置,一般在项目已经打包后,我们可以通过指令java -ja
2020-08-21 12:49:36 141
原创 spring-加载源码解析
#spring boot 相关知识MANIFEST.MF 文件Manifest-Version: 1.0Archiver-Version: Plexus ArchiverBuilt-By: jinStart-Class: com.nbd.ocp.study.springboot.OcpStudySpringBootApplicationSpring-Boot-Classes: BOOT-INF/classes/Spring-Boot-Lib: BOOT-INF/lib/Spring-Boot
2020-08-21 12:48:39 180
原创 spring-自定义代理类
#spring自定义代理类定义接口/** * @author jin */public interface TestService { List<String> getList(String code, String name);}定义代理工厂@Componentpublic class ServiceProxyFactory implements FactoryBean<TestService>{ @Override public
2020-08-21 12:47:42 660
原创 spring-自定义注解
#spring注解理解spring bean 生命周期实例化:spring对bean进行实例化填充属性:spring将值和Bean的引用注入到Bean对应属性调用BeanNameAware的setBeanName():如果Bean实现了该接口,Spring将Bean的ID传递给setBeanName()调用BeanFactoryAware的setBeanFactory():如果Bean实现了该接口,Spring将BeanFactory容器实例传入调用ApplicationContextAwar
2020-08-21 12:46:40 104
原创 设计模式教程与示例
设计模式六大原则总原则:开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。1.单一职责原则(Single Responsibility Principle, SRP)。参考链接–定义:一个类只负责一个功能领域中的相应职责,或者可以定义
2020-08-21 10:07:42 352
原创 maven-自定义插件骨架
一.安装maven软件1.下载apache-maven-3.1.02.安装apache-maven-3.1.03.配置环境变量4.验证maven,CMD输入mvn -v,验证正确性二.搭建项目骨架1.运行dos命令mvn archetype:generate,随后按提示输入后,创建2.运行dos命令mvn archetype:generate -DgroupId=com.xh.maven -DartifactId=maven_03 -Dversion=0.0.1_SNAPSHOT,直接创建三
2020-08-20 22:55:24 285
原创 maven-自定义插件
#Maven插件基本原理##一、什么是maven插件Maven 是一个执行插件的框架,每一个任务实际上是由插件完成的。Maven 插件通常用于:创建 jar 文件创建 war 文件编译代码文件进行代码单元测试创建项目文档创建项目报告一个插件通常提供了一组目标,可使用以下语法来执行:mvn [plugin-name]:[goal-name]例如,一个 Java 项目可以使用 Maven 编译器插件来编译目标,通过运行以下命令编译mvn compiler:compile##二、mave
2020-08-20 22:54:05 324
原创 maven-常用插件
#Maven常用插件##常见插件###常见插件列表maven-clean-plugin 清理项目maven-compile-plugin 编译项目maven-deply-plugin 部署项目maven-install-plugin 安装项目maven-resource-plugin 处理资源文件maven-site-plugin 生成站点maven-surefire-plugin 执行测试maven-jar-plugin 构建JAR项目maven-war-plugin 构建WAR项
2020-08-20 22:53:35 268
原创 maven-特性
#Maven几个特性和依赖##一、属性####内置属性:${basedir}表示项目根目录,即包含pom.xml文件的目录${version}表示项目版本####POM属性${project.artifactId}对应了 元素的值,常用的POM属性包括:${project.build.sourceDirectory}:项目的主源码目录,默认为src/main/java/.${project.build.testSourceDirectory}:项目的测试源码目录,默认为/src/test
2020-08-20 22:52:35 161
原创 maven-基本概念
#Maven基本概念##一、Maven是什么Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。##二、Maven默认(别名:build、构建、生成)生命周期生命周期阶段描述validate验证项目是否正确,并且所有必要的信息可用于完成构建过程initialize建立初始化状态,例如设置属性generate-sources产生任何的源代码包含在编译阶段process
2020-08-20 22:51:58 218
原创 常见算法思想
#算法常用算法思想###穷举算法思想(Exhaustive Attack method)穷举算法是最简单的一种算法,其依赖于计算机的强大计算能力来穷尽每一种可能的情况,从而达到求解问题的目的。穷举算法效率并不高,但是适应于一些没有明显规律可循的场合穷举算法的基本思想就是从所有可能的情况中搜索正确的答案,其执行步骤如下:对于一种可能的情况,计算其结果。判断结果是否满足要求,如果不满足则执行第(1 ) 步来搜索下一个可能的情况;如果满足要求,则表示寻找到一个正确的答案###递推算法思想递推算
2020-08-20 22:50:44 221
原创 领域驱动设计基本概念
文章目录DDD(Domain Driven Design)相关概念产品战略架构定义原则目的分类问题定义如何确定问题是不是问题?问题空间和解决方案空间定义软件开发过程领域定义DDD(Domain Driven Design)领域驱动设计参考:https://www.jianshu.com/p/8dede848306a相关概念产品战略伐谋战术:产品来源于市场,市场由两个C组成customer(客户需要什么?谁是客户?)competitor(竞争对手有什么?谁是竞争对手?)架构定义架构是
2020-08-20 22:49:38 549
原创 vagrant+virtualbox磁盘扩容
centos7.4扩大磁盘根目录查看lsblk新建分区fdisk /dev/sda 刷新分区表partprobelsblk创建物理卷(pvcreate)pvcreate /dev/sda4添加新的物理卷到centospvdisplayvgextend VolGroup00 /dev/sda4查看卷组,增加卷组centos的大小df -h lvresize -L +109G /dev/mapper/VolGroup00-L..
2020-08-20 22:48:20 284
原创 正则表达式简介
正则表达式正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等https://www.runoob.com/regexp/regexp-metachar.html语法元字符\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,‘n’ 匹配字符 “n”。’\n’ 匹配一个换行符。序列 ‘\\’ 匹配 “” 而 “\(” 则匹配 “(”。
2020-08-20 22:44:03 187
翻译 oauth2协议简介
oauth2OAuth 2.0是用于授权的行业标准协议。OAuth 2.0专注于客户机开发人员的简单性,同时为web应用程序、桌面应用程序、移动电话和客厅设备提供特定的授权流。本规范及其扩展正在IETF OAuth工作组中开发1.1 角色resource owner:有权授予访问权的实体。当这个实体是一个人是,它指的是最终用户resource server: 这个服务持有受保护的资源,能够接收以及使用访问令牌响应受保护的资源client: 代表资源所有者及其授权发出受保护资源请求的应用程序。客户
2020-08-20 22:41:35 408
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人