Spring Cloud Zookeeper 实战

2020-08-15
阅读 4 分钟
4.6k
就分布式 CAP 定理而言,Zookeeper 做 CP,Eureka 做 AP,但其实是 AP 场景更适合服务注册中心的高可用,可用性要比一致性更重要。

我的梦云智之旅

2020-07-11
阅读 3 分钟
2.1k
引言 疫情之下,一切从简。以致于,还没有好好说再见。 天下无不散之筵席,毕业的人员变动,每年都在。 回忆过往,记忆犹新。 回忆 选修 老大难的 C++ 磨灭了无数程序员的梦想,还好遇到了“商业网站开发”,遇到了潘老师。 在 A101 教室,一节课一百多人,每次坐在中间的前两排听课。 这是我第一次遇到上课不需要 PPT 的...

MySQL 存储过程编写指南

2020-06-06
阅读 4 分钟
5.8k
从过去的标签随意选择,现在需要对标签进行分类,简化选择难度。添加科目分类之后,需要对历史上已经被使用过的标签添加科目信息,进行数据的迁移工作。

Java BIO

2020-05-30
阅读 2 分钟
2.1k
在Unix网络编程领域中,IO模型一直是十分重要的话题。并且在去学习Redis、Nginx、Netty等底层原理时,对于高并发的处理,基本都用到了IO模型的概念。

框架 DOM 渲染问题探究

2020-05-23
阅读 4 分钟
5.9k
引言 使用NG初始化一个简单的Hello World!的Sample。 渲染完成后的DOM如下所示: {代码...} 根据渲染结果表明,渲染后的DOM中原组件节点<app-hello-world></app-hello-world>被保留,用于包裹组件模板内容。 当然这种设计是没问题的,因为上级可能给组件加属性,但是如果在某些情况下会很难处理。 {代码...}...

Angular 实现 A4 格式分页渲染

2020-05-15
阅读 2 分钟
3.1k
引言 原试卷预览功能如下图所示,按普通的网页格式预览试卷。 最终通过HTML渲染后的PDF如下图所示,存在以下问题: 无法显示试卷页号,目前不知道最终生成几页的PDF。(请教过考研的同学,考研的试卷像书一样,翻页的)。 试卷样式与预览不一致,因二者尺寸不同,最终的生成效果无法达到与网页端预览一致。 试题因PDF分页...

API 接口响应规范设计

2020-05-09
阅读 3 分钟
10.3k
引言 最近发现了使用标准的HTTP状态码出现了无法准确表达业务的问题。 登录状态,同样是401未授权,需要表达用户名或密码错误、验证码错误等多种场景,历史的处理方式无法满足场景。 考虑参照各大厂商规范,制定新的接口响应规范。 接口设计 状态码 VS 自定义Code 以国内腾讯、阿里、京东、微博为首的API响应规范如下: ...

Spring 事务管理(续)

2020-05-02
阅读 6 分钟
3.2k
最近在撰写论文,参考了大量文献,也在阅读博文的过程中对架构有了新的认识,发现原文章Spring 事务管理因局限于Hibernate框架,未对NESTED级别的事务做详述,特写本文进行补充。

纠正一个 Hibernate 的错误结论

2020-04-25
阅读 2 分钟
1.8k
之前一直以为Hibernate独立于Spring,Hibernate相关的拦截器、监听器都不能注入Spring容器对象,最近发现这个观点是错误的。

MySQL 联合索引

2020-04-25
阅读 2 分钟
4.8k
引言 用户表软删除,要保证手机号唯一且与已删除的用户不冲突,在数据库层面设置了UNIQUE联合索引。 在维基百科没找到联合索引比较官方的定义。 通俗的解释:在某一列上加索引以提升相关语句查询效率,联合索引就是在多个列上加索引。 联合索引 唯一性问题 执行以下语句新建test表用于演示: {代码...} 执行语句,索引创...

npm 开源项目构建与发布

