任重道远,活在当下

掐指一算,工做也快一年多了。2016这一年,忙忙碌碌,作了很多项目,也学了很多东西,回顾一下,继续向前。javascript

技术成就业务,业务成就事业。css

开始

非科班出生,加入项目组的时候什么都不知道。除了懂一点C/C++ QT,数据结构和算法以外,其余能够算是一无所知。因而一开始就被分配了一个开发IDE的活,磕磕碰碰把《Java核心编程 卷一》啃了两遍,对Java Swing的开发有了一些基本的了解,能够写一些简单的组件。因为IDE的主要业务是Android方面的,因而啃了半本《Android编程权威指南》html

计划与实现

可是本身的兴趣点仍是在互联网,服务器方面。因而本身打算开始学一些互联网方面的东西。前端

前端

Html & CSS & Js & AngularJS

那就从前端基础开始吧。java

  1. w3上面的html,css,javascript的基础教程看了一遍。基本算是有所了解node

  2. 以为w3javascript讲的太浅显。linux

    • 买了《javascirpt》权威指南,把前面基础知识部分过了一遍。可是以为原型链,继承,闭包这一块仍是讲的不够深刻。模模糊糊的,这是不能容忍的git

    • 因而又拜读了《JavaScript高级程序设计》前面的基础部分。不愧是经典。原型链,继承这一块讲的很透彻。es6

学习下来,以为最费劲的仍是CSS。这个后面再慢慢补充吧github

接下来就是前端框架了吧。项目组也在用AngularJs 1.x,决定开始从Angular 1.x开始吧。

  1. w3上面的Angular.Js的基础教程过了一遍。基本掌握。

  2. 接下来开始深刻。《AngularJS高级程序设计》从头至尾过了一遍。

  3. AngularJs还真是很差理解,什么FactoryProviderService不找几篇文章看看还真是不行啊。

一边学一边在项目中实践,也算是基本掌握了吧。

为了更加深刻学习 AngularJs,找了一个开源项目angular-dashbaord-framework学习源码,并总结了一个架构文档。后面又找到了一本神书《how to build your own angular》,该书总头开始指导你怎么构建本身的Angular,好比$digest时间循环,$scope的实现等等。本身也按照书上面实现了一部分https://github.com/qeesung/my-angular,后面时间不够又转到其余知识点上去了。

在学习AngularJs的时候也附带学习了Bootstrap,Angular Meterial等。后输出一篇文章CSS float nine rules,也被很多门户推荐。

后端

前端搞了一部分了,接下来就是后端的东西了。

后端,后端,java web方面的SSH太难啃,选个没那么笨重的吧。那就Nodejs吧,最近也挺火的,并且本身也学习了js语言方面的东西,趁热打铁,说来就来。

Nodejs & MongoDB

  1. 首先将http://www.runoob.com/nodejs/nodejs-tutorial.html的基础教程学习了一遍,知道是怎么回事

  2. 那就是深刻学习了,将朴灵的 《深刻浅出Nodejs》从头至尾看了一遍,不得不说,这真是一本好书,原理讲的特别透彻,特别是第三章,那是看的高潮迭起啊。

  3. 原理了解了就来点实战的,过了一遍《Nodejs实战》connect,express,middleware都算是基本能用了。

  4. 数据库还缺点,SQL的基础知识过了一遍,《MongoDB权威指南》也过了一遍。

在公司里面Nodejs项目也实践了几个,对q,bluebird,mocha,debug,express,gulp,grunt,yoeman...这些经常使用的模块也用了几遍。

后本身也开发了一个Nodejshttps://www.npmjs.com/package/rocketchat,用来将RocketChat这个Slack的开源替代产品的RestAPI的Node封装,github上面也收获了十颗star,几个fork星,https://github.com/qeesung/rocketchat-node。也算是一个不错的开端。

后面输出一遍文章nodejs 异步I/O和事件驱动,算是深刻理解Nodejs原理了

运维

运维这一块本身也不算是太熟悉,连一个基本的http服务器都起不来,也就是以前在学校搞UbootLinux驱动的时候搞过一段时间的Linux,把《鸟哥Linux私房菜 基础篇》学了一遍。该有的也都知道是怎么一回事。

要说运维,这段时间比价火的应该是Docker了吧。在以前部署RocketChat的时候不懂Docker,同事两三行命令就跑起来的东西,我愣是搞了几个小时,又是装环境,又是配软件的。那就试试Docker怎么样。

