你的位置:首页 > Java教程

[Java教程]低谷的惆怅与我能做什么的开始

  我知道这个标题很中二,但是很能表达我目前的状态。

  最近情绪很不稳定,想要做好一些事情,却又觉得这些明明自己已经安排好的事情,多次被人打搅。还背负了一个不理解项目老大想要什么的罪名。还曾在某天晚上加班到十二点去撸串时,被鄙视说写代码凑合。终于在某天我爆发了。当着团队人的面吐槽了老大,感觉畅快淋漓,但是,最终,也挣脱不了一个下场,我被流放了。作为一个坚强勇敢、果断善良的女汉子,我不得不表达一下我被流放两天之后的感想......很痛苦。那种自己生出来的娃,刚生出来就被别人接手了。妈的,这就是操蛋的人生(请暂时忽略我的性别,毕竟我是个程序媛...)

  我一度怀疑自己是不是不适合写代码。是不是需要去转行做产品经理。是不是去转行做UI设计,每天看些新鲜玩意儿不断激发自己跳跃的思维。连续几天一到夜晚,就思绪万千,不知如何是好,想哭,但是又特别鄙视如此脆弱的自己。默默的留下几滴泪,却又不敢告诉身边人,假装一切都好,假装一切如常。开玩笑说,这下挺好,啥事儿也没有了,其实心理的忐忑与痛苦只有自己知道。可是,既然做了,就得承担这个后果,都是成年人,必须为自己的行为承担代价。虽然我不认为自己是错的,再给我一次机会,我仍然会做同样的事情。但是,我现在必须,把自己从这次的小小低谷中把自己拉回来。男票总说我遇事逃避,这次,我就不要做一个缩头乌龟。我要强大起来。所以有了这开始的想法,我不知道自己会把这个小小的实验项目做到什么程度,我不知道自己做这个有什么价值,但是,至少我要从这些我从未使用过的技术中告诉自己,我能做什么,我能实现什么,至于将来产品的价值和竞争核心,就留给产品经理慢慢思考,但现在,目前,我必须去使自己学点东西,并且实现出来,保持学习力,学到些新的设计思想,即便这些技术将来不流行了,但是至少我拥有了这些思想价值。自己能做什么,和在做这些事情的过程中体会到的思想价值,就是目前要干的事情。

  项目目标:微信客户端(至少实现扫码登录、聊天功能)

  项目技术:后台 node、mongoDB 前台 react、redux、客户端 electron 、构建 webpack

  技术调研:

  1、为什么使用node。

    a.通过对node的基础了解,我知道非常适合开发聊天服务器,js的单线程的特点,使nodejs能采用非阻塞I/O机制,使他很容易的解决高并发问题。并且nodejs的事件环机制使他更高效更有良好的用户体验。

    b.因为我使一个前端工程师啊!对于前端工程师发展成为一个全栈工程师,目前最流行的线路就是学会node。并且通过之前的业余时间的学习,有一定的node基础,减少学习其他后台语言带来的时间上的开支。

    c.nodejs本身就是模块化的特点,很符合现在大多数web应用的编程方式。具有良好的管理、快速定位的特点。

  2、为什么使用mongo

  首先我是学习C#出身,但是在校学习的和使用的都是关系型数据库。关系型数据库强大之处在于能实现复杂查询,像我的专业信息管理与信息系统最对口的ERP系统通常会涉及到上千个表之间的查询,但是相对应的使用成本和配置成本都较高。结合目前我和我男票打算玩的项目来说不实用。通过我的一些研究了解,我发现MongoDB是最合适不过的了。废话不多说,直接上图:

 

  

  截图来源  3、为什么使用react和redux

    react高效、灵活可以减少很多的DOM操作和添加一堆并不能控制样式的类名。单向数据流减少了代码的重量。最神奇的是他的Universal渲染使他能同时在服务端和客户端进行渲染。

    redux单一的数据源使他可预测,相同的输入只会得到相同的输出;便于管理方便团队协作(毕竟我跟我男票俩人也算是一个团队了);支持universal渲染,服务端的渲染会保存在state上,而state只有一个所以,服务端只需返回给客户端一个变量,客户端就可以知道返回的是什么内容;and so on ~以上只是我比较看中的几个点,有想要对redux深入了解的,只需动动你灵活的小手指,度娘就会告诉你。

  4、客户端打包工具的选择 electron

  它可以让我用纯js调用原声API就能造出一个客户端。我之前非常喜欢使用的代码编辑器vscode就是用它来做的,还有github的客户端、腾讯的微云等...这简直是让我这个之前不懂这些东西的小白大吃一🐳。果断选择这个没错了。

  5、webpack的模块化管理打包非常符合我对项目定位的模块化编写的预期。

-----------开弓没有回头箭,牛逼都已经吹出去了,剩下的就是干,要不然就是自己打自己的脸。我浑浑噩噩了这么多年,还不主动干点啥,就太对不起我这彻夜难眠的煎熬了。

-----------之后可能会对自己的技术规划略有调整,以及新技术的学习研究感受体会都会记录在我的博客中,也是对自己的激励和一个交代。