架构师知识体系(5)--建立自己的知识体系吧
阅读原文时间:2021年04月21日阅读:4

整理内容:

http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=400103116&idx=1&sn=89bc2f3644603ffcf5f2c517172141ba&scene=23&srcid=1025169A7lqdEZNfEhpffDLE#rd

http://segmentfault.com/q/1010000002404545

http://www.phpxs.com/post/3508

1、引言

我们每天都在接受微信公众号的文章轰炸,我们点赞、转发,甚至保存。然后呢,我们为了什么学习?

我们发现自己有好多东西要学,但是哪些对我们有价值呢?哪些投资回报率不高呢?我们选择的标准是什么?

我们好像懂得了很多东西,但是别人一问,我们却讲不出来……

我们的职场核心竞争力真的有么?我们怎么建立起来?

身处的行业或者公司即使最大,也随时可能倒闭,如果组织靠不住,你是否具备了不依赖的能力?

这篇文章是我对自己这段时期的学习体会做的一个梳理,也试图来解答以上你可能也遇到的问题。

2. 第一步:从为什么开始

建立自己的知识体系,就像从一个四海为家的人到给自己建一栋安居的房子,你应该先问问自己为什么要这样做?构建自己的核心价值么?这句话在职业规划中老生常谈了,你有么?

(1)我为什么要去学习?

作为一个“功利”的成人学习者,我觉得知识能带给我价值,那价值体现又在哪里呢?体现在资源、人脉、金钱还有自信。特别是我这样一个从北漂转到三线小城的孩纸,我不学习,我就只能拿三线城市的平均工资……拿到IPO出任CEO赢取白富美走上人生巅峰难道只能在早九晚五在格子间里靠运气么?


行动从为什么开始的“黄金圈法则”

(2)我该怎么学习?

在工作中学习:工作中积累处理工作任务,与人沟通,也可以学习同事之间的优秀的做事技巧和方式。我对办公室政治的敏感度为零,这样就可以专注于工作的处理,避免人事间的消耗。推荐阅读《曾国藩的正面和侧面》。

在工作外学习:利用早上和晚上的时间来学习,这个时间段没有过多干扰,大块的时间可以用来专注做一件事。其他零碎的时间可以用做适合零碎看的内容:英语,新闻等。

(3)我要学什么?

通过下图的金字塔,我会发现我自己现在每天正在学习和坚持的是在哪个区间里面:


你可以有多个专业领域一起玩对么?

对于成年后的知识工作者,如何提高金字塔的高度是最重要的问题,即知识学习要聚焦,选中一个方向走下去,持之以恒。对于自己不擅长的知识,你就需要知道谁擅长,争取得到别人的协助。因为水平最高的人并非所有方面的水平都最高,只不过因为他们知道自己擅长的是什么、缺少的是什么,充分发挥自己的优势,紧密跟同伴协作。-田志刚《你的知识需要管理》

总之一句话,学那些让自己变得更加专业的知识,让自己的专业知识金字塔变得更高。

3. 第二步:知识的获取

搞清楚了目的,也知道了要学什么,怎么学之后,接下来我就要理清楚我能从哪里获取知识。

注意,我说的是知识,不是信息,也不是数据。知识是我可以用来做用的,而信息和数据不一定是。优衣库的视频和郭美美被判刑的信息对我一点用都没有;但是小米的饥饿营销却可以被我利用,成为我的知识。

所以知识的获取过程包含了筛选的过程,那这些信息从哪里来呢?

  1. 书本:快速阅读和主题阅读的方式能让我快速掌握某一领域的知识,对于畅销类的商业书籍其实也有它的可取之处,你至少知道了当下大家都在谈论什么。

  2. 微博:我关注的微博的技术类大V们都很少发生活类信息,他们更多的是干货文章的分享。

  3. 微信公众号:优质的微信公众号里面的文章你会发现很少鸡汤,很干货。

  4. 网络云课堂:怎么样既能学到东西又不用跑上海北京呢,那就去上网络云课程吧。

