作者存档: leleba - 第2页

李开复:给想创业的毕业生的一封信

二十年后,中国最伟大的企业,和成功走向世界舞台的企业很可能就是在下五年所创立的。因此,很多大学生现在的跃跃欲试地想毕业后创业。另外,创业板的推出,许多创业公司的成功,还有很多成功创业家都鼓舞着中国的大学生,让他们也希望跟随马云、马化腾、李彦宏的步伐,走向创业之路。一方面,我赞赏大学生拥有创业理想,但是另一方面,我建议大学生:先参与创业,再主导创业。 继续阅读 »

[MySQL重大新闻]MySQL 5.5.16 于今天发布了!

该版本改进了部分功能,修复了一些Bug,如下。

功能改进包括:

  • 扩展了RESET SLAVE语句,可使用ALL关键字。除了删除master.info、relay-log.info以及所有的relay 日志文件,RESET SLAVE ALL还可以清除所有的连接信息,否则它们会随着RESET SLAVE的执行而保留在内存中。
  • 一个新的实用工具,mysql_plugin,可以帮助管理员管理MySQL服务器负载。它提供了可选择的方式,可在服务器启动时手动指定–plugin-load选项,也可以在运行时使用INSTALL PLUGIN 和 UNINSTALL PLUGIN 语句。

修复的Bug包括:

  • InnoDB存储引擎:重新启用了从InnoDB插件中移除的“随机预读”功能,该功能默认是关闭的,可以通过 innodb_random_read_ahead 配置选项来启用它。由于该功能在某些情况下可以提高性能,而在一些情况下降低性能,所以在设置之前,检查是否需要开启或关闭该功能。
  • 由于INFORMATION_SCHEMA查询,需要打开.frm 或.TRG文件,以及扫描大量的表,“元数据锁”子系统开销增大。例如,SELECT COUNT(*) FROM INFORMATION_SCHEMA.TRIGGERS。
  • 在Mac OS X 10.7 (Lion)中编译失败。
  • 当profiling禁用或未被编译时,set_thd_proc_info()仍进行不必要的文件名长度检查。
  • CHECK TABLE和 REPAIR TABLE不能找出MERGE表中的问题,如内部表丢失或存储引擎错误。
  • 损坏的表映射事件的处理可能会导致服务器崩溃。
  • 当argc = 0时,嵌入式服务器崩溃。
  • 使用RPM包升级时会再创建一个test数据库,这是不可取的,尤其是当数据库管理员已经移除了test数据库时。

详细信息参阅:http://dev.mysql.com/doc/refman/5.5/en/news-5-5-16.html

下载地址:http://dev.mysql.com/downloads/mysql/5.5.html#downloads

Apache + Jetty 环境搭建手记

一、基础准备

系统环境:CentOS 5.4 64位
软件版本号

  版本号 下载地址 备注
