NiuNiu's Note

  • 首页

  • 标签

  • 归档

  • 搜索

动态规划和摩尔投票法

发表于 2019-04-03 | 评论数: | 阅读次数:

动态规划

维基百科对动态规划(Dynamic programming,简称DP)的定义是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。

阅读全文 »

用 Consul 来做服务注册与服务发现

发表于 2019-03-28 | 评论数: | 阅读次数:

服务注册与服务发现是在分布式服务架构中常常会涉及到的东西,业界常用的服务注册与服务发现工具有 ZooKeeper、etcd、Consul 和 Eureka。Consul 的主要功能有服务发现、健康检查、KV存储、安全服务沟通和多数据中心。Consul 与其他几个工具的区别可以在这里查看 Consul vs. Other Software。

阅读全文 »

用 RabbitMQ 的死信队列来做定时任务

发表于 2018-10-05 | 评论数: | 阅读次数:

在开发中做定时任务是一个非常常见的业务场景,在代码层面 Node.js 可以用 setTimeout、setInerval 这种基础语法或用 node-schedule 这些类似的库来达到部分目的,在第三方服务上可以用 Redis 的 Keyspace Notification 或 Linux 自身的 crontab 来做定时任务。RabbitMQ 作为一个消息中间件,使用其死信队列也可以达到做定时任务的目的。

阅读全文 »

让Express支持async/await

发表于 2017-10-07 | 评论数: | 阅读次数:

随着 Node.js v8 的发布,Node.js 已原生支持 async/await 函数,Web 框架 Koa 也随之发布了 Koa 2 正式版,支持 async/await 中间件,为处理异步回调带来了极大的方便。

阅读全文 »

让写入数据库的数据自动写入缓存

发表于 2017-03-24 | 评论数: | 阅读次数:

在项目开发中,为了减轻数据库的 I/O 压力,加快请求的响应速度,缓存是常用到的技术。Redis 和 Memcache 是现在常用的两个用来做数据缓存的技术。

阅读全文 »

由left-pad扯到JS中的位运算

发表于 2017-01-07 | 评论数: | 阅读次数:

这个话题的由来是2016年3月份的时候 NPM 社区发生了‘left-pad’事件,不久后社区就有人发布了用来补救的,也是现在大家能用到的 left-pad 库。

阅读全文 »

通过单元测试为API自动生成文档

发表于 2017-01-03 | 评论数: | 阅读次数:

在开发中,为项目生成文档是很常见的需求,很多第三方库(如jsdoc、swagger等)的做法是为需要生成文档的函数编写相应的符合规范的注释,然后运行相应的命令,生成一个静态网页形式的文档。

阅读全文 »

利用redis将log4js产生的日志送到logstash

发表于 2016-08-23 | 评论数: | 阅读次数:

log4js-logstash-redis

在用Node.js开发项目的时候,我们常用 log4js 模块来进行日志的记录,可以通过配置 log4js 的 Appenders 将日志输出到Console、File和GELF等不同的地方。

阅读全文 »

用ELK处理日志时碰到的几个问题

发表于 2016-08-16 | 评论数: | 阅读次数:

elk
常说的ELK是指包括 elasticsearch、logstash 和 kibana 的一套技术栈,常用来处理日志等数据。最近在用这一套 stack 处理 nginx 的日志,而且还用到了 elastic 的另一个产品 beats,来作为客户端 shipper,形成了ELKB Stack。

阅读全文 »

利用Jenkins和Docker做持续集成

发表于 2016-07-13 | 评论数: | 阅读次数:

docker_jenkins
持续集成(Continuous integration,简称CI)是一套标准的互联网软件开发和发布流程,主要指频繁的将代码集成到主干,让产品可以快速迭代,同时能保证高质量。

阅读全文 »
12
NiuNiu

NiuNiu

19 日志
29 标签
RSS
GitHub E-Mail
© 2015 – 2021 NiuNiu | 73k
由 Hexo 强力驱动 v3.7.1