一直对bootstrap框架有些着迷,想去学习一把,今天有些时间,花了一整天的时间,一边看文档,一边做主题,基本完成了这款基于bootstrap框架的wordpress主题pme-wp。pme是根据域名得来的,所以主题名字就是pme-wp.目前主题也仅仅满足简单使用,其中包含的很多bug,以后慢慢修正了。下载地址:http://www.everbox.com/f/wzTPkoagufPh9pAY62esryMkAC
Notepad++是我电脑必备经常使用的软件,在新版中还加入了Document Map功能,就是文档的缩略图,以后做跳转方面的多了,和sublimetext一样,最近也在研究sublimetext的使用。Notepad++ 6 发布了,可通过下面地址下载:http://notepad-plus-plus.org/download/v6.0.html在 6 版本中,主要包含如下改进:支持 PCRE (Perl Compatible Regular Expressions)2. 添加文档映射特性 (通过 Menu View->Document Map): Screenshot 1, Screenshot 2改善大文件的加载性能Notepad++ 是一款非常有特色的编辑器,是开源软件,可以免费使用。支持的语言: C, C++ , Java , C#, XML, HTML, PHP, Javascript!
wordpress的插件多如牛毛,总有几款差距是必备的,比如下面推荐三款。Super Switch(超级开关)可以有选择地禁用Wordpress部分功能,或许可以使博客更快。WP Cleaner删除无用的修订版、自动草稿及自动保存的文章,减小空间,提高性能。有了上面的超级开关插件,WP Cleaner基本使用一次就足够了。**P3(Plugin Performance Profiler) **插件是由Godaddy发布的,它可以让你知道这些插件对你的网站速度有多大的影响.从而可以让你详细了解哪些插件占用资源最多,权衡利弊,有选择性地启用插件。插件只能运行在Firefox、Chrome、 Opera、 Safari、IE9中,不支持IE8或更低版本。
代码的使用性很强的啊! 让我们看看如何使用JDBC API在Java中执行批量插入。虽然你可能已经知道,但我会尽力解释基础到复杂的场景。在此笔记里,我们将看到我们如何可以使用像Statement和PreparedStatement JDBC API来批量在任何数据库中插入数据。此外,我们将努力探索一些场景,如在内存不足时正常运行,以及如何优化批量操作。首先,使用Java JDBC基本的API批量插入数据到数据库中。Simple Batch - 简单批处理我把它叫做简单批处理。要求很简单,执行批量插入列表,而不是为每个INSERT语句每次提交数据库,我们将使用JDBC批处理操作和优化性能。想想一下下面的代码:Bad Code[java]String [] queries = { insert into employee (name, city, phone) values ('A', 'X', '123'), insert into employee (name, city, phone) values ('B', 'Y', '234'), insert into employee (name, city, phone) values ('C', 'Z', '345'), }; Connection connection = new getConnection(); Statement statemenet = connection.createStatement(); for (String query : queries) { statemenet.execute(query); } statemenet.close(); connection.close(); [/java]这是糟糕的代码。它单独执行每个查询,每个INSERT语句的都提交一次数据库。考虑一下,如果你要插入1000条记录呢?这是不是一个好主意。 下面是执行批量插入的基本代码。来看看:Good Code[java] Connection connection = new getConnection(); Statement statemenet = connection.createStatement(); for (String query : queries) { statemenet.addBatch(query); } statemenet.executeBatch(); statemenet.close(); connection.close();[/java]请注意我们如何使用addBatch()方法,而不是直接执行查询。然后,加入所有的查询,我们使用statement.executeBatch()方法一次执行他们。没有什么花哨,只是一个简单的批量插入。 请注意,我们已经从一个String数组构建了查询。现在,你可能会想,使其动态化。例如:[java] import java.sql.Connection; import java.sql.Statement; //... Connection connection = new getConnection(); Statement statemenet = connection.createStatement(); for (Employee employee: employees) { String query = "insert into employee (name, city) values(' + employee.getName() + ',' + employee.getCity + '); statemenet.addBatch(query); } statemenet.executeBatch(); statemenet.close(); connection.close();[/java]请注意我们是如何从Employee对象中的数据动态创建查询并在批处理中添加,插入一气呵成。完美!是不是?等等……你必须思考什么关于SQL注入?这样动态创建的查询SQL注入是很容易的。并且每个插入查询每次都被编译。 为什么不使用PreparedStatement而不是简单的声明。是的,这是个解决方案。下面是SQL注入安全批处理。SQL Injection Safe Batch - SQL注入安全批处理思考一下下面代码:[java] import java.sql.Connection;import java.sql.PreparedStatement;//...String sql = "insert into employee (name, city, phone) values (?, ?, ?);;Connection connection = new getConnection();PreparedStatement…
在风向吧看到360安全浏览器5beta2的版本中加入的身份认证,也去体验了一把,被流氓的给了一个未知的身份。你一个做浏览器的,做安全的,好好做你的浏览器,做你的安全,你凭什么要对我们这些博主站长的站点做认证呢?就像风向吧靖说的,这是一种越界的强制认证行为。现在,大鹏的后院也加入了不兼容360安全浏览器的代码。js代码<script>function no360(){alert('系统检测出来你使用了360安全浏览器,请先卸载360产品后改用Chrome或firefox等再行访问本站,谢谢合作!');document.execCommand("stop");location.href="http://fengxiangba.com/no360.html";//注:将上面的//去掉,把后面的网址改成你的网站,弹出窗口后就会跳到你指定的网址}var f=false;if(navigator.userAgent.toLowerCase().indexOf("360se")>-1){f=true;}try{if(window.external&&window.external.twGetRunPath){var r=external.twGetRunPath();if(r&&r.toLowerCase().indexOf("360se")>-1){f=true;}}}catch(ign){f=false;}f&&(no360());</script>.htaccess屏蔽代码RewriteCond %{HTTP_USER_AGENT} 360SE [NC] RewriteCond %{HTTP_HOST} =www.bstaint.net RewriteRule ^(.*)$ http://labs.bstaint.net/break.html [L,R]php屏蔽代码<?php $str=$_SERVER['HTTP_USER_AGENT']; if(stripos($str, "360SE") > 0): header('Location: http://labs.bstaint.net/break.html'); endif; ?>代码提供:http://fengxiangba.com/is-not-compatible-with-the-code-of-360-secure-browser.html另外一篇关于360浏览器认证的文章360浏览器要认证谁
Anytodo 是一款chrome浏览器的插件,可以与google task进行同步,进行任务管理。我的手机是安装的gtasks的免费版本,是足够使用的了,Anytodo的使用,也弥补了google task没有桌面的管理的空缺,推荐使用。Anytodo是一个基于html5的离线便签应用,可方便的与Google Tasks进行同步,主要功能包括:1. 双击空白处快速添加便签;2. 双击便签简单编辑内容;3. 点击编辑按钮,支持富文本编辑;4. 更换便签颜色;5. 拖动改变位置和大小;6. 更换主题;7. 离线访问;8. 后台同步;9. 定时提醒;Anytodo目前最新版本为1.1.1,更新内容如下:1. 添加了处理时间的同步;2. 修正了富文本编辑后,提醒和日期显示错误;3. 修复了同步中的一些问题,提高了同步效率;项目地址:http://code.google.com/p/any-todo/下载插件:Anytodo-1.1.1.crx 1.5 MB2012-03-26 17:39 更新Anytodo 1.1.2,可以从Chrome App Store现在安装了:安装地址:https://chrome.google.com/webstore/detail/maidakogkfgehlikodkefhfefnmfaiig
win8已经开始公测,我这个喜欢折腾的也很想用上一把,根据以往换系统,装个系统之后,就需要装一大堆的软件,特别像我们这种专业码农,还需要考虑软件的兼容性。升级,风险很大。我也考虑过用虚拟就安装,可我下载的是win8 64位的,虚机仅支持32位的。我的解决办法就是,先ghost备份一个系统,再进行升级。虽然win7升级win8是可以保留应用的,还是备份下安全。win7升级win8还算简单,虚拟光驱加载系统镜像,点击sources中的setup,一路按照提醒,检测兼容性之后,选择保留个人内容和应用设置,就等待系统自动安装,各种驱动也不用重新安装,我花了两个小时,就完成了。安装之后,感觉不错,喜欢win8的metra的简洁风!win8取消了开始按钮,开始按钮我是常用的,很不习惯,装个start8基本就解决了,还可以使用metra的界面。win8的使用可以参考http://www.ilovewindows8.com/的介绍。其他比如我的使用,eclipse的使用开发,oracle的使用,svn、git的版本库使用,网银也可以用,还有其他一些常用软件都使用正常,目前不能正常用的是VMware,还没开始解决,应该是有方法解决的。杀毒软件用的是数字的,虽然我一直对数字做的东西比较排斥,但数字市场运作,用户体验做的的确不错,我又何必那么较真呢?做人也一样,不能太较真了。在运行的速度上面,感觉要比win7块一些,我是通过eclipse的使用感觉出来了,eclipse的使用是比win快了许多,不知道是不是心理作用。win8的QQ也是很好用,能让人全身心的投入在交流中,如果我们的IDE工具能做成这样的就好了。无论怎么说,win8还是值得升级的,再怎么说,也算是一个正版系统啊!免费的为啥不用呢?
在IT领域做自由职业者是很合适的。有很多开发者都有过做自由职业者的经历。有很多书籍和文章将了如何让客户满意以及如何及时的交付正确的软件。但是很少文章讲述客户在项目过程中应该如何做。虽然客户付了钱,但这并不意味着我们要容忍他们非常粗鲁的态度和错误的习惯。1. 好的软件一定不便宜我常常遇到的一个问题是,客户想要花不到500欧元建立一个全功能的企业网站。这个价钱你可以找我隔壁的12岁小男孩,用Joomla帮你搭一个,但是专业的软件开发者,懂得软件架构,懂得如何开发安全,稳定,能良好运行的软件的一点比这个价格要贵很多。软件开发和别的职业是一样的,需要花大量的时间学习。除此以外,很多客户往往在合同以外要求添加一些功能,免费的。你的医生不会免费工作,你的扫地阿姨不会免费工作,你也不会免费,为什么要求软件工程师免费工作?我有见到很多客户雇佣了一些便宜的、自称专业的开发者,或者外包开发到印度,越南,结果往往很失望。这些渠道看上去是便宜了一些,但是后期的软件维护成本非常昂贵。所以很多客户尝试了一次以后,还是回头来找我开发。2. 需求要明确我们知道一开始就能列出所有详细的需求是很困难的。这也是为什么我们发明了敏捷开发这样的技术。但是如果你给我们错误的需求,我们也只能交付错误的软件。你可以因为软件不好用而责怪我们,但是你给了我们不对的需求在先。最终浪费了双方大量的时间,也浪费了很多钱。软件开发者也许很聪明,但是只有你了解你的业务需求!3. 好的软件需要配合完成为了交付一个好的软件,开发者应该在项目中全力以赴。但是客户也不能坐在一边对这个项目不闻不问。如果你想要你的软件按时、正确的交付,你应该和开发者保持联系,所以我们能及时发现问题并修正。这并不需要你无时无刻的盯着我们工作,你只要及时的回复我们的email就可以了,比如说24个小时之内。我有遇到过一些客户,在合同签完以后彻底消失,然后到软件交付的时候,跟我讲为什么没有开发完成?你说呢?!4. 并不是所有的功能都是可见的没有绚丽的界面和大量的新功能并不意味着我们没有努力工作。事实上,大量的工作都是和前台无关的。这也是为什么我们应该投入资源来改进后台的代码。根据 Pareto Principle http://en.wikipedia.org/wiki/Pareto_principle ,20% 的代码 解决了80% 的问题。这些问题有可能是服务器性能瓶颈或者数据损坏。虽然你花钱在这些方面你看不到软件的界面变化,但是它是值得的。5. 提前给出准确的时间预测很困难在任何一个领域,给出项目的时间预测是一件困难的事情。在IT领域更是如此,因为客户往往不知道他们到底想要什么。告诉我们你的想法,我们会给你一个时间估算,仅仅是估算。需求往往在开发过程中变化,所以不要老拿预估的时间来说事。6. 程序员也是人我们也许工作起来,思维方式像是机器人,我们也许长时间在办公室里不出来,但这并不意味着我们不是人类。当你在餐馆吃晚饭,或者做飞机安全着陆的时候,你会对厨师和飞行员表示感激,当你的家人在医院治愈的时候,你会对医生表示感激。那么请也把这份感激、尊重带给我们。7. 告诉我要做什么,不要指挥我怎么做你描述你的问题,让专业的人来提出解决方案。请让开发者做他擅长的事情:解决你的问题。在IT领域,开发者懂的往往远远比客户多。也就是说开发者知道不同的方案的优点与缺点,他会选择正确的解决方案。请不要把简单的问题复杂化,不要告诉我们如何解决问题,专业的问题由专业的人来解决,可以节省你的很多时间和金钱。8. 听听我们的建议正如上一段提到的那样,开发者在技术领域也许比你(客户)懂的多。如果你想要在你的网站放一个自动播放的视频,而开发者建议你不要这么做,那么听他的。因为他已经做过类似的案例,并且知道自动播放让很多人很厌烦。你喜欢这个视频,但是其他人不一定。如果你的开发者建议你不要使用Flash,那么相信他。他知道使用Flash的不好的地方,也许你不知道。结论软件开发者需要做所有的努力来完成一个好的软件。有很多书籍讲述了关于如果控制软件质量,怎么做需求分析,敏捷开发等等。但是作为客户,你也应该遵循一些基本的原则。最大的问题往往是客户希望项目的预算越低越好,却不断的更改需求,还没有很好的沟通。原文链接,OSChina.NET 原创编译