首页 > 代码库 > 开发三年之细思极恐

开发三年之细思极恐

这是前言:

马上25岁了,人生能有几个25岁?

工作三年了,工作生涯能有几个三年?

没有彷徨,没有抱怨,有的只是深夜的宁静与键盘声...

求学:

  四年多前选择这个行业,可以说是义无反顾。为了家庭,为了当时的爱情我踏上了这条“搬砖”路。现如今的我依然不会后悔,依然会义无反顾。现在看来,一年半载的时光是那么的稍纵即逝,一年半载的知识填灌根本不足以应付工作的需要,所以踏入社会才是我们考验真正开始的时候。可是这稍纵即逝的时光对于求学时的我们来说,对于渴望工作的我们来说却是那么的漫长,而在这漫长的时间里,能够与大家相识相知我认为是除了知识以外对我最好的馈赠。感谢,感谢与你们相识。

就业:

  一起来到这个陌生而又充满梦想的城市,说我们相依为命也不为过。相互鼓励着、督促着面试,交流面试心得与面试机会。这段时间可以说是我们最煎熬的时光,没入职的羡慕入职的,入职的羡慕高薪水的。但我们眼神中流露出的也只是羡慕与祝福,因为我们每个人的心里都为自己定下了一个只有我们自己知道的目标。

  既然有了目标,就是一个好的开始,然后我们奔着这个目标努力着、奋斗着、加班加点着。可我们的努力到了外人眼里却成了“拼命三郎”、“要钱不要命”。可他们哪里知道,对于当初满足于4、5K的我们来说并没有多少金钱概念,我们有的只是对编程知识的渴望,对编程思想的向往以及对编程美好未来的憧憬。当然,到现在为止我还是不能很好的理解什么是编程思想。

  就这样我们又送走了我们最美好的两个一年半载,为什么要用“送”呢?在我看来这个“送”字才能体现出我心中对时光飞逝的懊恼与悔恨。“送”也算得上是葬送吧,葬送了我们职业生涯中为数不多的几个三年之一,葬送了我们本该更加努力的美好时光。三年后的我突然发现,除了略懂一两种“新”技术以外,我尽然啃了三年学校“填灌”给我的老本,甚至老本我都没有琢磨透彻。这时我开始恐慌了,恐慌下一个三年我该怎样度过,恐慌下下个三年我将何去何从,恐慌下下下个三年我又该如何面对生活......

现实与情感:

  想到这就自然而然的牵扯出了我自己的感情生活,四年两次恋爱我觉得不多不少刚刚好。可是经济社会将我拉回了现实,没有经济基础的爱情终究没能在我的生命中撑到最后,不是我没有能力,而是没有基础。有人说人的一生最适合谈三次恋爱:一次懵懂与成长、一次刻骨与铭心、一次一生在一起。

黑暗与曙光:

  再不努力我们就老了,我相信不止我一个人是浑浑噩噩葬送第一个三年的。我称之为我职业生涯中的黑暗时光,因为我几乎没有汲取到养分,几乎没有壮大我自己。下一个三年来临之际,我不想再浑浑噩噩、不想再读年如日让时光悄然飞逝,痛定思痛的我扬帆起航,驶向远方...你们呢?

技术与业务:

  操作系统、编程语言、服务端框架、前端框架、网络编程、多线程、数据库、缓存、消息服务、分布式、大数据等等等等大把的技术等着我们去汲取,大把的框架等着我们去实现,心动了吗?

我要开始行动了,附录里的我所提到的技术、语言、框架在今年之内我都要去学习了解甚至运用。我也保证在我每一次学习过程中我都将做下记录,一是做备忘,二是尽可能的方便他人吧。 

 

自箴(陆游)

带宽非复昔年腰,颊上余丹日日消。
切勿更为儿戏事,解猿放鹤各消摇。

 

 

附录:

-------------------------------------------------------------------------------------------------------------------------------------------------

