真的是很久没写博客了

记录可查,自从毕业以后就没怎么写过博客。期间写了翻译了两篇老外的文章,不过好像彷佛也是烂尾了。前端

仔细想一想,没有坚持下去的缘由有不少,可是不管有多少缘由,归根到底问题仍是出在本身身上。什么工做以后好累啊,平时没时间啊种种,其实都是借口。node

其实就是懒了,之前的激情慢慢消退了。不管你说是生活的压力,仍是工做的忙碌,都是借口。时间老是用的,可是没激情没有动力,即便是双休日,哪怕是三休日也是不会提笔。python

真是只是懒了,没激情了吗?我想并非,在我看来目前本身更多的是思想上的懒惰。webpack

毕业和入职

之前在学校时,毕业面临着就业。当时各类学习新技术,钻研,什么 Angular 、Node.js,mongo啊,而后毕设基于这些作了一个聊天室。麻雀虽小,五脏俱全。也是得益于此才有幸加入如今的公司负责 IM 模块的前端工做。好的,从这时开始,心态出问题了。git

毕业以后顺利入职,起初写了一点 node 相关的后台代码,操做 mongo,加几个接口啊之类的。后来开始负责公司内部的工具系统的前端开发,期间原 IM的负责人离职,我便接手。到如今,一人负责 IM 模块的前端,偶尔在负责 node 的同窗忙时 debug 一下 node 的代码。后端相关技术得以见长。github

可能说到这你会感受,喔不错喔。然而事实倒是:我虽想走向全栈工程师,可是目前主要仍是提升前端的技能,先成为一名优秀的前端工程师。web

公司数据规模还算大,负责的模块功能也算比较复杂,在开发工程中,业务能力获得了很明显的提高。可是,公司的前端架构和前端氛围是硬伤,尤为是在我刚刚入职的时候。入职之初,公司甚至没有专门的前端组,前端开发人员只是附属于后端,一切都是后端牵着走。开发工具和流程都是古老的,包括但不限于seajs ,前端模板,git 使用规范等。入职时间为2015年7月,这时候的前端圈子已是百家争鸣的时代,具体什么样子我想不须要我再细说了,可是公司内部的前端总体还停留在几年前。对于这些,起初我不觉得然,但当我在开发的时候,我才真正意识到工具是多么的重要。docker

无力吐槽的 seajs

不能否认,可以作出 seajs 是蛮厉害的,或许它在阿里内部配合一系列内部工具,使用起来如虎添翼。可是放在外面,对于其余的使用者来讲,有多大的利弊我无从知晓。我只能从我自身的角度吐槽。gulp

如下都是个人我的观点。后端

  1. 乱七八糟的文档。什么五分钟上手,我看了大半天仍是没搞清楚到底怎么搞,并且还在 issues 里面写文档。

  2. 乱加新概念。什么懒加载我不知道,我也不想知道。由于在我看来这简直无理取闹。

  3. 中文社区小圈子,不少问题都知道怎么办。或许配合阿里系的构建工具很爽,可是配合 grunt 啊 gulp 啊什么的简直是要哭死。

半天都没入门,可能我是真菜吧。

前端模板系统

jQuery + 前端模板引擎的思路是我13年实习的时候使用,在15年另外一家公司实习时,已是 Angular 了。因此对我而言,感受像是在倒车。

我并非说这种模式是多么的很差,而是公司使用这种模式与个人预期出现了误差。

Git 的使用

且不说我 git 玩得多么的溜,可是基本的操做和规范什么的都仍是内心有数的,不懂就查乃程序猿基本素质。可是公司内部大部分或者能够说全部的使用方式 都只有是粗暴的 push pull,毫无艺术可言。初来乍到的我简直被震惊了-大部分时候先后端的人都在一个分支上开发。我尝试在小组推一推 git flow,可是无奈习惯的可怕。好在我依然按照 git flow 要求本身。

以上,我心里吐槽比较多的,包括但不限于这些,毕竟本文并非来吐槽本身可爱公司的。

然而,事实证实,这一切的背后都是有其内在缘由,在不展开说。

本身的尝试

工做一段时间以后,发现使用 seajs 致使的不少问题(狗屁懒加载,还不如打包成一个文件),因而开始在本身的模块中尝试使用 webpack,配合以前的“前端架构”,同时以组件化的形式对 IM 的模块进行优化。

首先,保留模块 seajs 的 js 入口文件,将其余的 js 文件和小模块按需整理打包成一个或者多个文件,从入口文件引入这些文件。