2020-04-17
阅读 3 分钟
3.7k
引言 公式录入模块,起初采用开源的tinymce-mathjax插件。 使用过程中发现不易于公式录入,期待快捷录入方案。 遂启动了自研插件的计划,在开发的过程中发现,做个开源真难。 特地去Github把组织名改了,I'm spent.,我太难了。 开源 一个好的前端开源项目 后端的项目我们一直在移植Spring官方的方式。 那一个好的前端开...

MySQL RR 与 锁

2020-04-11
阅读 4 分钟
3.8k
在MySQL数据库面试/开发中,事务一直是重中之重,这些知识在之前面试的时候学过,到现在也记得不太清楚了,本文带领大家一起来回顾MySQL的事务知识。

疫情下的 App 开发技术探索

2020-04-04
阅读 2 分钟
3.9k
引言 2020年04月04日,庚子鼠年,清明,这注定是不平凡的一天。 瘟疫,国丧,除了五星红旗,一切都没有了色彩。全民志哀,全网皆灰。 打开手机,大部分软件都变灰了,还是在用户从未更新过APP的情况下。作为程序员,假设存在这样一个需求,我们怎么实现呢? 探索 原生开发 原生开发即使用Java / Kotlin / OC / Swift并结...

Spring Session 原理分析

2020-03-28
阅读 5 分钟
5.3k
引言 本周,大部分时间去撰写毕业设计中期报告,在部署Alice学生管理系统测试环境时想起本系统借助Redis实现分布式Session。 为什么要分布式Session呢? 请参考下图: 当后台集群部署时,单机的Session维护就会出现问题。 假设登录的认证授权发生在Tomcat A服务器上,Tomcat A在本地存储了用户Session,并签发认证令牌,...

Angular HTTP 请求复用方案

2020-03-19
阅读 3 分钟
2.4k
如上图所示,顶部导航栏组件需要请求当前登录用户的姓名,左侧菜单栏组件需要请求当前登录用户的菜单权限,根据后台的接口设计,两者都需要在应用初始化时获取当前登录用户。

Angular 原生集成 UEditor

2020-03-14
阅读 4 分钟
3.4k
引言 原项目集成TinyMCE,但公式录入需要购买昂贵的MathType或自研插件,遂启用UEditor,集成开源的公式插件。 UEditor对三大框架的支持不是很好,也尝试了ngx-ueditor,用完之后的结论,我不用这个东西。 总结出一句话:TS写ANY,整死程序员。 如果想通过ngx-ueditor集成,请参考angular 使用 ueditor - 鲸冬香。 原生...

Spring Security 原理分析

2020-03-07
阅读 5 分钟
5.4k
引言 在试题系统开发过程中,认证方式越来越完善,也对Spring Security有了更加深刻的理解。 本文,我们一起来领略Spring Security的设计原理。 原理 必备基础 Servlet是Java Web领域中的软件开发规范,Tomcat是实现Servlet规范的Java Web服务器。 {代码...} Servlet长这样,生命周期十分简单,初始化init、业务逻辑serv...

密码安全性策略

2020-02-29
阅读 3 分钟
5.7k
根据中华人民共和国2016年11月颁布的《中华人民共和国网络安全法》第三章第一节第二十一条规定:网络运营者应当按照网络安全等级保护制度的要求,采取数据分类、重要数据备份和加密等措施。

Redis 分布式锁基础理论

2020-02-22
阅读 2 分钟
2.6k
引言 本文只是对分布式锁的一个简单的理论入门,不够完善,如果您想学习完整、系统的分布式锁,还请莫在本文浪费时间。 原计划使用Redis作为系统缓存提升系统性能,在探究过程中发现序列化过于耗时,在编辑到一半时将原计划作废。 原计划 本地测试的时候,构造了大量数据,但MySQL表现却并不理想。 测试数据:262144条,...

详解 MySQL 数据库连接

2020-02-15
阅读 3 分钟
2k
引言 上次博文引用了各连接的示意图,未做详述,本文补充对数据库各连接的实例描述。 举个栗子 数据 数据为klass与student的关系,班级一对多学生,没有加外键。 数据关系如下:1班的Hello Kitty和史努比,2班的米老鼠和唐老鸭,3班没学生,葫芦娃没有班级。 何为连接? 关系型数据库,即数据之间是有所关系的。 就如我...

