iota: Golang 中优雅的常量

2014-09-02
阅读 4 分钟
72.8k
在其他时候,我们仅仅关注能把一个东西与其他的做区分。有些时候,有些时候一件事没有本质上的意义。比如,我们在一个数据库表中存储产品,我们可能不想以 string 存储他们的分类。我们不关注这个分类是怎样命名的,此外,该名字在市场上一直在变化。

Go 代码审查建议

2014-08-31
阅读 6 分钟
8.6k
注:该文的原文来自于 go-wiki 为 Go Code Review Comments Go 代码审查建议 该页收集了 Go 代码审查时候的常见意见,以至于一个详细说明能被快速参考。这是一个常见的错误清单,而不是一个风格指南。 你可以看 effective go 作为补充。 请在编辑这个页面前先讨论这个变更,就算是一个很小的变更,许多人都有自己的想法...

GO 开发者对 GO 初学者的建议

2014-08-31
阅读 2 分钟
9.9k
以促进 India 的 go 编程作为 GopherConIndia 承诺的一部分。我们采访了 40 位 Gophers(一个 Gopher 代表一个 GO 项目或是任何地方的 GO 程序员),得到了他们关于 GO 的意见。从 2014 年的八月到十一月,我们将每个星期发表两篇采访稿。

我们忘记监控的 10 件事

2014-08-31
阅读 8 分钟
3.9k
总有一组标准的统一监控指标(Disk Usage, Memory Usage, Load, Pings 等等)。除了那个以外,我们还有从操作我们的生产系统学习到的很多经验,帮助我们形成监控的广度。

使用 Flask 和 AngularJS 构建博客 - 1

2014-08-31
阅读 9 分钟
14.6k
注:原文作者 John Kevin M. Basco,原文地址为 Building a blog using Flask and AngularJS Part 1 在这个教程中,我们将使用 Flask 和 AngularJS 构建一个博客。 这是这个系列教程的第一部分,在这部分我们将专注于构建 REST API ,该 API 将被 AngularJS 应用使用。 目标 该应用的目标非常简单: 允许任何用户注册 允...

使用 Docker 与 Apache Flume - 第一部分

2014-08-30
阅读 3 分钟
6.8k
在 Unruly,我们使用 Apache Flume 处理我们 event-streaming 架构的一部分,因为它很容易设置和减少自定义 sources 和 sinks,在我的创新时间,我尝试设置一些 Flume 拓扑来学习 Docker 和 集装箱化。

Docker 与 服务发现 - 2

2014-08-29
阅读 7 分钟
8.8k
注:该文由 adetante 编写,该文的原文地址为 Service discovery with Docker - 2 该文紧接着上篇文章 Docker 与服务发现 - 1 在上一篇文章中,我们看到了一个简单的方法,通过使用 Synapse 来做基于同一台 Docker 主机上的多个容器的服务发现。 现在,我们想在多台 Docker 主机上部署相同的应用,来扩展不同的服务以及...

使用 syslog 处理多个 Docker 容器的日志

2014-08-29
阅读 1 分钟
9.9k
注:该文作者 jpetazzo,该文章的原文为 Multiple Docker containers logging to a single syslog 这里有一个简单方法展示了怎样在一个容器中运行 syslog ,然后发送多台其他容器的 syslog 消息到另外一台。 可运行的 Dockerfile 和基础的指令已经在一个小型的 github 仓库里:[链接]。 这个构思非常的简单。 首先,我们...

Nginx 反向代理 websocket

2014-08-29
阅读 4 分钟
17.2k
注: 看官方文档说 Nginx 在 1.3 以后的版本才支持 websocket 反向代理,所以要想使用支持 websocket 的功能,必须升级到 1.3 以后的版本,因此我这边是下载的 Tengine 的最新版本测试的

编写兼容 Python 2 和 Python 3 的代码

2014-08-15
阅读 16 分钟
16.7k
注:本文的作者是 Ed Schofield。原文的地址为: Cheat Sheet: Writing Python 2-3 compatible code 该笔记向你展示了编写不会过时的兼容 Python 2 和 Python 3 的代码风格。 它是 Ed Schofield 在 PyCon AU 2014 的演讲,“ Writing 2/3 compatible code ”。 最低版本: Python 2: 2.6+ Python 3: 3.3+ 安装 一些下面的 ...

