工欲善其事,必先利其器

本篇只是随便侃侃,有感而发,如有负重伤,请无(说)要(明)自(做)行(得)套(不)入(够)。

正文版权归翟士丹(Stan
Zhai)和博客园共有,欢迎转载,但未经作者同意要保留这个段子声明,且当文章页面明显位置于来本和链接,否则保留追究法律责任的权利。
初稿地址:http://www.cnblogs.com/jasondan/p/it-memo.html

有关程序生涯

如题,关于这点,有道是“一往误入此门中,从此红尘了如空。”

图片 1

 

俺们经常得窥见:同样的一样批判从事开发的伴儿,在短短的几年晚(有时候1年尽管发生反差了),有的人可以变成项目组长或核心技术,有的人得以成为项目经理,有些人好变成技术总监……当然,有的要码农。码农之中,有两三年的码农,也来五六年之名码农,有的码农还是只见面WebForm、WebService,有的码农已经会MVC、Jquery了,但是不管什么,他们仍要码农。

码农没有啊不好,我这边吧无是污蔑和讽刺,如果你道是,那我以此间吃你先道歉了。

本来,并无是持有的码农都是满为现状的,其中大部分总人口,都想着30转行或当保管或当工作,可是几乎年之年华过去了,他们本是老样子。我们经常可见的是,开发一些年了,还当编制着蹩脚的代码和坏之文档,大部分新技巧吧不知所终。会略的操作Office,但是写不好一个优质的Office文档。也许会手动测试下好编排的效用,但是没会写单元测试。偶尔会重构代码,不过数是一律块代码已经影响看的情事下。会就此VS和Eclipse等,但是既然无玩过GitHub,也不知晓MarkDown,更不说Axure
RP。会刻画说说跟情怀与刷朋友圈,但是于无写了千篇一律篇博客。往往多讨厌前端,但是据在编辑蹩脚的JavaScript,既非会见失掉尝试TypeScript,也无见面去行使KnockoutJs和AngularJs。也许会刻画写需求计划,但是于无计较打了心血图、流程图与框图,因为他俩认为他们不见面……总之,他们妄想改变现状,却连连发出各种借口推脱看似无关的政工,或者说没主动踏出相关的要看似无关之小圈子。

从未哪个天生会驾驭这些日新月异的家伙,也并未哪位出生便顺手天赋技能,同样的岁月,那干什么来如此之死之区别为?我只能说,态度同业余付出决定程序生涯!

术站点

Hacker News:非常强的针对编程的链接聚合网站

Programming reddit:同上

MSDN:微软有关的官方技术集中地,主要是文档类

infoq:企业级以,关注软件开发领域

OSChina:开源技术社区,开源方面举行的不错哦

cnblogs,51cto,csdn:常见的技巧社区,各出专长

stackoverflow:IT技术问答网站

GitHub:全球最为充分之源代码管理平台,很多有名开源项目都于方,如Linux内核,

OpenStack等免费的it电子书:http://it-ebooks.info/

DevStore:开发者服务店

关于态度

不知从何时起,泡沫和浮躁越来越多了,30转行说,技术无前途说等等充斥着各大新闻海洋。对于这种,我只是想说,“干一尽,爱平等尽!”,如果您并本的办事还召开不好,何谈其他(当然为无是纯属的)。

力量及素质的升官往往是差不多点的,而这些提升往往在你办事的情态及习惯。好的习惯往往是好之态势下日渐养成的。

针对自我没有要求的程序员不是好程序员。

无须只是局限为付出方的东西,能力是以差不多地方进行反映的。而且好之关系能力和支出文档编写能力呢足以吃你当开发方走之又远,开发为还轻松。

部分人当发现自己技术不在行的早晚,他第一时间不是错过上与完美,而是去幻想着转会治本与作业。且不说他是不是发生这个力量,就说他这情形——不可知正视自己的长和缺陷,而是幻想着转移阵地(臆想这个阵地比较轻松,好像就是分分任务),即使转换了,也麻烦当好管理。现在互联网公司提高这么快,对管理职位的求更为大,如果您不能够与时俱进以及不断完善自己,那么晚早为是会为淘汰的。