3.第三步:知识的整理和保存

知识的淘汰更新非常重要,我们是知识工作者,不是历史学家,很多信息甚至在我们收集到手之后就已经过期了。所以果断抛弃我们当下用不到的知识,用断舍离的方式来提醒我不要囤积“能用”但是当下对我没用的知识垃圾。

对于收集的素材和资料,我会保存在两个地方:

第一个地方是电脑,通过SVN和VPN我让家中的电脑和公司电脑里的文件保持同步更新,避免了来回拷贝的麻烦。

SVN 能保存我的文档所有的历史版本

第二个位置是网络笔记,通过印象笔记我把随时随地采集的信息(照片,想法)等通过手机保存,同时这些资料会同步到我的PC端去。(我一般整理成博客记录,很少使用网络笔记)

网络笔记本能随时随地记录想法和素材

5.第四步:知识的分享

教是最好的学习,实现90%的知识转化,分享是最好的方式。

那有小伙伴会说,哎,我自己都没学好,哪敢提什么分享呀。你一定要等到自己学富五车,饱腹经纶之后你才有勇气做分享吗?我在简书上分享了40几篇读书笔记,每一篇都廖有人问津,点个赞的都没有。这样也是一种分享啊,分享的过程我们强调的是输出,你只要能找到输出的地方,就一定会有人回应你的。

公司内部培训,部门内部分享,网络分享,文章分享,知乎问答,百度知道,能分享的地方太多了。对,这些都是检验你到底懂不懂的真正战场。

想尽办法让别人知道你知道

6. 第五步:知识的利用

任何知识如果对你无用,就是浪费时间。

通过收集,整理和分享之后,你已经将隐性知识转化为显性的知识了,不光你的大脑里有,你还能SHOW出来,工作当中不正需要你这样的伙伴么?

在工作中利用你所学到的东西,既能让验证所学,还能提高工作效率,何乐而不为呢。不要忘咯,我们成人学的最终目的就是为了工作嘛。(为了诗和远方么,滚犊子~!)

7. 第六步:创新臣妾做不到啊

创新其实没有我们想象的那么难,但也没有我们想象的那么容易。你看一堆创新类的书籍是没有办法实现创新的,就像你看完外科手术的教学视频,你还是不会动手术一样。

当我们构建出了属于我们自己的知识体系,创新就是在这个知识体系统的各个模块前的跨界组合。I ONLY SEE WHAT I SEE;我们的创新源于我们已知的世界。你的知识体系越健壮、越丰满、越经常更新,创新就会是一件小事。

8. 第七步:回到原点

让我们回到最初的第一步:黄金圈法则。

通过前面的六个步骤,我想你可以将自己正在学的,或者想要学的知识进行定位了。

就像下图我自己整理自己的:


建立个人的知识体系,对在学习的和要学习的进行整理

就像一栋大楼的建设一样,先有骨架,然后才有大厦:

为什么阶段: 我着重锻炼的提问能力和逻辑思考能力;

获取阶段:我练习快速阅读和主题阅读,学习大V们的读书方法;

整理阶段:学习时间管理、精力管理,断舍离,如何做思维导图,如何做笔记记录;

分享阶段:学习如何写出吸引人的文案,如何做好PPT来展示,如何通过行动学习和NLP来让分享过程更加有活力;

利用阶段:主要是在项目管理中实践,并学习结构思考能力,在汇报、沟通中提高效率;

创新阶段:学习如何建立个人品牌,学习想到一个点子之后,如何快速成型,如何去试错;这些点子又如何能应用在你的工作中——其实,工作就是一种创业。

建立个人知识体系之后,大厦就很容易建成了

通过以上的步骤,目前我初步建立了自己的知识体系,这个体系能保证我在工作的时候该使用什么技能,该提高什么;

