自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 spring boot 2: 如何启用tomcat的nio2协议(Http11Nio2Protocol)

@Slf4j @Component class AppTomcatConnectorCustomizer implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> { @Overrid...

2019-12-27 17:46:08

阅读数 112

评论数 0

原创 springboot中,如何利用AOP,实现函数执行时间打印并支持给annotation传递参数

需求: 利用AOP和annotation,实现当指定函数的执行时间超过阈值后,打印log 实现: 1,定一个带参数的annotation @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @int...

2019-12-27 11:37:36

阅读数 7

评论数 0

原创 如何在nginx 反向代理(proxy_pass)配置swagger2

假设: 1,部署swagger2的server的ip地址为:192.168.1.10 2,通过url:http://my.test.com/report 访问上述swagger2nginx配置如下: server { listen 80; server_name my.test.com...

2019-12-25 14:47:49

阅读数 55

评论数 0

翻译 MongoDB一对多模式的三种设计方案

今天读了篇文章,关于mongodb里,一对多模式下的schema设计方案,感觉说的挺清晰,所以分享一下。原链接:https://www.mongodb.com/blog/post/6-rules-of-thumb-for-mongodb-schema-design-part-1问题:数据库设计中,...

2018-06-22 11:53:23

阅读数 3235

评论数 0

原创 如何利用数据库实现简单的分布式锁

问题:现在的手头的项目大多开始使用nodejs了,nodejs的单线程本质,导致大多数nodejs的项目都采用pm2等类似的进程管理工具,采用多进程的方式(也即是同时启动目标项目的多个实例),提高应用的吞吐量和cpu的利用率。但这也要求在软件设计上,尽量保持上下文无关,进程间无资源竞争关系。但是多...

2018-06-08 11:15:10

阅读数 920

评论数 0

原创 如何在pm2 cluster模式下,使用winston-daily-rotate-file

问题:最近用nodejs+express写了一个WebServer类应用。其中使用pm2 cluster模式进行进程管理,nodejs代码中,使用winston-daily-rotate-file进行log记录。其中winston-daily-rotate-file配置如下:所以问题来了,发现其中...

2018-06-08 10:33:55

阅读数 866

评论数 0

原创 谈谈在Tyepscript(version:2.2.2)扩展(extends)built-in类型(e.g. Array)的问题

前两天用typescript写代码的时候,像扩展一下内置的数据类型:Array,结果发现编译出的js文件,运行时提示找不到扩展的方法。google以后发现如下说法: Why doesn't extending built-ins like Error, Array, and Ma...

2017-04-21 11:11:34

阅读数 474

评论数 1

翻译 如何使用DevTools调试Nodejs运行的Javascript

本文内容主要来源于以下链接:https://blog.hospodarets.com/nodejs-debugging-in-chrome-devtools 下面是一些摘要和总结: 1,Nodejs和Chrome版本: Nodejs 6.3+  和 Chrome 55+ 2,如何激活Ch...

2017-02-07 09:10:17

阅读数 2696

评论数 0

原创 JAVAScript:mobile端,基于transform-origin和tranform(scale),实现表格缩放

需求: 1,实现表格区域的缩放,而不是整个页面。整个页面包含toolbar + table。 其中只缩放table区域 2,已用户操作处进行缩放,而不是固定的某个点,例如中心点,或左上角,笔记缩放时,数据跳动 实现的基本原理: 利用transform-origin,来确定进行缩...

2016-12-22 11:10:55

阅读数 1937

评论数 0

原创 typescript -- 全栈工程师的利器

做了将近10年的服务器端代码开发,现在转到前段开发,略有不适应。最最无法接受的有两点: 1, JS不是强类型,无法很好的通过编译的手段发现问题,使得产品迭代中,很容易出bug,如果自动化测试程度再低点,产品质量真是有点Hold不住。 2, 没有真正的面向对象的实现框架,使得代码组织容易混乱,代码逻...

2016-11-21 09:50:52

阅读数 590

评论数 0

翻译 如何在Mac上安装nginx以及所需模块

想通过homebrew安装第三方模块,需要添加新的或者修改已有formula,例如:echo-nginx-module. 前两天碰巧需要安装这个echo模块,所以Google了一下,发现了本身支持更多第三方模块的工具 -- homebrew-nginx. 链接如下 https://gith...

2016-08-18 15:01:40

阅读数 2381

评论数 1

原创 随想(三) -- 如何给基于Javascript的rich editor添加协同功能

实现背景 手头已经有一个基于Javascript的富文本编辑器,基本架构采用MVC,其中View层负责相应用户行为(例如文本输入等),之后把对应的行为通知Controller, 由Controller把行为封装成命令(command),由命令来操作数据,之后数据层触发各种change事件,通...

2016-06-14 15:18:36

阅读数 444

评论数 0

原创 随想(二)-- 基于负载均衡和本地锁的分布式锁

实现背景 业务需求 实现多人对同一片文档的协同编辑,要求采用第一个发起请求时,当前文档的最新版本作为协同内容的基础,多人同时请求时,要保证,所有请求获得相同的文档内容 现有架构 其中 用户请求到WebServer之间是给予WebServer负载的负载均衡算法 WebServ...

2016-05-24 11:21:13

阅读数 1266

评论数 0

原创 随想 -- SaaS项目中问题的发现和解决

在线问题根据出现时序的分类 做在线服务,有一个重要的指标就是有效时间或者说高可用性(high availability)。而保证这个指标通常的方法中,除了增加一些备份的候选服务(在主服务发生错误后,取代主服务的角色),就是最好能够做到: 在用户出现问题之前,发现问题,并且解决问题 ...

2016-05-17 14:13:22

阅读数 369

评论数 0

原创 谈一谈Java开发中的坑(一) -- log4j2在SaaS项目中的应用

背景介绍: 做server端开发有些年头了,特别是开始做SaaS类型的项目时,深知log的重要性,特别是半夜三更用户(大都是美国那边的)遇到问题的电话打过来,这个时候没有一个强大log,那只有抓瞎的份了。以前都是走的微软系的开发工具,log的框架也是别人早就写好的,所以对于log性能这一块也没有...

2016-05-13 14:14:53

阅读数 1029

评论数 0

原创 基于embedded jetty server的websocket开发

基于embedded jetty server的websocket开发 websocket提供一种在浏览器和服务器之间的全双工通信(full-duplex),替代了传统的轮询(polling)做法。目前,在一些web-base的富文本编辑器中有广泛的应用,例如Etherpad,石墨文...

2016-05-09 13:31:16

阅读数 1930

评论数 0

提示
确定要删除当前文章?
取消 删除