2018年12月

2018...回归原点 2019...向死而生

这两天我回顾了自己在这一年里写下的文字,当然不止是指博客里的,还包括私人日记中的。

记得1月1日那天,这个博客正式上线,作为自己的新年礼物……但一年过去了,仅仅诞生了十二篇文章(不包括这篇),其中一半(六篇)还是中二病的胡言乱语,可以说是相当懒惰了。

那我2018年想要做的事情有完成吗?

好像……一件都没有啊?!

于是……在这寒冷的新年前夕,我不得不再次思考起来,自己的道路,自己的未来……到底要怎样才能磨练出主观能动性呢?

滑稽的工作

今年上半年一直在一个互联网小企业工作,这段经历可以说十分滑稽和糟心了,让我再次感受到国内的小型软件公司是多么的不靠谱。

基本上,在这公司总共工作的一年来,可以说我都不知道自己参与的这些项目究竟有何意义,很多时候都感受不到自己的生产力。

这便是小企业,老总总是心比天高、自信满满,但在各种细枝末节的事情上挑挑拣拣,而不肯多支出一分钱预算;而员工们虽然表面上对老总毕恭毕敬,但背地里却总是和老总形近神离。

打一开始向心力就没有存在过,本身项目的构思就一塌糊涂了,然后出现的问题一个接一个,需求长期无法明确,在没有任何设计文档的情况下就被要求开发,功能改了又改一切全凭老总的感觉,总共就没几个程序员但项目要的功能却越来越多,这也让原本就缺乏项目管理的代码变得更加混乱。

结果这个项目既没有规划,也看不到尽头。员工们每天为了干活而干活,为了解决不存在的用户痛点而瞎写功能代码,丝毫没有生产力,久而久之,员工和老总的矛盾就会产生,公司里的戾气也变得更重……于是一个一个的员工离开了。

我是6月底递交的离职申请,那时候公司已经没剩多少人了,但老总似乎对此毫不在意。总之,今年8月,我终于离开了这个穷山恶水之地,变回了自(无)由(业)职(游)业(民)。

总体来说……在这个公司的经历不但没有学到什么技术,反而觉得代码都不会写了(因为要配合其他人写代码的风格……那个代码太惨了)。不过也有好事,至少认识了一些人嘛,以及再次认清了自己必须要提升技术水平的这个现实。

如果我的能力还是这种半桶水状态的话,再去找下一份工作恐怕也只能进一些半斤八两的公司,与其拿自己的生命去换那么一点点钱,我更愿意将时间投资到自己身上。

——靠打工,是买不起房子翻不了身的!

……然而,把时间用在提升自己而不是虚度……我真的能做到吗?

回归原点

没有工作会让人懈怠。

原本,今年的后四个月里,我想做的事情非常多。

想进一步学习编程技能,想补一下计算机科学基础知识,想尝试做视频,想尝试写小说,想尝试交朋友,想尝试做计划,想尝试进行时间管理,想尝试调整心态。

……但是,现在已经到了2018年即将结束的日子,回过头看,我什么都没做成。

不是三分钟热度,就是压根没开始做。

更甚的是,买的《异度神剑2》也一直没有开始玩……简直懒到家了。

这种感觉……或许可以用“虚无”来形容吧。

有时候想想,可能去工作至少每月还有点零花钱,但是……这样真的好吗?

在孤独、绝望、黑暗的心灵世界里,那个声音对我说话了。

——“回归初心吧,然后找回自信,重新开始。”

其实这个声音就是我自己啦。活了二十多年,却一直都没有搞清楚我自己到底是什么样的人,弄得我都“精神分裂”了2333

其实,改变已经慢慢进行着……今年是我留下文字最多的一年,在平行世界里我确实的记下了每一天有意思的事情,在笔记里确实的记下了对自己的每一个想法。

——“果然,我还是想做游戏啊。”

那里是我的起点,连接了我记忆的事物,我永远热爱的——电子游戏。

因为整天烦恼这个焦虑那个,搞得连游戏都懒得打开,这简直一点都不像我啊2333

烦恼什么的就让中二之魂吞噬吧!我还是要做那个我行我素,脑洞略大于黑洞,最喜欢游戏,最喜欢编程,最喜欢研究稀奇古怪知识的Luxnk!

说起来我已经有多久没有完整的阅读过一本书了呢?简直了!2019,既然有了充裕的时间,至少要恢复中学时的阅读量才行嘛~

向死而生

如果一个人没有一些紧迫感的话,很可能就不能好好地行动起来。

“向死而生”,这个想法是临近年末时诞生的,也将成为我2019年的关键词。

因为我已经退无可退了,如果2019年不能让自己的状态有所转变,不能让我自己真正认同自己的话,最后会发生什么我也不知道。

国人大多都不喜欢轻易谈论“死亡”,但是我反倒觉得“不知死,焉知生?”。

如果我的人生只剩下最后的387天(这个倒计时是从11月22日开始的,那天是崩坏倒计时425天),我还会像现在这样虚度光阴,荒废时间吗?

平凡的工作苟活下去也是一生,按自己的心情做自己想做的事活着也是一生,那我为什么不去选择更符合自己理想的人生呢?我为什么不去试试在短暂的生命中在世界留下足迹,创造自己的价值呢?

时间……对每个人都是平等的,年轻的时候我们可能会感觉人生还很漫长,但在不经意间,已经度过了一生的四分之一。

祈愿吧——我坚信每个人都有获得属于自己的那一份微小幸福的权力,即使是糟糕如我这样的人类,也是有资格对未来保持希望的吧,虽然消极的我现在无法用这种心态思考,但一定……在时间的彼端,在另一个平行世界之中,有那样的我存在着吧!

