Yangli's Blog About

上周踩了 Hadoop MapReduce 的一个大坑,花了整整两天踩查出来。

最近接手了一个 Hadoop 集群的维护。这个集群以前规模不大,维护的时候都是手工一台台 ssh 过去操作,唯一比较“自动化”的部分就是在一台机器上编辑好配置后执行 scp 把配置同步到其它机器上。这次接手后,做了些安全加固,并且后面准备扩充集群规模。这种手工方式总是容易出错(就像忘了在其中一台机器上执行某条命令什么的),于是开始寻求运维自动化工具。在对比过几个比较流行的工具后,选择了使用 ansible.

Grunt 是一个 JavaScript task runner, 用于工作流程的自动化,如 linting, 单元测试,编译,minification 等。 Grunt 本身更像是个框架,许多的任务都靠它庞大的插件库来完成。

越来越复杂的前端

最近在一台服务器上遇到了 /tmp 目录(单独挂载了一个分区)空间用尽的问题。df 显示该分区的可用空间为 0. 而 ls 则显示 /tmp 目录为空。

在网络上会遇到很多针对开发代理的扫描,这样的请求大概是

Jersey 是 Java API for RESTful Service (JAX-RS) 的参考实现。Jersey 利用 Java 中的标注(Annotion),声明式地定义每个资源的路径、数据类型,并能自动把 Java bean 转换成定义的数据类型,同时支持从指定的 Java packages 中发现资源类;这些功能使开发者能够免去手工编写初始化代码、解析 JSON 结构等重复性的劳动,专注于业务逻辑的编程。

至少需要修改 Xserver 和 Gnome 的配置,有些软件使用了自己的参数,还要另外修改。默认的 DPI 是 96, 这里以修改为 110 为例。

回顾

朴素贝叶斯 (naive bayes) 分类器是一种简单有效的概率分类器,基于先验概率。

在 C 语言,编译器给 struct 的内存会有字节对齐的要求。字节对齐的目的是为了提高访问速度,这和 CPU 与内存之间的通信方式有关。

自己学的是 C++, 从来没用过 C 风格的大括号初始化。然后,今天参加深圳某公司的校招笔试,题目全是用的大括号初始化,直接跪了……

今天在打开 https://cn.bing.com 遇到中间人攻击了。伪造证书的是一个 hotmal.com 的自签名证书。

一直很喜欢 python 优美的语法和丰富的库,但是在 Web 方面,python 部署起来就比 php 麻烦很多了。即使是和 Java 相比,上手时也比 Tomcat 困难。也许是 python 在这方面的选择太多,没有一个特别突出的方案,导致这方面的资料比较少吧。

  1. 取消上一次 commit (保留在 stage):

有些服务可以使用 git push 部署,典型的例子就是 github pages. 这里,我就以 github personal pages 为例子,讲讲这种情况。

Git 的工作流非常灵活。像 linux 之类的开源社区项目一般是使用 clone -> commit -> format-patch -> mailing list -> am 的流程;而 github 上则采用 fork -> clone -> branch -> commit -> push -> pull request -> merge 的流程。Github 的流程就会用到多个 remotes.

背景

在中文的排版中,一般都要在正文段落中使用 2 em 的首行缩进。现在要用 CSS 来实现这个需求,于是我开始写:

据说,80% 的业务逻辑可以在数据库中完成。

一直觉得 Web 是个不太好入门的领域,涉及的技术太多了。前端就有 HTML, CSS, javascript 三个必须掌握的技术,后端就更是有各种让人眼花缭乱的语言、框架可以选择,虽然很久以来都想学,但一直不知道怎么下手。