一对人对己要求非常严峻,眼里揉不下沙子,看见冗余代码就要重构,看见蹩脚代码就去思着改良,这习惯一变异,往往架构能力的成材就是尽快得差不多。

一对人办事积极,做政工总是严格要求自己。比如要求计划表达清晰明确,框图、流程图都写的敬业,各种Office文档玩得顺,那么其要求计划能力,文字组织力量会随地增高,如果沟通方面再次加强锻炼,往项目管理要产品经理方向发展是老大有潜质的。

是的的图书

人件

人月神话

代码大全2

计算机程序设计方法

程序员的自家修养

程序员修炼之志

强功能程序员的修炼(成为同名为杰出之程序员其实与写代码没有尽怪关系)

深切明计算机体系

软件随想录

算法导论(麻省理工学院出版社)

离线数学及其应用

设计模式

编程的美

黑客和画家

编程珠玑

C++ Prime

Effective C++

TCP/IP详解

Unix 编程艺术

《精神分析引论》弗洛伊德

搞定:无压力工作之章程

平台工具(都是开源的好东东哦)

Redmine/Trac:项目管理平台

Jenkins/Jira(非开源):持续集成系统(Apache
Continuum,这个是Apache下的CI系统,还尚未来得及研究)

Sonar:代码质量管理平台

git,svn:源代码版本控制系统

GitLib/Gitorious:构建友好之GitHub服务器

gitbook:https://www.gitbook.io/写书之好东西,当然就此来形容文档也非常不错的

Travis-ci:开源项目不断集成必备,和GitHub相结合,https://travis-ci.org/

至于提交

迅哥儿曾经说过,“岂出资质,我只是把人家喝咖啡的年月因故当上学上。”。基于这句话我产生以下感想:

  1. 光阴未是他人给的,是协调挤出来的,只要了解怎么把握时间,时间便是友好的。
  2. 惟有来懂得把握时间的美貌是天才
  3. 圣才无是天生的,是日积淀下的
  4. 做事之余的年华用频繁控制相的出入

办事之交由自己虽未以此多说了。有时候能够一个人口关系多个人的生的时刻,起初请不要拒绝,而是应该强调这会锻炼和锻炼自己,当打磨的差不多了,要么提要求,要么走人吧。但是注意一点,做跨我负荷的工作的上,请不要开那些还的虚幻的业务,即时有时有以未克拒绝,也要是惦记方将该因未那么机械的艺术成就。我那时恰好入开发时,就喜爱主动挑那些难度高的任务做,既避免开无意义之办事,又挑战了和睦,何乐而无也耶。

接下还议论业余付出。没有一个老板会让您足足的流年吃您以干活的时失去念,而学对能力和素质的升迁以极为重要,因此工作的余的交由,对于程序生涯影响挺特别,甚至决定了彼此之间的距离,而且当以此距离一拉开,其只见面因为更加快的形式频频的充实彼此的区别。

业余学习、业余锻炼(私活)、业余创业、业余兴趣发展(做手游开发、打造框架、做要好的成品等等)这些都是没错的挑选。

不时有人说,我来提携您做框架吧,然后对接下去就是没然后了。而自,也转向商业框架,走向“简单设计”之路了。

每每有人说,大湿,你来带动带本人吧,像自家这么忙的食指,但是经常为会见受闹方向,很多时分,买本书做个体系的求学比较什么还好,如果怕自己非扣,就市贵点的,如果还是无看,只能说发生钱任性吧,那么帮助我吧。

时有人说,大湿,给点项目呗。说句实话,靠谱的外包者过少,坑了几不成我呢绝对了此念想了,还是老老实实的做团结想做的作业吧。

夜深了,就形容及这里吧。

开源测试工具、社区(Selenium、OpenQA.org)

Puppet:一个机关管理引擎,可以适用于Linux、Unix以及Windows平台。所谓配置管理网,就是管理机器内部如文件、用户、进程、软件包这些资源。无论是管理1玉,还是上万玉机器Puppet都能轻松搞定。