Docker

  1. 买了一本《第一本Docker书》,从头开始,一边实践,一边看书,从头至尾过了一遍。基本没啥问题了。也都能使用了。

  2. 可是Docker毕竟存在必定的缺陷,容器没法进行编排。这编排的工做仍是要找Kubernetes,或者docker swarm这种东西。因而买了一本《kubernetes权威指南》,搞了三台linux机器。一边看一边实践。POD,Service滚动升级也都实践了一遍。

  3. 接下来就是docker swarm,不能不说,docker swarm的用起来真是比k8s简单很多,没有太多的复杂概念,看了看官方文档也基本会用了,概念这些的基本都是相通的。

  4. 后面又接触到openshift,Heroku,本身也都尝试一遍,将本身跌gohost博客服务部署在了openshift上面

...忽然发现docker composer学忘记了,后面再补上。

Vagrant

要说虚拟机,那仍是要有Vagrant,快速搭建一个开发测试环境仍是得靠他

  1. 官网上面的教程看了一遍,box的添加删除,虚拟机的实例化基本都掌握了

  2. 部署服务,端口转发这些也算是都都操做过

Nginx

Nginx也不算是真正的学过,只能算是基本使用,作作反向代理和搭建静态文件服务器仍是能够的。

Ansible

公司里面有一个相似阿里云的平台,每次申请下来的机器都要有配置好多东西,好比fish shell,oh my fish,tmux,docker等好多东西,浪费大量时间。决定学习Ansibleprovision机器。

  1. 买了一本《奔跑吧Ansible》,从头至尾过了一遍,就着Vagrant实际操做了一遍,对task,role的定义

  2. 而后在公司内部本身搞了一个开源项目,用于快速配置linux开发环境,配置好IP地址和ssh key之后,执行一条命令,能将全部想要的软件配置全都设置好,好比proxy,docker,oh my fish,oracle jdk,maven等等。

  3. 后面用到公司的实际项目中,在十八台linux机器上部署几十余个微服务。

再回前端

也搞了一段时间的后端的,发现最近React也挺火的,也打算学习探索一下。在这里先膜拜一下阮一峰老师 ^_^

ES6

React算是将ES6发扬光大了,以前也听ES6的各类溜,因而也打算深刻学习一下,找到阮一峰老师的ECMAScript 6 入门,和买了一本实体书,从头至尾过了一遍,对于协程那一块也是看的高潮迭起啊。

后面又胡乱学习了Python 3.4asyncioasync/await,也是溜溜溜。

React

  1. 将阮一峰老师的https://github.com/ruanyf/jstraining的基本教程看了一遍,对React的基础学了一波,如何挂载,编写一个组件等等。

  2. 把官网教程看了一遍,掌握了有些细节。

可是毕竟React只是一个View库,MVC里面的modelcontroller还须要其余框架来控制。

Flux & Redux & GraphQL

  1. 按照阮一峰老师的Flux 架构入门教程,入门了Flux

  2. 后又根据Redux 入门教程,和逛网教程,入门了Redux

  3. 后又按照官网试用了一下GraphQLfabebook出品,真是好东西。

其余

其余学习的东西就是《Head first 设计模式》,和《Python基础教程》《Python核心编程》的前几章,如今还在学习。

遗憾

今年原本打算看完《计算机网络》《TCP/IP 卷一》,《深刻理解Nginx:模块开发与架构解析》的,惋惜才看了《计算机网络》的前两章。这个目标必定今天必定要实现。

总结

主要总结一些今年学习知识主要内容,周边内容的就直接略过。

  • html, css, js

    • w3 html, css,js 教程

    • 《JavaScript权威指南》基础部分

    • 《JavaScript高级程序设计》基础部分

    • 《精通CSS:高级Web标准解决方案》

    • 《CSS高效开发实战:CSS 三、LESS、SASS、Bootstrap、Foundation》

  • AngularJS

  • Nodejs

    • 《深刻浅出Node.js》

    • 《Node.js实战》

    • 《MongoDB权威指南》

    • 开发了Nodejs开源库rocketchat-node

    • 开源库Grunt,Gulp,Yoeman,Express,Connect,Swagger...

  • React

    • 阮一峰老师的《ECMAScript6 入门》

    • 阮一峰老师的《React 入门实例教程》

    • 阮一峰老师的《Flux 架构入门教程》

    • 阮一峰老师的《Redux入门教程》

    • 《GraphQL入门教程》

    • 官网React教程

    • 官网Redux教程

    • 官网GraphQL教程

  • 运维

    • 《第一本Docker书》

    • 《kubernetes权威指南》

    • docker swarm官网教程

    • 《奔跑吧Ansible》

    • Nginx博客教程

    • Vagrant博客教程和官网教程

2017计划

今年的主要计划目前是打算学习如下计算机网络方面的内容,PythonGo语言方面的内容。反正计划也会不断改变,先作个大体的规划。

相关文章
相关标签/搜索