
杂谈
文章平均质量分 73
Bird
这个作者很懒,什么都没留下…
展开
-
手工编写简易词法分析器
编译原理的作业,使用C手工编写词法简易词法分析器。大概内容就是根据指定的关键字,分隔符和其他的变量等,在输入的一段程序中,将关键字,分隔符和变量,运算符等分别区分开来放到一个二元组里面,并且说明是第几个。这个应该是书写编译器的开始,起初感觉很复杂,但是看看Demo还是可以的,下面来看一下源代码。/* lexical analyzer */#include #include #i原创 2012-03-07 19:55:01 · 1811 阅读 · 0 评论 -
《自己动手写Docker》书摘之二---Linux Cgroups介绍
Linux Cgroups介绍上面是构建Linux容器的namespace技术,它帮进程隔离出自己单独的空间,但Docker又是怎么限制每个空间的大小,保证他们不会互相争抢呢?那么就要用到Linux的Cgroups技术。概念Linux Cgroups(Control Groups) 提供了对一组进程及将来的子进程的资源的限制,控制和统计的能力,这些资源包括CPU,内存,存储,网络等。通过Cgroup原创 2016-11-28 17:33:43 · 3560 阅读 · 0 评论 -
《自己动手写Docker》书摘之一: Linux Namespace
Linux Namespace 介绍我们经常听到说Docker 是一个使用了Linux Namespace 和 Cgroups 的虚拟化工具,但是什么是Linux Namespace 它在Docker内是怎么被使用的,说到这里很多人就会迷茫,下面我们就先介绍一下Linux Namespace 以及它们是如何在容器里面使用的。概念Linux Namespace 是kernel 的一个功能,它可以隔离一原创 2016-11-25 23:41:23 · 5281 阅读 · 0 评论 -
Intel 中国研究院面试经历
今天接着写Intel 中国研究院的面试经历。Intel面试题是我面试过的比较简单的一个。第一次是在下午五点半左右,我正在食堂和好几个基友吃20元巨资买的清蒸草鱼。正在吐沫星子四处飞溅的时候,一个010开头的电话打进来。我心想又是哪个卖信用卡的骚扰电话,结果那头说自己是Intel中国的,想给我来个电话面试,我瞬间咽下口中的鱼肉,出去找了一个黑暗的猥琐角落蹲着开始电话面试。他说大概20分钟原创 2014-11-20 20:41:30 · 16030 阅读 · 6 评论 -
MSRA面试总结
前段时间有幸参加了微软亚洲研究院的参观活动,顺便投了一份简历,没想到就迎来了两次面试机会,而且是连续的两次被拒绝,严重的刺激到了我,导致我疯狂的复习刷Offer。现在终于算是告于段落,现在也终于有空沉下心来总结总结最近的面试情况。首先说的第一家面试就是MSRA。原来不知道他的高大上,去面试之后才知道原来MSRA还是那么牛逼。第一次面试的组是操作系统组,很不幸的是,第一轮面试原创 2014-11-18 21:57:25 · 25829 阅读 · 0 评论 -
IBM 中国研究院面试经历
继上次面试MSRA失败后,严重刺激了我幼小的心灵。从此苦学算法准备面试更多其他的公司刷一刷Offer以解心头之恨。这个带来的IBM 中国研究院的面试经历。IBM的面试相比于MSRA,简直就是简单的要命。刚开始都是一样,聊了聊自己的项目经验,这个面试官对我接的一个私活貌似非常感兴趣,我们就这个私活聊了很多。从刚开始怎么接的,到中途如何完成,到最终客户反复修改如何应对,怎么收取维护费,原创 2014-11-18 22:11:36 · 12553 阅读 · 2 评论 -
百度云离线下载含有违规内容检测方法分析
最近国家开始一轮净网行动,清除网上的淫秽色情信息。各大互联网厂家纷纷开始行动,比如当年很好用的百度云离线下载就一度关闭。后来再次开启后,就出现了这句经典词,因含有违规内容被屏蔽无法下载。其实被屏蔽的不一定都是不健康视频,有些仅仅是因为文件名含有一些字眼而已,比如一些美国大片的枪版就几乎都不能通过百度云的离线下载检测。据说这种方法还在迅雷等地方都有检测,因此我们来分析一下,这个检测到底是如何原创 2014-06-27 16:07:11 · 223283 阅读 · 2 评论 -
Mark 一下自己折腾Github IO的路途
自从接触github之后,就非常喜欢这个玩意,后来碍于考研没空理这些玩意,现在在家无所事事,正好弄一弄。偶然看到了几个前辈们的Github的博客,有使用Jekyll搭建的,更有大牛自己开发的静态网站。我现在只能简单的配置一下jekyll实现一些简单的博客,但是这种及其简答简洁的写博客风格让我非常的新鲜,更有配置上自己的域名,那将是非常爽的个性化东西,呵呵,今天是折腾Github第一天,原创 2014-01-26 21:14:09 · 9589 阅读 · 0 评论 -
CODE 优快云 Git 配制方法介绍
以前一直使用Github,最近看到优快云出了CODE代码托管功能,由于国内的阿里云服务器很稳定,而且不会被国墙,所以果断的迁移了,下面就简单的介绍一下CODE的配置使用。其实优快云的code 何丽萍介绍的很全面了。首先需要下载GIT客户端,http://git-scm.com/downloads。。。 然后再code.youkuaiyun.com上面创建一个项目,如果你的项目已经存原创 2013-07-13 22:51:38 · 17039 阅读 · 8 评论 -
Eclipse上GIT插件EGIT使用手册
首先下载EGIT插件就可以使用,最好下载ZIP文件比较好配置,可恶的Great Wall.地址,http://ishare.iask.sina.com.cn/f/25450726.html 。 把这个文件解压之后放到myeclipse安装目录的dropins文件目录下面重启myeclipse 就可以了。二_使用EGIT前的配置原创 2013-07-13 22:58:38 · 12803 阅读 · 2 评论 -
深入解析补码的意义
相信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看过之后不久就忘了。最近论坛里有人问起这些概念,看到很多人的回复是以前看过现在忘了去看看某某书之类,很少有给出一个合理的解释。于是本人就开始思考(虽然上帝会发笑,我还是要思考。),于是得出了以下的结论。 数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是原创 2013-02-02 21:09:48 · 1605 阅读 · 0 评论 -
由-128的补码引出的深层次思考
一般的说法是负数的补码为其原码除符号位外取反然后总体加一,也就是说,要得到一个负数数的补码,要先知道这个负数的原码才行。那么,问题出现了,在8位长度下,-128的原码与反码都不存在,因为一个字节的有符号数的原码范围是: -127 ~ + 127 ,既然不存在 -128的原码那么就无法求出 -128 的补码了,怎么办? 其实,这个问题的实际意义是,既然说计算机内部的有符号整数都是补原创 2013-02-02 21:09:13 · 1498 阅读 · 1 评论 -
神器来袭-------基于B/S结构的技术类博客(包括优快云,博客园,Iteye,51CTO,新浪)备份利器开发感慨
经过了大概两个月的悲惨生活,我们终于完成了这个由吹牛逼而来的想法。将国内几大主要技术类博客的备份下载工具移植到Web上面去,完成基于B/S结构的技术类博客下载利器。起初这个想法的萌生是因为看到一些前辈们写的客户端的优快云的博客下载器,使用了一番感觉很不错,能够将自己喜欢的博主的文章下载下来保存离线观看确实是一个很好的想法,但是每次看到这类的博客上头条的时候总是发现下面网友们的评论原创 2012-08-17 16:38:21 · 4622 阅读 · 2 评论 -
Final关键字对JVM类加载器的影响
当一个类中有声明为static final的变量,这样的变量对类的加载器有一定的影响,首先看看下面的例子。package com.bird.classLoad;class FinalTest{ public static final int a = 6/3; static{ System.out.println("FinalTest static block"); }}原创 2012-03-11 19:44:10 · 4417 阅读 · 1 评论 -
自定义类加载器的实现
Java的类加载器自从JDK1.2开始便引入了一条机制,叫做父类委托机制。也就是说,一个类需要被加载的时候,JVM先会调用他的父类加载器进行加载。如果父类加载器加载不了,再使用其子类进行加载。当然,这类所说的父类加载器,不一定他们之间是继承的关系,有可能仅仅是包装的关系。不能片面理解。Java之所以出现这条机制,因为是处于安全性考虑。害怕用户自己定义class文件然后自己写一个类加载器原创 2012-03-12 08:08:47 · 8852 阅读 · 4 评论 -
一个据说第一次接触都会做错的Java面试题和类加载器的介绍
首先什么话都不说,先把这个很变态的面试题放上来,大家有情趣自己分析一下,然后再运行一下看看结果,据说第一次遇到这个题目的Java程序员都是会做错的。package com.bird.classLoad;public class Test1 { @SuppressWarnings("static-access") public static void main(String[]原创 2012-03-10 23:25:03 · 4679 阅读 · 0 评论 -
Java网络编程之组播小案例
网络数据传输分为三类,单播,广播,组播,其中组播是兼容前两者特点。发送者每次发送的数据可以被组内的所有接受者收到。在组内的发送者和每一个接受者之间实现点到多点网络传输,也称多点传送。组播是一种介于单播传输和广播传输之间的一种中间技术。当采用组播方式传送数据包时,发送方只需要发送一份相同的数据包,通过路由器动态决定数据包的路由,即寻找组播组的地址,只有必要时才赋值数据,然后将数据发送到原创 2012-03-26 16:52:53 · 2855 阅读 · 1 评论 -
《自己动手写Docker》书摘之三---Union File System介绍
Union File SystemUnionFSunionfs是一种为Linux,FreeBSD和NetBSD操作系统设计的把其他文件系统联合到一个联合挂载点的文件系统服务。它使用branch把不同文件系统的文件和目录“透明地”覆盖,形成一个单一一致的文件系统。这些branches或者是read-only或者是read-write的,所以当对这个虚拟后的联合文件系统进行写操作的时候,系统是真正写到了原创 2016-11-30 17:49:16 · 4902 阅读 · 0 评论