Nagios:系统状态监控告警,还发只Icinga(完全匹配nagios所有的插件,工作原理,配置文件和艺术,几乎等同。配置简单,功能强大)

Ganglia:分布式监控体系

fleet:分布式init系统

爬虫相关(好玩的家伙)

Phantomjs

berserkJS(基于Phantomjs的改进版本)

SlimerJS

CasperJS

selenium

Web服务器性能/压力测试工具/负载均衡器

http_load: 程序非常小,解压后呢未至100K

webbench:
是Linux下之一个网站压力测试工具,最多可套3万独冒出连接去测试网站的载重能力

ab: ab是apache自带的平等慢性功能强大的测试工具

Siege:
一慢慢悠悠开源的下压力测试工具,可以根据部署对一个WEB站点进行多用户之起访问,记录每个用户所有请求过程的应和时间,并以得数量的出现访问下再进行。

squid(前端缓存),nginx(负载),nodejs(没错它也足以,自己写点代码就能兑现强性能的载荷均衡器):常用的载荷均衡器

Piwik:开源网站访问量统计系统

ClickHeat:开源之网站点击情况热力图

HAProxy:高性能TCP /HTTP负载均衡器

ElasticSearch:搜索引擎基于Lucene

Page Speed SDK和YSLOW

HAR Viewer: HAR分析工具

protractor:E2E(end to end)自动化测试工具

Web前端相关

GRUNT: js task runner

Sea.js: js模块化

knockout.js:MVVM开发前台,绑定技术

Angular.js: 使用超动感HTML & JS开发WEB应用!

Highcharts.js,Flot:常用之Web图表插件

Raw:非常不利的一致迟迟高档数据可视化工具

Rickshaw:时先后图标库,可用于构建实时图表

JavaScript InfoVis Toolkit:另一样缓缓Web数据可视化插件

Pdf.js,在html中展现pdf

ACE,CodeMirror:Html代码编辑器(ACE甚好啊)

NProcess:绚丽的加载进度条

impress.js:让你打造有令人眩目的始末展示效果(类似的还有reveal)

Threejs:3DWeb库

Hightopo:基于Html5的2D、3D可视化UI库

jQuery.dataTables.js:高度灵活的表插件

Raphaël:js,canvas绘图库,后来意识百度指数的图样就是用它画出的

director.js:js路由模块,前端路由,Nodejs后端平路由于当,适合布局单页应用

pace.js:页面加载进度长长的

bower:Web包管理器

jsnice:有趣的js反编译工具,猜压缩后的变量名 http://www.jsnice.org/

D3.js: 是一个基于JavaScript数据展示库(类似之还有P5.js)

Zepto.js:移动端替代jQuery的东东,当然也可采取jquery-mobile.

UI框架:Foundation,Boostrap,Pure,EasyUI,Polymer

前端UI设计师必去之几只网站:Dribbble,awwwards,unmatchedstyle,UIMaker

Mozilla 开发者中心:https://developer.mozilla.org/en-US/

图标资源:IcoMoon(我之顶易),Themify Icons,FreePik,Glyphiconsart

Dialog:非常美妙的对话框

AdminLTE:github上的一个开源项目,基于Boostrap3的后台管理页面框架

Respond.js:让非懂爱的IE6-8支撑响应式设计

require.js: js模块加载库

select2:比chosen具有双重多特点的精选框替代库

AngularUI:集成angular.js的UI库

normalize.css: 采用了现代化正规化给各国浏览器渲染出底html保持一致的仓库

CreateJS:Html5嬉戏引擎Less,Compass:简化CSS开发

emojify.js:用于自动识别网页上之Emoji文字并拿那形为图像

simditor:一个不易的开源的html编辑器,简洁高效

Sencha: 基于html5的活动端支付框架

SuperScrollorama+TweenMax+skrollr:打造超酷的视差滚动效应网页动画

jquery-smooth-scroll:同齐,平滑滚动插件

Animate.css:实现了各种卡通效果的css库

Emmet:前端工程师必备,ZenCode的前身

MagicDraw:Uml图工具

杀数据处理/数据解析/分布式工具

