您的位置:首页 > 其它

WA的2015与正在RE的2016

2016-01-02 23:00 344 查看
2015年是我第一年真正的接触大学,接触编程。

然而这一年迷茫而痛苦。

大学与高中最大的不同,在于,你要为自己制定目标,你要为自己做出的选择负责任。

我知道,我要为自己的现在负责,为自己的未来负责,确保自己现在做出的是最优选择。

充实的大学生活,美好的未来在等着我。

但是,我感觉很累。

因为,谁都不敢确定自己选的是最短的路。

我现在所做的,真的是对的么?

然后,我花了半年的时间,明白了一个道理。

如果,我今天所做的一切是为了今天,而不是为了未来,那么我今天做的就将有意义。

因为没人清楚未来是什么样子的,现在做的一切可能对未来根本一点用处也没有,就好像现在学的东西工作根本一点用不上。

听起来让人沮丧,那为什么我现在还要学?

一年前我会说,或许未来的未来能用得上。

一年后我会说,起码能让现在的我感觉我还活着。

人生这条路,根本就不适合用最优路径算法。

我想好了之后,开始啪啪啪地敲代码。

编程语言:

① 入门:C语言

我对c语言的学习完全源于对cprimer plus这本书的热爱,完整的读了两三遍之后,对指针,数组,动态分配都有了非常深入的理解,也养成了每天写一道OJ题的强迫症(在学习数据结构时发作症状非常强烈),这也是至今为止我为什么还是喜欢裸写c来AC,而不是使用STL的原因。然而cprimer plus并没有关于线程,进程等概念的深入探讨,这一方面希望通过csapp来补充,以及在进一步学习C++时补充。

② 作死小能手第一步:PHP + HTML + CSS + MySQL

前端的门槛不低,相反来说甚至很高。不要以为没有循环,条件,分支的语言很简单,HTML在CSS作用下以及各浏览器下不一样的规则,各种各样的hack,各种各样的布局,再加上PHP内嵌的页面。PHP的语法比较类C语言,所以学习曲线一开始还是较为轻松,没有MySQL的php我就呵呵了,了解了基本的CURD。还有,配置环境这样的东西直接上phpstudy算了,没事折腾自己啥的唉。

③ 作死小能手第二步:JavaScript

为什么在没有很好的掌握PHP的情况就去学习一门新的语言?谁让HTML + CSS + JavaScript绑在一起。。。JavaScript是一门跟主流语言很不一样的语言,它本身并没有类的概念,而是通过原型链模仿类的构造,解锁各种奇葩姿势,要是我没学PHP先了解过类再学js,估计我早就成了异端。这也是第一门我花的时间比较长的语言,算是主力语言。在codeWars刷到等级五果断因为数据结构知识缺乏弃坑。

④ 正常向第三步:Python

Python这玩意估计对于新手来说没怎么听说过,但是,python绝对是最能带给我成就感的语言之一。万能粘合剂,写啥都行,什么爬虫啊,批量处理文件啊,远程操纵电脑啊。可惜py招人的公司还不是很多,不过现在写写小应用还是很爽的。

⑤2016年丧心病狂向:C++

终于涉及到两大主流语言之一,C++一方面是下学期要教,另一方面要深入学习STL和设计模式,理解一下正规语言的OOP到底是怎么样的,为js的设计模式准备好更深入的理解。

其实对于学习一门新语言还是挺有快感的。一开始看的是C++ primer plus,被john讲了一顿之后开始看C++primer,两本书的确是有本质上的区别,感觉C++ primer plus 完全就是抄袭C primer plus,习题基本都一样。

语言框架:

① Thinkphp:

这是第一个掌握的MVC框架,还是国产的,支持国货。它的官方文档也是中文的,对新手非常友好,然而例子的话还是django的官方文档详细。说实话掌握的更多的是MVC的概念以及HTTP协议,而非框架本身,框架本身还有许多要学习的,比如hook,有时间还是想仔细补一下路由,数据库设计这样的知识。同时,学会了写需求文档。

② Django:

根据thinkphp的概念来理解django,速度明显加快,同时,重量型的框架提供了更多的功能,比如缓存,数据库的高度封装,果然有空读读源码最能让人兴奋。Django的官方文档虽然是全英文,但读起来非常流畅,如果想在这方面再进一步,在github上多读读别人的开源项目吧。

③ Bootstrap:

说实话,我不太喜欢bootstrap,不过用起来的确方便。我觉得我最需要学习的还是bootstrap对响应式布局的处理。设计什么的还是算了,学设计简直是种折磨,我选择狗带。

④ 2016年正常向:jQuery

严格来说jq并不是一个框架,它是一个库,封装了大量的API,我觉得这是我16年主要学习的一个库,如何设计并且知道为什么这样设计,而不是为了记住简单的API,争取在16年学会自己设计插件,把自己想做的动画效果都能封装成组件,做一个动画库。

⑤ 2016年正常向:node.js

年轻人想当全栈吗,想就学node.js。同时有意将node.js作为下学期学习数据库设计模式的一门新工具。

编程项目:

① 自己的博客:

Django + bootstrap搭建,丑的一逼,不过功能还是能用的,已弃疗。

② Python实现的自动评测爬虫:

其实完全就是用selenium写的,关于如何用爬虫执行js,这里面还是水很深啊。

③ Tp搭的一个交易平台:

一开始用django写的,写到最后忍不住重写了,同时也了解到轻量型框架跟重量型框架的不同,比如说一个最蛋疼的数据库外键,也是从这里了解到数据库设计的重要性。

④ 科协的问卷调查系统:

虽然最后xp接手了调bug,但是原来这份问卷系统的js源代码设计的真的挺好的,希望自己能重新再造一个轮子。

④ Js写的乱七八糟的组件:

分别实现了轮播组件,傻逼鸟等等,写完的最后都忍不住要重构了。

编程内功:

① 编程范式:

编程可不是简单的语言加框架,16年将重点突破OOP以及泛型编程,UML设计图有助于清晰思路,主要语言工具将成为C++,并辅以js理解。

② CSAPP慢慢读,慢慢坑,底层坑,坑,坑。。。

③ 数据结构这一个学期基本过关,基本概念熟悉,没事刷刷POJ基础题就行。16年主要是对一下两方面进行突破,一个是动态规划,准确来说动规是一种思想,贪心就是动规的典型代表,却总感觉自己的贪心总是半桶水,培养实在不容易,另一方面是图论,比如C++实现欧拉图以及哈密尔顿回路,以及网络流问题。有兴趣的话把缺的数论补上。

④ 数据库的设计模式,精读黑书,数据库的设计真的是非常重要,直接关系到整个后台代码的质量。

⑤ 数学数学,说到底还是高数,线代,概率,离散,对理解算法这一方面确实帮助挺大,即使没用,当成情怀学习就好了。16年争取读完离散数学及其应用第7版,算法导论,线性代数,组合数学。

技能方向

这一年的技能点点下来,虽说是希望自己的未来能成为一名前端工程师,但是这一年下来点的技能点基本都是偏后端方向,也算为未来跟后端工程师撕逼打下良好基础。2016年主攻方向是js进阶,设计模式,C++负责底层的学习,有空则加强django的学习,多了解HTTP协议。今年也做过几个项目,不过基本都是后端,也看淡了外包啥的,不急着找实习,只对自己的轮子感兴趣。但是下个学期在学习数据库设计模式的时候找一点后端的项目设计练手还是有兴趣。

2016,心里住着一台电脑。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: