阅读 1543

二线城市非互联网公司,我的前端自救之路😬 | 掘金征文

现在是北京时间23:42,刚输一局王者荣耀心情有些低落...
习惯性的打开电脑,略带职业病的打开了谷歌浏览器,打了个哈欠揉了揉眼睛,不经意间打开了尘封已久的掘金网站,看到的第一条文章就是🏆 掘金征文 | 2020与我的年中总结,我瞪大眼睛突然意识到2020年已经过半😢
好吧,承认自己最近有些颓废了,回想起这半年,作为 二线城市传统行业 公司工作的web前端开发者,没有项目的压力没有上司的压力没有产品经理撕逼,总之来说,这里就是摸鱼者的天堂...
就是在这样 ‘恶劣’ 的工作环境下,仅存的一丝丝进取心告诉我,我要自救了! 于是我奋起疾书,打算好好总结上半年自己的一些情况,以此来规划好下半年的学习计划,最终成功自救!

疫情期间在家办公,危机感让我学起了数据结构

今年是比较特殊的一年,这都是疫情的功劳
说是在家办公,其实就是个噱头,毕竟在公司办公的时候还经常摸鱼😄,但凡人比较闲的时候就需要给自己找点事干(当时想着,公司没有没扛过疫情,那我就又要找工作了),为了提高自己的核心竞争力,所以选择恶补数据结构与算法

但现在感觉,学了和没学一个样😅

主要学了一下内容

  • 栈和队列的概念并基于数组进行封装
  • 链表的实现原理及单线链表和双向链表的JavaScript实现
  • 二叉树的实现原理及基于JavaScript的封装
  • 哈希表哈希函数概念,并使用JavaScript的封装
  • 一些常见的算法如:数组扁平化,数组去重,寻找最优解 ...

具体的内容我写在了我的公众号【码不停息】里面,感兴趣的可以去瞅一瞅

日常工作没压力,空闲时间让我赚了些外快

也就是接了点私活,这里有些经验分享给大家,希望对想要接私活的同胞们有些帮助

接私活的前提是先做好自己的本职工作

这点希望大家可以分清楚, 我一般接私活都是在我完成了自己的工作后才会去接,外快一时挣钱一时爽,但本职工作做好后,你才有更多的可能性

私活要价

有的人接了私活不知道怎么要价,要了少了感觉自己吃亏,要了多了又感觉客户不买单,这里你可以参考以下流程

  • 先问客户有没有预算,如果有预算,你看你能不能接受他的这个预算,如果感觉差不多,那就拿下,如果感觉差的太多,那也别浪费时间
  • 如果没有预算,我一般是看项目的难度及开发时间,一般的计算方式就是 预估开发时间天数* 你现在每一天的工资 * 0.8 ,如果这个项目做过,我就是这个报价,如果这个项目没做过,并且你一看到这个项目就 比较兴奋 那我会适当的降低报价(因为当你感觉你可以在这个项目中学到更多的东西时,价格上就好说了)毕竟是自己接私活,所以怎么开心怎么来
  • 注重项目质量,其实只要做好三个左右的私活,以后不会愁没有单子可做,你看哪个项目上线后不需要维护的? 人都是会比较,如果客户感觉你这个人比较靠谱,后续你懂得

私活要怎么接

接私活不是靠你技术多牛逼,渠道多多,靠的是你平时人脉的积累和 你在别人心目中的感觉
我几乎所有的私活都是通过同事及朋友的介绍,因为在别人看来,我这个人还比较 靠谱
网上虽然有很多接单平台,但是单子的质量和价格都比较诡异,比如一千块做个淘宝一样的商城,这样的你敢接😂

看不到工作的尽头,迷茫让我开发了自己的第一个小项目

大多数程序员都逃脱不了写业务的命运,业务一时写来一时爽,但一直写来也会让人反胃

所以从两个月前我就开始打算自己做一个项目,项目的目的就是弱化业务,注重技术。说白了就是想通过一个具体的项目来更好的提高自己的技术

我的项目灵感来自于游戏

话说那是一个风雨交加的夜晚,我一个人还在王者峡谷奋力厮杀!虽然痛斩十余人晋级赛晋级成功,但放下手机后,还是感觉无比的空洞,不经意间自问,段位有这么重要吗?
段位有这么重要吗? 就是这句话让我灵感一现,如果我做一个小程序,以学习为载体,以段位为等级,岂不美哉!于是那一夜我花了十分钟就构思了这个项目的大体逻辑

大概思路就是通过刷题来提高自己的段位,段位越高,所刷的题就越难
你的段位越高也就说明你的综合水平越高

哈哈哈... 当时的我兴奋不已

项目架构之谁火用谁法😎

第二天开始构思项目架构,我的结构思路就是 谁火用谁 毕竟我是要弱化业务,注重技术的

  • 先构思前端,这也是自己最拿手的,最近 uni-app 做小程序比较火,好了就是它了!

  • 在构思后端,语言自然是选择node.js那框架?egg.js看起来挺不错,大厂都再用,就它了!

    然后就是...

  • TypeScript 比较火 用它!

  • GraphQL Api 比较火 用它!

  • redis 没用过 用它!

  • Docker 听说比较好 用它!

  • nginx 没用过 用它!

所以开始的时候,项目的技术架构是

  • 前端: uni-app + TypeScript
  • 后端: egg.js + GraphQL Api + Docker + redis + nginx + linux

项目架构之先跑起来再说吧😅

  • 感觉uni-app推荐使用的编辑器HbuilderX不太用的惯,就选择了用npm的方式搭建项目配置了TypeScript,应为之前没用过TypeScript,以至于写着写着都变成了any😌
  • 后台管理系统是基于Element-ui 自己搭建的,弄了一个多星期把权限,路由,导航全部配置好,但是页面奇丑无比,还有各种各样的小bug来烦你😌
  • egg.js 框架目录结构确实比较规范,以至于写一个接口都要在controller层处理数据service链接数据库然后在router中暴露接口,加上GraphQL Api的各种配置,最后导致写个链表查询都写不出来了😌

这时,已经过了一个多月... 好吧, 先项目跑起来再说吧😅

于是向现实低了头,更换技术架构

  • 前端 不变,因为还可以hold住
  • 管理系统,换成了现成的一个框架
  • 后端改用熟悉的koa2GraphQL Api也去掉

项目架构总结

不得不说,我自己给自己上了一课,理想很丰满,现实很残酷

总结一下

  • 不要为了用而用,比如egg.js它本来就是企业级框架
  • 不要用超出自己认知范围内太多的东西,因为你hold不住,有些技术不是难,是自己的认知还不够
  • 一个人的能力有限,要在有限的时间及能力范围内先开发核心功能,前期不要把功能做的很复杂,很有可能会收不住场

项目展示

项目部署用的是docker + nginx + pm2 目前还在内侧中,预计一个星期后上线,干兴趣的小伙伴可以关注我的动态,或者关注公众号【码不停息】哈

前端自救之下半年flag

flag还是要有的,万一实现了呢

  • 继续做好自己的本职工作,服务好金主爸爸
  • 小程序的优化,维护一个项目确实不容易,后续还有很多东西要完善
  • 多写写技术文章多总结,比如最近项目部署linux服务器学到了不少东西,以后可以以文章的形式分享给大家
  • 技术深耕,形成自己的知识体系

最后

希望大家多锻炼身体注意休息,第一次参加征文活动希望大家多多点赞哦😘,好了不说啦,打把游戏睡觉啦

掘金征文 | 2020 与我的年中总结 征文活动正在进行中......