2022-11-16 00:00:00
如下这份笔记,是 19 年和一个前 leader 交流后记录下来的。说是交流,其实是针对我当时工作中存在的问题,他给我提出的一些 …
2022-09-14 00:00:00
设计一种存储,第一要明确应用场景和存储系统的工作负载,第二要了解底层硬件的特点。
2020-07-14 00:00:00
工作中,我负责的系统是一个数据流处理服务 - 以流水线(pipeline)的形式分多级异步处理:
其中的 队列 实际使用的是 Disruptor,多生 …
2020-07-13 00:00:00
原文链接:How to profile JVM applications
Hi 大家好。工具团队(tooling team)近期的一个关注点是改进 sbt 贡献流程( improvement of the contribution process to sbt)。我们一直在思考的 …
2020-06-14 00:00:00
好记性不如烂笔头。
1、Python 虚拟环境
virtualenv -p python3 ~/.py3
source ~/.py3/bin/activate
2、安装 Python 依赖包
pip install pelican[Markdown] # 可能需要先安装 pip:easy_install pip
3、安装主题包
git …
2019-10-13 00:00:00
原文:http://kafka.apache.org/documentation/#design
磁盘的读写速度,取决于如何读写。对于线性读写方式,操作系统做了充 …
2019-10-10 00:00:00
原文:Photon: Fault-tolerant and Scalable Joining of Continuous Data Streams
Photon 是谷歌广告系统中用于 join 广告曝光日志流和点击日志流的一套系统。
数据流 join 为什么没用 …
2019-10-10 00:00:00
原文:The Log: What every software engineer should know about real-time data's unifying abstraction
一句话概括,这篇文章细说了 Kafka 的本质原理、解决的问题、适用性等。
Kafka 本质上是提供日 …
2019-09-04 00:00:00
Lucene 除了提供 API 方便开发者创建查询请求,还通过一个查询解析器(一个词法分析器,使用 JavaCC 将一个字符串 …
2019-06-26 00:00:00
Reactor 是为 JVM 准备的一个完全非阻塞的反应式编程基础组件,支持高效的需求管理(以管理 …
2019-06-25 00:00:00
原文:Java System.getProperty vs System.getenv
Java 应用代码中会自动引入 java.lang
包。这个包包含很多常用的类,包括 NullPointerException
、Object
、Math
、String
等等。
其中 java.lang.System
类 …
2018-05-16 00:00:00
使用丑陋的编程语言也能写出漂亮的代码。
true_then_run() {
condition=$1
action=$2
(${condition})
if [ $? -eq 0 ]
then
(${action})
else
echo "'$1' is false, don't run '$2'"
fi
}
false_then_run() {
condition=$1
action=$2
(${condition})
if [ $? -ne 0 ]
then
(${action …
2018-05-14 00:00:00
1.pom.xml 中添加如下属性配置:
<properties>
<!-- protobuf paths -->
<protobuf.input.directory>${project.basedir}/src/main/protobuf</protobuf.input.directory>
<protobuf.output.directory>${project.build.directory}/generated-sources</protobuf.output.directory>
<!-- library versions -->
<build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version>
<maven-antrun-plugin.version>1.8</maven-antrun-plugin …
2016-06-11 00:00:00
之前涉及的一项工作要求对某些数据做全文索引,并以API向其他内部系统提供搜索查询服务。
由于需要建全文索引的数据量并不大,且已有的数据都以 …
2016-02-18 00:00:00
原文:How to kill defunct process
译者:youngsterxyf
defunct进程是指出错损坏的进程,父子进程之间不会再通信。有时,它们会演变成“僵尸进程”,存留在你的系统中,直到系统重启。可以 …
2016-01-24 00:00:00
2015年,我们在青云平台上实现了“百度云观测”应用。青云应用本质上是一个iframe,在向iframe服务方发送的请求中会携带一些数据,青云平台会使用Base64 URL
对这些数据进行编 …
2016-01-18 00:00:00
最近给 beego 提了几个 pull request (简称PR),都已被接受。在使用pull request的过程中,遇到了一点小问题,才知以前并非真的理解这个流程,故在此做点 …
2015-12-01 00:00:00
原文:Clarifications about Redis and Memcached
译者:youngsterxyf
译注:本文为Redis的作者所写
如果你了解我,就会知道我并不是那种认为竞品是一件坏事的人。实际上我喜欢用 …
2015-09-15 00:00:00
前两天遇到一个PHP代码的bug,分析的结果是:因为要处理的数据量过大,内存分配超出了限制(php.ini
中配置项memory_limit
,默认是128M)。长期使用Python …
2015-09-14 00:00:00
PHP区分“错误”(Error)和“异常”(Exception)。“错误”通常是由PHP内部函数抛出,表示运行时问题,当然也可以通过函数trigger_error
或user_error
抛出一个用户级别的error/warning/notice信息。但在 …
2015-09-11 00:00:00
译者:youngsterxyf
在并行处理能力方面,Python的声名并不太好。不考虑关于线程和GIL(多数情况下是合理的)的标准论据,我认为Python中关于并行的真正问题并不是一个技术问题,而是教学 …
2015-09-05 00:00:00
一看题目貌似本文要准备吐槽PHP,但遇到“坑”主要是因为个人经验不足。
函数 json_decode
默认反序列化的结果是对象。Python党在做PHP开发用到这个方法时,很可能 …
2015-06-02 00:00:00
译者:youngsterxyf
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated …
2015-05-20 00:00:00
原文:Fundamentals of concurrent programming
译者:youngsterxyf
本文是一篇并发编程方面的入门文章,以Go语言编写示例代码,内容涵盖:
2015-04-10 00:00:00
前两天突然发现:之前的阅读笔记对于Yii应用中如何自动加载自定义类的问题没有解释。这里的自定义类是指非Yii框架本身的类。
关于组件类的配置加载已在 Yii源码阅读笔记 - 组件集成 一文中做了 …
2015-03-22 00:00:00
以前读过 PHP - The Right Way 一文, 还翻译过其中的 The Baiscs 一节 (译文见 这里)。
前两周读了 Modern PHP - New Features and Good Practices 一书 (读书笔记见这里), 甚是不 …
2015-03-09 00:00:00
Yii框架为开发者提供两个静态方法进行日志记录:
Yii::log($message, $level, $category);
Yii::trace($message, $category);
两者的区别在于后者依赖于应用开启调试模式,即定义常量YII_DEBUG:
defined('YII_DEBUG') or define('YII_DEBUG', true);
Yii::log方法的调用需要指定message的level和category。category是格式为“xxx.yyy.zzz …
2014-12-31 00:00:00
混合(Hybrid)移动开发将Web开发与原生开发优势互补,之后应该是一个不错的方向。Phonegap是混合移动开发的一个方案, 开发者可以使用标准的Web技术进行开发,然后使用Phonegap打包成原生APP,也可以为Phonegap开发插件来扩展APP功能。 Cordova是Apache的顶级项目,起于Adobe贡献给Apache基金会的Phonegap源码,之后Phonegap官方貌似则专注于提供Phonegap应用的云构建服务 …
2014-12-08 00:00:00
注:该书的部分内容过时了点 - 比如Opcode缓存:PHP 5.5之后内置一个用于缓存Opcode的组件Opcache,无需额外使用APC组件。所以需要“批判”地阅读。
高清无码大图:戳这里
2014-11-20 00:00:00
Yii框架有个“模块(Module)”的概念,与“应用(Application)”类似,模块必须归属于一个父模块或者一个应用,模块不能单独部署,一个应用不一定要分 …
2014-11-19 00:00:00
从之前的文章Yii源码阅读笔记 - 路由解析 及Yii源码阅读笔记 - Model层实现可以看到Yii框架对于解析好的路由规则及数据表的schema都会根据条件尝试读写缓存 来提高 …
2014-11-18 00:00:00
通常我们会使用模板引擎来渲染HTML页面,而不是使用HTML代码中插入PHP代码的方式来编写动态页面。Yii框架中模板引擎也是作为组件引入的,默认ID为viewRenderer, 但从Yii源码阅读笔记 - 组件集成可以看到Yii Web应用加载的核心组件中并没有viewRenderer,所以需要自己配置。 Yii提供了一个直接可用的模板引擎组件类CPradoViewRenderer(见 …
2014-11-14 00:00:00
Yii中,对Model层的使用,有两种方式:
第1种方式的示例如下:
<?php
$connection = Yii::app()->db; // 或者Yii::app()->getComponent('db');
$queryResult = $connection->createCommand($sql)->queryRow();
第2种方式中编写的model类可能需要实现方法getDbConnection
、model
、tableName
。
在实现上,第2种方式是基于第1种方式的,即 …
2014-11-13 00:00:00
Yii框架将各种功能封装成组件,使用时按需配置加载,从而提高应用的性能。内置的组件又分为核心组件与非核心组件,核心组件是任何Web应用和Console应用都需要的。 此外,应 …
2014-11-12 00:00:00
Yii框架的路由解析功能由核心组件urlManager来完成。路由的形式有两种:
r=controllerID/actionID
/controllerID/actionID
默认使用get路由形式。由于Yii中controller类命名和action方法都是按照规则命名的,而路由也是按照规则 …
2014-11-04 00:00:00
对于Web框架,我认为其主要有三点作用:
2014-10-21 00:00:00
软件项目变更的管理和生存之道
个人对这个演讲的印象比较深。演讲者即是最近比较火的《Java程序员修炼之道》一书的作者 …
2014-10-14 00:00:00
原文:Centralized Logging Architecture
译者:youngsterxyf
在中心化日志记录一文中,我介绍了几个工具,用于解决中心化日志记录的问题。但这些工具一般仅能 …
2014-09-22 00:00:00
原文:phpmetrics of popular php projects
译者:youngsterxyf
之前我偶然发现一个名为phpmetrics的新工具,可用于计算及展示php的度量指标。我当时立马喜欢上了这个工具,并决 …
2014-09-06 00:00:00
前段时间的工作涉及产品开放API的设计与实现,整个过程大致可分为以下几个步骤:
2014-09-06 00:00:00
用户访问Web站点的过程是基于HTTP协议的,而HTTP协议的工作模式是:请求-响应,客户端发出访问请求,服务器端以资源数据响应请求。 也就是说,服务器端始终是被动的,即使服 …
2014-08-10 00:00:00
原文:Distributed systems theory for the distributed systems engineer
译者:youngsterxyf
Gwen Shapira,大腕级的解决方案架构师(SA),如今 Cloudera 的全职工程师,在 Twitter 上提的一个问题引起了我的 …
2014-06-26 00:00:00
find . -size 0 -exec rm {} \;
或 find . -size 0 | xargs rm -f
find默认会递归遍历所有子目录,如果想只在当前目录查找,可以添加参数-prune
。
2014-06-14 00:00:00
微信服务号的原理比较简单。从请求响应角度来看,逻辑是:
用户微信客户端 <---> 微信服务器 <---> 微信服务号后台程序 <---> 数据库 …
2014-05-03 00:00:00
原文:Optimizing NGINX and PHP-fpm for high traffic sites
译者:youngsterxyf
使用Nginx搭配PHP已有7年的这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置。
以下正是这方面的一些提示和建议:
UNIX域套接字相比TCP套接字在loopback接口上能提供更好的性能(更少的数据拷贝和上下文切换)。
但有 …
2014-04-28 00:00:00
这个博客是基于“Pelican + Markdown + 定制的my-gum主题”的。定制的主题将博文正文页面的 右边栏去掉,这导致在Firefox等浏览器中,正文中大的图片会突破正文块 …
2014-03-05 00:00:00
原文:Counting lines in Windows command prompt
译者:youngsterxyf
使用内置工具FIND统计cmd.exe输出的行数非常方便!
在命令行环境中工作时,能够统计不同工具的输出结果的行数有时会非常 …
2014-01-17 00:00:00
原文:Golang Http Handlers as Middleware
译者:youngsterxyf
大多数现代Web组件栈允许通过栈式/组件式中间件“过滤”请求,这样就能干净地从web应用中分离出横切关注点(译注:面向方面程序设计中的概念?)。 本 …
2014-01-17 00:00:00
原文:Why is a Goroutine's stack infinite?
译者:youngsterxyf
Go编程新手可能会偶然发现Go语言---与一个Goroutine可用栈空间大小相关---的一个古怪特性。这通常是由于程序员 无意间构造了一个无限递归函数调用而产生的。为了阐明 …
2014-01-16 00:00:00
原文:Go – taking slices of any type as input parameters
译者:youngsterxyf
最近参与的一个业余项目,go-linq,让我了解到Go语言的类型系统并不是为任何类面向 对象编程而设计的。没有泛型,没有类型继承 …
2013-12-03 00:00:00
之前在仓库作业机器监控系统项目中使用HighCharts的时间序列数据图来绘制机器CPU使用率、内存使用量、网络流量趋势变化图等,这些图在IE下却没有正常显示,IE也没有报错,按理说HighCharts的IE兼容性是较好的 …
2013-12-02 00:00:00
之前在Golang中如何让html/template不转义html标签、搭建高可用负载均衡组件及缓存DNS两篇文章中都提到为了方便使用HAProxy,我实现了一个简单的HAProxy负载均衡任务管理系统。前些天我把 …
2013-11-07 00:00:00
2013-11-01 00:00:00
使用easy_install或pip安装Python第三方库,默认的源地址是:https://pypi.python.org/simple/ 。使用该源有两个问题:
1. 国内访问速度较慢
2. 由于该源使用https协议,若机器上没有安装openssl或ssl配置不对 …
2013-11-01 00:00:00
近期在使用Golang的net/http和html/template开发一个简单的HAProxy负载均衡任务管理系统(见搭建高可用负载均衡组件及缓存DNS一文说明)。
htmp/template在渲染页面模板的时 …
2013-10-16 00:00:00
该项工作,如题所示,主要分为两部分:高可用负载均衡组件、缓存DNS。
需求:优化业务系统架构中某些关 …
2013-10-15 00:00:00
今年3月底毕业,入职腾讯做运营开发,至今6个月有余。入职之时组内仅有1个运营开发的同事,到目前已扩充到5人,加3个实习生。
入职之时的运营开发过程是这样的:
2013-10-14 00:00:00
今天写了点shell脚本,在一些CentOS服务器上进行了一些操作,涉及如下命令:
如统计haproxy进程的个数
ps -e | grep haproxy | wc -l
如获取haproxy进程的pid
ps -e | grep haproxy …
2013-10-12 00:00:00
之前工作中实现了一个对站点进行URL监控的功能。原理是:
cron脚本定时从一台Nginx服务器上获得Nginx配置文件(包括upstream配置),在解析配置得到:域名->upstream名
(可能有多个)、upstream名->属于该upstream的服务器ip列表
,存入数据库;
用户 …
2013-09-28 00:00:00
原文:Learning Git Internals by Example
译者:youngsterxyf
状态:草稿
计划修订本文,未来可能会简化一些...
从Subversion和Mercurial切换到Git之后的几个月,我始终觉得Git在本质上是不同于Subversion和Mercurial的,但没法确切地说出区别。 我 …
2013-06-29 00:00:00
译者:youngsterxyf
Python由Guido Van Rossum发明于90年代初期,是目前最流行的编程语言之一,因其语法的清晰简洁我爱上了Python,其代码基本上可以 说是 …
2013-06-24 00:00:00
原文:FTP is so 90's. Let's deploy via Git instead!
译者:youngsterxyf
首先,在你的服务器上创建一个目录,并在其中初始化一个空的git仓库。我喜欢使用~/www/
目录来 …
2013-06-01 00:00:00
原文: PHP Best Practices-A short, practical guide for common and confusing PHP tasks
译者:youngsterxyf
本文档最后审阅于2013年3月8日。最后修改于2013年5月8日。
由我,Alex Cabal,维护该文档 …
2013-04-27 00:00:00
MemcacheQ是一个MemcacheDB的变种,用来提供简单的消息队列服务。(注:MemcacheDB并不是一个数据缓存解决方案,而是一个为数据持久化设计的分布式的键-值对数据存储系统,采用memcache协议,以BerkeleyDB作为存储后端,主页)。
MemcacheQ依赖于BerkeleyDB和libevent …
2013-04-15 00:00:00
先从HTTP请求处理流程图来看看我们所需的PHP开发测试环境包含哪些组件。
从图中可以看出系统包含如下几种组件之间的交互:
2013-04-09 00:00:00
今天同事问我:是否有什么python库或工具能够将网页内容转换成图片格式的。他在做这方面的事情,还没有好的方法,因为觉得我对python比较熟悉,所以问一下。
但是我从一开始我就犯 …
2013-03-30 00:00:00
原文:argparse – Command line option and argument parsing
译者:youngsterxyf
argparse模块作为optparse的一个替代被添加到Python2.7。argparse的实现支持一些不易于添加到optparse以及要求向后不兼容API变化的特性,因此以一个新模块添加到标准库。
argparse的API类似于optparse,甚至在很多情况下通过更新所使用的类名 …
2013-03-27 00:00:00
原文:What Powers Instagram: Hundreds of Instances, Dozens of Technologies
该文从多个方面介绍Instagram整个系统栈(stack)的组成,罗列所使用的组件。我觉得重要的不是用了哪些组件和工具 …
2013-03-25 00:00:00
原文:learning JavaScript - my experience and advice
译者:youngsterxyf
自从我曾几次提到自己在刚过去的几个月中学习了JavaScript,很多人就发email给我询问我是如何学习JavaScript的以及推荐如何学习。以下就是我的经验和最 …
2013-03-17 00:00:00
以前在遇到这个问题时,都是偷懒使用sudo apt-get install python-lxml
(Debian系的Linux发行版)直接安装已打包好的deb包。但一方面这样安装的不是最新的库,另一方面 …
2013-03-14 00:00:00
JavaScript提供两种注释形式,一种是用/* */
包围的注释块,另一种是以//
为开头的行注释。
建议避免使用/* */
,而用//
注释代替它。
标识符由一个字母开头 …
2013-03-11 00:00:00
原文:24 JavaScript Best Practices for Beginners
译者:youngsterxyf
(注:阅读原文的时候没有注意发布日期,觉得不错就翻译了,翻译到JSON.parse那一节觉得有点不对路才发现是2009年发布的文章,不过还是不错的啦。另外 …
2013-03-08 00:00:00
原文:PHP: The Right Way - The Basics
译者:youngsterxyf
比较操作符往往是PHP的一个被忽视的方面,这会导致很多意想不到的结果。其中的一个问题源于严格比 …
2013-02-27 00:00:00
原文:A introduction to compression
译者:youngsterxyf
最近我在思考GIF和JPEG图片格式之间的不同:为什么某些图片存储为GIF格式所占的磁盘空间更大,而另一些图片以JPEG格式存储要占用更大的磁盘空间?事实证明,这是因为不同的图片格式 …
2013-02-27 00:00:00
原文:Inheritance and the prototype chain
译者:youngsterxyf
对于具备基于类的编程语言(如Java或C++)经验的程序员来说,JavaScript有点混乱,因为它是一种动态语言,并且不提供class
的 …
2013-01-26 00:00:00
译者:youngsterxyf
每次使用Python的格式字符串(string formatter),2.7及以上版本的,我都会犯错,并且有生之年,我想我都理解不了它们的文档。我非常习惯于更老的 …
2013-01-25 00:00:00
译者:youngsterxyf
文章,教程和讲座(Articles, Tutorials and Talks)
使用Python Hacking超级马里奥(Hacking Super Mario Bros. With Python)
This post shows how you can use matplotlib's animation tool to create animated gifs based on Super Mario Bros …
2013-01-18 00:00:00
过去的一年里发生了很多事情,很大一部分原来就已在2011年终-回顾与展望一文中提及---实习、找工作、毕业,除此之外还有:我和女朋友定亲了 …
2013-01-16 00:00:00
原文:Scalable Web Architecture and Distributed Systems
译者:youngsterxyf
开源软件已成为一些最大型网站的基础组件。并且随着那些网站的发展,围绕它们的架构出现 …
2013-01-15 00:00:00
原文: A Carefully Selected List of Recommended Tools
译者:youngsterxyf
当我和很多人谈论我们的工作时,经常被问到我们使用什么技术实现交互式和动态的数据 …
2013-01-08 00:00:00
今天为本博客提交更新后,github pages自动构建始终不成功。原以为是新提交中引入了错误,于是按照Git操作:强制删除提交到远程版本库的数据与版本记 …
2013-01-08 00:00:00
今天因为某些尚不明了的问题导致,博客的Git pages始终构建失败,于是想在远程版本库中删除前几次提交。在该网页上找到了解决方案:
git …
2013-01-04 00:00:00
原文:Decorators and Functional Python
译者:youngsterxyf
装饰器是Python的一大特色。除了在语言中的原本用处,还帮助我们以一种有趣的方式(函数式)进行思考。
我打算自底 …
2013-01-04 00:00:00
原文: Python: The Dictionary Playbook
译者: youngsterxyf
我经常碰到关于Python中字典的各种样板代码,因此我决定在此展示一些,并分享完成相同操作的更加简洁的方式。
上演: 字典剧 …
2013-01-04 00:00:00
译者:youngsterxyf
使用Python内置的defaultdict可以轻松定义一棵树:
def tree(): return defaultdict(tree)
就这样!
这段代码简单地说明一棵树是一个字典,其缺省 …
2012-12-12 00:00:00
1. Debian系Linux下查找某个软件包(以indent为例):
apt-cache search indent | awk '{if($1~/^indent$/) print $0}'
APT包管理工具也提供了类似功能的命令选项:
apt-cache pkgnames 'indent'
只不过这个输出仅有包名没有简介信息。
2. 对当前目录下的所有C源码文件使用indent进行格式化:
ls | grep '\.c$' | xargs indent …
2012-12-11 00:00:00
1. 每个客户连接在服务器进程中都拥有自己的线程,每个连接所属的查询都会在指定的某个单独线程中完成,这些线 …
2012-12-10 00:00:00
Web开发中很多时候需要边看web服务器的日志输出边调试代码。一般的做法使用tail命令输出日志文件的末尾几行日志信息。
tail -10 /var/log/nginx/access.log # 输出末尾10行
但这样的输出是静态的。在这个命令执行之后,日志文件里新增的日志 …
2012-12-06 00:00:00
一面中主要有三道题:
1. 实现strcpy。函数原型:char strcpy(char dest, const char* src)。
后来发现自己实现的有问题。正确的实现应该如下:
char* strcpy(char* dest, const …
2012-12-06 00:00:00
Linux命令行里如何获取所有的进程号(pid)?
1. 第一种方法是通过ps -e或者ps aux获得所有进程的信息,然后通过管道传给grep或者awk进行数据过滤,比如
ps -e | awk '{print $1}'
2. 其实通过ps自身的选项就可以实现:
ps -eo pid
而且输出还是排好序的。
但 …
2012-12-05 00:00:00
比如:对于树
A / B / \ C D / \ E F
结点D,F的最近公共祖先为B
实现:见源码
比如:对于整 …
2012-11-29 00:00:00
现实中,服务器可能会因为各种原因而crash掉,从而造成数据丢失或者服务的暂时不可用。为了提高服务的可用性以及数据的 …
2012-11-29 00:00:00
原文:http://goaccess.prosoftcorp.com/man
翻译:youngsterxyf
goaccess - 快速的web日志分析器与交互式查看器
goaccess [-f 输入文件] [-c] [-e] [-a]
goaccess是一个实时的web日志分析器,以及交互式查看器,在类Unix系统的终端(terminal)上运行,是一个基 …
2012-11-22 00:00:00
我们都知道圆周率pi的值是3.141592653...,那么这个值是怎么算出来的呢?一种方式是通过某种方式算出圆的面积或者周长,然后根据公式 …
2012-11-20 00:00:00
我叫夏永锋,目前是一名上海交大的硕士研究生,将于2013年3月毕业。现在作为一名web开发实习生在Google CSR部门实习。实习的工作内容主要包括:开发维护 …
2012-11-20 00:00:00
F(n)的值是多少?
常规算法:根据Fabonacci的定义,递归求值。时间复杂度$ O(2^n) $
def fibobacci(n):
return n>=2 and fibonacci(n-2) + fibonacci(n-1) or n
迭代:利 …
2012-07-30 00:00:00
原文: A primer on Python decorators
翻译: youngsterxyf
Python允许你,作为程序员,使用函数完成一些很酷的事情。在Python中,函数是一等对象(first-class object),这就意味着你可以像使 …
2012-07-30 00:00:00
译者: youngsterxyf
Python FAQ的一部分
我只会PHP,那该怎么用Python来编写一个Web应用呢?
这是一个相当复杂的问题,甚至很容易就能写一本书来探讨Web开发与Python …
2012-05-10 00:00:00
1. 安装必要的软件
sudo apt-get install nginx php5-cli php5-cgi spawn-fcgi psmisc mysql-server \
mysql-client php5-mysql memcached php5-memcache php5-curl php5-gd
2. 打开浏览器访问: 127.0.0.1。就能看到表示nginx安装成功的页面。但这时访问php文件页面还不行。 (注:ngnix的配置文件目录为 …
2012-04-26 00:00:00
原文: Python object creation sequence
译者: youngsterxyf
[本文讨论的Python版本为3.x]
本文旨在探究Python中新对象的创建过程。正如我在前一篇文章中所解释的,对象的创建只是调用可调用对 …
2012-04-20 00:00:00
同学找实习,遇到这样一道笔试题:
int *a[2][3];
sizeof(a) = ?
sizeof(*a) = ?
sizeof(**a) = ?
sizeof(***a) = ?
这题还是有点小意思的。遇到这种题,脑子一定要清楚,注意 …
2012-02-21 00:00:00
相比C,C++,JAVA等编程语言,Python是易学的。但要想深入地理解Python,并熟练地编写Python风格的Python代码。我想还是有一长段路程要走的。下面即是我的一点经验总结,主要是 …
2012-02-15 00:00:00
For each of the outputs listed below, find one sequence of commands connected by pipes that produces the output. For each problem, turn in the command sequence that you used to generate the requested output. (Do NOT turn in the output itself.)
1. A listing of all processes that you …
2011-12-23 00:00:00
语法
ls [ options ] [ file(s) ]
用途
列出文件目录的内容
主要选项
-1 : 数字1.强制为单栏输出。在交互式模式下,ls一般会以适于当前窗口的最小宽度,使用多个列
-a : 显示 …
2011-12-23 00:00:00
从http://www.iplaysoft.com/consolas.html下载Consolas字体。
然后
sudo mkdir -p /usr/share/fonts/yahei
sudo cp YaHei.Consolas.1.11b.ttf /usr/share/fonts/yahei/
改变权限:
sudo chmod 644 /usr/share/fonts/yahei/YaHei.Consolas.1.11b.ttf
安装:
cd /usr …
2011-12-22 00:00:00
在系统内部,UNIX是以一个小的整数数字,称为文件描述符(file descriptors),表示每个进程打开的文件。数字由零开始,至多到系统定义的打开文件数目的限制。传 …
2011-12-22 00:00:00
一般来说,执行文本替换的正确程序应该是sed --- 流编辑器(Stream Editor)。sed的设计就是用来以批处理的方式而不是交互的方式来编辑文件。当你知道要做好几个变更 --- 不管是对一个还是数个文 …
2011-12-22 00:00:00
就像awk,cut与join一样,sort将输入看作具有多条记录的数据流,而记录是由可变宽度的字段组成,记录是以换行符作为定界符,字段的定界符则是空白字符或是用户指 …
2011-12-09 00:00:00
软件工具的原则
一次做好一件事
处理文本行,不要处理二进制数据
使用正则表达式:正则表达式(regular expression)是 …
2011-12-07 00:00:00
在Linux下如果希望某个任务定时地执行,一般是使用cron服务器,将任务添加到cron任务列表中。
/etc/init.d/cron start
/etc/init.d/cron stop
/etc/init.d/cron restart
注:archlinux下为/etc/rc.d/crond …
2011-12-07 00:00:00
Linux中很多命令需要使用超级用户权限,在这些命令前添加sudo然后直接执行是很方便的。
那么就先要将自己的用户名添加到sudoers中: