任重道遠,活在當下

掐指一算,工做也快一年多了。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語言方面的內容。反正計劃也會不斷改變,先作個大體的規劃。

相關文章
相關標籤/搜索