摘要:
项目背景 原有的启动平台公共组件库comm-util的浏览器工具类BrowserUtils是基于UserAgentUtils的,但是该项目最后一个版本发布于 2018/01/24,之至今日23年底,已有5年没有维护更新,会造成最新版本的部分浏览器不能正确获取到浏览器信息。(至于为什么停更了获取不到最 阅读全文
摘要:
点九博客 点九博客 - 点九先生的技术博客分享 基于hugo 搭建的博客系统 安装hugo win10 choco install hugo -confirm choco install hugo-extended -confirm mac brew install hugo linux brew 阅读全文
摘要:
Netty 是业界最流行的 NIO 框架之一,它的健壮性、功能、性能、可定制性和可扩展性在同类框架中都是首屈一指的,它已经得到成百上千的商用项目验证,例如 Hadoop 的 RPC 框架 avro 使用Netty 作为底层通信框架;很多其他业界主流的 RPC 框架,也使用 Netty 来构建高性能的异步通信能力。 阅读全文
摘要:
一、项目背景 公司不同项目组,使用不同的技术框架(vue or react),即便是同一项目组不同开发人员由不同的开发习惯。最终会导致在项目结构混乱,给其他人员维护造成了一些不必须的维护成本。为此很多公司开始着手开发自己的脚手架用来初始化项目模板。(很多公司会放在自己的私服镜像上,这里演示的就给 阅读全文
摘要:
客户端清理 logc/controllers/file/file.go 压缩后清理原始文件 //压缩成功后 删除原文件 os.Remove(src) 返回后清理压缩文件 defer func() { //返回后清理压缩文件 os.Remove(file) }() 服务端清理 logs/control 阅读全文
摘要:
一、代码实例 仓库地址 https://github.com/dianjiu/design-pattern https://gitee.com/dianjiu/design-pattern 二、什么是观察者模式? 观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主 阅读全文
摘要:
一、代码实例 仓库地址 https://github.com/dianjiu/design-pattern https://gitee.com/dianjiu/design-pattern 二、为什么使用设计模式? 使用设计模式的目的是为了可重用代码、让代码更容易被他人理解、保证代码可靠性,当然设计 阅读全文
摘要:
VUE封装的请求头(注意请求头,跨域要用到) 路径 utils/mereq.js import request from '@/utils/request' import qs from 'qs' export default{ get(url,params){ return request({ m 阅读全文
摘要:
Q为什么要学习多线程通信? A每个线程的内部有自己的私有的线程上线文,线程之间互不干扰。为了更好的利用服务器资源,我们通常需要多个线程之间进行协作。 业务目标,A、B两个线程依次输出 package co.dianjiu.thread; public class MyThreadNoLock { s 阅读全文
摘要:
1、操作系统中的线程状态 操作系统中的线程状态有运行、就绪、等待三个关键状态 就绪状态(ready):线程正在等待使用CPU,经调度程序调用之后可进入running状态 执行状态(running):线程正在使用CPU 等待状态(waiting): 线程经过等待事件的调用或者正在等待其他资源(如I/O 阅读全文