我两年的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开发生涯的更多相关文章

  1. Web 开发和数据科学家仍是 Python 开发的两大主力

    由于 Python 2 即将退役,使用 Python 3 的开发者大约为 90%,Python 2 的使用量正在迅速减少.而去年仍有 1/4 的人使用 Python 2. Web 开发和数据科学家仍是 ...

  2. (译)Web是如何工作的:给Web开发新手的初级读物

    原文地址:https://medium.freecodecamp.org/how-the-web-works-a-primer-for-newcomers-to-web-development-or- ...

  3. 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

    今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...

  4. Go web开发初探

    2017年的第一篇博客,也是第一次写博客,写的不好,请各位见谅. 本人之前一直学习java.java web,最近开始学习Go语言,所以也想了解一下Go语言中web的开发方式以及运行机制. 在< ...

  5. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  6. .NET Web开发技术简单整理

    在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...

  7. 移动端web开发的一些知识点

    整理一下自己平时移动端web开发中遇到的问题,也参考一下前辈的一些总结 1.最常见的要数1像素边框了 因为Retine屏的分辨率始终是普通屏幕的2倍,1px的边框在dpr=2的retina屏下会显示成 ...

  8. Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》

    首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结 ...

  9. 转载:移动web开发规范

    本文来源:http://blog.csdn.net/joueu/article/details/44329825 以下是规范建议,均是日常在开发当中的的一些经验,仅供参考. 移动web开发规范 一.头 ...

随机推荐

  1. M-自适应宽高样式

    1 绝对定位 position: absolute; top: 0px; bottom: 0px; left: 0px; width: 100%; overflow: hidden;

  2. Python 开发之路

    强烈推荐地表最强博客:http://www.cnblogs.com/wupeiqi Python开发[第一篇]:目录 Python开发[第二篇]:初识Python Python开发[第三篇]:Pyth ...

  3. IBatis.Net 老技术新研究

    我们现在用的数据访问组件封装了IBatis.Net框架,提供了标准的数据访问接口和服务.正好总结一下老技术IBatis.Net在进行实际的数据访问开发之前,我们先了解一下:IBatis.Net中几个重 ...

  4. javascript-OOP基础详解

      前  言 S     N 今天给大家详解一下面向对象编程(简称OOP)基础,OOP 语言使我们有能力定义自己的对象和变量类型 .对象拥有属性和方法 . 所以今天就给大家详解对象和类 . 1-1简介 ...

  5. vb6.0快速操作注册表函数大全(仅字符串KEY值部分)

    Option Explicit '声明要加载的函数 Private Declare Function RegCreateKey Lib "advapi32.dll" Alias & ...

  6. Android基础知识04—Activity活动之间传递数据

    ------活动之间传递数据------ 向下一个活动传递数据: Intent中提供了一系列的putExtra()方法,可以把数据暂存到Intent中,启动另一个活动的时候就可以取出来. 代码: (存 ...

  7. 【计算机网络】 一个小白的DNS学习笔记

    参考书籍 <计算机网络-自顶向下>  作者 James F. Kurose   DNS的作用   DNS是因特网的目录服务 DNS是因特网的目录服务,它提供了主机名到IP地址映射的查询服务 ...

  8. Java boolean类型

    有关java boolean类型的定义: The boolean data type has only two possible values: true and false. Use this da ...

  9. 项目总结一:响应式之CSS3 媒体查询

    1.<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scala ...

  10. swift 之 函数

    swift的函数跟脚本语言有很多神似之处. 如果有一天用swift开发服务器 ,很期待哇(一切皆有可能,毕竟人家说要跑在Linux上),