也保证了我实现“两小时高铁生活圈”的时候,我可以自带系统随时和大城市的人群、网络进行链接,随处插拔。

而在这些与工作与生活的链接中,我又在不断更新我的U盘系统,保证自己不被淘汰。

9、总结技能表


互联网思维不是工具,它是世界观。这篇文章之后,你可以尝试构建自己的知识体系了。

愿每个人都可以像一个U盘一样,自带系统随处插拔。
愿每个人都可以和别人不一样。


1、通用技能:

我是谁:思维方式,不将就认真做事的人

如何做事:1)整体把握,找到方法论(解决方案),

2)思路:分而治之,优先排列,计划进行(排期完成)。

3)及时沟通,反馈,勇于承担责任

4)团队意识

成长:1)和优秀的人在一起

2)不断学习充电

完成定义:了解基础原理,自测通过,及时跟踪反馈问题,文档更新

熟练定义:绕开问题,而不是解决问题。

2、专业技能

文档:每一项技能,熟读官方文档

基础知识:1)网络知识,http原理,tcp基础知识

2)office能力:熟练使用excel,ppt

3)php基础知识:php,linux,mysql,nginx/apache,代理负载均衡

4)java基础知识:Java高级特性和类库,Java网络与服务器编程, TCP/IP协议,以及线程,I/O模型,框架。

4)数据结构算法,设计模式

5)研发能力:

瀑布模型:需求->需求分析->设计->开发->测试->上线->运维/运营

调试和解决问题能力

敏捷思想:快速迭代,任务细分,wiki更新

web安全:

1)web安全

2)安全维度:漏洞,风险,事件

安全问题:xss,sql注入,ddos攻击

安全书:

《黑客攻防技术宝典(Web实战篇)》

《白帽子讲Web安全》

《Web前端黑客技术揭秘》

《Web之困》

《SQL注入攻击与防御》

  • 研发清单

    • 编码环境

    • Python

    • Linux/UNIX

    • 前端

    • 爬虫进阶

    • 调度

    • 并发

    • 数据结构

    • 数据存储及处理

    • DevOps

    • 调试

    • 算法

    • 持续集成

    •   

      安全

    • 协作

      • 类似Trello的在线协同平台

      • Slack

      • 微信

      • 立会

  • 设计思想

    • 人人都是架构师:具备架构思想是一件多酷的事

    • 实战出真知

    • 如何设计

      • 松耦合、紧内聚

      • 单元与单元属性

      • 生产者与消费者

      • 结构

        • 队列

        • LRU

      • 分布式

        • 存储

        • 计算

      • 资源考虑

        • CPU

        • 内存

        • 带宽

      • 粗暴美学/暴力美学

        • 大数据,先考虑run it,然后才能知道规律在哪

        • 「run it优先」能快速打通整体,洞察问题

        • 「run it优先」能摆脱细节(繁枝末节)的束缚

        • 「run it优先」能快速迭代出伟大的v1

      • 一个字总结

  • 牛人1,2,3

    • 1研究:研究东西,有足够洞察力,研究水准不错

    • 2研发:Hack Idea自己有魄力实现,不懂研发的黑客如同不会游泳的海盗

    • 3工程:研发出来的需要实战、需要工程化,否则只是玩具,而不能成为真的武器

3、优质资源

9. GitHub上整理的一些工具

9.1技术站点

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

  •  Programming reddit:同上

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

  •  infoq:企业级应用,关注软件开发领域

  •  OSChina:开源技术社区,开源方面做的不错哦

  •  51cto,cnblogs:常见的技术社区,各有专长

  •  stackoverflow:IT技术问答网站

  •  GitHub:全球最大的源代码管理平台,很多知名开源项目都在上面,如Linux内核

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

  •  DevStore:开发者服务商店
    -----------------


