开源之我见

2016年冬,我决定挣脱束缚的枷锁,不再作为他人的“试验品”,毅然走上那条路。

在迷茫无助之际,感谢我的精神导师——《极客与团队》的作者——引导我走向组建学习型分享型组织与开源运动的道路。

近些年,国内开源运动风生水起。开源项目如雨后春笋般地增长,其中不乏知名互联网企业的贡献,同时也可以看到新兴互联网企业的身影。

说到开源,一般的企业是不赞同,甚至坚决反对的。但这里不谈商业,只谈行业!

程序猿、攻城狮、产品狗等IT从业人员。应该清楚地看到,你们的舞台(亦或是战场)不仅仅是在你所效力的平台,是时候睁开眼去看看分布在全球各地的兄弟姐妹们了。

一、我们是对手,更是朋友

“如果你成功了,要感谢你的家人与朋友;如果你想持续成功,那请向你的对手致敬!”——我说的。同行,是个很微妙的关系。——即存在着竞争关系又存在着合作关系。——无法同时处理好这两种关系,可能会难以理解一些工作(甚至事业)上的“不可思议的游戏规则”。

兴许很多人已经看透了平台里这些潜规则,并能娴熟的做出对自己最有利的决定。但这里,我想说的是,“去与平行世界里的自己做游戏”。——这个“平行世界里的自己”不是“多重宇宙的自己”,而是分布在世界各地的,忙碌在所效力平台的自己(因为我们是一体的)。

感谢互联网,连接了你我的心;感谢开源运动,连接了你我的大脑。

“如果你自满了,那就出去看看外面的世界;如果你孤单了,那就去看看外面的世界。”开源运动,为全球的从业者搭建了一个开放、平等、自由的交流平台。在这里,你可以看到行业前沿,为自己的事业发展指明道路;在这里,你可以进行思想与思想的碰撞,激起创新的火花;在这里,你可以与全球最优秀的同行同台竞技,保持自己的最佳状态。

这是你的归宿——在这里你可以遇到志同道合的朋友,甚至人生的贵人。这是你的起点——积蓄好力量,望着远方,继续出发。 继续阅读开源之我见

第一个五年计划(2014-2019)——2017年计划一览表

事业

  1. 规范化、工具化、专业化
  2. 打造学习型、知识分享型团队
  3. 积极参加沙龙会议
  4. 积累人脉
  5. 参与开源项目

学习

  1. 学车
  2. 项目管理
  3. 每月读两本书:一本有声读物,一本纸质书
  4. 每周一篇博客

生活

  1. 理财
  2. 买房?
  3. 带父母体检或者在济南游玩
  4. 交友
  5. 旅游

java实现html转pdf-基于PhantomJS

一、前言