系统: windows:这个就不用多说了,凡是在linux系统能安装应用的软件基本也都有windows版本,
在正式应用于linux之前也在windows上安装一份,便于自己的开发与调试。
其他windows操作大家也都很熟悉了。
mac:这个我也没用过,不过推荐大家也都在有机会的情况下用用,现在很多开发都用mac了。刚转到mac上来开发。
linux:linux的常用命令、软件安装、日志查询、文件搜索等都要熟练的运用。三四年的java
如果还不能掌握就有点丢人了。(我先丢波人再说)

服务端语言:java这个就不多说了,吃饭的碗。
python这个自己看着玩吧,听说很好玩,但是不好学,我打算自学看看的。

前端框架:bootstrap这个我觉得很重要,目前很流行的。
easyui也有用的,但是比较重量级,可以看个人爱好。
angularjs这个我觉得你们在学完bootstrap之后不想学easyUI,可以考虑考虑这个。我曾经自学过
很好玩的一个东西,他编写的程序可以直接打包成app或者ios软件。

后端框架:spring springmvc mybatis(ssm)这个对于目前的我们来说,必须会用,原理什么的尽可能的多了解,
当然你吃透原理更好。
struts2 spring hibernate(ssh) 这个目前也有用的但说实话很少了,可以了解但别做重点了,如果面试的
公司用ssh,如果不是特别好我都不建议去。
spring boot 微框架,据我所知现在很多公司在使用,我还没了解过优劣我说不出来,但是我打算自学这个了。
到时候如果想学咱们可以组队。

网络编程: socket我觉得可以学学,这块咱们都太薄弱了。
netty(*)(知乎:1)本质:JBoss做的一个Jar包 2)目的:快速开发高性能、高可靠性的网络服务器和客户端程序
3)优点:提供异步的、事件驱动的网络应用程序框架和工具
通俗的说:一个好使的处理Socket的东东)

多线程:thread这块要加紧学习了啊。重要性我就不说了,反正面试基本都会问到,问到就代表人家公司会用到。

数据库:mysql中小公司的选择。建议
oracle大公司安全性好的公司使用。第二选择
sqlserver这个我的朋友圈中很少有用到的了,但是既然是数据库,都要掌握一点,第三选择。
nosql中的mongodb也可以学习,比较多的公司在用。也能算是第二选择吧。

缓存:redis和memcached优劣可以自行百度吧。redis比较好学,但是数据结构要灵活运用。(对于redis我的建议是能使用hash的
尽量使用hash,好处大大的。)
ehcache这个我没看过,也有使用的,可以看看在考虑学不学习吧。

版本管理: svn这个大家都会用,但是咱们都是check out,update,commit,还有很多功能咱们都没用,可以了解使用使用。
git(*)在会使用svn的简单功能之后,这个优先学习吧。目前很多公司使用,我们过段时间可能也会转到git上来。

项目自动构建: maven(*)重中之重。。。。。。。

消息框架 :rabbitMQ、 ActiveMQ 、kafka(*)(分布式发布订阅消息系统)

反向代理服务器 : nginx这个我觉得可以了解,自己搭建着玩,一般公司很少让咱们自己搭建这个东西,但是需要了解。

大数据 hadoop(我准备自学这个,看看情况)

分布式服务框架 dubbo spring cloud(*) zookeeper

服务器中间件: tomcat(*)这个必须都会吧。
resin jetty这个可以了解一下。

java23种设计模式学习(重点)

开发工具 : eclipse(*) 、IntelliJ IDEA

其他 :http、 xml、js、h5、jsp这个看个人爱好吧。

有时间研究 ELK经典配合:ElasticSearch、LogStash、Kibana(在自己搭建框架的时候,可以考虑这个,可以给项目加分的)

--------------------------------------------------------------------------------------------------------------------------------------------------------
当然上面这些不可能短时间内全部学完、了解完,但学习本就不是一蹴而就的。
跟据自己的情况与目前比较流行的来制定适合自己的学习计划往往效率更高也更能帮助自己的工作。

 

开发三年之细思极恐