What is DDD?
一、 是什么?
DDD (domain driven design) 领域驱动设计 是一种通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法。
菩提树下改bug的博客
当我们使用域名访问网络资源时必须经过的第一个流程就是DNS域名解析, 那么DNS到底是什么? DNS是如何解析的呢? 我们一起初步了解一下相关的知识。
DNS就是域名系统,是一个实现域名与IP地址映射关系的分布式数据库,通过DNS,用户可以很方便的使用域名访问互联网,而不用记住能被机器直接读取的IP数字串。通过域名得到IP的过程,叫做域名解析。
域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。
一般来说,我们把一个形如werty.cn
的字符串称为域名,一个可以访问的URL,比如由下面这个地址:
1 | http://nav.werty.cn/nav.json |
它是由网络协议http://
主机名 nav
, 域名 werty.cn
以及 资源路径 /nav.json
组成
主机名.域名
称为完全限定域名 常称作子域名,一个域名下可以有多个主机,域名全球唯一
第一步获取词数据 :
输入法是最接近用户输入的工具,积累了海量的词数据
http://wubi.sogou.com/dict/list.php?c=98
https://pinyin.sogou.com/dict/detail/index/36423
该工具可以将细胞词库转为txt文件,非常方便
http://tools.bugscaner.com/sceltotxt/
其他输入法词库:
https://shurufa.baidu.com/dict
https://pinyin.sogou.com/dict/cate/index/167
初步计划 爬取搜狗拼音的所有计算机相关词库 ,转为txt进行存储
github 上有先现成的搜狗词库爬虫
什么是程序DeBug?
Debug,是程序开发人员必会的一项调试程序的技能。
企业中程序开发和程序调试的比例为1:1.5,可以说如果你不会调试程序,你就没有办法从事编程工作。
Debug对于程序学习者的意义
设置断点(F9)
调试程序(8个按钮)
按钮 | 说明 |
---|---|
(Alt + F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行 | |
(F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。 | |
(F7):步入。如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。 | |
(Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。 | |
(Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。 | |
回退断点。 | |
(Alt + F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。 | |
(Alt + F8):计算表达式。 |
观察变量
查看输出
跳转到当前代码执行的行(Alt + F10)
作用
步入调试
作用
步入,一行一行地往下走,如果这一行上有方法,则进入方法内部。
一般用于进入自定义方法内,不会进入官方类库的方法。
强制步入调试
作用
进入官方类库方法
帮助我们学习和查看JDK源码
步出调试
作用
回退断点
作用
回退到当前方法的调用处。
当想重新查看该方法体的执行过程时,不用重新启动Debug,可以使用回退断点方式。
计算表达式
计算表达式按钮(Alt + F8)
作用
条件断点
右键单击断点处,可以设置进入断点的条件
作用
步骤
多线程调试,需要调整断点挂起级别为Thread
Frame中选择线程进行调试
基于URL等应用层信息的负载均衡
Nginx的proxy
功能强大性能卓越运行稳定
配置简单灵活
能够自动给剔除工作不正常的后端服务器
上传文件使用异步模式
支持多种分配策略
加权轮询
首先将请求都分给高权重机器,直到该机器的权重值降到比其他机器低,才开始将请求分给下一个高权重的机器当所有后端机器都down掉时,Nginx会立即将所有机器的标志位清成初始状态,以避免造成所有的机器都处在timeout的状态
IP Hash策略
Nginx 内置的另一种负载均衡的策略,流程和轮询很类似,只是其中的算法和具体的策略有些变化IP hash算法时一种变相的轮询算法
fair 策略
根据后端服务器的响应时间判断负载情况,从中选出负载最轻的机器
通用Hash 一致性Hash策略
通用hash比较简单,可以以nginx内置的变量位key进行hash,一致性hash采用nginx内置的一致性hash环,支持memcache
Nginx 配置
1 | http { |
根据报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器
LVS实现的服务器负载均衡有三种方式,NAT DR 和 TUN
pom.xml中引入mongo依赖
1 | <dependency> |
application.properties 文件中添加配置
1 | spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/dbname |
参考资料:
https://www.cnblogs.com/kylne/p/11193878.html
https://www.jianshu.com/p/99dfee1dbc26
JPA
https://www.jianshu.com/p/c14640b63653
https://segmentfault.com/a/1190000014269284?utm_source=index-hottest
https://blog.csdn.net/enthan809882/article/details/103741936
接收时间参数
日期参数为String类型,value用”2018-02-01”这种格式,日期参数为Date类型,value用”2018/2/01”这种格式,时间通用:”00:00:00”。
分页
https://www.jianshu.com/p/14cd90f32d4d
mysql
https://blog.csdn.net/Winter_chen001/article/details/77249029
https://www.jianshu.com/p/8061bceb4500
静态资源访问:
1 | # web静态访问映射配置 |
报错:
1 | nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc,image,url) values('test', 'test', 'test', 'test')' at line 1 |
注意SQL语句中是否存在sql关键字 字段名建议都时使用反引号包裹
mybatis 自动生成实体类