2014年4月 ’ 的文章存档

MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)

本文章来给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法,各位同学可尝试参考。

案一:使用ignore关键字
阅读全文

DNS攻击原理与防范

随着网络的逐步普及,网络安全已成为INTERNET路上事实上的焦点,它关系着INTERNET的进一步发展和普及,甚至关系着INTERNET的生存。可喜的是我们那些互联网专家们并没有令广大INTERNET用户失望,网络安全技术也不断出现,使广大网民和企业有了更多的放心,下面就网络安全中的主要技术作一简介,希望能为网民和企业在网络安全方面提供一个网络安全方案参考。

DNS的工作原理

DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的的DNS询问,依此得到答案之后,将收到的答案存起来,并回答客户。

DNS服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。
阅读全文

蹲在马桶上编程

5点钟了。这段代码我已经研究了好几个小时,半天写出一行。这真是一种折磨。有些天里,代码会不由自主的从脑子里溜到我的指尖。可今天不是。

我的任务是往一个类里添加一个新功能。“Easy”,我想。“我写的这个类,现在去扩展它,怎么也不应该太难。”于是,在饱饱的午餐后,我就开始坐下来编程。

开始一切都很顺利——我有个不错的主意,知道如何将这个新功能放进这个类里。然而,越往细里分析,我开始发现我的妙主意并不是那么好。这个功能需要的数据在这里无法获取到。我尝试了各种激进的方法,使得这个类混乱不堪,bug横生。修改后的代码的单元测试几乎没有成功通过过。
阅读全文

流量劫持是如何产生的?

流量劫持,这种古老的攻击沉寂了一段时间后,最近又开始闹的沸沸扬扬。众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道。只要用户没改默认密码,打开一个网页甚至帖子,路由器配置就会被暗中修改。互联网一夜间变得岌岌可危。

攻击还是那几种攻击,报道仍是那千篇一律的砖家提醒,以至于大家都麻木了。早已见惯运营商的各种劫持,频繁的广告弹窗,大家也无可奈何。这么多年也没出现过什么损失,也就睁只眼闭只眼。

事实上,仅仅被运营商劫持算是比较幸运了。相比隐匿在暗中的神秘黑客,运营商作为公众企业还是得守法的,广告劫持虽无节操但还是有底线的。这不,能让你看见广告了,也算是在提醒你,当前网络存在被劫持的风险,得留点神;相反,一切看似风平浪静毫无异常,或许已有一个天大的间谍潜伏在网络里,随时等你上钩 —— 这可不是弹广告那样简单,而是要谋财盗号了!

我会被劫持吗?

不少人存在一个错误的观点:只有那些安全意识薄弱的才会被入侵。只要装了各种专业的防火墙,系统补丁及时更新,所有的密码都很复杂,劫持肯定是轮不到我了。
阅读全文

员工心情愉快,他们会更加努力工作

幸福感能让员工工作更有效率,这是英国沃里克大学最近的一项研究发现。

那里的经济学家做了大量的试验,目的就要验证一种说法:高兴的员工工作更努力。在实验中,他们发现,幸福感能让员工的工作效率提高12%。

1

领导这项研究的教授是来自沃里克大学经济系的Andrew Oswald教授,Eugenio Proto教授和Daniel Sgroi教授。

这是首次使用随机试验和机件工作发现的因果关系。这项由700人参与的4组不同的试验的研究成果将发表在“劳动经济学杂志”上。
阅读全文

SystemTap Beginner

  1. SystemTap
    1. 安装
    2. 为目标机产生SystemTap instrumentation
    3. 运行SystemTap脚本
    4. SystemTap Flight Recorder模式
    5. SystemTap如何工作
    6. SystemTap Event
    7. SystemTap HandlerBody
    8. SystemTap Handler构造
    9. 关联数组
    10. SystemTap的数组操作
    11. Tapsets

SystemTap

 

应用:

对管理员,SystemTap可用于监控系统性能,找出系统瓶颈,而对于开发者,可以查看他们的程序运行时在linux系统内核内部的运行情况。主要用于查看内核空间事件信息,对用户空间事件的探测,目前正加紧改进。