9.2  不错的书籍

  •  人件

  •  人月神话

  •  代码大全2

  •  计算机程序设计艺术

  •  程序员的自我修养

  •  程序员修炼之道

  •  高效能程序员的修炼(成为一名杰出的程序员其实跟写代码没有太大关系)

  •  深入理解计算机系统

  •  软件随想录

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

  •  离线数学及其应用

  •  设计模式

  •  编程之美

  •  黑客与画家

  •  编程珠玑

  •  C++ Prime

  •  Effective C++

  •  TCP/IP详解

  •  Unix 编程艺术

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

  •  搞定:无压力工作的艺术
    ------------

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

  •  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


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

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

  • Nagios:系统状态监控报警,还有个Icinga(完全兼容nagios所有的插件,工作原理,配置文件以及方法,几乎一模一样。配置简单,功能强大)

  • Ganglia:分布式监控系统

  • fleet:分布式init系统

9.4 爬虫相关(好玩的工具)

  • Phantomjs

  • berserkJS(基于Phantomjs的改进版本)

  • SlimerJS

  • CasperJS

  • selenium


9.4 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)自动化测试工具
    ----------------------------------

9.5 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包管理器

  • snice:有趣的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图工具

9.6 大数据处理/数据分析/分布式工具

  • 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分布式中间件

9.7 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内核。

9.7 游戏开发相关

MINA:使用Java开发手游和页游服务器(对了还有Netty,也很猛的,都是基于NIO的)

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

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

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

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

cocos2d:跨平台2D游戏引擎

Unity3D:跨平台3D游戏引擎,很火的哦

Nodejs:也有不少使用它来开发手游和也有服务器(网易的Pomelo就是哦)

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

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);共享对象;现场直播流发布;远程调用。


9.8 Python

Eric,Eclipse+pydev,比较不错的Python IDE

PyWin:Win32 api编程包

numpy:科学计算包,主要用来处理大型矩阵计算等,此外还有SciPy,Matplotlib

GUI相关:PyQt,PyQwt

supervisor:进程监控工具

9.8 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:覆盖测试工具


9.8 常用工具

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

  •  wireshark:知名的网络数据包分析工具

  •  PowerCmd:替代Windows Cmd的利器

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

  •  Soure Insight:源代码阅读神器

  •  SublimeText:程序员最爱的编辑器

  •  Database.NET:一个通用的关系型数据库客户端,基于.NET 4.0开发的,做简单的处理还是蛮方便的

  •  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反编译神器翻、墙工具(自|由|门、天行浏览器)

10. 每个PHP开发者都应该了解的资源列表

一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等等。

该内容也可以在github的相关项目上浏览。

英文版:awesome-php

中文版:awesome-php-zh_CN

github上awesome-php-zh_CN项目的内容会根据awesome-php项目的内容定期更新。

依赖管理

依赖和包管理库

其他的依赖管理

其他的相关依赖管理

框架

Web开发框架

其他框架

其他Web开发框架

框架组件

来自web开发框架的独立组件

微型框架

微型框架和路由

  • Silex - 基于Symfony2组件的微型框架
  • Slim - 另一个简单的微型框架
  • Bullet PHP -用于构建REST APIs的微型框架
  • Fast Route - 快速路由库
  • Pux -另一个快速路由库

其他微型框架

其他相关的微型框架和路由

模板

模板化和词法分析的库和工具

  • Twig -一个全面的模板语言
  • Twig Cache Extension -一个用于Twig的模板片段缓存库
  • Mustache -一个Mustache模板语言的PHP实现
  • Phly Mustache -另一个Mustache模板语言的PHP实现
  • MtHaml - 一个HAML 模板语言的PHP实现
  • PHPTAL -一个 TAL 模板语言的PHP实现
  • Plates -一个原生PHP模板库
  • Lex -一个轻量级模板解析器

静态站点生成器

预处理工具来生成web页面的内容。

  • Sculpin -转换Markdown和Twig为静态HTML的工具
  • Phrozn - 另一个转换Textile,Markdown和Twig为HTML的工具

HTTP