其次,从新梳理了 IM 的代码,根据界面划分组件。本来打算参考 flux 的思路将数据在一个 store 中,可是考虑到目前仍是 jQuery 配合前端模板的开发模式,担忧出现没法掌控的性能问题,最终仍是将组件的数据分离散落组件内部。 每一个组件有本身专属的 Model,View 和 Controller。Controller 控制 Model,Model 变化以后修改 View,组件内部 Model 和 View 的通讯以及个逐渐之间都是 经过订阅发布者模式通讯。

到这一步以后,模块的稳定性有了明显提高,数据的“单向流动”和数据驱动页面的思路也使得代码结构较以前简单清晰。

组件化的优点在于:分治。在个人代码中,组件内部只须要处理本身 Model 和 View 的事情,在 Controller 中暴露出对外的订阅和发布。而组件之间的“交流”只经过彼此的 Controller。

|-------------------------------------|
    | Controller =====> Model =====> View |
    |-------------------------------------|
    |            |
    |-------------------------------------|
    | Controller =====> Model =====> View |
    |-------------------------------------|
    |            |
    |-------------------------------------|
    | Controller =====> Model =====> View |
    |-------------------------------------|

固然,上述过程不是一蹴而就,而是一点点的尝试和修改,最后总结如此。

好消息来了?有消息好过没消息

期间有一个好消息就是,公司终于成立了前端小组。在觉得老员工的带领下和你们的努力下,前端开发规范和流程定下来了。而后小组分工对目前的一些比较重大的问题进行处理。好比 z-index 的规范,公用组件的清理和维护。我负责表情键盘的公共组件,目前已经完工,回头有空放 github 上供你们拍砖。

现实是残酷的

技术发展如此迅速,要想在当前站稳脚跟,仍是要有一手绝活,提升自身的竞争力才是硬道理。工做上老技术加新思想得过且过,可是业余时间也是不能松懈的。

毕业到如今,业余时间的学习状态也是起起伏伏。一会看看 React,一会搞搞 node……一会想作一个绑定七牛云的 markdown 编辑器,一会又想写 python 爬爬网站……说的好听叫“德智体美劳全面发展”,说的很差听就是“浮躁”。东一榔头西一棒子,demo 都是半成品,简直毫无做为。

好在乎识到业界竞争,及时刹车,给本身稍微定了计划和目标。

  1. 用如今的新技术作一个相对完整的做品

  2. 影片管理工具

  3. 学 Python,好好学,好好用

  4. 继续写博客

  5. 等等其余的事情

目前正在进行第一项:利用 Vuejs 及其生态圈作一个本身的 任务清单管理,欢迎你们送星鼓励迷途羔羊。
先后几个月的时间,断断续续。有时候大半个月不写,有时候周末狂写两天,如今天天坚持提交代码,时间少就稍微改改样式,时间多就加加功能。后端代码在这,本是之前在 daocloud 上搭着玩的,如今想慢慢把它打形成个人我的 API 接口仓库,一样也欢迎你们的鼓励。

本身的硬盘装满了各类电影,可是名字和信息乱七八糟,但愿有一个管理软件,可是没有找到,因而乎想本身用 electron 搞一个,取名“MovieMaster”,还能够跨平台呢。加载文件夹中的影片文件显示影片的信息是它的基本功能,同时能够编辑影片的信息。更多好用功能之后再想。目前爬了6000多条电影数据,等有空开发先后端,[仓库]()都建好了呢

Python 做为兴趣爱好,拓展本身的技术面,不想局限于 JavaScript。把以前的 python demo 仓库删了个干净,从新复习了基本的语法和数据接口,等有空了,从新拾起 Flask 撸起来。

继续写博客,本文不就是一个很好的开头吗?之前的博客用 githubpage 搭建,目前来讲保持不变吧,同时应该会在其余平台同步博文。
主要是贴图片有点麻烦,虽然如今有不少工具,可是仍是想本身撸一个,粘贴上传到七牛云,demo 都写好了。现阶段仍是多写写字吧。

其实我仍是挺想本身作一个单页博客,想一想工做量有点大,个人 MovieMaster 优先。

demo 不少,惋惜都没成型,遗憾。

后记

大半夜说了这么多,不是心血来潮,是一直以来想写点什么可是殊不知道写点什么。今天可以提笔写下这篇,不管流水仍是感悟,也算是一个进步。

毕业之时,曾想三五年后成为一名优秀工程师,一个打五个的那种。不论这个目标是否可以实现,可是依然要朝着这个方向前进。

与君共勉

相关文章
相关标签/搜索