zoukankan      html  css  js  c++  java
  • 2018个人年终总结

    =====我的2018=====

    2018-12-30

    又到年末了,说到年末,一般会有两种理解,新历的和旧历的。

    我们的上一辈中,还会将旧历作为日常使用,我们这一辈估计已经大多生活在新历中了。

    我自己就是习惯于新历,对于旧历的日期是没大有概念的。

    于是,夜里醒来睡不着的现在,心想做一下年终总结吧。

    // 历史沿革

    机缘巧合进入软件开发行业,作为软件外包,基本上是碰上什么项目做什么,

    这也做过那也做过,但总的来说都属于C/S,基本上是没有B/S经验的。

    直到去年也就是在2017,客户问可以做xxx吗,当然可以。

    虽然没接触过,但历史上咱就没做过会的,都是先有了项目,现学现做。

    于是走进web的世界,虽然只是做的很基本的MVC(项目本身特点,小,MVC,jQ足以)。

    用的Bootstrap3(因为支持IE9),用了几个jQuery插件,也写了一两个简单的jQ插件。

    因为是系列的,类似的做了几个。

    到后来就觉得没什么新意,工作任务也算轻松下来,于是闲暇里,给自己补充了一点Web营养。

    // - 关于前端框架

    接触到当前的三大前端框架:Angular/React/Vue(按字母顺序排的)。

    动手实作了一下angular,发现是个大而全的框架,理解了它的一些基本概念,认识到组件化等,很多东西刷新了既有认知。

    之前做的MVC,路由相当于在C,而前端框架能做到的越来越多,可以有路由,

    留给后端做的就只有数据接口了,后端当个RESTFul的数据提供者就可以了。

    其中还接触到了状态管理Redux/Store(源于React),RxJS等。尤其RxJS更是刷新三观的存在。

    // - [Rxjs:刷新三观的存在]

    相较于以往的开发经验,RxJS是颠覆性的,它让整个变成思路都不一样了。

    Promise解决了CallBackHell改善了javascript的异步编程体验,RxJS不仅仅是增强了Promise,

    就像计算机刚刚被发明出来的时候是用于计算导弹弹道但事实计算机能够做的更多更多,

    RxJS也是解放了很多的可能,虽然现在应用还不是那么广泛,相信这个概念会普及。

    // - 关于JavaScript

    不做Web开发时是接触不到JS的,以至于在“小时候”并不知道js与jquery分别是什么意思。

    后来知道,曾经有一个时代数据jQuery。对于操作DOM,jQ没的说。

    但到了当下,已是大前端时代。(当然,对于小规模的网站,继续使用仍然算是一个好的选择)

    关于JS要说的,就是

    // - js的前景与TS(TypeScript)的尴尬
    这里要提到一个Atwood定律:“任何可以使用JavaScript来编写的应用,并最终也会由JavaScript编写。”
    原文是“Any application that can be written in JavaScript, willeventually be written in JavaScript.

    所以用泵JavaScript的人几乎可以说:哪里有软件,哪里就有JS。

    JS的诟病也是有的。让人斩不断理还乱的this,有别于java/c#等面向对象语言的prototype。
    随着一次次的版本更新,JS也做出了明显的改变。如在ES6(ES2015),箭头函数中就没有this的错乱,并且也引入了Class的概念。
    但获得浏览器的支持却是另一回事,不过好在还可以用pollyfill解决JavaScript的浏览器间支持的差异。
    总之对于被开发者称为“反人类”的IE,就不要指望了,毕竟都被自家放弃了,Win10开始自带Edge浏览器,
    只能执行与IE环境的系统还是大有存在的,相当一段时间里IE还得继续存在下去。
    而Edge也是出师不利,2018年底被宣布更换内核,像Chrome看齐。但开发者而言总归是个好消息。

    Es6标准发布于2015年,官方叫法已改为ES2015,在2018年年末的今天,依然没有被完全支持,当年提的变革确实太激进,
    分多次版本依然进展缓慢。Chrome作为支持最新标准的先锋,受到开发者的拥护。

    // - TypeScript
    出身名门Google微软,作为JavaScript的超集,更是成为Angular框架的御用语言。印象中VSCode也是用TS开发出来的。
    拥抱开源的微软,出品的Visual Studio Code,最近可谓是如日中天吧,逐渐超过老牌编辑器,作为VS的使用者,
    我本人在用过之后恨不得把开发全部迁移到VSCode上来,VS太笨重了,VSCode太轻便了。但是VS还是不得不用,
    作为宇宙最强IDE。(这里可能有争议,【板砖出售/回收处】)

    扯远了,回来说TS。由于JS的逐版更新,类的概念也有了,模块化也实现了,越来越完善了,
    当初针对不完善的JS做的超集还有那么大的意义吗,我想。毕竟JS流行已久,而现在又没有直接支持TS的浏览器,
    TS是要被编译成JS再交给浏览器的,TS难道要作为JS的影子一直存在下去吗?(不黑不吹,只是针对TS的思考)
    另外TS多少有一点提高了Angular的入门门槛,感觉TS有点尴尬。我本身是希望TS能普及的,它确实很棒。

    // - 接触了Nodejs
    可以做后台开发,结合各种三方包,web框架,模板引擎等,果断做到JS通吃前后端。

    // - 用VSCode做开发尝试
    用到了angular-cli脚手架,npm包管理器,yarn包管理器

    // - 用到了createJS/EaselJS
    做了基于html5-canvas的Grid插件,目前还是半成品。

    // - 用到了Webpack
    用ES2015做开发,为了实现浏览器兼容,想到用webpack打包,实现指定目标js版本为Es5的编译输出。
    做出了Demo。看了一篇关于web打包工具选型的博文,计划继续了解其他web自动打包工具的使用。

    // - 了解到WebGL与ThreeJS
    之前做不到的,现在能轻松做了,通过Threejs,一个基于WebGL的库,能够让浏览器轻松实现3D渲染。

    // - 关于全栈
    我经历的开发都是围绕着微软技术栈,在大前端的当下,全栈工程师有了这样的技术栈选项:MEAN。
    M:MongoDB
    E:Express
    A:Angular
    N:Nodejs
    缩写就是MEAN了。有时间也想做一下这方面的实践。

    ///////////////////////////////////////////////////////////////////此处为补充Start 

    // - Python

    总结完发现,关于当前火热的Python竟然忘写了,

    出于对技术的热爱,也包括对金钱的向往吧,会关注前沿或者热点的技术

    比如出来个区块链,就去了解Block-Chain是什么,虽然用不到,以及比特币bitCoin,虽然我不会参与。

    同样Python,一个20多年前的老语言(1989-马上30年了),趁着人工智能AI、大数据BigData的东风,也越来月火了起来,

    也是因为个人兴趣及需求,做了以下实践:

    公司内部使用的管理系统不好用,主要是登录数据的录入及界面不人性,就用python模拟登录,并提交数据。

    提交的数据是自己组织的json。做这个数据出来的方式就多了,都比用原web登录要简单轻松,

    比如用拖拖控件就能做开发的winform,用vba出一个json文件也是可以的。

    虽然整体还需完善,但prototype做出来了。

    ///////////////////////////////////////////////////////////////////此处为补充End

    暂时就想了到以上这些吧。

    以一个项目为契机2017作为开端进入web开发领域,2018年可以说接触了很多新的技术知识和思想。
    虽然开发工作了多年,但web开发,还是起步不久,接下来的计划,深入web开发,做更多的前端实践。
    最好的生活,就是有兴趣并能做自己喜欢的事,同时能体现它的实际意义。
    如果不喜欢或者觉得没有意义时,会考虑maybe I should quit.

    ===============
    当工作需要,现在不得不做Webform时,关键还是只能运行在IE上,
    内心是困苦的。好在很快就要结束了。

    ===============

    2018/2019年末年始之际,两个半月在Tokyo出差,

    暂时离家,也放下了几个月前从儿子交入园费开始的压力和抑郁,

    展望2019,只觉得,之前的计划打乱了。那就重新开始吧。

    【结语】
    “技术在进步,人也得成长”,
    Web开发,是一个崭新的世界,一个有趣的世界,我喜欢做开发。
    在学习中进步,在实践中成长,
    努力吧!

    作者:码路工人

    公众号:码路工人有力量(Code-Power)

    欢迎关注个人微信公众号 Coder-Power

    一起学习提高吧~

  • 相关阅读:
    請問各位大大,我要將listview顯示的縮圖加入到listview2,請問該如何做呢
    一个可设置窗口透明属性的控件,可让窗口透明、半透明
    laravel he stream or file "..laravel-2019-02-14.log" could not be opened: failed to open stream: Permission denied
    每日学习-20190721
    linux centos无法删除网站根目录下的.user.ini解决办法
    laravel在使用Composer安装插件时要求输入授权用户名密码解决办法
    Centos7 日志查看工具
    Centos7 Putty SSH密钥登录
    阿里云Centos7用putty ssh链接掉线
    阿里云 centos 无法执行moodle cron
  • 原文地址:https://www.cnblogs.com/CoderMonkie/p/my2018-summary.html
Copyright © 2011-2022 走看看