小技巧:批量动态修改 /etc/hosts 中的主机名映射关系

2014-08-06
阅读 1 分钟
8.3k
有些应用程序需要读取 /etc/hosts 中的本机主机映射关系,在今天遇到的一项扩容中,我这边需要先把某台服务器的 /etc/hosts 同步到需要扩容的服务器上,然后根据扩容的具体的主机和主机名修改扩容主机中的 /etc/hosts 文件。

DNS 与 Docker 容器

2014-08-06
阅读 2 分钟
9.2k
手头的问题是使用 Docker。容器在启动的时候有不同的 IP。甚至在一个成功的数据迁移或是简单的重起你的容器,你都需要传播这个新信息。例如,让你的 app 容器知道数据库地址的变更。

服务发现与 Docker

2014-08-06
阅读 5 分钟
10.8k
注:该文由 adetante 编写,原文地址为 Service discovery with Docker 这篇博客的第一篇文章,我将写一篇基于 Docker 容器构建一个不可变架构的解决方案的文章。 这个主题将通过系列文章来描述,从最简单的案例到更复杂的架构。 总体的思想是设计一个“基于概念验证”的解决方案,它允许: 启动和停止一个新容器,如果系...

创建尽可能小的 Docker 容器

2014-08-05
阅读 5 分钟
26.6k
当我们在使用 Docker 的时候,你会很快注意到你正在下载很多 MB 作为你的预先配置的容器。一个简单的 Ubuntu 容器很容易超过 200 MB,并且随着在上面安装软件,尺寸在逐渐增大。在某些情况下,你不需要任何事情都使用 Ubuntu 。例如,如果你只是简单的想运行一个 web 服务,使用 GO 编写的,没有必要围绕它使用任何工具。

Fabric 技巧 --- 通过 Fabric 无法启动 Tomcat

2014-07-31
阅读 3 分钟
4.7k
最近有一个需求是调整 tomcat 的参数,因为服务器比较多,就使用 fabric 来批量处理了。 tomcat 需要调整的参数为 acceptCount。 {代码...} maxThreads:tomcat 启动的最大线程数,即同时处理的任务个数,默认值为200 acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100 该参数值的作用的讲...

Dagobah 的安装使用手册 ---- Cron 定时任务管理工具

2014-07-30
阅读 6 分钟
9.6k
Dagobash 是用 python 编写的一个简单的基于依赖关系的作业调度器。 Dagobah 允许你使用 Cron 语法安排调度工作,你可以非常简单的通过 web 界面点击拖动来定义每个工作的一系列任务的依赖关系。

5 个很好的 Python 面试题

2014-07-26
阅读 4 分钟
50.4k
注:本文的原文是 5 Great Python Interview Questions,同时谢谢 @非乌龟 指出我的疏漏,没有来源标记,也赞其细心,希望看文章的同时大家都能看下原文,因为每个人的理解不一致,原汁原味的最有帮助,我翻译很多文章的目的一是为了自己以后找资料方便;二是作为一个索引,以后再看原文的时候,能更加快捷。其目的还是...

Python 2.7.x 和 Python 3.x 的主要区别

2014-07-26
阅读 13 分钟
35.6k
许多 Python 初学者想知道他们应该从 Python 的哪个版本开始学习。对于这个问题我的答案是 “你学习你喜欢的教程的版本,然后检查他们之间的不同。"

用 Python 的魔术方法做出更好的正则表达式 API

2014-07-25
阅读 3 分钟
4k
我的一个同事提到,他错过了 Ruby 的正则表达式的语法糖。我没有使用过 Ruby 的正则表达式,但是以我对 Python 的足够了解知道 API 是缺少足够的语法糖。

Python 性能分析入门指南

2014-07-24
阅读 7 分钟
16.4k
虽然并非你编写的每个 Python 程序都要求一个严格的性能分析,但是让人放心的是,当问题发生的时候,Python 生态圈有各种各样的工具可以处理这类问题。