用于HTTP和网站爬取的库

  • Guzzle -一个全面的HTTP客户端
  • Buzz -另一个HTTP客户端
  • Requests -一个简单的HTTP库
  • HTTPFul -一个链式HTTP库
  • Goutte -一个简单的web爬取器
  • PHP VCR -录制和重放HTTP请求的库

URL

解析URL的库

Email

发送和解析邮件的库

文件

文件处理和MIME类型检测库

Streams 流

处理流的库

  • Streamer - 一个面向对象的流包装库

Dependency Injection依赖注入

实现依赖注入设计模式的库

  • Pimple - 一个小的依赖注入容器
  • Auryn - 另一个依赖注入容器
  • Orno Di -另一个可伸缩的依赖注入容器
  • PHP DI -一个使用注释实现的依赖注入
  • Acclimate -一个依赖注入容器和服务定位的通用接口

Imagery 图像

处理图像的库

Testing 测试

测试代码和生成测试数据的库

  • PHPUnit -一个单元测试框架
  • DBUnit -PHPUnit的数据库测试库
  • ParaTest - PHPUnit的并行测试库
  • PHPSpec -基于功能点设计的单元测试库
  • Codeception -一个全栈测试框架
  • AspectMock -  PHPUnit/ Codeception 模拟框架。
  • Atoum -一个简单的测试库
  • Mockery -一个用测试的模拟对象库
  • Phake -另一个用测试的模拟对象库
  • Prophecy -一个可选度很高的模拟框架
  • Faker -一个伪数据生成库
  • Samsui - 另一个伪数据生成库
  • Alice -富有表现力的一代库
  • Behat -一个行为驱动开发(BDD)测试框架
  • Pho -一个行为驱动开发测试框架
  • Mink -Web验收测试
  • HTTP Mock - 一个在单元测试模拟HTTP请求的库
  • VFS Stream -一个用于测试的虚拟文件系统流的包装器
  • VFS -另一个用于测试虚拟文件系统
  • Locust -一个用Python编写的现代加载测试库

Continuous Integration 持续集成

持续集成的库和应用

  • Travis CI - 一个持续集成平台
  • PHPCI -一个PHP的开源持续集成平台
  • Sismo - 一个持续测试服务库
  • Jenkins一个 PHP 支持的持续集成平台
  • JoliCi - 一个用PHP编写的由Docker支持的持续集成客户端

Documentation 文档

生成项目文档的库

  • Sami -一个API文档生成器
  • APIGen -另一个API文档生成器
  • PHP Documentor 2 -一个API文档生成器
  • phpDox - 一个PHP项目的文档生成器(不限于API文档)

Security 安全

生成安全的随机数,加密数据,扫描漏洞的库

Passwords 密码

处理和存储密码的库和工具

Code Analysis 代码分析

分析,解析和处理代码库的库的工具

Debugging 调试

调试代码的库和工具

Build Tools 构建工具

项目构建和自动化工具

  • Go -一个简单的PHP构建工具
  • Bob - 一个简单的项目自动化工具
  • Phake -一个PHP克隆库
  • Box - 一个构建PHAR文件的工具
  • Phing -一个灵感来自于Apache Ant的PHP项目构建系统

Task Runners 任务运行器

自动运行任务的库

  • Task -一个灵感来源于Grunt和Gulp的纯PHP任务运行器
  • Robo -一个面向对象配置的PHP任务运行器
  • Bldr -一个构建在Symfony组件上的PHP任务运行器

构建导航结构的工具

Asset Management 资源管理

管理,压缩和最小化web站点资源的工具

  • Assetic - 一个资源管理的管道库
  • Pipe -另一个资源管理的管道库
  • Munee -一个资源优化库
  • JShrink -一个JavaScript最小化库
  • Puli - 一个检测资源绝对路径的库

Geolocation 地理位置

为地理编码地址和使用纬度经度的库。

  • GeoCoder -一个地理编码库
  • GeoTools -一个地理工具相关的库
  • PHPGeo -一个简单的地理库
  • GeoJSON -一个地理JSON的实现

