收藏
文章平均质量分 78
in_han
这个作者很懒,什么都没留下…
展开
-
购书列表
1. 企业应用架构模式2. 架构之美3. 设计模式4. 深入理解计算机系统5. JavaScriipt高级程序设计6. TCP/IP详解--协议7. 算法导论8. 深入Linux系统架构9. Linux Shell脚本攻略10. 大数据数据挖掘11. Hadoop实战12. MongoDB权威指南13. 学习 Nignix HTTP Server原创 2012-11-14 14:31:38 · 322 阅读 · 0 评论 -
多线程--使单线程程序多线程化
将单线程程序改写成多线程程序比直接写多线程程序需要更高的技巧问题一:全局变量对于全局变量,多线程程序可能在线程更新但尚未使用全局变量前进行了线程切换,并让新线程重新改写了该全局变量,这样就造成了原有数据的丢失解决方案:1、全面禁止全局变量,这显然是不现实的。2、每个线程赋予其私有的全局变量,每个线程都保存一个全局变量的私有副本,以避免冲突转载 2013-07-04 23:10:41 · 1665 阅读 · 0 评论 -
7个示例科普CPU缓存
(感谢网友 @我的上铺叫路遥 翻译投稿)CPU cache一直是理解计算机体系架构的重要知识点,也是并发编程设计中的技术难点,而且相关参考资料如同过江之鲫,浩瀚繁星,阅之如临深渊,味同嚼蜡,三言两语难以入门。正好网上有人推荐了微软大牛Igor Ostrovsky一篇博文《漫游处理器缓存效应》,文章不仅仅用7个最简单的源码示例就将CPU cache的原理娓娓道来,还附加图表量化分析做数学上的佐证转载 2013-08-04 21:34:19 · 764 阅读 · 0 评论 -
字符编码 ansi, unicode, utf-8, utf-16
Unicode(Universal Multiple-Octet Coded Character Set):目前最流行和最有前途的字符编码规范,因为它解决了不同语言编码的冲突。 Uicode由来:最初的字符编码ascii(8bit,最高位为0)只能表示128个字符,表示英文、数字和一些符号是没问题。但是世界不止一种语言,即使用上了最高为1的扩展ascii码,也只有256个字符。转载 2013-08-19 21:22:40 · 461 阅读 · 0 评论 -
Caps Lock 与 Esc 按键互换
Caps Lock键的位置,左手小指轻松可及。其功能只是切换大小写,纯大写毕竟用得少,偶尔大写只需Shift加字母,更快捷(不包含每次按Shift键都使用大拇指的那类人)。便利的位置与鸡肋的功能,强烈的冲突下只有一个结果——换之而后快。换哪个键并不需要太多的考虑,因为使用VIM、Emacs,Esc键用得多,这个键又地处北极偏远地区,交通极不方便,与Caps Lock互换,顺理成章。转载 2013-08-21 12:46:50 · 5523 阅读 · 0 评论 -
Python 简明教程
python 手册1. #!/usr/bin/python 2. 常量 数:2, 3.2, -1+2j 字符串:单引号、双引号是完全相同的,三引号指示多行字符串。转义字符用\。 自然字符串(即不转义)使用 r"string content...\n\r\'"。 Unicode字符串,u"unicode string",表明这个文件的格式是原创 2013-08-21 19:11:19 · 444 阅读 · 0 评论 -
java 并发编程实践( java concurrency in practice )
1, 保证线程安全的三种方法 :a, 不要跨线程访问共享变量b, 使共享变量是 final类型的c, 将共享变量的操作加上同步2, 一开始就将类设计成线程安全的 , 比在后期重新修复它 ,更容易 .3, 编写多线程程序 , 首先保证它是正确的 , 其次再考虑性能 .4, 无状态或只读对象永远是线程安全的 .5, 不要将一个共享变量裸露在多线程环境下 (无同步或不可变性保转载 2013-08-26 09:54:04 · 558 阅读 · 0 评论 -
vi ---> emacs
VI:虽然vi的操作方式与其他常用的文本编辑器(如gedit)很不相同 ,但是由于其运行于字符界面,并可用于所有unix/linux环境,目前仍被经常使用。1.命令模式:命令模式是启动vi后进入的工作模式,并可转换为文本编辑模式和最后行模式。在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,而不会在屏幕上显示。如果输入的字符是合法的vi命令,则vi就会完成相应的动作;否则vi原创 2013-08-19 20:31:49 · 594 阅读 · 0 评论 -
数据库相关
1. 各种连接: 自身连接:select * from tb1 as a, tb1 as b where a.col_1 == b.col_2; 内连接:inner join , 如 select * from tb1, tb2 where tb1.col_a == tb2.col_b; 这里省略了inner join ... on .... 左原创 2013-09-18 23:01:12 · 505 阅读 · 0 评论 -
大话系列
1. PHP性能问题关于PHP,很多人的直观感觉是PHP是一种灵活的脚本语言,库类丰富,使用简单,安全,非常适合WEB开发,但性能低下。从原理分析PHP的性能,主要从以下几个方面:内存管理、变量、函数、运行机制、网络模型来进行分析。内存管理:使用类似于Nginx的内存池。 变量、函数:使用hashtable进行查找。运行机制:先编译成中间码再执行,类似于java。网络模型:使用libeve原创 2013-09-21 18:59:42 · 660 阅读 · 0 评论 -
洗牌程序
一、基本思路及证明:基本思路是:先初始化数字序列,然后为每个位置依次生成一个与之交换的随机位置,如果生成的随机位置不是它本身就执行交换操作。最早提出这个洗牌方法的是 Ronald A. Fisher 和 Frank Yates,即 Fisher–Yates Shuffle,其基本思想就是从原始数组中随机取一个之前没取过的数字到新的数组中,具体如下:1. 初始化数组,按序(升序或原创 2013-09-22 16:46:26 · 651 阅读 · 0 评论 -
收集的一些blog
收集的blog: http://wangcong.org/blog/about-2 http://www.cnblogs.com/over140/ http://blog.csdn.net/cenwenchu79/article/details/8066368 Linux虚拟服务器:http://www.linuxvirtualserver.org/ ht原创 2012-10-31 15:01:04 · 508 阅读 · 0 评论 -
P2P穿透UDP/TCP原理
转自: 前言 NAT技术的出现从某种意义上解决了IPv4的32位地址不足的问题,它同时也对外隐藏了其内部网 络的结构。NAT设备(NAT,一般也被称为中间件)把内部网络跟外部网络隔离开来,并且可以让内部的主机可以使用一个独立的IP地址,并且可以为每个连 接动态地翻译这些地址。此外,当内部主机跟外部主机通信时,NAT设备必须为它分配一个唯一的端口号并连接到同样的地址和端口(原创 2013-09-23 16:13:20 · 733 阅读 · 0 评论 -
算法面试题
1. 将n分解成n个整数: 可以有0或不能有0, 使用隔板法。2. 两人能否相遇问题:甲、乙二人在1小时内在一个地方出现,甲会逗留m分钟,乙会逗留n分钟,求两人相遇的概率。 抽像为函数:y>x+m 或 x>y+n 时,甲乙不会相遇。3.原创 2013-09-27 23:03:05 · 474 阅读 · 0 评论 -
面试问题(非编程)汇总
1. 堆栈底层操作系统实现 SS: 栈段寄存器,32位下是一个selector。 EBP:存储栈的底部。 ESP:指向栈的顶部。 当函数调用时:一般是#进入函数,现在esp指向栈顶,其值即 [CS 和 EIP ]push ebp #在栈中存储ebp的值, SS[esp] 现在存储了mov ebp,esp原创 2013-09-18 18:35:04 · 1180 阅读 · 1 评论 -
linux 软件包管理器: [atp-get 与 yum]
1. 对于apt-get系统使用一个私有数据库来跟踪sources.list的各个源中软件包的当前状态:已安装、未安装或可安装、已有更新版本等等。借助于该私有数据库,系统知道当前已经安装了哪些软件包、有哪些可用的软件包、软件包的版本、软件包之间的依赖或冲突关系。当用户安装软件包时,如果与其它软件包存在冲突,系统会给出提示,如果依赖于其他软件包,则系统会自动先安装所依赖的软件包。2. dpkg原创 2013-11-13 19:12:22 · 2099 阅读 · 0 评论 -
字符集大全
Linux、Windows、MySQL、PHP、JavaMysql的字符集里有两个概念,一个是“Character set(字符集)”,另一个是“Collations”。Collations翻成中文是“校验”,在网页开发的过程中,这个词汇,只在Mysql里使用,主要作用是指导Mysql对字符的比较,比如,ASCII字符集里,Collations规定了a小于b,a等于a,以及a是原创 2013-06-26 17:22:58 · 1375 阅读 · 0 评论 -
Python、Lua和Ruby——脚本大P.K.
译者按:Python、lua和ruby在C/C++是日渐式微的情况下,在java/.net的围歼中努力抗争的三个当红小生。在Tom Gutschmidt的著作《Game Programmng with Python, Lua and Ruby》一书中,介绍了三种语言在游戏中的应用,其中尤为了不起的是在书中最后一章中比较了三种脚本,作者没有说孰优孰劣,但是读者你认为呢?欢迎留言讨论。本文最初发表翻译 2013-06-14 16:59:46 · 581 阅读 · 0 评论 -
LVS集群中的IP负载均衡技术
Linux服务器集群系统(三)章文嵩([email protected])2002 年 4 月本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)的工作原理,以及它们的优缺点。1.前言在 前面文章中,讲述了可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备转载 2013-01-03 15:45:09 · 359 阅读 · 0 评论 -
职位
1、移动应用研发者;2、商务智能分析师;3、网络架构师;移动应用研发者 - 现今公司都在努力在智能手机,平板电脑和其他移动设备上接触消费者,他们需要专业人士帮助公司研发移动平台应用。移动应用研发者的平均起薪点预计可以提高9%,薪水范畴从92750美金到133500美金。商务智能分析师 - 这些专业人士通过收集和分析数据来做重大业务决策,从而可以更好的针对市场目标来工作。商务智能分析师的原创 2013-01-04 19:44:08 · 284 阅读 · 0 评论 -
【译】前端开发工程师如何在2013年里提升自己
原文地址:Talks To Help You Become A Better Front-End Engineer In 2013这篇文章其实文字部分不多,强烈推荐大家直接阅读原文,我这里主要是把文章里介绍的PPT简述一下,方便大家寻找。===========================================================大部分人非常在意个人在技术上转载 2013-01-04 18:59:10 · 269 阅读 · 0 评论 -
大数据计数:如何仅用1.5KB内存为十亿对象计数
摘要:AddThis的数据分析副总监Matt Abrams在High Scalability上发表了一篇文章,介绍了他们公司如何应对大数据。Matt Abrams表示,AddThis仅仅用了1.5KB内存的内存就计算了十亿个不同的对象,这与他们所使用的计算方法分不开的。AddThis(前身为Clearspring)的数据分析副总监Matt Abrams在High Scalabili转载 2013-01-09 11:12:00 · 396 阅读 · 0 评论 -
[笔试/面试] 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
1,简介毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾。首先说说我拿到的offer情况:微软,3面->终面,搞定百度,3面->终面,口头offer搜狗,2面,悲剧腾讯,1面,悲剧布丁移动,3面,搞定涂鸦游戏,3面,搞定友盟,3面->CEO面,搞定雅虎,4面->终面,搞定微策略,2面,悲剧人民搜索,3面->终转载 2013-01-17 17:23:08 · 3060 阅读 · 0 评论 -
编程之美读书笔记
《编程之美》读书笔记23: 1.1 让CPU占用率曲线听你指挥《编程之美》读书笔记01: 1.2 中国象棋将帅问题 《编程之美》读书笔记02: 1.3 一摞烙饼的排序*《编程之美》读书笔记03: 1.4 买书问题*《编程之美》读书笔记04: 1.8 小飞的电梯调度算法《编程之美》读书笔记05: 1.9 高效率的安排转载 2013-04-02 11:25:54 · 774 阅读 · 0 评论 -
看看牛人们是怎么评价编程语言的
Basic一个有过 BASIC 编程经历的人是很难学会好的编程习惯的。作为一个潜在的程序员,他们已经被脑残并且无法修复。-- Edsger Wybe Dijkstra,Dijkstra 算法发明者CC 语言程序就像一群拿着刀的人在刚刚打过蜡的地板上快速的跳舞。-- Waldi Ravens罗马帝国衰败的主要原因之一是因为他们缺少0,他们没有办法知道他们的原创 2013-04-02 14:27:31 · 429 阅读 · 0 评论 -
VC++ 6.0
VC++ 6.0实用技巧汇总 1.检测程序中的括号是否匹配把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号 2:定位预处理指定,如何在源文件中定位光标到对称的#if, #endif ? 使用Ctrl+K快捷键。本文来自Yowsah资料库 3.格式化一段乱七八糟的源代码 选中那段源代码,按AT转载 2013-04-02 14:42:55 · 630 阅读 · 0 评论 -
《人生若只如初见》这本书里最动人的句子
1.原来,需等到风住尘香花已尽, 才可以看到最后的风清月朗,花好月圆。 无论你在哪里,待走完沧桑人世,我们终会相聚。浮花浪蕊的人生,哪那么容易就断了呢?2.不是无情,亦非薄幸,只是我们一生中会遇上很多人,真正能停留驻足的又有几个?生命是终将荒芜的渡口,连我们自己都是过客。3.童话里王子永远只爱公主一个人,那是童话,要保留纯净。现实是,公主和王子原创 2013-04-02 15:14:31 · 551 阅读 · 0 评论 -
经商操守
一位大名鼎鼎的温州商人,在中国的大地上打拼了15载,从一个下岗职工变成了家财万贯的富翁。平时为人颇为低调,在一次酒会上酒逢知己千杯少,酒后吐真言,道出在中国想发财应该做到的22条秘诀……1.坚持看CCTV-1新闻联播要想把握经济命脉,必须关注政局,新闻联播图文并茂,有声有色,着实为中国商人的最佳晴雨表;你可以不看财经报道,也可以不看焦点访谈,如果你不是做石油和外汇的,甚至你都可以不转载 2013-04-02 15:06:08 · 551 阅读 · 0 评论 -
参考文献格式
摘自邓要武老师科技文献检索课件,希望对正奋斗在毕设中的童鞋们有所帮助!有删改参考文献格式: Ø 图书(Book)定义:凡篇幅达48页以上并构成一个书目单元的文献称为图书。格式:著者.书名[M].版本(第1版不标注).出版地:出版者,出版年.引文所在的起始或起止页码识别点:ISBN号;书名;作者,出版社名称转载 2013-04-02 11:02:46 · 1464 阅读 · 0 评论 -
Google 图片搜索算法
Google 按图搜索的原理来源:maggie@知乎 分类: IT技术maggie@知乎 : 针对这个问题,请教了算法组的同事,他分享了基本的思路:对于这种图像搜索的算法,一般是三个步骤:1. 将目标图片进行特征提取,描述图像的算法很多,用的比较多的是:SIFT描述子,指纹算法函数,bundling features算法,转载 2013-04-02 11:24:22 · 1470 阅读 · 0 评论 -
书架
The Art of Computer Programming 《计算机程序设计艺术》 计算机科学领域最为经典的一套书,哪怕细读一章也受用一生。 Programming Pearls 《编程珠玑》 只需要观察各大IT公司的面试题,就知道这两本书的重要性——很多面试题都是这两本书中例子和习题的改编和变化。 More Programming Pearls 《编程珠玑2》 Str转载 2013-04-02 15:01:00 · 517 阅读 · 0 评论 -
SEO
国内十大SEO Blog国内十大SEO Blog时间: 2007-09-07 / 分类: 搜索引擎优化 我常看的SEO blog中,国外的占大多数,国内SEO文章观点流于层面的太多,缺乏新颖观点和真正深入的研究。但细细选来,也有十个blog是值得收藏和阅读的,现推荐给各位。以下十个blog不分先后。一、车东http://www.chedong.com/雅虎搜转载 2013-04-02 15:40:17 · 649 阅读 · 0 评论 -
程序员必读经典书籍
From stackoverflow:What is the single most influential book every programmer should read? [closed]月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我转载 2013-06-14 16:43:26 · 663 阅读 · 0 评论 -
Java内存模型
深入理解Java内存模型(一)——基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来转载 2013-12-31 17:21:16 · 517 阅读 · 0 评论