我两年的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,我得接着游了。

时间: 2024-10-09 18:33:52

我两年的web开发生涯的相关文章

软件开发生涯

我的软件开发生涯 (10年开发经验总结和爆栈人生) 简介 网名灵感之源,智能实验室创始人,从事软件开发超过10年,写过千万下载量软件,热衷开源,写过多个爆栈项目(系统开发技术栈..Net技术栈.数据库技术栈.前端开发技术栈).现定居于澳大利亚悉尼,研发经理,从事系统架构开发. 爆栈人生 现在流行说全栈.每种开发都有其相关的技术.您是否觉得难以罗列某种开发所包括对技术(技术栈)呢? 您是否想过: 我做的这个职业,究竟包含哪些技术呢? 我所掌握的技术这个子集,在整个技术大系这个超集里面占的比例是多少

(转)Web是如何工作的(1):给Web开发新手的初级读物

如果你刚开始学习Web开发,你可能会认为你知道网络是如何工作的--至少基本上是这样的. 但是当你尝试去解释一个简单网站是如何工作的时,头脑却是一片空白.IP地址又意味着什么?"客户端--服务器端"具体又是如何运作的? 事实上,在有功能强大的开发框架的今天,对于一些新手很容易就忽略掉对Web的基础认识. 我知道,我曾经就是这样的,这没有什么不好意思承认的.Web是复杂的,只有当你开始后端工程师的生涯时,你才会意识到这些基础的重要性.(如果你想写出一个能够正常运行的Web程序.) 所以,我

高性能WEB开发:重排与重绘

DOM编程可能最耗时的地方,重排和重绘. 1.什么是重排和重绘 浏览器下载完页面中的所有组件--HTML标记.JavaScript.CSS.图片之后会解析生成两个内部数据结构--DOM树和渲染树. DOM树表示页面结构,渲染树表示DOM节点如何显示.DOM树中的每一个需要显示的节点在渲染树种至少存在一个对应的节点(隐藏的DOM元素disply值为none 在渲染树中没有对应的节点).渲染树中的节点被称为"帧"或"盒",符合CSS模型的定义,理解页面元素为一个具有填充

Java Web开发基础(3)-JSTL

在DRP项目中接触到了JSTL标签库,对我这样的比較懒的人来说,第一感觉就是"惊艳". JSTL标签库的使用.能够消除大量复杂.繁复的工作.工作量降低的不是一点半点.是降低了一大半.不论什么工具的引入,都会使我们的工作变的简单.可是问题是我们工作能够变的简单,可是我们不能让自己的大脑变的简单.所以,我们不是简单的会用就能够.我们还须要了解这个工具是怎样工作的.怎样为我们提供便利的.ok.以下进入正题,我们从问题開始-- JSP脚本带来的问题 不知道看到这几个子,各位有什么想法?反正我认

移动Web开发调研

背景 在移动互联网浪潮下,移动设备普及,对配置需要考虑移动端设备可访问性.Web作为最贴近用户的配置手段,面向从PC端传统页面,向移动端页面的转型. 概念 PC Web: 面向传统PC电脑的浏览器开发的Web人机交互界面. 移动Web:面向移动设备的浏览器开发的Web人机交互界面.移动设备包括:手机.Pad等移动设备. 移动APP:面向移动设备开发的APP软件,直接运行于移动设备的系统上.不同于移动Web,其不需要借助中间软件运行. Web APP: 以浏览器为入口,实现 App 的 Web 化

web开发中比较常用的html标签

作为一名web开发人员,总结了一下经常用到的html标签,如下:<html> <head> <!--meta头标签 表示页面三秒后跳转到新浪页面--> <meta charset="utf-8" http-equiv="refresh" content="3;url=http://www.sina.com"/> <title></title> </head> &l

Java Web开发模式

一 Java Web开发模式的变迁 1 最初的Java web服务器端编程技术是Servlet,利用Servlet就可以开发出一个Web应用程序. 2 为了解决Servlet缺陷,SUN推出了JSP技术.但是开发人员又走向了另一个极端就是完全放弃了Servlet. 在JSP页面混合使用HTML标记和java代码编写的脚本元素标记来开发Web程序.采用这种方法虽然可以编写JSP页面变得简单,直观,然而,他只适合于业务流程简单,系统规模较小的应用系统. 如果系统较大的话,就会出现两个严重的缺点: 1

Web 开发学习顺序

如果你有耐心坚持个一年以上的话, 我会推荐HTML, css ,js, apache ,php, mysql 后三者是需要装软件的, 推荐wamp, 绝佳的一站式环境配置, WampServer, the web development platform on Windows 直接包括了apache, php, mysql三个软件, 省的自己一个一个装.有不少人在评论里问mac os下对应的软件, 这里补充一下: XAMPP Installers and Downloads for Apache

移动端Web开发调试之Chrome远程调试(Remote Debugging)

本篇主要说一下Chrome RemoteDebugging 的方法,之前也遇到一些坑,自己总结了一些经验,分享如下. Chrome DevTools调试移动设备Brower Page Tabs/WebViews 安卓远程调试目前支持所有操作系统(Windows,Mac, Linux, and Chrome OS.)中调试,支持: ● 调试站点的页面 ● 调试安卓原生App中的WebView ● 实时将安卓设备的屏幕图像同步显示到开发机器. ● 通过端口转发(port forwarding)与虚拟