Date and Time 日期和时间

处理日期和时间的库

Event 事件

时间驱动或非阻塞事件循环实现的库

Logging 日志

生成和处理日志文件的库

  • Monolog - 一个全面的日志工具
  • KLogger -一个易用的PSR-3兼容的日志类

E-commerce 电子商务

处理支付和构建在线电子商务商店的库和应用

  • OmniPay -一个框架混合了多网关支付处理的库
  • Payum - 一个支付抽象库
  • Sylius - 一个开源的电子商务解决方案
  • Thelia -另一个开源的电子商务解决方案
  • Money - 一个Fowler金钱模式的PHP实现
  • Sebastian Money -另一个处理货币值的库
  • Swap -一个汇率库

PDF

处理PDF文件的库和软件

  • Snappy -一个PDF和图像生成器库
  • WKHTMLToPDF -一个将HTML转换为PDF的工具

Database 数据库

使用对象关系映射(ORM)或数据映射技术的数据库交互库

  • Doctrine -一个全面的DBAL和ORM
  • Doctrine Extensions -一个Doctrine行为扩展的集合
  • Propel - 一个快速的ORM,迁移库和查询构架器
  • Eloquent -Laravel 4 ORM
  • Baum -一个Eloquent的嵌套集实现
  • Spot2 -一个MySQL的ORM映射器
  • RedBean -一个轻量级,低配置的ORM
  • Pomm -一个PostgreSQL对象模型管理器
  • ProxyManager -一个为数据映射生成代理对象的工具集

Migrations 迁移

帮助管理数据库模式和迁移的库

NoSQL

处理NoSQL后端的库

  • MongoQB -一个MongoDB查询构建库
  • Monga -一个MongoDB抽象库
  • Predis - 一个功能完整的Redis库

Queue 队列

处理事件和任务队列的库

Search 搜索

在数据上索引和执行查询的库和软件

Command Line 命令行

构建命令行工具的库

  • Boris - 一个微型PHP REPL
  • PsySH - 另一个微型PHP REPL
  • Pecan -一个事件驱动和非阻塞内核
  • GetOpt - 一个命令行选择解析器
  • OptParse -另一个命令行选择解析器
  • Commando -另一个简单的命令行选择解析器
  • GetOptionKit -另一个命令行选择解析器
  • Cron Expression -计算cron运行日期的库
  • ShellWrap -一个简单的命令行包装库
  • Hoa Console -另一个命令行库
  • Shunt - 一个在多台远程机器上并行运行命令行的库
  • Cilex -一个构建命令行工具的微型框架

Authentication 身份验证

实现身份验证的库

  • Sentry -一个混合的身份验证和授权的框架库
  • Sentry Social -一个社交网络身份验证库
  • Opauth -一个多渠道的身份验证框架
  • OAuth2 -一个OAuth2身份验证服务,资源服务器和客户端库
  • OAuth2 Server -另一个OAuth2服务器实现
  • PHP oAuthLib -另一个OAuth库
  • TwitterOAuth -一个Twitter OAuth库
  • TwitterSDK -一个完全测试的Twitter SDK
  • Hawk -一个Hawk HTTP身份认证库
  • HybridAuth -一个开源的社交登陆库

Markup 标记

处理标记的库

Strings 字符串

解析和处理字符串的库

Numbers 数字

处理数字的库

Filtering and Validation 过滤和验证

过滤和验证数据的库

  • Filterus - 一个简单的PHP过滤库
  • Respect Validate -一个简单的验证库
  • Valitron -另一个验证库
  • Upload - 一个处理文件上传和验证的库
  • DMS Filter - 一个注释过滤库
  • MetaYaml -一个支持YAML,JSON和XML的模式验证库
  • ISO-codes -验证各种ISO和ZIP编码的库(IBAN, SWIFT/BIC, BBAN, VAT, SSN, UKNIN)

