2019-12-06 15:10
生活是一杯酒,有时需要麻醉自己,才能够暂时忘却痛苦与不快。
生活是一杯茶,有时需要细细品味,才发现苦涩背后也会有甘甜。
Spring是一杯酒,一眼望不到边的官方文档,着实让人难以下咽。
Spring是一杯茶,在无边的源码中畅游之后,发现色相味道俱全。
高考状元是六月份的网红,Spring帝国是Java界的明星。
状元有自己的“武功秘籍”,Spring有自己的“帝国基石”。
请随本文一起,品Spring,寻找帝国的基石。
帝国的基石
无论是大到一个国家,或是小到一个个人,都有自己赖以存在的基石。这个基石就是核心支柱,就像经济基础支撑着上层建筑。
...
2019-12-06 15:27
项目描述最近做的一个项目有这么一个需求:需要生成一个唯一的11位的就餐码(类似于订单号的概念),就餐码的规则是:一共是11位的数字,前面6位是日期比如2019年07月20就是190720,后面五位是随机数且不能是自增的,不然容易让人看出一天的单量。...
2019-12-06 15:59
Service Resilience是指当服务的的运行环境出现了问题,例如网络故障或服务过载或某些微服务宕机的情况下,程序仍能够提供部分或大部分服务,这时我们就说服务的韧性很强。它是微服务中很重要的一部分内容,并被广泛讨论。它是衡量服务质量的一个重要指标。Service Resilience从内容上讲翻译成“容错”可能更接近, 但“容错”英文是“Fault Tolerance”,它的含义与“Service Resilience”是不同的。因此我觉得翻译成“服务韧性“比较合适。服务韧性在微服务体系中非常重要,它通过提高服务的韧性来弥补环境上的不足。
...
2019-12-06 15:35
这节介绍Redis的集群模式
主从模式提供了读写分离的支持,Sentinel提供了高可用的保障,满足了读模式下的横向扩展,但主节点只有一个,集中式的写模式无法应对不断增长的写需求。
Redis 3.x 版本提供了Redis cluster功能,服务端sharding使用槽作为分布式的解决方案。对于 2.x版本,则通过客户端API提供的客户端sharding方式,使用一致性哈希来实现数据分片。此外,twiter开源的twemproxy 和豌豆荚的codis,则采用代理模式来实现。
1 服务端模式
...
2019-12-06 15:43
上篇(使用c++开发跨平台程序)说到,我不怕造东西,我怕的是造出来的东西,如果出了问题,我却不知道原因.所以调试分析是一个重要的手段.
C++调试是一个复杂的活.虽然大部分调试可以通过IDE在开发期间就解决了.但是必然的,还有很多东西需要在生产环境中还原它.分析它,然后解决它.gdb是一个成熟的工具.围绕着它有很多的工具可以选择.不过这么多工具的根本还是命令行模式下的gdb.
废话不多说,现在我就用gdb来分析调试一下吧.
生成dump文件:
在shell中输入命令:
ulimit -c unlimited;
...
2019-12-06 15:33
分类: Spring Boot 标签: Spring Boot
文章导航-readme#
一、配置Spring Boot热部署#
技术的发展总是因为人们想偷懒的心理,如果我们不想每次修改了代码,都必须重启一下服务器,并重新运行代码。那么可以配置一下热部署。有了它之后,修改了代码只需要重新build一下,就可以看到效果了,不需要重启服务器。
1.配置热部署#
pom.xml文件中添加如下依赖:
Copy
org.springframework.boot
...
2019-12-06 15:02
NET 走向开源,MIT许可协议。 微软为了推动.NET开源社区的发展,2014年联合社区成立了.NET基金会。
.NET基金会是一个独立的组织,支持.NET社区和开源,旨在拓宽和加强.NET生态系统和社区。这可以通过多种方式完成,包括项目指导,指导,法律和营销帮助,技术和财务支持设置等. 2014年以来已经有众多知名公司加入.NET基金会, 仅在平台项目中,.NET平台上有87%贡献者其实不在Microsoft工作。在.net conf 2019 AWS加入了支持.NET Foundation的.NET开源生态系统中越来越多的行业领导者,这些成员包括Microsoft,Google,Red Hat,JetBrains,Unity,三星,Pivotal,Insight和Telerik。
...
2019-12-06 11:19
本文主要从两个方面对hdfs进行阐述,第一就是hdfs的整个架构以及组成,第二就是hdfs文件的读写流程。
一、HDFS概述
标题中提到hdfs(Hadoop Distribute File System)是分布式文件系统
分布式文件系统 distributed file system 是指文件系统管理的物理存储资源不一定直接链接在本地节点上,而是通过计算机网络与节点相连,可让多机器上的多用户分享文件和存储空间。分布式文件系统的设计基于客户机/服务器模式
分布式文件系统的特点:
...
2019-12-06 11:41
客户端的启动流程#
upload/201912061149315774.png
看上面的客户端启动的脚本图,可以看到,zookeeper客户端脚本运行的入口ZookeeperMain.java的main()方法, 关于这个类可以理解成它是程序启动的辅助类,由它提供开始的位置,进而加载出zk client的上下文
创建ZooKeeperMain对象#
upload/201912061149310542.png
...
2019-12-06 11:47
作者:@stars-one
本文为作者原创,转载请注明出处:https://www.cnblogs.com/kexing/p/11588066.html
介绍
概念
面向切面编程AOP与面向对象编程OOP有所不同,AOP不是对OOP的替换,而是对OOP的一种补充,AOP增强了OOP。
假设我们有几个业务代码,都调用了某个方法,按照OOP的思想,我们就会将此方法封装在一个类中,之后通过对象.方法名调用
我们可以看作我们的业务代码被其他代码入侵或者是业务代码被其他与业务不相关的代码入侵了
这个时候,如果我们使用AOP进行编写代码,我们的业务代码就可以不需要写其他与业务相关的代码,这样就可以保证业务代码的纯洁性
...
2019-12-06 11:16
对于想学习和实践zabbix的读者来说,在真实环境搭建一套zabbix系统是件费时费力的事情,本文内容就是用docker来缩减搭建时间,目标是让读者们尽快投入zabbix系统的体验和实践;...
2019-12-06 11:39
selenium
selenium是一个支持各大浏览器的自动化测试工具,包括 Chrome,Safari,Firefox ,ie等。再构造爬虫时,如果我们加入了User-Agent,那么变伪装成了浏览器,可以骗过一些技术水平不太高的网站。但如果使用selenium,则就不是伪装浏览器,而是真正的用浏览器去访问。有时我们可能会遇到这种情况,前端页面展示出来的东西,并不在后端源代码中,自然无法通过使用requests请求获得源码进行爬取。这时候就可以使用selenium进行爬取数据,因为他就是用真实的浏览器去访问页面的,所以出现的内容和我们在前端看到的是一模一样的。
...