<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dean_yanqing的专栏]]></title><description><![CDATA[人无远虑,必有近忧]]></description><link>https://blog.youkuaiyun.com/dean_yanqing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dean_yanqing]]></copyright><item><title><![CDATA[解决git gnutls_handshake失败]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/30239405</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/30239405</guid><author>dean_yanqing</author><pubDate>Thu, 12 Jun 2014 13:04:09 +0800</pubDate><description><![CDATA[http://askubuntu.com/questions/186847/error-gnutls-handshake-falied-when-connecting-to-https-servers]]></description><category></category></item><item><title><![CDATA[delete指针时coredump的分析之旅]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/8150166</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/8150166</guid><author>dean_yanqing</author><pubDate>Mon, 05 Nov 2012 20:15:52 +0800</pubDate><description><![CDATA[很诡异，竟然在delete 指针时候crash,这个很少见~~~分析这个问题费了不少周折，记录在此。如能帮助到他人，不胜开心。
    拿到的运行时候堆栈包含如下部分：
.......
Back chain word     : 183831f8
        b930a150  [1003a150],CXC1734416%2_R1E       ??:0  heap_free]]></description><category></category></item><item><title><![CDATA[gdb 技巧]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/8115474</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/8115474</guid><author>dean_yanqing</author><pubDate>Fri, 26 Oct 2012 15:02:09 +0800</pubDate><description><![CDATA[将gdb调试时候的输出写入指定文件，以方便调试结束后分析

set logging file mylog.txt
set logging on]]></description><category></category></item><item><title><![CDATA[系统调用和库函数的区别]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/8108563</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/8108563</guid><author>dean_yanqing</author><pubDate>Wed, 24 Oct 2012 20:25:44 +0800</pubDate><description><![CDATA[系统调用（system call)和库函数（library function)的区别小结：
   通俗的讲，内核（kernel)提供的接口称为系统调用（system call)，函数库建立在系统调用之上。
     system call执行于内核空间，library function执行于进程空间
     system call会出发从内核态到用户态的迁移
     library f]]></description><category></category></item><item><title><![CDATA[为什么程序退出前还要释放动态申请的内存资源]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/8082842</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/8082842</guid><author>dean_yanqing</author><pubDate>Wed, 17 Oct 2012 20:49:33 +0800</pubDate><description><![CDATA[原文见：http://programmers.stackexchange.com/questions/140483/is-it-a-waste-of-time-to-free-resources-before-i-exit-a-process
  既然OS会在程序退出后清理资源，为什么还需要程序员在程序退出前一个个的释放资源？是不是没有必要？还是OS的释放还有不一样的行为？
  作者强调这只是]]></description><category></category></item><item><title><![CDATA[Linux内存点滴 用户进程内存空间]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/8082776</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/8082776</guid><author>dean_yanqing</author><pubDate>Wed, 17 Oct 2012 19:39:13 +0800</pubDate><description><![CDATA[原文出处：http://www.perfgeeks.com/?p=770

经常使用top命令了解进程信息，其中包括内存方面的信息。命令top帮助文档是这么解释各个字段的。
VIRT , Virtual Image (kb)
RES, Resident size (kb)
SHR, Shared Mem size (kb)
%MEM, Memory usage(kb)
SWAP, S]]></description><category></category></item><item><title><![CDATA[unix IPC 应知应会]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/8074649</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/8074649</guid><author>dean_yanqing</author><pubDate>Tue, 16 Oct 2012 20:07:45 +0800</pubDate><description><![CDATA[IPC(Inter-process communication)是多线程或者多进程交换数据的一组方法。IPC可以分为  message passing, synchronization, shared memory 和 RPC主要的IPC包括：方法系统File文件 Socket Signal Message Queue消息队列 Pipe管道 Named Pipe Semaphore Message]]></description><category></category></item><item><title><![CDATA[啥是内核空间和用户空间]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/8074754</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/8074754</guid><author>dean_yanqing</author><pubDate>Mon, 15 Oct 2012 21:47:21 +0800</pubDate><description><![CDATA[在linux开发也不少时间了，一直在做应用开发。从来没有接触过内核，突然想起内核空间和用户空间有什么区别？有什么联系？自己是不清楚，google并记录之。
  为什么区分内核空间和用户空间？
      内存访问分级，严格限制用户程序的行为，避免用户程序破坏内存数据，从而影响其他用户程序甚至内核。
      内核可以访问整个存储空间，不受限制。
  用户空间-》内核空间
     系统]]></description><category></category></item><item><title><![CDATA[Erlang:如何动态切换多个版本的Module/Application]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/7539590</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/7539590</guid><author>dean_yanqing</author><pubDate>Sun, 06 May 2012 15:59:04 +0800</pubDate><description><![CDATA[问题：
           需要在系统中动态加载不同版本的Application，主要是接口的变化
   开始的方案：
         1 切换clearcase中的view,从而选取不同的版本
         2 把这个App脱离clearcase的控制，不同版本用不同目录做区分
   可行性分析阶段：
         第一种方案很快被放弃，单用户情况下很好切换view,但是]]></description><category></category></item><item><title><![CDATA[Erlang tip累积]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/7538013</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/7538013</guid><author>dean_yanqing</author><pubDate>Sat, 05 May 2012 18:42:59 +0800</pubDate><description><![CDATA[1、erl -detached
  文档中说明daemons 和后台程序时适用，需要在代码中动态拉起node时同样适用，否则会收到terminate erlang 的问题
2 init stop
   可以终止VM，结合rpc:call可结束指定node
3 代码中控制common test
   ct:install 指定config文件，ct:start_interactive()，]]></description><category></category></item><item><title><![CDATA[国内知名大型互联网公司，招聘职位汇总！]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/7326760</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/7326760</guid><author>dean_yanqing</author><pubDate>Tue, 06 Mar 2012 22:13:23 +0800</pubDate><description><![CDATA[请将简历发往chilli8811@hotmail.com      QQ:1668783332
Linux内核测试工程师(深圳、北京) 30-50w
所属部门:网络平台部
招聘人数:2
工作地点:深圳、北京
学历要求:本科
工作职责
l         建立Linux内核测试框架，建设自动化测试平台，提升系统测试效率；
l         帮助开发人员设计或开发测试用例，包括白盒和]]></description><category></category></item><item><title><![CDATA[Scrum小结]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/6915845</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/6915845</guid><author>dean_yanqing</author><pubDate>Thu, 03 Nov 2011 22:20:36 +0800</pubDate><description><![CDATA[最近公司开始推Agile，有幸开始做Scrum Master，开始这段Scrum之旅。
    所谓这种Agile模式，主要是节省了各个handover的时间，提高效率；同时对于工程师而言，也是一个很好的全员参与的过程，发挥集体智慧，有益于motivation。
     而且很重要的一点，工程师有机会扩大自己的知识领域去学习更多的知识，这也是很多工程师原因看到的。
    我们team已经]]></description><category></category></item><item><title><![CDATA[初步分析make的一个问题：Argument list too long]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/6676173</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/6676173</guid><author>dean_yanqing</author><pubDate>Wed, 10 Aug 2011 16:49:34 +0800</pubDate><description><![CDATA[一个同事在编译loadmodule时遇到了一个问题

gmake: execvp: /bin/sh: Argument list too long
gmake: *** [     .o] Error 127


  这种情况以前并没有遇到，一番google之后才知道]]></description><category></category></item><item><title><![CDATA[GNU ld连接器说明]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/6669352</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/6669352</guid><author>dean_yanqing</author><pubDate>Mon, 08 Aug 2011 15:02:13 +0800</pubDate><description><![CDATA[概述
********
'ld'把一定量的目标文件跟档案文件连接起来,并重定位它们的数据,连接符号引用.一般,在编译一个程序
时,最后一步就是运行'ld'.
'ld'能接受连接命令语言文件,这是一种用AT&T的连接编辑命令语言的超集写成的文件,用来在连接的整个
过程中提]]></description><category></category></item><item><title><![CDATA[内存碎片（Memory Fragmentation）(1)]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/6663775</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/6663775</guid><author>dean_yanqing</author><pubDate>Mon, 08 Aug 2011 11:59:00 +0800</pubDate><description><![CDATA[在看OSE的文档时(OSE Architecture User's Guide），注意到一段关于内存碎片的总结，写的很精辟，特摘抄如下：
   原文摘抄如下(翻译见原文后面）
   Why Is Memory Fragmentation Important


In e]]></description><category></category></item><item><title><![CDATA[Erlang Tips:如何检查目标进程已经启动]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/6634143</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/6634143</guid><author>dean_yanqing</author><pubDate>Tue, 26 Jul 2011 11:09:28 +0800</pubDate><description><![CDATA[有时候我们需要判断目标进程是否已经启动，如果没有启动才额外启动目标，否则skip  通常情况下我们，可以在进程表中搜索目标进程即可  在elrang中，可以借助于 erlang:whereis 函数whereis(RegName) -> pid() | port() | unde]]></description><category></category></item><item><title><![CDATA[vim copy时的几个问题]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/6587085</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/6587085</guid><author>dean_yanqing</author><pubDate>Wed, 06 Jul 2011 09:08:46 +0800</pubDate><description><![CDATA[1 讨厌的缩进    从其他地方copy至VIM时，有时会遇到“无限”缩进的情况，像个阶梯，及其影响阅读性    方案：            gg=G, 从文件头道文件末尾格式化 2 自动注释     复制时有一行有注释，会把下面多行注释掉     参考 p]]></description><category></category></item><item><title><![CDATA[Debug Erlang ]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/6238217</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/6238217</guid><author>dean_yanqing</author><pubDate>Thu, 10 Mar 2011 19:16:00 +0800</pubDate><description><![CDATA[<br />调试是每个SW的工作的一部分，因为大家的代码都会有bug。找出来并改正它使我们必须做的事情。<br />对于Erlang，可能一些初学者只知道根据log来分析定位问题。代码量不大的时候，这种方式很有效简单。但是当代码量很大的时候，log就显得很勉强了，毕竟打印的log也是有限的，不足以支持找出问题的根本原因。这个时候，如果只凭添加新的log来寻找bug效率是很低的。<br />GDB是很强大的调试工具，对于C,C++的程序来说。其实，Erlang也有内建的调试工具：Debugger<br />怎]]></description><category></category></item><item><title><![CDATA[关于gcc、glibc和binutils模块之间的关系]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/6224236</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/6224236</guid><author>dean_yanqing</author><pubDate>Fri, 04 Mar 2011 19:24:00 +0800</pubDate><description><![CDATA[关于gcc、glibc和binutils模块之间的关系，以及在现有系统上如何升级的总结一、关于gcc、glibc和binutils模块之间的关系1、gcc（gnu collect compiler）是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”，以及提供了与编译器紧密相关的运行库的支持，如libgcc_s.so、libstdc++.so等。2、binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序，如汇编（as）、连接（ld）、静态库归档（ar）、反汇编
（objdum]]></description><category></category></item><item><title><![CDATA[Cleartool 的tip]]></title><link>https://blog.youkuaiyun.com/dean_yanqing/article/details/6213991</link><guid>https://blog.youkuaiyun.com/dean_yanqing/article/details/6213991</guid><author>dean_yanqing</author><pubDate>Mon, 28 Feb 2011 20:05:00 +0800</pubDate><description><![CDATA[1  在使用clearcase过程中，有时候需要在自己创建的branch上checkout文件。现在总结下如何编辑config spec以达到目的：
需要三条rule:
    element * CHECKEDOUT                                                        ---->这个是必须的
    element  /vobs/X]]></description><category></category></item></channel></rss>