Hadoop:分布式的文件系统,结合该MapReduce编程模型可以用来做海量数据的批判处理(Hive,Pig,HBase啥的就算不说了),值得介绍的是Cloudera的Hadoop分支CDH5,基于YARN
MRv2集成了Spark可径直用于生产条件之Hadoop,对于公司飞速构建数据仓库非常实惠。

Ceph:Linux分布式文件系统(特点:无中心)

Storm:实时流数据处理,可以看下IBM的等同首介绍
(还起只Yahoo的S4,也是做流数据处理的)

Spark:大规模流式数据处理(可以应付企业遭到常见的老三种植多少处理场景:复杂的批量数处理(batch
data processing);基于历史数据的交互式查询(interactive
query);基于实时数据流的数处理(streaming data
processing)),CSND有首文章介绍的不利

Spark Streaming:基于Spark的实时计算框架

Tachyon:分布式内存文件系统

Mesos:计算框架一个集群管理器,提供了卓有成效之、跨分布式应用或框架的资源隔离和共享Impala:新一代表开源深数目解析引擎,提供Sql语义,比Hive强以进度直达

SNAPPY:快速的数据压缩系统,适用于Hadoop生态系统中

Kafka:高吞吐量的分布式消息队列系统

ActiveMQ:是Apache出品,最流行的,能力强大的开源信息总线

MQTT:Message Queuing Telemetry
Transport,消息队列遥测传输)是IBM开发之一个即时通讯协议,有或成为物联网的机要片段

RabbitMQ:记得OpenStack就是用底此事物吧

ZeroMQ:宣称是用分布式计算变得又简单,是独分布式消息队列,可以看下云风的平等篇稿子的介绍开源的日志收集体系:scribe、chukwa、kafka、flume。这有同一首对比文章

Zookeeper:可靠的分布式协调的开源项目

Databus:LinkedIn 实时没有顺延数据抓取系统

数据源获取:Flume、Google Refine、Needlebase、ScraperWiki、BloomReach

序列化技术:JSON、BSON、Thrift、Avro、Google Protocol Buffers

NoSql:Apache Hadoop、Apache Casandra、MongoDB、Apache
CouchDB、Redis、BigTable、HBase、Hypertable、Voldemort、Neo4j

MapReduce相关:Hive、Pig、Cascading、Cascalog、mrjob、Caffeine、S4、MapR、Acunu、Flume、Kafka、Azkaban、Oozie、Greenplum

数处理:R、Yahoo! Pipes、Mechanical Turk、Solr/
Lucene、ElasticSearch、Datameer、Bigsheets、TinkerpopNLP自然语言处理:Natural
Language Toolkit、Apache OpenNLP、Boilerpipe、OpenCalais

机械上:WEKA、Mahout、scikits.learn、SkyTree

可视化技术:GraphViz、Processing、Protovis、Google Fusion
Tables、Tableau、Highcharts、EChats(百度的尚不易)、Raphaël.js

Kettle:开源的ETL工具

Pentaho:以工作流为基本的开源BI系统

Mondrian:开源的Rolap服务器

Oozie:开源hadoop的工作流调度引擎

开源的多寡解析可视化工具:Weka、Orange、KNIME

Cobar:阿里巴巴之MySql分布式中间件

C & C++

Thrift:用来进行可扩大且超过语言的服务之开发(类似的还发出只Avro,Google
protobuf)。

libevent:是一个事件触发的网络库,适用于windows、linux、bsd等多阳台,内部使用select、epoll、kqueue等体系调用管理事件机制。(对了还发只libev呢)

Boost:不多说了,准C++标准库

Ptmalloc\Valgrind\Purify

NetworkServer架构:acceptor->dispatcher->worker(这个不到底工具哦)

breakpad:崩溃转储和分析模块,很多crashreport会因此到

UI界面相关:MFC、BCG和QT这好像的便背着了,高端一点之还有Html和DirectUI技术:libcef(基于chrome内核的,想想使用html5支付页面,还当真来硌多少感动啊)、HtmlLayout、Duilib、Bolt,非C++的,还有node-webkit也没错,集成了node和webkit内核。

玩开发有关

