`
utensil
  • 浏览: 152517 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
博客搬家至    http://utensil.github.io/tech/   本博客不再更新维护。
一直不喜欢Java,进公司却立刻要接手Java的项目,别扭归别扭,但一直知道Eclipse给Java打造了很好的编程体验,做Java程序员,会被Eclipse照顾得很好:从模板到自动完成,从quick-fix到代码间超链接跳跃,从代码自动生成到自动重构...   不过它离完全适合于我的舒适还有一段距离,所以我一边善其事一边利器,在这里把自己的打造过程和大家分享:   我喜欢黑底的配色方案,需要各种语法成分能够以不同的颜色相去分。我不想在白花花既不省电又伤眼睛的背景上看一整片颜色单调的代码。我喜欢圆润等宽的字体(比如TextMate的Monaco),也喜欢字体大些不必费眼。   于是: ...
Utensil按: 此文是我在renny的博客实习回来,说说心理话 的回复,讲了个人对文档与团队的一点粗浅理解。现在放到自己的博客里来存个照。   文档   关于文档的重要性,我说一个自己的经历: 之前为某外国开源类库写一个实用工具,有两个core developer review,往来都是e-mail沟通,但基本上是一个人写的,但在核心功能实现之后,我由于时间原因不得不搁置下来,我最后就用Doxygen给软件 写了非常详尽的文档,说明了设计思路、可扩展的开发接口、存在的问题以及TODO等等。我搁置很久之后,那个对我工作了解的最少的core developer轻松地接手了维护。 ...
  Utensil按:这应该是最实用,最接近日常编程的一章了。   同步机制用于避免对共享数据的不安全访问而导致的数据崩溃。下面按从轻到重讲述内核同步机制。   最好的同步   同步是一件烦人、容易出错,最重要的是拖 ...
2009.6.18更新:参考http://linux.derkeiler.com/Mailing-Lists/Kernel/2004-03/4562.html ,查证LXR,重新诠释PREEMPT_ACTIVE标志。   中断信号分类   中断信号是一个统称,统称那些改变CPU指令执行序列的事件。但它又分为两种:   一种是同步的 ...
Utensil按:   最后的几篇Linux内核笔记实在是太难产了,这中途读完了APUE,并以JavaEye闲聊的形式做了无数细小的笔记(不日将整理为博客);也第3次(还是第4次?)阅读了《ACE程序员指南》,不过这一次终于做下了笔记;也看完了Programming Erlang,用Erlang来写基于UDP的TCP的ErlyUbt已经渐渐现出眉目,也已push到了GitHub上面。可惜就是这段时间的该做的正事却没什么进展...   《Understanding Linux Kernel》在18号必须还给图书馆了...在这两天电脑坏了的日子里,第3次读了即将做笔记的中断与异常、内核同步、 ...
Utensil按: 此文转自CSDN文档中心,作者是Elminste。看了这篇文章才知道,之前我称之为“像栈一样令人放心的析构函数”并非常喜爱的C++特性,原来名为RAII(资源获取即初始化, Resource Acquisition Is Initialization),而且发现原来它 ...
在看Linux内核的时候发现,CPU自己认得(或者说is expecting)很多struct,很多时候内核要做的事情是在内存里准备好这些struct里CPU需要的数据,以供CPU完成相应的任务。比如寻址中的paging部分,内核只需要把page directory中的数据准 ...
终于挣脱了《Understanding the Linux Kernel》的Process一章。中文版的翻译低级错误太多,所以只好继续看影印版。   简介部分,除了通常我们对Process的认识,Linux中值得一提的是:笨重的不分青红皂白把父进程整个地址空间都复制过来的fork()采用了传说中的Copy-on-Write技术;还有就是2.6启用了lightweight process来支持native的thread。从前是模拟pthread实现,现在的native thread有了LinuxThreads, Native POSIX Thread Library(NPTL)和IBM's N ...
更新:终于成功弄到显示行号并自适应宽度了~   wxRuby最好玩的地方是它对wxWidgets多加了一层糖衣的语法。   安装了   gem install wxruby   之后,还要安装   gem install wx_sugar   这样子,我们不仅具有了一些:param_name => value这样的糖衣,可以使用attr_*族来暴露实例变量,还有了用do...end块来做layout和菜单的能力,比较爽的一点还有用block来处理事件。   简单讲解一下怎么使用:param_name => value这样的糖衣:比如wxRuby中某函数f( ...
很久之前,我和Swalky在写Huffman Tree压缩的时候,遇到了一个问题:我们想在一个已经写入了一些内容的文件中部(或头部)写一些内容(用于修改文件的一些meta信息),结果发现总是 不行。如果用ofstream的默认构造函数,文件原有内容就不会保留下来,如果用了ios::app,无论怎么用seekp来定位,所写的内容都会跟在 文件原有内容的最后面。怎么办呢? 本着RTFM的心态,他去看C++ Primer,我则去看TCPL,以及网上的C++ Reference( http://www.cplusplus.com/reference/ ): mode Flags descr ...
《代码之美》一书的简单笔记。附件是网上搜索来的《代码之美》英文版电子书。   章 简述 所用语言 备注 推荐程度 推荐类型 1 正则表达式的迷你实现 C 锻炼写一组条件判断 ++ 算法 2
4月14日   很多硬件的功能,物尽其用却未必好过软实现,Linux出于可移植性及其它原因,常常选择不去过分使用硬件特性。 比如 Linux只使用四个segment,分别是__USER_CS、__USER_DS、__KERNEL_CS、__KERNEL_DS,因为Paging可以完成segmentation的工作,而且可以完成的更好。而且这样简化了很多,统一了逻辑地址和线性地址。 而TSS存在每CPU一个的GDT中,虽然每个process的TSS不同,但Linux 2.6却不利用其中的hardware context switch(虽然低版本使用)以一个far jmp来实现任务转换,而用 ...
实在再也忍受不了CSDN奇慢无比的访问速度了。一个总是写不上去的博客就已经够扫兴了,偏偏它还不断喜欢调整编辑器和CSS,不断的使我的博客走形的越来越厉害,无论怎么修复都不行。最近它终于切换到我最喜欢的TinyMCE编辑器,可是居然懒惰到了甚至不修改例子中的按钮排布的地步,害得我总得在自己本地的TinyMCE上写好了才往上贴,可是三天都发不上去一个帖子,我实在没有这样的耐性。而且JavaEye的自动保存草稿,多么贴心!至于CSDN那边的技术博客 ,我甚至不知道能不能发上去一个搬家公告。   终于可以摆脱.net写的CSDN了,更深入地感受一个优秀的Rails网站吧。   爱c++,爱Ru ...
走过了弯路,看过了那些粗制滥造、过时、或者至少不够有深度的书之后,才知道:Ruby for Rails+The Ruby Programming Language+Agile Web Development with Rails+RailsCast这一个套装,才是学习Ruby on Rails最快最好的途径。其中RailsCast是免费的视频,目前已有152集。它的最大价值是让你直观地感觉到Rails中隐藏的力量。如果你整个 系列走下来,当你遇到一个问题时,你知道在Rails中大约可以以什么方式做到。当你心中有了明确的方向,只需要手持API Reference Manual,就可以解决 ...
Global site tag (gtag.js) - Google Analytics