analyticsvidhya网站有一些非常好的机器学习的文章,这是其中的一篇。
原文出处: Essentials of Machine Learning Algorithms,
国内有人翻译了,可以移步:10 种机器学习算法的要点
使用Go开发一个 Slack 运维机器人

受湾区日报的自动化机器人启发:湾区日报的第一个“员工”:Slack/Hubot, 我决定为自己的 side project 写一个自动化的slack运维机器人。
uriDB技术流是一个搜集高质量技术文章的网站。主要是由爬虫到一些技术站点寻找关注度高的技术文章,以及一些技术聚合站点的高质量的文章,我也会发一些平常自己看到的技术文章。uriDB也允许用户注册发布文章。
因为这是自己的 side project, 我不会将精力全部放在这个项目上。 如果有一个机器人,可以方便的维护这个站点,那么可以极大减少我的工作量。
这个网站后台完全是由 Go 开发的,所以我还是想用Golang实现这个机器人,而没有采用hubot + hubot-slack。
目前这个机器人实现了基本的功能:
- 发表一个文章链接
- 修改文章的元数据
- 删除文章
- 分析一个文章链接
有时间我会将服务器性能监控等功能加上。
在 Linux 上如何清除内存的 Cache、Buffer 和交换空间
英文原文: How to Clear RAM Memory Cache, Buffer and Swap Space on Linux,
中文翻译: 在 Linux 上如何清除内存的 Cache、Buffer 和交换空间 by strugglingyouth
像任何其他的操作系统一样,GNU/Linux 已经实现的内存管理不仅有效,而且更好。但是,如果有任何进程正在蚕食你的内存,而你想要清除它的话,Linux 提供了一个刷新或清除RAM缓存方法。
怎样在后台模式中登录一个docker容器的bash?

Ask Ubuntu上有人问怎么能login或者ssh一个运行的docker容器。
例如
|
|
想进行这样的登录:
|
|
移动H5前端性能优化指南
腾讯出品的前端性能优化指南: 原文,
另外比较知名的很早的一篇前端优化规则是Yahoo出品的,现在依然有效。 Best Practices for Speeding Up Your Web Site, 中文Yahoo前端优化性能规则
以下是腾讯的移动h5前端性能优化指南全文:
基于Golang将MongoDB的数据同步到Elasticsearch
Elasticsearch是一个分布式可扩展的实时搜索和分析引擎。它能帮助你搜索、分析和浏览数据。Elasticsearch 是一个基于Lucene实现的搜索服务器,用Java开发实现。它提供了RESTful web接口,并作为Apache许可条款下的开放源码发布,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
Elasticsearch关键概念
Mongodb 定期备份
在生产系统中,数据库的备份是必要的,否则当服务器被攻击,硬盘坏掉,运维误删等原因将数据库干掉的时候就欲哭无泪了。
备份MongoDB数据库常见的方式有三种:
- 使用[MongoDB管理服务(MMS)(https://mms.mongodb.com/)进行云备份
- 使用文件系统快照
- 使用MongoDB自身的mongodump工具
本文介绍第三种简单的备份,对于备份数据量不是太大的数据库还是很有效的。
Nginx 限流

电商平台营销时候,经常会碰到的大流量问题,除了做流量分流处理,可能还要做用户黑白名单、信誉分析,进而根据用户ip信誉权重做相应的流量拦截、限制流量。
Nginx自身有的请求限制模块ngx_http_limit_req_module、流量限制模块ngx_stream_limit_conn_module基于令牌桶算法,可以方便的控制令牌速率,自定义调节限流,实现基本的限流控制。
对于提供下载的网站,肯定是要进行流量控制的,例如软件下载站、视频服务等。
它也可以减少一些爬虫程序或者DDOS的攻击。
对这两个模块的介绍的文章也不少,这里转载一篇hopestar的文章: nginx限制IP连接数的范例参考, 因为他介绍的很简洁。
下面文章的limit_zone指令已经被弃用,请用limit_conn_zone替换
Virtualbox mount共享文件夹错误
最近创建了一个Centos 7的虚拟机,使用的是virtualbox 版本 5.0.6 r103037。
安装了增强包之后,依然无法挂载共享文件夹,报错如下:
|
|
用redhat 6.4是正常的。
stackoverflow有人也遇到了这个问题,解决办法如下:
|
|
特别记录下来以备将来查询。
你也可以在/etc/modules-load.d/
创建要加载的模块,一个文件加载一个模块,如:
|
|
这样启动的时候就将相应的模块加载进来了。
创建超小的Golang docker 镜像

Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源。正如DockerPool在免费Docker电子书Docker —— 从入门到实践中这样提到的:
作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。
首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。 其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。
容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。
Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。