MINA:使用Java开发手游和页游服务器(对了还有Netty,也酷霸道的,都是因NIO的)

HP-Socket:见出小页游服务器使用这个构建的

云风的技能博客:http://blog.codingnow.com/

OGRE:大名鼎鼎的3D图形渲染引擎

OpenVDB:梦工厂C++的特效库,开源的

cocos2d:跨平台2D玩耍引擎

unity3d:跨平台3D游戏引擎,很恼火的啊

Nodejs:也有多用它来开发手游和也来服务器(网易的Pomelo就是啊)

日记聚合,分布式日志收集

Scribe:Facebook的(nodejs + scribe + inotify 同日志)

logstash:强大的日志收集系统,可以因logstash+kibana+elasticsearch+redis开发强大的日记分析平台

log.io: nodejs开发的实时日志收集体系

RTP,实时传输协议和音视频

RTP,RTCP,RTSP-> librtp,JRTPLIB(遵循了RFC1889标准)

环形缓冲区,实时数据传用

SDL,ffmpeg,live555,Speex

Red5:用Java开发开源的Flash流媒体服务器。它支持:把拍子(MP3)和视频(FLV)转换成播放流;
录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。

Python

Eric,Eclipse+pydev,比较科学的Python IDE

PyWin:Win32 api编程包

numpy:科学计算包,主要用以处理大型矩阵计算相当于,此外还有SciPy,Matplotlib

GUI相关:PyQt,PyQwt

supervisor:进程监控工具

Java相关

常用的IDE:IntelliJ IDEA,Eclipse,Netbeans

Web开发相关:Tomcat、Resin、Jetty、WebLogic等,常用之零件Struts,Spring

HibernateNetty:
异步事件驱动网络使用编程框架,用于高并发网络编程比较好(NIO框架)

MINA:简单地出大性能及高可靠性的大网应用程序(也是个NIO框架),不少手游服务端是因此它支付之

jOOQ:java Orm框架Activiti:工作流引擎,类似的还有jBPM、Snaker

Perfuse:是一个用户界面包用来将生组织与任组织数据为独具交互性的可视化图形展示出来.

Gephi:复杂网络分析软件,
其首要用来各种网络与错综复杂系统,动态和分层图的彼此可视化与探测开源工具

Nutch:知名的爬虫项目,hadoop就是打者类型遭到前进下的

web-harvest:Web数据提取工具

POM工具:Maven+ArtifactoryNetflix

Curator:Netflix公司开源的一个Zookeeper client
library,用于简化Zookeeper客户端编程

Akka:一磨蹭基于actor模型实现的 并发处理框架

EclEmma:覆盖测试工具

.net相关

Xilium.CefGlue:基于CEF框架的.NET封装,基于.NET开发Chrome内核浏览器

CefSharp:同上,有一款WebKit的封装,C#暨Js交互会再度简短

netz:免费之 .NET 可执行文件压缩工具

SmartAssembly:变态的.net代码优化混淆工具

NETDeob0:.net反混淆工具,真是魔高一尺道高一丈啊(还出个de4dot,在GitHub上,都是开源的)

ILMerge:将有着援的DLL和exe文件由成一个exe文件

ILSpy:开源.net程序反编译工具

Javascript.NET:很对的js执行引擎,对v8做了打包

NPOI: Excel操作

DotRAS:远程访问服务之模块

WinHtmlEditor: Winform下的html编辑器

SmartThreadPool:使用C#兑现的,带高级特性的线程池

Snoop: WPF Spy Utility

Autofac: 轻量级IoC框架

HtmlAgilityPack:Html解析利器

Quartz.NET:Job调度

HttpLib:@CodePlex,简化http请求

SuperSocket:简化Socket操作,基于他的尚时有发生个SuperWebSocket,可以支付独立的WebSocket服务器了

DocX:未安装Office的情状下操作Word文件

Dapper:轻量级的ORM类,性能是

HubbleDotNet:支持连数据库的全文检索系统

fastJSON:@CodeProject,高性能的json序列化类

ZXing.NET:@CodePlex,QR,条形码相关