Angular 多模块项目构建

2020-02-09
阅读 3 分钟
6.9k
当时的解决方案是将两个系统放在一个应用里,并为该应用配置两套构建方案,当进行ng serve或ng build时,加载相应配置,动态构建出两套系统,从而解决了共享代码的问题。

Hibernate 复杂业务左连接的正确姿势

2020-02-04
阅读 6 分钟
4.3k
引言 在进行试题综合查询时,在和往常一样使用Predicate拼接谓语时,遇到了棘手的问题。 需求是查询试题,除了其他的专业课、模型等通用条件外,需要查询没有被使用过的试题,以及当前试卷使用的试题。 试题列表中需要包含当前试卷可选择的所有试题,故如此设计。 初次实现 错误举例 这是最初的实现,构造了一个OR条件,...

Github Actions 实践

2020-01-23
阅读 3 分钟
3.7k
开源组件开发,抱着学习的态度,采用的都是新技术,刚开始在这些新技术的使用上面踩了不少坑,经过一段时间的学习与实践,发现新技术的蓬勃发展并非偶然,而是因为它真的能满足日益增长的新需求。

MySQL 自增 VS UUID

2020-01-21
阅读 2 分钟
4.3k
在第一步,设计数据表时就遇到了问题,过去的数据表中,一直采用AUTO_INCREMENT的BigInt作为主键,也开始思考,BigInt是不是最好的呢?

今秉烛夜游,登明月楼头

2019-12-31
阅读 5 分钟
4.4k
引言 天津的冬天还真是冷呢,竟让来自哈尔滨的我丝毫没有感受到南方的温暖。 伴着新年的氛围,一起回忆2019年都经历了什么吧。 重构桌面 今年的桌面重构了不下五次,怎么整都感觉放不下,这是最终的桌面效果,感觉还挺舒服的。 左边写代码,右边浏览器,中间iPad看网课,手机就是用来接诈骗电话的。 说起诈骗电话,大家...

TinyMCE 公式录入实战

2019-12-12
阅读 2 分钟
6k
该插件发布于两个月前,属于比较新的,可能知道的人比较少,所以一直在Google上查询没有查询到,很庆幸自己无聊的时候在npm的首页一页一页翻,幸运地找到了这款插件。

JPA AES 引发的 String 二进制数据 DATA LOSS 问题

2019-12-06
阅读 13 分钟
3.5k
引言 系统要求高安全性,试题的数据需要加密,防止在数据库层面进行数据泄漏。 但试题的加密还与密码的加密不同,用户密码的加密可以使用Hash算法,无法解密,不光在数据库中,即便是我们的程序也无法获悉用户的密码。 试题的加密要求数据库层面是加密数据,从数据库中查询数据后,再对数据进行解密,发送给前台。接口是...

TinyMCE 富文本编辑器实战

2019-11-29
阅读 6 分钟
5.8k
引言 如下图所示,这是19年高考试卷,题干格式复杂,并非只有简单的文字描述,公式、图示都需要使用图片存储。 欲存储试题内容,须使用富文本编辑器。 想去维基百科上找找富文本编辑器的官方解释,发现并没有该词条。 也不知道怎么解释这个词,反正就像segmentfault编辑器这样式的,不止是简简单单的textarea,功能更丰...

Spring Security 测试实战

2019-11-26
阅读 3 分钟
5.3k
试题管理系统的安全模块使用Spring Security,代码从原华软仓库移植,在移植的过程中,发现原测试编写的不好,遂在新系统中对安全模块测试进行了重构。

知己知彼:持久化演进

2019-11-22
阅读 6 分钟
2.2k
持久化中,备受开发者瞩目的就是两大巨头:Hibernate与MyBatis,许多开发者也常常拿二者对比。去Google上,都是类似两者互相对比的文章。