编程技术
文章平均质量分 52
zedware
https://zedware.github.io
展开
-
The C Programming Language
The C Programming Languagehttps://zedware.github.io/homepagehttps://zedware.github.io/homepage/code/tcpl/index.html原创 2021-09-02 19:20:14 · 213 阅读 · 0 评论 -
有关系统性能优化的一点思考
系统性能优化的目标就是“更高,更快,更强”。系统性能优化是每个工程师都可能遇到的问题。这个问题非常容易理解,所以不管是技术人员还是非技术人员都可以就此谈谈自己的见解。系统性能指标通常都可以转换为一个数字,例如:高铁的平均时速为380公里/小时,GDP增速要超过10%,IOPS要达原创 2011-08-07 17:30:12 · 22644 阅读 · 1 评论 -
State Machine and Event Processing
列了个提纲,一直没有写完。1. Introduction1.1 What's State Machine1.2 What's Event Processing2. Implementation of State Machine1.1 C style switch/case1.2 GoF Design Pattern GoF's book.1.3 State原创 2012-02-11 20:54:59 · 23494 阅读 · 0 评论 -
有关Splay Tree的一点感想
Splay Tree是一种有趣的Binary Search Tree。Wikipedia说它的缺点为:Perhaps the most significant disadvantage of splay trees is that the height of a splay tree can be linear. For example, this will be the case a原创 2012-02-12 22:03:23 · 23646 阅读 · 0 评论 -
How Do Fixes Become Bugs
软件工程的名声可以说一直不太好,理论和实际脱节的比较厉害。不过这篇文章应该有一定的指导意义。如果真有个开源的工具来改进无穷的Bugfix,应该可以较大的提高开发团队的成产效率。ABSTRACTSoftware bugs affect system reliability. When a bug is ex-posed in the field, developers need to fix原创 2012-02-16 22:22:31 · 23464 阅读 · 0 评论 -
Linux load average explained
不知道从哪里找到了这个哥们写的文章,挖掘得很深入也很有趣。还记得各种平均值以及各种预测方法吗?http://www.perfdynamics.com/Papers/la1.pdf http://www.perfdynamics.com/Papers/la2.pdf http://www.perfdynamics.com/CMG/CMGslides4up.pdf转载 2012-12-25 22:29:03 · 23098 阅读 · 0 评论 -
回顾一下这些年用过的编程语言
从读书到工作,每个程序员都应该学过、用过各种各样的编程语言。我估计很多人像我一样,大多数语言都是学过就忘掉了,也没有拿它们做过什么实际的项目或产品。闲着没事就来总结一下用过的各种语言,看看到底还剩下哪些是在用的。 BASIC - 学习的第一门语言。现在仅记得最基本的几个语句,也实在想不起来什么时候用过它了。 LOGO - 第二门语言,似乎除了画画书上的例子,原创 2013-01-02 22:46:22 · 23616 阅读 · 0 评论 -
Understanding C/C++ Strict Aliasing
编译器中有很多奇奇怪怪的优化开关,有时还真需要把它们搞明白。这里就是个例子以及详尽的解释:http://dbp-consulting.com/StrictAliasing.pdf转载 2014-01-29 13:46:50 · 23250 阅读 · 0 评论 -
The Lost Art of C Structure Packing - Eric S. Raymond
在最近一期的程序猿杂志上看到了这个的翻译版本。想起了以前干过类似的事情,借助pahole可以更好的分析较大的程序。Copy & paste一下。。。The Lost Art of C Structure PackingEric S. Raymondesr@thyrsus.com>Table of Contents1. Who sh转载 2014-02-09 19:37:25 · 23648 阅读 · 0 评论 -
GCC, LLVM, and compiler plugins
Not logged inLog in nowCreate an accountSubscribe to LWNWeekly EditionReturn to the Front pageRecent FeaturesLWN.net Weekly Edition for February 27, 2014Lawrence Lessig on Ea转载 2014-03-01 15:09:46 · 25022 阅读 · 0 评论 -
8 gdb tricks you should know
如果你整天看coredump或者抓bug,对这些应该已经很熟悉了。8 gdb tricks you should knowBy Ksplice Post Importer on Jan 24, 2011Despite its age, gdb remains an amazingly versatile and flexible tool, andmastering it转载 2014-03-02 20:34:55 · 23428 阅读 · 0 评论 -
Lock ordering (Linus Torvalds)
撞到这么一个文章,Copy and paste:Index Home About BlogFrom: Linus Torvalds Newsgroups: fa.linux.kernelSubject: Re: [RFC][PATCH 7/7] lockdep: spin_lock_nest_lock()Date: Wed, 08 Oct 2008 15:转载 2014-03-02 20:13:33 · 23364 阅读 · 0 评论 -
Different ways to get the symbol name and ...
万一你拿到callstack的是一堆的地址,不用担心,只要你有符号信息,就可以用这些命令恢复出熟悉的样子了。$ addr2line -e foo.gdb -f -s -C 0x1023456Ifoo::compare(unsigned long long)foo.cxx:648(gdb) l *0x10234560x1023456 is in Ifoo::compa原创 2014-03-02 20:44:50 · 23467 阅读 · 0 评论 -
[朝花夕拾]在SourceInsight中集成版本管理工具
在SourceInsight中集成版本管理工具 SourceInsight是一个功能强大的源码阅读和编辑工具,它也支持用户自定义的命令。我们可以选取主菜单中的“View”->“Toolbars”中的“Source Control”和“Build”以便显示版本管理和构建工具栏。 这两个工具栏所对应的命令都是可以定制的,更多的定制命令可以在“Options”->“Custo原创 2014-03-04 21:54:06 · 25141 阅读 · 0 评论 -
我的Vim为什么不变色了
今天虽然是愚人节,也得写点有用的东西,不能忽悠大家当April fool。最近用的机器有点多,换来换去的,发现有个机器的Vim竟然不会变色了。试了几次,发现了一个细节的区别:这台机器的vim的可执行文件名是vi,不是vim,而且它不是个符号链接。以下是详细的过程:$ vi --version | grep syntax-ex_extra -mouse_jsbterm原创 2014-04-01 22:10:41 · 26303 阅读 · 1 评论 -
优雅的cancel一个pthread线程
这是一个基本的问题。仔细看看man pages,应该就可以理解其中的道理。不过我看到的几个man pages的详略程度有所不同。关键的函数是pthread_cleanup_push()和pthread_cleanup_pop()以及由此衍生出来的xxx_np(不可移植版本)。更详细的信息可以参考NPTL的代码:http://code.metager.de/source/xref/gnu/gli原创 2014-03-26 21:59:55 · 23360 阅读 · 0 评论 -
MySQL的词法分析漫谈
这个链接上有点介绍,可以了解个大概:http://blog.imaginea.com/mysql-query-parsing/ 关键点:1. SQL解析包括语法分析器和词法分析器。 简便的做法是用bison/flex组合。不过MySQL的词法分析器是手工打造的。 语法分析器的入口函数是MYSQLparse,词法分析器的入口函数是MYSQLlex。2. 词法分析中原创 2014-06-11 18:28:07 · 24700 阅读 · 1 评论 -
可移植性真的很重要:on shell and tr
道理很简单,但是不小心造成的麻烦会很大!关键词:shell, tr, regexp, [A-Z] vs. '[A-Z]'原创 2011-04-09 10:45:00 · 24047 阅读 · 0 评论 -
DLL hell again - this time on Linux
Yum坏掉了 以及 Linux下的DLL冲突原创 2011-02-16 21:50:00 · 23597 阅读 · 0 评论 -
Snapshots: The alternative backup
Snapshots: The alternative backupThere is no free lunch.原创 2011-01-27 21:26:00 · 23446 阅读 · 0 评论 -
表达式的求值顺序
在C等高级语言中,对表达式求值时一般都有一套较为固定的规则。例如按照从左到右的顺序求值,如果算到某处可以得出结果就忽略后续的表达式(Short Circuit)。举个例子: x = 1;if (x != 0 && foo()) 先计算 x != 0,无法得出整个表达式的结果,此时还得计算 foo(),将两个结果&&起来才能得到最终结果。但是: x = 1;原创 2010-03-11 21:39:00 · 23495 阅读 · 0 评论 -
有趣的文章:Will Intel be forced to remove the "cripple AMD" function from their compiler?
From www.agner.org.Agner`s CPU blog Software optimization resources | E-mail subscription to this blog | www.agner.org Threaded ViewSearchListList Messageboards<a class="nav1" ti转载 2010-01-07 01:15:00 · 24013 阅读 · 0 评论 -
应用内核补丁而不用重启 - 梦想可以在某些时候成真了吗?
这事有点难。它似乎是管理员们的梦想,特别是提供主机托管服务的管理员们的梦想。 http://en.wikipedia.org/wiki/Ksplicehttp://www.ksplice.com/原创 2010-05-03 23:34:00 · 23417 阅读 · 0 评论 -
A short puzzle about heap expansion
https://blogs.msdn.com/oldnewthing/archive/2010/04/29/10004218.aspx 很有借鉴意义。很多系统中都需要自己根据实际需要实现一个内存管理器。有时也就会碰到文中说的问题。转载 2010-04-30 23:10:00 · 23241 阅读 · 1 评论 -
最近遇到的几个有趣的工具
bit.ly, dsniff, cutter, expect, AutoHotkey原创 2010-07-01 22:13:00 · 22498 阅读 · 1 评论 -
进程之间的互操作
两个进程之间如果要做点什么交互的话,总得通过一些机制来实现;这就像我们两个人之间要沟通,总得通过语言、文字等各种机制来实现一样。如果两个进程都在一台机器上,交互的机制就显得稍微多一点,例如可以用shared memory、message queue、file、pipe、socket等各种技术。如果两个进程不在同一台机器上,可以的选择显得稍微少一点,但是还可以用pipe、socket等原创 2010-05-13 21:11:00 · 23702 阅读 · 2 评论 -
Distributed SCM - Mercurial
Introduction: from http://hginit.com/:Hg Init: a Mercurial tutorialMercurial is a modern, open source, distributed version control system, and a compelling upgrade from older systems like Subver原创 2010-05-30 22:26:00 · 22619 阅读 · 2 评论 -
gnuplot是个不错的东西
gnuplot原创 2010-08-05 23:07:00 · 23332 阅读 · 0 评论 -
Again, Notes on Alignment
Again, Notes on Alignment原创 2010-08-27 19:29:00 · 23291 阅读 · 0 评论 -
heap mgmt and multi-threaded.
heap mgmt and multi-threaded.原创 2010-09-05 22:46:00 · 23199 阅读 · 0 评论 -
千兆光纤GBIC和SFP技术规格介绍
千兆光纤GBIC和SFP技术规格介绍转载 2010-09-20 13:26:00 · 23438 阅读 · 0 评论 -
Quick reference for Fedora Core 13's installation on VMware 6.5
Quick reference for Fedora Core 13's installation on VMware 6.5原创 2010-09-21 16:40:00 · 23311 阅读 · 0 评论 -
The Trouble With Multicore
The Trouble With Multicore转载 2010-10-09 18:11:00 · 23316 阅读 · 0 评论 -
Update Fedora Core from 13 to 14.
<br />It is simple: visit Fedora project's home page.原创 2011-01-01 18:26:00 · 23386 阅读 · 0 评论 -
Type 5 JDBC - 大家总喜欢弄出些新的名词
Type 5 JDBC原创 2010-11-20 18:28:00 · 23487 阅读 · 0 评论 -
Build distcc from source code
Build distcc from source code.原创 2011-01-19 18:12:00 · 23869 阅读 · 0 评论 -
Improving Putty settings on Windows
<br />PuTTY and PuTTY Connection Manager are two useful tools on Windows.<br />It is a pity that PuTTY's settings are not so clear to new comers. And<br />PuTTY's default settings have some shortcomings, e.g. it can't display <br />Blue color clearly. I th转载 2011-01-20 23:50:00 · 23277 阅读 · 0 评论 -
折腾:一个小破ASP程序也能浪费不少时间
弄了个学生作业性质的ASP小程序来试试,谁知道麻烦不断。1. 在网上闲逛,搜来一个作业一样的ASP小程序;2. 解压看了看,一共没有几个ASP文件,加上一个几个表的小Access数据库;3. 发现Windows XP上没有装IIS,于是装上;4. 在IIS中部署上这个小网站;5. 在IE8中去访问以下,OK;可是表单中填写的数据就是不能被Request捕获到,没搞明白,待查;原创 2010-02-04 00:23:00 · 24252 阅读 · 0 评论