我两年的web开发生涯
我两年的web开发生涯
与以前的文章分享给大家自己的知识和观点不同,这篇文章更多的是写给自己的总结。
现在是 2017年10月18.
从 2015年9月 开始接触前端开发,至今两年零一个月。
从 2016年3月 入职中油瑞飞从事相关工作,至今一年零七个月。
目前我即将离职,并于下个月加入一点资讯。
本文只涉及到技术话题,更像是流水账一样记录我两年以来的成长。
下水
当时离毕业还有半年,编程语言玩的溜的只有 Matlab,但这货毕竟主要用于科学计算,称霸于校园和各大实验室。我还是打算深入一门商业性强的语言,好吧就是好找工作的语言,因为我即将毕业而且需要一份工作。就此踏上前端开发的征途。当时考虑了几个方向,比如说后台开发(PHP等),移动端(swift等),数据挖掘(python等)。结合兴趣,前景等因素,最后定在了web前端这块。当时买了个 Udemy 的课程,老师送了2年的虚拟空间,我自己租了个域名,一路学下来自己的个人站点也上线了。从html,css模仿别人的站点开始,到js加上各路动画特效,当时做了个人站点更多的意义是展示自己学会了什么。那个站点包括 AJAX 在内的全部 js 的内容都使用的原生 js。留言板用的 PHP 把内容写在 JSON 文件里。现在看来当初的开发方式就是刀耕火种,但谁都的经历过新人阶段不是么。
入坑
接下来就是毕业了,补一补基础概念,加上实际操练也不少,第一份工作找的还是比较顺利。当时面了也没几家公司,中油瑞飞结束三轮面试后马上就向我伸出了橄榄枝,晚上部门经理请我喝咖啡跟我聊了一个多小时,初入社会小屌丝哪受得了这,当即签了卖身契。不过当时理由也是比较充分的,首先作为应届生,待遇方面还是可以接受的,其次都说国企好,想体验一下大国企的工作氛围,还有重要的一点,工作压力小,我会有很多时间学习感兴趣的内容,探索自己的发展方向,况且还能比较顺利的解决户口。后来事实证明,我上面的几点考虑是非常成熟的。就这样我进入了人生的第一份工作。
过河
入职以后还是体会到了轻松的工作氛围和无尽的人文关怀的,朝九晚五从不加班,甚至上班时候还有一些时间做自己的事。我当然不能闲着,得好好利用这些时间。当时部门里的前端工作,大部分就是往移动端里插几个 H5 页面,或者做个门户的登陆页下载页之类的,基本就是我之前的刀耕火种加了点 JQuery 。不能这么搞啊,得上点高端大气上档次的货啊,当时最流行的前端框架 React,Angular 当时 Vue 也小有名气了,而且据说会更火,但总感觉前两个更成熟可靠,Angular2 当时呼之欲出但是还没出,所以非常尴尬,我就抄起 React 开始学习,练习,了解周边工具。没多久来活儿了,我和一个PHP小哥负责一个会议管理系统,最初的方案是基于 yii2 框架,我配合做页面就行,我当即提出异议,提出前台用 React 做单页应用,后台只写接口。领导表示你们俩商量好了就行,后台小哥表示OK,不过他当然OK了,只写接口工作量少多了有木有,而且捅出篓子不能按期完工啥的都是我的锅有木有。此项目前段部分使用 gulp 构建 browserify 打包,使用 React React-Router 和一些工具库,中间加入过 Redux 后来需求改版后复杂度降低取消了 Redux,两个人,历时6个月有余,第一版正式上线。中间遇到了许多困难克服了许多困难。接下来,我参照了很多大神的项目,自己总结了很多周边工具,写了个 react-starter 是使用 webpack 构建和打包的,因为他实在是太火了我没法假装看不见么,css 方案采用的是 CSS Modules 配合 CSS变量(自定义属性) 完全可以取代 sass less 之类的预编译器,而且个人感觉比 css in js 舒服那么一些,immutable lodash 什么的也都是比较流行的东西了,配合 React 全家桶,是一个中型项目非常好的开端(当然是自己的评价)。我不但安利了同事们 React 还安利了他们我的 React-starter 于是几个月前启动的瑞信综合管理平台重构项目中,我们四个前端分成两组分别负责门户和统计的前端部分,都是以我的 React-starter 作为起点,安利成功。可以说我一手把他们带到了 React 这个坑里,现在我即将离职,项目进展顺利,估计离上线也不会太远。而且你也看得出来,我膨胀了。
捞鱼
前面都是工作中的内容,讲讲工作外的。工作之外我一直也没忘记我的全栈梦想,好吧其实只是觉得比较酷而已。最开始觉得 python 酷,官网看看语法,抄起 Django 就开始整,玩了一段时间算是勉强能用了,又觉得 php 用的人多,用 PHP 的公司也多,用途应该更广,跟着我搭档的项目熟悉了一遍 yii2 ,最后真正沉下心来学习的还是 node。首先这年头会不 node 根本不好意思说自己是前端工程师,其次 node 写接口的爽快的感觉也吸引了我。从这儿作为起点,我开始了解更多的后台内容,之前只是大概熟悉 mysql 现在又开始搞 mongodb,之前用过现成的空间,现在直接登陆 Linux 服务器,什么日志啊 Nginx 服务啊之类的也是在这个过程中接触的。当时觉得部署个 node 到生产服务器应该很麻烦吧,后来发现其实也就那么几步。在这个过程中,我的个人站点第二版 www.dabao.love 也面世了。前台就是工作中那一套不用多说,后台用 nodejs 写的接口,配合之前学的一堆知识,终于给弄上线了。这个站点的最终目的当然了和上一个一样,只是实践一下刚学到东西,并没有什么卵用。等我下次上线站点的时候一定搞一个有卵用的出来。
还在游
写到上一句的时候我以为已经发出去了,忙活入职,熟悉业务,做新人串讲,突然发现还没结尾呢。好吧,那就写到这,今天是11.18,我得接着游了。
我两年的web开发生涯的更多相关文章
- Web 开发和数据科学家仍是 Python 开发的两大主力
由于 Python 2 即将退役,使用 Python 3 的开发者大约为 90%,Python 2 的使用量正在迅速减少.而去年仍有 1/4 的人使用 Python 2. Web 开发和数据科学家仍是 ...
- (译)Web是如何工作的:给Web开发新手的初级读物
原文地址:https://medium.freecodecamp.org/how-the-web-works-a-primer-for-newcomers-to-web-development-or- ...
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- Go web开发初探
2017年的第一篇博客,也是第一次写博客,写的不好,请各位见谅. 本人之前一直学习java.java web,最近开始学习Go语言,所以也想了解一下Go语言中web的开发方式以及运行机制. 在< ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- .NET Web开发技术简单整理
在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...
- 移动端web开发的一些知识点
整理一下自己平时移动端web开发中遇到的问题,也参考一下前辈的一些总结 1.最常见的要数1像素边框了 因为Retine屏的分辨率始终是普通屏幕的2倍,1px的边框在dpr=2的retina屏下会显示成 ...
- Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》
首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结 ...
- 转载:移动web开发规范
本文来源:http://blog.csdn.net/joueu/article/details/44329825 以下是规范建议,均是日常在开发当中的的一些经验,仅供参考. 移动web开发规范 一.头 ...
随机推荐
- Map 基础用法
import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; p ...
- DDL DML DCL TCL之不同
http://www.orafaq.com/faq/what_are_the_difference_between_ddl_dml_and_dcl_commands DDL Data Definiti ...
- HDU 5934 强联通分量
Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 【JDK1.8】JDK1.8集合源码阅读——总章
一.前言 今天开始阅读jdk1.8的集合部分,平时在写项目的时候,用到的最多的部分可能就是Java的集合框架,通过阅读集合框架源码,了解其内部的数据结构实现,能够深入理解各个集合的性能特性,并且能够帮 ...
- win10 uwp 获得焦点改变
本文讲的是当我们应用失去焦点时,我们获得事件,当我们应用获得焦点,同样获得事件.同时,在应用不可以见时,我们也可以获得. 上面一张图,开始是应用启动,获得焦点,应用显示.然后我们打开另一个应用,切换, ...
- Python程序练习4--模拟员工信息数据库操作
1.功能简介 此程序模拟员工信息数据库操作,按照语法输入指令即能实现员工信息的增.删.改.查功能. 2.实现方法 架构: 本程序采用python语言编写,关键在于指令的解析和执行:其中指令解析主要 ...
- spring-boot学习资料
spring-boot: http://www.ityouknow.com/spring-boot 这里的内容都可以学习下: https://zhuanlan.zhihu.com/dreawer?to ...
- ELK系列~log4-nxlog-Fluentd-elasticsearch写json数据需要注意的几点
经验与实践 前两篇文章里我们介绍了nxlog的日志收集和转发<ELK系列~Nxlog日志收集加转发(解决log4日志换行导致json转换失败问题)>,今天我们主要总结一下,在与log4和f ...
- Java规范推荐
Java规范推荐 推荐:http://blog.csdn.net/tristansmile/article/details/7989670 命名规范 项目名:全部小写 Package 的命名:应该都是 ...
- 更新Android Studio 3.0碰到的问题
更新完后试下运行正在维护的旧项目,出现各种错误,因为后来发现问题不在这,所以没记完整,大概如下: A larger heap for the Gradle daemon is recommended ...