IM(全称是『Instant Messaging』,中文名是即时通讯),在互联网时代沟通显得尤为重要,而IM是偏底层通讯协议的技术,自研的话开发成本较高。但是市场上有较多成熟的服务提供商,我们可以从中选择一家符合需求且成本低廉的产品。
MacOS VPN(Cisco IPSec)断线解决办法
现在很多VPN客户端都是不支持Mac的,所以更多的时候我们需要使用Mac系统内置的IPsec VPN
客户端工具去连接。
但是在链接 Cisco VPN 服务器后,一般每隔45分钟到一小时就会自动断线,这无疑是令人沮丧的。虽然说这是Mac系统为了电脑的安全性所做的考虑,但是实际使用时可能会很不方便。
本文章将介绍一种的解决方法来让 VPN 客户端正常连接不断线。
Nginx开机自启动服务
在我们在Linux搭建程序服务的过程中有时会有开关机的需要,所以不少服务(比如:Nginx、数据库等)都需要重新开启,有什么好的方式来让机器自动启动代替人工呢?
本文章将介绍一种比较通用且简单的方式:在 /etc/init.d
里配置启动脚本实现开机自启动。
App如何识别身份证号码
现在的网络中对实名要求越来越高,日常使用App时都会有输入身份证号码进行身份验证的环节。有的时候按照自己身份证的格式随便改下几位数字想蒙混过关,不想直接被系统识别号码错误了,他们是怎么验证的?
实名验证的渠道有很多,比如银行渠道、公安部渠道等,往往都是收费的。在发往这些渠道进行实名验证之前,是不是可以先对身份证的格式正确性进行验证,这样能够适当提高收费验证的成功率,节省成本支出;而且也可以提升用户体验,在用户输入错误时及时反馈而不必等待验证结果的返回。
本文章将实际探究一下身份证号码的校验计算方法以及两代身份证的差异情况。
Spring Boot - 条件化注解Conditional
在我们的实际业务开发过程中,往往会有这样的场景:
- 一套接口中有多种不同的实现,但在不同的场景下需使用指定的实现方式(比如微信小程序里仅仅支持微信支付)
- 在集群环境里,存在一个定时任务,定时任务不可重复执行,因此需限制只在一个节点中执行,其他节点不执行
常规思路中要实现以上的场景需求还是比较麻烦的,可能需要硬编码做 if 或者 swith 的判断,亦或是使用控制路由在调用的代码里做选择初始化。这些方式都不够优雅,也增强了组件间的耦合性!!!
现在SpringBoot里有了@Conditional
注解 和@ConditionalOnProperty
注解,将变得简单许多。
Spring Boot - 配置文件外置
Spring Boot启动会加载大量的自动配置类,相比以前 XML 的配置方式,很多显式方式申明是不需要的,从而可以更快速的开发。
Spring Boot的配置文件有两种:.properties 文件和 .yml 文件。
使用固定的application.properties
或者application.yml
文件做为全局的配置文件,启动时会扫描它们作为默认配置文件。在很多场景下,我们需要去修改配置文件,如:端口、数据库地址等等。把所有配置全都打在包里,显然不是最好的做法,更常见的做法是把配置文件放在外面,可以在需要时不动代码的前提下修改配置。
本文章将介绍如何自定义Sping Boot配置文件的位置,特别是war包运行在独立tomcat下时如何在外部配置。
Hexo+NexT(v7.0+) 搭建博客:内容优化
NexT主题内提供了很多功能来让内容更加丰富,本文介绍了如何开启和定制这些功能,主要包括:
- 模板设置
- 文章发布修改时间、字数统计
- 文章版权声明
- 链接样式、底部标签样式
- 图片尺寸处理
- 代码块复制、显示和隐藏
- 草稿和发布
Hexo+NexT(v7.0+) 搭建博客:主题美化
本文介绍了在 NexT(v7.0+) 主题的基础上整体布局美化的方案,主要包括:
- Font:字体、动态背景canvas_ribbon
- Top:进度条、Follow me、菜单背景收缩
- Footer:备案显示、运行时间、访客统计
- Sidebar:近期文章、浏览进度、左边显示、目录展开
大家可以选择喜欢的方案美化自己的博客,当然最好可以再加入点自己的想法改造。