httpd
  • 2.2.20 (released 2011-08-30)
  • http://httpd.apache.org/download.cgi#apache22 选用的是2.2.x版本系统最新稳定版
    Jetty 7.5.1.v20110908 http://download.eclipse.org/jetty/ 选用是7.x版本系列最新的稳定版

    软件的安装都基于源代码编译安装,当然你也可以选择rpm等方式安装,笔者一般趋向于自定义安装,方便以后管理。

    继续阅读 »

    Android手机开发优化十大建议

    优化基本要点:

    • 不要做不需要做的优化
    • 不要分配不必要的内存

    1、避免创建不必要的对象,避免在循环中创建临时对象,从而减少gc。
    2、错误的观点:如Map map = new  HashMap()与HashMap map = new HashMap(),实际小性能差距很小的
    3、在类的内部避免使用getter和setter,因为直接取其fields会有缓存等效果,通过getter方法访问比直接通过调用属性值慢3倍
    4、在常量中用 Static Final 来限定,
    5、在循环中用加强的语法,就是指The enhanced for loop (就是指"for-each" loop)
    6、用包机制来取代私有类的私有操作
    7、谨慎地用用浮点数,float慢2倍于int
    8、用熟知的lib及方法
    9、谨慎地用本地方法jni
    10、最后一点: 在优化之前,确认你有性能问题。要衡量你现在的性能情况,以及能带来的好处。

    牢记以上规则,会让你在手机开发程序中取得更优的性能表现!

    Percona Server 与 MySQL 5.5 的性能比较

    正如你所看到的那样,MySQL 5.5.8 GA 带来了非常大的改进和提升,这是一个非常值得关注的版本。而 Percona Server 是一个 MySQL 的衍生版本,在性能、稳定性和可管理性上都进行了改进。那么 MySQL 5.5 正式版的发布是否会对 Percona Server 带来冲击呢? 继续阅读 »

    MySQL:联合索引与Where子句的优化

    涉及数据库操作的基本都是变得很慢了,用的人都会觉得躁火~~然后把这个情况在群里一贴,包括机器配置什么的一说,马上就有群友发话了,而且帮我确定了不是机器配置的问题,“深圳-枪手”热心人他的机器512内存过百W的数据里也跑得飞快,甚至跟那些几W块的机器一样牛(吹过头了),呵呵~~~

    在群友的分析指点下,尝试把排序、条件等一个一个去除来做测试,结果发现问题就出在排序部分,去除排序的时候,执行时间由原来的48秒变成0.3x秒,这是个什么档次的变化呀~~看着这个结果我激动ing…..

    继续阅读 »

    MySQL批量替换指定字段字符串

     MySQL批量替换是我们经常会用到的功能,有时站内包含敏感词,会给我们带来麻烦,而在信息量较大的情况下,一篇篇查找、修改是不现实的。

      用MySQL批量替换,甚是轻松。发布在这里供参考,以备不时之需。

      MySQL批量替换指定字段字符串语句

      UPDATE 数据表名 SET 字段名 = replace(字段名, ‘要替换的字符串’, ‘替换为’) WHERE 设定条件;

      比如本站今天发现站内关于linux命令的文章 标题不是太好,以前都是以 linux下mkdir命令使用详解—linux创建目录命令

      这样的格式 不是太利用搜索 因为很少有人搜索 mkdir 使用详解 及linux下mkdir 而搜索 mkdir 命令、mkdir参数、

      mkdir、用法、linux mkdir(中间用空格 而非一个”下”字) 校多,综合考虑 统一改为 linux mkdir命令参数及用法详解—linux创建目录命令

    继续阅读 »

    Spring学习笔记

    1、ApplicationContext是BeanFactory的扩展
    1)BeanFactory接口擅长于处理bean的初始化和配置,而ApplicationContext接口除了上述的工作化,还针对企业应用提供了许多基础支持,如事务处理和AOP
    2)注入依赖(DI):通过构造方法的参数、工厂方法的参数,或给由构造函数或工厂方法创建对象设置属性。
    3)IoC: Inversion of Control
    4)depends-on: 当某些bean需要特定bean实例化后再进行实例化时,需要指定bean的id,多个以逗号分隔。
    5)lazy-init: 当某些bean不希望在ApplicationContext初始化时就提前实例化时,只有当其被使用时才真正进行实例化。
    6)Lookup方法注入,还有一些模糊,加强理解
    (121页 2011-05-31)
    继续阅读 »

    JDK6-u18引发的重大问题

    一、 现象:
    服务器不老实,不断报警,JVM就这么不堪一击地挂了。
    系统环境:Red Hat Enterprise Linux Server release 5.3 (Tikanga) 64位
    JDK: JDK6-u18
    二、日志截取

    1、jboss_stdout.log
    发现一大堆的broken pipe异常
    2、mod_jk.log
    也发现一堆的 继续阅读 »

    成长感悟:《我今年,二十七八岁》

    继续阅读 »

    2010中国互联网哈哈榜之2:十大搞笑段子

    段子年年有,今年特别多。追寻回忆,搜集了一年中和互联网行业相关的一些段子,以飨读者。网络段子或赞扬或讽刺,或嘲弄,或戏谑,或调侃,或规劝,目的尽在不言中。一句段子的效果,抵得过千言万语。(沿用去年的开场白,一是偷懒,二是觉得无法超越。)

    【段子1】一个老板听说安了360后不能用QQ,于是下令公司所有电脑都装上360的产品,以遏制员工上班时间聊QQ、逛空间。360,中小企业老板的必备武器。 继续阅读 »

    MySQL常用命令与方法

    一、查看命令

    1. 查看建表语句
      show create table 表名;
    2. 查看当前运行的语句
      show processlist;

      show full processlist;
    3. 查看当前运行状态

    1) status;

    参数说明

    • mysql.sock 该值是用于当mysql的客户机和服务端都在一台服务器时通信所用,开发机默认都装有客户机。线上服务器依情况而定
    • Questions: 统计的是客户端发出请求的数量(一般不用关心)
    • Slow queries: 慢查询的执行次数,这个慢查询的规定需要在启动时指定时限,比如2秒
    • Queries per second avg: 每秒执行的查询次数。如果值太大,则需要考虑减轻数据库的压力了

    继续阅读 »

    轻松搭建一个Windows SVN服务器

    前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理。这里我就介绍一个在Windows环境下简单快速搭建SVN服务器的方法。

    通常的SVN服务器是搭建在Linux等系统下,例如用Apache+SVN配置,Linux下的SVN性能会非常好,但配置有些繁琐,如果SVN服务器只有自己使用,那么可以直接把SVN服务器搭建在个人Windows环境下使用。

    目前较为简单的方案是VisualSVN Server。该SVN服务器是免费的,支持Windows NT, 2000, XP and 2003等环境,安装非常简单。

    安装的时候可以选择SVN走http协议还是https协议,http协议速度快一些,而https协议安全性好。两者均可以从浏览器直接访问SVN项目。

    安装完成后打开,可以看到一个微软的MMS管理界面,在里面可以轻松添加设置项目。用户权限可以使用Windows的用户,也可以单独新建用户。如果原先有一个SVN数据,则可以在界面上导入原有的SVN数据。

    VisualSVN Server

    SVN客户端依旧推荐使用Windows下的TortoiseSVN,两者搭配起来,非常好用。

    Html元素引起多次加载页面的问题分析

    一、Button元素

    button各个浏览器的表现,在w3c中,标准的button,其type是submit,等效于<input type=”submit” value=”xxx”/>

    浏览器 type 行为 解决办法
    Firefox submit 会提交表单 指定type
    chrome submit 会提交表单 指定type
    ie6 button 不会提交表单  
    ie7 button 不会提交表单  
    ie8 submit 会提交表单
    1. 当指定type为button时,则可以避免误用button。 如 <button type=”button” onclick=”dosomething();”>我不是提交</button>。
    2. 可以在onclick事件添加return false;避免提交, 如 <button onclick=”dosomething(); return false;”>我不是提交</button>。
    3. 通过在页面head处添加页面以ie7兼容模式查看,也可解决<meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ />
    ie9 submit(未测) 会提交(未测) ie9不支持xp,暂时无法测试,其号称是支持标准最规范,那么其默认是submit

    继续阅读 »

    如何合理安排自己的创业生涯?

          1、克服你的弱点。在努力过程中,不要老是做你喜欢和擅长的事,也要倾注意力于你有待改进的领域。
    2、每次进取一个目标。不要幻想着一步登天,只谋求每一次比前阶段上升百分之一。每天进步1%!慢慢的,成功就这样被一点点积累出来。
    3、把时间敲死。大量事实说明:时断时续、信马由缰式的“勤奋“不会有好效果。要想出成绩,必须做到时间固定、雷打不动、确保实效。
    4、安排休整的时间。不要忘记在时间表上安排“休息“:在家里,可以安排个午觉;即使在办公室,也要学会在脑子紧张运转之后“换换档”。
    5、给自己一个胡萝卜。管你的任务多艰巨,时间有多紧,都要为自己取得的成绩设置“奖励“。如果你完成了今天规定的任务,不妨去看一场电影;如果你坚持了本月的训练计划,可以为自己买一双新跑鞋。这样的“奖励“能刺激自己更努力地工作。
    6、组织起你的啦啦队。不管你目标是什么,单打独干总是难受的。你需要有人支持你,对你说“干得好!告诉你的亲朋好友你的目标是什么,看看他们在哪些地方能够提供帮助。你需要他们的帮助来实现你的目标,他们也需要你的帮助来实现自己的。奋斗过程中会遇到障碍、困难和痛苦难熬的时刻,有时,你甚至想把这一切全放弃。他们对你的股鼓励往往就成为你翻越阻碍的动力

    Apache MINA 网络框架介绍

    MINA 的基础架构

    下图是 MINA 的架构图,

    图 1:MINA 的架构图

    在图中的模块链中,IoService 便是应用程序的入口,相当于我们前面代码中的 IoAccepter,IoAccepter 便是 IoService 的一个扩展接口。IoService 接口可以用来添加多个 IoFilter,这些 IoFilter 符合责任链模式并由 IoProcessor 线程负责调用。而 IoAccepter 在 ioService 接口的基础上还提供绑定某个通讯端口以及取消绑定的接口。在上面的例子中,我们是这样使用 IoAccepter 的:

    继续阅读 »

    深入Java垃圾回收_调优篇

          在Java中,通常通讯类型的服务器对GC(Garbage Collection)比较敏感。通常通讯服务器每秒需要处理大量进出的数据包,需要解析,分解成不同的业务逻辑对象并做相关的业务处理,这样会导致大量的临时对象被创建和回收。同时服务器如果需要同时保存用户状态的话,又会产生很多永久的对象,比如用户session。业务越复杂的应用往往用户 session包含的引用对象就越多。这样在极端情况下会发生两件事情,long gc pause time 或 out of memory。

    继续阅读 »

    深入Java垃圾回收机制_认识篇

         虽然各家 JVM 的实现(Sun Hotspot、IBM J9、Oracle JRockit 等)不同,但均采用了按代的垃圾收集机制。垃圾收集就是标识出虚拟机中不被用到的垃圾对象,删除以回收空间。按代垃圾收集算法主要分为三种:

         1、复制算法:空间被分为等大的两块,从根开始访问每一个关联的活跃对象,将空间 A 的活跃对象全部复制到空间 B,然后一次性回收整个空间 A,优点:只访问活跃对象,将所有活动对象复制走之后就清空整个空间,不用去访问死对象,所以遍历空间的成本较小,缺点:需要巨大的复制成本和较多的内存;
         2、标记清除算法:从根开始访问所有活跃对象,标记为活跃对象。然后再遍历一次整个内存区域,把所有没有标记活跃的对象进行回收处理,优点:不需要额外的空间,缺点:较长的 GC 暂停时间,较大的扫描时间开销,产生较多的空间碎片;
         3、标记清除整理算法:综合上两种算法的优点,先标记活跃对象,然后将其合并成较大的内存块。
        代的划分:

    继续阅读 »

    高并发、海量数量服务的设计原则及策略总结

    互联网服务的特点就是面向海量级的用户,面向海量级的用户如何提供稳定的服务呢?基于互联网的特征,特总结以出原则和策略。
          一、原则
          1.Web服务的CAP原理
          CAP指的是三个要素:一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance)。CAP原理指的是这三个要素最多只能同时实现两点,不可能三者兼顾,对于海量级服务,一般这是一条常记心中的基准准则。 
          关于CAP的定义:

    • 一致性:可以参考数据库的一致性。每次信息的读取都需要反映最新更新后的数据。
    • 可用性:高可用性意味着每一次请求都可以成功完成并受到响应数据
    • 分区宽容度:这个是容错机制的要求。一个服务需要在局部出错的情况下,没有出错的那部分被复制的数据分区仍然可以支持部分服务的操作,可以简单的理解为可以很容易的在线增减机器以达到更高的扩展性,即所谓的横向扩展能力。

    继续阅读 »

    快速排序_Java实现

    算法的基本思想

    快速排序的基本思想是基于分治策略的。对于输入的子序列L[p..r],如果规模足够小则直接进行排序,否则分三步处理:

    • 分解(Divide):将输入的序列L[p..r]划分成两个非空子序列L[p..q]和L[q+1..r],使L[p..q]中任一元素的值不大于L[q+1..r]中任一元素的值。
    • 递归求解(Conquer):通过递归调用快速排序算法分别对L[p..q]和L[q+1..r]进行排序。
    • 合并(Merge):由于对分解出的两个子序列的排序是就地进行的,所以在L[p..q]和L[q+1..r]都排好序后不需要执行任何计算 L[p..r]就已排好序。

    这个解决流程是符合分治法的基本步骤的。因此,快速排序法是分治法的经典应用实例之一。

    继续阅读 »

    面朝大海,春暖花开

    作者:海子

    从明天起,做一个幸福的人

    喂马、劈柴,周游世界

    从明天起,关心粮食和蔬菜

    继续阅读 »

    说说关于产品经理的事

          产品经理的概念最初是由美国的宝洁公司于1927年提出(另有说1931年,差不多就是二十世纪二三十年代)。当时宝洁推出一种佳美牌(camay)香皂,但销售业绩较差。一名叫麦古利的年轻人在一次会议上提出:如果公司的销售经理把精力同时集中于camay香皂和lvory(宝洁的一种老牌香皂)的话,那么camay的 潜力就永远得不到充分发掘。幸运的麦古利赢得了宝洁高层的支持,之后,每一个宝洁品牌都当做一个单独的事业在经营,有其专门的产品人员、销售人员支持,与 其它品牌同时竞争。同时,他的成功表现使宝洁认识到产品管理的巨大作用,之后,宝洁便以“产品管理体系”重组公司体系。这种管理形式为宝洁赢得了巨大的成 功,也导致后来大部分消费性商品业者纷纷沿用和抄袭。

    继续阅读 »

    【转】为什么你逃不脱打工被老板压榨的命运?

    即《为什么毕业后5年同学间的差距会拉得如此巨大?》引起大家不少的共鸣,今天继续发布一篇励志的文章,首先声明:如果你是“愤青”或“类愤青”,对不起,请你离开,我怕我的观点再次伤害你那“纯洁”得几乎不识人间烟火的心灵!

    如果你想从此改变自己,那么,就花上十几分钟的时间,仔仔细细把这篇文章看完。如果你想改变自己的命运,那么,从现在就开始行动。有时候我们之所以失败,99%的原因是因为说得太多,而行动得太少!那1%的人或许并不聪明,或许只是小学毕业,但是人家成功了,做了你的上司,那是因为人家善于用行动证明自己,而不是嘴巴。我不敢保证看了我这篇文章就一定会使你平步青云,我没有那个本事。如果你有一天飞黄腾达,也绝对与这篇文章没有直接的关系。因为,你的命运,只掌握在你自己的手中!

    继续阅读 »

    【转】为什么毕业后5年同学间的差距会拉得如此巨大?

          有人工作,有人上学,大家千万不要错过这篇文章,能看到这篇文章也是一种幸运,真的受益匪浅,对我有很大启迪,这篇文章将会改变我的一生,真的太好了,希望与有缘人分享,也希望对有缘人有所帮助!看完之后有种“相见恨晚”的感觉,特别激动,希望大家好好的珍藏这篇文章,相信多年以后,再来看这篇文章,一定有不同的感觉。 继续阅读 »

    【转】关注性能: 异常的异常

    2004 年 2 月 13 日

    Java 性能狂热者 Jack Shirazi 和 Kirk Pepperdine 分别是 JavaPerformanceTuning.com 的董事和首席技术官,他们从事全球 Internet 上的性能问题讨论,关注开发者遇到的困难。这个月在JavaRanchh 上的访谈,通过深入分析故事背后的故事,他们反驳了关于异常的营火会故事(译者注:即 campfire stories,是 JavaRanchh 推出的一个专栏,专门以童话故事的形式讲授 Java 技术)。

    在这个专栏的 第一期,我们讨论了抛出异常的开销。这个月,我们换一个角度再来看这个主题 ―― JVM 如何处理所抛出的异常 ―― 并且我们要考虑,最理想的异常编码应该看成是早期的优化还是最优方法?

    继续阅读 »