安装

1、SystemTap的安装及使用需要针对正在使用的内核安装相应的kernel-devel、kernel-debuginfo和kernel-debuginfo-common包,以插入探针。
阅读全文

gdb的基本工作原理是什么?

还是面某M的时候,面试官问我:“用过gdb么?” 答:“用过,调了两年bug了”。“那好,给我解释下gdb是怎么工作的?或者说跟内核什么地方有关系?”。

是阿,gdb凭什么可以调试一个程序?凭什么能够接管一个程序的运行?我以前也想过这样的问题,但是后来居然忘记去查看了。我想到了我们的二进制翻译器,想到了intel的pin,Dynamo。这些都是将翻译后的代码放到codecache中去运行,然后接管整个程序的执行。gdb是不是也一样呢?

如果真是这样,为什么我记得用gdb跑一个程序,这个程序会有一个单独的进程?gdb的attach功能又是怎么实现的?

想了想,我还是没有答上来。面试就是由这么一个又一个细节的小杯具最后汇集成一个大杯具。
阅读全文

给程序员/设计师的 75 份速查表

编程不是一件容易的工作,需要大量的专业参考。本文推荐的这些速查表,可以给你一个快速的帮助,或一个快速参考,帮你在瞬间解决你的问题。

1) Cheat Sheets – jQuery

ggg2
阅读全文

一个创业团队是怎么被摧毁的?我亲眼目睹了

摘要:一个员工如果出现负面情绪,是很容易传染的,相互吐槽久了,你自己就会接受,并且越来越相信。作为老板的你如果发现这种情绪在传染了,说明团队已经病入膏肓了,这是一个潜在的危险,老板们很多时候是防不胜防的。一旦爆发,将是毁灭性的打击,例如集体辞职,即使不会集体辞职,团队士气和工作热情也会被大大消弱。

aaa

笔者目前在一家创业公司工作,也算是这个创业团队的一员,从去年到今年,我亲眼目睹了一个团队是怎么摧毁的。这里我不得不介绍一下公司的情况,帮助大家更好地了解事情发生的前因后果。
阅读全文

系统架构领域的一些学习材料

系统架构是一个工程和研究相结合的领域,既注重实践又依赖理论指导,入门容易但精通很难,有时候还要讲点悟性,很具有“伪科学”的特征。要在此领域进阶,除了要不断设计并搭建实际系统,也要注意方法论和设计理念的学习和提炼。

经常有同学询问如何学习,特贴一篇学习材料,供大家参考。09年时写的,在系统领域浩如烟海的文献中提取了一些我认为值得研究和学习的项目,没包括近几年出现的一些工作,也不够全面。不过,其实也足够了,看paper是一个从少到多再到少的过程。对问题本质、背景和发展历史有大致了解,再辅以hands-on的实践(长期的真正的实践),足以摸到本领域的门径。

此文在网上转载不少,但多数没有说明出处。今天在这里重发,也顺便向315致敬。

对于工程师来说,到一定阶段后往往会遇到成长瓶颈。要突破此瓶颈,需要在所属技术领域更深入学习,了解本领域的问题本质、方法论与设计理念、发展历史等。以下提供一些架构相关领域的学习材料,附上简单点评,供有兴趣的工程师参考。希望大家能通过对这些领域的了解和学习,掌握更多system design principles,在自己的工作中得心应手,步入自由王国。

1. Operating Systems

Mach [Intro: http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html,Paper: http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/doc/publications.html]

传统的kernel实现中,对中断的响应是在一个“大函数”里实现的。称为大函数的原因是从中断的入口到出口都是同一个控制流,当有中断重入发生的时候,实现逻辑将变得非常复杂。大多数的OS,如UNIX,都采用这种monolithic kernel architecture。

1985年开始的Mach项目,提出了一种全新的microkernel结构,使得由于70年代UNIX的发展到了极致而觉得后续无枝可依的学术界顿时找到了兴奋点,也开始了沸沸扬扬的monokernel与microkernel的争论。
阅读全文