REST和API

开发REST-ful API的库和web工具

  • Apigility -一个使用Zend Framework 2构建的API构建器
  • Hateoas -一个HOATEOAS REST web服务库
  • HAL -一个超文本应用语言(HAL)构建库
  • Negotiation -一个内容协商库
  • Drest -一个将Doctrine实体暴露为REST资源节点的库
  • Restler -一个将PHP方法暴露为RESTful web API的轻量级框架

Caching 缓存

缓存数据的库

 

数据结构和存储

实现数据结构和存储技术的库

  • Ardent -一个数据结构库
  • PHP Collections - 一个简单的集合库
  • Serializer -一个序列化和反序列化数据的库
  • PHP Object Storage -一个对象存储库
  • Fractal -一个转换复杂数据结构到JSON输出的库
  • Totem -一个管理和穿件数据交换集的库
  • PINQ -一个PHP实时Linq库
  • JsonMapper -一个将内嵌JSON结构映射为PHP类的库

Notifications 通知

处理通知软件的库

Deployment 部署

项目部署库

  • Pomander -一个PHP应用部署工具
  • Rocketeer -PHP世界里的一个快速简单的部署器
  • Envoy -一个用PHP运行SSH任务的工具
  • Plum - 一个部署库

国际化和本地化

国际化(I18n)和本地化(L10n)

第三方API

访问第三方API的库

Extensions 扩展

帮组构建PHP扩展的库

  • Zephir -用于开发PHP扩展,且介于PHP和C++之间的编译语言
  • PHP CPP -一个开发PHP扩展的C++库

Miscellaneous 杂项

不在上面分类中的有用库和工具

Software 软件

创建一个开发环境的软件

PHP安装

在你的电脑上帮助安装和管理PHP的工具

  • HomeBrew -一个OSX包管理器
  • HomeBrew PHP -一个HomeBrew的PHP通道
  • PHP OSX - 一个OSX下的PHP安装器
  • PHP Brew -一个PHP版本管理和安装器
  • PHP Env - 另一个PHP版本管理器
  • PHP Switch - 另一个PHP版本管理器
  • PHP Build - 另一个PHP版本安装器
  • VirtPHP - 一个创建和管理独立PHP环境的工具

Development Environment 开发环境

创建沙盒开发环境的软件和工具

  • Vagrant -一个便携的开发环境工具
  • Ansible - 一个非常简单的编制框架
  • Puppet -一个服务器自动化框架和应用
  • PuPHPet -一个构建PHP开发虚拟机的web工具
  • Protobox -另一个构建PHP开发虚拟机的web工具
  • Phansible - 一个用Ansible构建PHP开发虚拟机的web工具

Virtual Machines 虚拟机

相关的PHP虚拟机

  • HipHop PHP -Facebook出品的PHP虚拟机,运行时和JIT
  • HippyVM -另一个PHP虚拟机
  • Hack - 一个PHP进行无缝操作的 HHVM编程语言

IDE 集成开发环境

支持PHP的集成开发环境

Web Applications Web应用

基于Web的应用和工具

  • 3V4L一个在线的PHP shell
  • DBV -一个数据库版本控制应用
  • PHP Queue -一个管理后端队列的应用
  • Composer as a Service - 作为一个zip文件下载Composer包的工具
  • MailCatcher - 一个抓取和查看邮件的web工具

Resources 资源

各种提高你的PHP开发技能和知识的资源,比如书籍,网站,文章

PHP网站

PHP相关的有用网站

Other Websites 其他网站

web开发相关的有用网站

PHP 书籍

PHP相关的非常好的书籍

其他书籍

与一般计算和web开发相关的书

PHP视频

PHP相关的非常不错的视频

PHP阅读

PHP相关的阅读资料

PHP Internals Reading PHP内核阅读

阅读PHP内核或性能相关的资料

http://blog.csdn.net/hguisu/article/details/50392944