PhantomJS是一个无界面浏览器,可以在服务端通过命令行的方式使用。旨在用于页面自动化(page automation,网络监控(network monitoring, 页面截屏(screen capture,与无界面测试(headless testing)。

本文将介绍使用PhantomJS官方实现将网络页面与本地html文件渲染为pdf文件。

二、安装

去官网(http://phantomjs.org/download.html)下载合适的软件包——本文使用windows的软件包为例子。

下载软件包后,解压到指定位置(本文解压并改名为phantomjs——D:\dev\phantomjs)。

三、使用

PhantomJS官方提供很多优秀的例子(http://phantomjs.org/examples/),本文就是直接使用了其中一个例子(rasterize.js)。 继续阅读java实现html转pdf-基于PhantomJS

为科学正名

如今“专家当道,科学横行”。经常看到某某专家在互联网、地方电视台发布这样或者那样的科学新突破,并通过散布这些虚假消息以获取利益。

“弘扬科学精神,破除封建迷信”的口号,一直被大力宣扬。在不考虑其时代背景与政治背景的情况下,此口号的实施却略显空洞。

一、旧事物未必迷信,新事物未必科学

从刚开始带有政治色彩的反对封建时代的一切,到现在挖掘中国历史文化的瑰宝,已经逐步认识到中华文明源远流长、博大精深。

中医曾一度被以科学为依据而发展起来的西医认为是“巫术”,直到神经学、免疫学的深入研究,才逐步通过科学地方式解读出中医里“气血”“经络”等玄之又玄的概念,并初步理解其与疾病之间的关系。通过大数据分析不同药物组合对不同体质患者的作用效果,将有望为中药的奇特搭配在疾病治疗方面的数据依据。

儒学、易经也曾被当做封建时代留下的糟粕,但在社会基本稳定后,儒学在稳定政权、维护国家利益方面起到重要作用。至于易经,旨在阐明天地万物(也可以认为古人眼中的宇宙)的运作规律,只是有些说法尚不能通过科学严谨的方法进行证明。

现在流行着这么一套炒作流程“专家甲有观点A-专家乙反对甲的观点甲乙撕逼大战官方专家发布观点”。对于这类事件,有的人已经见怪不怪,有的人跟着汹涌澎湃。其实,是我们“太迷信科学”了!

一直以来,人类社会都是“少数人的勤快换来多数人的懒惰”。少数人的勤快指的是,深究事物的本质,发现事物的运作规律;多数人的懒惰指的是,直接使用少数人的结论或者劳动成果服务或者指导自己的生活。这本来是无可厚非的,但在这个信息急速膨胀的时代,不乏有人为了私利,虚构“科学结论”,迷惑诱导懒惰的多数人。

二、科学总是从正确走向错误

先放下“骗子专家”不谈,科学本身是一个结论从正确走向错误,却又不断完善探索方法与过程。对的,科学是方法、是过程,而不是结论!

牛顿(被誉为“站在巨人肩上的巨人”)不可不谓之伟大。他在经典力学、高等数学领域做出突出贡献。但在近代更微观、更宏观的物理学领域却被质疑与挑战,小爱当之无愧的坐上了物理学最前沿的第一把交椅。不过我相信,小爱的相对论理论也会在不远的将来被推翻(确切的说应该叫完善)。

人类历程不是一成不变的,所以一个时代的“科学结论”无法完全适用于下一个时代的“研究领域”。正如牛顿的经典力学理论完全可以适用于他的时代以及其后将近三百年的物理领域,但却无法适用于近代的高能物理学。——这不得不说是时代的束缚。

但有一点是可以肯定的,用独立思考与实验数据架构的探索方法与探索过程,将一步步完善科学理论大厦。

apache+tomcat配置负载均衡,实现http与websocket接口分压

一、应用场景

在生产环境中,应用服务器(此文以tomcat为例)不免面临高访问量的压力,相比而言web服务器(此文以apache为例)能够承担更大的并发量。Apache本身带有一些模块,可以完成对应用服务器访问流量分流分压的功能。这里就以apache+tomcat配置负载均衡的方式,实现httpwebsocket接口分压的效果。

二、系统环境

服务器:阿里云ECS服务器;

操作系统:ubuntu 14

应用服务器:tomcat 8.5+;

Web服务器:apache 2.4+;

三、Tomcat配置

tomcat官网下载压缩包,解压为两个tomcat实例(分别为tomcat-8080tomcat-8082)。

a) 修改tomcat-8080的配置文件(conf/server.xml

 <Connector port=”8080″ protocol=”HTTP/1.1″

               connectionTimeout=”20000″

               redirectPort=”8443″ URIEncoding=”UTF-8″ />

 <Connector port=”8010″ protocol=”AJP/1.3″

redirectPort=”8443″ URIEncoding=”UTF-8″ />

 <Engine name=”Catalina” defaultHost=”localhost” jvmRoute=”jvm8080″>

四、修改tomcat-8082的配置文件(conf/server.xml

 <Connector port=”8082″ protocol=”HTTP/1.1″

               connectionTimeout=”20000″

               redirectPort=”8443″ URIEncoding=”UTF-8″ />

 <Connector port=”8012″ protocol=”AJP/1.3″

redirectPort=”8443″ URIEncoding=”UTF-8″ />

 <Engine name=”Catalina” defaultHost=”localhost” jvmRoute=”jvm8082″> 继续阅读apache+tomcat配置负载均衡,实现http与websocket接口分压