2019,绝对不会再止步不前了,我必须要给自己一个答案才行,我必须……向平行世界的那个“我”证明——我在这个世界上活过,并且我会活得像“我”一样,不留遗憾。

Vue踩坑记(一):使用Vue-Cli3快速搭建项目

最近几天学习了Vue全家桶,对于我这个主后端的程序员来说,Vue确实相对于Angular更容易上手,各种插件和中文文档十分齐全,而且如果使用Vue-Cli脚手架的话真的可以说是达到“开箱即用”的效果~

有了Vue,就可以彻底告别以前jQuery那一套了,双向绑定简直不能太好用,整个前端开发变得流畅起来。所以各位想要走前端路线的程序员,或者是像我这样主要关心后端但自己开发项目想用一个方便的前端框架,那么我强烈推荐学习Vue。

官方的教程已经很清晰明了,在里面可以了解Vue的基本使用方法:

https://cn.vuejs.org/v2/guide/

所以我们这里就不抄文档了233,下面的内容偏向实战踩坑,不过注意这系列文章严格来说不是教程,只能说是我自己学习和使用时遇到问题的记录吧。

Vue-Cli3脚手架

虽然完全可以通过引入js文件到页面的方式来快速使用Vue的功能,但如果想要构建大型单页应用(SPA)的话,推荐使用官方提供的Vue-Cli工具来快速搭建项目。

SPA

什么是SPA?单页应用和传统多页面Web应用最大的区别就是页面跳转全部由前端控制,所以能够达到无刷新的流畅体验。

传统的Web项目,在页面跳转时,是由前端去请求后端地址,然后由后端返回要显示的页面;而在SPA项目里,公共资源会在第一次载入时加载一次,之后前端仅仅从后端获取必要的数据,然后局部刷新页面内容,而不需要重新载入整个页面。

使用Vue-Cli3搭建项目

要实现SPA需要前端框架的支持,对于Vue来说有Vue-Router这个项目来实现前端路由,这种开发方式下前端项目也需要相对工程化的结构,而Vue-Cli脚手架可以一键生成前端工程并完成配置,即便不懂webpack也可以开心使用,因为Vue-Cli都已经配置好了~

首先我们需要有nodeJs环境,然后就可以使用npm来安装Vue-Cli,这里我们选择全局安装,现在Vue-Cli的最新版本是3,这系列文章也都是以Vue-Cli3为基础来进行讲解的。

# 安装vue-cli
npm install -g @vue/cli
 
# 查看vue-cli版本看看是否安装成功
vue -V
# 3.2.1

安装完毕后,我们切到工作目录来新建项目:

# 新建项目
vue create my-app

执行之后,Vue-Cli会提示选择一个预设,刚刚安装完毕的话应该只有一个叫做default的预设(default上面两个是我自己加的),这个预设里是没有集成Vue-Router的,所以我们选择最后一个选项来自定义预设。

然后就列出了Vue-Cli可以自动集成的插件,按空格键选择需要的,比如前端路由Router、状态管理Vuex,最后按下回车。

如果有选择集成Router的话,这里会询问要不要使用history模式,关于history模式的优劣可以查看Vue-Router的官方文档,当然,如果以后有机会可能我也会讲讲233。

总只,一般来说我是推荐使用history模式的。

如果有选择集成Linter/Formatter的话,这里需要选择默认配置,根据自己的需求选择吧,我是选的ESLint + Prettier。

什么时候进行拼写检查。

最后,选择这些配置是分别放在独立的文件中还是一起挤在package.json里面。

是否保存预设,保存的话下次就可以在第一步的时候选择这个预设而不用上面一步步配置了。一切就绪后,Vue-Cli就开始自动工作了。略微等待它跑完,会是这个样子:

好了,现在我们就得到了一个Vue单页应用项目了!

目录结构

打开项目后的目录结构大概是这个样子的,十分清晰明了。main.js 便是程序的入口,.vue文件则是Vue组件的一种文件格式,需要webpack来进行编译,所幸这方面的配置Vue-Cli已经帮我们做好了~

运行和编译

运行和编译打包相当简单,运行以下命令即可:

# 运行
npm run serve
 
# 编译打包
npm run build

默认的端口是8080,运行后访问的效果就是这个样子啦~

配置文件

Vue-Cli提供了一个叫做vue.config.js的配置文件,不过这个文件在搭建项目时并不会被创建出来,所以需要自己手动在和package.json同级目录下新建这个文件。

可用配置项可以参考官方文档:https://cli.vuejs.org/zh/config/

比如,如果想要更改默认端口,就可以这么配置:

module.exports = {
    devServer: {
        port: 8181
    }
}

漂亮的MD风格UI框架:Vuetify

有非常多支持Vue的前端UI框架,这次我选用的是近年的一个后起之秀:Vuetify。

Vuetify实现了Google的Material Design设计规范,可以在PC和手机上获得不错的用户体验,并且还提供了Vue-Cli一键集成的插件:

# 加入vuetify组件
vue add vuetify

只要跑一下这个命令,vuetify便集成到项目中了,注意要在一个新项目里这么做,因为它会替换一些文件。

然后我们用npm run build方法运行一下项目看看效果:

关于Vuetify的各种特性,可以去看官方文档,有中文哦:

https://vuetifyjs.com/zh-Hans/

尾巴

这篇的内容就到这了,下次会讲讲正式开发里遇到的坑,虽然我也不知道自己什么时候会更新就是了233