Nancy:轻量级Http服务器,做个袖珍的Web应用可以解脱IIS喽(Nancy.Viewengines.Razor,可以参加Razor引擎)

AntiXSS:微软的XSS防御库Microsoft Web Protection

LibraryJint:JavaScript解释器

CS-Script:将C#代码文件作为脚本执行

Jexus:Linux下 高性能、易用、免费的ASP.NET服务器

Clay:将dynamic发挥的愈加灵敏,像写js一样写C#

DynamicJSON:不必定义数据模型获取json数据

Antlr:开源的语法分析器(归到C#免绝合适,其他语言为足以去用)

SharpPcap:C#本的WinPcap调用端,牛逼的网保险分析库(自带PacketNotNet用于包商分析)

Roslyn:C#,VB编译器

ImageResizer:
服务端自由支配图片大小,真乃神器啊,对手机端传小图,PC端传大图,CMS用她不行方便

UI相关:DevExpress, Fluent(Office 07风格), mui(Modern UI for WPF)

NetSparkle:应用自动更新组件

ConfuserEx: 开源.net混淆工具

ServiceStack:
开源高性能Web服务框架,可用来构建大性能的REST服务Expression

Evaluator:Eval for C#,处理字符串表达式

http://nugetmusthaves.com/

常用工具

Fiddler:非常好用的Web前端调试工具,当然是针对底层http协议的,一般情形使用Chrome等自带的调节工具为足够了,特殊状况还得用她去处理

wireshark:知名的纱数据包分析工具

PowerCmd:替代Windows Cmd的利器

RegexBuddy:强大的正则表达式测试工具

Soure Insight:源代码阅读神器

SublimeText:程序员最易的编辑器

Database.NET:一个通用的涉项目数据库客户端,基于.NET
4.0出的,做简单的处理或不行方便之

Navicat Premium:支持MySql、PostgreSQL、Oracle、Sqlite和SQL
Server的客户端,通用性上不设Database.NET,但性能方面比Database.NET好广大,自带备份功能为用于数据库定时备份。

Synergy : 局域网外同样仿照键盘鼠标控制多贵微机

DameWare:远程协助工具集(我以铺子第一决定甚屏幕用)

Radmin: 远程控制工具,用了一段时间的

DameWare,还要破解,对Win7支持之糟糕,还是察觉这个好用

Listary:能太大幅度提高你 Windows 文件浏览和寻找速度效率的「超级神器」

Clover:给资源管理器加上多标签

WinLaunch:模拟Mac OS的Launch工具

Fritzing:绘制电路图

LICEcap:gif教程制作git,

svn:版本控制系统Enigma Virtual Box(将exe,dll等封装成一个可执行程序)

Open DBDiff(针对SqlServer)数据库同步

SymmetricDS:数据库同步

BIEE,Infomatica,SPSS,weka,R语言:数据解析

CodeSmith,LightSwitch:代码生成

Pandoc:Markdown转换工具,出写用的。以前打了docbook,不过本还是Markdown盛行啊。

Window
Magnet[Mac]:增强Mac窗口管理作用,想Win7一样拥有窗口拖放到屏幕边缘自动调整的成效

log explorer:查看SqlServer日志dependency

walker:查询Windows应用程序dll依赖项

Shairport4w:将iPhone,iPad,iPod上之韵律通过AirPlay商量传输至PC上

ngrok:内网穿透工具Axure:快速原型制作工具,还起只在线作图的家伙国内的一个创业团做的,用在非常不错
http://www.processon.com

tinyproxy:(Linux)小型的代理服务器支持http和https协议EaseUS Partition

Master:超级简单的分区调整工具,速度或蛮快的,C盘不足够用了便因此它自从D盘划点空间吧,不用重装系统这么折腾哦。

CheatEngine:玩游戏修改外存值必备神器(记得自己在玩轩辕剑6底时即便用的她,超级福利啊)

ApkIDE:Android反编译神器翻、墙工具(自|由|门、天行浏览器)

计划工具:Sketch、OmniGraffle

MindManger:思维导图

发表评论

电子邮件地址不会被公开。 必填项已用*标注