Python 性能快速优化: 系列二

2014-07-24
阅读 1 分钟
4.7k
注:本文的原文地址为 Quick Python Performance Optimization: Part II 这个是 Python 性能快速优化的第二部分,第一部分请点击这里。 使用 Map ,Reduce 和 Filter 代替 for 循环 校验 a in b, 字典 或 set 比 列表 或 元组 更好 当数据量大的时候,尽可能使用不可变数据类型,他们更快 元组 > 列表 在一个列表中...

Python 性能快速优化: 系列一

2014-07-24
阅读 1 分钟
5.7k
Python可能最容易扼杀你的想法,但不是最好的代码实现。尽管强烈反对过早优化,但在 Python 代码中一点点的优化都可能带来巨大的性能提升。

怎样分析 JAVA 的 Thread Dumps

2014-07-24
阅读 18 分钟
20.4k
当有障碍,或者是一个基于 JAVA 的 WEB 应用运行的比预期慢的时候,我们需要使用 thread dumps。如果对于你来说, thread dumps 是非常复杂的,这篇文章或许能对你有所帮助。在这里我将解释在 JAVA 中什么是 threads,他们的类型,怎么被创建的,怎样管理它们,你怎样从正在运行的应用中 dump threads,最后你可以怎样分...

在 Docker 中构建基于 Puppet 的应用

2014-07-23
阅读 3 分钟
4.7k
通过创建一个 Docker 的 Dockerfile 来构建一个应用程序是非常容易的。但是如果你已经有了大量的 Puppet 模块(或者是 Chef cookbooks),你想把这些模块用于构建你的应用程序,你应该怎么做?我们将看到利用 Dockerfile1 构建是多么的容易。

Fabric 教程之 roles 的 exclude

2014-07-22
阅读 1 分钟
3.8k
当我们只想在角色中的 10.10.1.3-4 这两台服务器中执行任务 uname 的时候,就需要用到 fabric 的 exclude 的用法了。

Fabric 与 nohup 的问题

2014-07-21
阅读 2 分钟
7.3k
需求:通过 Fabric 批量执行客户端上的一个脚本,对 flume 进行批量启动,flume 的启动脚本 start-flume.sh 如下

创建一个运行 PHP,NGINX 和 Hip Hop VM(HHVM) 的镜像

2014-07-17
阅读 4 分钟
8.1k
对于 Docker,我感到非常的兴奋,作为一个开发人员,在早些时候,我花费了太多的时间陷入了 .NET 工作中我不喜欢的几件事情中,如在不同的环境中部署和测试。部署一个 web 应用程序的过程绝对是一个噩梦般的经历。并且甚至在那之后,我迁移到基于 UNIX 平台开发,然后使用开源的工具/语言,如 Node, Java, Scala, PHP ...

nginx 的日志记录 response 的报文体

2014-07-16
阅读 1 分钟
17.8k
目前的 nginx 是不支持输出 response 报文体的 使用 body_filter_by_lua 来分配请求报文体给一个 nginx 变量。下面是一个示例

supervisord 的 XML-RPC API 使用说明

2014-07-16
阅读 10 分钟
12.8k
supervisord 的安装 使用 easy_install 安装 supervisord {代码...} supervisord 的配置 生成配置文件 {代码...} supervisord 的配置文件如下 {代码...} 启动 supervisord 启动 supervisord 的命令如下: {代码...} 使用 supervisorctl 查看 supervisord 相关信息 {代码...} 查看 supervisor 的所有命令可以使用 help 帮...

SolrCloud 分布式集群部署步骤

2014-07-04
阅读 13 分钟
23.7k
安装软件包准备 apache-tomcat-7.0.54 jdk1.7 solr-4.8.1 zookeeper-3.4.5 注:以上软件都是基于 Linux 环境的 64位 软件,以上软件请到各自的官网下载。 服务器准备 为搭建这个集群,准备三台服务器,分别为 192.168.0.2 -- master 角色 192.168.0.3 -- slave 角色 192.168.0.4 -- slave 角色 搭建基础环境 安装 jdk1.7...