从事互联网开发这么多年,也接触了非常多的工具。是时候汇总一下了。
1.Linux技术栈
1.1.Centos
Linux是一个伟大的操作系统。现在很多网站基本上都是在使用Linux的操作系统。作为一名互联网开发者,如果不会用Linux是会被耻笑的。它的伟大不是所以服务器都在使用它,而在于它开启了人机交互的新纪元。为什么这么说呢?作为一个开发者,追求不仅仅是写点代码而已。如果要操控硬件,基于Linux内核的发行版本可以嵌入到任何的硬件中。这让极大的提高了创新的步伐。
我写的关于Linux的文章:
2.数据库技术栈
2.1.Mysql
Mysql是一个伟大的数据库。早在2010年前,他是我们建立互联网系统首选的数据库。当然,Oracle也是使用的比较广泛,但是它多使用在商业领域,像我们这种三无的个人站长,Mysql对我们更亲切一些。接触mysql和php几乎是同时的,毕竟写完hello world之后,就想写一个留言板的小程序(这是当时第一代开发者的思维,现在的开发者起步是想写一个博客,呵呵)。
我写的关于Mysql的文章:
2.2.MongoDB
其实,MongoDB我们从2012年就开始接触了。只是那时它还比较弱,作为生产环境的替代方案来说,它没有memcache和redis的性能优势,只能作为数据仓库来使用。对于LNMP架构来说,它要想取代Mysql又实属不易。所以,在当时研究一段后,最终选择了放弃。从2016年我们有拾起了MongoDB,选择一个软件用于生产环境除了需要软件本身的稳定外还需要使用者有相当强的开发适应能力。当时,彼此都不具备这个条件。
我写的关于MongoDB的文章:
在CentOS 6.x 64bit上安装MongoDB 3.2社区版
MongoDB开启授权后的mongostat运行状态监控的相关配置
Nginx
这是一个用脚投票的时代,不管是英国的精英怎么想留在欧洲,全民公投的结果还是让他们的梦想破灭;不管美国的主流又多么不喜欢特朗普,他最终还是成为了美国历史上第58届总统的人选。而在webServer界不管Apache,IIS如何优秀,大多数的网站还是选择了nginx作为生产环境webServer。我个人推崇nginx已经超出了webServer的层面,nginx的一些相关配置是那么简洁而优美。
PHP
PHP是一个伟大的语言,或许其他语言的粉丝会鄙视它,但是很多开发者是通过它入门确实一个不争的事实。不管是独角兽公司还是初创公司都有使用它的经历。我是从2003年开始接触它的,最开始是做毕业设计,后来使用它做管理系统,再到后来使用基于它的国内外框架,直到现在不管是业务代码还是采集,PHP还是我的首选。很多时候真没有必要讨论『哪个更好用』。我相信,程序员就是一个厨师,语言只不过是你手上的那把刀而已,究竟选择什么的刀,仁者见仁智者见智。
我写的关于PHP的文章:
PHP环境套件技术栈
1.LNMP
...
2.Appserv
在2013年之前,我一直是Appserv的簇拥。那个时候有过XAMPP已经出来了。很多新手PHP开发者会选择它,这也能看出来代沟。Appserv有过一年多的沉寂,停止了开发和维护,但是后来又好起来了。但是,我也切到了Linux下开发了,转投了LNMP。不是因为Appserv不好,而是因为nginx。
版本控制技术栈
1.svn
...
2.git
...
3.Github
...
PHP框架技术栈
1.Laravel
...
2.CodeIgniter
...
3.Phalcon
...
持续集成技术栈
1.Selenium
Selenium是一个伟大的发明。它解放了测试的双手,可以将一些常用的功能通过编写自动化脚本的方式让浏览器来执行。它的作用还不仅仅在测试领域,可以想象只要涉及到自动化驱动WebDriver的Idea它都能搞定。江边望海是从2015年开始接触Selenium的,当时我们在做自动化测试方面的尝试,如果基于PC项目的测试首选推荐Selenium。接触它的经历填补了我技术栈在自动化测试方面的空白。
我写的关于Selenium的文章:
彻底解决使用Selenium启动Firefox每次都出现导入向导的问题
2.Jenkins
...
3.Sonar
SonarQube是一个静态代码检查解决方案,我是2015年开始接触它的。有没有缘与它结缘主要看所在的开发团队如何看待代码质量了。它是持续集成和敏捷的重要技术环节。可以帮助开发工程师解决代码质量的问题,但是话又说回来,上SonarQube确实需要踩很多坑,特别是需要花大力气建立适合自己开发团队的代码质量管理体系,后期的改造成本也不小。
二把刀产品助理
产品经理这个称呼被业内乱用了。什么的人才能称得上产品经理呢?我说几个人:纯银,白鸦,张小龙,Mr Hua,苏杰这些人才配得上产品经理的称谓,其他人不过是长时间混迹这个圈子的产品助理罢了。为什么这么说呢?我给出几个条件:
1.不会写行业文章的(交作业的文章不算);
2.微博粉丝不上10万的;
3.没有一个标志性产品的;
4.没有系统的产品观点出书的;
5.没有受邀参加行业峰会并谈论自己观点的。
别不服气,自己身上没有这些基因千万别说自己是产品经理,丢人。江边望海在互联网圈子混迹这么多年,很惭愧现在还是二把刀产品助理,这是岁月给的考卷我需要一点点积累,我相信有一天可以一项项的完成上面所列的:
我写的关于『二把刀产品助理』的文章:
前端技术栈
1.Bootstrap
...
2.Jquery
...
搜索技术栈
1.Sphinx
我接触sphinx的时间可以追溯到2012年。当时,做的项目是一个B2B的电商网站,涉及的数据量比较大,除了提供通常意义的列表页和详情页外,搜索也是不可或缺的。当时,项目选型的时候,就确定了Sphinx。基本上可以满足业务需求。
2.ElasticSearch
2016年的时候开始接触ES,为什么从Sphinx到ES呢。记得2013年夏天去杭州参加阿里技术嘉年华。他们分享了很多基于lucene的搜索解决方案。什么分布式、算法、排序等内容。可能是每个团队面临的场景不一样吧,还有团队基因,他们的解决方案就是基于lucene做的。当时,对搜索的持续探索,是不可能绕过jdk的。迟早要走进java的世界。没曾想,再次相遇已经是3年以后了。