Java Crypto在Linux下性能低下问题的解决方案
在Linux下,如果你使用 java.security 包中的方法(比如SecureKeyFactory.generateSecret()),会发现它出奇的慢,有时候甚至是半僵死在那里。 有两个方法解决这个问题....
精选技术长文、实践记录与系统化阅读
低噪声、高可扫读;标题、摘要、来源、标签一目了然。
采集自各技术站点的近期文章。
在Linux下,如果你使用 java.security 包中的方法(比如SecureKeyFactory.generateSecret()),会发现它出奇的慢,有时候甚至是半僵死在那里。 有两个方法解决这个问题....
一般在/etc/security/limits.conf 中修改最大打开文件数和进程数,如: * soft noproc 10240 * hard noproc 10240 * soft nofile 10240 * hard nofile 10240 但是在CentOS 6.3下,noproc的设置无效。需要修改/etc/security/limits.d/90-nproc.conf, 把noproc的设置放在这个文件里,重启服务器后,就生效了。
为什么要使用ntpd而不是ntpdate? 原因很简单,ntpd是步进式的逐渐调整时间,而ntpdate是断点更新,比如现在服务器时间是9.18分,而标准时间是9.28分,ntpd会在一段时间内逐渐的把时间校准到与标准时间相同,而ntpdate会立刻把时间调整到9.28分,如果你往数据库内写入内容或在其他对时间有严格要求的生产环境下,产生的后果会是很严重的。(注:当本地时间与标准时间相差30分钟以上是ntpd会停止工作)
LevelDB中一个核心的数据结构就是跳跃表,它是一个类似单向链表的结构但增加了多层指针进行跳跃,可以获得近似平衡树的效率,但是代码远远没有AVL等平衡二叉树实现复杂,所以尽管理论上跳跃表不是一个好算法,但是实现简单令他很多地方都很实用。
我对自己的错误有很多感性的认识,但有三本书帮助了我更加系统的理解,他们是Bill Buxton《用户体验草图设计》、Robert S. Kaplan《战略地图》、Eric Ries《精益创业》。
xfs文件系统会把inode存储在磁盘最开始的这1T空间里,如果这部分空间被完全填满了,那么就会出现磁盘空间不足的错误提示了。解决办法就是在挂载时,指定 inode64 选项。
用过jQuery的朋友都知道他强大的链式操作,方便,简洁,易于理解,如下 1.jQuery的链式操作是如何实现的? 2.为什么要用链式操作? 链式操作 原理相信百度一下一大把,实际上链式操作仅仅是通过对象上的方法最后 把对象再返回回来,对象当然可以继续调用方法啦,所以就可以链式操作了。那么,简单实现一个: 但……为什么要用呢? 一般的解释:节省代码量,代码看起来更优雅。 例如如果没有链式,那么你可能需要这样写代码: 这个代码中调用了两次document.getElementById来获取DOM树的元素,这样消耗比较大,而且要写两行,而链式只要写一行,节省了代码…… 但我们也可以用缓存元素啊。比如: 而且两行并没有比一行多多少代码,甚至相应的封装反而使得代码更多了。 最糟糕的是所有对象的方法返回的都是对象本身,也就是说没有返回值,这不一定在任何环境下都适合。
如果你是刚进入web前端研发领域,想试试这潭水有多深,看这篇文章吧; 如果你是做了两三年web产品前端研发,迷茫找不着提高之路,看这篇文章吧; 如果你是四五年的前端开发高手,没有难题能难得住你的寂寞高手,来看这篇文章吧; web前端研发工程师,在国内是一个朝阳职业,自07-08年正式有这个职业以来,也不过三四年的时间。这个领域没有学校的正规教育,没有行内成体系的理论指引,几乎所有从事这个职业的人都是靠自己自学成才。自学成才,一条艰辛的坎坷路,我也是这样一路走来。从2002年开始接触web前端研发至今已然有了9个年头,如今再回首,期间的走了很多弯路。推已及人,如果能让那些后来者少走些弯路,辛甚辛甚!
在做网络服务器的时候,会碰到各种各样的网络问题比如说网络超时,通常一般的开发人员对于这种问题最常用的工具当然是tcpdump或者更先进的wireshark来进行抓包分析。通常这个工具能解决大部分的问题,但是比如说wireshark发现丢包,那深层次的原因就很难解释了。这不怪开发人员,要怪就怪linux网络协议栈太深。我们来看下: 这7层里面每个层都可能由于各种各样的原因,比如说缓冲区满,包非法等,把包丢掉,这样的问题就需要特殊的工具来发现了。 好了,主角dropwatch出场.
PHP的异常原理PHP5+ 开始提供了一种新的面向对象的错误处理方法,用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。
先提提互联网上果粉对于”Mac 系统锁屏的快捷键是什么?”这个问题的回答: 1. 不用锁屏, 直接啪的一下盖子盖上了, 既方便又洒脱. 2. Finder - 应用程序 - 实用工具 - 钥匙串访问… blabla… 3. 创建一个脚本, 启动一个服务, keychain access…
从标题来看是个很简单很朴实的问题,大部分技术人员在工作3年、5年以后都会面临这个问题,如果没有面临,说明你平常思考的太少,或者你危机要降临了。本文讨论的是通常意义的计算机相关技术人员的个人职业发展规划,如果是个人创业或者其他目标追求不在此列,我只是描述大部分普普通通的计算机工程师的问题。中国是个官本位思想很重的国家,所有主流意识认为能够当官或者做管理的人才是有出头的,才是有出息的,才是王道,才会被亲朋好友同事同学瞧得起,其实,不尽然。
有一些网友看了前两天的《Linux下应该知道的技巧》希望我能教教他们用awk和sed,所以,出现了这篇文章。我估计这些80后的年轻朋友可能对awk/sed这类上古神器有点陌生了,所以需要我这个老家伙来炒炒冷饭。况且,AWK是贝尔实验室1977年搞出来的文本出现神器,今年是蛇年,是AWK的本命年,而且年纪和我相仿,所以非常有必要为他写篇文章。
问题背景 成语是中华民族的文化瑰宝,作为历史的缩影、智慧的结晶、汉语言的精华,闪烁着睿智的光芒。 你的任务是给一个错误的四字成语进行纠错,找到它的正确写法。具体来说,你只允许修改四个汉字中的其中一个,使得修改后的成语在给定的成语列表中出现。原先的错误成语保证不在成语列表中出现。
之前在做一个单页的时候,有要用到这个功能,现在终于有空把它分享出来,并简单介绍下其实现原理及方法。 这个功能经常用在文章页,用于改变文章字体的大小,所以这也不是啥新鲜事了哈,那么写这篇文章的目的就是记录下自己对其的一些理解。
jQuery 1.9删除或修改了几个过去行为不一致或效率低下的几个API。他们在以前的jQuery版本中已经标注过过时(deprecated)的API,特别是1.7和1.8。 在做这些变化中,团队的目标是修复jQuery的行为不一致或比较难使用的地方,在这个过程中提高整体性能,减小了文件的体积。 此列表是看似给你一些不祥的预感。因为jQuery 1.9删除和修改一些以前做特殊需求的API,比如jQuery.browser。如何升级?首先,看看你的代码,最好的方法是尝试用jQuery 1.9和Migrate(迁移)插件(如下文所述)。 本指南作为标准的jQuery API文档的附录,作为快速上手jQuery 1.9的引导。
学会say no。拒绝一些不合理的需求,人人都是产品经理,但并不代表谁都有权利决定产品的方向和功能。这是你的强项,这也是你要承受的,会挨批,会有不理解,但请保持一颗强大的内心,产品经理必须要有一颗承受的住打击的内心。
强者,在这个市场生存,你要不顾一切地要一个美丽的按钮,一个美丽的滚动条,一个美丽的机器,一个美丽的产品,一个美丽的生态圈,一个美丽的公司,一个美丽的家庭,一个美丽的人,你要先不顾一切地相信你想要的,然后再谈妥协。所有的挫折,都只是我们在创造的过程中,不得不妥协的一些事罢了。
John Backus据说说过下面的话,“赋值语句将程序割裂为两个世界。第一个世界是赋值语句右边的世界。这是一个有序的表达式世界,这个世界有许多有用的代数特性…….。最有用的计算都发生在这里。第二个世界是语句的世界,这是一个无序的世界,在那里找不到什么有用的数学特性。结构化编程一定层度上为这个混乱的世界带来一些秩序,但是它那些原始的循环,子函数,分支流程技术从未击中过冯诺依曼型语言的本质问题---一次一条指令的控制流模式”。“
字体设计越来越成为一个设计师必备的基本能力之一了,无它,一是可以很好的避免版权问题,二是让设计更符合自己需要的设计情景。最近看了不少关于字体设计的经验分享文章,整理了几个链接放在下面,希望对大家有用。