本来是不打算写这种基础性的东西的,但是有很多同志经常问我(有同事也有网友)。所以就写一下吧,这个是理解LINUX内核网络子系统的基础,ipconntrack等都是依赖这些基础的。好的,闲话不多说了。来正文。其实netfilter就是依靠一个全局的二维数组nf_hooks[][].可以把这个玩意看成一个8*32的矩阵。矩阵的每个成员就是一个双向链表节点。看看,又是双向链表,内核中双向链表的地位真的太重要了。以双向链表做骨架串起nf_hook_ops这个结构体
系统 2019-08-29 23:33:57 2158
还有人记得Hello么,Google于2004年买下picasa时建立的网站,当时的设想是用Hello进行照片分享,就像用即时通讯软件一样。然而Hello的访问量一年比一年少,Google终于决定放弃。现在的Hello网站上只有一段告别致辞,大家可以去跟Hello告个别,5月15日它就正式关闭了。为什么Google也会失败?1)商业模式错了。共享照片的需求存在,但更多的人可能还是喜欢直接看到照片,再进行保存或者根本不保存。随着filckr,facebook
系统 2019-08-29 23:19:24 2158
CheckStyle是一个很有趣的开源框架,他可以帮助检查Java代码中的代码规范,传统的代码检查是一种很无聊的工作,而且无法全面的去检查,而大公司一般都会定期的进行代码检查,不想做也不行,怕被别人找麻烦。而CheckStyle就是一个可以帮助我们自动去检查Java代码的工具,替我们分担了不少无聊(但也是重要)的工作。CheckStyle是一个高度可配置(通过XML配置需要检查的规范),他不但是免费的软件,而且还是一个开源的软件在CheckStyle的软件
系统 2019-08-29 23:02:20 2158
这个不解释,DFS的经典应用,不过很容易超时最好用文件输出,貌似dev上显示的排列不全#include#include#include#include#includeintvis[20];intA[20];intn;voiddfs(intcur){if(cur==n+1){inti;for(i=1;i<=n;i
系统 2019-08-29 22:34:25 2158
1月3号到6号,在三亚公司组织了年会,由于是晚上到的三亚,所以第一天基本就是到了吃个夜宵就休息了,8点的飞机,9点10分到三亚机场,最后到酒店的时候已经是9点40多了,所以放好行李我们就马上去找吃的去了,那个饿了,呵呵。最后也就是吃了点什么烧烤之类的,虽然已经10点多了,但还是跑向了向往已久的海边。回来的时候已经12点了,那一晚睡得可不好,呵呵4号是公司开会,大家都很踊跃的发言,在会上可认识了几个牛人,哈哈。看来我们做技术的真的很闷骚啊,中午的时候还是忍不
系统 2019-08-29 22:31:39 2158
本来这篇文章想叫《挺起你的HTML5》或者《让HTML5飞》或者神马其他的,但是为了更好的体现主题,我就用这个直白点的题目吧~随着各种智能手机(iPhone、Android)大行其道,App模式的应用开发变得热火朝天,反观Web领域则黯然失色。然而即将(或者说已经)到来的HTML5,又为Web注入了新鲜的鸡血,让我等Web码农再次激动不已——我们可以用HTML、CSS、JavaScript开发手机应用了!可以实现绝大部分NativeApp的功能,跨平台,自
系统 2019-08-29 22:15:53 2158
1.缘起:假设我们的用户管理系统要求用户的ID和Name都必须是唯一的,并且用户的ID和Name一经确定就不能被修改。而且管理系统经常需要根据ID来查找Name,也经常需要根据Name来查找ID。根据这样的需求,我们可以考虑使用一个Dictionary来将ID和Name缓存起来,通常ID作为Key,Name作为Value。这样便可实现通过ID查询Name的快速查找,但是,通过Name查找ID就不是那么快了,因为涉及到对Dictionary的Values做遍
系统 2019-08-29 22:05:24 2158
理解JUnit测试框架实现原理和设计模式本文细致地描述了JUnit的代码实现,在展示代码流程UML图的基础上,详细分析JUnit的内部实现代码的功能与机制,并在涉及相关设计模式的地方结合代码予以说明。另外,分析过程还涉及Reflection等Java语言的高级特征。概述在测试驱动的开发理念深入人心的今天,JUnit在测试开发领域的核心地位日渐稳定。不仅Eclipse将JUnit作为默认的IDE集成组件,而且基于JUnit的各种测试框架也在业内被广泛应用,并
系统 2019-08-29 22:02:30 2158
命令Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+R:前往methodctrl+;:前往字段Ctrl+Shift+P:打开命令面板Ctrl+N:新建窗口ctrl+o:打开文件ctrl+o:另存为Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件ctrl+`显示python命令行界面F11全屏shift+F11无干绕全屏ctrl+kb开关侧边栏Alt+Shift+数字分屏显示ctrl+I显示底部面板选择ctrl+l选
系统 2019-08-12 09:27:34 2158
界面上有些元素是要先等它出现,再等它消失,譬如loadingicon这个是等多个loadingicon出现后消失/***WaitforloadingicondisappearindialogandWidgets*@authorjz*/publicvoidwaitForLoadingIconDisappearInDialog(WebDriverdriver){System.out.println("Waitforloadingiconsdisplayindi
系统 2019-08-12 09:26:49 2158