前端高级摸鱼专家的自述
时间如流水,仿佛将我搁浅在回忆里。我的记忆一直是停留在2020年的,恍惚间,将我拉入现实… 却无法接受2022的到来!
阳历2021年12月31日,离2022的到来只剩几小时。临近春节刚好只剩一个月,我陷入了沉思…
摸鱼系列持续更新中:写第一期的时候只是因为无聊没事情做,从来没有想过续写,我是一个极其懒散的人,可能今天定的目标,明天就会忘记,会给自己找各种理由放弃。如果不是你们一味的让我更新,给予我足够的动力,我是无法坚持下去的。这篇文章已经是第八期了,但说实话,我今天并没有打算更新,往常每周都是一篇摸鱼,这周算上这篇的话已经算第三篇了,超量了。
而让我选择继续更文的动机是后台有粉丝都在催更,谁让我这么实力宠粉呐!刚好最后一天我也就着这篇文章做一个年度总结!
先说最近的情况吧,我最近一直在搞那个安全加密:
《白帽子讲Web安全》一书开篇所说的:“互联网本来是安全的,自从有了研究安全的人,互联网就不安全了。” 世上没有攻不破的系统,只有还没攻破的系统,有多少条路可以通罗马,大概就有多少种攻克之道。
安全问题的本质就是信任问题,其三要素为:机密性、完整性和可用性。机密性指的是要求保护数据内容不能泄露,加密是实现机密性要求的常见方法。完整性指的是保护数据内容是完整的、没有被篡改的,实现完整性的常见方法是数字签名。可用性要求保护资源是随需而得
而我就从安全要素的机密性进行处理的,主要方法为aes、des加密算法。这个应该很多人都知道,或许也都做过。至于不知道的,你们可以百度下。说到这,我想起了混淆代码。我们项目中重要的数据不但使用加密处理,还进行了代码混淆。防止反编译后的可读性!然后我有两个问题,或许不是问题是疑惑。第一个,代码混淆后,如果以后需要进行更改,那么如何去更改?因为混淆的原因,所以自己也无法读写。如果说可以将混淆后的代码进行更正处理,那么有恶意攻击程序进行反编译的,拿到你的代码后把混淆的代码进行更正处理,那么混淆的意义是什么?这是我的第二个问题!关于安全这块,以前真的没有去接触过,也就是我这块的经验不足!如果有人清楚方可告知,谢谢!
最近我们项目组有很多项目都进行了加密处理,因为其他前端有别的事情的原因,在加上第一个加密混淆都是我做的,所以需要进行安全加密处理的项目自然就到我手上了。
我之前专门研究各大框架,封装各种UI库,把什么三大框架都去总结一遍,后来我发现好像没什么意义。最近让我搞这个安全问题,我现在对web安全和代码的性能优化处理渐渐提起了兴趣,所以我更新了好几篇关于web安全的。而编写易维护、易复用、可读性的代码,这是任何一个工程师的基本素养,可能因为种种原因,有时候时常会忘掉,也或是懒惰。我们会:只要能跑就行,管他什么可不可读。我有时候就会这么想。最终导致的原因可想而知,别人能不能看懂我们先不管,时间久了,我们自己写的代码,自己可能也看不懂…
突然想起前段时间一个名为新生代农民工的词上了热搜,有人不满,也有人调侃。
更多的是调侃,我从没觉得这个行业有多么高大上,自己的职业有多么的高尚。我们只不过是互联网时代的产物罢了,是时代发展的推进品,是时代造就了我们,而不是我们造就了时代。
我们一天到晚坐在电脑跟前,什么颈椎、腰椎、眼睛等等乱七八糟的,试问?哪一点是健康的?
说到这了,刚好我们来聊一聊元宇宙以及web3。这两个也是近段时间互联网的热搜新词,可以说是一夜爆火。我不知道你们有没有了解过,在我看来,这两个完完全全是一个概念,与其说是概念,不如说是个幻想,起码在近几年很难实现。
首先、元宇宙,官方给的定义是利用科技手段进行链接与创造的,与现实世界映射与交互的虚拟世界,具备新型社会体系的数字生活空间。是在扩展现实(XR)、区块链、云计算、数字孪生等新技术下的概念具化。什么意思呢,简单来说,就是给你一个VR眼镜,你可以在里面购物,你可以在里面挣钱,挣的钱可以拿到现实世界去花,差不多就是除了吃喝拉撒,你可以在里面做任何事,你也可以随时穿梭于任何一个世界。
这跟VR游戏有什么区别,每个公司一个元宇宙,不如说每个公司一个游戏。除非跳出游戏领域,整个世界都只有一个元宇宙。模拟真实的军事,医疗,行政面,元宇宙概念才是真正展露其存在价值的地方。
我实在是不想说什么资本炒作,明眼人都能看出来,这个东西,起码现在和资本炒作无异。当然你们也可以发表一下你们的看法,这仅代表我个人理解。我也会洗耳恭听!
其次、web3,这个不难理解,通俗一点的说就是各个网站之间可以进行数据交互,相当于百度腾讯阿里网站的数据在同一个浏览器上做到数据共享,可以暂时这么理解。
web3.0和web2.0有竞争,但并不是你死我活的淘汰,二者是可以并存的,就是两个平行世界。其次,web3.0和虚拟货币没有必要联系。在web3.0上产生的收益完全可以通过现有的金融系统来实现收益兑现。虚拟货币没有任何依托,也没有任何价值。有人说价值来源于认同,爱因斯坦的手稿能拍出8千万,而你的手稿一文不值,这就是认同感的差距导致的。然而这并不是普世认同的价值,只是特定领域内的人认同的价值。web3.0作为一个全民参与、全民获益的趋势,是不宜用这种只被小部分人包装后的白条来榨取参与者生产力的。现在币圈的人总是喜欢把区块链和虚拟货币混为一谈,希望把区块链的概念和虚拟货币的概念对等,现在居然说虚拟货币是web3.0的前提之一,可以说是贻笑大方了。最后web3.0的效率会很低,远低于web2.0,去中心化的前提下,参与者越多效率会越低。比如班里在投票选班长,11个人的班最少只需要取得6个人的投票,而101个人的班至少需要取得51个人的投票,效率显而易见。web3.0一定会到来,但一定不会取代web2.0。中心化是自然界的规则,想推翻这个规则是不可能的,除非哪一天地球不再围着太阳转,电子不再围着质子转。毕竟中心化的事物条理更清晰,管理者和受益者都是明确的,更便于规范管治。而去中心化的事物,表面上是在给民众自由,实际上话语权还是在巨头手里。你不会想象到所谓的去中心化执行过程中会出现多少阴兵,最可怕的是我们都不知道形势到底是谁在暗地里掌控。
我相信web3一定会到来,但我并不看好元宇宙,至少现在并不看好!
啊这!卧槽,好像这跟我们摸鱼没有什么关系吧,不好意思各位,偏离主题了。只是突然想到了,随便说两句谁知道说了这么多。我下午两点上班就已经开始写了,现在四点多了,我靠我还想着待会下班呢。扯太多都不好收尾了!!!
哈哈,与其说这是一篇摸鱼文章,还不如说这是一篇学习文章,起码有在跟你们扯行业的事情。我写文的时候总是东扯西拉的,熟悉我文章的人都已经看出来了,就像这种,明明说摸鱼,这他吗跟元宇宙、web3有什么半毛钱关系吗。的确没有,但这是摸鱼的最高境界。为什么这样说,假如你看到这,就知道我的良苦用心了。听我说,因为我希望屏幕前的你,摸鱼不仅仅是摸鱼,而是有所成就的摸鱼,我知道你可能跟我一样,没有事情做,也可能抽空看到的这篇文章。我不想虚度你的光阴,不想你听我在这乱七八糟的闲扯,更不想看见你颓废,我们摸鱼归摸鱼,但人总归还是要学习的。所以我希望你在我的摸鱼文中会学习到一些相关的知识,听一些没听过的词,这是一种收获,这是最大的收获。如果你觉得你学到了东西,试问一下,这还是摸鱼吗。领导从你旁边过,你也可以理直气壮的说我在学习啊!
把工作做完,才有机会摸鱼,才能摸到更大的鱼。
刚又给我提了个需求,让我去弄一个滑块验证和图形验证码。我真想骂街。不止一次了,每次周五的下午跟我提需求。不过我也顺其自然的回一句,下周再说吧。这玩意儿,我下周来了随便找一个复制一下。可不能当误咱们摸鱼呀,还得跟你们更文呢!!
下面我做个完美的结尾吧,稍稍的做一下年度总结,已经接近五点了。
这一年、憧憬
年初因为家里事情,拖至4月份才出去找工作(20年底从北京离职了)。因为适应不了北京的高强度工作,所以跟朋友约好一起去了苏州。前几期聊过这件事,一线加班严重,经常两三点都是常事,在这我就不在细提了。
刚到苏州的时候,的确是满怀期待的。江南水乡,鸟语花香。脑海里不禁浮现了“日出江花红胜火,春来江水绿如蓝“的情景。我想,我的一番作为,可以从此开始。但现实的残酷狠狠的抽了我一巴掌。苏州那边的确好地方,可因为湖多,地铁绕路。通勤成了问题不说,住房也是问题。跟朋友两人很纠结,不知是先投简历面试找工作还是先解决房子。所以先是住了几天酒店。俗话说一屋不扫何以扫天下,我们思考再三还是觉得先解决住的地方,至于工作,太远的不接受就好了。那段时间可以说是我俩的煎熬了。去苏州待了两三天才找到住的地方,一顿操作下来,我俩算是把兜儿里掏干净了。上一期开玩笑说什么落魄,露宿街头。我觉得一点也不夸张。我们两人经常去买俩馒头,吃点榨菜啥的,或是泡面。经常跟他说的一句话就是:咱们俩人要互相打气,不能互相打击。我不知道到底是什么驱动着我们前行。我背负房贷,他因为西藏自驾游一趟也身负巨债。面试也不太理想,因为时间久了,那些乱七八糟的题,都想不起来。我们俩人差点去干货拉拉了,就是那个搬家的货拉拉,一天50块钱,卧槽,我是没想到,两个程序员会落魄到这样。我们俩上人家货拉拉公司,做了一堆乱七八糟的体能培训,完事儿人家跟我们要300块钱押金,我押你***。沃日,我要有钱我还来你这干货拉拉?说出去都笑死了。这他吗我俩一看,骗子。扭头就走了。靠。还好,后来拿了四五个offer。也算是柳暗花明又一村吧。不过我告别了我的小伙伴来了浙江。
这一年、恐惧
入职以后,他们这边的项目是真赶,我那段时间差点给我整崩溃了,来了以后直接让我上git拉代码,把需求发给我就让我开始改。说后天要上测试。我上你个大猩猩。我他吗项目都没熟悉,也不知道是啥业务,啥逻辑,上来就让我改。我直接跟他说,我说我刚来还不熟悉项目,你给的时间太急了。不行我就走你换人吧。后来他没办法说给我三天时间熟悉项目。我答应了。刚开始没觉得,那个项目确实垃圾。他们当时前端人少,项目做不过来,让一个后端去写前端。我靠一个组件写两千多行代码,这他么什么概念,我一个组件最多的时候也才300行,他不带拆分的。导致我很头疼。而且,同样的功能模块,他不封装,逮着复制粘贴一大堆。我越看越离谱,这玩意怎么跟上面的代码一模一样。不过我也可以理解,毕竟是个后端吗。能写就不错了。专业的事还得交给专业的人。后来据说那个后端是因为跟项目经理不和才离职的。后面基本所有的项目都交给我了。最多的时候一天改6个项目。那什么vscode把代码跑起来,我电脑嗡嗡响一天。真给我整害怕了。
这一年、遗憾
本来我没打算把这件事情说出来,毕竟是家事,可一直以来我都有种负罪感。5月份的时候,确实是我最倒霉的一个月了,我真应该查查黄历。我是被我爷爷奶奶带大的。所以跟他们的感情很深。月初,我爷爷摔倒了,被送往医院。我刚开始并没有放在心上,只是时不时的给他打个电话问一下情况。听他说话也挺有精神,我也没多想。后来因为病情恶化,我爸跟我说状况不太理想,随时做好心理准备。那一刻开始我慌了,我实在是没想过会有这么一个结果…后来我就买机票准备连夜赶回去。临近登机只剩两个小时,我身份证丢了,怎么也找不到,真的很心急如焚,找了一圈以后,发现飞机可能赶不上了。我就改签到第二天早上六七点的。然后去打印了一个临时证明。我最开始发现找不到的时候就应该去打印临时证明直接走。第二天下飞机后,还没到家,就已经传来了噩耗,最后一面没见上,连跟我爸妈也没交代一句话。我时常在想为什么会那么巧,偏偏那个时候身份证丢了…我也痛恨过我自己。
这一年、失去与释怀
在这就不说了。
不想说,也没心思说,关于她的事。
可能是幸运、是懂得!
如果哪天你们有人遇见我或者单独问我的话,我会满足你的好奇心。
这一年、成长
今年发生了太多事,都给了我一个措手不及。让我明白了眼下最重要的是什么。
钱:它可以帮你解决百分之九十九的烦恼,如果说剩下的百分之一的烦恼是什么,我会说,是给的钱不够!我只是一个俗人,我很清楚我想要的是什么,我活着的意义是什么,将来想要的是一个什么样的生活。
成家立业,结婚生子,这是逃不掉的定律,当然你要非说你要一个人潇洒自在一辈子就当我这句话没说。我时常在想我能不能给我的家庭一个足够好的生活条件,我也害怕我将来的子女也会跟我一样。所以我会尽力去弥补自己的不足,必须给下一代创造一个良好的条件。
你现在的处境能不能帮你跳出这个圈子,上升一个阶段。你现在的人脉以及资源,你的经验有没有价值,能不能给你带来什么实质性的东西。或许每个人的想法不一样吧,有人会享受生活,有人只是活着,我是后者。我也有考虑过过好当下,因为你永远都不知道明天会发生什么。奋斗几十年挣了几辈子都花不完的钱最后还得癌症的人,比比皆是,最后一无所有,生不带来,死不带去。
我一直都想看稻盛和夫的《活着》,我想找到真正的意义所在。无奈,年轻是无法感悟的。
最主要的还是跟着自己的想法走,不要被现在互联网洗脑而迷惑了方向!
这一年、收获与完结
对于开发来讲,对团队的贡献主要体现于设计、编码、调试、发布的过程中,个人的工作量是否达到要求,完成效率是否高效,完成质量是否达标。
所以,我认为技术人员,我们的工作量(代码量、素材数量、代码质量等)越高,工作越困难,贡献越大,而效率越低(花费时间、成本越多),甚至影响了他人工作,贡献越低。
做开发不止局限于你会多少语言,你会多少框架。你要有一个项目业务思想,对整个项目的业务逻辑都能够了解的很清楚,清楚自己现在做的是一件什么事,对以后的功能会不会有什么影响。你要有一半项目经理对整个项目的把控力,就不只是写代码的码农了。
对于任何一个技术岗位,都有固定的两个方向:技术专家(架构师)和 开发经理。前者偏重技术,需要你在当前领域钻研得很深;后者偏向管理,需要你在对技术有很深掌握的同时,可以带领团队完成项目的开发。当然,两者并不是鱼与熊掌的关系,你可以同时成为技术专家和开发经理。
说了半天,到了最核心的问题了,对于一个新人如何学习技术?我给的建议是:千万不要囫囵吞枣,先把当前使用的技术学透用熟,才是最重要的;千万不要在还没把当前使用的技术吃透之前,去学新的东西,不管新的东西有多火。就像上文所说,不同的框架,有不同的核心,有不同的思想。两个框架代码相似之处的思想不一定相似,例如 Angular 和 Vue 都有双向绑定,虽然效果相似,但是实现思想和内部实现方式是截然不同的。还在入门阶段的你,会被各种思想充斥头脑,反而会更不清楚。
最后,我只能说,技术之路,任道重远。
我很荣幸你能花时间读到这,我很感谢在这个圈子能够给我一份支持。
还是跟预想的时间不太一样,已经六点了。我同事已经下班半小时了。本以为会在下班前写完这篇文章的。
结尾:
希望在新的一年里,各位的技术之路都能顺风顺水,生活、工作、事业都能更上一层楼,好运年年有;希望新的一年,百个功能一气呵成,文档注释一应俱全,脊柱腰椎早日康复,年终奖你十月工资;希望新的一年,抬头不见八阿哥,低头迎娶白富美,一个需求满足所有,几行代码搞定一切。
贴几个代码吧:
前端:
<!doctype html> <html> <body> <2021> 2021再见 </2021> <2022> 2022你好……………… </2022> </body> </html>
java:
package com.newyear.wish; public class 元旦祝福 { public static void main(String[] args) { 元旦祝福 元旦祝福对象=new 元旦祝福(); 元旦祝福对象.祝福(); } public void 祝福() { System.out.println("祝大家新年新气象!"); System.out.println("生活、工作、事业更上一层楼!"); } }
快乐无需编译,幸福自会运行;美丽没有指令,人生也会计算;心情不必升级,自由自会扩展。2022年,你的幸福数据正在加载!