注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

Demo体验

Demo体验

场景Demo,开箱即用
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有

极越“猝死“,对于打工人来说可能是好事儿~

大家好,我是日拱一卒的攻城师不浪,致力于技术与艺术的融合,梦想开一家小而美的工作室。这是2024年输出的第49/100篇文章。 人生不止有打工! 前言 今天暂且先不聊技术了,换换口味儿~ 说说最近两天极越汽车暴雷的事情吧,想必大家应该也都有所耳闻了。这件事的...
继续阅读 »

大家好,我是日拱一卒的攻城师不浪,致力于技术与艺术的融合,梦想开一家小而美的工作室。这是2024年输出的第49/100篇文章。



人生不止有打工!


前言


今天暂且先不聊技术了,换换口味儿~


说说最近两天极越汽车暴雷的事情吧,想必大家应该也都有所耳闻了。这件事的发生真是让我越想越气!


其实企业倒闭,在当前这个时间点并不是什么新鲜事儿了,而极越也不是什么大公司,但为什么它暴雷这个事件会闹的这么大呢?



这是极越总部办公室墙上贴的标语,现在回头看看,是不是很讽刺呢?


极越暴雷的很合理


我为什么这么说,并不是我墙倒众人推,而是它倒闭,早就有人先兆预见了。


当时就有之情人士透露,极越公司很快将解散,但是这时作为极越一把手的夏一平先生还仍在努力“辟谣”:公司没有倒闭,只是暂时遇到了困难;


自己刚辟谣完,接着就啪啪打脸,宣布公司所有员工请立即原地解散!要不说谣言从来不会是空穴来风呢。



公司不仅发不出工资,也没钱赔偿,然而更可气的是说,公司无力继续给员工缴纳11月份的五险一金,请员工自行解决。


但凡在一二线工作过的牛马们就能明白,当自己在自己梦想的奋斗了多年的城市,如果断了社保,会带来怎样的一种影响?基本上宣布自己与这个城市无缘了!


这也是这次事件为何如此严重的原因之一!这完全是不给我们这些牛马留活路!


而一个公司能够走到今天这种地步,并且以这种方式结束,无疑不与它的掌门人有着莫大的关系。


公司为何会突然就没钱了?据极越内部的知情人士透露:根源在于百度单方面宣布对极越撤资,终止之后的一切合作


那为什么会突然撤资:因为极越内部高层贪腐严重,百度在财账审计的时候,发现自己一直被蒙在鼓里,原来极越使用的财务供应商是他们“自己人”,并且一直在偷偷的把百度的钱转走!


夏一平经常一手独裁,擅自指定高于十几倍市场价格的供应商,目前极越的财务欠账多达70多亿


甚至还有更炸裂的消息爆出,极越前高管曾经在个人朋友圈爆料:夏一平婚内出轨,嫖娼等,这样的垃圾,在今天选择跑路,一点不奇怪



总结来说,极越的倒闭,原因很明显:高层贪腐,封建官僚,内斗严重,一人掌权,任人唯亲。


其实极越倒闭,对夏老板来说,一点影响都没有,该装进口袋的钱早已装的盆满钵满,事件过去后,该怎么逍遥快活一点都不耽误。


只是苦了极越的底层打工人啊,现在面临的是工资没有,补偿没有,连基本的五险一金都没有(不过最新消息:百度与吉利已经在商讨方案,为极越员工补上欠缺的社保缴纳)。


所以,资本家根本就不值得同情,最苦命的还是底层打工人。


你能说我们不努力吗?现在这个时代,努力真的有用吗?




牛马们该醒醒了


是的,真的该做出改变了,因为时代在改变,你不去适应环境,那就会被环境所淘汰,物竞天择,更古不变的真理。


更可怕的是,这个时代发展之迅速甚至有点让我们招架不住,AI的迅速崛起,已经肉眼可见的在重塑各行各业。


所以,打工人,不要一门心思想着为公司卖力了,当公司不需要你的时候,是一点情面不会跟你讲的!当被淘汰之后,你是否还能够拿出养活自身的技能呢?


当然我不是说不让你去打工,毕竟中国这么多人,也不能每个人都去创业是吗?


我只是想让大家能够转变一下打工的思维,比如:能不能慢慢的变成给自己打工?


几点建议



  1. 选公司就是选领导:领导决定你的职业发展和走势,公司再牛,没有领导提拔重用你,你一样展露不了头角,因此,去找伯乐。

  2. 把公司当成自己的公司:这时候有人会说了:你这不是自相矛盾吗?刚刚还说不要一心只为公司。是的,我的意思其实是:把公司当成自己的创业路上的铺路石,把能在公司里学到的都积极的去学,把公司的能力慢慢的演变成自己的能力,观察下公司日常是怎么运作的,有哪些可取之处与缺点,一步步积累。而不是只把自己当一个工具

  3. 做一个副业:慢慢的挑选到自己的一个副业赛道,最好是跟自己的兴趣相关,不然很难做的下去(经验所谈)。而且经常有人会问:怎么平衡工作与副业?其实坦白来讲:它们两个并不冲突,当你把上班当作自己创业路上的学习平台,那上班的价值意义就体现出来了,你甚至会爱上上班。如果不这么做的话,那你就会感觉很累,就是个纯种牛马



建了一个副业&AI社群,可联系我:brown_7778,我拉你进群,群里会经常分享一些我做副业的经验,认知等,还有一些我掏腰包在其他社群拿到的资料,副业信息等。群里还会讨论与AI相关的信息与知识,欢迎入群。



作者:攻城师不浪
来源:juejin.cn/post/7448806505255813147
收起阅读 »

自己没有价值之前,少去谈人情世故

昨天和几个网友在群里聊天,一个网友说最近公司辞退了一个人,原因就是太菜了,有一个功能是让从数据库随机查一条数据,他硬是把整个数据表的数据都查出来,然后从里面随机选一条数据。 另外的群友说,这人应该在公司的人情世故做得不咋滴,要是和自己组长,领导搞好关系,不至于...
继续阅读 »

昨天和几个网友在群里聊天,一个网友说最近公司辞退了一个人,原因就是太菜了,有一个功能是让从数据库随机查一条数据,他硬是把整个数据表的数据都查出来,然后从里面随机选一条数据。


另外的群友说,这人应该在公司的人情世故做得不咋滴,要是和自己组长,领导搞好关系,不至于被辞退。


发言人说:相反,这人的人情世故做得很到位,和别人相处得也挺好,说话又好听,大家都觉得他很不错!


但是这有用吗?


和自己的组长关系搞好了,难道他就能给你的愚蠢兜底?


这未免太天真,首先组长也是打工的,你以为和他关系好,他就能包庇你,容忍你不断犯错?


没有人会愿意冒着被举报的风险去帮助一个非亲非故的人,因为自己还要生活,老婆孩子还要等着用钱,包庇你,那么担风险的人就是他自己,他为何要这样做?


我们许多人总是觉得人情世故太重要了,甚至觉得比自己的能力重要,这其实是一个侮误区。


有这种想法的大多是刷垃圾短视频刷多了,没经历过社会的毒打,专门去学酒满敬人,茶满欺人。给领导敬酒杯子不能高过对方,最好直接跪下来……


那么人情世故重要吗?


重要,但是得分阶层,你一个打工的,领导连你名字都叫不出来,你见到他打声招呼,他都是用鼻子答应,你觉得你所谓的人情世故有意义吗?


你以为团建的时候跑上去敬酒,杯子直接低到他脚下,他就会看中你,为他挡酒他就觉得你这人可扶?未免电视看得太多。


人情世故有用的前提一定是建立在你有被利用的价值之上,你能漂漂亮亮做完一件事,问题又少,创造的价值又多,那么别人就会觉得你行,就会记住你,重视你,至于敬酒这些,不过是走个过场而已。


所以在自己没有价值之前,别去谈什么人情世故,安安心心提升自己。


前段时间一个大二的小妹妹叫我帮她运行一个项目,她也是为了课程蒙混过关,后面和她聊了几句,她叫我给她一点建议。


我直接给她说,你真正的去写了几行代码?看了几本书?做了多少笔记?你真正的写了代码,看了书,有啥疑问你再找我,而不是从我这里找简便方法,因为我也没有!


她说最烦学习了,完全不想学,自己还是去学人情世故了。


我瞬间破放了,对她说你才20岁不到,专业知识不好好学,就要去学人情世故了?你能用到人情世故吗?


你是怕以后去进厂自己人情世故不到位别人不要你?还是以后去ktv陪酒或者当营销学不会?这么早就做准备了?


她后面反驳我说:你看那些职场里面的女生不也是很懂人情世故吗,你为啥说没用,这些东西迟早都是要学的,我先做准备啊!


我当时就不想和她聊下去了,我知道又是垃圾短视频看多了,所以才会去想这些!以为自己不好好学习,毕业后只要人情世故做到位,就能像那些女职场秘书一样,陪着领导出去谈生意。


想啥呢!


当然,并不存在歧视别人的想法,因为我没有资格,只不过是觉得该学习的时间别去想一些没啥用的事情!


我们所能看到的那些把人情世故运用得炉火纯青,让人感觉很自然的人,别人肯定已经到了一定的段位,这是TA的职业需要。


而大多数人都是在底层干着街边老太太老大爷都能干的活,领导连你名字都叫不出来,可以用空气人来形容,你说人情世故有什么卵用吗?


这不就等于把自己弄得四不像吗?


当你真的有利用价值,能够给别人提供解决方案的时候,再来谈人情世故,那时候你不学,生活都会逼着你去学。


最后说一句,当你有价值的时候,人情世故是你别人学来用在你身上的,不信你回头去看一下自己的身边的人,哪怕是一个小学教师,都有人提着东西来找他办事,但是如果没有任何利用价值,哪怕TA把酒场上面的套路都运用得炉火纯青,也会成为别人的笑柄!


作者:苏格拉的底牌
来源:juejin.cn/post/7352799449456738319
收起阅读 »

程序员为何会出纰漏?

这两天我们开发团队不知道咋的,跟包饺子下锅似的接连出了不少纰漏,有的大有的小,其实开发能力都可以,不是那种能力差导致的问题,我从外部观察,总结了一些出纰漏的原因和解决方案。 先说一下有啥纰漏。 小程序代码分包的时候,影响到线上正在使用的业务,损失了大概 1 ...
继续阅读 »

这两天我们开发团队不知道咋的,跟包饺子下锅似的接连出了不少纰漏,有的大有的小,其实开发能力都可以,不是那种能力差导致的问题,我从外部观察,总结了一些出纰漏的原因和解决方案。


先说一下有啥纰漏。



  1. 小程序代码分包的时候,影响到线上正在使用的业务,损失了大概 1 晚上的流量。

  2. 上了身-份-证、人脸认证功能,测试回归的时候,测了不需要实名和人脸的场景,没测只需要身-份-证的场景,结果线上跑的时候用这个场景,导致功能也出了问题,用户反馈过来才发现。

  3. 错把代码提交到了 dev 分支。


看起来研发该死,但恐怕不全是研发的锅,当然我不是故意找理由,这些纰漏也是研发扛下来了,我只是尝试分析从更具体的原因分析,而不是简单的说一句能力太差、或者水平不够这样没法定位也没法改进的原因。


这些出问题的场景,无一例外都是很紧急的需求,开发加班加点做出来的,代码写的时候很匆忙,测试也是加班加点测的。


常在河边走,哪有不湿鞋?我觉得快和稳之间,对开发来说很难平衡,有些需求强行要那个时间点,最后只能牺牲稳定性求效率。


那怎么避免这种事情发生?


需求可以 delay,代码不能出问题


如果工作量实在大,那就先花点时间列举工作量大的原因。大部分领导其实讲道理的,你能像他说明工作量的确大,事项的确做不完,领导会额外给时间。


我觉得这是比只闷头写代码更有难度的事,也是一种能力的体现,这需要调研充分、思维清晰、表达有条理、和领导沟通的心理等等各项挑战。


只知道埋头苦干,但干不多不一定就是好。


万一要是真的只知道埋头苦干,那也要掌控好自己的节奏,一定要保证代码的质量,平时加加班,周末也来加班,通过拉长时间线的方式多写点代码,而不是通过偷懒、减少代码逻辑的方式。


加班的时候冒冒泡,留点记录,这样即使需求 delay 了,至少自己的态度表达到位了,一般领导也不会责怪。


需求这东西,delay 两天没那么恐怖,反倒是着急出了纰漏,那才是更恐怖的。


慢慢写


写代码很费脑子,要考虑到所有可能的异常场景,还要从业务上闭环,一着急,就容易漏场景,出纰漏,不要着急,细水长流。


想好再写


尤其是后端,新业务的架构设计,一定是要多花时间思考的,要充分考虑到业务的扩展性、未来的维护性、和其他业务对接的兼容性。


比如我最近写的京东商户订单支付,我们已有一套支付中心的系统,而在对接京东的时候,他们的支付其实是通过京东的订单状态回调来做的,我们一开始准备写在支付中心,后来随着三方接口的对接,对京东业务有更深的理解,我们决定做一套新的商户订单支付系统,和原本的支付中心(支付宝、微信支付)做区分。


如果我们当时匆忙的直接嵌入到支付中心,整个系统架构就会很混乱,订单和支付裹在一起,后续既不好维护,也不好扩展。


这样虽然需求有 delay 风险,但整体技术侧的方案,是绝对没问题的。大不了我周末来加班,加班都干不完,那就得赶紧汇报领导了。


包括最开始的人脸也是的,没有调研清楚,光阿里就两套不同的人脸接口,结果先用的贵的一套,后面发现有便宜的,又强行接入便宜的一套。如果一开始能多想想,先调研清楚,可能最后的工时反而更短一些。


专一写代码不要跳


写代码的时候,最好不要来回跳需求写,看起来很牛逼感觉也很吊,实际上很容易出问题,精力消耗太快了,有些场景思考不深入,就有可能埋雷。


决策和执行分开


如果开发过程中又做决策又做执行,尤其是干需求的时候,有的决策问起来吧很耗时间,需求到期上不了线了,就自己做个决策,没有告知其他人。这种场景的雷我也踩了几个。


开发对业务的理解不如运营产品深入,有时候开发觉得的最优决策不是运营想要的,最好不要为了图省隐蔽这些问题。


甩锅技巧


这部分是语言的艺术,就是当纰漏下来了,判责归自己,怎么表达,才是比较得体的。


一直说自己的责任吧,领导会觉得我很菜,一直推脱责任吧,领导又会觉得我不负责。


最好是那种和自己有点关系,但是关系不是那么直接的描述。


或是用于日常沟通,为了避免别人误把锅扣到自己头上。


我总结了同事们常用的有如下技巧:



  1. 首先主体对象不要说自己,比如分包的问题、锁的问题、分支的问题、没有这样的场景等等,避免说成我打的包有问题、我代码写的有问题、我分支切的不对等等。

  2. 先说一些撇开自己责任的话术,比如这里的代码没动过;之前还是好好的;这里用的外部接口的数据/逻辑。

  3. 接到莫名其妙的锅第一时间弹回去,怎么弹看 2 中的话术。我以前懒得弹,结果头上的锅越来越多。


挺瞧不上这些东西的,也不想花心思想,但有时候职场、工作、社会就是这么贱,人越是老实,就越容易被欺负;越能干活的人,最后会有越来越多的活;希望大家不要重蹈我的覆辙。


每天抽点时间学习和反思,加油,共勉。


作者:小兵张健
来源:juejin.cn/post/7453023172226334739
收起阅读 »

一封写给离职小伙伴的信

前言 亲爱的小伙伴,当你看到这封信的时候,相信你大概率也是离职浪潮中的一员了,不管是被裁还是主动离职,相信在接下来的日子里,求职路上必定不会一帆风顺,势必要经历一番波折与挑战。 也许你才刚开始,此刻意气风发信心满满;也许你正在经历,此时彻底怀疑自我,将要放弃底...
继续阅读 »

前言


亲爱的小伙伴,当你看到这封信的时候,相信你大概率也是离职浪潮中的一员了,不管是被裁还是主动离职,相信在接下来的日子里,求职路上必定不会一帆风顺,势必要经历一番波折与挑战。


也许你才刚开始,此刻意气风发信心满满;也许你正在经历,此时彻底怀疑自我,将要放弃底线;也许你已经历过了,此时已是遍体鳞伤体无完肤,彻底摆烂……


不管屏幕前的你是哪一种,但请记住,这是每个人入世时社会老师要给我们上的第一节课。


在这里,我先分享一段平凡普通又心酸的求职历程,也希望通过这篇文章能给你一些启发和帮助,也衷心地希望你能够重拾信心,一路披荆斩棘!




关于我


我是双非一本毕业,计算机专业,目前毕业已有九年了,一直在远离家乡的北漂之地工作。由于母校没啥名气且名字中带有的小众地域性,非本省的人很少知道它,所以在外省找工作经常会被问你是不是本科毕业(尴尬😅),学历这一块姑且算是杂牌吧,起码在筛选简历时不具备任何优势。


其次,简历也没有太多的亮眼经历,没有大厂背景,基本都是中小厂的工作经历,普通到不能再普通了。


其三,关于年龄这一块,本人目前很接近35岁的“退休”年龄,属于被重点劝退互联网的年纪,触碰到了互联网年龄红线。


最后,这还不算最糟糕,还有更糟糕的面试门槛。


什么是糟糕的面试门槛?接着往下看。


由于去年家里出事了,辞职回了老家,之后也没着急出来找工作,期间闲来无事,顺便考了个公(原本辞职也不是为了考公),结果可想而知,也没考上,所以也没当回事,该玩玩,该旅游就旅游,彻底放飞自我~(没有房贷车贷毫无顾忌)


等我再次出来找工作的时候,已经离上一份工作的间隔有一年多了(准确的说是一年零两个月),也就是说我已经 Gap 一年多了,我还丝毫没意识到这将成为我求职路上的一个障碍。




面试的准备


7月初,我正式开始准备面试。首先更新了简历,回顾之前的项目并总结,梳理项目架构、流程图、负责的模块以及技术难点。同时看了看八股文复习基础知识,刷刷leetcode,时间过得很快,大概三周后开始投简历。




面试的门槛


Gap一年多的经历,让我在求职中非常被动,一线大厂全都因为这段 Gap 经历被 HR 前期的电话沟通中直接否掉,连一面的面试机会都没有。


只有一家公司例外,那就是字节,也是我面试的第一家公司。首先不得不表扬一下这家公司的用人态度,只是我准备不足仓促应付,以为刷了算法题就没啥大问题,结果人家来了一个手撕题(非算法),当场把我给整懵了,结果可想而知……其实本质上还是综合能力不够,但起码人家给了你面试的机会。


不管最终结果如何,单凭这种不问出身来者不拒,招人包容的胸襟与态度就值得点赞👍


因此,后面我能接到面试的机会只有中小厂,一间大厂都没有,这也许就是 Gap 太久要付出的代价之一吧。




面试的过程


求职的过程比较曲折,毕竟离开岗位已经一年多了,很多零零碎碎的知识要整理起来也不是一蹴而就的,因此求职期间,一边面试,一边不断总结经验,把之前做过的东西以及面试的空白知识慢慢梳理出来,并整理成博客。通过系统化的梳理与表达,自己的思路也开始有了更清晰的脉络和方向。


经过三个多月的面试,期间共投了三十多家公司的简历,排除一线大厂以及被其他公司pass掉的简历,其实真正接到面试机会的一共只有二十家左右。


期间有一段是没有面试的空白期,那段时间真的怀疑自己,很彷徨,是不是真的该投外包和od,这里没有贬低的意思,只是目前自己还没有养老的打算,同时也有自己的职业规划和方向,外包暂时还不在考虑范围之内。


从刚开始投的高薪大中厂,到后来的中小厂,虽然姿态一直在放低,但终归守住了自己的底线——那就是行业方向和薪资待遇。




面试中的奇葩


面试过程中也会遇到各种各样的面试官,结合自己曾经也做过面试官的经验,一些常规的套路基本是熟悉的,幸运的是遇到的绝大多数面试官都非常的nice,当然也遇到个别的奇葩。


比如这次遇到了一个思路清奇的二面面试官,一面聊得还挺好的,本以为二面面缘应该也不会差,没想到上来他就开始板着脸,似乎人人都欠他八百万似的,之所以如此,直到后来我才知道,原来他在怀疑我简历造假。等我介绍完项目,没问技术实现细节,而是开始扣字眼,这个项目公司内部的名字叫什么?为什么简历中没提这个项目的内部名字?xxx公司有海外方向吗?我全程耐心地解释,一度怀疑他才是我前司的员工,而我不是。


最后问了我那个项目的域名地址,那个项目我也只跟进了一期,没有太深的记忆,当时没有找出来,后来就草草结束了。


这里也怪我,由于离开前司一年多,项目域名早变了,而自己在整理项目时没有及时跟进,才导致如此尴尬局面,后来我才知道那个项目的域名早已换成了官网域名,把它整合进海外官网了。


其实我也非常理解他的这种行为,换成是我,遇到这种情况,我也会对面试者产生怀疑。然而从逆向思维的角度分析,像我这种非大厂背景,学历看着又像渣本的简历,怎么造,简历都不会好到哪里去吧,何况还有背调,我又何必费那个心思。想想都觉得有点滑稽~


这里也给自己总结两点经验:



  • 凡是可能涉及到的点,都要一一回顾,有备无患,但说实话经历过那么多年的面试,不管是我面别人还是别人面我,问项目域名的我还是头一次遇到。

  • 怀疑一旦开始,罪名就已经成立。不管你后面如何辩白,结局其实早已注定,还不如趁早结束。即使你有幸通过面试,将来在一位不信任你的领导下干活,也是一件非常心累的事。


面试的结果


经过将近20家公司的轮番摩擦,终于在10月底的时候,陆陆续续有了口头offer,又经过银行流水、背调、体检,最终拿到了3家公司的正式offer,两家小公司和一家独角兽。


那家独角兽公司我很早就知道,其实也一直是我想进的一家公司,因此毫无悬念,我最终选择了那家中厂独角兽,总包降了一点点,但总算还是属于平跳,这个结果在当下的环境,对我来说已经很难得了。


面试经验分享


这里不提供什么面经,因为每面的问题几乎都不一样,几乎没有碰到任何相同的一个问题(自我介绍、项目介绍和HR面除外)。


面了这么多公司,印象中只有一道题是重复的,所以即使给出各家公司的面经,真正轮到你面时,出的题也会因人而异。面经并不是圣经,只是可以作为一个难度级别的参考罢了,所以面经意义其实并不大。


这里我想分享更多的是个人职业的规划与成长。


其实面试的过程本身就是一个提升自我认知的过程。


面对如此困境,我想分享一下我是如何破局的。


作为一个普通、大龄、又gap一年多的普通程序猿,我首先做的便是潜下心来扪心自问,在这么激烈的竞争环境中,与其他人相比,我的优势在哪?





  • 首先是职业稳定性,我虽然没有大厂背景,但还算稳定,总共经历3家公司,只有中间一家是因疫情原因而不满一年,八年时间里没有频繁跳槽还算稳定。

  • 其次是职业方向,个人之前从事的行业一直与电商领域相关,前几段工作经历一直是从事海外电商方向。因此,在海外电商这个领域中我有天然的行业经验优势,从最终拿到的3家offer公司的结果来看,也反向证明了这一点。

  • 其三,投简历时我只会挑选特定的领域方向,我不会进行海投,更不会盲投,因为那没有什么意义,因为人家没看上你的,即便投了也不会有什么结果,最多只会礼貌地给你回访,并不会真正进入面试流程。


    这是我在脉脉上得出的结论,因为对你发起的沟通是系统推荐,是系统发起的并不是他们本人,因此他们并不一定对你感兴趣(当然你若是那种天之骄子又有大厂背书,就请忽略我们这种平凡人的经历)。


    因此,投简历时我一般只在boss上,并且是被动投简历,也就是别人先发起的简历请求。底层逻辑是因为只有人家对你感兴趣,你才会有更大的可能获得面试机会


  • 其四,珍惜每一次面试的机会,看清楚JD里的要求和公司从事的方向,对JD中描述的职位要求和职责,有针对性地准备面试,面试时遇到自己知识盲区要诚实表示不会,不要试图与面试官产生争论,因为即便你是对的,也会对你产生不利。坦然接受任何结果,放松心态。

  • 其五,放低姿态,降低期望,期望越高,失望越高。由于我已经离职并 Gap 太久,没有任何骑驴找马的依仗,谈薪资时显得非常被动,这便是 Gap 太久的代价之二。


    之前也面过几个到终面的公司,谈薪时过高而被Pass掉,我的诉求也很简单,就是期望能平薪而跳,也没指望能涨薪,也愿意接受适度降薪。


    期间,有遇到过很爽快的,也有遇到拼命压你薪的,面了很多小公司都有这样一个相同的经历,到谈薪阶段,他们会故意冷淡你不跟你谈,而是经过多轮对比候选人,看看哪个性价比更高。其实也非常理解,毕竟当前的环境下,哪个老板不希望用低薪招到一个综合能力更强的人呢?


    而有的会比较爽快,他们急着大量招人,流程会很快,也不会过分压薪,碰到这种公司那么恭喜你,你中奖了,这种基本在经济行情好(公司盈利大好)的时候才会出现。


    放低姿态不意味着放弃原则反而要有更清晰的底线,它的底层逻辑是降低期望值,期望值是心理学上一个很巧妙东西,期望锚点值越低,才有更大的可能获得惊喜。


  • 最后,主动沉淀和总结经验,对面试中经常问到的同一类问题进行总结和思考,进而纳入自己的脑海中,逐渐形成自己的知识体系。


    比如,你为什么会从上一家公司离职?问这个问题的背后动机是什么?HR为什么会压你薪资?这些问题的背后原理一定要思考清楚,只有理解底层逻辑,才能应对自如。


    当然,搞清楚这些问题的背后逻辑不是为了让你去说谎,面试时可以结合自身的实际,美化用词,但不要试图说谎。





总结


以上就是一个平凡普通又Gap一年多的打工人自我总结与分享,也希望它能给你带来一些启发和帮助,哪怕只有一点点,那也是我莫大的荣幸!


眼下的就业形势确实不容乐观,招聘越来越挑剔,要找到心仪的工作实属不易,但请不要因此而对生活失去信心,要相信好好总结与反思,总有一个位置属于你。


愿屏幕前的你能渡过难关、顺利上岸!加油!


一封来自远方陌生人的信


作者:九幽归墟
来源:juejin.cn/post/7444773769242116111
收起阅读 »

腾讯打工8年:我为什么选择离开?

"你真的要离开腾讯吗? " 在提完离职的那一刻,总监脸上难掩惊讶。我知道,对于很多人来说,这个决定可能显得不够理性——毕竟,腾讯仍是众多程序员心中的梦想企业,而我在这里已经连续五年获得五星好评,而且还有很多股票,似乎一切都在正轨上。 但此时的我,内心异常平静。...
继续阅读 »

"你真的要离开腾讯吗? "


在提完离职的那一刻,总监脸上难掩惊讶。我知道,对于很多人来说,这个决定可能显得不够理性——毕竟,腾讯仍是众多程序员心中的梦想企业,而我在这里已经连续五年获得五星好评,而且还有很多股票,似乎一切都在正轨上。


但此时的我,内心异常平静。


记得第一次走进腾讯大厦,仰望着那座象征着互联网巅峰的建筑,内心既激动又忐忑。彼时的我,怎么也想不到,八年后,我会主动选择告别。


人们常说,选择大于努力。但在我看来,每一个选择背后,都是一段难以言说的心路历程。


今天,我想和大家分享一下我的故事,不为别的,只是希望正在经历职业迷茫的你,能从我的经历中获得一些启发。


山沟沟出来的孩子


"柯...什么?"


每次报出自己的家乡,对方脸上都会露出这种尴尬的表情。我来自克孜勒苏柯尔克孜自治州,这个拗口的名字,是祖国最西北的一隅。那里四面环山,与戈壁相伴,远离喧嚣。后来我索性只说自己是喀什人,倒也省去了许多解释的麻烦。


在那个被群山环绕的小县城里,我的父母都是普通的公职人员。没有精英家庭的财商教育,没有琴棋书画的素质培养,但他们给了我最宝贵的礼物——选择的自由。现在想来,这份"不懂"反而成就了今天的我。


2000年的某一天,我第一次见证了互联网的魔力。那是在拨号上网的年代,Windows 95系统的笔记本电脑屏幕上,搜狐的首页缓缓展开。 蓝色的网页在我眼前闪烁,像打开了一扇通向新世界的窗。就是那一刻,一颗小小的种子,悄然埋入了我的心底。


从Frontpage搭建简陋的网站,到用VC编写第一个"Hello World",再到沉迷于QQ带来的社交乐趣。每当看到腾讯的Logo,我就会想:如果有一天能在这样的公司工作,该有多好。 当时的我,把这个想法深深藏在心里,像是一个遥不可及的梦。


高中时期的一次全国模考,我考了数学满分。校长把我叫去谈话,说我有希望冲击北大。虽然最后因为理综的失误与北大失之交臂,但我还是如愿考入了西安交通大学——这所充满历史底蕴的顶尖学府。


然而,真正的挑战才刚刚开始。在这个人才济济的地方,我才发现自己有多渺小。 没有选择计算机专业成了我最大的遗憾,一个简单的递归算法都能让我纠结好几天。但正是这种"较真"的性格,让我在挫折中不断成长。死磕,成了我的标签。


在校期间,我像一块海绵,疯狂地吸收着各种知识。从设计美工到前端开发,从后台架构到算法优化,每一个技术社团都留下了我的身影。终于,在不懈的努力下,我拿到了一张通往互联网大厂的船票。


那一刻,我知道,山沟沟里的孩子,也能走出属于自己的路。


第一次为技术跳槽


"你的代码刚刚上线了,已经有超过一百万人在使用了。"


收到这条消息的那一刻,我的心跳漏了一拍。 这是在腾讯的第一个项目——QQ厘米秀。每天打开后台,看着用户们的反馈如潮水般涌来:有赞美、有吐槽、有建议。我常常在深夜里一条条查看这些留言,时不时还会收到用户的好友申请,他们热切地称呼我为"腾讯大佬"。那种感觉,就像是漫漫长夜里终于看到了星光。


然而,技术圈的浪潮从不等人。


某天刷技术社区时,我突然发现自己像是站在了时代的孤岛上。React、Vue、Webpack、Gulp......这些响彻业界的技术名词,对我而言却如同天书。而我们的项目还在用着jQuery这个"老古董",连基本的构建工具都没有,每天都在"刀耕火种"般地手动部署。


那种焦虑感,就像是站在原地看着别人坐上了飞驰的列车。


凭借着还算不错的工作表现,我争取到了一次技术重构的机会。导师和leader都给予了支持,我像个不知天高地厚的愣头青,义无反顾地扎进了新技术的海洋。然而现实给了我一记重拳——性能出现了劣化,工具链的改造也让团队措手不及。那时我才明白,单打独斗的技术进化是多么艰难。


"我想去IMWeb团队。"


这个决定让我的总监足足和我谈了两个小时。"我从来没有对其他人挽留这么长时间, "他说。当时我将信将疑,直到多年后自己成为leader,才明白这份真诚。临别前,他留下了一句话:"都是围城。 "这句话如同一颗种子,在之后的每一个选择前都会在我心里发芽。


就这样,我选择了内部转岗到IMWeb。这是一个我仰慕已久的技术团队,他们举办的每一场技术大会都让我热血沸腾。虽然这个选择意外地把我带入了教育行业,但在当时的我看来,技术才是唯一的追求。业务?那是以后才需要考虑的事情。


现在想来,那时的我就像个执着的技术苦行僧,只顾着追逐技术的浪潮,却还没有领悟到技术与业务相辅相成的真谛。


连续五星,快速成长


如果说技术是一场马拉松,那么我大概是那种不懂得"匀速"的选手。


刚加入IMWeb团队时,我像个饥渴的海绵,疯狂地汲取着每一滴技术养分。从底层构建到视图框架,从脚手架到部署平台,我把每一个技术细节都当作一道必解的谜题。常常是凌晨三点,办公室里只剩下我和显示器的蓝光。 那种投入的状态,连清洁阿姨都会打趣说:"小伙子,你是不是把家搬到公司了? "


在那段"技术狂热"的日子里,我给自己定下了一个原则:不设边界。整个开发链路上,但凡觉得哪个环节"不够优雅",我就一定要想办法优化它。那时候DevOps还没有成为主流,我就开始研究效能工具,开发团队机器人。书架上摞满了技术书籍,从 设计模式 到工程实践,每一本都写满了笔记和标签。


技术成长就像滚雪球,一旦开始就会越滚越大。从前端基建到监控平台,再到低代码转型,每一步都让我对技术有了更深的理解。记得有一次要同时处理性能优化项目和晋升答辩,我在办公室里连续工作到天明,端着咖啡顶着两个黑眼圈走进答辩室。 那种"拼命"的状态,现在想来还是会被自己感动。


"凡事有着落,进展有反馈。"这是我总结出的工作法则。每个项目我都设法做出亮点:重构后的代码性能提升80%,新开发的工具链将团队效率提高50%,监控平台覆盖了整个业务线...这些数据背后,是无数个加班的夜晚,无数次的推倒重来。


慢慢地,我开始跨界探索。后台架构、消息队列、数据仓库,这些"后端"的概念逐渐成为我的工作日常。还记得第一次用Go语言重写监控系统时的忐忑,以及系统成功上线时的兴奋。 那种跨越技术边界的快感,让人上瘾。


三年时间,从T9到T11,两次走绿色通道提名。五次五星绩效,每一次都是对付出的肯定。但最让我感动的,不是这些头衔和数字,而是那种全情投入后的成就感。 就像跑步一样,你永远记得突破自己最好成绩时的那一刻。


现在回想那段岁月,就像一场酣畅淋漓的技术马拉松。也许我跑得太快了些,但那种纯粹的技术热情,那种为理想拼搏的激情,至今想来依然热血沸腾。因为在那个年纪,我们都相信,所有的汗水终将变成成长的养分。


这大概就是技术人的青春吧 —— 用代码书写理想,用汗水浇灌梦想。 即便现在我已经学会了"匀速",但那段全力奔跑的日子,永远是最珍贵的财富。


职场情商,如此重要


人生的至暗时刻,往往来得猝不及防。


那是一次跨部门的季度汇报会,两位GM和各部门主管齐聚一堂。作为技术骨干,我信心满满地展示着我们团队最新的技术方案。在Q&A环节,我敏锐地发现了其他部门方案中的几个技术漏洞。仗着自己过硬的技术实力,我开始逐条分析对方方案的不足——逻辑严密,有理有据


会议室里的气氛逐渐凝固。


对方 GM 的脸色越来越难看,我的直属领导在桌下不断地用脚轻踢我的小腿,但那一刻的我,依然沉浸在"伸张技术正义"的快感中。


散会后,办公室里弥漫着一种诡异的沉默。直到总监火急火燎地把我叫进会议室,我才如梦初醒。


"你知道你今天得罪了多少人吗? "总监的声音里带着无奈,"对方那个项目是集团重点项目,GM为此准备了整整三个月..."


我的心猛地沉了下去。


接下来的一周,我的提案被一再打回,跨部门协作遇到前所未有的阻力。曾经指尖飞舞写代码的自信,在一次次的"委婉拒绝"中土崩瓦解。


那段时间,我开始失眠。 每天凌晨在公司楼下的便利店坐到天明,看着来来往往的清洁工人,看着渐渐亮起的写字楼,像极了我那个支离破碎的职场梦。


直到有一天,我的+2 leader把我叫到咖啡厅。


"你知道为什么同样的话,有的人说出来会赢得掌声,有的人说出来却会树敌无数吗?"他说,"因为职场最重要的,从来都不是你说了什么,而是你怎么说。"


恍然间,我想起了自己在会议上咄咄逼人的样子,想起了那些被我用"技术正确"包裹的尖锐言词。原来在职场中,正确未必就是恰当,真理未必就要以最锋利的方式表达。


就像代码重构,有时候最优解未必是最适合的解。技术追求极致,但人心需要温度。所谓职场情商,不是要你放弃原则,而是学会用更柔和的方式坚持原则。


现在的我依然对技术保持着极致的追求,但学会了在表达时多一分善意,少一分锋芒。毕竟,职场如水,柔则善流。那些曾经的挫折与迷茫,终究化作了成长的养分。


从未经历过的大裁员


2021年的时候,谁能想到互联网行业的至暗时刻会来得如此突然?


一纸政策文件,让整个互联网教育行业轰然倒塌。那时的我,正写下《写在腾讯的第六年》,试图在这场巨变中寻找一些答案。回想起来,这是我职业生涯中第一次如此深刻地感受到商业世界的无常。


其实警钟早已敲响,只是我们这些"技术至上"的工程师选择性失聪。我就是最典型的例子:没有系统的财商教育,错过了大学时期的财经双学位,一心扑在代码世界里。对于经济周期、商业规律,我们往往像个睁眼瞎,直到风暴来临,才惊觉自己的无知与脆弱。


那个下午,我坐在显示器前,盯着那份需要填写的Excel表格。 光标在一个个熟悉的名字上跳动,每一次点击都像是一记重锤,击打在我的良知上。


这不是一份普通的表格,这是一份裁员名单。


表格里的每一行都是一个鲜活的生命,是一段难以割舍的情谊:



  • 小W刚在深圳买了房,月供还没开始第一期

  • 老Z的二胎前不久才满月

  • 小L昨天还在跟我讨论新项目的技术方案...


鼠标悬停在"保存"按钮上方,我的手指却迟迟无法按下。


最煎熬的是裁员沟通。那些平日里在代码世界里运筹帷幄的工程师们,此刻却像迷失的孩子。会议室里,有人失声痛哭,有人愤怒质问,更多的是令人窒息的沉默。


记得小M听到消息后,只是呆呆地坐在工位上,手中的星巴克早已凉透。 我机械地重复着准备好的话术,每一个字却都像是砂纸摩擦着喉咙,干涩得说不出口。


教育业务接连经历了数轮调整,每一次的裁员比例都令人心惊。曾经热闹的团队群渐渐沉寂,会议室里的笑声消失了,午餐时间的餐厅变得空荡。我常常站在工位的落地窗前,看着又一批同事抱着纸箱离开,心里五味杂陈。


记得副总裁在最后一次全员大会上说:"等春天来了,我们一定把这些优秀的同学接回来。"然而风暴太猛,连这位给我们希望的副总裁也离开了。那一刻,我才真正明白,互联网的黄金时代,或许真的已经落幕了。


在第二轮裁员后,现实给了我当头一棒。原本热闹的团队只剩下零星几人,但繁重的业务需求丝毫未减。 我一边准备简历面试,一边要维持团队运转,那段日子就像在钢丝上跳舞。


最终,我选择了加入QQ团队。这个决定既是无奈,也是机遇:他们正在进行的Electron重构升级项目,让我看到了继续追逐技术理想的可能;而团队里都是熟悉的战友,少了空降带来的适应期。这或许不是最完美的选择,但在当时的环境下,是最温暖的归宿。


七年之痒,职业倦怠


重返QQ团队的那一刻,我以为自己终于找到了职业生涯的新高地。


面对QQ桌面版这个历史包袱最重的项目,我们要在两年内完成看似不可能的Electron 重构 那段日子,我废寝忘食地研究VSCode 源码,在性能优化的迷宫中探索。每一个技术难关被攻克时,都让我热血沸腾。


2023年,ChatGPT的横空出世让整个科技圈地震。我敏锐地嗅到了时代的气息,立即投身这股AI浪潮。当我写下《花了大半个月,我终于逆向分析了Github Copilot》引发技术圈热议时,我觉得自己终于站在了技术浪潮的前沿。


同期主导的鸿蒙项目,更是让我在技术深度上有了质的飞跃。每天与华为工程师们的头脑风暴,从C++底层到系统架构的探讨,都在拓展着我的技术边界。


然而,就在我以为一切都在正轨上时,一种莫名的倦怠感悄然而至。


每天的日程表被无休止的会议填满:四个产运团队的例会、层层叠叠的排期评审、永远写不完的汇报PPT...时间碎片化得让人窒息。前端AI技术专项、D2C、OTeam的建设压在肩上,跨团队协作的压力像滚雪球一样越积越大。


更令人疲惫的是,在这个熟人遍布的环境里,期待越高,压力越大。 庞大的团队规模加上晋升通道的受限,让我看不到职业发展的新可能。一些管理上的内耗更是雪上加霜,让我身心俱疲。


负面情绪就像病毒一样开始扩散:



"这么拼命到底为了什么?" "不过是份工作而已,何必这么认真?" "要不要找个965的公司,给自己一个喘息的机会?"



公司降本增效的寒潮中,各种福利的缩减成了最后一根稻草。我看到周围的同事们渐渐被"躺平文化"感染,我也不能免俗。


但就在我几乎要放弃时,一个声音在内心响起:



"真的要这样认输吗?"



我开始反思:这些年的技术积累,难道就这样轻易放下? 我发现自己在商业认知上的短板,于是报名了产品课程,同时拜读《沸腾十五年》。


这本书像一记警钟,让我清醒地认识到:商业世界从不讲情面,机遇转瞬即逝。 程序员的高薪,不过是搭上了互联网红利的顺风车。而现在,ChatGPT的出现预示着新一轮技术革命的曙光。


站在这个时代的十字路口,我决定不再自怨自艾。下一个风口正在形成,而我,还有机会成为浪潮中的弄潮儿。


2023,前端已死


那天,我站在深圳的地铁站,看着来来往往的人群,第一次对自己的选择产生了动摇。 作为一名有着腾讯多年经验的前端技术leader,我本以为换工作不过是一个轻松的选择题。然而现实远比我想象的更为残酷。


"抱歉,你的期望薪资太高了。" 这已经是本月第三次听到这样的回复。我苦笑着放下手机,回想起三个月前信心满满地场景,那时的我,还沉浸在大厂光环带来的优越感中,以为凭借自己的技术积累和管理经验,找一份理想的工作不过是水到渠成的事。


现实给了我当头三棒:



  1. 金字塔效应:技术leader的位置,永远是一个萝卜一个坑。我引以为傲的经历,在这个市场里竟显得如此普通。就像一场无声的军备竞赛,每个候选人都带着光鲜的履历,而职位却少得可怜。

  2. 寒冬突袭:大环境不好,大量公司在收缩。中小公司直接要面到CTO,大公司也至少要到CTO-1。每一轮面试都像被放在显微镜下审视:业务、技术、管理,稍有不慎就会被淘汰。

  3. 残酷现实:最让人心寒的是,有CTO直言不讳: "招你就是来当'刽子手'的,帮我把现有团队改造成996。 "这样的话,让我第一次认真思考:技术人的价值,究竟在哪里?


而我回想了一下我自己的副业:连赚100块都难如登天。 这个经历让我明白,离开大厂的光环,也许我们都不过是普通人。那些曾经习以为常的高薪,或许只是平台赋予我们的虚幻泡沫。


在这个迷雾重重的职业十字路口,我最终选择了加入字节跳动,深耕AI领域。与其在前端寒冬中随波逐流,不如搭上AI这列可能改变未来的列车。


也许, "前端已死"并非终点,而是一个新起点。在技术的浪潮中,唯有不断进化,才能立于不败之地。


开悟之坡,终身学习


最近看到一张耐人寻味的图,据说出自王慧文之手。这张图生动描绘了人生的三个关键阶段:



在"巨婴阶段",我们不知道自己不知道。恃才傲物,以自我为中心,对世界的不公愤愤不平。 站在"愚昧之峰"上,以为自己已经看透一切。


然后是社会的毒打,让我们跌入"绝望之谷"。在这里,我们终于知道了自己的无知。自信崩塌,万念俱灰,有人选择躺平,有人则在黑暗中摸索前行。


而能够攀上"开悟之坡"的人,都经历过重重考验。就像马化腾在3Q大战后的蜕变,任正非在遭遇背叛后对经营之道的顿悟。这些挫折,最终都化作了通向智慧之路的基石。


经历过风雨,我的人生信条也从"天行健,君子以自强不息"的进取,沉淀为"宠辱不惊,看庭前花开花落"的从容。就像赵英俊生前所言:"除了生死,再无大事。"这份豁达,是经历过生命起落后的珍贵礼物。


在这条修心之路上,我学会了:



  • 在逆境中保持乐观,在顺境时保持警醒

  • 身处黑暗,心向光明

  • 对生活怀抱感恩,珍惜当下的一切

  • 学会利他,不再斤斤计较

  • 追求共赢,理解组织与个人的共生关系


站在人生的这个节点,我深知未来依然充满不确定。但我不再惶恐,因为我已经习惯了在学习中寻找答案,在成长中遇见更好的自己。 「认知」在人生中极为关键,这也是我起名公众号的原因。


这条开悟之路上,我还在前行。或许前方还有更多未知的挑战,但我已经学会了在风雨中保持内心的平静。


人生的每一步,都是通向成长的必经之路。与君共勉!




作者:孟健的AI编程认知
来源:juejin.cn/post/7451168270877704218
收起阅读 »

全栈工程师的自媒体&副业之路:从零到月入破千的经验分享

引言 大家好,我叫立东,一名专注于Java和Vue3技术栈的全栈工程师。在过去的几年里,我不仅在本职工作中积累了丰富的经验,还通过自媒体平台进行知识分享,并成功实现了副业变现。今天,我想分享一下我的这段经历,希望能给同样对自媒体感兴趣的朋友们一些启发和帮助。 ...
继续阅读 »

引言


大家好,我叫立东,一名专注于Java和Vue3技术栈的全栈工程师。在过去的几年里,我不仅在本职工作中积累了丰富的经验,还通过自媒体平台进行知识分享,并成功实现了副业变现。今天,我想分享一下我的这段经历,希望能给同样对自媒体感兴趣的朋友们一些启发和帮助。


1. 起步阶段


第一次尝试


2020年5月2日,我在掘金平台上发布了我的第一篇文章。当时的初衷很简单,就是想记录自己的学习过程和技术心得。刚开始时,确实遇到了不少挑战,比如如何找到合适的选题、如何写出有吸引力的文章等。为了克服这些困难,我采取了以下几个步骤:



  • 选题策略:我倾向于选择自己熟悉且受众感兴趣的话题,例如前后端分离、快速开发框架、Java、Vue、Docker、Kubernetes(K8s)以及工作流引擎等。这样不仅能够确保内容的专业性和准确性,还能更好地吸引和满足读者的需求。

  • 写作技巧:其实我并没有特别参考他人的写作习惯,更多的是随心所欲地记录自己的想法和心得。因此,我的文笔可能并不完美,但我会尽量用最真诚和直接的方式表达自己。

  • 互动反馈:积极回复读者的评论,收集反馈并不断改进。


坚持与成长


坚持了一年左右,我逐渐积累了一些宝贵的经验和粉丝。截至目前,我在掘金平台上的粉丝数虽然不算多,但也达到了700多人,发布了70多篇文章,总阅读量超过了27.2万次。尽管初期增长较为缓慢,但每一次点赞和评论都给了我极大的鼓励和支持。


2. 视频录制


转战B站


2021年8月1日,我决定将内容扩展到视频领域,并在B站上传了我的第一个视频。选择视频形式的原因主要是因为它能够更直观地展示技术细节,同时也能更好地与观众互动。从那时起,我基本上保持每天录制更新一个视频,坚持了一年半的时间。


我的视频主要从架构、提效以及研发管理者的角度进行录制。这类视频在市场上相对较少,因为大多数讲师录制的内容通常集中在实战项目或某个开发框架的使用上。然而,每家公司中能够并且需要搭建这类开发框架和开发脚手架的人并不多。因此,我的视频填补了这一空白,为那些希望提升整体开发效率和管理水平的技术人员提供了宝贵的知识资源。


最初,我的视频以合集的形式连更,每个课时大约四五十分钟。随着时间的推移,我逐渐将视频长度控制在十分钟左右,这样不仅更符合观众的观看习惯,也让我越来越适应这个录制节奏。录制的内容涵盖了前端、后端以及持续集成等多个方面,其中比较有代表性的系列是《SpringBoot+Vue3前后端分离工程化最佳实践(后端篇)》和《SpringBoot+Vue3前后端分离工程化最佳实践(前端篇)》,这些视频与我在掘金上发布的《打造一款适合自己的快速开发框架》系列文章相呼应。


截至目前,这两个合集的总课时数达到了407个,总播放量接近10万次。通过这些视频,我不仅能够更全面地分享我的技术知识,还获得了许多宝贵的反馈和支持。


粉丝增长


2023年3月8日,我的B站粉丝终于突破了1000人。这对我来说是一个重要的里程碑,也给了我继续前进的动力。事实上,我并未采取任何刻意的推广策略来迅速增加粉丝数量或提升他们的活跃度,也未曾深入思索过如何将这份影响力转化为经济收益。我始终秉持着一份纯粹的热爱与坚持,默默耕耘。当然可能是整个过程并未占用我过多的时间,录制视频于我而言,更像是一种轻松愉悦的表达方式,而非沉重的负担,所以才能坚持那么久的用爱发电。


3. 知识付费平台


我知道,一直用爱发电是很难坚持的,所以我开始尝试做突破……


知识星球


对我而言已略显陌生,因为它是我在很久以前就使用知识付费平台的,但遗憾的是,后续并未给予太多的运营关注。主要的原因在于,其配备的文章编辑器功能相对简陋,许多文章的编辑工作变得相当不便,这大大影响了我的使用体验与效率。因此,随着时间的推移,我逐渐减少了对它的管理与投入。


纷传


2023年5月,一个偶然的机会,看到了纷传这个知识付费平台,经过初步试用,我发现它基本上能够满足我对于文章创作与付费阅读功能的需求。然后在纷传创建了一个《立东和他的朋友们》的圈子,在这个圈子上,我不仅分享了一系列关于工作流引擎的专业文章,还提供了与我当前录制的视频课程紧密相关的文档链接及访问密钥。这一方式不仅丰富了我的内容创作生态,还意外地成为了我的一项副业收入来源,为我的月收入增添了亮丽的一笔。


4. 开源项目与爆发


开源项目


2023年12月16日,我上传了一个开源项目《快速开发框架+自研工作流管理系统》。这个项目旨在帮助开发者快速构建企业级应用。为了让更多人了解这个项目,我在掘金上发布了一篇《开源啦!!!轻量级工作流引擎管理系统》的文章,详细介绍了它的功能和使用方法。没想到,这篇文章被【稀土掘金技术社区】官方公众号和几个大V的公众号相继转载。也正因为如此,我开源项目关注量也稳定增长着,现在已经有8.3k的关注量。


5. 付费课程


入驻B站课堂


2023年11月15日,我正式入驻B站课堂,并于12月16日推出了我的第一门付费课程《全栈工程师带你从0~1设计实现轻量级工作流引擎》。这门课程受到了很多学员的好评,也为我带来了不错的收益。


后续课程


随后,我又陆续推出了几门付费课程,涵盖了多个主题:



  • 2023年12月29日,《AI神器!阿里通义灵码从零带你开发前端代码生成器》。

  • 2024年1月10日,《毕业设计!家庭记账管理系统!快速开发框架!》。

  • 2024年5月4日,《AI助手开源引流VuePress站点动态权限控制》。

  • 2024年6月25日,《工作流设计器开发最佳实践》。

  • 2024年8月3日,《从0~1搭建前端快速开发框架VbenAdmin篇》(未完结)。


我的付费课程远未止步,未来还有更多课程等待我去录制与打磨。在明确的变现路径上,我将秉持初心,持续输出高质量的教学内容,为每一位求知者点亮前行的灯塔。


6. 变现成果


随着课程数量的增加,我的收益也在稳步增长。2024年8月份,我的课程收益首次突破了千元。这不仅是对我努力的认可,也证明了通过自媒体变现是完全可行的。


7. 经验总结与建议


坚持的重要性


持续输出内容,逐步积累粉丝。无论是文章还是视频,都需要持之以恒的努力。只有不断地提供有价值的内容,才能赢得用户的信任和支持。


内容质量


高质量的内容是吸引粉丝和变现的关键。无论是文章还是视频,都要确保内容的专业性和实用性。此外,清晰的表达和良好的视觉效果也是提升用户体验的重要因素。


社区互动


积极与粉丝互动,建立良好的社区氛围。通过回复评论、举办问答活动等方式,增强粉丝的参与感和归属感。这样不仅能提高粉丝的黏性,还能获得宝贵的反馈和建议。


多样化变现


通过多种方式变现,如付费课程、付费圈子等。不同的变现方式可以覆盖不同类型的用户需求,从而最大化收益。例如,付费圈子可以为用户提供更深入的技术支持和交流机会,而付费课程则可以系统地传授知识和技能。


兴趣很重要


兴趣真的很重要,因为兴趣大概率是处在自己的舒适圈,而舒适圈内,你可以坚持得更久,才有机会等到变现的到来。


多平台布局的反思


虽然我在B站上取得了一些成绩,但我也有些后悔没有同时在其他平台(如抖音)上进行内容发布。现在,我的抖音粉丝还没有达到1000人,导致一些功能无法使用。未来,我会考虑在多个平台上同步发布内容,以扩大影响力。同时,也会更加注重多平台的运营策略,以便更好地触达不同的用户群体。


结语


感谢大家一直以来的支持和陪伴。未来,我会继续努力,为大家带来更多有价值的内容。如果你有任何问题或建议,欢迎随时联系我。


附录



作者:mldong
来源:juejin.cn/post/7423066953039085606
收起阅读 »

2024年总结: 迷茫

12月今年最后一个月了,相逢的人已走散, Q4的OKR已经定型了, 很平淡无味, 闲的无聊 提前写个年终总结吧。00年, 再过一个月就25岁了,一个人来杭州也已经3年多了 每天有时间写一点 周六了 写到凌晨1点了 看直播/打麻将到凌晨5点才睡。 去年也写了一篇...
继续阅读 »

12月今年最后一个月了,相逢的人已走散, Q4的OKR已经定型了, 很平淡无味, 闲的无聊 提前写个年终总结吧。00年, 再过一个月就25岁了,一个人来杭州也已经3年多了 每天有时间写一点 周六了 写到凌晨1点了 看直播/打麻将到凌晨5点才睡。 去年也写了一篇 2023年总结:日渐清醒,得失随意 //TODO DDL 应该是在月中完结吧。



工作



我大概回忆一下 我今年在工作上应该干了这些事情吧




  • 自己申请换项目组,日常维护新品App版本迭代 2周一个版本 多个app同时进行

  • 完成所有App 苹果服务器接口Storekit2 升级上线

  • Google 支付/订阅 SDK 重构原生API调用代码

  • RocketMQ优化多数据中心用户数据同步/webhook/推送

  • RocketMQ-Exporter 搭建 监控相关性能指标

  • SSE+服务器GRPC流式 推送消息

  • us机器 内存优化 切换到jemalloc内存分配器

  • RocketMQ 单机 升级为Dledger 集群模式 Q4 任务



从22年3月毕业到现在 再度过一个季度 在这家公司呆三年了(3年之约),整个过程就是升级打怪,看着人来人往 合作的人 离职一个又来一个, 每个季度干着重复的工作,技术框架还是那一套 SpringBoot+GRPC 经过一年熟悉后 就觉得没有新鲜感了, C端产品App 在用户基数不大情况下 基本的重心在客户端的ui/操作体验上 后端嘛就是一个数据存储的地方 存取能有什么难度 大家都会,每个季度任务就是 基本的版本迭代+一些服务器内部的优化,如果你想要拿到高的绩效 那干这点是远远不够的, 基本规则在无告警的版本迭代下 做一些对团队贡献大 有价值的事情 拿A/季度优秀员工,三年期间升了两次小级别 p5-1->p5-2->p5-3 还是一个初级开发 今年估计也悬了 没有两次A的绩效 跨段位升没机会,没有owner过项目, 和旁边人朋友/同学工作/升职对比下 只能说自己像个废物 躺的太平了 每天965的生活 除了偶尔上线 需要加班留下来 大家都不加班 也没有那么多活需要加班来干的活。




生活



去年立的flag 也是一腔鸡血




  • 软考 系统架构师 +软著 拿到杭州E类人才

  • 健身/减肥

  • 骑车 vlog (杭州景点全部骑完 影石360 ace pro)

  • 摄影佳能rp/视频剪辑学习

  • 日语/英语学习

  • leetcode 上Knight

  • 考D驾-照 骑防赛

  • 日麻线下雀庄体验 参加各种线上日麻比赛

  • ClickHouse hangzhou 线下沙龙

  • 掘金bolg 更新 技术日常

  • 千岛湖

  • 抽烟+喝酒

  • B站 直播 日麻


软考 系统架构师+软著 拿到杭州E类人才



img


骑车 vlog (杭州景点全部骑完 影石360 ace pro)



  • 一个人走走停停 骑过很多地方, 最多的还是钱塘江到彭浦大桥->复兴大桥路线 不知道骑了多少遍,西湖/湘湖/九溪这些地方都去过了,车子是青春款只在线上售卖 后期毛病很多 链条蹭盘/刹车无效 自己不知道维修了多少次,最近这两个月很少骑了,放在地下室发霉 后续准备卖掉了这车 还买了那么多骑行装备,买的insta 360 ace pro 3000多降价到2k左右 当时在大疆和insta中选择了好久 最后还是踩坑了 实体店体验了大疆action 画质比insta360好太多了,有必要考虑再买一台大疆action5了, 一个人的骑行之路也该结束了 开始新的玩具 仿赛摩托车 芜湖起飞。


img
img
img
img
image.png

健身/减肥



  • 怎么说呢 三天打鱼两天晒网的行动 体脂没什么变化,饮食更不会控制 每天外卖外卖外卖, Q1/Q2两个季度挺积极的 基本工作日晚上有时间就去健身房 周末白天也去, 在健身房的时间也能让自身感受到轻松, 这个小区有个百姓健身房在地下室 24小时 刷脸进去 设备齐全 没什么人 每个季度的话300块RMB, 我主要后面可能没有看到短期效果+活着很累 有一段时间没有去了, 偶尔下楼抽烟去逛逛, 最后得到的只是自己的一个心里安慰,没有合理的计划和坚持下去的心 我现在已经懒连手表都不戴了。


img
img
img
img

摄影佳能rp/视频剪辑学习



  • 怎么说呢 周末放假就是宅 已经吃灰了 除了9月1号 拿到免费的门票 杭州植物园专门去了一趟拍彼岸花,其他时间不出手。视频剪辑也是一坨屎 目前就用剪映弄一些雀魂麻将抽角色的视频,后续还是想学一下专业的剪辑工具 这个也看需求吧。


img

考D驾-照 骑防赛



  • 为什么要去骑摩托车,主要是中秋节回家一趟,隔壁邻居已经买了一辆机车, 当时他让我试试 我没试 后面就一直关注摩托车这个事 抖音一直给我推视频。才有了考D驾-照驾-照,周末练半天,工作日考试半天就好了,4科联考 比C1驾-照周期短 速度快,驾-照到手后面周末直接找附近最近的租车平台试试水,萧山那边的之江路/美女坝路险,本田500 手震麻了 1个小时 干了100公里, 最后一个半小时就还车了 跑了150km,整体的体验感是非常好的,无论是去骑车的路上 还是过程中 都能够忘记生活/工作上的烦心事,最尴尬的是红绿灯起步熄火了,后续周末继续出行租车,找个有缘人一起。


img
img
img

日麻线上比赛/线下雀庄体验



  • 每天下班就是点外卖 开始打麻将,水各种日麻群 打友人赛/团队赛,每天晚上达到2 3点 菜就爱多玩 和群友打比赛 对个人的实力也是有了认知 学习别人的打法 从野猪冲击 也慢慢在意铳率了,前一天打完线上比赛, 这个月周日也是马上跟着一个大哥去杭州线下的湖滨牌浪屋体验完线下日麻,今年干的最多的事情就是打麻将,下班除了打麻将还是打麻将。


img
img
img
img

leetcode 上Knight



  • 基本上是原地没动,比赛一场没打,为什么要刷?为了什么?能带给自己什么收益?呆在舒适圈里久了 不想出去,算法也是提不上一点兴趣了 估计只有到时候找工作之前才会接触到了 其实也制定了计划 刷灵神的清单 还是自己懒吧 动不起来,最后一个月 要不开始发力?算了 打麻将吧。


img

其他



  • 今年参加了ClickHouse hangzhou 线下沙龙, 虽然没有使用过clickhouse这款db,去听听别人公司的落地方案,去阿里园区转了转。

  • 掘金bolg 更新 技术日常 主要是参加创作者训练营吧 锻炼一点自己的文本输出能力,总结的过程中也能知道问题的本质是什么,解决的过程/方式以及别人是怎么解决的,收获还是有的。

  • 和同学五一去了千岛湖一趟 结局不是很好 过程体验不错。

  • 在日语/英语学习上面投入的时间 ,无论是日常工作上英语的使用 还是各种文档阅读能力,在逛各种项目/看论文的时候 就能体现出来, 日语兴趣的话 纯粹是打日麻和旁边的日麻群友影响/看番剧而来的 每天用多邻国完成任务,买了4本书《标准日语》+《大家的日语》,在B站上看圆圆姐的视频教程【京大博士带你学日语】新标日初级上册全新课程!必能学会!超详细讲解!轻松搞定日语学习!(课本内容完结!)哔哩哔哩bilibili

  • 抽烟+喝酒已经是家常便饭一样的事情了 上半年是沉迷于喝酒消愁 下半年就抽烟打发时间,每天下班又不知道干什么 找点打发时间的乐趣,天天熬夜看直播 打麻将 2点3点睡觉已经是常态了,每天晚上看陈伯/刘刘江直播 带来的乐趣, 工作日每天基本8点50的闹钟吵醒,拖着尸体去上班,周末基本睡到自然醒中午/下午 除了楼上楼下装修 直接被震醒了。

  • 这样一回想2024年还是干了很多无意义的事。



虽然只有15篇文章 文章的阅读数也有3w 其实数据对我来说也是无所谓的,主要还是方便以后回忆吧,分享出去 可能有人和你遇到相同问题,带给解决思路 明年要不要继续写?还是把时间投入在别的地方?都是未知



img
img
img

个人技术学习



  • AI 知识点拓展学习

  • 部门分享

  • 推荐系统&&RAG

  • 前端

  • 第三方支付订阅

  • 分布式论文学习总结

  • 《计算机网络-自顶向下方法第七版》

  • 《CSAPP 深入理解计算机系统(第3版)》

  • 《设计数据密集型应用》

  • 技术拓展/深挖(RocketMq源码/go-redis源码/Netty源码/Mycat2源码)



看个锤子 没心思学习 下半年天天打麻将




  • AI的话主要是身边环境影响,自己的项目组一直在利用AI做业务,从2023年开始 公司一直对接的是openai 提供的chat 能力,公司内部举行了ai相关的比赛,业务想要搭建自己的知识库和RAG搜索 主要是用AWS上的Redrock封装好的知识库 ,项目组一些APP一直在使用微软的TTS进行语言转音频的操作,部门,组内和项目组 大家一直在内部分享和ai相关的知识点,产品会使用cursor提前将需求写完 自己进部署上线。

  • 跟着项目组业务走,最近在支付方面的功能进行了改动,对于web网页上的购买消耗型商品/续费型商品的购买,主要对接的平台是Stripe信用卡visa支付 和paypal支付。appstore 支付的话 最近负责组内storekit2 服务器接口升级重构代码 用的官方开源库 github.com/apple/app-s…。Alipay 支付宝和Wechat 对于中国环境的用户提供的一种支付方式, 代码很粗糙 很久没有相关需求迭代了。Google 支付 来的两年时间接触的业务还是比较少,整个支付逻辑和appstore是一致的,有时间把代码逻辑和官方文档进行学习总结一下。

  • 现在只会个后端远远不够了,替代性太强了,除非是中大厂那样细分工作岗位/业务内容,如果你有自己的想法 后续做一些自己的产品/独立开发者 一人一公司 全栈只能是无敌路。我这边对前端也是零零散散的学习 没有整个的大项目使用,github.com/lobehub/lob… 前端React开源项目学习 TSX+TS 认知冲击 原来前端已经进化到这个地步了,没有html+css全部被封装了,我们内部的数据平台还是原生html+django搭建的,每次加新功能ai生成的代码 能跑就行。



在下半年 觉得基础知识很重要 技术跟着业务走 没必要太追求新技术 就往计算机基础知识+算法+基础论文投入时间




  • 中间一段也是将《计算机网络-自顶向下方法第七版》 计算机网络-自顶向下方法第七版 · 语雀和《CSAPP 深入理解计算机系统(第3版)》CSAPP 深入理解计算机系统(第3版) · 语雀 细看了一遍 , 书籍买了很多 都是吃灰的 没有去年那个干劲了。

  • 看论文 可以学习技术理论的基础 还有重要一点是学英语, 主要是看一个up在学习这方面的知识点 就跟着看了一段时间,谷歌三大剑客 GFS/MapReduce/BigTable 看论文不看分布式论文 就像四大名著不读红楼梦,唐诗不读李杜,吃泡面不加调料包 Raft/Paxos 那一块真的一看就是几天 深陷进去 每次看硬核课堂的文章 Raft -论文导读 与 ETCD源码解读

  • 参与开源项目任务也没有达成 往里面投入的时间太少了,最后下班/上班有时间 也没深入去学习业务上用到的组件源码, 最近的话 负责RocketMQ集群Dledger搭建/MQ优化业务 ,RocketMQ-exporter+herzbeat+prometheus监控指标, 遇到的异常信息太多 每次都是网上找案例解决,上班利用ai 深入在看看RocketMQ源码吧github.com/apache/rock… 边看边总结RocketMQ 源码 5.2.0 - 生产者 Producer



杂学杂记




  • 中间又去了解了下机器学习/深度学习相关的内容,又看了大数据开发Spark/Flink等等组件,前端看了React+TS相关知识点/demo/Flutter开源项目, 背单词的时候发现墨墨背单词是node+ts写的,有个软考刷题的app是Flutter写的 作者是独立开发者 最近公司客户端也在用flutter开发新品app 代码我这边也是有权限的, 也去了解了一下技术栈,中间又有一段时间去了解了下亚马逊运营的工作,也看了AIGC/agent/图像/音频/向量数据库milvus等相关的方向 RAG 知识库增强式搜索,在推荐系统领域 推荐 广告 搜索 也花了一段时间去了解/学习 因为我们这边没有算法工程师 推荐功能很粗糙 没有用户画像的概念,有一段时间被cloudwego社区的kitex/hertz吸引 当时想去上海站的线下沙龙 可惜正好那周软考考试, 因为有个麻将牌谱工具是rust写的 github.com/Equim-chan/… 所以又去了解了一下rust,我记得有段时间投入在系统设计/业务场景思考方向(IM/Feed流/本地消息表/分布式限流等等), 都是一点毛皮,Q2服务器服务的内存问题 每天上班想下班想 把互联网的文章都翻烂了 从堆内到堆外到Glibc 询问各种技术大佬场景异常 组内成员给不了你任何帮助 全靠自己,所有的东西没有实质性的收获 也没有在项目中使用到 过了一段时间基本全忘了(不做笔记/总结) 。



现在往回看 在技术学习的时长投入的太少了 对技术没有追求 什么都知道一点 什么都不精通 啥也没学会 离开了Java/Spring 我还能干什么,我能干的 找个会使用AI的人来都能干,天天熬夜 不知道熬的是什么 碌碌无为。最近一年 代码写的很少了 基本靠ai生成 微改/设计一下 写的自己也看不懂了。生活/工作迷茫 现在都是活一天是一天, 想回家。



后续规划 待定



  • 英语/日语

  • 独立开发者



打麻将去咯 一起玩雀魂的可以加我



20241212-151216.png

作者:呆呆蛇
来源:juejin.cn/post/7445511025702764555
收起阅读 »

攀一座山,看一场雪,追一个梦

序 我是个很念旧的人,今年也发生了很多很多事,本文就写点心里话叭,想到啥就写啥,认识我的也别跟我说哈,反正我也不会承认是我 去年在朋友圈写下: 今年再次看到这篇文章的最大感受就是我今年变化好大啊,在所有方面(或许也会受写此文时心境影响),我可能已经有一点认不...
继续阅读 »


我是个很念旧的人,今年也发生了很多很多事,本文就写点心里话叭,想到啥就写啥,认识我的也别跟我说哈,反正我也不会承认是我


去年在朋友圈写下:


c8319449d07eb2032db9ade53b72980.jpg


今年再次看到这篇文章的最大感受就是我今年变化好大啊,在所有方面(或许也会受写此文时心境影响),我可能已经有一点认不出去年的自己了,然后就是想把它删了,好尬啊,想了想还是要坦然的接受过去的自己😅,尬就尬叭,反正我脸皮厚


先看看去年目标:



  • 体重控制到65并且不增长

  • 独立完成项目

  • 写五篇技术博客

  • 看一场周杰伦演唱会

  • 拿到软考架构证


总的来说去年任务完成的不错,今年体重最轻到了60kg,后面被朋友说太轻了增重到了65kg


对技术有了全新的理解,博客也记录了很多以前没听过的新技术(语雀)


可惜周杰伦门票太难抢了,一直没能抢到😭,许嵩邓紫棋啥的也没抢到,太可惜了,架构师太难了,今年年中也太忙了没能考过,明年再接再厉叭


工作


今年3月到11月太忙了,大概4月有俩到三周早8晚11周末加班,凌晨也熬了几次第二天还继续上班,那段时间天天熬夜,晚上3点睡觉,7点又起床,感觉生活都没希望了,一度觉得活着没意思,有一次2点多回家第二天早上请假了没去,有人说我熬一晚请半天假真好,我也没有争辩,其实我挺委屈的,我真的很累啊我前面天天在熬,除了睡觉就在上班,也不敢跟人抱怨,每天晚上就算回家很晚很累了也不想睡觉,因为我知道我一旦睡觉了,第二天的世界又不属于我了...


还有一个多月三级响应周末不休一直加班💦💦💦,后面又参与俩个着急的项目,都是月底验收还麻烦,到处都是压力,白天干这边,晚上远程另一边,真的很累,不管是精神还是身体,不知道怎么抗过来的


不过最近早八晚五正常双休挺开心的,工作量也不大,属于自己的时间很多,唯一可惜的是办公室人越来越少了,波哥,药王,鹏哥,丰哥,超哥都相继离开了,今年过完可能最后的jjj和qs也要走了,能拌嘴的人越来越少了,虽然微信能联系,但是不见面的感情,始终觉得差了点


再也不能和波哥瞎扯了😟,药王偷拍我的照片记得删掉☹️,鹏哥还欠我一份文档记得给我😤,丰哥下次再约滑雪爬山, 我现在感觉我巨强😍,中午午睡再也没有超哥和qs打lol的鼠标声音(真有点菜叭🤣),以后吃完饭回来也闻不到jjj的超级香的饭了,qs以后应该也救不了我了,还有jjj给业主打电话的外放声音再也听不到了😄😄😄😄😄


希望你们过得越来越好~~~


生活


今年生活总体来说还是很开心的,发展了很多兴趣爱好,做了很多以前想做的事情


看着自己的存款越来越多真开心,今年也给爸妈爷爷奶奶买了很多东西,更开心的是侄女终于让我抱了哈哈哈,花了几箱旺仔牛奶和一些玩具成功收买!哈哈哈哈


希望武汉房价再降低一点,想不依靠爸妈在武汉买房子~🤠🤠他们把我养大已经很累了,我希望他们能一直过的好


不知道我以后看到下面这一段会不会笑出来哈哈哈哈


以下是YY时刻


想有属于自己的房子,将每一块地方都布置成我喜欢的样子


房子一定要能晒到太阳,我喜欢太阳晒在床上的感觉


我喜欢躺在阳台上晒太阳,看刚洗的床单轻盈地舞动,听窗外风吹过树枝发出莎莎的声音,鸟儿在树枝间穿梭飞翔(目前租的房子完美满足这点,所以一直没换)


附近要有公园(能让我运动,走路散心),超市(每周会去买菜采购,菜市场的部分阿姨真的很烦😑),附近要有很多好吃的店(偶尔会懒得做饭)


洗碗机一定要有,并且有烘干功能(我喜欢盘子拿在手上热热得温度,很安心),每次做完饭收拾厨房得花很长时间,我喜欢手干燥燥的,最近每洗一个碗都会用纸巾把水擦干净,太费厨房纸巾了


暂时想不起来了,想起来再写叭...


最后,我希望有一个我爱并且爱我的人,一起上下班,逛超市,做饭,吃饭,玩游戏,看电影,一起做去做很多很多事情,留下记忆点


以上就是我为之奋斗的目标(想笑就笑叭反正这里没人认识我🤣🤣)


兴趣&&娱乐


add:跑步,羽毛球,做饭,爬山,滑雪,音乐(最爱的还是杰伦)


夏天的时候每天去江滩跑步,然后公共健身器材区域拉伸,每天浑身湿漉漉的回家洗澡,有一点小小的成就感,有一次在按摩小腿的时候,发现有阿姨在那里按脚🤮🤮,吓得我回家把小腿搓了半个多小时🤢🤢🤢🤢


最近羽毛球打的比较多,打球时间总是很短暂,希望明年能认识更多的朋友一起打球


今年给自己做了好多饭吃,贴一张朋友来我家聚餐,我做的饭照片,希望明年能收录更多菜谱,今年过年做给家里人吃😋😋


2a841c4aa70217a542b3378e8a6e687.jpg


端午节和wsy去反穿了武功山,挺开心的,成功到达金顶,路上还遇到了几个人一起组队的,其中有个'公主'路上和我互相拍照哈哈哈哈哈,还说我是湖南王子,其实我是湖北的哈哈哈哈笑死我了


音乐不必多说,听十多年了杰伦了,永远爱JAY💖💖💖


del:游戏(大部分)


去年回家就玩游戏,今年增加了很多活动,游戏玩的很少了,其他大部分游戏基本都戒掉了,年初还在玩王者,打了个省牌云中君之后也没玩了


现在只有lol有时候朋友叫我还在玩,偶尔自己玩一下地平线,开开车,让自己静下心来


黑悟空第一天的时候,11点到的虎先锋,结果被砍到凌晨2点😭😭😭


9edf54c734998ce43edce42c8cff4bb.jpg


感情



在大家都不再纯粹去爱的年纪,我才笨拙的打开爱情的大门。



学习


软考架构师


今年年中太忙了,没花太多精力在这上面,希望明年能过


前端


从亮哥代码中学了很多,从代码质量到工程化,现在自己搭建了一个monorepo的项目,在往里面添加一些自己的项目


后续有机会的话想在公司推行,因为太多项目都是衍生至一个项目,修改一个项目其他的好多需要同步代码,太麻烦了


服务端


学习了一点java(还未深入),一点python,一点linux等,多少都带点但是没深入,今年主要还是在前端发展,明年向服务端发展,之前还不小心把fhy的云服务器服务全给删了哈哈哈哈


代码质量


今年代码质量有了很大提升,现在看到自己以前的代码犯恶心😤😤,从几个项目里面学习了很多风格,慢慢变成自己的东西


眼界


今年认识了很多新朋友,跟他们聊天也开阔了很多眼界,听到了很多以前闻所未闻东西,今年很多新学习的东西来自他们,还有个朋友送了我一个包包哈哈哈🥳


关于可惜的事儿


没抢到周杰伦演唱会门票


希望明年能抢到叭🥺,真的很想去一次啊,还有许嵩,邓紫棋等等好多~


生日那天在武功山没看到日出


去返穿武功山,结果是大雾,凌晨四点起床也没能看到生日当天的日出,说不失望是假的,不过好歹登上了金顶


没抽到武汉马拉松


今年第一年抽,可惜没抽到,希望明年有好运!


展望


明年我要做到:



  • 每周至少运动8-10小时

  • 写一个自己的网站

  • 继续学习服务端,自己给自己写接口

  • 运维能达到廖哥一半水平

  • 前端代码质量能达到亮哥水平

  • 回家给爸爸妈妈爷爷奶奶做饭吃


明年努力做到:



  • 拿到架构师

  • 找到对象(认真且真诚)


明年希望做到:



  • 抢到周杰伦演唱会门票


今年目标写的很多,但是passion!


写在末尾的话(全是废话)


今天打完球回来写本文,本来想随便写一点,但是写着写着情绪涌了上来,慢慢写了接近五六个小时


中途回忆起了今年很多的事情,有开心,有难忘的时刻,有做错事的尴尬,也有想到讨厌的人的难受,有做的好的事情,也有让别人难堪之后自己后悔莫及的事情


我在这里上不停地打字,想要把这些情绪都宣泄出来,让它们从心里转移到这里,每一个字都是我内心的倾诉,每一个段落都是对过去的一次梳理


我敲下的或许不仅仅是文字,更是自己这些年的成长轨迹,也是我内心最真实的自己


当我敲下这段,明天又是新的一天,马上又是新的一年。




我常觉时间本不存在,是一件件事与一个个人,标记了时间的刻度,赋予了记忆的还原点,我能做的,就是创造更多记忆的闪光点。



作者:介个凑是爱情
来源:juejin.cn/post/7452652740541972490
收起阅读 »

GPT-o3超过99.9%的程序员,码农们何去何从?

掘金2024年度人气创作者打榜中,快来帮我打榜吧~ activity.juejin.cn/rank/2024/w… 大家好,我是每天分享AI应用的萤火君! 最近OpenAI一连搞了十几天的新品直播,虽然热度不是特别高,但是也确实爆出了一些比较有意思的东西,比...
继续阅读 »

掘金2024年度人气创作者打榜中,快来帮我打榜吧~ activity.juejin.cn/rank/2024/w…




大家好,我是每天分享AI应用的萤火君!


最近OpenAI一连搞了十几天的新品直播,虽然热度不是特别高,但是也确实爆出了一些比较有意思的东西,比如GPT o3,据说编程能力已经超过 99.9%的程序员(某程序员竞赛的前200名:codeforces.com/ratings),我等码农是不是要哭晕在厕所了?


程序员的出路在哪里?


AI编程革命


谈到这一轮的AI革命,很多人会类比工业革命。在工业革命初期,随着机器的普及应用,很多手工业者丢了生计,但也有一批手动业者主动进化,学会了机器的操作方法,在新的时代里依然抢手。


所以最新的说法是:AI不会革所有人的命,AI革的是不会使用AI的人的命。


这种说法是站的住脚的。


就我个人而言,写代码已经离不开AI了,遇到不会写的代码就问AI已经是家常便饭,甚至有了什么思路之后,直接就让AI先写一个实现,感觉不好的话,再让AI重写,一般都能得出满意的结果。这比自己苦思冥想、到处去查资料要快上不少,甚至结果也往往更好。当然这里边还有一些前提条件,比如你要把自己的想法清晰的表达出来。


就像人们对商品的需求是广泛且持续存在的,软件的需求也是广泛且持续存在的。使用AI可以提升软件程序的生产效率,如果你花1天时间可以写出100分的程序,那么使用AI,很可能只需要几分钟的时间就能写出至少80分的程序,这里边的生产力差距是很明显的,所以AI对于编程而言,自然也是一场革命。


历史证明,不想被淘汰,只能积极的拥抱新的生产工具。学会使用AI编程,自然也成了程序员在AI时代的必备能力。


AI编程的要点


就像大家都写程序,有的人写的好,有的人写不出来。使用AI编程也是,有的人效率大幅提升,有的人生成的代码没法用,还耽误时间。


为什么会这样?


我个人的观点是:不得要领。


编写代码的要领是:掌握各种编程规则,并在各种解决方案中做好权衡。很多同学以代码能跑起来为最终目标,不管性能,也不考虑维护、扩展,这样很难写出优秀的程序,自然也成不了高手。


AI编程的要领是什么呢?


讲清楚


我们还是在编程,所以编程的要领还是要掌握,但是又增加了AI的方式,就需要结合AI的特性。


这里边最主要的问题就是讲不清楚,程序员们往往知道怎么去实现,但是很难给别人讲明白。而使用生成式AI,一个很重要的工作是编写提示词,也就是把你想要的东西通过文字清晰明白的表达出来。


举个简单的例子,你想要让AI设计一个商城的数据库,如果你只是简单的告诉它:帮我设计一个商城的数据库。


它很大概率上是很难生成直接可用的代码的,因为它不知道你要使用什么数据库,也不知道你的商品和订单是怎么管理的,更不清楚你的订单量是什么样的规模,这些都会影响数据库的设计。AI大概率会给你了一个路边摊的方案,然后被你鄙视一番。


要想让AI输出高质量的内容,我们必须把问题的上下文讲清楚,以AI能够理解的方式告诉它。在数据库的例子中,可能包括:你的商城都有哪些功能,商品品类如何组织,商品有哪些属性,每天的订单量如何,订单的流转过程如何,等等。


有时候对于一个复杂的系统,一轮对话是不够的,可能需要多轮对话,比如先讲一下你的商城功能有哪些、业务规模如何,然后让AI给你一些数据库的选型建议;然后再基于你选择的数据库,通过各个部分的描述,让AI给出具体领域的设计。


好模型


工欲善其事,必先利其器。


AI模型的性能也很重要,这里说的模型性能是AI模型生成结果的质量问题。


了解过大语言模型的同学应该都听说过OpenAI,作为大语言模型的领导者,它的ChatGPT是顶好的,对于同样的问题,ChatGPT往往能理解的更为准确,也能给出质量更高的答案。对于编程来说,就是它输出的代码能正常跑起来,而很多模型给出的答案经常跑不起来,各种报错。


根据我的测试体验,目前 GPT 4o 和 Claude 3.5 Sonnet 在编程方面的能力比较领先,国产的 通义灵码 也不错,但是有时给出的方案还是差强人意,有点路边摊的感觉,输出过多不太重要的东西,沟通效率上差一些,应该还是基础模型的能力不够强。


当下,从效率方面看,使用更好的模型确实可以节约一些时间。


程序员的未来


所有的工作都是基于需求产生的,程序员也不例外。


计算机出现以后,人们需要使用计算机来完成大量繁复的计算任务,随着计算能力的增强和计算范围的拓展,人们又需要使用计算机来运行各种各样的软件程序。但是人和机器打交道特别困难,最开始使用0和1的机器码,这不是一般人能玩的溜的,后来虽然又搞出了各种各样的先进技术和编程语言,但是计算任务的复杂度也进一步提升,对专业人士的需求不减反增,程序员就是这类专业人士。


现在大语言模型来了,AI编程革命愈演愈烈,程序员何去何从?


绝对数量的减少


我们还是从需求出发。


首先假设计算任务的需求并没有明显减少,也没有明显增多,也就是程序的需求没有减少;但是使用AI之后编写程序的效率会提升,也就是说个体生产力会提升;在总体需求不变的情况下,个体生产力的提升就会减少对个体数量的需求。在这个假设中,一些程序员不得不出局。


那么这个假设是否成立呢?


当前国内有一个现象很突出,很多厂子经历了一轮又一轮的裁员,很多同学离职后有很长时间的空窗期,整个社会对程序员的需求明显在减少。但是AI的发展必然又带来新的工作机会,比如提示工程师、模型训练工程师、AI应用开发工程师,如果我们把这些新的岗位也划到程序员的行列,但是它们足以抵消社会对传统程序员的需求减少吗?


我想不能够,因为使用AI的效率更高,则需要人贡献的力量就会更少。也许AI会创造更多的其它工种,但是对以编程为生的程序员的需求一定是减少的。


需求和技术的平衡


随着AI模型能力的持续增强,手写代码的机会越来越少,但是AI的能力长时间内始终有所欠缺,比如:理解用户的需求,在各种技术方案中做出权衡等,而且AI的伦理问题一时半会也很难解决,程序出了问题还要有人来背锅。


所以程序员的大部分工作将是:


理解用户需求,然后让AI实现用户的需求,并对生成的结果进行调整和把关。


理解用户需求:注意这里说的是理解用户需求,而不是理解产品经理给出的产品设计。当下,程序员编写程序本来也是需要理解产品设计的,但是好的程序只是理解了产品经理的输出还是不够的,产品经理的主要问题是缺乏技术的敏感度,这需要程序员来补齐,并在产品中有所体现。而且如果程序员写代码的时间少了,那老板自然不会让你闲着,直接对接用户可能是一个方向。


让AI实现用户的需求:这里关注的是程序员的语言表达能力,你得能把问题说清楚,知道如何与AI进行交互,让AI更好的完成编码工作。这是一项需要重点打造的能力。


对生成的结果进行调整和把关: AI对整体的把握能力仍然十分有限,虽然很多模型都号称支持多少K的上下文,但是真正用于实际的时候还是会丢三拉四,不够可靠。人要来把关的话,对技术的理解仍然十分钟重要,因为人要做决策,什么能做,什么不能做,什么情况适合采用什么样的方案,都要考虑清楚。


现在也有一些公司在做AI程序员,让一帮AI来扮演各种角色,来实现一个软件程序的开发。似乎程序员马上就要失业了,但是对于一个有着几年开发经验的同学来说,应该能够理解:一个包含各种复杂逻辑的业务系统,AI还是很难搞清楚的,短期内也很难代替人来做决策。


总结


AI的引入显著提高了编程效率,使得高质量代码的生成速度大大加快。面对未来,尽管传统编程岗位的需求可能减少,但新的职业机会也在不断涌现,程序员同学们要积极适应变化,充分利用AI的优势,掌握清晰表达需求的能力,了解如何有效沟通以获得最佳的AI输出,同时还要持续提升自身技术素养,以便更好地理解用户需求、指导AI工作及审核最终结果。


作者:萤火架构
来源:juejin.cn/post/7451171562878287909
收起阅读 »

一年多三次考试,总算过了系统架构师

前言 2024/12/27更新:实体证书也出来啦,如下: 2024/12/20更新:电子证书出来啦,如下: 算上这次,我其实已经参加了三次考试,先贴上这三次的成绩,相信大家也能感受到我的心情: 虽然这次总算通过了考试,但看到综合知识的成绩还是心有余悸,由于...
继续阅读 »

前言


2024/12/27更新:实体证书也出来啦,如下:


image.png


2024/12/20更新:电子证书出来啦,如下:


image.png


算上这次,我其实已经参加了三次考试,先贴上这三次的成绩,相信大家也能感受到我的心情:


20241214160256.png虽然这次总算通过了考试,但看到综合知识的成绩还是心有余悸,由于前两次考试的打击(都是差一门案例没有通过,上半年只差了两分),这次考试前只写了两套半的综合知识真题和在考前一天准备了大半天(背论文模板和知识点集锦的 pdf),而综合知识也是自己信心最足的一门,结果这次压线通过,所以还是建议大家只要报名了考试,还是要认真准备,至少把往年综合知识的真题刷一刷,避免最后发现只有综合知识未通过而追悔莫及。


我也在Github上分享了几个我备考用到的文档资料,大家自行取用。


PS:这次考试通过还要感谢我女友的祝福,我们在今年5.23相识(上半年考试前两天,然后考试也是差两分),再加上这次的压线通过,感受到了冥冥之中自有天意(❁´◡`❁)。


考试注意点


从去年下半年开始,软考统一由笔试改为机考,虽然不用再担心写字速度太慢或者不美观导致论文扣分,但要注意的是键盘只能使用考场提供的,因此很多人可能不太习惯。就我这几次的考试经验来说,两个小时写论文还是比较紧凑的,剩余时间都不超过10分钟,还要用这点时间去通读检查一遍论文有没有什么错别字,因此在考前准备一个论文模板还是十分必要的,这样就可以在写模板内容的同时去构思正文,对于时间充分的小伙伴来说,也可以计时去练习写几篇论文。另外需要注意从2024年开始,系统架构师改为一年两考(不通过也可以趁热打铁立刻准备下一次的考试了),上午考综合知识和案例(总共四小时,分别两小时,综合知识写完可提前半小时交卷去写案例),下午考论文(两个小时),考试时间安排如下:


考试时间考试科目
8:30—12:30综合知识、案例分析
14:30—16:30论文

备考经历


第一次(2 ~ 3个月):看完某赛视频全集(无大数据相关)+ 某赛知识点集锦 + 写完历年综合知识真题 + 案例论文对着答案看一遍(写了几道质量属性和数据库相关的案例题)+ 准备并背诵一个论文模板。


第二次(0.5 ~ 1个月):这次将上次的看视频改为了看教材(把考试重点的几个章节内容都混了个眼熟),然后其他准备都差不多,只是准备时间有相应减少。


第三次(1 ~ 2天):两套半综合知识真题 + 大致浏览一遍知识点集锦 + 背诵论文模板。


备考主要有以下注意点:



  1. 视频课不管是哪一家都无所谓,但需要注意架构师考试在22年12月更新了考试大纲,所以需要留意视频的版本不可太老,然后就是不管是在B站、闲鱼还是原价购买都不会有什么差别,只需保证视频内容完整即可。

  2. 各个机构的模拟题不要过多在意,尤其是考纲之外的题目,可作为对个人学习情况的测试。

  3. 近三次的考试由于是机考,只能在网上找到部分回忆版,不再有完整版真题,这个可自行搜索了解。

  4. 如果是第一次备考,建议还是至少 2 ~ 3 个月,除非基础特别好,不然还是建议将视频课看完(至少看完核心内容,计算机基础部分的优先级最低),这样至少可以保证综合知识问问拿下,还有就是真题特别特别特别重要


备考方式


综合知识


就我的经验来讲,我觉得综合知识是最可控的部分,只需将视频课 + 重要知识点集锦 + 历年综合知识真题过一遍,综合知识是完全不需要担心的。还有就是遇到考纲之外的真题,比如今年有一道题是:一项外观设计专利里面相似设计最多有几个,像这种基本无再考可能的题,只需要看到答案后混个眼熟就可以。除此之外还有一部分反复考的知识点:构件、4 + 1视图、ABSD、DSSA、架构评估(质量属性)、系统架构风格、项目时间和成本计算以及软件测试,这些内容需要格外留意,有时间的话,可以把教材上相关知识的内容过一遍。除此之外,一定要记得考试时相信自己的第一感觉,不确定的题目不要修改答案


案例分析


案例分析的题型变化比较大,更考验平时的技术积累,不过第一道必选题近几年都是和质量属性相关(除了23年下半年是大数据),然后就是 Redis 的考频也比较高,近三次考试有两次涉及(以往也有涉及),在24年上半年甚至精确到了命令的考察。此外,近几次案例也都考到了关于技术架构图的填空题,所以建议练习一下往年的相关题型,再到 ProcessOn 之类的平台找几个技术架构图看看。



案例考察的范围比较广,因此建议在高频考点上多加复习和准备。然后遇到不熟悉的知识点也不要慌,更不要空着不写,可以分点试着写一些或者硬凑一些相关的内容,能得一分是一分。如果时间充足,还是建议把往年的案例真题按照时间由近到远认真看一看,即使是一些视频中说的考试概率很低的知识点(Hibernate和设计模式)在前两次的考试和论文中也都有涉及,尤其是项目和技术经验不是那么丰富的小伙伴(比如我自己)需要注意这点。



论文


虽然看到很多小伙伴都说论文难写还会卡分,但因为我三次考试也都只有案例未过,论文虽然分数不高,但也都过了合格线,这里也分享一下我的写作经验。


我觉得写论文只需要记住真实项目 + 技术点讨论 + 论点点题并结合项目分析 + 项目中遇到的问题点这几点即可,即使内容有点流水账也无伤大雅,最重要的是写的让项目看起来真实,是自己做的,除了摘要和开头结尾可以找模板进行参考,正文部分还是需要自己结合论点去写,不能全是理论而没有一点技术点(使用到的各种工具和服务也都可以说,例如代码评审使用和项目管理相关的)的讨论。就以我这次的论文结构为例,首先是摘要部分(250字以内):



​ 2022年12月,我所在公司承接了某区xxx的开发项目。我在该项目中担任系统架构设计师的职务,负责需求分析和系统的架构设计等工作。该项目主要提供xxx、xxx和xxx功能。本文将结合作者的实践,以xxx项目为例,论述xxx在系统开发中的具体应用。在xxx模块使用了xxx,解决了xxx问题。在xxx模块使用了xxx,解决了xxx问题。在xxx模块使用了xxx,解决了xxx问题。实践证明,采用xxx,提升了软件的开发效率和质量。整个项目历时一年多,于今年6月正式上线运行,整个系统运行稳定,达到了预期的目标的要求。



然后是开头和结尾(800字左右):



​ ......。(项目背景,150字左右)


​ 正是在这一背景下,2022年12月,我们公司承接了xxx项目,在本项目中,我担任系统架构师的职务,负责需求分析和系统的架构设计等工作。经过对项目的调研和对用户需求的分析,我们确认了系统应当具有以下功能:xxx,xxx,xxx。基于以上的需求,我们采用xxx解决了xxx问题。(300字左右,这部分介绍功能的部分可以和摘要内容有重合)


​ 经过团队的共同努力,本项目按时交付,于今年6月顺利交付并上线,到目前运行稳定,不管是xxx使用xxx,还是xxx使用xxx都反馈良好。但在实施的过程中也遇到了一些问题,xxx。而如何让xxx更xxx是一项长期的工作,还有很多问题需要在实践中不断探索,在理论中深入研究并加以解决。只有这样,xxx才能不断地优化和发展,xxx。(350字左右)



最后是正文,由于我写的是软件维护(具体包含完善性维护、预防性维护、改正性维护、适应性维护),所以我首先用200 ~ 300字描述了这四种维护的具体含义(可以用自己的语言去描述,不需要和书上完全一致)。然后针对每种维护,再分四段用250 ~ 300字去结合项目和技术点具体去讨论我在每种维护中所做的工作。


当然上面只是我的一些论文写作经验,至少最近三次都是按照这个模板和套路去写,也都通过了。不过大家还是要结合自己的项目去做一些修改,建议多找几个论文综合一下,然后结合自己的语言去写一个属于自己的模板( •̀ ω •́ )✧。


感想


经过这三次的备考和考试经历,我觉得除了一些实力外,运气也占了一部分。就像这次的案例考了我熟悉的也简单的质量属性和 Cache Aside 缓存策略,前两次都有涉及到大数据这个我不熟悉的相关知识,也是我挂在案例的原因之一,所以大家如果考试遇到不熟悉的题或者分数还差一点,不妨再试一两次,相信自己可以的(●'◡'●)。如果大家有什么问题,也可以留言交流讨论。


作者:庄周de蝴蝶
来源:juejin.cn/post/7449570539884265524
收起阅读 »

极狐 GitLab 双重风波,Git 私服该如何选择?

极狐 GitLab 的双重风波 (一)间谍风波 前两天,极狐 GitLab 陷入了员工实名举报公司高管为美国间谍的漩涡之中。这一事件犹如一颗重磅炸弹,在业界引起了轩然大波。尽管目前尚未被实锤,但此消息一经传出,便迅速吸引了众多目光,也让极狐 GitLab 的企...
继续阅读 »

极狐 GitLab 的双重风波


(一)间谍风波


前两天,极狐 GitLab 陷入了员工实名举报公司高管为美国间谍的漩涡之中。这一事件犹如一颗重磅炸弹,在业界引起了轩然大波。尽管目前尚未被实锤,但此消息一经传出,便迅速吸引了众多目光,也让极狐 GitLab 的企业形象蒙上了一层阴影。这一事件不仅引发了内部员工的震动,也使得外界对其公司的信任度产生了动摇,其后续发展仍有待进一步观察。


(二)绝户网计划


就在今天早上,极狐 GitLab 的 “绝户网计划” 也浮出水面。据爆料,极狐 GitLab 要求销售人员在与使用 GitLab CE(社区版)免费版的用户交流时,引导用户明确表达正在使用免费版,并将此作为证据存档,以便未来可能的发函或起诉。 从其告知函来看,极狐 GitLab 强调其核心产品 GitLab 受法律保护,指出用户涉嫌未经授权使用软件,违反相关法律法规。公司内部对此计划也存在分歧,部分销售和技术同事反对,认为这会得罪潜在客户,影响长期生意,但公司高层却决定推行,寄希望于小部分害怕被起诉的用户付费来提升今年业绩。此计划引发了广泛争议,因为 GitLab 的免费版在全球范围内被大量程序员使用,且一直以来被认为是可商用的,这一举措无疑打破了以往的认知,让许多用户感到不满和担忧。



告知函内容如下:



GitLab 替代品分析


巧合的是,前不久我刚好对 GitLab 私服替代品进行了一波调研,同时成功将 GitLab 仓库迁移到新的仓库中,这次正好分享一下替代品的优缺点。


(一)Gitea



  • 优点

    • 轻量级:资源占用较低,对于硬件配置要求不高,适合小型团队或个人开发者在有限资源环境下搭建 Git 私服。

    • 功能较为完善:能够满足基本的代码托管、版本控制、分支管理等常见需求,支持多种主流操作系统的部署。

    • 社区活跃:有大量的开发者参与社区贡献,遇到问题时能够在社区中较快地获取解决方案和技术支持。



  • 缺点

    • 在大规模团队协作和复杂项目管理场景下,一些高级功能可能相对薄弱,例如在代码审查流程的精细化管理方面不如一些大型商业 Git 工具。

    • 与一些大型企业级工具相比,其集成能力可能稍逊一筹,在与其他企业内部系统如 CI/CD 平台、项目管理软件等的深度整合上存在一定局限性。

    • Gitea 的域名和商标在社区不知情、未经社区批准的情况下被转让给一家营利性公司,有一定开源风险。




(二)Gogs



  • 优点

    • 易于安装和使用:安装过程简单,即使是技术基础相对薄弱的用户也能快速上手搭建自己的 Git 私服。

    • 性能表现不错:在处理中等规模的代码仓库和团队协作时,能够保持较为稳定的运行速度和响应效率。

    • 界面简洁:对于注重简洁操作界面的用户来说,Gogs 的界面设计较为友好,易于操作和管理。



  • 缺点

    • 功能扩展性相对有限:虽然基本功能齐全,但在面对一些特殊需求或新兴技术场景时,可能难以通过插件或扩展机制快速实现功能增强。

    • 社区规模和活跃度不如一些头部的 Git 工具,这可能导致在长期发展过程中,功能更新和问题修复的速度相对较慢。




(三)OneDev



  • 优点

    • 强大的项目管理功能:除了基本的 Git 代码托管功能外,OneDev 在项目管理方面表现出色,提供了丰富的项目进度跟踪、任务分配、团队协作等功能,适合以项目为导向的团队使用。

    • 支持多语言:能够很好地适应不同语言环境下的开发团队需求,方便国际化团队协作。

    • 可定制性强:用户可以根据自己团队的特定需求,对 OneDev 的功能和界面进行一定程度的定制,以提高工作效率。



  • 缺点

    • 学习成本相对较高:由于其功能丰富且较为复杂,新用户需要花费一定时间来熟悉和掌握其操作流程和功能配置。

    • 部署相对复杂:相比一些轻量级的 Git 私服工具,OneDev 的部署过程需要更多的配置和环境依赖,对于运维人员的技术要求较高。




(四)GitBucket



  • 优点

    • 与 GitHub 风格相似:对于熟悉 GitHub 操作的用户来说,GitBucket 的界面和操作方式具有较高的相似度,降低了用户的迁移成本。

    • 支持多种数据库:可以灵活选择数据库类型,如 MySQL、PostgreSQL 等,方便根据现有技术架构进行整合。

    • 插件丰富:提供了大量的插件来扩展其功能,例如代码质量检测、代码统计等插件,能够满足不同团队的多样化需求。



  • 缺点

    • 性能优化方面可能存在不足:在处理大规模代码库和高并发请求时,可能会出现性能瓶颈,需要进行额外的性能调优工作。

    • 社区文档相对不够完善:在一些复杂功能的使用和问题排查上,由于社区文档的不全面,可能会给用户带来一定困扰。




(五)Gitblit



  • 优点

    • 专注于 Git 核心功能:对 Git 的核心功能支持得非常稳定和高效,如代码托管、分支管理、权限管理等,适合那些只需要基本 Git 功能且追求稳定性的团队。

    • 轻量级且资源占用少:在硬件资源有限的情况下,能够稳定运行,不会对服务器资源造成过大压力。

    • 安全性能较高:提供了较为完善的权限管理和安全机制,能够有效保护代码仓库的安全。



  • 缺点

    • 功能相对单一:缺乏一些现代 Git 工具所具备的高级项目管理和团队协作功能,如敏捷项目管理工具集成等。

    • 用户界面相对简陋:在美观度和交互体验上不如一些新兴的 Git 私服工具,可能会影响用户的使用感受。




Forgejo 的选择理由


经过个人调研和综合考量,最终选择了 Forgejo 替代 GitLab。Forgejo 是 Gitea 的一个硬分叉,它继承了 Gitea 的所有优点,如轻量级、功能完善、社区活跃等。同时,Forgejo 还具有自身独特的优势,其界面美观,给用户带来了良好的视觉体验;部署简单,降低了迁移成本和技术门槛,即使是非专业运维人员也能轻松上手;加载速度快,能够提高团队成员的工作效率,减少等待时间。


在迁移项目时,可以参考我之前写的迁移教程:



综上所述,个人认为 Forgejo 在应对极狐 GitLab 近期风波所带来的不确定性时,是一个较为理想的 Git 私服替代品。


相关资料



作者:子洋
来源:juejin.cn/post/7446578471901626420
收起阅读 »

雷军又添一员猛将!!

就在刚过去的十一月,小米又搞了一项大动作,那就是: 小米成立了「AI平台部」,同时也进行了一系列相关的人事变动。 这个消息最先由雷峰网披露,后来在业内也引发了广泛关注和热议。 从部门层级关系上来说,那这次的新「AI平台部」是由小米「基础技术平台部」成立,而「...
继续阅读 »

就在刚过去的十一月,小米又搞了一项大动作,那就是:


小米成立了「AI平台部」,同时也进行了一系列相关的人事变动。


这个消息最先由雷峰网披露,后来在业内也引发了广泛关注和热议。



从部门层级关系上来说,那这次的新「AI平台部」是由小米「基础技术平台部」成立,而「基础技术平台部」在组织上则隶属于「小米技术委员会」。


而担任此次小米AI平台部负责人的则是业内大名鼎鼎的技术大牛:张铎



如此一来,如网友们所言,雷总又添一员猛将



提到张铎,应该不少从事大数据或者云计算相关的同学会比较熟悉,同时他也从事过多年的开源工作。


其实这次并不是张铎第一次入职小米,他与小米之间的渊源甚至可以说颇深。


早在2016年~2021年,其实张铎就曾经在小米待过5年,在职期间负责小米开源工作的规划与推进,并参与过小米多个核心项目的建设。


那时候的张铎就已经是 Apache HBase 项目的 Committer,而且也是国内第一位 HBase 的 PMC Member,后来一直升到 HBase 项目 PMC 主席。



在 HBase 项目中,他的贡献数量在全球排名前列,为 HBase 社区的发展做出过巨大贡献。


2018年,张铎在 Apache 软件基金会旗下近7000个 Committer 中,总贡献数排到了全球第3。


因此,雷军还曾亲口称赞其为:大神



2021年,张铎从工作了5年的小米公司离职,为此他还在知乎上专门发过一篇帖子来记录关于从小米离职的一些复盘。


从小米离职之后,张铎选择了加入神策数据,这是一家大数据分析和营销科技服务提供商。


在神策数据工作期间,张铎担任基础研发部负责人和首席架构师,主要负责整个基础研发部的管理和技术选型。


直到今年9月,张铎在朋友圈又晒出了自己“新员工”的身份。



至此,张铎再次宣布回归小米。


大家都知道,小米这个公司以产品见长。


提到小米产品,大家基本上都耳熟能详。从智能手机到影音数码,从家电生活到智能家居,另外各种软件、平台、云服务、OS等都在持续发力,包括现在又在全速力推新能源智能汽车,软硬件产品线可以说覆盖得非常广泛。



但是说到小米技术,大家反而可能没有什么特别深的印象。


不过提到小米技术,就不得不提:小米集团技术委员会,其诞生于2019年初。


当时的2018年Q4季度,国内智能手机市场前五曾分别为:华为、OPPO、VIVO、苹果、小米。



其中前三家国产手机厂商出货量增幅均位正增长,而排名第5的小米则出现了较大跌幅。


彼时的雷军开始在内部会议中强调的一件事情就是:技术事关小米生死存亡


不久后的2019年2月,小米就专门成立了集团技术委员会,主要负责把握集团的技术方向,预研前沿技术,以及推动技术创新和成果转化。


小米技术委员会在小米的科技创新和产品研发中扮演着重要的角色,而首任挂帅的正是小米的技术大牛:崔宝秋


而聊起小米的技术研发,他是绕不开的人。



崔宝秋和雷军都是武汉大学计算机系的同学,据说还是同寝室室友。


在加入小米之前,崔宝秋曾在IBM、雅虎和LinkedIn等知名公司负责研发,积累了丰富的技术和管理经验。


2012年,他应雷军之邀回国加入小米,成为小米首席架构师。



提到崔宝秋,有网友称其为“小米的技术教父”。


确实,崔宝秋在小米期间担任过多个重要职务,包括首席架构师、人工智能与云平台副总裁、集团技术委员会主席和集团学习发展部总经理等。


除此之外,他在小米期间还主导了“云计算-大数据-人工智能”的技术变革主线,为小米的技术发展做出了重要贡献。


然而,根据小米发布的内部全员信,崔宝秋2022年底从小米离职,至此也结束了这段长达十年的在小米的职业生涯。


而这十年,也是小米这家公司从蓄力到发展,从厚积到薄发的十年。



包括这次小米成立AI平台部的消息一出,大家都在猜测,看来小米在人工智能方向要搞大动作了?


不管怎么样,作为一个家里大小电器基本都来自于小米的用户,还是期待小米后续有更多的发展,同时带来更多感动人心的产品和体验。



注:本文在GitHub开源仓库「编程之路」 github.com/rd2coding/R… 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。



作者:CodeSheep
来源:juejin.cn/post/7444504964511350784
收起阅读 »

我这🤡般的7年开发生涯

前两天线上出了个漏洞,导致线上业务被薅了 2w 多块钱。几天晚上没咋睡,问 ChatGPT,查了几晚资料,复盘工作这么久来犯下的错误。 我在公司做的大部分是探索性、创新性的需求,行内人都知道这些活都是那种脏活累活,需求变化大,经常一句话;需求功能多,看着简单...
继续阅读 »

前两天线上出了个漏洞,导致线上业务被薅了 2w 多块钱。几天晚上没咋睡,问 ChatGPT,查了几晚资料,复盘工作这么久来犯下的错误。



我在公司做的大部分是探索性、创新性的需求,行内人都知道这些活都是那种脏活累活,需求变化大,经常一句话;需求功能多,看着简单一细想全是漏洞;需求又紧急,今天不上线业务就要没。


所以第一个建议就是大家远离这些需求,否则你会和我一样变得不幸。


但是👴🐂🍺啊,接下来也就算了,还全干完了。正常评估一个月的需求,我 tm 半个月干完上线;你给我一句话,我干完一整条链路上的事;你说必须今天上线,那就加班加点干上线。


就这样干了几年,黄了很多,也有做起来的。但是不管业务怎么发展,这样做时间长了会出现很多致命问题。


开发忙成狗


一句话需求太多,到最后只有开发最了解业务,所有人所有事都来找开发,开发也是人,开发还要写代码呢。最先遇到的问题就是时间严重不够,产品跟个摆设一样,什么忙都帮不上,我成了产品开发结合体。


bug 来了


开发一忙,节奏就乱了,乱则生 bug,再加上原本需求上逻辑不完整的深坑,坑上叠坑,出 bug 是迟早的事。


形象崩塌


一旦出现 bug,人设就毁了。记住一句话,没人会感谢你把原本一个月的需求只用半个月上线,大家都觉得这玩意本来就半个月工时。慢慢的开始以半个月的工时要求你。


那些 bug 自己回头,慢慢做都是可以避免的,就像考试的时候做完了卷子复查一遍,很多问题回头看一下都能发现,结果因为前期赶工,没时间回看,而且有很多图快的写法,后期都是容易出问题的。


形象崩塌在职场中是最恐怖的,正所谓好事不出门,坏事传千里。


一旦出了问题,团队、领导、所有人对你的体感,那都是直线下降,你之前做的所有好事,就跟消失了一样,别人对你的印象,一提起来说的都是,这不是当时写出 xxx bug 的人吗?这还怎么在职场生存?脸都没了,项目好处也跟自己没关系了。


我 tm 真是愣头青啊蠢的💊💩,从入职开始都想的是多学点多干点,结果干的越多错的越多,现在心态干崩了,身体干垮了,钱还没混子多,还背了一身骂名和黑锅。


之前我看同事写代码贼慢,鼠标点来点去,打字也慢一拍,我忍不住说他你这写代码速度太慢了,可以用 xxx 快捷键等等,现在回想起来,我说他不懂代码,其实是我不懂职场。


我真是个纯纯的可悲🤡。


提桶跑路


bug 积累到一定程度,尤其是像我这样出现点资金的问题,那也差不多离走人不远了,我感觉我快到这个阶段了,即使不走,扣钱扣绩效也是在所难免的,综合算下来,还没那些混子赚的多。


我亲自接触的联调一哥们儿,一杯茶,一包烟,一个 bug 修一天。是真真正正的修了一天,从早到晚。那天我要上线那个需求,我不停的催他,后来指着代码说着逻辑让他写,最终半夜转点上线。我累的半死不活,我工资和他差不多,出了问题我还要背锅。


我现在听到 bug 都 PTSD 了,尤其是资金相关的,整个人就那种呆住,大脑空白,心脏像被揪住,我怀疑我有点心理问题了都。


为什么别人可以那么安心的摸鱼?为什么我要如此累死累活还不讨好?我分析出几点我的性格问题。


责任心过强


什么事都觉得跟自己有关系,看着别人做的不好,我就自己上手。


到后期产品真 tm 一句话啊,逻辑也不想,全等着我出开发方案,产品流程图,我再告诉她哪里要改动。不是哥们?合着我自己给出需求文档再自己写代码?


为人老实


不懂拒绝,不懂叫板。


运营的需求,来什么做什么,说什么时候上线就什么时候上线。不是哥们?我都还不知道要做什么,你们把上线时间都定了?就 tm 两字,卑微。


用力过猛


十分力恨不得使出十一分,再加一分吃奶的劲儿。一开始就领导很高的期望,后面活越来越多,而且也没什么晋升机会了,一来的门槛就太高了知道吧,再想提升就很难了。


先总结这么多吧,我现在心情激荡的很,希望给各位和我性格差不多一点提醒,别像我这样愣头青,吃力不讨好,还要遭人骂。后面再写写改进办法。


作者:小兵张健
来源:juejin.cn/post/7450047052804161576
收起阅读 »

记一次让我压力大到失控的 bug

事情经过 前两天线上发生了结算的漏洞,这里的代码是我写的,出问题的时候是周日晚上,那天大领导打电话过来问我具体的损失情况。 最后查出来是有两个人逮到了系统漏洞,一共 87 笔订单出现了多结算的问题,薅了大概 2.6 w,有个人当时已经跑了,还有个账户里面只有几...
继续阅读 »

事情经过


前两天线上发生了结算的漏洞,这里的代码是我写的,出问题的时候是周日晚上,那天大领导打电话过来问我具体的损失情况。


最后查出来是有两个人逮到了系统漏洞,一共 87 笔订单出现了多结算的问题,薅了大概 2.6 w,有个人当时已经跑了,还有个账户里面只有几百块钱。


发现问题后紧急停止提现,其他的明天上班再处理。


但我当晚已经无法入睡了,压力非常非常大。


普通开发和项目负责人最大的区别,可能是后者要承担风险和责任,但这个项目就我一个开发,我要同时兼顾两种角色。


周一早上去上班,前一天晚上也没睡,精神状态可想而知,浑浑噩噩的,先把问题和场景分析清楚,最终发现是用户在加价的时候回写了订单状态,导致重复结算。紧急加上各种校验,然后把所有相关的接口全部加强校验。


代码还没写完,就被拉去会议室开批斗会了,直属领导和大领导怼着我一顿骂,诸如什么高级开发、别人犯这种错误早滚蛋了,我还不识趣的解释了下具体原因,结果被骂的更凶了。


所以记住了,以后犯错了被骂,不要说为什么出错,只要认错,再加上解决时间。


心态更差了,压力可想而知,花了一天干到凌晨,修复上线。


结果过了几天,又出现重复问题了。


仔细一看真是倒了血霉,底层架构分布式锁写的有问题,没锁住请求,在 finally 用了 redission 的 forceunlock,导致并发场景下当前线程的锁被别的线程释放了。


然后就有了第二次批斗会,这次简短扼要得多,大致就说了两句,今天必须修复完成,再出问题自己提离职申请。


回到工位先修好了分布式锁,又在资金流水加了道数据库锁。又是干到凌晨,加上中间还有个比较紧急的需求,有几次干到了凌晨一两天。


到今天事情过去了快一周。


回想那几天的经历,晚上基本上没睡觉,压力非常大,到凌晨三四点都是常态,对身体和精神都是非常强烈的折磨,辞职的念头此起彼伏。对 bug 也有了 PTSD。


昨天晚上商务同事告诉我已经追回了 1.5w,预计可以追回 2.4w,后面的分批追回。


真心感谢商务同事,也给别人造成了不少麻烦。


心理感悟


不知道你如果遇到我经历的情况有什么感受。希望你不要有我这么大的压力。不过这次压力也让我更深刻的体会到了一些事。


就一份工作而已


就一份工作而已,大不了辞职不干了嘛,不要给自己那么大的压力,压垮了身体,公司也不会负责,受伤的还是自己。


人得自私一点,多为自己想想,少点集体荣誉感责任心什么的,任何一份工作都是自己成长的垫脚石。


要成为工作的主人,不要反被工作拿捏了。


我之前觉得公司给我工资了,我得好好为它卖命。


现在看看自己这些年写的系统,今年已经给公司创造了 600w+ 的GMV,尽管还有其他商务、运营同事共同点功劳,但我的工资是远远远远不及这个的,从这个角度看,公司应该感谢我这么多年辛苦工作。


最重要永远是身体、亲人和朋友


人生说长不长,说短不短。大家都是几十年时间,身外之物,生不带来,死不带走。


自己的身体健康才是最重要的,不要等身体垮了再追悔莫及,很多健康问题是无法恢复只能缓解的,医学没我们想的那么发达。


其次是家人、伴侣、朋友。想想自己出生和去世的时候,身边会有哪些人?这时候工作在哪里呢?


我以前对家人很不耐烦,现在我对他们有耐心了很多,连老婆都觉得我 “好欺负” 了哈哈哈,或许说再多都不会有用,直到自己刻骨铭心的经历一波。


业务、公司、地球没了你照样转,但是亲人、爱人、朋友没了你,他们会很伤心。


心态非常重要


出天大的 bug,业务也不会凉,公司也不会倒闭,天也不会塌,地球不会停止自转,太阳不会熄灭,更重要的是,写 bug 的人不会死。


极大的压力、焦虑并不会让我把事情做的更好,像我这种搞的几晚上睡不了的人,再去修 bug,效率真不如美美睡一觉再去。


现在回过头看,自己那么大压力完全是自己给的,像是自残。人得对自己好一点,不要给自己那么大的压力。


还有领导说的什么自己提离职、这么低级的错误等等骂人的话,别太往心里去,他也是气头上找个东西宣泄下,或者是想告诉你这很重要必须搞好,这是一种情绪的表达。


你别管他说什么,你现在就是他的出气筒,等他骂完你只要表达你必须解决点问题的态度和解决的时间点就行了。


给他点情绪价值。领导也有更大的领导要汇报内容,到时候指不定他被骂的更凶呢哈哈。


付出行动


纠正完认知和心态,还是要回归到行动上,如何避免类似的情况再发生,从失败中学习。


像这次结算出问题后,我真正理解了结算所涉及的各种细节和要点,以后再写的任何项目,结算都不可能再出问题了。


感兴趣的同学可以翻翻我前两篇动态,有关于结算系统设计的文档,后面我还会模拟订单场景,结合建表语句做个详细的结算架构设计。


对我来说,事情解决才会让我安心。


就像我必须把系统里涉及结算的场景、代码重新梳理清楚,搞明白了,保证下次不可能再出问题了,我才会真正的没有压力。


我希望你知道这很重要,只是把心态调整好而不去真正的解决问题,下次还是会出问题,甚至会有不知道什么时候会出问题的恐惧。


解决问题需要付出精力和行动,这可能更难,但这才是人成长和进步的原因。


加油,共勉。


作者:小兵张健
来源:juejin.cn/post/7450700990389305396
收起阅读 »

8年前端,那就聊聊被裁的感悟吧!!

前端开发,8年工作经验,一共呆了2家公司,一个是做积分兑换的广告公司。这是一个让我成长并快乐的公司,并不是因为公司多好,而是遇到了一群快乐的朋友,直到现在还依旧联系着。 另一家是做电子签名的独角兽,我人生的至暗时刻就是在这里这里并不是说公司特别不好,而是自己的...
继续阅读 »

前端开发,8年工作经验,一共呆了2家公司,一个是做积分兑换的广告公司。这是一个让我成长并快乐的公司,并不是因为公司多好,而是遇到了一群快乐的朋友,直到现在还依旧联系着。
另一家是做电子签名的独角兽,我人生的至暗时刻就是在这里这里并不是说公司特别不好,而是自己的际遇


我的经历


第一家公司


第一家公司说来也巧,本来是准备入职一家外包的,在杭州和同学吃个饭,接到了面试通知,一看地址就在楼上,上去一共就3轮面试,不到2个小时直接给了offer。有些东西真的就是命中注定


第二家公司


第二家公司我入职以后挖了上家公司诸多墙角,我一共挖了6个前端,2个后端。拯救朋友们于水深火热之中。





我本以为我能开启美好的新生活,结果第二年就传来我父亲重病的噩耗 肺癌晚期,我学习了大量的肺癌知识什么小细胞,非小细胞,基因检测呀等等。。。





可是最后还是没有挽留住他的生命,我记得我俩在最后一次去武汉的时候,睡在一起,他给我说了很多。


他说:治不好就算了,只是没能看到自己的孙子有些可惜罢了。

他说:我这一辈碌碌无为,没给你带来多么优越的条件,结婚、买房、工作都没给到任何帮助,唯一让我感到欣慰的是你那么努力,比我强多了,家里邻居很多都眼馋你呢。
他说:你小孩的名字想好了吗?你媳妇真是个孝顺的孩子,性格也好,心地善良,你要好好对待她。

他说了很多。。。我都快忘了他说了啥了,我不想忘来着,可是可是,想起来就又好难过。


这只是我人生历程的一部分,我把这些讲出来,是为了让大家明白,你现在所经历的困苦其实没有那么严重,人在逆境之中会放大自己的困难,以博得同情。所以现在很多人给我倒苦水的时候,我总有点不屑一顾的感觉,并不是我有多强,我只是觉得都能过去。


在灰暗的时候,工作总是心不在焉,情绪莫名冲动,我和领导吵过架,和ui妹妹撕破脸,导致人家天天投诉我。我leader说我态度极其嚣张,我说你再多说一句,我干死你所以不裁我裁谁


我的人生感悟


我时常以我爸的角度换位思考,我在得知这个消息后我该咋办?是积极面对,还是放弃治疗?可是所有的都是在假设的前提之下,一切不可为真。只有在其中的才最能明白其中的感受。
那一年我看着他积极想活着的毅力,也看到了他身体日渐消瘦的无奈,无奈之余还要应付各种亲戚的嘘寒问暖


我现在很能明白《天道》中那段,丁元英说的如果为了孝顺的名声,让父亲痛苦没有尊严地活着,还不如让父亲走了。 的意思了。在他昏迷不醒的时候,大小便失禁的时候,真不如有尊严的走了。


我其实已经预感到自己要被裁,我原本是挺担心的,可是后来想想父亲的话,我总结成一句话圆滑对事,诚以待人。 这句话看上去前后矛盾,无外乎俩个观点。


圆滑对事的意思是:就是要学会嘴甜,事嘛能少干就少干,能干几分是几分,累的是别人,爽的是自己,在规则中寻求最大的自我利益化。


诚以待人的意思是:圆滑归圆滑,不能对谁都圆滑,你得有把事情办的很好的能力,你需要给真正需要的人创造价值,而不是为了给压榨者提供以自我健康为代价的价值。



用现在最流行的词来说就是「佛系」。


什么叫活明白了,通常被理解为不争不抢,得之淡然、失之泰然、顺其自然的一种心理状态。


活明白的人一般知道自己要什么样的生活,他们不世故、不圆滑,坦荡的、磊落的做自己应该做的事儿。他们与社会上潜规则里的不良之风格格不入,却不相互抵触,甚至受到局中人的青睐与欣赏。


活明白的人看着更为洒脱,得不张扬,失不气馁,心态随和、随遇而安。


不过,还有一种活明白的人,不被多数人所接受。他们玩世不恭、好吃懒做,把所有一切交给命运去背锅。这种人极度自我,没有什么可以超越他自己的利益,无法想象这种活法,简直就是在浪费六道轮回的名额。


总之,有的人活明白了,是调整自己的心态,维护社会的稳定和安宁。有的人活明白了,是以自我为中心,一边依赖着社会救济,一边责备社会龌蹉。


所以,活明白的人也分善与恶,同样是一种积极向善,另一种是消极向恶,二者同出而异名。



我对生活的态度


离职的第一个月,便独自一人去了南京,杭州,长沙,武汉,孝感。我见了很多老朋友,听听他们发发牢骚,然后找一些小众的景点完成探险。


在南京看了看中医,在杭州露营看了看日落,在长沙夜爬了岳麓山,在武汉坐了超级大摆锤,在孝感去了无名矿坑并在一个奶奶家蹭了中午饭。


我的感受极其良好,我体验了前所未有生活态度,我热情待人,嘻嘻笑笑,我站在山顶敞怀吹风,在无尽的树林中悠然自得,治愈我不少的失落情绪。我将继续为生活的不易奔波,也将继续热爱生活,还会心怀感恩对待他人,也会圆滑处事 事事佛系。


背景1.png


图层 1.png


IMG_6214.JPG


IMG_6198.JPG


IMG_6279.JPG


可能能解决你的问题


要不要和家里人说


我屏蔽了家里人,把负面情绪隐藏,避免波及母亲本就脆弱的内心世界,我还骗她说公司今年不挣钱,提前让我们放假,只给基础工资。如果你家境殷实,家庭和睦,我建议大方的说,这样你和父母又多了一个可以聊的话题,不妨和他们多多交流,耐心一些。


裁员,真不是你的问题


请记住,你没有任何问题,你被裁员是公司的损失,你不需要为此担责,你需要做的是让自己更强,不管是心理、身体还是技术,你得让自己变得精彩,别虚度了这如花般的时光。可能你懒,可能也没什么规划,那就想到啥就做啥好了,可能前几次需要鼓足干劲,后面就会发现轻而易举。


如何度过很丧的阶段


沮丧需要一个发泄的出口,可以保持运动习惯,比如日常爬楼梯、跑步等,一场大汗淋漓后,又是一个打满鸡血积极向上的你。

不要总在家待着,要想办法出门,多建立与社会的联系,多和朋友吹吹牛逼,别把脸面看的那么重要,死皮赖脸反而是一种讨人喜欢的性格。



不管环境怎样,希望你始终向前,披荆斩棘

如果你也正在经历这个阶段,希望你放平心态,积极应对

如果你也在人生的至暗时刻,也请不要彷徨,时间总会治愈一切

不妨试试大胆一点,生活给的惊喜也同样不少

我在一个冬天的夜晚写着文字,希望能对你有些帮助



进群聊:技术、段子我都有





群已满,请加15757172732入群


作者:顾昂_
来源:juejin.cn/post/7331657679012380722
收起阅读 »

准备离开杭州

上个月的时候,我被公司裁掉了,陆陆续续找了 1 个月的工作,没有拿到 1 份 Offer,从网上看着各式各样的消息和自己的亲身体会,原来对于像我这样的普通打工族,找工作是如此的难。我相信,任何时候只要实力强,都能有满意的工作,但我不知道,能达到那样的水平还需要...
继续阅读 »

上个月的时候,我被公司裁掉了,陆陆续续找了 1 个月的工作,没有拿到 1 份 Offer,从网上看着各式各样的消息和自己的亲身体会,原来对于像我这样的普通打工族,找工作是如此的难。我相信,任何时候只要实力强,都能有满意的工作,但我不知道,能达到那样的水平还需要多久。


本人是前端,工作 6 年,期间经历过 4 家公司,前两份是外包,后面两份都是领大礼包走的,回想起来,职业生涯也是够惨的。虽然说惨,但是最近领的这一份大礼包个人认为还是值得,工作很难待下去,也没有任何成长,继续待着也是慢性死亡。


这几天我每天都会在 BOSS 上面投十几家公司,能回复非常少,邀请面试的就更少了。外包公司倒是挺多的,而我是从那个火坑里出来的,是不会选择再进去的。于是,我需要做好打持久战的准备,说不定不做程序员了。


我的房子 7 月底就要到期了,我必须要马上做决定,杭州的行情对我来说很不友好,短期内我大概率找不到工作。基于对未来的悲观考虑,我不想把过多的钱花费在房租上面,所以希望就近找一个三线城市,我搜了一下嘉兴,整租 95 平左右的房子只需要 1200 块钱,还是民用水电,思前想后,打算移居到那里嘉兴去。


一方面,我想尝试一下在三线城市生活是一种什么感觉。另一方面,这可以省钱,如果一个月的房租是 1000,民用水电,一个月的开销只要 2500 块。我搜索了一下货拉拉,从我的位置运到嘉兴,需要花费 600 块钱,这个价格也是可以接受的。思考了这些,我觉得是时候离开待了 5 年的杭州。


未来要到哪里去呢,目前可能的选择是上海。我还得想想未来能做什么,我想学一门手艺傍身,比如修理电器、炒菜。毕竟骑手行业太拥挤了,估计也不是长久之计。


房租降下来了,等我把行李都安置妥当,我打算回老家待一段时间。自从上大学以来,很少有长时间待在家里的时候,眼看父母年纪也越来越大了,很想多陪陪他们。如果进入正常的工作节奏,想做到这样还是会受到局限,这次也算是一个弥补的机会。


被裁也是一件好事,可以让我提前考虑一下未来的出路。


这段时间我想把时间用来专门学英语,再自己做几个项目,学英语的目的是为了 35 岁之后做打算,做项目是为了写到简历上面,并且个人觉得自己需要多做一个项目,这样自己才能成长到下一个级别。虽然不知道收益怎么样,但是我想尝试一下。人还活着,有精力,就还是瞎折腾一下。


离职没敢和家里说,说了估计要担心死了,反正是年轻人,有事就先自己扛一扛,我前几天把我的行李寄回去了一批,我妈问我,怎么,寄东西回来了?我回答说要搬家了。本来也想找机会开口说自己离职了,她说,这次搬家也别离公司远了,我也把话憋了进去,只好说“没事的,放心就行”。我自己没觉得离职有什么,正常的起起落落,只是觉得父母可能会过度的担心。


如果做最坏的打算,那就是回去种地,应该这几年还饿不死。有还没离职的同学,建议还是继续苟着。希望社会的低谷期早点过去,希望我们都能有美好的未来。




作者:mysteryven
来源:juejin.cn/post/7395523104743178279
收起阅读 »

8年老前端开发,成仙路已断

前言 到今年,我已经写了8年代码。在这段时间里,我的职业生涯一直处于不上不下的状态。尽管在二线城市的薪资看起来还不错,但我早就明白,这行不过是用青春换取血汗钱。从疫情开始,我内心变得愈发焦躁不安,尤其是今年,心态更加低迷。无论是职场上的无尽业务,还是长期的工作...
继续阅读 »

前言


到今年,我已经写了8年代码。在这段时间里,我的职业生涯一直处于不上不下的状态。尽管在二线城市的薪资看起来还不错,但我早就明白,这行不过是用青春换取血汗钱。从疫情开始,我内心变得愈发焦躁不安,尤其是今年,心态更加低迷。无论是职场上的无尽业务,还是长期的工作倦怠,都在促使我做出改变的决定。


最终,在三月底,我主动离职了(没错,在最艰难的时刻做出了这个决定)。从那时起,这三个多月来,我一直在思考和寻求变化。转眼间,已经到了七月底。虽然这段时间收入不如上班时稳定,但我的状态却越来越好。


简单回顾下个人开发经历


本人是双非辣鸡学校毕业。


2016年 初开始入行前端开发,那时候还处在前后端不分离的时代,开始主要是写 JSP,主要以原生JS和JQ为主,那时候前端主要是司职辅助功能,事情也比较少,相对比较轻松。


2017年 开始前后端分离大行其道,也开始用“所谓”的现代化前端框架,那时候主要是用react全家桶,当时觉得,卧槽,这TM比一个个操作dom节点确实方便不少,最关键的是webpack之流的工具让前端开发更加成体系,不像以前是寄生在jsp里面了,工程化更明显了,当时,前端真正独立成了一个岗位,不再是纯辅助,而是研发流程的重要一环。


2018年 一整年都在用RN开发APP,第一次接触移动端开发,RN是我一生的噩梦,以至于后面我看到跨平台的东西做复杂应用就谨慎的很,当时还是0.5x的时代,各种安卓、ios端的BUG。我记得RN官网写的slogan一次编写,多端运行,后面可能是投诉太多了,官网后面好像改成还是需要原生安卓/ios知识了。我记得那时候做一个IM应用,长列表白屏,realm数据库大量消息写入卡顿,各种原生不兼容,我都不记得晚上花了多少时间在github的issue上找兼容方案和各种hack了。再加上当时五大厂商各种魔改安卓,华为刚刚切换鸿蒙系统(就这么巧),无尽的debuff(现在想想当初直接学原生梭哈更好,泪水不争气的落下)


2019年 开始用vue开发web,比起react,更多的语法糖,当时觉得slot插槽这种封组件的方法确实要更方便。后面接私单果断vue梭哈,做公司产品还是react,毕竟没有slot给队友乱用


2020年-至今 从疫情开始整个职业规划紊乱。一开始为了更具竞争力,开始往全栈方向发展,努力自学node.js/koa ,开始用公司的几个小型产品实践,当时一度以为自己全栈,后面才知道我这叫全不占工程师。后面又因为公司业务需求,又开始用electron开发桌面应用,用uniapp开发多端小程序,用python套壳gpt的api(有了后面的经历,我才知道不是巨复杂的应用跨平台的坑也还行),并且机缘巧合之下,还有了机会用laya引擎开发微信小游戏。直至最后,彻底成为全不栈工程师,纯纯牛马。


总结职业生涯 没什么规划,跟着公司的业务随波逐流,属于先知后觉,觉醒了又不够决心,总是想着现在行情不好,实在不行再攒一点钱,然后就一直蹉跎到了2024年,一事无成。


我的反思



既然已经这样了,只能自救了,不然咋办呢哈哈哈哈



1、定位问题



  1. 离开了公司无法生存,没法形成独立生产单元

  2. 学历、年纪、技术都不占优势

  3. 行业环境急剧恶化,现在长沙公司基本都是大小周或者单休,属于买方市场,并且加班严重


2、分析原因


说白了,核心原因就几个:



  1. 程序员不能形成独立生产单元,寄生于公司,也没有机会了解整个商品从规划到收款的全生命周期

  2. 可替代性高,开源生态太强,且总有更厉害的人,总有学历更好的人,怎么卷最终都会失败

  3. 自身可出售的商品只有时间一项,缺少其他收入


image.png


3、解决方案


3.1、最优解



  1. 开发独立产品,这是每一个程序员的梦想,却也是最难得路,属于是下限低,上限高。

  2. 卖课,也就是所谓的知识付费,现在卖课的平台很多,但是需要人设、背景和标签,还需要运营推广,属于极稳的做法。

  3. 找个一辈子的养老公司,不是没有,只是不好进,我上次还看见图书馆和纪念馆招人,只是有编制很难。


3.2、临时解



  1. 接外包,我现在也在接,个中滋味,只能说懂的都懂。

  2. 找个班上,如果实在缺钱或者不知道做什么,也可以先干着。

  3. 技术顾问,不同于外包,就是靠着一点经验解决点冷门问题。


3.3、风险解



  1. 开店,重投入,不成功便成仁,需要梭哈。

  2. 出海,去日本、东南亚、甚至是更远的地方,写代码也好,干其他的也好,需要勇气。

  3. 开公司,只要有业务,就能苟活,问题是怎么有业务,需要资源。


4、我的解题思路



  1. 做自己的独立产品,以尝试的心态,,将自己内心的idea实现,切勿抱着什么多少爆款的思路,多学习别的独立开发者好的思路和见解。做了就上线,反复试错。

  2. 关于上班,现在很少有什么新公司,新产品出现,都是旧项目在维护,成仙路已断,注定走不了了。现在基本只接外包单子,上班继续做web是不可能了。

  3. 关于小游戏开发,参照发达国家的经验,可以一直做下去,创意类很难被替代。并且不像web,这行业的经验不怎么共享,开源代码也少,这是良性生态,由于岗位少,对于职场不友好,但是对于个人开发很不错。做了就上线,反复试错。

  4. 关于转行,盲目转行不可取,大环境下都是大哥笑二哥。

  5. 关于技术自媒体,不给自己设限,也可以去做做。


我这3个月做了什么


今年4月迷茫了半个月,然后躺平了半个月,真的好开心。


今年5月上半个月学习开传奇私服,然后去自驾去青海湖玩了半个月,真的好开心。


今年6月



  • 做了一个AI做菜小程序,套壳子那种,微信不给上架,说个人不能做信息咨询,放弃。

  • 写了一个模拟用户操作爬取数据的桌面工具,后面可能有用。

  • 不信邪,做了一个躺平记账的小程序,刚刚上架,是人都要做一次三件套。

  • 用laya和cocos做了几个入门小游戏,并开源,给想web转游戏的小伙伴们降低一点曲线,因为游戏引擎的文档不是一般的烂(我原以为小程序的文档很差,直到我看到了几个游戏引擎的文档),大部分时间一边看源码一边开发


今年7月



  • 做了10+传奇私服,并且赚了几百元(聊胜于无),不敢做大,不敢宣传,容易被封印。

  • 做了一个创意肉鸽小游戏(有没有美术搭子,全靠AI生图走的很艰难),在到处寻找美术资源,代码已写完(等替换完资源就上)。


image.png


我的规划


2024年度规划



  • 继续做肉鸽、塔防类游戏

  • 继续开私服

  • 学习新的私服技术(暂定DNF)

  • 继续做自己的独立产品


远景规划



  • 追随自己的内心,不给自己设限

  • 动态寻找可长期耕耘的赛道


写在最后


多年以后,我总是想起2016年刚入行时,只用写写js就能拿薪水的那个下午


作者:飞翔的羊驼
来源:juejin.cn/post/7393312386348138530
收起阅读 »

我发现很多程序员都不会打日志。。

大家好,我是程序员鱼皮。我发现很多程序员都不打日志,有的是 不想 打、有的是 意识不到 要打、还有的是 真不会 打日志啊! 前段时间的模拟面试中,我问了几位应届的 Java 开发同学 “你在项目中是怎么打日志的”,得到的答案竟然是 “支支吾吾”、“阿巴阿巴”,...
继续阅读 »

大家好,我是程序员鱼皮。我发现很多程序员都不打日志,有的是 不想 打、有的是 意识不到 要打、还有的是 真不会 打日志啊!


前段时间的模拟面试中,我问了几位应届的 Java 开发同学 “你在项目中是怎么打日志的”,得到的答案竟然是 “支支吾吾”、“阿巴阿巴”,更有甚者,竟然表示:直接用 System.out.println() 打印一下吧。。。



要知道,日志是我们系统出现错误时,最快速有效的定位工具,没有日志给出的错误信息,遇到报错你就会一脸懵逼;而且日志还可以用来记录业务信息,比如记录用户执行的每个操作,不仅可以用于分析改进系统,同时在遇到非法操作时,也能很快找到凶手。


因此,对于程序员来说,日志记录是重要的基本功。但很多同学并没有系统学习过日志操作、缺乏经验,所以我写下这篇文章,分享自己在开发项目中记录日志的方法和最佳实践,希望对大家有帮助~


一、日志记录的方法


日志框架选型


有很多 Java 的日志框架和工具库,可以帮我们用一行代码快速完成日志记录。


在学习日志记录之前,很多同学应该是通过 System.out.println 输出信息来调试程序的,简单方便。


但是,System.out.println 存在很严重的问题!



首先,System.out.println 是一个同步方法,每次调用都会导致 I/O 操作,比较耗时,频繁使用甚至会严重影响应用程序的性能,所以不建议在生产环境使用。此外,它只能输出简单的信息到标准控制台,无法灵活设置日志级别、格式、输出位置等。


所以我们一般会选择专业的 Java 日志框架或工具库,比如经典的 Apache Log4j 和它的升级版 Log4j 2,还有 Spring Boot 默认集成的 Logback 库。不仅可以帮我们用一行代码更快地完成日志记录,还能灵活调整格式、设置日志级别、将日志写入到文件中、压缩日志等。


可能还有同学听说过 SLF4J(Simple Logging Facade for Java),看英文名就知道了,这玩意并不是一个具体的日志实现,而是为各种日志框架提供简单统一接口的日志门面(抽象层)。


啥是门面?


举个例子,现在我们要记录日志了,先联系到前台接待人员 SLF4J,它说必须要让我们选择日志的级别(debug / info / warn / error),然后要提供日志的内容。确认之后,SLF4J 自己不干活,屁颠屁颠儿地去找具体的日志实现框架,比如 Logback,然后由 Logback 进行日志写入。



这样做有什么好处呢?无论我们选择哪套日志框架、或者后期要切换日志框架,调用的方法始终是相同的,不用再去更改日志调用代码,比如将 log.info 改为 log.printInfo。


既然 SLF4J 只是玩抽象,那么 Log4j、Log4j 2 和 Logback 应该选择哪一个呢?



值得一提的是,SLF4J、Log4j 和 Logback 竟然都是同一个作者(俄罗斯程序员 Ceki Gülcü)。



首先,Log4j 已经停止维护,直接排除。Log4j 2 和 Logback 基本都能满足功能需求,那么就看性能、稳定性和易用性。



  • 从性能来说,Log4j 2 和 Logback 虽然都支持异步日志,但是 Log4j 基于 LMAX Disruptor 高性能异步处理库实现,性能更高。

  • 从稳定性来说,虽然这些日志库都被曝出过漏洞,但 Log4j 2 的漏洞更为致命,姑且算是 Logback 得一分。

  • 从易用性来说,二者差不多,但 Logback 是 SLF4J 的原生实现、Log4j2 需要额外使用 SLF4J 绑定器实现。


再加上 Spring Boot 默认集成了 Logback,如果没有特殊的性能需求,我会更推荐初学者选择 Logback,都不用引入额外的库了~


使用日志框架


日志框架的使用非常简单,一般需要先获取到 Logger 日志对象,然后调用 logger.xxx(比如 logger.info)就能输出日志了。


最传统的方法就是通过 LoggerFactory 手动获取 Logger,示例代码如下:


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyService {
   private static final Logger logger = LoggerFactory.getLogger(MyService.class);

   public void doSomething() {
       logger.info("执行了一些操作");
  }
}

上述代码中,我们通过调用日志工厂并传入当前类,创建了一个 logger。但由于每个类的类名都不同,我们又经常复制这行代码到不同的类中,就很容易忘记修改类名。


所以我们可以使用 this.getClass 动态获取当前类的实例,来创建 Logger 对象:


public class MyService {
   private final Logger logger = LoggerFactory.getLogger(this.getClass());

   public void doSomething() {
       logger.info("执行了一些操作");
  }
}

给每个类都复制一遍这行代码,就能愉快地打日志了。


但我觉得这样做还是有点麻烦,我连复制粘贴都懒得做,怎么办?


还有更简单的方式,使用 Lombok 工具库提供的 @Slf4j 注解,可以自动为当前类生成一个名为 log 的 SLF4J Logger 对象,简化了 Logger 的定义过程。示例代码如下:


import lombok.extern.slf4j.Slf4j;

@Slf4j
public class MyService {
   public void doSomething() {
       log.info("执行了一些操作");
  }
}

这也是我比较推荐的方式,效率杠杠的。



此外,你可以通过修改日志配置文件(比如 logback.xmllogback-spring.xml)来设置日志输出的格式、级别、输出路径等。日志配置文件比较复杂,不建议大家去记忆语法,随用随查即可。



二、日志记录的最佳实践


学习完日志记录的方法后,再分享一些我个人记录日志的经验。内容较多,大家可以先了解一下,实际开发中按需运用。


1、合理选择日志级别


日志级别的作用是标识日志的重要程度,常见的级别有:



  • TRACE:最细粒度的信息,通常只在开发过程中使用,用于跟踪程序的执行路径。

  • DEBUG:调试信息,记录程序运行时的内部状态和变量值。

  • INFO:一般信息,记录系统的关键运行状态和业务流程。

  • WARN:警告信息,表示可能存在潜在问题,但系统仍可继续运行。

  • ERROR:错误信息,表示出现了影响系统功能的问题,需要及时处理。

  • FATAL:致命错误,表示系统可能无法继续运行,需要立即关注。


其中,用的最多的当属 DEBUG、INFO、WARN 和 ERROR 了。


建议在开发环境使用低级别日志(比如 DEBUG),以获取详细的信息;生产环境使用高级别日志(比如 INFO 或 WARN),减少日志量,降低性能开销的同时,防止重要信息被无用日志淹没。


注意一点,日志级别未必是一成不变的,假如有一天你的程序出错了,但是看日志找不到任何有效信息,可能就需要降低下日志输出级别了。


2、正确记录日志信息


当要输出的日志内容中存在变量时,建议使用参数化日志,也就是在日志信息中使用占位符(比如 {}),由日志框架在运行时替换为实际参数值。


比如输出一行用户登录日志:


// 不推荐
logger.debug("用户ID:" + userId + " 登录成功。");

// 推荐
logger.debug("用户ID:{} 登录成功。", userId);

这样做不仅让日志清晰易读;而且在日志级别低于当前记录级别时,不会执行字符串拼接,从而避免了字符串拼接带来的性能开销、以及潜在的 NullPointerException 问题。所以建议在所有日志记录中,使用参数化的方式替代字符串拼接。


此外,在输出异常信息时,建议同时记录上下文信息、以及完整的异常堆栈信息,便于排查问题:


try {
   // 业务逻辑
catch (Exception e) {
logger.error("处理用户ID:{} 时发生异常:", userId, e);
}

3、控制日志输出量


过多的日志不仅会占用更多的磁盘空间,还会增加系统的 I/O 负担,影响系统性能。


因此,除了根据环境设置合适的日志级别外,还要尽量避免在循环中输出日志。


可以添加条件来控制,比如在批量处理时,每处理 1000 条数据时才记录一次:


if (index % 1000 == 0) {
   logger.info("已处理 {} 条记录", index);
}

或者在循环中利用 StringBuilder 进行字符串拼接,循环结束后统一输出:


StringBuilder logBuilder = new StringBuilder("处理结果:");
for (Item item : items) {
   try {
       processItem(item);
       logBuilder.append(String.format("成功[ID=%s], ", item.getId()));
  } catch (Exception e) {
       logBuilder.append(String.format("失败[ID=%s, 原因=%s], ", item.getId(), e.getMessage()));
  }
}
logger.info(logBuilder.toString());

如果参数的计算开销较大,且当前日志级别不需要输出,应该在记录前进行级别检查,从而避免多余的参数计算:


if (logger.isDebugEnabled()) {
   logger.debug("复杂对象信息:{}"expensiveToComputeObject());
}

此外,还可以通过更改日志配置文件整体过滤掉特定级别的日志,来防止日志刷屏:


<!-- Logback 示例 -->
<appender name="LIMITED" class="ch.qos.logback.classic.AsyncAppender">
<!-- 只允许 INFO 级别及以上的日志通过 -->
   <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
       <level>INFO</level>
   </filter>
   <!-- 配置其他属性 -->
</appender>

4、把控时机和内容


很多开发者(尤其是线上经验不丰富的开发者)并没有养成记录日志的习惯,觉得记录日志不重要,等到出了问题无法排查的时候才追悔莫及。


一般情况下,需要在系统的关键流程和重要业务节点记录日志,比如用户登录、订单处理、支付等都是关键业务,建议多记录日志。


对于重要的方法,建议在入口和出口记录重要的参数和返回值,便于快速还原现场、复现问题。


对于调用链较长的操作,确保在每个环节都有日志,以便追踪到问题所在的环节。


如果你不想区分上面这些情况,我的建议是尽量在前期多记录一些日志,后面再慢慢移除掉不需要的日志。比如可以利用 AOP 切面编程在每个业务方法执行前输出执行信息:


@Aspect
@Component
public class LoggingAspect {

   @Before("execution(* com.example.service..*(..))")
   public void logBeforeMethod(JoinPoint joinPoint) {
       Logger logger = LoggerFactory.getLogger(joinPoint.getTarget().getClass());
       logger.info("方法 {} 开始执行", joinPoint.getSignature().getName());
  }
}

利用 AOP,还可以自动打印每个 Controller 接口的请求参数和返回值,这样就不会错过任何一次调用信息了。


不过这样做也有一个很重要的点,注意不要在日志中记录了敏感信息,比如用户密码。万一你的日志不小心泄露出去,就相当于泄露了大量用户的信息。



5、日志管理


随着日志文件的持续增长,会导致磁盘空间耗尽,影响系统正常运行,所以我们需要一些策略来对日志进行管理。


首先是设置日志的滚动策略,可以根据文件大小或日期,自动对日志文件进行切分。比如按文件大小滚动:


<!-- 按大小滚动 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeBasedRollingPolicy">
   <maxFileSize>10MB</maxFileSize>
</rollingPolicy>

如果日志文件大小达到 10MB,Logback 会将当前日志文件重命名为 app.log.1 或其他命名模式(具体由文件名模式决定),然后创建新的 app.log 文件继续写入日志。


还有按照时间日期滚动:


<!-- 按时间滚动 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
   <fileNamePattern>logs/app-%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>

上述配置表示每天创建一个新的日志文件,%d{yyyy-MM-dd} 表示按照日期命名日志文件,例如 app-2024-11-21.log


还可以通过 maxHistory 属性,限制保留的历史日志文件数量或天数:


<maxHistory>30</maxHistory>

这样一来,我们就可以按照天数查看指定的日志,单个日志文件也不会很大,提高了日志检索效率。


对于用户较多的企业级项目,日志的增长是飞快的,因此建议开启日志压缩功能,节省磁盘空间。


<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
   <fileNamePattern>logs/app-%d{yyyy-MM-dd}.log.gz</fileNamePattern>
</rollingPolicy>

上述配置表示:每天生成一个新的日志文件,旧的日志文件会被压缩存储。


除了配置日志切分和压缩外,我们还需要定期审查日志,查看日志的有效性和空间占用情况,从日志中发现系统的问题、清理无用的日志信息等。


如果你想偷懒,也可以写个自动化清理脚本,定期清理过期的日志文件,释放磁盘空间。比如:


# 每月清理一次超过 90 天的日志文件
find /var/log/myapp/ -type f -mtime +90 -exec rm {} ;

6、统一日志格式


统一的日志格式有助于日志的解析、搜索和分析,特别是在分布式系统中。


我举个例子大家就能感受到这么做的重要性了。


统一的日志格式:


2024-11-21 14:30:15.123 [main] INFO com.example.service.UserService - 用户ID:12345 登录成功
2024-11-21 14:30:16.789 [main] ERROR com.example.service.UserService - 用户ID:12345 登录失败,原因:密码错误
2024-11-21 14:30:17.456 [main] DEBUG com.example.dao.UserDao - 执行SQL:[SELECT * FROM users WHERE id=12345]
2024-11-21 14:30:18.654 [main] WARN com.example.config.AppConfig - 配置项 `timeout` 使用默认值:3000ms
2024-11-21 14:30:19.001 [main] INFO com.example.Main - 应用启动成功,耗时:2.34秒

这段日志整齐清晰,支持按照时间、线程、级别、类名和内容搜索。


不统一的日志格式:


2024/11/21 14:30 登录成功 用户ID: 12345
2024-11-21 14:30:16 错误 用户12345登录失败!密码不对
DEBUG 执行SQL SELECT * FROM users WHERE id=12345
Timeout = default
应用启动成功

emm,看到这种日志我直接原地爆炸!



建议每个项目都要明确约定和配置一套日志输出规范,确保日志中包含时间戳、日志级别、线程、类名、方法名、消息等关键信息。


<!-- 控制台日志输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
   <encoder>
       <!-- 日志格式 -->
       <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
   </encoder>
</appender>

也可以直接使用标准化格式,比如 JSON,确保所有日志遵循相同的结构,便于后续对日志进行分析处理:


<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
   <!-- 配置 JSON 编码器 -->
</encoder>

此外,你还可以通过 MDC(Mapped Diagnostic Context)给日志添加额外的上下文信息,比如用户 ID、请求 ID 等,方便追踪。在 Java 代码中,可以为 MDC 变量设置值:


MDC.put("requestId""666");
MDC.put("userId""yupi");
logger.info("用户请求处理完成");
MDC.clear();

对应的日志配置如下:


<!-- 文件日志配置 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
   <encoder>
       <!-- 包含 MDC 信息 -->
       <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - [%X{requestId}] [%X{userId}] %msg%n</pattern>
   </encoder>
</appender>

这样,每个请求、每个用户的操作一目了然。


7、使用异步日志


对于追求性能的操作,可以使用异步日志,将日志的写入操作放在单独的线程中,减少对主线程的阻塞,从而提升系统性能。


除了自己开线程去执行 log 操作之外,还可以直接修改配置来开启 Logback 的异步日志功能:


<!-- 异步 Appender -->
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
   <queueSize>500</queueSize> <!-- 队列大小 -->
   <discardingThreshold>0</discardingThreshold> <!-- 丢弃阈值,0 表示不丢弃 -->
   <neverBlock>true</neverBlock> <!-- 队列满时是否阻塞主线程,true 表示不阻塞 -->
   <appender-ref ref="CONSOLE" /> <!-- 生效的日志目标 -->
   <appender-ref ref="FILE" />
</appender>

上述配置的关键是配置缓冲队列,要设置合适的队列大小和丢弃策略,防止日志积压或丢失。


8、集成日志收集系统


在比较成熟的公司中,我们可能会使用更专业的日志管理和分析系统,比如 ELK(Elasticsearch、Logstash、Kibana)。不仅不用每次都登录到服务器上查看日志文件,还可以更灵活地搜索日志。


但是搭建和运维 ELK 的成本还是比较大的,对于小团队,我的建议是不要急着搞这一套。




OK,就分享到这里,洋洋洒洒 4000 多字,希望这篇文章能帮助大家意识到日志记录的重要性,并养成良好的日志记录习惯。学会的话给鱼皮点个赞吧~


日志不是写给机器看的,是写给未来的你和你的队友看的!


更多


💻 编程学习交流:编程导航

📃 简历快速制作:老鱼简历

✏️ 面试刷题神器:面试鸭


作者:程序员鱼皮
来源:juejin.cn/post/7439785794917072896
收起阅读 »

一封写给离职小伙伴的信

前言 亲爱的小伙伴,当你看到这封信的时候,相信你大概率也是离职浪潮中的一员了,不管是被裁还是主动离职,相信在接下来的日子里,求职路上必定不会一帆风顺,势必要经历一番波折与挑战。 也许你才刚开始,此刻意气风发信心满满;也许你正在经历,此时彻底怀疑自我,将要放弃底...
继续阅读 »

前言


亲爱的小伙伴,当你看到这封信的时候,相信你大概率也是离职浪潮中的一员了,不管是被裁还是主动离职,相信在接下来的日子里,求职路上必定不会一帆风顺,势必要经历一番波折与挑战。


也许你才刚开始,此刻意气风发信心满满;也许你正在经历,此时彻底怀疑自我,将要放弃底线;也许你已经历过了,此时已是遍体鳞伤体无完肤,彻底摆烂……


不管屏幕前的你是哪一种,但请记住,这是每个人入世时社会老师要给我们上的第一节课。


在这里,我先分享一段平凡普通又心酸的求职历程,也希望通过这篇文章能给你一些启发和帮助,也衷心地希望你能够重拾信心,一路披荆斩棘!




关于我


我是双非一本毕业,计算机专业,目前毕业已有九年了,一直在远离家乡的北漂之地工作。由于母校没啥名气且名字中带有的小众地域性,非本省的人很少知道它,所以在外省找工作经常会被问你是不是本科毕业(尴尬😅),学历这一块姑且算是杂牌吧,起码在筛选简历时不具备任何优势。


其次,简历也没有太多的亮眼经历,没有大厂背景,基本都是中小厂的工作经历,普通到不能再普通了。


其三,关于年龄这一块,本人目前很接近35岁的“退休”年龄,属于被重点劝退互联网的年纪,触碰到了互联网年龄红线。


最后,这还不算最糟糕,还有更糟糕的面试门槛。


什么是糟糕的面试门槛?接着往下看。


由于去年家里出事了,辞职回了老家,之后也没着急出来找工作,期间闲来无事,顺便考了个公(原本辞职也不是为了考公),结果可想而知,也没考上,所以也没当回事,该玩玩,该旅游就旅游,彻底放飞自我~(没有房贷车贷毫无顾忌)


等我再次出来找工作的时候,已经离上一份工作的间隔有一年多了(准确的说是一年零两个月),也就是说我已经 Gap 一年多了,我还丝毫没意识到这将成为我求职路上的一个障碍。




面试的准备


7月初,我正式开始准备面试。首先更新了简历,回顾之前的项目并总结,梳理项目架构、流程图、负责的模块以及技术难点。同时看了看八股文复习基础知识,刷刷leetcode,时间过得很快,大概三周后开始投简历。




面试的门槛


Gap一年多的经历,让我在求职中非常被动,一线大厂全都因为这段 Gap 经历被 HR 前期的电话沟通中直接否掉,连一面的面试机会都没有。


只有一家公司例外,那就是字节,也是我面试的第一家公司。首先不得不表扬一下这家公司的用人态度,只是我准备不足仓促应付,以为刷了算法题就没啥大问题,结果人家来了一个手撕题(非算法),当场把我给整懵了,结果可想而知……其实本质上还是综合能力不够,但起码人家给了你面试的机会。


不管最终结果如何,单凭这种不问出身来者不拒,招人包容的胸襟与态度就值得点赞👍


因此,后面我能接到面试的机会只有中小厂,一间大厂都没有,这也许就是 Gap 太久要付出的代价之一吧。




面试的过程


求职的过程比较曲折,毕竟离开岗位已经一年多了,很多零零碎碎的知识要整理起来也不是一蹴而就的,因此求职期间,一边面试,一边不断总结经验,把之前做过的东西以及面试的空白知识慢慢梳理出来,并整理成博客。通过系统化的梳理与表达,自己的思路也开始有了更清晰的脉络和方向。


经过三个多月的面试,期间共投了三十多家公司的简历,排除一线大厂以及被其他公司pass掉的简历,其实真正接到面试机会的一共只有二十家左右。


期间有一段是没有面试的空白期,那段时间真的怀疑自己,很彷徨,是不是真的该投外包和od,这里没有贬低的意思,只是目前自己还没有养老的打算,同时也有自己的职业规划和方向,外包暂时还不在考虑范围之内。


从刚开始投的高薪大中厂,到后来的中小厂,虽然姿态一直在放低,但终归守住了自己的底线——那就是行业方向和薪资待遇。




面试中的奇葩


面试过程中也会遇到各种各样的面试官,结合自己曾经也做过面试官的经验,一些常规的套路基本是熟悉的,幸运的是遇到的绝大多数面试官都非常的nice,当然也遇到个别的奇葩。


比如这次遇到了一个思路清奇的二面面试官,一面聊得还挺好的,本以为二面面缘应该也不会差,没想到上来他就开始板着脸,似乎人人都欠他八百万似的,之所以如此,直到后来我才知道,原来他在怀疑我简历造假。等我介绍完项目,没问技术实现细节,而是开始扣字眼,这个项目公司内部的名字叫什么?为什么简历中没提这个项目的内部名字?xxx公司有海外方向吗?我全程耐心地解释,一度怀疑他才是我前司的员工,而我不是。


最后问了我那个项目的域名地址,那个项目我也只跟进了一期,没有太深的记忆,当时没有找出来,后来就草草结束了。


这里也怪我,由于离开前司一年多,项目域名早变了,而自己在整理项目时没有及时跟进,才导致如此尴尬局面,后来我才知道那个项目的域名早已换成了官网域名,把它整合进海外官网了。


其实我也非常理解他的这种行为,换成是我,遇到这种情况,我也会对面试者产生怀疑。然而从逆向思维的角度分析,像我这种非大厂背景,学历看着又像渣本的简历,怎么造,简历都不会好到哪里去吧,何况还有背调,我又何必费那个心思。想想都觉得有点滑稽~


这里也给自己总结两点经验:



  • 凡是可能涉及到的点,都要一一回顾,有备无患,但说实话经历过那么多年的面试,不管是我面别人还是别人面我,问项目域名的我还是头一次遇到。

  • 怀疑一旦开始,罪名就已经成立。不管你后面如何辩白,结局其实早已注定,还不如趁早结束。即使你有幸通过面试,将来在一位不信任你的领导下干活,也是一件非常心累的事。


面试的结果


经过将近20家公司的轮番摩擦,终于在10月底的时候,陆陆续续有了口头offer,又经过银行流水、背调、体检,最终拿到了3家公司的正式offer,两家小公司和一家独角兽。


那家独角兽公司我很早就知道,其实也一直是我想进的一家公司,因此毫无悬念,我最终选择了那家中厂独角兽,总包降了一点点,但总算还是属于平跳,这个结果在当下的环境,对我来说已经很难得了。


面试经验分享


这里不提供什么面经,因为每面的问题几乎都不一样,几乎没有碰到任何相同的一个问题(自我介绍、项目介绍和HR面除外)。


面了这么多公司,印象中只有一道题是重复的,所以即使给出各家公司的面经,真正轮到你面时,出的题也会因人而异。面经并不是圣经,只是可以作为一个难度级别的参考罢了,所以面经意义其实并不大。


这里我想分享更多的是个人职业的规划与成长。


其实面试的过程本身就是一个提升自我认知的过程。


面对如此困境,我想分享一下我是如何破局的。


作为一个普通、大龄、又gap一年多的普通程序猿,我首先做的便是潜下心来扪心自问,在这么激烈的竞争环境中,与其他人相比,我的优势在哪?





  • 首先是职业稳定性,我虽然没有大厂背景,但还算稳定,总共经历3家公司,只有中间一家是因疫情原因而不满一年,八年时间里没有频繁跳槽还算稳定。

  • 其次是职业方向,个人之前从事的行业一直与电商领域相关,前几段工作经历一直是从事海外电商方向。因此,在海外电商这个领域中我有天然的行业经验优势,从最终拿到的3家offer公司的结果来看,也反向证明了这一点。

  • 其三,投简历时我只会挑选特定的领域方向,我不会进行海投,更不会盲投,因为那没有什么意义,因为人家没看上你的,即便投了也不会有什么结果,最多只会礼貌地给你回访,并不会真正进入面试流程。


    这是我在脉脉上得出的结论,因为对你发起的沟通是系统推荐,是系统发起的并不是他们本人,因此他们并不一定对你感兴趣(当然你若是那种天之骄子又有大厂背书,就请忽略我们这种平凡人的经历)。


    因此,投简历时我一般只在boss上,并且是被动投简历,也就是别人先发起的简历请求。底层逻辑是因为只有人家对你感兴趣,你才会有更大的可能获得面试机会


  • 其四,珍惜每一次面试的机会,看清楚JD里的要求和公司从事的方向,对JD中描述的职位要求和职责,有针对性地准备面试,面试时遇到自己知识盲区要诚实表示不会,不要试图与面试官产生争论,因为即便你是对的,也会对你产生不利。坦然接受任何结果,放松心态。

  • 其五,放低姿态,降低期望,期望越高,失望越高。由于我已经离职并 Gap 太久,没有任何骑驴找马的依仗,谈薪资时显得非常被动,这便是 Gap 太久的代价之二。


    之前也面过几个到终面的公司,谈薪时过高而被Pass掉,我的诉求也很简单,就是期望能平薪而跳,也没指望能涨薪,也愿意接受适度降薪。


    期间,有遇到过很爽快的,也有遇到拼命压你薪的,面了很多小公司都有这样一个相同的经历,到谈薪阶段,他们会故意冷淡你不跟你谈,而是经过多轮对比候选人,看看哪个性价比更高。其实也非常理解,毕竟当前的环境下,哪个老板不希望用低薪招到一个综合能力更强的人呢?


    而有的会比较爽快,他们急着大量招人,流程会很快,也不会过分压薪,碰到这种公司那么恭喜你,你中奖了,这种基本在经济行情好(公司盈利大好)的时候才会出现。


    放低姿态不意味着放弃原则反而要有更清晰的底线,它的底层逻辑是降低期望值,期望值是心理学上一个很巧妙东西,期望锚点值越低,才有更大的可能获得惊喜。


  • 最后,主动沉淀和总结经验,对面试中经常问到的同一类问题进行总结和思考,进而纳入自己的脑海中,逐渐形成自己的知识体系。


    比如,你为什么会从上一家公司离职?问这个问题的背后动机是什么?HR为什么会压你薪资?这些问题的背后原理一定要思考清楚,只有理解底层逻辑,才能应对自如。


    当然,搞清楚这些问题的背后逻辑不是为了让你去说谎,面试时可以结合自身的实际,美化用词,但不要试图说谎。





总结


以上就是一个平凡普通又Gap一年多的打工人自我总结与分享,也希望它能给你带来一些启发和帮助,哪怕只有一点点,那也是我莫大的荣幸!


眼下的就业形势确实不容乐观,招聘越来越挑剔,要找到心仪的工作实属不易,但请不要因此而对生活失去信心,要相信好好总结与反思,总有一个位置属于你。


愿屏幕前的你能渡过难关、顺利上岸!加油!


一封来自远方陌生人的信


作者:九幽归墟
来源:juejin.cn/post/7444773769242116111
收起阅读 »

如果你没有必须要离职的原因,我建议你在忍忍

自述 本人成都,由于一些原因我在八月离职了,因为我终于脱离了那个压抑的环境,我没有自己想象中的那么开心,我离职的那天,甚至后面很长的一段时间;离职后的我回了一趟家,刚好在最热的那几天,在家躺了几天,然后又出去逛了逛,玩了差不多一个月吧!我觉得心情逐渐恢复了;然...
继续阅读 »

自述


本人成都,由于一些原因我在八月离职了,因为我终于脱离了那个压抑的环境,我没有自己想象中的那么开心,我离职的那天,甚至后面很长的一段时间;离职后的我回了一趟家,刚好在最热的那几天,在家躺了几天,然后又出去逛了逛,玩了差不多一个月吧!我觉得心情逐渐恢复了;然后开始慢慢的投递简历。


前期


刚投递简历那会,基本上每天都是耍耍哒哒的投递;有面试就去面试,没有面试就在家刷抖音也不看看面试题,可能我找工作的状态还在几年前或者还没从上家公司的状态中走出来,也有可能我目前有一点存款不是特别焦虑,所以也没认真的找。


就这样刷刷哒哒的又过了半月,然后有许多朋友跟我说他们被裁员了,问他们的打算是怎么样的:有的人休息了两三天就开始了找工作当中,而有的人就玩几个月再说。


休息两三天就开始找工作的人基本上都是有家庭有小孩的,反之基本上都是单身。


在跟他们聊天的过程中发现,有些人半年没找到工作了,也有一些人一年都没有找到工作了。可能是年级大了、也可能是工资不想要的太低吧!但是工作机会确实比原来少很多。


在听了大家的话以后,我觉得我差不多也该认真找工作了,我开始逐渐投递简历。


疯狂投递简历


我在9月的下旬开始了简历的修改以及各大招聘App的下载,拉钩、智联、boos以及一下小程序的招聘软件(记不住名字了,因为没啥效果);在我疯狂的投递了几天以后我迎来了第一家面试,是一个线上面试;刚一来就给了我迎头一棒,或许我只忙着修改简历和投递简历去了,没有去背面试题吧(网上说现在都问场景题,所以没准备);


具体的问题我记不全了,但是我记得这么一个问题,面试官问:“深克隆有哪些方法”,我回答的是递归,然后他说还有吗?我直接呆住说不知道了。然后我们就结束了面试,最后他跟我说了这么一句话:“现在的市场行情跟原来没法比,现在的中级基本上要原来的高级的水平,现在的初级也就是原来的中级的水平,所以问的问题会比原来难很多,你可以在学习一下,看你的简历是很不错的;至少简历是这样的。”


当这个面试结束以后我想了想发现是这样的,不知是我还没有接受或者说还没有进入一个面试的状态,还是因为我不想上班的原因,导致我连一些基本的八股文都不清楚,所以我决定开始学习。


给准备离职或者已经离职的朋友们一个忠告:“做任何事情都需提前准备,至少在找工作上是这样的。”


学习


我去看了招聘网站的技术要求(想了解下企业需要的一些技术),不看不知道一看吓一跳,真的奇葩层出不穷,大概给大家概述一下:



  • 开发三班倒:分为早中晚班

  • 要你会vue+react+php+java等技术(工资8-12)

  • 要你会基本的绘画(UI)以及会后端的一些工作,目前这些都需要你一个人完成

  • 要你会vue+react+fluter;了解electron以及3d等

  • 还有就是你的项目跟我们的项目不一致的。


我看到这些稀奇古怪的玩意有点失望,最终我选择了fabricjs进行学习,最开始的时候就是在canvas上画了几个矩形,感觉挺不错的;然后我就想这不是马上快要国庆了吗?我就想用fabric做一个制作头像的这么一个工具插件,在经过两天的开发成功将其制作了出来,并且发布到了网站上(插件tools),发布第一天就有使用的小伙伴给我提一些宝贵的建议了,然后又开始了调整,现在功能也越来越多;


fabricjs在国内的资料很少,基本上就那么几篇文章,没有办法的我就跑去扒拉他们的源码看,然后拷贝需要的代码在修修改改(毕竟比较菜只能这样....);然后在学习fabric的时候也会去学习一些基本知识,比如:js内置方法、手写防抖节流、eventloop、闭包(一些原理逻辑)、深拷贝、内存回收机制等等。


在学习的过程中很难受,感觉每天都是煎熬;每次都想在床上躺着,但是想想还是放弃了,毕竟没有谁会喜欢一个懒惰的人...


在战面试(HR像是刷KPI)


在有所准备的情况下再去面试时就得心应手了,基本上没有太多的胆怯,基本上问啥都知道一些,然后就在面试的时候随机应变即可,10月我基本上接到的面试邀请大概有10多家,然后有几家感觉工资低了就没去面试,去面试了的应该有7/8家的样子,最终只要一家录取。


说说其中一家吧(很像刷KPI的一家):这是一家做ai相关的公司,公司很大,看资料显示时一家中外合资的企业,进去以后先开始了一轮笔试题(3/4页纸),我大概做了50分钟的样子;我基本上8层都答对了(因为他的笔试题很多我都知道嘛,然后有一些还写了几个解决方案的),笔试完了以后,叫我去机试;机试写接口;而且还是在规定的一个网站写(就给我一个网站,然后说写一个接口返回正确结果就行;那个网站我都不会用);我在哪儿磨磨蹭蹭了10多分钟以后,根据node写了一个接口给了hr;然后HR说你这个在我们网站上不能运行。我站起来就走了...


其实我走的原因还有一个,就是他们另一个HR对带我进来的这个HR说:你都没有协调好研发是否有时间,就到处招面试...


是否离职


如果你在你现在这公司还能呆下去的情况下,我建议你还是先呆呆看吧!目前这个市场行情很差,你看到我有10来个面试,但是你知道嘛?我沟通了多少:



  • boos沟通了差不多800-900家公司,邀请我投递简历的只有100家左右。邀请我面试的只有8/9家。

  • 智联招聘我投递了400-600家,邀请我面试的只有1家。

  • 拉钩这个不说了基本上没有招聘的公司(反反复复就那几家);投递了一个月后有一家叫我去面试的,面试了差不多50来分钟;交谈的很开心,他说周一周二给我回复,结果没有回复,我发消息问;也没有回复;看招聘信息发现(邀约面试800+)


我离职情非得已,愿诸君与我不同;如若您已离职,愿您早日找到属于自己的路,不一定是打工的路;若你在职,请在坚持坚持;在坚持的同时去做一些对未来有用的事情,比如:副业、耍个男女朋友、拓展一下圈子等等。


后续的规划


在经历了这次离职以后,我觉得我的人生应该进行好好的规划了;不能为原有的事物所影响,不能为过去所迷茫;未来还很长,望诸君互勉;


未来的计划大致分为几个方向:



  • 拓展自己的圈子(早日脱单)

  • 学习开发鸿蒙(我已经在做了,目前开发的app在审核),发布几款工具类app(也算是为国内唯一的系统贡献一些微弱的力量吧!)

  • 持续更新我在utools上的绘图插件

  • 学习投资理财(最近一月炒股:目前赚了4000多了)

  • 持续更新公众号(前端雾恋)、掘金等网站技术文章


结尾


我们的生活终将回归正轨,所有的昨天也将是历史,不必遗憾昨天,吸取教训继续前进。再见了...


作者:雾恋
来源:juejin.cn/post/7435289649273569334
收起阅读 »

大学生编程第一人,一人抵一城!

就在上个月底,领域内知名的自动驾驶公司小马智行在纳斯达克成功挂牌上市,成为自动驾驶领域新焦点,这个新闻相信不少同学都看到了。 提到小马智行这个公司,可能有些同学还不是很了解。 但是提到小马智行公司的CTO,那相信不少同学就耳熟能详了。 没错,他就是那个神一...
继续阅读 »

就在上个月底,领域内知名的自动驾驶公司小马智行在纳斯达克成功挂牌上市,成为自动驾驶领域新焦点,这个新闻相信不少同学都看到了。



提到小马智行这个公司,可能有些同学还不是很了解。



但是提到小马智行公司的CTO,那相信不少同学就耳熟能详了。


没错,他就是那个神一般的男人,有着「中国大学生计算机编程第一人」称号,并且江湖人尊称为「楼教主」的计算机编程大牛:


楼天城博士



2016年底,楼天城和他的合伙人创立了小马智行,致力于提供安全、先进、可靠的全栈式自动驾驶技术。



不过在此之前,楼天城就以比赛ID “ACRush” 为计算机编程界所熟知。


楼教主毕业于清华,曾连续11年蝉联TopCoder中国区冠军,并且两次获得谷歌全球编程挑战赛冠军。他的职业生涯开始于谷歌,并且在创立小马智行之前,也曾是百度历史上最年轻的T10工程师。


2024年,楼天城以60亿元人民币财富登上《2024年·胡润百富榜》第875位。



从某一程度上也实现了靠写代码,登上了胡润财富榜!


看到这里,相信大家也都好奇这位编程大佬的的成长经历和成神之路。


究竟是怎样一个环境和经历才能造就今天的楼教主呢,今天这篇文章我们就来好好聊一聊。


0x01


1986年,楼天城出生于一个知识分子家庭,父母均为教育工作者,这样的家庭环境为他提供了良好的学习氛围。


尽管童年时期的他并未直接接触到计算机编程,但楼天城却展现出了对数学和逻辑的浓厚兴趣。


楼天城的理科思维十分敏捷,甚至在踢球时,也会计算战术中的各种概率,展现了他对细节的极致追求,这也为他日后的编程之路奠定了坚实的基础。


楼天城高中毕业于杭十四中。


众所周知,这是一所具有悠久历史的百年名校,位于美丽的西子湖畔,同时也是浙江省一级重点中学。



在进入杭十四中后,一次偶然的机会,楼天城加入了学校的计算机兴趣小组,从此开启了与编程的不解之缘。


在短短三个月内,他凭借自学,就在全国青少年信息学联赛(浙江赛区)中脱颖而出,荣获一等奖,这标志着他在编程领域的初步成功,也点燃了他对计算机和编程的巨大热情。


而这,只是他成绩的开端。


0x02


高中时期的楼天城由于竞赛成绩十分优秀,因此也成功保送进入清华大学计算机系,并在后来加入由图灵奖得主姚期智院士领导的清华计算机科学实验班(俗称“姚班”),并成为姚班的首届学生之一。



姚期智先生是世界著名的计算机科学家,唯一的图灵奖华人得奖者;而姚班则是中国乃至全球顶尖的计算机科学人才培养基地。


在这里,楼天城不仅系统学习了计算机科学的基础理论,更是参加了各类编程竞赛,成为校园内的传奇人物。


本科期间,楼天城以其深厚的编程功底和卓越的思维能力在各类竞赛中大放异彩,经常以一人单挑一个队,并且曾多次带领团队获得国内外编程竞赛的冠军,在ACM等编程竞赛界可谓是无人不知、无人不晓,因此也获得了“楼教主”的称号。


本科毕业以后,楼天城选择继续留校读博,并且继续师从姚期智院士。


在这个阶段,楼天城接受了更为严格的学术训练和前沿的科研指导。


在博士阶段,楼天城前期做的偏向theoretical computer science(理论计算机科学),后期偏向Social Network。


这个阶段的积累,为他日后的科研和创业之路打下了坚实的基础。


从高中到本科到读研,回顾楼天城的竞赛经历,可以说堪称传奇。
从高中开始,他几乎每一年都能拿到有关数学或者计算机方面的奖。


而且楼天城的竞赛经历几乎囊括了国内外所有重要的编程赛事,每一次参赛都留下了令人瞩目的成绩。


从高中时期的全国青少年信息学竞赛,到国际信息学奥林匹克竞赛(IOI)金牌,再到Google全球编程挑战赛冠军,楼天城用一次次胜利证明了自己的实力。


尤其是TopCoder,楼天城曾连续11年蝉联TopCoder中国区冠军,并且两次获得谷歌全球编程挑战赛冠军。


这些竞赛经历不仅锻炼了楼天城的编程能力和团队协作能力,更为他日后的职业发展奠定了坚实的基础。


0x03


毕业后的楼天城,职业生涯开始于谷歌,曾在谷歌总部从事社交网络和机器学习相关问题的研究。



2016年,楼天城受邀加入了百度美国研发中心,并且与当时的百度自动驾驶部门首席架构师彭军一起参与百度无人车和自动驾驶技术的研发。



在百度的工作期间,楼天城致力于自动驾驶相关技术的研究,同时他凭借卓越的技术实力和丰富的经验,也成为了百度历史上最年轻的T10工程师。
这段经历不仅加深了他对自动驾驶技术的理解,也让他看到了自动驾驶技术改变未来出行的巨大潜力,更是为即将到来的创业埋下了伏笔。


在百度工作了一段时间后,楼天城选择了从百度离职,并且与同时离职百度的首席架构师彭军一起创业,创立了自动驾驶创业公司小马智行。


至此,小马智行正式诞生



公司成立以后,彭军担任小马智行首席执行官,负责公司总体事务,而热爱技术和编程的楼天城则担任小马智行首席技术官,主要负责技术研发。


而且小马智行的初创团队成员不少都是楼天城曾经在竞赛中认识的朋友,或者是因其名气而慕名加入的。


楼天城作为公司的CTO,亲自参与了自动驾驶相关技术的设计与测试,带领团队攻克了一个个技术难题,推动小马智行的自动驾驶技术不断向前发展。



小马智行自成立之日起,就以其技术实力和前瞻性市场布局迅速成为了自动驾驶领域的佼佼者。而经过这几年的发展,如今的小马智行已经成为自动驾驶领域的领军企业之一。



0x04


回顾楼天城一路走来的成长经历:


从中学时期对编程的兴趣出露,到大学成为一个顶尖算法竞赛选手,再到研究生期间从事理论计算机等研究,最后再到走向业界与创业。


虽说这个过程充满了传奇色彩,但其中也不乏兴趣务实长期主义,以及坚持


楼教主曾说:


要学习认识你自己,了解什么样的事情会让自己开心,爱好就像一个多臂老虎机,要每个臂多拉几下才能知道自己的兴趣所在。


的确,像楼教主这样,在前行的路上找到自己所热爱的事业,并为之全力奔赴,这是一件何其幸运的事情。



注:本文在GitHub开源仓库「编程之路」 github.com/rd2coding/R… 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。



作者:CodeSheep
来源:juejin.cn/post/7447103424360349732
收起阅读 »

87年,37岁,脱下孔乙己的长衫,我开了家一人公司。

你好, 我是微笑哥。在职场做了 10 年的程序员,从 Java 开发做到研发副总,离职前带领着100+的研发队伍。19年开启自由职业,全世界一边旅行一边工作,2020年回西安创业,换了3个客厅2个办公楼走到今天。这中间,真的是脱了几层皮,从一名少年成为现在的沧...
继续阅读 »

你好, 我是微笑哥。
在职场做了 10 年的程序员,从 Java 开发做到研发副总,离职前带领着100+的研发队伍。
19年开启自由职业,全世界一边旅行一边工作,2020年回西安创业,换了3个客厅2个办公楼走到今天。
这中间,真的是脱了几层皮,从一名少年成为现在的沧桑大叔。借着这个日子,和大家聊聊我的经历。


1


毕业即失业

去流水线感悟人生


我大学学的是信息与科学,是一个没有对口就业的专业,我的同学各凭本事分布在各行各业。

大学玩了4年,到大四我慌了,我没背景也没能力,真不知道未来怎么走,只能疯狂去面试。

当时在宝鸡上的大学,大四上半年全部时间都去西安面试,2个月时间面试了几十上百家,最后入职了一家炒股软件公司。

说是储备干部,其实就是销售,去各个证券交易所里面找人要电话号码,然后邀请去公司做活动买软件。

这不是我想要的工作,年前快放寒假的时候辞职了,没有底薪只有提成,一分钱没有拿到回学校了。

临近过年,更着急了。

那个时候老大在比亚迪工厂,于是想去深圳看看有没有就业机会,于是坐了20多个小时火车来到深圳。

求职无果后,入职了比亚迪流水线车间,车间里面做了一周时间,差点和车间主任干起来了,工作是给硬纸板打孔很危险,墙上到处是事故照片,没有指头的那种,想了想还是辞了。

我在富士康工厂,周边环境

临近过年总不能空手回家吧,又去了富士康观澜的物流部,不说有多辛苦好歹扎扎实实工作了2个月。

人生真的很神奇,我去的那个厂子就是富士康当年十几跳的第一跳,我刚去就有工友给我说前几天有人跳楼了。

那是09年,我人生第二次在外地过春节;第一次是06年被我兄弟骗到传销组织安徽阜阳,被限制自由了28天。

而最夸张的是,我有个很铁的朋友,妹妹被骗到传销组织中,中间我竟然还请了2周假,想办法把他妹妹从传销组织搞了出来,不过那就是另外一个故事了。

总感觉大四那一年,经历了很多事情,很混乱很懵懂也很迷茫,就像青春少年本身就是迷茫一样

我在流水线挥汗如雨的时候,我就只想了一件事情,我一个大学生要在这流水线干一辈子吗,我这大学不是白读了。

于是3月份春暖花开的时候,又回陕西了。



2


误入程序员


人生有时候就是需要一个契机,刚经历的时候没觉得有啥,当把这些都串起来的时候,就成为了人生。

我在大三的时候,突然感觉大学白读了,不学点啥好像又对不起这4年,上课感觉毫无意义工作又不用(我们是数学专业,天天玩高数、微积分)

刚好听说有数学建模竞赛,我就报名了,玩命的学了3个月,我是小组负责编程的那位也是组长,把C语言玩的贼溜。

没想到几个月后也获奖了,好像是省级二等奖,上图左下方那个人就是我,在学校宾馆小组3天3夜写一份论文出来。

让我对程序有了启蒙,毕业的时候也不是没有找过程序员岗位,但都是简历投递出去没有人回复的状态。

但也一直有关注,知道程序员有培训这么一回事,也知道程序员工资蛮高的,但有一定的门槛。

从深圳回来后,我下定了决心学软件开发,计划做一名程序员。

本来去咨询培训C语言、C++的,结果跑了一圈都说 Java 好就业,就最后选择了培训 Java。

找我姐借了1万元(我大学四年,学费也是借的)。

去银行取钱的那一天,我抱着1万元在柜台业务员的注视下,数了好多遍,那是我第一次见这么钱(09年)

培训班的事情就不说了,从刚开始的二指禅敲键盘,以及对 Java 一无所知,不过培训班氛围不错都是大四学生,有不会的大家都相互帮助。

培训班期间某次团建

我在编程这方面还是有点天赋的,很快到毕业的时候,已经给同班其他人讲编程了。



3


入职2周就被辞退了。


培训班会推荐几个公司,我是第一批推荐名单里的,很快就拿到入职的 Offer 了。

对比了一下,选择当时李嘉诚儿子的一家公司,是港企。

确实不一样,入职先培训一个月再上岗,那一批入职了18个人,其中就有我们培训中的5个人。

当时心态还是学生状态, 做出成果之后也不主动汇报,一个人坐在角落里面瞎捣鼓。

2周后,我被辞退了。

给我姐打电话的时候,我姐说,关键18个人里面仅仅辞退了2个人,就有你


可能当时也不服气吧,憋着一股劲投了几十家公司,最后被华为的外包公司录取了,人力外包直接到华为公司上班。

一个月工资,1800元。

当时华为比较正规,平时加班有加班费,周末加班双倍工资,于是我疯狂加班,一个月工资3000+。

外包是学不到东西的,虽然领导对我都很不错,入职几个月竟然又搞起了C++编程。

第一份工作,小巴组集体去团建

我一想花1万学的Java不就白费了,而且 Java 未来的就业更广阔一点,我不能就这样走弯了。

9个月后,离职,又找了一家港资,做电信业务,工资4000。

在这家公司,我遇到了人生最好的几个朋友,Jerry、鸽子、不会笑,我们四个人一起入职。

Flyever户外组织,秦岭某个地方

在这家公司和鸽子、不会笑,还创建了一个户外组织 Flyever,其实就是组织一群年轻人去山里玩。

几乎每周都有活动,不是吃饭喝酒唱歌通宵,就是半夜4、5起床去爬山游水,度过了人生中最快乐的一个阶段。

也和Jerry、鸽子、不会笑建立起来了革命友谊,我们四个后来在创业的路上有过多次交集。

在这家公司工作了1年半,从一个初级Java工程师开始做起,走的时候已经可以独立负责一个项目了。

当时又有一个契机

我妈要在老家盖房,我给了2万还不够,又借了亲戚大概十几万,我想了想我这4000的工资。

除去日常花销,要还多少年呀?

听说我们一个同事去了北京工资1万,我同事说那个人技术水平还没有我高,说者无心听者有意。

当年 Jeryy 也要去北漂,他想创业,我说那一起吧。

一起就一起。



4


北漂7年。


他比我早一周到北京,找了一家做 OA 的公司。

那个时候,北京的分钟寺还没拆,一个巨大无比的城中村,我当时拿了3000元,租房一个月1000。

刚去北京第二天,在鸟巢留念

我用了一周时间,拿到了4个Offer。

印象中北京的风是真大,能把我吹上天,当时还用的是小米1,一接电话就死机,耽搁了我好多事。

最高的一家给了1.3万,不过我当时目标很明确,只进互联网公司,1万的月薪入职了一家第三方支付公司。

其实我北漂7年,几乎可以说就在这一家公司干了。


2013年,那真是一个波澜壮阔的时代,也是移动互联网的时代,更是万众创业的时候。

我们公司就在中关村创业一条街附近,当时还叫海淀图书街,因为创业氛围太过浓烈,后面才改名叫做创业街。

Jeryy想创业,我们几乎跑遍了这条街的所有咖啡馆,车库咖啡、3W咖啡等等,周末点上一本咖啡坐上一整天。

一起想创业的点子,一起开发程序做Demo,写商业策划书去融资,刚去的1年,我几乎没有任何空余时间。

失败是必然的。

Flyever,被我带到了北京

组建了一个叫做陕西人在北京的

继续组织爬山、吃饭、唱歌、喝酒

不过,我工作的那家支付公司1年后迎来了一个契机。

当时互联网金融大行其道,我们作为第三方支付公司,董事长旗下还有不少其它业务需要融资。

于是决定要做一个互联网借贷平台,当时称P2P,我们的模式是B2P,企业向用户借钱,给用户利息。

刚开始是一个百度过来的高管负责,也是清华大学毕业的,结果干了半年后,这名高管自己创业了。

团队也被带走了,技术开发就剩了一个人。


我的领导的领导的领导,临危受命要把这项目接下来,但是找不到合适的人选来负责落地。

我们那一批来不少人,但大部分技术高手1年后都离职了,我其实也刚好找到了外部的工作。

领导说让我接手,我说可以呀,得涨工资,领导说行,那就我干了。

领导说,可以让我在部门调两个人过去,我选择了一个实习生,一名年轻有潜力的程序员。

就这样把这个项目接了起来。


一个月后项目上线,当天融资了1000万;但没过多久,一天的融资能力就变成了好几个亿。

项目成了,从一个项目组变成集团的一个子公司。

3年时间,

我就从一个项目组长,变成了技术经理、部门经理(测试、运维都管),再到公司的技术负责人。

2015年,北戴河团建
生命不息,奋斗不止!

互联网金融真是一个疯狂的年代,是我人生中最忙的一个阶段,也是我成长最为迅速的一个阶段

早上第一个来公司,晚上也几乎是最晚离开,23点之前没有离开过公司,有一次下班出车祸也就隔了一天又去上班了。

因为所有的事儿,都是必须我来扛。


16年,

也就是那个时候,我觉得应该把我段人生经历记录下来,特别是在互联网金融公司工作的那些事。

太好玩了。

高并发、大数据、微服务、分布式、黑客攻击、黑客勒索等等,我们又用的是市面上最新的技术栈,遇到了很多很多问题,也解决了很多很多问题。

我想要有一个窗口和技术人交流。

就到博客园写文章,没想到写一篇火上一篇,1年的时间,我就成为博客园推荐博客排名前10。

老版博客园的推荐博客列表

也写了一些开源项目,Github关注数量中国排名前50。

1年后,开通了个人公众号纯洁的微笑。


2017年,因为母公司要上市,我们被卖给了海淀国资委,公司的风格一下子就变了。

于是,我离职又重新去了母公司。

从这个互联网金融公司离开时

团队瞒着我,送了一个全体签名的短袖


从一名架构师开始做起,负责公司新支付系统的大数据平台建设,处理每天几十亿交易数据。

半年后,连跳3级被提拔为研发副总,当时研发事业部已经有超过100+的研发人员。

我只负责一个事情,把公司研发的第四代收单平台,推动上线迁移替换旧的收单系统。

中间又是遇到了 N 多的事情,除了技术问题之后,在高管的位置上自然有其它是非在其中。

有时候,你不站队也是一种站队。


18年,萌生去意,但老领导们提拔我不容易,至少要有知遇之恩,又咬着牙坚持了1年。

2018年,上海出差

19年,研发中心出现一次事故,借此就离开了。

19年离职的时候,我的副业自媒体收入早已经超过了主业,收入这方面倒也不是很在乎。

只是那个时候,也有别的互联网公司开出年薪百万工资挖我去做技术总监,当然了也是和支付相关的。

那我就面临人生一个最重要的选择,继续在北京互联网公司做高管,还是尝试一个人做点事情。

其实也没太多纠结,因为上班确实上够了。

从09年开始培训到19年离职,我的每一份工作和上一份工作都是连着的,10年时间没休息过。

HR劝我的时候,我说你觉得我现在创业风险大,还是几年后创业风险大,HR说应该是几年后吧。

我说,那就对了。



5


自由职业


离职之后,我就成为自由职业了。

那个时候,我还不敢对外说是创业,毕竟在我的印象中,创业应该是一件蛮大的事情了。

那个时候,我只能养活自己。

在离职之前,公司在美国有一个业务,需要派别人过去,我当时也申请了,顺势办理了美国10年签证。

于是,离职第一件事,搬家。

从三环边搬到五环旁,先改变自己的居住环境,毕竟自由职业要在家里上班的。

第二件事情,就是到处溜达,当然也包括美国。

现实自驾草原天路,再是北海道那一带,然后就是环京大环线,还在深圳附近自驾来半个月。

感觉还是不过瘾,又去美国旅游了一个月,从东海岸到西西海岸,从黄石公园到约书亚树国家公园。

2019年,纽约时代广场

所以,自由职业的头一年,大概就是不断的旅游,不断的折腾自媒体事业。


不过,从美国回来之后,让我意识到了一件事。

好像出国旅游花不了多少钱,既然是这样,何不计划一下环游世界,我从来都是一个说干就干的人。

要环游世界,那就要把英语学好,也要把北京的房子退了(一个月租金6500,几乎一半时间都空着)。

当时的计划是这样的。

第一步,把北京房子退了,东西都打包回老家。

第二步,在菲律宾报了一个语言学校,3个月先把英语给学扎实了,并且要拿到托福证书。

第三步,西安去亚洲,再去新西兰澳洲,最后环游欧洲,欧洲走完了再说后面的人生计划。


如果不是当初的那一场疫情,还不知道现在我在世界的哪个角落呆着,不知道从事着什么样的工作?

谋事在人,成事在天!



6


回到西安,创业


2019年,春节。

行李均已经邮寄到了老家,我从北京回到西安,准备在西安待上几天见见老朋友回家过春节。

当时菲律宾签证已经搞定,菲律宾当地的学校也联系好了,就连定金也给学校交了。

同时日本、新西兰的签证也办理好了。

一切静等在老家过完春节,开启自己环游世界的人生。


我在西安计划住5天,到了第3天就从新闻上传出,武汉那边好像出了一点事情,而且有蔓延的趋势。

到第3天,我看趋势不太对,没有坐班车,就打车直接回老家了。

在老家整整呆了6个月,这应该是我毕业以后,在老家呆过最久的一段时间了。

在老家的年轻人,也都陆陆续续回城市工作了,村里面的老大爷老大哥问我,你怎么还不走。

我是闲不住的人,既然环球旅游无望了,那就踏踏实实创业。

到西安后,就申请创建了公司。

在淘宝上,花了 600 元买了一个很大的黑色桌子,放在了客厅,作为办公桌,我坐这边,不会笑青年坐对面。

就这样开启创业了。


1月后,又搬到了不会笑青年家的客厅。

2020年,不会笑青年家的客厅

在他们小区可以打乒乓球,于是每天下午3点,无论夏日还是寒冬,我们都准时下去和老大爷抢场地打乒乓球。

1年后(2022年),不会笑青年要结婚,又搬到我新装修的房子客厅办公,顺势又把团队从2个人扩展到4个人。

公司变成了4个人。

集团活动从乒乓球又变成了羽毛球,于是4个人每天下午3点,又准时去小区打羽毛球。

这一打又是1年。


到了2023年,AI爆发。

我们觉得这是未来的大趋势,公司的整体发展方向全部转向AI,于是创建了 AI 俱乐部星球。

AI俱乐部用户已高达800人,AI俱乐部社群的推出

代表公司全部转向AI创业,后面的业务都和AI有关系。

2023年7月,又把公司从西安东北角搬到了西南角的高新区,终于有了一个相对正式的办公室。

搬家有两方面的原因:

一方面,不会笑青年当时住高新,来回通勤的压力很大;另一方面,想找一个办公楼方便后续招聘扩张。


搬家1个月后(2023年9月),掩体来西安旅游。

带来了AI变现训练营这个项目,我们当时测试了一下,一个月的时间80%的人可以月入过万。

那还有什么说的,全力 All in 继续搞!

又1年后,这个项目越做越大,团队规模又翻了一倍,从最初的4个人变成了8个人。

原来的办公司又坐不下了。

2023年,第一次搬到写字楼办公,在这个小办公室里面,加了N多次班。

今年7月,又重新租下了现在的办公室,也就是视频开头我拍摄的那个办公环境,可以容纳12人。

现在的这个办公室,才真正有点像一家公司的样子,在这之前我们都是草根游击队。

未来,公司能够发展多大,能够赚多少钱?已经不是我第一关心的事情了,更关心的是有没有更享受创业的这个过程。

从来没有想过要做多大的一个公司,一直想的是怎么做一个小而美的公司,有激情有奋斗有冲劲但又不是那么忙。

当然了,现在还差很远,还在既苦逼又享受的那个阶段。


人必有痴,而后有成,痴于物,而成于心。

09年到24年,

眨眼间,已经过去了15年,最大的感慨就是,人如果真要做成一件事,是不容易的。

特别对于我们这种出身贫穷的普通人。

每一步都不能错,错了就没有回头路能走,能够帮你的人永远只有你自己而已。

当然除了下苦功夫努力,也需要机缘更需要运气和贵人,才能让努力可以开花结果。

我特别喜欢一段话,作为这篇文章的结尾:

北冥有鱼,其名为鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也,怒而飞,其翼若垂天之云


作者:纯洁的微笑
来源:mp.weixin.qq.com/s/TBlJdOfzDCYDZ9NQVcTneQ
收起阅读 »

极狐 GitLab 双重风波,Git 私服该如何选择?

极狐 GitLab 的双重风波 (一)间谍风波 前两天,极狐 GitLab 陷入了员工实名举报公司高管为美国间谍的漩涡之中。这一事件犹如一颗重磅炸弹,在业界引起了轩然大波。尽管目前尚未被实锤,但此消息一经传出,便迅速吸引了众多目光,也让极狐 GitLab 的企...
继续阅读 »

极狐 GitLab 的双重风波


(一)间谍风波


前两天,极狐 GitLab 陷入了员工实名举报公司高管为美国间谍的漩涡之中。这一事件犹如一颗重磅炸弹,在业界引起了轩然大波。尽管目前尚未被实锤,但此消息一经传出,便迅速吸引了众多目光,也让极狐 GitLab 的企业形象蒙上了一层阴影。这一事件不仅引发了内部员工的震动,也使得外界对其公司的信任度产生了动摇,其后续发展仍有待进一步观察。


(二)绝户网计划


就在今天早上,极狐 GitLab 的 “绝户网计划” 也浮出水面。据爆料,极狐 GitLab 要求销售人员在与使用 GitLab CE(社区版)免费版的用户交流时,引导用户明确表达正在使用免费版,并将此作为证据存档,以便未来可能的发函或起诉。 从其告知函来看,极狐 GitLab 强调其核心产品 GitLab 受法律保护,指出用户涉嫌未经授权使用软件,违反相关法律法规。公司内部对此计划也存在分歧,部分销售和技术同事反对,认为这会得罪潜在客户,影响长期生意,但公司高层却决定推行,寄希望于小部分害怕被起诉的用户付费来提升今年业绩。此计划引发了广泛争议,因为 GitLab 的免费版在全球范围内被大量程序员使用,且一直以来被认为是可商用的,这一举措无疑打破了以往的认知,让许多用户感到不满和担忧。



告知函内容如下:



GitLab 替代品分析


巧合的是,前不久我刚好对 GitLab 私服替代品进行了一波调研,同时成功将 GitLab 仓库迁移到新的仓库中,这次正好分享一下替代品的优缺点。


(一)Gitea



  • 优点

    • 轻量级:资源占用较低,对于硬件配置要求不高,适合小型团队或个人开发者在有限资源环境下搭建 Git 私服。

    • 功能较为完善:能够满足基本的代码托管、版本控制、分支管理等常见需求,支持多种主流操作系统的部署。

    • 社区活跃:有大量的开发者参与社区贡献,遇到问题时能够在社区中较快地获取解决方案和技术支持。



  • 缺点

    • 在大规模团队协作和复杂项目管理场景下,一些高级功能可能相对薄弱,例如在代码审查流程的精细化管理方面不如一些大型商业 Git 工具。

    • 与一些大型企业级工具相比,其集成能力可能稍逊一筹,在与其他企业内部系统如 CI/CD 平台、项目管理软件等的深度整合上存在一定局限性。

    • Gitea 的域名和商标在社区不知情、未经社区批准的情况下被转让给一家营利性公司,有一定开源风险。




(二)Gogs



  • 优点

    • 易于安装和使用:安装过程简单,即使是技术基础相对薄弱的用户也能快速上手搭建自己的 Git 私服。

    • 性能表现不错:在处理中等规模的代码仓库和团队协作时,能够保持较为稳定的运行速度和响应效率。

    • 界面简洁:对于注重简洁操作界面的用户来说,Gogs 的界面设计较为友好,易于操作和管理。



  • 缺点

    • 功能扩展性相对有限:虽然基本功能齐全,但在面对一些特殊需求或新兴技术场景时,可能难以通过插件或扩展机制快速实现功能增强。

    • 社区规模和活跃度不如一些头部的 Git 工具,这可能导致在长期发展过程中,功能更新和问题修复的速度相对较慢。




(三)OneDev



  • 优点

    • 强大的项目管理功能:除了基本的 Git 代码托管功能外,OneDev 在项目管理方面表现出色,提供了丰富的项目进度跟踪、任务分配、团队协作等功能,适合以项目为导向的团队使用。

    • 支持多语言:能够很好地适应不同语言环境下的开发团队需求,方便国际化团队协作。

    • 可定制性强:用户可以根据自己团队的特定需求,对 OneDev 的功能和界面进行一定程度的定制,以提高工作效率。



  • 缺点

    • 学习成本相对较高:由于其功能丰富且较为复杂,新用户需要花费一定时间来熟悉和掌握其操作流程和功能配置。

    • 部署相对复杂:相比一些轻量级的 Git 私服工具,OneDev 的部署过程需要更多的配置和环境依赖,对于运维人员的技术要求较高。




(四)GitBucket



  • 优点

    • 与 GitHub 风格相似:对于熟悉 GitHub 操作的用户来说,GitBucket 的界面和操作方式具有较高的相似度,降低了用户的迁移成本。

    • 支持多种数据库:可以灵活选择数据库类型,如 MySQL、PostgreSQL 等,方便根据现有技术架构进行整合。

    • 插件丰富:提供了大量的插件来扩展其功能,例如代码质量检测、代码统计等插件,能够满足不同团队的多样化需求。



  • 缺点

    • 性能优化方面可能存在不足:在处理大规模代码库和高并发请求时,可能会出现性能瓶颈,需要进行额外的性能调优工作。

    • 社区文档相对不够完善:在一些复杂功能的使用和问题排查上,由于社区文档的不全面,可能会给用户带来一定困扰。




(五)Gitblit



  • 优点

    • 专注于 Git 核心功能:对 Git 的核心功能支持得非常稳定和高效,如代码托管、分支管理、权限管理等,适合那些只需要基本 Git 功能且追求稳定性的团队。

    • 轻量级且资源占用少:在硬件资源有限的情况下,能够稳定运行,不会对服务器资源造成过大压力。

    • 安全性能较高:提供了较为完善的权限管理和安全机制,能够有效保护代码仓库的安全。



  • 缺点

    • 功能相对单一:缺乏一些现代 Git 工具所具备的高级项目管理和团队协作功能,如敏捷项目管理工具集成等。

    • 用户界面相对简陋:在美观度和交互体验上不如一些新兴的 Git 私服工具,可能会影响用户的使用感受。




Forgejo 的选择理由


经过个人调研和综合考量,最终选择了 Forgejo 替代 GitLab。Forgejo 是 Gitea 的一个硬分叉,它继承了 Gitea 的所有优点,如轻量级、功能完善、社区活跃等。同时,Forgejo 还具有自身独特的优势,其界面美观,给用户带来了良好的视觉体验;部署简单,降低了迁移成本和技术门槛,即使是非专业运维人员也能轻松上手;加载速度快,能够提高团队成员的工作效率,减少等待时间。


在迁移项目时,可以参考我之前写的迁移教程:



综上所述,个人认为 Forgejo 在应对极狐 GitLab 近期风波所带来的不确定性时,是一个较为理想的 Git 私服替代品。


相关资料



作者:子洋
来源:juejin.cn/post/7446578471901626420
收起阅读 »

面试了一个45岁的程序员,他要月薪2万,我同意了。结果面试完送他到电梯口,他说14薪月薪1.8万也行。

电梯口最后的那句话,让我整整失眠一夜。震惊!昨天的一场面试,让这个面试官陷入深深的自我反思。作为一个互联网公司的技术总监,8年来面试过上千名候选人,但这次经历让面试官久久不能平静,甚至彻夜难眠...在BAT大厂干了12年技术管理,面试过形形色色的程序员。有意气...
继续阅读 »

电梯口最后的那句话,让我整整失眠一夜。


震惊!昨天的一场面试,让这个面试官陷入深深的自我反思。作为一个互联网公司的技术总监,8年来面试过上千名候选人,但这次经历让面试官久久不能平静,甚至彻夜难眠...


在BAT大厂干了12年技术管理,面试过形形色色的程序员。有意气风发的应届生,有经验丰富的大牛,有从外企跳槽的专家,但从没有一次面试像这次一样,让我感受如此复杂,如此揪心。


昨天下午3点,一个穿着深色格子衬衫的中年人准时出现在会议室门口。他个子不高,微微有些谢顶,背着一个看起来有些年头的双肩包。包的肩带有些磨损,但被主人仔细地缝补过。


"您好,我是来面试Java开发岗位的。"他的声音透着一丝紧张,手里紧握着一份打印得整整齐齐的简历。


看了看简历,我心里一惊 —— 45岁,20年开发经验,科班出身,Java后端出身,精通分布式架构,曾经在几个知名公司待过,技术栈相当扎实。"这么资深为什么还在找工作?这个年龄段找工作会遇到什么困难?"我心里冒出一连串疑问。


面试正式开始。我们聊了他最近在研究的技术领域,他说起SpringCloud微服务架构时,眼睛里闪烁着光芒:"最近我在研究服务网格,看到社区有个问题,还提了个PR..."


当我抛出一个个技术难题,他的回答让我眼前一亮。Spring源码分析、JVM调优、分布式架构设计、性能优化经验...每个答案都精准到位,不仅能说出理论基础,更难得的是能结合实际场景,说出各种坑的实践经验。这绝对是一位技术大牛!


面试中他提到一个有趣的细节:"有次生产环境遇到一个诡异的Bug,年轻同事们试了好多方案都没解决。我凭着多年经验,想起12年前遇到过类似问题,最后找到根源是JVM的一个默认参数设置有问题..."


就在我准备问收入预期时,他的手机响了。他有些慌乱地掏出手机,看了一眼赶紧按掉:"对不起,是我女儿的电话,她今天考试..."我注意到他手机屏幕上的裂痕和掉漆的边框。


"您期望的薪资是多少?"问到这个问题时,他略显犹豫,目光有些闪躲。


"如果可以的话...希望月薪2万。"他的声音有点发抖,"我知道可能比市场价低一些..."


2万?我愣住了。以他的技术水平和经验,在深圳互联网公司要个35k-40k一点问题都没有。难道是我听错了?记得上个月刚招的一个3年经验的小伙子,谈价时底气十足地要价25k,最后我们也给了。


"您确定只要2万吗?以您的能力和经验..."


"是的,我觉得够用了。"他打断了我的话,语速突然变快,"主要是想找一个稳定的工作环境。现在这个行业...您也知道...我的年龄...其实能有工作机会我就很感激了。"


看着他局促不安的样子,我决定不再讨价还价:"好的,2万没问题,我们这边非常认可您的能力。"


他的眼睛一下子亮了起来,露出欣慰的笑容,甚至有些激动:"真的非常感谢!我一定会好好干,加班什么的完全没问题,我身体很好的,每天都在坚持跑步..."


面试结束后,按惯例我送他到电梯口。看得出来他心情不错,脚步都轻快了许多。


就在电梯门快关上的瞬间,他突然回头说了一句话:"其实...如果是14薪的话,月薪1.8万也可以...我就是希望能有个稳定的岗位..."


那一刻,我的心狠狠地揪了一下。电梯门缓缓关上,我却久久站在原地。


回到办公室,我的脑海里一直回荡着他说的那句话。打开电脑,我忍不住搜索了一下"中年程序员"这个话题。一篇篇文章像刀子一样戳着我的心:"35岁程序员职业危机"、"互联网公司青睐年轻人"、"中年程序员如何自救"...


原来在这个年轻人主导的互联网行业,45岁居然已经被贴上"高龄"的标签。这个数字像一道无形的门槛,挡住了多少技术大牛的职业发展之路?


想起面试时的细节:问到加班时,他特别强调自己的抗压能力,说周末随叫随到,身体素质一点问题都没有。一个45岁的技术大牛,却要用"随叫随到"来证明自己的价值...这句话背后,是多少无奈和妥协?


这个行业太狂热地追逐年轻,以至于忽视了经验的珍贵。 那些深夜里背后的debug经历、重重坑里趟出来的实践经验、危机时刻的临危不乱,都是年轻人用996都换不来的宝贵财富。


我开始回想他说过的话:"现在的新技术学起来也很快,我每天都在看技术博客,Github上的开源项目也一直在关注..."这句话背后,是多少个加班后的深夜自学时光?是多少个被质疑"老了学不动"后的倔强证明?


突然想起去年一个深夜,生产环境出现重大事故,年轻员工们手忙脚乱,是一个45岁的老程序员站了出来,凭着多年经验在半小时内定位到问题。那一刻,我就明白了什么叫"经验的价值"。


我立刻给HR打了电话:"这位候选人非常合适,请按2万月薪给offer,年终奖至少3个月。对了,入职后把他安排到王工组,让他带带新人。"


与其花20万培养一个年轻人踩坑,不如用同样的钱留住一个踩过无数坑的技术专家。 这不仅是对团队负责,更是对整个行业的价值观负责。


今天早上,我收到了他愉快的入职确认。想起昨天电梯口那一幕,我暗暗发誓:一定要让团队里的每个人,不分年龄,都能被公平对待,都能实现自己的价值。


也许有一天,当我也到了45岁,也会面临同样的困境。但我希望到那时,整个行业都能多一些包容,少一些偏见。技术,永远不该被年龄定义。


朋友们,你们觉得技术行业真的存在"年龄歧视"吗?在你心目中,技术人的黄金年龄是多少?欢迎在评论区分享你的想法和经历。


PS:今天我特意找物业,把他的停车位安排在了地下车库最方便的位置。这或许是我能做的,最微小但也最真诚的关照了。


PPS:刚才和CTO聊了这事,我们决定在公司推动一个"经验导师"计划,专门邀请一些资深程序员来做技术分享。毕竟,程序员的价值,不应该用年龄来衡量。


为什么他愿意主动降薪?


他的降薪行为背后,藏着许多深层次的职场逻辑。


1. 现实的自知之明


45岁,对于程序员来说已经算是“高龄”。在互联网行业,35岁被称为“职场分水岭”,他显然很清楚自己的处境。


他主动降低薪资,是在用“性价比”消除我的顾虑,同时也为自己争取更多的机会。


2. 对稳定的渴求


从简历上看,她的职业生涯很稳定,前一份工作待了十几年。这种“稳定感”不仅是他的一种职场标签,也是他的核心诉求。对于45岁的他来说,找一份能长期发展的工作,远比短期的高薪重要。


3. 一种不显山露水的智慧


他看似是退让,实际上是在“示弱”中展现了自己的诚意。他让招聘方觉得,他不是一个只谈薪资、不顾团队的人,而是愿意为公司利益妥协的合作者。这样的沟通方式,比硬碰硬的谈判更容易让人接受。


高龄程序员的职场困境与价值


他的故事,让我重新思考了“高龄程序员”在职场中的价值和困境。


1. 困境:行业的无情现实


  • 技术更新速度快,高龄程序员容易被贴上“跟不上时代”的标签。

  • 用人成本高,很多企业更愿意选择年轻且“便宜”的新人。

  • 体力和精力相比年轻人有劣势,难以适应高强度加班文化。


2. 价值:丰富经验不可替代


  • 高龄程序员的优势在于对复杂系统的理解能力,这种能力并不是通过短时间学习能掌握的。

  • 他们往往有很强的团队协作能力,能起到“传帮带”的作用。

  • 稳定性和责任感是他们的职业标签,尤其适合对稳定性要求高的岗位。


这次面试经历让我明白了两个道理:


  1. 职场不是简单的年龄比较,而是价值的体现。
    他虽然45岁,但他的经验和态度是团队里稀缺的宝藏。年轻人的速度和创造力,和老员工的稳定与深度,是互补关系,而不是对立关系。


  2. 谈判不是赢输,而是双赢。
    他的降薪行为,并不是单纯的退让,而是一种职场智慧。他通过主动示弱,换来了更多的机会,也打消了用人方的顾虑。


朋友们,你们对高龄程序员怎么看?你是否愿意为团队引入一个经验丰富但年龄偏大的同事?欢迎在评论区分享你的看法!


作者:小乐

来源:编程技术圈

收起阅读 »

买了个mini主机当服务器

虽然有苹果的电脑,但是在安装一些软件的时候,总想着能不能有一个小型的服务器,免得各种设置导致 Mac 出现异常。整体上看了一些小型主机,也看过苹果的 Mac mini,但是发现它太贵了,大概要 3000 多,特别是如果要更高配置的话,价格会更高,甚至更贵。所以...
继续阅读 »

虽然有苹果的电脑,但是在安装一些软件的时候,总想着能不能有一个小型的服务器,免得各种设置导致 Mac 出现异常。整体上看了一些小型主机,也看过苹果的 Mac mini,但是发现它太贵了,大概要 3000 多,特别是如果要更高配置的话,价格会更高,甚至更贵。所以,我就考虑一些别的小型主机。也看了一些像 NUC 这些服务器,但是觉得还是太贵了。于是我自己去淘宝搜索,找到了这一款 N100 版的主机。


成本的话,由于有折扣,所以大概是 410 左右,然后自己加了个看上去不错的内存条花了 300 左右。硬盘的话我自己之前就有,所以总成本大概是 700 左右。大小的话,大概是一台手机横着和竖着的正方形大小,还带 Wi-Fi,虽然不太稳定。


iowejofwjeofjwoeifjwoe


一、系统的安装


系统我看是支持windows,还有现在Ubuntu,但是我这种选择的是centos stream 9, 10的话我也找过,但是发现很多软件还有不兼容。所以最终还是centos stream 9。


1、下载Ventoy软件


去Ventoy官网下载Ventoy软件(Download . Ventoy)如下图界面


QQ_1727625608185


2、制作启动盘


选择合适的版本以及平台下载好之后,进行解压,解压出来之后进入文件夹,如下图左边所示,双击打开Ventoy2Disk.exe,会出现下图右边的界面,选择好自己需要制作启动盘的U盘,然后点击安装等待安装成功即可顺利制作成功启动U盘。


3、centos安装


直接取官网,下载完放到u盘即可。


QQ_1727625711792


它的BIOS是按F7启动,直接加载即可。


image-20241007222938414


之后就是正常的centos安装流程了。


二、连接wifi


因为是用作服务器的,所以并没有给它配置个专门的显示器,只要换个网络,就连不上新的wifi了,这里可以用网线连接路由器进行下面的操作即可。


在 CentOS 系统中,通过命令行连接 Wi-Fi 通常需要使用 nmcli(NetworkManager 命令行工具)来管理网络连接。nmcli 是 NetworkManager 的一个命令行接口,可以用于创建、修改、激活和停用网络连接。以下是如何使用 nmcli 命令行工具连接 Wi-Fi 的详细步骤。


步骤 1: 检查网络接口


首先,确认你的 Wi-Fi 网络接口是否被检测到,并且 NetworkManager 是否正在运行。


nmcli device status

输出示例:


DEVICE         TYPE      STATE         CONNECTION
wlp3s0 wifi disconnected --
enp0s25 ethernet connected Wired connection 1
lo loopback unmanaged --

在这个示例中,wlp3s0 是 Wi-Fi 接口,它当前处于未连接状态。


步骤 2: 启用 Wi-Fi 网卡


如果你的 Wi-Fi 网卡是禁用状态,可以通过以下命令启用:


nmcli radio wifi on

验证 Wi-Fi 是否已启用:


nmcli radio

步骤 3: 扫描可用的 Wi-Fi 网络


使用 nmcli 扫描附近的 Wi-Fi 网络:


nmcli device wifi list

你将看到可用的 Wi-Fi 网络列表,每个网络都会显示 SSID(网络名称)、安全类型等信息。


步骤 4: 连接到 Wi-Fi 网络


使用 nmcli 命令连接到指定的 Wi-Fi 网络。例如,如果你的 Wi-Fi 网络名称(SSID)是 MyWiFiNetwork,并且密码是 password123,你可以使用以下命令连接:


nmcli device wifi connect 'xxxxxx' password 'xxxxx'

你应该会看到类似于以下输出,表明连接成功:


Device 'wlp3s0' successfully activated with 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.

步骤 5: 验证连接状态


验证网络连接状态:


nmcli connection show

查看当前连接的详细信息:


nmcli device show wlp3s0

三、VNC远程连接


桌面还是偶尔需要用一下的,虽然用的不多。


root@master:~# dnf install  -y  tigervnc-server
root@master:~# vncserver
bash: vncserver: command not found...
Install package 'tigervnc-server' to provide command 'vncserver'? [N/y] y


* Waiting in queue...
* Loading list of packages....
The following packages have to be installed:
dbus-x11-1:1.12.20-8.el9.x86_64 X11-requiring add-ons for D-BUS
tigervnc-license-1.14.0-3.el9.noarch License of TigerVNC suite
tigervnc-selinux-1.14.0-3.el9.noarch SELinux module for TigerVNC
tigervnc-server-1.14.0-3.el9.x86_64 A TigerVNC server
tigervnc-server-minimal-1.14.0-3.el9.x86_64 A minimal installation of TigerVNC server
Proceed with changes? [N/y] y


* Waiting in queue...
* Waiting for authentication...
* Waiting in queue...
* Downloading packages...
* Requesting data...
* Testing changes...
* Installing packages...

WARNING: vncserver has been replaced by a systemd unit and is now considered deprecated and removed in upstream.
Please read /usr/share/doc/tigervnc/HOWTO.md for more information.

You will require a password to access your desktops.

getpassword error: Inappropriate ioctl for device
Password:

之后在mac开启屏幕共享就可以了


image-20241007225855305


QQ_1728313164289


四、docker 配置


docker安装我以为很简单,没想到这里是最难的一步了。安装完docker之后,总是报错:


Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded

即使改了mirrors也毫无作用


{
"registry-mirrors": [
"https://ylce84v9.mirror.aliyuncs.com"
]
}

看起来好像是docker每次pull镜像都要访问一次registry-1.docker.io,但是这个网址国内已经无法连接了,各种折腾,这里只贴一下代码吧,原理就就不讲了(懂得都懂)。


img


sslocal -c /etc/猫代理.json -d start
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip

sudo yum -y install privoxy

vim /etc/systemd/system/docker.service.d/http-proxy.conf


[Service]
Environment="HTTP_PROXY=http://127.0.0.1:8118"

/etc/systemd/system/docker.service.d/https-proxy.conf


[Service]
Environment="HTTPS_PROXY=http://127.0.0.1:8118"

最后重启docker


systemctl start privoxy
systemctl enable privoxy
sudo systemctl daemon-reload
sudo systemctl restart docker

QQ_1729956484197


五、文件共享


sd卡好像读取不了,只能换个usb转换器


fdisk -l
mount /dev/sdb1 /mnt/usb/sd

在CentOS中设置文件共享,可以使用Samba服务。以下是配置Samba以共享文件的基本步骤:



  1. 安装Samba


sudo yum install samba samba-client samba-common


  1. 设置共享目录


    编辑Samba配置文件/etc/samba/smb.conf,在文件末尾添加以下内容:



[shared]
path = /path/to/shared/directory
writable = yes
browseable = yes
guest ok = yes


  1. 设置Samba密码


    为了允许访问,需要为用户设置一个Samba密码:



sudo smbpasswd -a your_username


  1. 重启Samba服务


sudo systemctl restart smb.service
sudo systemctl restart nmb.service


  1. 配置防火墙(如果已启用)


    允许Samba通过防火墙:



sudo firewall-cmd --permanent --zone=public --add-service=samba
sudo firewall-cmd --reload

现在,您应该能够从网络上的其他计算机通过SMB/CIFS访问共享。在Windows中,你可以使用\\centos-ip\shared,在Linux中,你可以使用smbclient //centos-ip/shared -U your_username


QQ_1730035390803


参考:


https://猫代理help.github.io/猫代理/linux.html


stackoverflow.com/questions/4…


作者:wwwzh
来源:juejin.cn/post/7430460789067055154
收起阅读 »

程序员高效能指南:改变命运的 6 个关键习惯

凌晨 3 点,办公室里只剩下屏幕的幽光。又一个被 Bug 困扰的不眠之夜,你是否开始怀疑:为什么同样是写代码,有些人能轻松应对,而自己却总是加班救火?为什么有的同事技术能力突飞猛进,而自己似乎原地踏步? 答案也许不在技术本身,而在于我们的工作习惯。正如斯蒂芬·...
继续阅读 »

凌晨 3 点,办公室里只剩下屏幕的幽光。又一个被 Bug 困扰的不眠之夜,你是否开始怀疑:为什么同样是写代码,有些人能轻松应对,而自己却总是加班救火?为什么有的同事技术能力突飞猛进,而自己似乎原地踏步?


答案也许不在技术本身,而在于我们的工作习惯。正如斯蒂芬·R·柯维在《高效能人士的七个习惯》中所说:"我们看待世界的方式完全取决于我们自己的感知。"今天,让我们从程序员的视角出发,聊聊那些能让你事半功倍的 6 个习惯。


1. 主动积极


在编程的世界里,有两种程序员:被动的和主动的。


被动的程序员总是抱怨外部环境,比如公司制度、项目资源不足,甚至相信看几个“速成教程”就能改变命运。


而主动的程序员则会专注于自己能掌控的事情,比如提升技能、参与开源项目、参加技术竞赛,甚至主动寻找更好的职业机会。


如何做到主动积极?



  • 专注于“影响圈” :不要纠结于那些你无法改变的事情,比如公司政策或市场环境,而是把精力放在你能控制的事情上,比如学习新技术、优化代码质量。

  • 为自己的职业负责:不要等待别人给你机会,而是主动创造机会。比如,定期更新简历、参加技术社区活动,或者尝试新的编程语言。


主动积极的程序员明白,职业发展是自己的责任,而不是外界的恩赐。



2. 以终为始


很多程序员在工作中随波逐流,接到任务就埋头苦干,却从未思考过最终的目标是什么。结果就是,花了大量时间,却发现方向错了。斯蒂芬·柯维提出的“以终为始”理念,强调在开始任何事情之前,先明确最终的目标。


如何在编程中应用这一习惯?



  • 明确项目目标:在开始一个新项目时,先搞清楚最终的交付成果是什么。功能需求和非功能需求有哪些?用户体验的核心是什么?

  • 制定清晰的计划:花 30 分钟规划项目,可以节省 10 小时的开发时间。比如,先需求分析,再决定系统架构,而不是直接开始写代码。


记住,编程不仅仅是写代码,更是解决问题的艺术。明确目标,才能让你的努力更有方向。



3. 先做最重要的事


程序员的日常工作中,往往会被各种紧急任务打断,比如修复 Bug、处理线上问题。


但如果你总是被这些琐事牵着鼻子走,就会忽略那些对长期发展更重要的事情,比如学习新技术、优化系统架构。


如何区分重要和紧急?



  • 使用艾森豪威尔矩阵:将任务分为四类:



    1. 重要且紧急:立即处理,比如修复生产环境的重大 Bug。

    2. 重要但不紧急:安排时间,比如学习新技术、优化代码。

    3. 不重要但紧急:尽量委派,比如回复一些无关紧要的邮件。

    4. 不重要且不紧急:直接忽略,比如刷社交媒体。




优先处理“重要”的任务,因为这些任务决定了你的长期成长。



4. 考虑双赢


程序员的工作并不是孤军奋战,而是与团队协作完成的。无论是与其他工程师合作,还是与产品经理、设计师沟通,双赢的思维都至关重要。


双赢并不是让步,而是找到一种对双方都有利的解决方案。


如何培养双赢思维?



  • 欣赏团队的多样性:每个人都有自己的优势和视角,学会倾听和尊重他人的意见。

  • 建立信任:通过高质量的代码和积极的态度,赢得团队的信任。

  • 共同成长:在代码审查中,不仅指出问题,还要提出改进建议;在项目中,主动分享自己的经验和知识。


双赢的思维不仅能让团队更高效,还能帮助你建立长期的职业人脉。


5. 沟通的艺术1 + 1 > 2 的力量


程序员之间的沟通,不仅仅是语言上的交流,更是通过代码和文档进行的“无声对话”。


如果你写的代码晦涩难懂,或者文档不清晰,就会给团队带来额外的负担。


如何提升沟通能力?



  • 写清晰的代码:变量命名要有意义,注释要简洁明了。记住,代码是写给人看的,机器只是顺便执行。

  • 站在用户的角度思考:设计界面时,考虑用户的使用习惯;编写错误提示时,尽量清晰友好,而不是让用户感到困惑。

  • 倾听他人的意见:在团队讨论中,先理解别人的观点,再表达自己的看法。


如何实现高效协作?



  • 参与代码审查:通过审查他人的代码,学习新的技巧,同时也能帮助团队提高代码质量。

  • 结对编程:两个人一起编程,可以互相补充思路,避免遗漏问题。

  • 知识分享:定期组织技术分享会,或者在团队中推广最佳实践。


优秀的程序员,不仅能写出高质量的代码,还能通过代码与团队和用户“对话”。



6. 持续学习,永不止步


技术更新迭代飞快,程序员如果不持续学习,很容易被淘汰。磨砺锯子的习惯,强调在忙碌的工作中,抽出时间提升自己。


如何保持学习的动力?



  • 学习新技术:每年掌握一门新语言或框架,比如从 node 转向 rust,或者学习嵌入式技术。

  • 参与技术社区:通过开源项目、技术论坛、群聊或者线下活动,与其他程序员交流经验。

  • 关注行业动态:阅读技术博客、观看技术演讲,了解最新的趋势和工具。


就像磨刀不误砍柴工,持续学习不仅能提升你的技术水平,还能让你在职业生涯中始终保持竞争力。


改变习惯并不容易,但只要你愿意从今天开始,一点点调整自己的行为,就能逐渐看到改变的力量。



作者:云牧
来源:juejin.cn/post/7440676461169131555
收起阅读 »

科技业裁不停!软件工程师实惨,今年科技公司已裁员 13.7 万人

【新智元导读】科技行业的就业市场正在发生重大变革,人才供需逆转,初级职位减少,技能要求增加,求职竞争加剧。 科技行业曾是众多人才竞相追求的热门领域,但如今却面临着职位减少的挑战。 根据 Indeed.com 的数据,自 2020 年 2 月以来,软件开发岗位的...
继续阅读 »
【新智元导读】科技行业的就业市场正在发生重大变革,人才供需逆转,初级职位减少,技能要求增加,求职竞争加剧。

科技行业曾是众多人才竞相追求的热门领域,但如今却面临着职位减少的挑战。


根据 Indeed.com 的数据,自 2020 年 2 月以来,软件开发岗位的招聘广告数量已经下降了超过 30%。


Layoffs.fyi 网站的报告也显示,今年科技行业的裁员潮仍在继续,自 1 月份以来,已有约 13.7 万个工作岗位被裁减。



软件工程师在招聘网站上出现的频次对比,以 2018 年 1 月作为基准 100。来源:ADP


对于长期在就业市场占据优势的科技行业来说,这种急剧的变化不仅仅是短期的不适,而是整个行业正在经历的一次根本性的劳动力需求调整,一些从业者正被市场淘汰。


47 岁的 Chris Volz,一位居住在加利福尼亚州奥克兰的工程经理,自 90 年代末就开始在科技行业工作,但在 2023 年 8 月被一家房地产技术公司解雇。他表示:「这次的情况感觉非常、非常不同。」



Volz 之前的经历中,大部分工作机会都是通过猎头或内部推荐获得的。然而现在,他发现他的人脉网络中的许多人也都被裁员了,这迫使他不得不在职业生涯中第一次主动向外投递简历。


虽然在疫情期间,随着消费者将日常生活和消费活动转移到线上,科技公司迎来了招聘热潮,大量扩充员工队伍。


人才争夺战如此激烈,以至于公司囤积员工,不让他们去往竞争对手方工作;一些员工说,他们实际上是被雇佣来无所事事的。


然而,随着通货膨胀和利率的上升,经济形势迅速变化,导致一些大型科技公司开始大规模裁员。



ADP 研究部主管 Nela Richardson 表示,尽管疫情期间的招聘热潮减缓了整体的下降趋势,但并未改变长期趋势,部分原因是数字领域创新的自然发展轨迹,技术解决方案正在取代传统的人力。


她说, 「在数字领域,你不再像早期那样有很多新的突破。因为有越来越多的技术解决方案,而不仅仅是人的解决方案」 。


科技行业的非技术人员,如市场营销、人力资源和招聘人员,也面临着多次解雇的风险。


James Arnold 在过去的 18 年里一直从事科技领域的招聘工作,但在不到两年的时间里却两次被裁员。


在疫情期间,他在 Meta 担任人力资源,快速招聘新员工。2022 年 11 月,他被解雇了,然后花了将近一年的时间找工作,最后才在行业外找到了一份工作。


Arnold 说,他申请的大多数工作的薪水都比过去低三分之一 。


尽管科技公司的财务状况有所反弹,但一些公司更倾向于依赖顾问和外包职位。


Arnold 认为,疫情证明了远程工作的有效性,这为全球化就业市场打开了新的可能性。


初级职位正在减少


以往,初级职位对于技术实习生来说是一个高薪的起点,他们常常能够获得六位数的年薪,并且有很大机会转正。


但是,最近这一趋势发生了转变。企业开始减少实习机会,并降低了初级职位的招聘数量。


现在,即便是入门级职位,也要求应聘者具备多年的工作经验。


薪酬规划初创公司 Pequity 的首席执行官 Kaitlyn Knopp 观察到,过去薪酬过高和职称与经验不匹配的现象已经得到纠正。


她指出:「我们发现职位级别正在重新调整,人们的经验和职责更加匹配了。」



根据 Pequity 的数据,2024 年薪资增长基本停滞,平均薪资仅比去年增长了 0.95%。


Pequity 还发现,自 2019 年以来,中型企业软件即服务公司为初级职位提供的股权补助平均下降了 55%。


然而,目前失业技术人员和职场新人之间的竞争愈发激烈,而面试机会却在不断减少。


同时,企业对工程师的要求更为全面。


人员招聘公司 Robert Half 和技术实践部执行总监 Ryan Sutton 说,为了提高效率和降低成本,他们希望团队成员不仅具备软技能和协作能力,还应了解公司的人工智能战略和发展方向。


他说道:「他们希望看到更多多才多艺的人才。」



通过网上申请在科技领域找工作毫无结果,于是 Glenn Kugelman 采用了另一种策略:用纸和胶带在曼哈顿悬挂传单,宣传他的 LinkedIn 简介


不少技术人员开始寻求提升自身技能,纷纷报名参加人工智能训练营或其他相关课程。


Michael Moore 是亚特兰大的一名软件工程师,今年 1 月被一家网络应用程序开发公司解雇,在七个月的求职无果后,他决定报读一所网络大学。


摩尔曾通过在线课程学习编程,并表示六年前没有大学学位的他依然顺利找到了工作。


科技公司的战略变化


企业战略也正在发生转变。


科技公司不再追求不惜一切代价的增长,也不再对那些宏伟的「登月计划」进行投资,而是将焦点转向能够带来收入的产品和服务上。


他们减少了对初级职位的招聘,缩减了招聘团队,并放弃了一些不盈利领域的项目和工作,比如虚拟现实和设备。


与此同时,企业开始将大量资源投入到人工智能领域。


2022 年末发布的 ChatGPT 让人们看到了生成式人工智能创造类人内容和潜在行业变革的能力。这引发了投资热潮,人们争相构建最先进的人工智能系统。


在这个领域拥有专业知识的工人成为了少数几个强势群体之一。


从事大型语言模型工作的人员目前在市场上非常抢手,这些模型是 ChatGPT 等产品的基础,从事此类工作的人员年收入远超百万美元。



Pequity 的首席执行官 Kaitlyn Knopp 指出,人工智能工程师的薪资是普通工程师的两到四倍,她认为这是对未知技术的极端投资,导致公司无法在其他人才上进行投资。


甚至科技行业之外的公司也在积极招聘人工智能人才。一位猎头 Martha Heller 表示,五年前,董事会并不像现在这样关注公司的人工智能战略。


科技行业的就业市场正在经历一场深刻的变革。虽然初级职位减少,整体就业竞争加剧,但人工智能等新兴技术领域仍然提供了广阔的就业机会。


对于技术人员而言,不断学习新技能,适应行业变化,是在变革中寻找机遇的关键。


而对于行业来说,这也许是一个重新思考和调整人才培养和引进策略的契机。


参考资料:


http://www.wsj.com/tech/tech-j…


作者:新智元
来源:juejin.cn/post/7418367859011256374
收起阅读 »

我跑通了全球收付款的流程

前言 上周去韩国旅游,在首尔吃美食,坐在咖啡店写代码,Coding Anywhere,感觉很棒。 期间消费,用的是一张 ZA Bank 的 VISA 卡,几乎没怎么用现金。 这张卡里的钱,是我做出海 SaaS 产品一年以来的收入。 以前听别人做跨境电商,做出海...
继续阅读 »

前言


上周去韩国旅游,在首尔吃美食,坐在咖啡店写代码,Coding Anywhere,感觉很棒。


期间消费,用的是一张 ZA Bank 的 VISA 卡,几乎没怎么用现金。


这张卡里的钱,是我做出海 SaaS 产品一年以来的收入。


以前听别人做跨境电商,做出海 SaaS,可以面向全球用户收款,当时觉得很羡慕。


当自己终于跑通了全球收付款的流程之后,逐渐体会到了这里面的快乐。


20241110130034


在裸辞成为自由职业者之前,我副业做过一段时间的小程序业务,对接的微信支付,面向国内用户收款。


做过国内业务的朋友应该清楚,要对互联网产品实现商业化,一般需要注册一个公司主体,然后开通对公银行账户,再开通微信支付 / 支付宝之类的第三方收款渠道。


给自己的业务产品对接第三方支付平台,用户在线支付的钱,进入到微信支付 / 支付宝的商业账户,再提现到公司的对公账户。此为完整的收款流程。


从公司对公账户,以发工资或者借贷的形式,把钱发到员工银彳亍卡,或者转账到法人账户。可以理解为个人对收款资金的消费途径。


随着 AI 的爆发,国内备案政策收紧,国内业务越来越难做,很多人选择出海。


出海的第一步,要搞定全球收款的问题,需要有一个账户,接受全球用户的付款。


如果做的是出海 SaaS 产品,收款消费流程跟国内业务的流程基本一致,只是企业主体 / 对公账户 / 第三方支付平台 / 提现转账的对象有所不同。


用一张图来表示出海 SaaS 业务的收款 / 消费流程如下:


20241110152100


拆解成两个核心链路:



  1. 如何全球收款

  2. 如何消费收款账户内的资金


来详细讲解我是如何跑通全球收付款流程的。


如何全球收款


1. 注册一个境外公司


开通全球收款渠道之前,需要有一个境外主体。开通境外主体的方式很多,如果人在境外,操作起来会比较方便。如果人在境内,可以选择代理网站注册,或者淘宝代注册的方案。


境外主体注册地,可以根据实际需求选择,如果没有特别的要求,可以选择注册英国或美国公司。



  • 淘宝找代理,代注册美国公司


这种方案我没有实践过,身边有些朋友走的是此方案,淘宝找个代理,交 2000 多元人民币,2 个礼拜左右,可以注册下来一个美国公司。



  • 使用代理网站,自助注册英国公司


我选择的是此方案,自助注册英国公司,相对来说较为简单。


使用以下代理网站,创建账户,扫描护-照,全流程在网站上完成,会收到邮件验证资料。注册费用在几十刀,顺利的话,一个多礼拜可以注册下来。


http://www.1stformations.co.uk/


20241110131930


可以根据网站上的指引进行注册,或者搜一下注册教程。


2. 申请一张境外手机卡


很多地方需要验证境外手机号,所以需要申请一张境外手机卡,在境内可以正常接收短信验证的就行。


在淘宝搜索“giffgaff”,购买一张英国手机卡,邮寄到家后,进入官网激活。


http://www.giffgaff.com/


20241110203614


在官网买最低的套餐即可,大概在 6 英镑每月。


激活之后,就可以在境内接收全球各类产品的短信验证了。


3. 开通境外银行账户



  • 使用 Wise 开通对公账户


在第 1 步注册成功英国公司后,邮件会收到英国公司的注册资料,包括主体名 / 主体营业号 / 主体地址等信息。


拿这些信息,在 Wise 申请开通英国银行账户。


wise.com/


20241110132101


从 2023 年底开始,Wise 政策收紧,英国公司开通对公账户需要等待,我差不多花了 1 个月,才被允许开通对公账户,现在可能会更难开,需要多试。



  • 使用万里汇开通对公账户


如果 Wise 限制英国公司开户,可以把万里汇作为备选方案。万里汇是阿里巴巴旗下的产品,开户相对会容易一些。


http://www.worldfirst.com/uk/


20241110204544


无论 Wise 还是万里汇,开通成功后,你的英国公司就拥有了一个企业对公账户。可以选择不同的币种开通不同的账户。


比如你可以选择开通一个美元账户,一个英镑账户,一个欧元账户,用于外币收款。


20241110205939


4. 开通第三方支付平台收款商户


在开通企业对公账户成功之后,你就可以去申请第三方支付平台商户了。首选 Stripe。


stripe.com/


20241110132442


在 Stripe 新建商户,需要填写公司基本信息,法人姓名 / 地址,公司开展的业务说明等信息。


一个 Stripe 账户,可以开通多个收款商户,可以复用同一个主体信息。如果你的业务产品线比较多,可以创建多个 Stripe 商户,为每个产品对接一个 Stripe 商户,减少鸡蛋放在同一个篮子的风险。


20241110132501


有公司主体和对公账户的前提下,创建 Stripe 商户一般很快就能审核通过。有可能会要求你上传地址证明文件,直接用公司的注册地址就行。


除了 Stripe,也有其他一些第三方支付平台可以作为备选,比如:



选择适合你的支付平台,按照官网指引操作,可以多开几个放着,以备不时之需。


5. 通过 SaaS 产品收款


通过前面四个步骤,你已经开通了境外主体和境外银行账户,并且有了第三方支付平台收款商户。


接下来,就可以在你的 SaaS 产品中,对接第三方支付平台的收款 API,接收全球用户的付款了。


一个 Web 类型的 SaaS 产品,要实现对用户收款,一般会创建一个 Pricing 页面,列出几个付费套餐和对应的权益,如果用户认可你的服务,就会选择付费购买。


Stripe 支持订阅支付模式,用户输入自己的信用卡卡号订阅服务,每个月扣款日自动扣款,就相当于国内的小米电视会员按月订阅,免密代扣模式。


但是微信支付开通免密代扣的门槛非常高,Stripe 则简单多了。


在你的 SaaS 产品中,优先选择按月 / 按年的订阅支付方案,可以有效增加收入(相比于一次性付费)。


20241110132601


下载 Stripe 手机 App,开启接收通知,每当有用户在你的 SaaS 产品付费,你就会收到通知。


20241111092927


6. 资金提现


当你使用第三方支付平台收款一段时间后,你的第三方支付商户账户中,就会有一定的资金积累。


你可以选择将资金提现到你的境外银行账户中。一般需要选择提现的币种,设置成按时 / 按金额自动提现,或者手动提现。


第三方平台会在扣除掉一定的手续费之后,把资金转账到你公司的对公银行账户。这个过程涉及到跨境转账,换汇 / 清算等流程,耗时稍微有点久,一般在 3-5 个工作日,提现的资金才会到账。可以在 Wise 网页版,查看账户余额和提现记录。


20241110234652


至此,全球收款的流程就走完了。你可以开展你的 SaaS 业务,面向全球市场,找到目标用户,让用户喜欢你的产品,并为之付费。


所有的收入,都会进入到你在境外的对公银行账户中。


如何消费收款账户内的资金


前面几个步骤,讲完了全球收款的完整流程。如果业务开展顺利的话,你的境外对公银行账户会有一定的资金积累。


接下来,就可以考虑如何消费这些资金了。


消费的方式有很多种,最常见的几种消费方案:



  1. 使用境外对公银行账户的钱,购买商品 / 服务

  2. 境外对公账户的钱,转到境外个人账户,在境外消费

  3. 境外对公账户的钱,转到境外个人账户,绑定微信支付,在境内消费

  4. 境外对公账户的钱,转到境外个人账户,再转到境内个人账户,在境内消费


1. 使用境外对公银行账户的钱,购买商品 / 服务


Wise 除了可以开通企业对公账户之外,也支持开通个人账户。


企业 Wise 账户,可以为法人或者团队,开通多张物理卡或数字卡。


数字卡可以直接绑定到 Apple 钱包进行消费,或者在线支付 SaaS 产品,比如 ChatGPT / Claude 的会员订阅服务等。


20241110220303


Wise 的物理卡我申请了邮寄,一直没收到。但是 Wise 的数字卡,我已经用来支付常用的境外服务,比如 OpenRouter / Serper 这些。


对于 SaaS 业务的一些开销,通过数字卡支付,直接从 Wise 对公账户扣除了,省去了转入转出的麻烦。


2. 境外对公账户对钱,转到境外个人账户,在境外消费


对于出国旅游这类场景,我们可能希望把境外对公账户的钱,转账到个人银彳亍卡,直接在境外线下消费。


首先,需要申请境外的个人银彳亍卡。这里推荐三个方案:



  • 新加坡华侨银行(OCBC)


人在境内,下载 OCBC 银行 App,在线申请,一周内可以开通个人银行账户。可以选择邮寄实体卡,但是境内收件走的是平邮,可能会收不到。


我至今还未收到 OCBC 实体卡,但不影响在 OCBC App 内在线消费。



  • 中国银行香港(BOCHK)


需要去香港办理,如果去银行柜台办理,需要准备各种资料,比如富途的投资记录,银行流水等,有可能会被拒绝开户。(我 9 月份去香港中国银行柜台办理被拒了)


另一种稳妥的方式是,人在香港,连上香港 Wifi,下载 BOCHK App,在线申请,快速开通个人银行账户。


然后再去柜台补个签名,就可以正常使用了。


在柜台请他们修改邮寄实体卡的方式,寄挂号信。(即使改了邮寄方式,在境内也有可能收不到实体卡。我至今未收到T_T,但不影响银行账户的使用)



  • 众安银行(ZA Bank)


申请比较简单,人在香港,连上香港 Wifi,下载 ZA Bank App,在线申请,快速开通个人银行账户。


在 App 申请邮寄实体卡,在境内三天左右就可以收到。


除了以上三种方案,还有朋友会去香港开通汇丰银行账户,我没试过就不做过多阐述。


有条件的情况,建议多开几家银行账户,以备后续使用。


以上任意一家银行账户,都能接收 Wise 对公账户转账,Wise 会自动进行换汇,扣除一定的手续费,资金转账实时到账。


20241110153107


以上开通的境外银行账户,可以在线支付各类 SaaS 产品。也可以选择实体卡消费,既能刷卡支付,也支持 ATM 取现。


如果在境外使用 ZA Bank 实体卡消费,需要在 ZA Bank App 开启海外旅游选项。


20241110153556


3. 境外对公账户的钱,转到境外个人账户,绑定微信支付,在境内消费


境外习惯信用卡支付,而在境内大家更喜欢微信 / 支付宝支付。


如果习惯使用微信支付,可以在微信搜索框输入“香港钱包开通”,进入自助开通页面,选择“绑定香港发行的银行账户”,绑定上面开通的中银香港卡,就可以开通香港钱包。


20241110154022


在微信支付服务页,切换钱包地区,选择“香港钱包”,可以用于常用场景的支付,比如在线购买机票 / 火车票,美团点外卖,瑞幸喝咖啡等。境内消费的大部分场景,香港钱包都支持。


20241110224301


稍微遗憾的是,香港钱包绑定 ZA Bank,需要验证香港身-份-证,如果我们没有香港身-份-证,只能绑定中银香港卡,再把 ZA Bank 的钱转到中银香港卡,通过香港钱包在微信消费。


4. 境外对公账户的钱,转到境外个人账户,再转到境内个人账户,在境内消费


可能有人会有这类需求,需要用境内银彳亍卡扣房贷,想把境外个人账户的钱,转到境内银彳亍卡。


这个方案我没有实践过,但是看中银香港 App,有一个“中银快汇”的功能,可以转账到境内银彳亍卡。另外还有一个“开户易”功能,支持汇款到广东省内中国银行的同名账户。


如果使用 ZA Bank 或者其他香港银行账户,可以通过“熊猫速汇”之类的产品,汇款到境内银彳亍卡。


有需求的朋友,可以自行尝试。


没有境外银行账户,如何给境外产品付款


如果你还没有境外银行账户,但是需要给 ChatGPT / Claude 之类的产品付款,以订阅他们的会员服务。


你可以选择申请虚拟信用卡。


推荐使用 WildCard 这个产品,不仅支持虚拟信用卡,还提供虚拟手机号用于接收验证短信,以及安全的网络环境解决风控问题。


可以使用我这个推荐链接:


bewildcard.com/i/IDOUBI


注册 WildCard 服务,申请一张虚拟信用卡,使用支付宝充值,然后就可以给各类境外 SaaS 产品付费了。


20241110225036


总结


通过这篇文章,介绍了我这一年来做境外 SaaS 业务,从全球收款,到全球消费的完整流程。踩了不少坑,也总结了很多宝贵的经验,希望对即将开始做出海业务的朋友有所帮助。


秉持 Build in Public 的理念,同步一下我这一年来做 SaaS 业务的收入情况。


一年来的累计收入不到 1 万美元。


20241111092726


MRR(月度经常性收入) 最近突破了 1 千美元。


20241111092756


之前做 ThinkAny 这个项目的时候,有段时间 token 消耗和服务器流量费用特别高,一直在用境内的个人信用卡支付开销。境外收款账户里的钱属于纯收入,没有覆盖支出,算上成本的话,谈不上赚到钱,一年下来整体收支平衡。


虽然跟身边其他做出海业务的朋友相比,我的这点收入微不足道,但是对我个人而言,算是迈出了出海的第一步,收款 / 消费流程闭环,积累了很多认知,也增加了我对出海业务的信心。


接下来,我会继续优化我的 SaaS 产品,寻找目标用户,努力实现收入增长,争取早日达成 MRR 1 万美元的目标。


最后


如果你想开始做出海 SaaS 业务,可以参考本文先搞定全球收款链路。


如果你不知道如何做出一个 SaaS 产品,可以看一下我开源的这几个项目,有完整的 SaaS 产品模版,支持 Stripe 支付,可以一键部署,快速上线跑通收款流程。


github.com/all-in-aigc


20241110231145


如果你不太懂技术,想要学习全栈开发。可以选择加入我的“1024 全栈开发社群”,我在群里分享了几个项目的全栈开发过程,包括如何完成项目的前后端开发,如何实现 UI 组件,如何对接 AI 能力,如何做数据存储,如何支持支付收款等技术细节。也许会对你有帮助。


1024.pagen.io



祝大家早日出海,全球收款,大浪淘金。



作者:艾逗笔
来源:juejin.cn/post/7435708914433785893
收起阅读 »

31 岁,从雄心壮志到回归平凡

一、前言 不久前,有位 31 岁的兄弟找我聊天,他结束了在深圳漂泊不定的生涯,回老家尝试自媒体创业,最终以失败告终,无奈又重回深圳找工作。 二、为何做出这个决定 他的这一决定并非一时冲动,其导火索可追溯至 2022 年。当时的大环境可谓一片混乱,人人都在拼命内...
继续阅读 »

一、前言


不久前,有位 31 岁的兄弟找我聊天,他结束了在深圳漂泊不定的生涯,回老家尝试自媒体创业,最终以失败告终,无奈又重回深圳找工作。


二、为何做出这个决定


他的这一决定并非一时冲动,其导火索可追溯至 2022 年。当时的大环境可谓一片混乱,人人都在拼命内卷,下班时间越来越晚,几乎与月亮同步。


每逢放假回老家,亲戚朋友便会念叨:“你在深圳 996 累得不成样子,究竟图个啥?工资是高些,可这日子有啥乐趣?再者,你在深圳漂泊不定,何时才是尽头?房子买不了,户口落不下,迟早得打道回府。”


这位兄弟听后,心中满是酸楚,思量着:多年来为人当牛做马,还遭受 PUA,还得时刻担忧 35 岁被辞退,这日子实在过不下去了!于是,心中犹如埋下了一颗炸弹:我得去另一番天地闯荡!


实际上,这位老兄本就向往自由,那句“打工是不可能打工的,这辈子都不会打工”如同他的精神支柱,一直渴望有朝一日不再打工。


所以在 2022 年底,他毅然决定:2023 年,我要去新的天地看看!拿完年终奖就离开!去创业,开启全新人生!


在准备辞职之前,还有几件糟心事,让他坚定了辞职的决心:


当时尚未完全放开,在家线上办公。在公司上班起码是 995,晚上 9 到 10 点下班基本能休息。可在家就惨了,各种电话、视频会议如轰炸机般袭来,十一二点还得开会,生活与工作完全混乱。每次听到会议呼叫,他的心就像被针扎,默默祈求别出岔子,都快被逼出精神病了。


感染新冠时,他只敢请一天假,第二天晕乎乎地继续工作。为何?他心里明白,落下的工作最终还得自己加班完成,否则会被领导骂得狗血淋头。


周末也不得安宁,需随时在线,群消息要秒回,线上问题得立刻解决,不然就会被贴上“工作态度差”的标签,绩效惨不忍睹。


image.png


三、他辞职了


终于熬到 2023 年,年终奖一到手,这位兄弟便决定离职。


当时身边有人如唐僧般劝他别辞职,说当下大环境糟糕,千万别放弃本行去搞自媒体。


这兄弟心中充满不屑,暗想:程序员最多干到 35 岁,如今内卷严重,加班致使身体近乎垮掉,这行年老无出路!


当然,这位兄弟并非头脑发热就辞职搞自媒体,辞职前做了充分准备,调研分析了许久:


作为互联网人,搞实体店一窍不通,只能在互联网领域筛选。互联网项目繁多:个人工具站、知乎好物、闲鱼二手书、小红书带货、抖音带货、抖音个人 IP、公众号写作、短剧 CPS、小说推文、知识付费等等,看得他眼花缭乱。最终发现抖音流量最大,从事与抖音相关的或许更容易些。


而且这位老兄还学习了众多创业知识,如寻找对标、分析商业模式,参加了不少知识付费的圈子,还报名了小红书和抖音的培训班,前前后后花费了一万多元,心痛不已。


四、想象很美好


image.png


为了这次创业,这位兄弟制定了一系列计划,涵盖年度、季度、月度、周度,甚至每日的计划都规划得极其详尽。


他还发誓要变得极度自律,每天按时起床,锻炼、学习、开展业务,决心坚如磐石,此次抱着必胜的信念放手一搏!


当然,他也提前预料到可能遭遇的风险,并绞尽脑汁思考应对之策:


例如项目进展缓慢如何处理,拖延症发作怎样解决,家人反对如何应对,朋友约饭打乱计划怎么办,遇到难题又该怎样解决等等。


这一系列举措下来,他认为万事俱备,只待大干一场!


五、现实很残酷


image.png
辞职后,他依照计划开始早睡早起,锻炼、学习,忙于创业之事。


然而,未曾料到,很快就被现实狠狠打击,这是他创业路上遇到的首个难题,也是他始料未及的。


就在刚创业不久,他竟然患上了焦虑症,还伴有严重的失眠。


他万万没想到会被失眠困扰。原本以为,摆脱上班的压力,工作时间自由安排,无人 PUA,还有时间锻炼,应当能睡个安稳觉。


但实际情况并非如此,对于我们这种从小被学校管,长大后被公司管的普通人而言,创业竟是这般模样:


他忙得晕头转向,比上班更累,因为以前只需做好本职工作,如今所有事情都需亲力亲为。以做自媒体为例,从账号定位、内容选题、写脚本,到置景、拍摄、后期剪辑,再到选品、商务对接、客服,最后到用户社群运营,所有环节都得独自承担。视频没流量、违规、付费转化率低等问题,都需自己琢磨解决。以前在公司,按要求完成任务即可.


面对大量的自由时间,他全然不知如何安排,诸多环节都是陌生领域,需要学习的太多,每天看似忙碌,却不见成果,怎能不感到沮丧?以前只从事熟悉工作,产出有保障.


与社会脱节,缺乏存在感和归属感(这是人类的基本需求之一),不属于任何群体,无人夸赞、尊重、接纳,甚至想被责骂都无人理会。以前在公司,表现好会得到称赞,表现不佳会获得建议,至少有人可供倾诉、交流、求助。


没有收入,眼睁睁看着钱包逐渐干瘪,怎能不焦虑?更焦虑的是,不知未来何时能盈利。更更焦虑的是,不知最终能否盈利。以前工作再累,至少有工资,有生活保障。


所以在此奉劝那些有裸辞创业想法的人,切勿裸辞!裸辞创业可谓九死一生!正确的做法应是一边工作一边开展副业,待副业收入与工资相当甚至超过工资时,再辞职。有人或许会说,工作繁忙,哪有时间搞副业。他曾经也这么想,但现在他告诉你:没时间就挤出时间,每天晚睡或早起一会儿,周末也抽出时间。这点问题都无法解决?创业遇到的难题可比这困难十倍!若觉得这都难以做到,那还是老老实实打工吧。


可他已经裸辞,别无他法,只能硬着头皮解决问题。他开始服用助眠药,喝中药,情况稍有改善,但未完全康复,只是比之前稍好一些。


就这样拖着疲惫的身躯,他坚持了半年多,一半时间学习,一半时间实践,创建了两个自媒体号,第一个号因违规被封,第二个号流量也毫无起色。这条创业之路越走越艰难,每天晚上都不愿入睡,因为害怕明天的到来,因为一睁眼,眼前仍是一片黑暗。


最终,在创业的巨大压力、8 个月没有收入的恐慌、焦虑失眠心悸的折磨下,他选择了放弃。


失败了,败得一塌糊涂。回顾这次经历,仿佛之前在一艘航行的货轮上工作,实在无法忍受船上的种种压迫,鼓足勇气,带着一艘救生艇跳海,追求向往的自由。结果高估了自身当时的能力,难以抵御大海的狂风巨浪,翻船了……差点就葬身大海……


六、重新找工作


放弃后的几周,他开始熬夜,暴饮暴食,之前的运动也停止了。整天在家拉上窗帘,除了吃饭就是躺在床上刷手机,试图分散注意力,减轻内心的痛苦。


但这样下去并非长久之计,如今肯定不想再触及创业,只能先找份工作。


刚开始找工作时,他心有不甘,因为三线城市与深圳相比,无论是工作机会、环境,还是薪资,都相差甚远。


但无奈,他感觉自己如同即将溺水之人,急需一根救命稻草,先生存下来再说,这是当前的首要任务。


于是在网上大量投递简历,结果惨不忍睹,几乎没有几家公司招聘,前后折腾了一个月,真正靠谱的面试仅有一家,没错,仅有一家。


好在这家公司他顺利拿到了 offer,是一家刚创业的小公司,仅有十几个人,薪资仅有原来的一半多些,不过拿到 offer 的那一刻他还是有些激动,感觉自己又活过来了,不管怎样,能缓口气了。


七、迷茫的未来


如今上班已一个多月,公司还不错,不加班,基本 7 点前大家就都下班了,离家很近,骑共享单车 10 分钟左右就能到。这一个月,焦虑消失了,心悸不再,失眠也好了。每天按部就班地上班下班,完成老板交代的任务,其他事情无需操心,又做起了熟悉且擅长的工作。


回望过去,人生的旅途上,翻过一座山,或许迎接我们的仍是连绵不绝的山峦,海的尽头似乎总是遥不可及,甚至可能一生都无法亲眼目睹。此刻的我们,更愿意将心态放平,珍惜眼前,脚踏实地地前行,每一步都充满探索与希望。


三十一岁,一个不再轻易言弃的年纪,我学会了与自己和解,正视并接纳自己的平凡。


image.png


作者:狼爷
来源:juejin.cn/post/7395962823502299170
收起阅读 »

中年码农,裸转AI,是条死路!

有粉丝向我请教这个问题,我觉得有点普遍性,所以我写篇文章。具体写我的观点之前,为了求生欲,我先说明一下:下面的是我是一家之言,有可能不正确还有偏见,您要是不同意,您也可以留言发表您的看法。d但是请理性讨论,不要情绪化骂人发泄,不要凡是不同意您观点的人通通都要被...
继续阅读 »

有粉丝向我请教这个问题,我觉得有点普遍性,所以我写篇文章。
具体写我的观点之前,为了求生欲,我先说明一下:下面的是我是一家之言,有可能不正确还有偏见,您要是不同意,您也可以留言发表您的看法。
d但是请理性讨论,不要情绪化骂人发泄,不要凡是不同意您观点的人通通都要被喷。感谢。
现在AI火了,就有粉丝问我,自己在某个领域积累了很久,但是呢,以后可能都是做AI的了,那对方可以不可以放弃掉之前领域的积累,全身心投入到AI的学习中去,然后换个赛道呢?

我个人觉得这是条死路。
除非,你已经财富自由了,你可以不用为家里的房贷车贷孩子等等花钱顾虑,你可以未来很长一段时间都不需要担心钱的问题,并且你还有很多精力。

或者你是一个天才,你可以很快的就学习一个新的领域,并且很容易成为新领域里面的大拿。
如果这两个都不成立,那么就是条死路。
道理也非常简单,一旦你是需要通过你的技能来卖钱,从而让自己生存和生活的,那么你现在的技能,和基于现在的技能给你赚钱这个事情本身就很重要。

你想进入一个新的领域,比如AI,你是个普通人,正常智商,需要很多时间学习,你在新的领域很难和其他人,尤其是在新领域里面挣扎奋斗了很多年的人比。
所以,要么你继续指望靠现有的技能赚钱,但是你不会有足够的时间让自己成为AI的专家,要么你现在的技能和工作被打折扣,因为你没办法兼顾现在的和将来的事情,能力时间精力都不行。
所以,我觉得想转,最实际的办法,就是现在的组里有LLM的需求,你可以在现有基础上,做一点相关的,试试水。这种做法会比较丝滑。

如果完全不存在这种机会的,那我只建议两种人转:足够聪明的,学习能力特别强特别快的,和有很多钱,不担心失业以后自己活不下去的。
大部分人来说,尤其是中年码农来说,能够稳固基本盘,就可以了,就是不错的选择了。
毕竟码农的人生,是很容易就走下坡路的,大家也应该做好走下坡路的准备。
我可能真的无法改变你的想法,但我真心希望,你做每一个决定的时候,投入每一份精力的时候,尤其是义无反顾投入大手笔的时候,一定要考虑清楚自己的现实情况,和自己到底有什么样的能力。
所以,有些时候,现实就是这样的残酷。


作者:飞总聊IT

来源:mp.weixin.qq.com/s/fcNyIXgwVNenu_cz0pbCSg

收起阅读 »

工作7年了,才明白技术的本质不过是工具而已,那么未来的方向在哪里?

前言 Hi 你好,我是东东拿铁,一个正在探索个人IP&副业的后端程序员。 五一过去了,不知道大家有没有好好的放松自己呢?愉快的假期总是这么短暂,打工人重新回到自己的岗位。 我目前工作7年了,这几年来埋头苦干,学习了很多技术,做了不少系统,也解决过不少线...
继续阅读 »

前言


Hi 你好,我是东东拿铁,一个正在探索个人IP&副业的后端程序员。


五一过去了,不知道大家有没有好好的放松自己呢?愉快的假期总是这么短暂,打工人重新回到自己的岗位。


我目前工作7年了,这几年来埋头苦干,学习了很多技术,做了不少系统,也解决过不少线上问题。自己虽然在探寻个人IP与副业,自己花了很多时间去思考技术之外的路该怎么走。但转念一想,我宁愿花这么多时间去探索技术之外的路线,但是却从没好好静下来想一下技术本身。


技术到底是什么,你我所处的技术行业为什么会存在,未来的机会在哪里。


因此,我结合自己的工作经历,希望和大家一起聊聊,技术的本质与未来的方向,到底在哪里,才疏学浅,如果内容有误还希望你在评论区指正。


背景


行业现状


互联网行业发展放缓,进入调整阶段,具体表现为市场需求、用户规模、营收利润、创新活力等方面的放缓或下降。


一些曾经风光无限的互联网公司也遭遇了业绩下滑、股价暴跌、裁员潮等困境,你是不是也曾听过互联网的寒冬已至的言论?


其实互联网本身,并没有衰败或消亡,而是因为互联网高速发展的时代过去了。



  1. 中国经济增速放缓、消费升级趋势减弱、人口红利消失等因素的影响,中国互联网市场的需求增长趋于饱和或下降。

  2. 用户规模停滞,智能手机普及率饱和,互联网用户规模增长趋于停滞,由增量市场变为存量市场,互联网获客成本越来越高。

  3. 监管政策收紧,互联网行业规范和监管愈加严格,更加注重合规,因此互联网行业也会收到影响。


供需环境


供需环境变化,应届生要求越来越高,更加注重学历。


社招更是看中学历的同时,开始限制年龄。招聘更看重项目经验,业务经验。五年前,你只要做过一些项目,哪怕不是实际使用的,也很容易拿到offer。而现在企业在看中技术能力的同时,还会关注候选人对与行业的理解,以及以往的工作经验。


技术的本质


先说结论,技术的本质是工具。 我把过去几年的认知变化分成了四个阶段,给大家展示一下我对于技术的认知成长过程。


第一阶段


技术就是应用各类前沿的框架、中间件。


刚毕业时,我就职于一家传统信息企业。谈不上所谓的架构,只需要Spring、Mysql就构建起了我们的所有技术栈。当然,微服务框架更不可能,Redis、MQ在系统中都没使用到。


此时互联网企业已经开始快速发展,抖音诞生区区不过一年。


一线城市的互联网公司,都已经开始使用上了SpringBoot、微服务,还有各类我没有听说过的中间件。


工作环境的闭塞,让我对各类技术有着无限憧憬,因为很多当下难以解决的问题,应用一些新技术、新架构,就能立刻对很多难题降维打击。


举个例子,如果你使用本地缓存,那么集群部署时,你一定要考虑集群的缓存一致性问题,可这个问题如果用上分布式缓存Redis,那么一致性问题迎刃而解。


所以那个时候的我认为,技术就是应用各类中间件,只要用上这些中间件、框架,我就已经走在了技术的前沿。


第二阶段


技术对我而言就是互联网。
半年后,我摆脱传统行业,来到了一个小型互联网公司,用上了不少在我眼中的新技术。


但任何新技术,如果只停留在表面,那么对于使用者来说,就是几个API,几行代码,你很快就会感到厌倦,发现问题也会焦虑,因为不清楚原理,问题就无从排查。


很快,所谓的“新技术”,就不能给我带来成就感了。我开始羡慕那些互联网行业APP,无时无刻都在畅想着,如果我做的产品能够被大家看到并应用,那该是多么有意思的一件事情。


于是我又认为,技术就是做那些被人看见、被人应用的网站、APP。


第三阶段


技术就是高并发、大流量、大数据。
当自己真正负责了某一个APP的后端研发后,很多技术都有机会应用,也能够在AppStore下载自己的APP了,没事刷一刷,看到某一个信息是通过我自己写的代码展示出去,又满足了第二阶段的目标了。


那么我接下来追求的变成了,让更多的人使用我做的产品,起码让我的亲人、朋友也能看到我做的东西。


当然,随之而来的就是日益增长的数据规模和大流量,这些无时无刻都在挑战系统的性能,如何去解决这些问题,成为了我很长一段时间的工作主线。


应对高并发、大流量,我们需要对系统作出各种极致性能的优化。


为了性能优化,还需要了解更多的底层原理,才能在遇到问题时有一个合理的解决方案。


所以,我认为技术就是高并发、大数据,做好这些,才算做好了技术。


第四阶段


经过了传统企业,到互联网公司,再到互联网大厂的一番经历,让我发现技术的本质就是工具,在不同阶段,去解决不同的问题。


在第一阶段,技术解决了各类行业的数据信息化问题,借助各类中间件、架构把具体的需求落地。


在第二阶段、第三阶段,技术解决了业务的规模化问题,因为在互联网,流量迅猛增长,我需要去用技术解决规模化带来的各类的问题,做出性能优化。


当然,技术在其他领域也发挥着作用,比如AI&算法,给予了互联网工具“智能化”的可能,还有比如我们很难接触到的底层框架研发,也就是技术的“技术”,这些底层能力,帮助我们更好的发挥我们的技术能力。


未来机会


大厂仍是最好的选择


即使是在互联网增速放缓、内卷持续严重的今天,即使我选择从大厂离职,但我依然认为大厂是最好的选择。


为什么这么说,几个理由



  • 大厂有着更前沿的技术能力,你可以随意选择最适合的工具去解决问题

  • 大厂有着更大的数据、流量规模,你所做的工作,天然的就具备规模化的能力

  • 大厂有先进的管理方法,你所接触的做事方法、目标管理可能让你疲倦,但工作方法大概率是行业内经过验证的,你不会走弯路,能让你有更快的进步速度


数字化转型


如果你在互联网行业,可能没有听说过这个词,因为在高速发展的互联网行业,本身就是数字驱动的,比如重视数据指标、AB实验等。但在二线、三线城市的计算机行业或者一些传统行业,数字化转型是很大的发展机会。


过去十年,传统行业做的普遍是信息化转型,也就是把线下,需要用纸、笔来完成工作的,转移到系统中。


那什么是数字化转型?



我用我自己的理解说一下,数字化转型就是业务流程精细化管理,数据驱动,实现降本增效。



我目前所在的公司的推进大方向之一,就是数字化转型。因为许多行业的数字化程度非常低,本质而言,就是把数字驱动的能力,带给传统企业,让传统企业也能感受到数字化带来的发展可能。


举个例子,比如一个餐饮系统数字化转型后,一方面可以把用户下单、餐厅接单、开始制作、出餐、上餐线上化,还可以和原材料供应系统打通,当有订单来时,自动检测餐饮的库存信息,库存不足及时提供预警,甚至可以作出订单预测,比如什么时间点,哪类餐品的点单量最高。


当然,数字化转型与互联网有着极大的不同,在互联网行业,你只需要坐在工位,等着产品提出需求就可以了。但是传统行业,你需要深入客户现场,实地查看业务流程,与用户交谈,才能真正的理解客户需求。


或许这样的工作并不炫酷,还需要出差,但在互联网行业饱和的今天,用技术去解决真实世界的问题,也不失为一个很好的选择。


AI&智能化


随着AI快速发展,各类智能化功能已经遍布了我们使用的各类APP,极客时间有了AI自动总结,懂车帝有了智能选车度搜索问题,有时候第一个也会是AI来给我们解答。



任何行业遇上AI都可以再做一遍。



抛开底层算法、模型不谈,但从使用者角度来说,最重要的是如何与行业、场景结合相使用。但是想要做好应用,需要你在行业有着比较深的沉淀,有较深的行业认知。


当然,智能化也不仅限于AI,像上面餐饮系统的例子,如果能够实现订单预测、自动库存管理,其实也是智能化的体现。


终身学习


技术能力


持续精进专业技术能力,相信大家对此都没有疑问。


对于日常使用到的技术,我们需要熟练掌握技术原理,积累使用经验,尤其是线上环境的问题处理经验。


第一个是基础。比如对集合类,并发包,IO/NIO,JVM,内存模型,泛型,异常,反射,等有深入了解,最好是看过源码了解底层的设计。


第二你需要有全面的互联网技术相关知识。从底层说起,你起码得深入了解mysql,redis,nginx,tomcat,rpc,jms等方面的知识。


第三就是编程能力,编程思想,算法能力,架构能力。


在这个过程中,打造自己的技能树,构建自己的技术体系。


对于不断冒出的新技术,我们一方面要了解清楚技术原理,也要了解新技术是为了解决什么问题,诞生于什么背景。


业务能力


前面说到技术是一种工具,解决的是现实世界的问题,如果我们希望更好的发挥技术的作用,那么就需要我们先掌握好业务领域。


互联网领域
如果你想要快速地入门互联网领域的业务,你可以使用AARRR漏斗模型来分析。


AARRR这5个字母分别代表 Acquisition、Activation、Retention、Revenue 和 Refer
五个英文单词,它们分别对应用户生命周期中的 5 个重要环节:获取(Acquisition)、激活(Activation)、留存(Retention)、收益(Revenue)和推荐(Refer)。


AARRR 模型的核心就是以用户为中心,以完整的用户生命周期为指导思想,分析用户在各个环节的行为和数据,以此来发现用户需求以及产品需要改进的地方。


举一个简单的例子,我们以一个互联网手游 LOL来举例:
获取就是用户通过广告、push等形式,了解到了游戏并注册或者登陆。
激活就是用户真正的开始游戏,比如开始了一场匹配。
留存就是用户在7天、30天内,登陆了几次,打了几把比赛,几天登陆一次,每日游戏时常又是多少。
收益,用户购买皮肤了,产生了收益。
推荐,用户邀请朋友,发送到微信群中,邀请了朋友一起开黑。


如果你所在的行业是C端产品,那么这个模型基本可以概括用户的生命周期全流程。


传统行业
传统行业没有比较通用的业务模型,如果想要入手,需要我们从以下三个角度去入手



  1. 这个行业的商业模式是什么,也就是靠什么赚钱的?比如售卖系统收费,收取服务费等

  2. 行业的规模如何?头部玩家有哪些?它们的模式有哪些特色?

  3. 这个行业的客户是谁、用户是谁?有哪些经典的作业场景?业务操作流程是什么样的?


如何获取到这些信息呢?有几种常见的形式



  1. 权威的行业研究报告,这个比较常见

  2. 直接关注头部玩家的官网、公众号、官媒

  3. 深入用户现场


我们以汽车行业来举例
商业模式:整车销售、二手车、汽车租赁等,细分一点,又有传统动力和新能源两种分类。
规模:如下图


头部车企:传统的四大车企一汽、东风、上汽、长安,新势力 特斯拉、蔚小理


经典场景:直接去4S店体验一下汽车销售模式、流程


说在最后


好了,文章到这里就要结束啦,我用我自己工作几年的不同阶段,给你介绍了我对于技术的本质是工具的思考过程,也浅浅的探寻了一下,未来的发展机会在哪里,以及我们应该如何提升自己,很感谢你能看到最后,希望对你有所帮助。


不知道你对于技术是怎么看的,又如何看待当下的市场环境呢?欢迎你在评论区和我分享,也希望你点赞、评论、收藏,让我知道对你有所收获,这对我来说很重要。也欢迎你加我的wx:Ldhrlhy10,一起交流。


本篇文章是第33篇原创文章,2024目标进度33/100,欢迎有趣的你关注我~


作者:东东拿铁
来源:juejin.cn/post/7365679089812553769
收起阅读 »

2024年大龄程序员不得不面对的尴尬,也算是过来人的经验

被裁员 先说下本人情况,38,坐标杭州,具备后端架构和大数据架构能力。待过大厂,带过团队,落地过大型项目。 近几年被裁员也不算什么稀奇古怪的事情,我记得2022年下半年面试那会行情远比现在好,那会还会有猎头、企业主动找,我2022年的工作就是猎头推进去的。 然...
继续阅读 »

被裁员


先说下本人情况,38,坐标杭州,具备后端架构和大数据架构能力。待过大厂,带过团队,落地过大型项目。


近几年被裁员也不算什么稀奇古怪的事情,我记得2022年下半年面试那会行情远比现在好,那会还会有猎头、企业主动找,我2022年的工作就是猎头推进去的。


然而公司运营不善,2023年底裁撤了,因为融资问题,被迫出局。


本想着年后再看工作,也想休息一段时间,于是年前就没理工作这个事。


狗不理


因为信息差,也可能因为行业这种趋势本身就是没法感知的,年后投简历发现了几个情况:



  1. 无论是猎聘、BOSS、智联,好像岗位都比之前少了很多,并且很多都是钉子户,我2022年找工作那会看他们挂的JD,2024年了仍然还在。

  2. 很多JD都要求的时间就在两个段,一个是1—3年,一个是5—10年。那么从23岁毕业来看,现在只要33岁以下的了。

  3. 从跟一些猎头的沟通来看,现在很多好点的岗位是需要本硕985,211都不一定看了,并且很多事明确要求硕士。这其实一刀切,放十几年前,考大学比现在难。

  4. 很多简历发出去直接被拒,要么是未读。基本上已经有去无回了。


一些感悟


面对这种突如其来的颠覆认知的行情,我有点措手不及,没预想自己可能就此失业了。现在的世界变化太快了,也可能我待在舒适区太久了,根本对外部世界的变化钝感迟缓。


我也没去问招聘方是什么原因,本身就个人从业经历和技能能来说,自认为还OK,但是问人家也未必会告诉你实话,在这个存量市场,势必是僧多肉少,刺刀见红,现实残酷,朝不保夕。


但是反思下十几年的职场生涯,其实多多少少还是有个人原因的,总结出来,留给后来人吧:



  1. 不要迷信技术,我以前以为只要技术好就是核心竞争力,就有护城河。现在发现这种信仰只有在一个崇尚技术、尊重技术的环境中才有效。但是目前看下,这个环境越来越不是,今后肯定是越来越人情社会,越来越丛林化。所以,得有综合全面的“技术”才能混,至于我说的综合全面,懂的都懂。

  2. IT行业不适合深耕,只适合扩展。就是你得把他当工具,千万别代入,不然你会陷入很深的工具人思维。就是你总得想着有朝一日假如你被裁员了,你是否有利用这个工具单干的能力。尤其是现在AI技术日新月异,很有可能程序员一夜之间就变成土木。

  3. 一个要打造个人IP,要清醒地培养自己独立赚钱的能力,跳出自己的舒适区。很可能你目前的舒适生活是由行业或平台的红利带来的,你也很可能就是那个被圈养的巨婴。想想《肖申克的救赎》那几个经典片段:坐牢越久越是离不开监狱的,到最后极度依赖,没有自己。

  4. 认知越早扭转越好,不要等到35岁别人不要你了才幡然醒悟,我就是反例,到这个时候怀着空杯心态再从零开始,代价不得不说有点太大了。


个人期望


最后说点自己的个人期望和未深思的规划:
1、后面还是要自己单干的,可以是独立开发、或者其他。
2、还是会热爱技术,即使如果干不了这行了,也会把它当做一个兴趣培养。


作者:数据智能老司机
来源:juejin.cn/post/7343902139821785124
收起阅读 »

2023总结:30岁,结束8年北漂回老家,降薪2/3,我把人生过的稀烂

一转眼又快过年了,回想整个23年,简直是我人生中最黑暗的一年(之一)。 23年,我30岁,在北京干了8年程序员。30岁这年我做了一个决定:结束8年北漂生涯,回老家(一个三线城市)自己创业,去做自媒体。 一、为何做出这个决定 这个决定也不是一时拍脑袋做出的决定...
继续阅读 »

一转眼又快过年了,回想整个23年,简直是我人生中最黑暗的一年(之一)。



23年,我30岁,在北京干了8年程序员。30岁这年我做了一个决定:结束8年北漂生涯,回老家(一个三线城市)自己创业,去做自媒体。


一、为何做出这个决定


这个决定也不是一时拍脑袋做出的决定,导火索是在22年:


那时候大环境不好,大家都越来越卷,下班的时间也越来越晚。


放假回家亲戚朋友总说,你在北京996这么累,图啥啊,工资是高点,但是完全没有生活啊。而且你在北京漂到啥时候是个头?你又买不起房,又没户口,早晚得回来吧。


我仔细想想也有道理,活了这么多年了都在当牛做马,被pua,还得面临35岁危机,真的受够这种生活了!所以那时候心里埋下了一颗种子:我要去浪浪山的那边看看!


其实我本身就是一个喜欢自由的人,这么多年那句“打工是不可能打工的,这辈子都不会打工”一直激励着我,我想自己有一天也能实现不打工这个目标。


于是22年底我做了一个决定:23年去山的那边看看大海的样子!拿完年终奖就辞职!去创业,去开启我的新的人生!


在准备辞职前的几件事情,都让我更加坚定了辞职的决心:



  1. 那时候还没有放开,在家线上办公,本来在公司办公是995,晚上9-10点下班了基本就没啥事情了,但是在家就不一样了,每天各种电话、视频会议,甚至十一二点都要开会,恨不得让你24h都在线,生活和工作基本都没有边界。那个时候只要听到会议呼叫的声音,内心就一紧,心中默默祈祷不要出什么幺蛾子,都快成心理阴影了。

  2. 当时得了新冠也只敢请了一天假,第二天晕晕乎乎的就继续开始工作了。因为我知道,落下的工作最后还得你自己加班完成,否则领导最后还会赖你延期。

  3. 周末也需要随时在线,需要及时回复群里的消息,需要随时解决线上的问题,否则就会打上工作态度不好的标签,绩效肯定低。导致我周末基本不敢出去,出去也得随时看着手机,看有没有@你的消息,整天提心吊胆,玩也玩不好,还不如在家躺着。


我觉得这不是我想要的生活,每天太累了,身体累不算,心还累,生怕自己负责的业务出了什么问题,如坐针毡,如芒刺背,如履薄冰。


二、我辞职了


终于,熬到23年,拿到年终奖后,我决定提出离职。


当时身边有些人劝我不要辞职,说现在环境不好,更不应该放弃你的老本行,去做啥自媒体。


我当时内心嗤之以鼻,心想程序员这行也就干到35岁,而且现在卷的不行,加班加的身体都快废了,这行岁数大了没前途!我趁现在30岁还年轻,创业正值当年,辞职改行的选择非常有战略眼光!(当时真的是感觉杰克马附体,准备在这个三十而立的年纪,大干一场!)


2b5f9de5dbc7cd40403819a50d693574.jpeg


当然我也不是脑袋一热就想着辞职去做自媒体,辞职前我做了充足的准备,和很长时间的调研&分析:



  • 我作为一个互联网人,做实体店肯定不是我擅长的,肯定只能从互联网上选择行业,互联网项目有很多:个人工具站,知乎好物,闲鱼二手书,小红书带货,抖音带货,抖音个人ip,公众号写作,短剧cps,小说推文,知识付费等等的项目,我可以说都看了一个遍,其中抖音现在流量最大,要做风口上的猪,做抖音相关肯定要容易很多。

  • 然后我也学习了一些创业相关的知识,比如如何找对标,如何分析对方商业模式,参加了很多知识付费的圈子,然后还报了小红书和抖音的培训班,总共加起来得有1w多呢。

  • 而且我还预留了充足的资金,我做了最坏的打算,就算我一分钱不挣,也够我活3年呢,我不会3年都创业不成功吧!(此处白岩松表情包:不会吧!.jpg)


u=1021210702,2199782272&fm=253&fmt=auto&app=120&f=JPEG.webp


三、想象很美好


为了这次创业,我还制定了计划,年度计划,季度计划,月计划,周计划,天计划,真的非常详细。


我也要很自律,每天按时起床,锻炼,学习,做业务。这次我真的抱着必胜的决心来做!


当然我也提前列出可能要遇到的风险,并思考解决方案:


比如项目进展慢怎么办,拖延症怎么办,家人反对怎么办,朋友约吃饭打乱我的计划怎么办,遇到困难我该怎么应对等等


这么一套组合拳下来,我觉得已经万事俱备,只差开干了!


四、现实很残酷


4月我如期辞职,当时正值清明节,淅淅沥沥的小雨并没有浇灭我开启新生活的热情。辞职后,我就按计划开始早睡早起,锻炼,学习,搞创业的事情。


但是马上就被打脸了,这是我创业中遇到的第一个难题,也是我万万没有预料到的


就在我创业后的不久,我患上焦虑症,失眠了,而且还很严重,就是那种从晚上11点躺下,躺到早上6点才睡着的那种失眠,而且还时不时的心悸。


我万万没想到会患上失眠症。因为我觉得没有上班的压力了,想啥时候干活就啥时候干活,想干多少干多少,想啥时候下班就啥时候下班,也没人pua我了,还有时间锻炼,应该睡得更好才是。


但实际并不是这样,对于一个从小被学校管,长大了被公司管的芸芸众生来说,创业实际是这样的:



  1. 你会非常忙,比上班还要忙,因为你之前是螺丝钉,做好自己的本职工作就好了,现在事无巨细,都你一个人。比如做自媒体,从开始的账号定位-》内容选题-》写脚本-》置景&拍摄-》后期剪辑-》选品-》商务对接-》客服-》用户社群运营,所有的环节,都得你自己一个人。然后视频没流量怎么办,违规了怎么办,付费转化率低怎么办,还是只有你自己去解决。(之前公司让你干啥你干啥,你只需要规定时间完成你的任务就好了)

  2. 面对大量的自由时间,你根本不会支配时间,因为很多环节你都是小白,要学习的东西太多,但是你天天光学习了,每天看似很忙,但是看不到产出,导致你就很沮丧。(之前你只做熟悉的工作,产出是有保证的)

  3. 行动困扰,没有目标感,没有人给你一个目标&方向,你不知道你现在做的事情对挣钱有没有价值,你会迷茫,你会时常自我怀疑。(之前你只是专注领导安排的任务,至于这个任务能不能帮公司挣到钱,那是公司的事情,你关心到手的工资而已)

  4. 没有成就感,认同感。因为现在你很多事情要从0开始,比如写文案要求写作能力,拍视频要求表现力,搞流量要求你有运营&营销的能力 ,相比之前做熟悉工作,感觉上会有落差(之前工作中都是做你擅长的领域,每完成一项任务也很有成就感,做的出色还能收获同事和领导的认可)

  5. 和社会断了链接,没有存在感,归属感(这是人类的基本需求之一),你不属于任何一个群体,没有人赞扬,尊重,接纳你,甚至你想被骂两句也没人鸟你(之前在公司,做的好了领导或者同事会夸你两句,做的不好了可能会给你建议,起码有人能倾诉,能交流,能寻求帮助)

  6. 没有了收入,眼见钱包一天天变少,你肯定会焦虑。但是更让你焦虑的,是你不知道未来什么时候能挣到钱。更更让你焦虑的,是不知道最后能不能挣到钱。(之前工作压力不管有多大,多累,起码你还有工资,你还有吃饭的钱,这是底气)


所以在此奉劝有裸辞创业想法的人,千万不要裸辞!裸辞创业九死一生! 正确的做法是一边工作愿一边做副业,等副业的收入和工资差不多甚至超过工资了,再去辞职。有人会说,我工作那么忙,根本没时间搞副业啊。我之前也是这么想的,但是现在我会告诉你:没有时间就去挤出时间,每天晚睡或者早起一会,周末也抽出时间搞。这点问题都解决不了?创业的遇到问题会比这难十倍!如果这个你觉得太难了,那我劝你还是老老实实打工吧。


但是我已经裸辞了,没办法,只能去解决问题,我开始吃助眠药,喝中药,有些好转,但也没治好,只是比之前好点。


就这么拖着残血的半条命,我坚持了半年多,一半时间学习,一半时间实践,搞了两个自媒体号,第一个号违规被封了,第二个号流量也没啥起色。这条路是越走越看不到希望,每天晚上都不想睡觉,因为害怕明天的到来,因为明早一起床,眼前又是一片黑暗。


五、彻底崩溃


11月,因为种种原因和媳妇生了一场气,我觉得对于我创业,她不鼓励也就算了,在我状态这么差的情况下还不能对我包容一点,甚至有点拆后台的感觉,那几天我就像一个泄了气的皮球,内心被彻底击垮了。(所以现在有点理解每个成功男人的背后,都有一个伟大的女人这句话的含义了)


终于,在创业的压力,8个月没有收入的恐慌,焦虑失眠心悸的折磨中,我决定放弃了。


失败了,彻彻底底的失败。回想这次经历,就好像之前在一艘航行的货轮上打工,然后受不船上的种种压榨,终于鼓起勇气,自己带着一艘救生艇,跳海奔向自己想要的自由。结果高估了自己的目前的实力,经不起茫茫大海狂风骤雨,翻船了。。濒临溺亡。。。


六、重新找工作


放弃后的那几周,我开始熬夜,开始暴饮暴食,之前的运动也放弃了。整天在家里拉着窗帘,除了吃饭就是躺在床上刷手机,让我尽可能分散注意力,减少内心的痛苦。


但是这样的状态也不是事儿啊,目前肯定是不想再去面对创业的事情了,那只能去找个工作先干着了。


刚开始找工作内心又有不甘,因为一个三线城市比起北京来说,不管是工作机会,环境,薪资来说,都差太多。


但是没办法,我现在的感觉就是快溺死了,我现在急需一个救命稻草,活下来,是我目前的首要任务。


于是在网上海投了一遍,结果惨不忍睹,根本没几家公司招人,前前后后一个月,真正靠谱的面试就一家,是的,只有一家。


好在这家也顺利拿了offer,是一家刚创业的公司,一共十几个人,薪资只有原来1/3多点,但是拿到offer那一刻我依然有些激动,我感觉我活下来了,不管怎样,现在能喘口气了。


七、迷茫的未来


现在上班已经一个多月了,公司挺好,不加班,基本上7点前就都走了,离家也挺近,骑个共享单车也就10分钟。这一个月,焦虑没了,不心悸了,失眠也好了。每天就是按部就班上下班,完成老板给的任务,其他的事情也不用自己操心,终于又做起自己熟悉且擅长的事情。


但是内心还是有落差,本来北京好好的工作自己作死给辞了,要不这一年也能攒不少钱呢,现在不但钱没了,这几个月还花了好几w,最后还差点嘎了。


其实入职这家公司前,北京之前的同事问我要不要回去,说现在正忙,我说你先问问吧。


我当时也纠结,如果真的能回去,我还要不要回去,毕竟在那边挣一个月顶这边仨月。但是回都回来了,再去北京可能就一辈子留北京了吧。


不过后来同事说年前没有招人计划了,可能要年后了,如果招人到时再联系我。正好我不用纠结了,这可能就是命运的安排吧。


不过真的想问问你们,如果到时有机会,是继续北漂呢,还是选择在老家呢?


八、结语


说实话,我现在知道了,山的那边还是山,我不知道什么时候才能看到海,甚至我可能一辈子都看不到海了。不过目前想的就是,调整好状态,先走一步算一步吧。


30岁的年纪,学会和自己和解,学会接受自己的平庸,但是依然要努力,毕竟在这个阴雨连天的环境下,没有伞的孩子只能努力奔跑。


作者:骆驼箱子
来源:juejin.cn/post/7330439494666453018
收起阅读 »

开发人员,千万不要去碰那该死的业务参数,无论什么时候!

你好呀,我是歪歪。 前几天发了一个牢骚: 本来只是单纯的吐槽一下,但是好多人对其中的细节比较感兴趣。 大家都是搞技术的嘛,对于“踩 BUG”这种喜闻乐见的事情,有兴趣是很正常的。 其实我这个 BUG,其实严格意义上不能叫做 BUG,因为和程序无关,甚至和技术...
继续阅读 »

你好呀,我是歪歪。


前几天发了一个牢骚:



本来只是单纯的吐槽一下,但是好多人对其中的细节比较感兴趣。


大家都是搞技术的嘛,对于“踩 BUG”这种喜闻乐见的事情,有兴趣是很正常的。


其实我这个 BUG,其实严格意义上不能叫做 BUG,因为和程序无关,甚至和技术的关系都不算大。从标题上你也能猜出来,是和一个业务参数相关。


但是在这个过程中,因为我是整个事件全程的亲历者,所以现在回看这个事情,我还是有一些思考在里面的。


我觉得这是一个程序员会遇到的“典型事件”。


那就用这篇文章一起复盘一下吧。


背景


要说明这个问题的背景,甚至不需要一个具体的业务场景,只需要围绕着以下这个非常常见的利息计算公式,就可以说明问题的起因:



利息=计息金额*日利率。

日利率=年利率/360



由于日利率的计算,涉及到除法,在对应需求第一次开发时,业务的要求是日利率保存 7 位小数。


在程序中,年利率和日利率是两个字段分别保存的,日利率在初始化的时候就算好落库了,后续程序直接取这个算好的日利率就行了。


系统上线,相安无事。


跑了一段时间后,业务又提来一个需求:当前的精度不够,需要调整到 11 为小数。


你不用好奇歪师傅这边到底是什么业务场景,反正我去看了业务数据,需求是合理的,那就把需求接过来干就行了。


保存 7 位小数和 11 位小数,大家都是搞开发的,肯定也知道这个就是一个小改动,很快就能搞定。


事实也是如此,虽然之前的需求对应的代码不是我写的,但是我看过代码,清楚的知道改动点在哪,所以很快就开发完成。


前面说了,这个需求之前在线上按照 7 位小数跑了一段时间,所以存在一些存量配置。


针对这些存量数据,在需求评审会议上的时候,我提了一句:存量配置怎么处理呢?


业务答复:这次需求上线的时候,你按照 11 位小数重新算好,然后写 SQL 更新一下就行。


我心里一盘算:计算公式明确,年利率我也有,算一把,没啥问题。


就答应了。


然后,不出意外的出意外了。


假设年利率是 2.5%,除以 360 之后,保留 11 位小数,应该是 0.00006944444。


而我不知道当时为什么手抖了,在 SQL 里面写成了 0.00069444444。


我给你对比一下:



0.00006944444

0.00069444444



相当于我写出来的日利率被扩大了十倍。


然后再回头看看这个公式:



利息=计息金额*日利率



日利率被扩大十倍,那么对应的计提金额也会被扩大十倍。


这就是问题的背景。


一个单纯的人为失误,和程序没有任何关系,所以严格意义上不属于程序 BUG。


但是这个问题确实是足够低级。


为什么没被发现?


那么这个错误的 SQL 是怎么通过代码评审、测试验证这两道关卡被带到生产环节的呢?


首先,这一次提交的代码,压根就没有评审环节。


我有代码提交权限,也有代码审核权限。所以我自己提交,自己就审核通过了。


其实这个需求应该是组里面另外一个小伙伴来做,但是当时他被调到其他组了。


他还在我们组的时候,我们的合作模式是他提交代码,我进行审核。


如果有这个环节,我觉得我有 50% 的几率发现问题。


为什么是 50% 呢?


因为这取决于我审核代码时是否有正在处理其他的事情,如果有其他事情处理,我可能会形式主义的看上几眼。如果没有其他事情,而这次提交的代码量又不大的话,我基本上都会认真的过一下提交的内容。


通过代码评审之后,接下来就应该是测试环节。


测试主要关注的是精度从 7 位变成 11 位之后,最终计算出来的利息是否符合预期。


他测试时是走了整个业务的全流程。


在“全流程”中,这个 11 位精度的日利率,是在页面配置年利率的时候通过程序自动计算出来的,不会错的。


而他在验证 SQL 语句的时候,测试环境又没有生产环境的配置,所以他拿着我提供的 SQL,只能保证写的语法没问题,能正常执行,并不能确保里面数据的正确性。


而我也记得很清楚,我当时给他说过:你执行一下 SQL 不报错就行,值的正确性,我来保证。


而且戏剧性的是,测试同事很仔细的去看了值,他去数了确实是 11 位小数。但是可惜,站在他的视角,他发现不了值被扩大了十倍。


所以,测试环节也没有发现这个问题:



0.00006944444

0.00069444444



就带着上生产了。


一个问题正常来说不应该被带上生产,但是我们确实不能保证测试环节一定能把所有问题都测出来,所以新项目、新迭代的生产验证也是非常有必要的。


这个我们也做了。


按理来说,生产上的数据已经是错误的了,而且是一个“利息金额扩大十倍”的明显的错误,如果主动去做了数据验证,应该能被发现才对。


那为什么做了生产验证,却没有发现问题呢?


因为当时存量配置有三条,我提供了 3 个 SQL,其中有一个是算对了的。


每一条存量配置都对应着大量的利息数据,而算对了的这个对应的数据更多,在比例上超过 60%。


我进行生产验证的时候,在大量的利息计提数据中随机抽选了两条,选中的这两条,恰好都是正确的 SQL 对应的数据。


所以我发现符合预期,得出了生产验证通过的结论。


站在这个节点,回顾整个事件,这个时候应该是最有可能发现问题的时候。


但是没发现。


根本原因是验证方案不严谨,玄学原因是运气不站在我这边。


怎么暴露的?


你想想,这种业务参数配置错误的问题你能通过什么监控规则监控到吗?


其实很难的。


我们一般来说做技术层面的监控,都是监控程序是否按照预期正常运行。比如在计算的过程中出现异常,那我们是可以监控到的。


但是在这种只是参与计算的值不对,但是能正常计算出一个值的情况,并不会报错。


这种问题通过技术手段很难监控到。如果硬要去做监控,肯定是能做的,比如从异常浮动的维度、横向数据对比的维度,但是配套的开发成本又上去了。


我是怎么发现这个问题的呢?


也是纯粹的运气。


是一个周五的晚上,我做另外的一个和本问题毫无关系的场景下的数据验证的时候,偶然间看到了一笔数据的金额和前几天比,明显大了很多。


这是不符合业务规律的。


然后进一步跟踪,最终定位到了前面的问题 SQL。这个时候距离这个 SQL 上线,已经过去了三天,已经产生了一批错误数据了。


如果我没有偶然间看到这个问题数据,那么这个问题会在什么环节暴露呢?


就是在业务使用这个数据做核对的时候。


那个时候整个问题的性质就变了。不仅是处理时间来不来得及的问题了,而是这个问题是由“开发自主发现”还是由“外部反馈发现”这两个完全不同的性质了。


一般来说,不管是什么问题,先抛开严重程度,只要是开发自主发现的,都能一定程度上让事情变得不那么难堪。


所以我们才一度强调“可监控”的重要性。


随后,我联系了业务,反馈了这个情况。他表示在他下次使用这批数据之前,把数据修复好就行。大概一个月后,他会用到这批数据。


这样,我有接近一个月的时间来处理这个问题,防止问题扩大化。


时间非常充足,站在这个角度,我运气还不错的。


问题已经暴露出来了,随后就是制定针对这批错误数据的修复方案了。


修复方案就和业务场景相关了,属于多个业务场景叠加在一起,所以修复方案其实是比较复杂的,涉及到“修数”和“补数”,没有展开描述的必要了。


只是想简单提一句,这个修复方案是我利用周末的时间想出来的,很多细节问题我都需要考虑到,甚至在心里写了一遍伪代码。


确实是浪费了周末的时间,但是这是为自己的错误买单,半点不怨别人,就是活该。


而对于参与后续方案讨论的同事来说,在这件事情上付出的时间,才是属于无妄之灾。


这就是整个事情的过程,一个小数点引发的血案。


再回首


现在整个事情的全貌都在你眼前了,你得到了什么经验教训?


因为手抖了,写错了一位小数,这确实是直接原因,所以是想着下次再处理这种数据的时候,更加小心一点吗?


我觉得不是这样的。


我得到的经验教训就是我的标题:开发人员,千万不要去碰那该死的业务参数!


如果在最开始需求评审会,我们讨论到存量数据的时候。


业务说:这次需求上线的时候,你按照 11 位小数重新算好,然后写 SQL 更新一下就行。


我说:不行,这个属于是业务参数,我不能去动。上线完成后,就具备这个功能了,你可以通过页面配置去修改。


我知道他们修改业务参数的流程,很长很复杂。


首先业务需要发起一个参数变更的 OA 流程,然后走到他的部门负责人审批。


业务部门负责人审批完成后,会到具体负责业务参数配置的人员手里,还需要该人员对应的部门负责人审核。


审核完成后有权限的人员才会去修改这个业务参数,而这个参数的修改,在对应的系统功能上还有两级甚至三级审核。


整个完成之后发起 OA 的人员还需要进行变更确认,看看页面上是否是自己想要的配置。


这一套流程走下来,你觉得还会出错吗?


很难出错了。


你可以批判这个流程过于臃肿,但是你最终总是会认识到,这个流程其实是在保护打工人。


我知道他流程比较复杂,而我写个 SQL 几乎是没有成本的,但是这是在 SQL 正确的前提下。


如果当时不答应通过 SQL 的方式帮他处理存量数据,他其实有更加正规的流程去处理这些数据,而且不会出错。


事后我们复盘的时候,也有同事私下向我提出了这个的问题:为什么不走 OA 流程去调整这个参数?


另外,关于流程,我给你举一个程序员方面的例子。


一个核心开发人员拥有线上数据库的操作权限,我们先假设这个人绝对忠诚、绝对可以信赖、绝对恪尽职守、绝对不会删库跑路。


某一天,他收到一个预警信息,经过排查发现需要去修改数据库里面某个数据的状态,他直接就去修改了。


这个操作非常常见,特别是在小公司或者在一些在快速发展阶段的公司。


后来这个公司成长起来了,开始更加注重操作风险了,回收了所有人员的数据库权限,以前的事儿既往不咎,以后想要修改数据库数据,必须要发起一个审批流程,经过层层审批之后才能执行。


这个流程和“直接去修改”这个动作比起来,就重了无数倍了。


站在程序员的角度,前几年都是可以直接操作生产数据,突然这个制度出来了,极大的影响了之前的开发惯性。所以刚刚开始执行的时候,你可能会骂一句:xxx。


但是长远来看,这个流程其实是在保护你。


当你有数据库权限的时候,操作对了,没有人会夸你。操作错了,你就是罪魁祸首。


有了一个审批流程,在加重了操作成本的同时,也降低了错误成本。


处理问题的时长可能增加了,对于问题处理的敏捷度可能降低了,但是站在公司的角度,随着公司的发展“稳定”才是永恒的主旋律,在稳定面前,敏捷度反而是可以牺牲的。


歪师傅在第一家公司业务野蛮发展的时代,曾经就有这样的权限,那个时候刚刚参加工作两年多的时间,觉得事情就应该是这样的,这样才是正确的,可以足够敏捷,足够迅速的处理问题。


后来权限回收了,当时我也在私底下骂骂咧咧了几句。


再回来,随着经验和在职场上见过得事儿越来越多,才渐渐认识到:蛮荒时代确实出英雄,但是我没有把握好机会成为英雄。蛮荒时代之后的流程规范,规章制度其实是在保护那批没有成为英雄的人,其中就有我。


最后,给你,也给我自己一个忠告:开发人员,你最好要知道你数据库里面每一个业务参数背后的业务含义,但是千万不要去碰那该死的业务参数。也轮不到你碰,该碰的人会在正确的流程下去碰。


无论什么时候,心中都要绷着这根弦。


作者:why技术
来源:juejin.cn/post/7435928632081252378
收起阅读 »

新范式下的低代码方案

前言 低代码由来已久,主要是减少开发人员的编码时间,提高产品交付效率,甚至功能完备的低代码平台可以使非开发人员使用。 正如此,多年来,低代码平台层不出穷,但依然没有出现现象级的产品,不过,大多数公司也都有自己的低代码平台,体验和效果也是参差不齐。 新范式的到来...
继续阅读 »

前言


低代码由来已久,主要是减少开发人员的编码时间,提高产品交付效率,甚至功能完备的低代码平台可以使非开发人员使用。


正如此,多年来,低代码平台层不出穷,但依然没有出现现象级的产品,不过,大多数公司也都有自己的低代码平台,体验和效果也是参差不齐。


新范式的到来


如今人工智能又达到了一个新的阶段,有预言说,它最先代替的是程序员。我认为这很难,如果你深度使用了ChatGPT,它确实非常非常惊艳,但是,要想取代程序员,还为时过早。不过如果能够善加利用,它将是一把利器,可以事半功倍。


但是,目前还没有发现一款体验非常好的GPT产品可以无缝的与开发环境融合。即使“历史悠久”的GitHub Copilot也没有达到一种理想效果,虽然还有它的孪生兄弟GitHub Copilot Chat也总是缺少一些体验。


虽然现在还没一个非常好的产品来辅助我们开发(GitHub Copilot已经很好了),但是也不影响一个新的范式即将到来,GPT注定会改变我们的开发方式。


目前,就我的体验来说,ChatGPT的自定义GPT体验是最好的,但是在开发的过程中,也相当割裂。下面我们就来定制这样一个GPT,看他的效果如何。


自定义GPT


假定你可以访问ChatGPT,并且开通了Plus。


自定义一个GPT和开发一个项目差不多,需要反复调试,第一版完成之后,还需迭代。但是,相对于开发项目,自定义一个GPT的调试过程要相对简单,我这里直接给出一个调试好的,你可以直接把这个指令粘贴到你的ChatGPT里。


你是一位资深的前端开发工程师,你的目标是根据用户要求创建一个不省略任何逻辑的,功能完备的组件。你需要跟用户沟通需求,满足条件之后进行组件开发。
你严格遵循如下规则完成组件开发:
- 使用最新的TypescriptVue3进行开发。
- 使用Ant Design of Vue UI库。
- 代码结构必须是这样的:<template></template><script setup lang="ts"></script><style scoped></style>
- 使用 Ant Design Vue 的栅格系统:利用 Ant Design Vue 的 <a-row> 和 <a-col> 组件创建响应式布局。
- 如果需要导航路由,必须这样:import { useRouter } from 'vue-router'; const router = useRouter(); router.push('xxx');
- 如果有URL相关访问,必须这样:import { useRoute } from 'vue-router'; const route = useRoute(); route.xxx
- 如果有提示、通知等,必须这样:import { notification, message, xxx } from 'ant-design-vue';
- 如果有Form表单,必须这样:<a-form @finish="handleLogin" :model="loginForm" :rules="rules" :label-col="{ span: 4 }" layout="horizontal">
- 如果组件有文字必须使用中文。
- 代码里避免使用any,复杂字段必须定义类型,可以参考api.json文档。
- 如果有数据提交按钮,按钮必须包含loading,防止多次触发。
- 如果有危险操作,进行二次确认。
- 如果有数据访问,做好下面处理:
- import axios from '@/axios-config';
- 根据api.json文档定义请求数据及响应的数据类型。
- 使用api.json提供的接口路径。
- 根据响应状态进行成功或者失败提示。
- 所有接口返回的数据类型都被如下范型包括:
[这里需要填写自己的]
- 输出代码之前:
- 必须先参考示例代码文件LoginView.vue【重要】
- 先把思路写出来,观察思路是否符合规则,之后再输出代码。
- 示例代码文件LoginView.vue内容如下:
[这里需要填写自己的]

你需要把 API 文档上传进去。


另外,可以根据开发过程遇到的问题,不断的调试这个指令,非常简单。


使用自定义GPT


上面,我们自定义了一个GPT,怎么使用呢?比如你可以输入这样的要求:


根据API文档及示例代码开发一个用户注册组件,要求如下: 
1、根据API定义三个字段,邮箱、邮箱验证码、密码
2、邮箱后面需要有验证码发送按钮,参考下面代码
<a-input-search v-model:value="value" placeholder="input search text" size="large" @search="onSearch" >
<template #enterButton>
<a-button>Custom</a-button>
</template>
</a-input-search>
3、发送按钮要有一分钟倒计时功能
4、注册按钮下面要有一个跳转逻辑:已有账户登录?

它就会非常贴心的生成如下代码:


<template>
<a-row type="flex" justify="center">
<a-col :xs="24" :sm="16" :md="12">
<a-form @finish="handleRegister" :model="registerForm" :rules="rules" layout="horizontal">
<a-form-item label="邮箱" name="email">
<a-input-search
v-model:value="registerForm.email"
placeholder="请输入邮箱"
size="large"
@search="sendVerificationCode"
>
<template #enterButton>
<a-button :disabled="countdown > 0">{{ countdown > 0 ? `${countdown}秒` : '发送验证码' }}</a-button>
</template>
</a-input-search>
</a-form-item>
<a-form-item label="邮箱验证码" name="emailVerification">
<a-input v-model:value="registerForm.emailVerification" placeholder="请输入验证码" />
</a-form-item>
<a-form-item label="密码" name="password">
<a-input-password v-model:value="registerForm.password" placeholder="请输入密码" />
</a-form-item>
<a-form-item>
<a-button type="primary" block html-type="submit" :loading="loading">注册</a-button>
</a-form-item>
<a-form-item>
已有账户登录?<a @click="navigateToLogin">点击登录</a>
</a-form-item>
</a-form>
</a-col>
</a-row>
</template>

<script setup lang="ts">
import { ref } from 'vue';
import { useRouter } from 'vue-router';
import { notification } from 'ant-design-vue';
import axios from '@/axios-config';

interface RegisterModel {
email: string;
emailVerification: string;
password: string;
}

const registerForm = ref<RegisterModel>({
email: '',
emailVerification: '',
password: ''
});
const rules = {
email: [{ required: true, message: '请输入邮箱', trigger: 'blur', type: 'email' }],
emailVerification: [{ required: true, message: '请输入验证码', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }]
};
const loading = ref(false);
const countdown = ref(0);
const router = useRouter();

const sendVerificationCode = async () => {
if (countdown.value > 0) return;

// 发送验证码请求
try {
const response = await axios.get('/auth/verify-email', { params: { email: registerForm.value.email } });
if (response.appCode === 2000) {
notification.success({ message: response.message });
countdown.value = 60;
let interval = setInterval(() => {
countdown.value--;
if (countdown.value === 0) clearInterval(interval);
}, 1000);
} else {
notification.error({ message: response.message });
}
} catch (error) {
notification.error({ message: '验证码发送失败' });
}
};

const handleRegister = async () => {
try {
loading.value = true;
const response = await axios.post('/auth/register', registerForm.value);
if (response.appCode === 2000) {
notification.success({
message: '注册成功',
description: '您可以现在登录了'
});
router.push('/login');
} else {
notification.error({
message: '注册失败',
description: response.message
});
}
} finally {
loading.value = false;
}
};

const navigateToLogin = () => {
router.push('/login');
};
</script>

<style scoped>
</style>

效果非常好,如果有哪些不满足要求, 可以不断的与之沟通,继续完善代码。当然如果有些小的改动,可以直接在编辑器里修改代码。比如,上面的上面发送验证码的地方是有问题的,没有没有判断邮箱是否可用,这里你就可以自己加个逻辑,或者告诉它 发送邮箱验证码之前,必须校验邮箱


于是,它就会给你想要的逻辑,非常喜人。不过有时候他会给出代码片段,有时候也会给出全部代码,看自己情况要求它。


const isEmailValid = (email: string): boolean => {
const emailRegex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
return emailRegex.test(email);
};

const sendVerificationCode = async () => {
if (!isEmailValid(registerForm.value.email)) {
notification.error({ message: '请输入有效的邮箱地址' });
return;
}

if (countdown.value > 0) return;

// 原有的发送验证码逻辑保持不变
// ...
};

总结



  1. 根据自己的业务需求,可以非常方便的调教出一个GPT。

  2. 在使用的过程中,写清楚自己的需求。

  3. 如果它生成的代码有问题,可以进一步沟通。

  4. 它生成的代码结构非常的清晰。

  5. 它命名的代码名称也非常的合理。


它现在能做到的已经非常棒了,未来会更加可期。


不过,从体验角度来说,我们需要在开发工具和ChatGPT之间来回切换,还是有些麻烦,什么时候,开发工具中,可以支持就太好。


还有一点儿,现在还需要我们自己去发现问题,与它沟通,指出问题,让它修正问题。如果有一个良好的产品,可以使用测试驱动开发,先让它生成测试代码,根据测试代码,生成逻辑代码。如果测试代码跑不通,自动的把错误消息反馈给它,它再修改,再跑测试代码,这体验简直逆天。


期望


希望一个体验非常完美的平台赶快到来:



  1. 调试好自己的GPT。

  2. 直接支持开发环境。

  3. 根据用户需求生成测试代码。

  4. 用户检查测试代码是否覆盖所有情况。

  5. 然后生成逻辑代码。

  6. 自动跑测试代码。

  7. 如果有问题,自动把问题反馈给它。

  8. 在此基础上再生成逻辑代码。

  9. 然后再跑测试代码。

  10. 循环往复。

  11. 实在不行开发人员介入解决问题。

  12. 最终完成开发。


如果有这样一个平台,那么,开发效率将是巨大的提升。


作者:我们来掘金吧
来源:juejin.cn/post/7322275119593144383
收起阅读 »

程序员裸辞创业, 都混的咋样了?

嗨, 大家好, 我是徐小夕.没错, 我已经辞职快一年了, 目前在全职创业, 今天会和大家系统的分享一下接近一年的创业历程, 能“劝退”一个是一个!写这篇文章主要有两个目的, 一个是对自己创业做个阶段性复盘, 另一个目的是给一些在筹备创业的小伙伴, 一些客观而有...
继续阅读 »

嗨, 大家好, 我是徐小夕.

没错, 我已经辞职快一年了, 目前在全职创业, 今天会和大家系统的分享一下接近一年的创业历程, 能“劝退”一个是一个!

写这篇文章主要有两个目的, 一个是对自己创业做个阶段性复盘, 另一个目的是给一些在筹备创业的小伙伴, 一些客观而有参考性的建议.

因为我发现最近几个月很多技术小伙伴都在咨询我创业的事情, 我突然有点不知所措, 心想现在创业行情都这么“好”了吗? 于是我我看了一眼技术社区的画风, 仿佛他们读懂了我的疑惑:

图片

已有先辈们做出了“总结”......

就我自己亲身做互联网软件创业来说, 确实不太“”.

接下来就分享一下我这一年的创业历程.

裸辞后为什么选择创业

两个字: 执念!

因为之前一直在深耕低代码可视化领域, 对可视化搭建产品有很大的执念, 所以辞职的首要目标就是要做一款高价值的可视化搭建产品.

虽然在之前的公司工作非常愉快, 不管是薪资还是和同事们的相处, 感觉都非常nice, 但是心里总是有一个“坎”, 想要去迈过.

也可能是为了让即将到来的30岁, 不留遗憾吧~

很多朋友认识我大多通过技术社区里我做的技术分享技术文章, 在开源领域, 我也做了很多可视化相关的开源项目, 从而树立了一定的技术影响力:

图片

由于自己坚持做技术分享和写文章已经3年多了, 积累了大概 10w 的粉丝, 所以这也为自己创业做了一定的“用户”保障.(你做的产品一定要有原始用户)

总结一下, 决定我创业的原因有以下3个核心要素:

  • 技术积累
  • 资金积累
  • 粉丝积累

如果大家想创业, 尤其是从事互联网创业, 我觉得得好好思考上面3点, 缺一勿“创”.

毕竟刚才在说话的间隙, 我又刷到一波高赞的文章, 和我的文章遥相呼应:

图片

再来聊聊创业收入.

由于我们的创业方向主要是给企业提供可视化解决方案, 加上最近大环境又不太好, 很多企业的预算都在降低, 所以我们产品价格定位在企业可以接受的较低档位.

10个月时间, 收入6位数+.

好在我们是轻资本创业, 后面会通过提高产品价值和市场力, 来提高产品盈利能力.

创业过程中的酸甜苦辣

之前在网上看到有个大V说: 创业最可怕的事是,一开始就看到了终点那个举着胜利旗帜的人不会是你

直到真正创业了, 我才感同身受. 因为你的每一个决策都决定着产品的未来走向, 意味着你需要为你的决策付出时间精力财力, 和人情.

1. 产品研发的血泪史

图片

当时听到“自由无价”这个词, 用来形容独立开发者自由职业者时, 觉得非常'cool', 直到自己亲身下场创业, 才发现自由是“相对的”, 创业没成功之前, 你是绝对不自由的.

也许关注可视化搭建项目的朋友知道我之前开源了一个零代码的项目——H5-Dooring, 今年一直在做Saas版的零代码产品, 让不懂技术的朋友也能通过拖拽的方式使用搭建平台来低成本制作页面.

从1月到6月, 我们几个小伙伴兵分两路, 一路给客户做定制开发, 一路迭代我们自己的低代码平台, 基本上天天熬夜coding, 测试, 同时还要兼顾用户反馈的需求和 bug.

由于大家都没有市场销售经验, 所以我自然而然的担起了这个责任.

图片

除了要做技术研发, 我硬挤出了一部分时间来做内容宣传, 学习视频剪辑, 录制产品宣传视频和视频教程, 然后客户确定购买后我还需要给客户做技术培训, 帮助客户快速上手可视化搭建方案的技术研发.

所以说, 我也终于理解为什么说创业者都得是多面手了, 因为大部分事情都要亲力亲为!

再来聊聊软件产品的发布上线经验.

因为Dooring线上产品有近2万用户, 所以产品的更新迭代都极为谨慎, 我们一般在凌晨12点发布新版本, 这也就是意味着我们需要为发版“疯狂”. 由于没有专业测试, 我们都得自测, 当然百密总有一疏, 也出现几次线上bug导致用户受到了影响, 好在我们及时修复了, 才避免了损失.

这里的经验教训就是, 需要根据自己用户的属性, 来沉淀适合产品自身的迭代周期和BUG追溯机制.

凌晨发版是国内企业的不二选择......

这些都是创业过程中需要经历的冰山一角, 还有很多困难等着各位, 比如攻克技术难题风险管控成本等, 这些会不断考验着创业者的心智.

一次失败的百度广告

图片

百度广告也许是我们做的最亏的一次投资.

Dooring零代码 其实有做3个月的百度广告, 当时主要是为了提高搜索权重用户曝光, 来提高转化, 于是我们商量之后投了几万的百度广告.

由于百度是竞价机制, 在投放期间, 我们发现搜索关键词排名还是没有在第一页, 搜索排名基本上被“大公司”垄断, 投的钱越多你的位置越靠前, 我们当时的底线就是用户检索关键词后我们的网站只要在第一页就行了, 后面发现还是差强人意.

所以对于小公司, 做百度广告基本效果很小, 如果没有几十万上百万的投入, 很难有实际效果.

所以我们后面果断放弃了百度广告, 转而从内容侧和网站自身SEO来提高搜索曝光度. 大家对百度广告, 怎么看呢? 欢迎留言区留下你的经验分享~

学会做一名销售

说实话, 程序员创业, 营销或者销售能力是一个短板. 然而企业的基础目标就是“卖货”, 要想把自己产品销售出去, 就必须得懂客户市场.

当然销售能力也是我在创业过程中遇到的短板.

今年参加了很多线下的分享会, 有关于AI的, 也有创业的, 也认识了很多的创业者, 他们大多都有技术背景, 但是我发现发展比较好的企业基本上都是极度重视用户需求和体验的, 他们建立了各种渠道来挖掘用户需求和用户反馈, 从而改进优化自己的产品,让更多的用户来主动帮它“代言” .

往往是那种死磕技术但是忽视真正的用户体验的产品, 虽然技术虽强, 但是在使用产品初期, 就把大部分用户“劝退”了.

很多技术人更倾向于把技术做好, 以技术思维来设计产品. 但是产品光有技术是不行的, 还得懂客户, 懂用户体验, 我们需要把自己假想成产品的“客户”, 如果“客户”都觉得这个有价值, 有购买意愿, 这个产品才能更好的成单.

这里举一个大家都比较熟悉的例子——雷军的小米SU7.

图片

虽然小米不是第一个造车, 但是一场汽车发布会下来, 却让一众老牌车企“洗面”.

当时也看了很多博主分享小米汽车爆单的原因, 其中最重要的就是用户体验. 在发布会上雷总真的是吊足了观众的胃口和对年轻人第一辆“xx车”的期望, 其爆款的背后是小米对大量用户诉求的思考, 并融入到了产品的设计中.

虽然我个人对这种产品模式不太苟同, 但是有一点是比较赞同的, 就是: 创业者要做一个懂客户的金牌销售.

国内的客户关系管理涉及到方方面面, 作为创业者一定要考虑客户关系的维护和管理.

这里分享我的几个创业经验:

  • 建立客户群(需求挖掘和市场洞察)
  • 建立产品用户群(提高产品体验, 获取产品体验数据)
  • 做好数据埋点(进一步分析产品决策, 用户属性)
  • 持续迭代产品
  • 在不影响大方向的前提下, 市场反馈优于技术实现
  • 做好产品营销(不要指望客户主动来找你)

打造竞争壁垒

我觉得AI盛行的当下, 小团队做互联网产品创业, 在不融资的情况下, 你的唯二的竞争壁垒就是:

  • 铁粉基数
  • 产品垂直度

因为任何软件技术都能被复制, 只要有足够的资金, 那如何才能和这些喜欢 copy 的公司竞争呢?

第一个就是你的粉丝基数, 如果你有大量的粉丝, 那么你已经成功一半了, 因为你有了第一批可能会帮你传播的用户, 并且能很快确定在当前行业的影响力.(当然后续的口碑也非常重要, 为了保证粉丝不会倒戈~)

其次我觉得就是你的创业项目得在垂直细分领域做的足够优秀, 至少达到Top3的水平. 不然很难在这个领域获取可持续的客户, 所以需要做深一个垂直细分领域, 这样才能形成一定的竞争壁垒.

说到这里, 还在规划做互联网创业的技术小伙伴们, 是否觉得有一丝丝压力了?

不急, 我来继续复盘.

短期收益 or 长期收益?

再来聊聊一个比较实际的话题, 就是创业的收益.

当然创业的方式有很多很多种, 有短期收益模式的, 比如说卖课广告等, 也有长期才能获取收益的, 比如做独立产品, 而我创业的方向是走长期收益的方向——做独立产品.

我相信很多技术圈友想创业的方向都是自研产品, 但是有一个现实的问题就是, 你的收益周期可能是3个月半年1年, 甚至更久. 而投入的成本来说也比较大, 比如服务器, 研发成本, 设计资源, 营销投入等.

我们在做可视化搭建产品的过程中(比如Dooringflowmix系列), 累计投入超过了20w, 还不包含人工研发成本. 虽然目前已经盈利, 但是还是需要持续的投入, 而且要做好半年不盈利的准备.

所以对于想独立做产品创业的小伙伴, 大家一定要慎重, 如果都具备了我上面说的条件, 大家再入局, 不然会非常“惨烈”的.

创业这一年, 都做了什么

接下来到了文章的“高潮”部分, 聊聊从1月到10月, 我们做了哪些可视化搭建产品.

1.Dooring零代码搭建平台

图片

2. Dooring智图, 在线图片设计平台

图片

  1. 橙子试卷, 表单问卷搭建平台

图片

4. flowmix/docx 多模态文档编辑引擎

图片

5. flowmix/flow 多模态工作流设计器

图片

未来的规划

后续还是会持续在可视化零代码领域做深耕, 同时借助AI技术, 让应用搭建门槛降到最低.

如果创业不达预期, 我可能也会像下面的博主一样, 继续在职场中卷卷卷啦!

图片

如果大家有好的创业想法, 或者想有一些技术交流, 欢迎随时和我沟通, 也可以在留言区和大家分享哦~


作者:徐小夕
来源:juejin.cn/post/7425600234523131956
收起阅读 »

「差生文具多」增大IDE字体,增大显示器

🍄 大家好,我是风筝 🌍 个人博客:【古时的风筝】。 本文目的为个人学习记录及知识分享。如果有什么不正确、不严谨的地方请及时指正,不胜感激。 每一个赞都是我前进的动力。 公众号:「古时的风筝」 上个月发“微博”的时候说IDE字体已经从 16号调到18号了,...
继续阅读 »

🍄 大家好,我是风筝


🌍 个人博客:【古时的风筝】。


本文目的为个人学习记录及知识分享。如果有什么不正确、不严谨的地方请及时指正,不胜感激。


每一个赞都是我前进的动力。


公众号:「古时的风筝」



上个月发“微博”的时候说IDE字体已经从 16号调到18号了,主要是一到换季的时候就有点鼻炎,导致眼睛也不舒服,看电脑时间长了就很累,结果我就给字体调大了。


你别说,该认怂就得认怂,调大了不丢人,字体一大果然就没那么累了。刚毕业的时候用12号字,后来改14号,再后来16号,这不,转眼18号字了,如果过两年还写代码的话,就奔着20号去了。



但是问题还是有的,我一般情况下是不怎么用外接显示器的,16寸写代码感觉够用了,除非要做一些大块儿内容的比对,否则,我的外接显示器就是一张风景图,搁旁边就剩下赏心悦目的作用了。


但是这18号字体一上,如果开着控制台的话,一屏也就能显示20行代码了。我之所以用 MacBook Pro,很大的一个原因就是显示屏,但是公司的外接显示器应该是 2K 显示器里最便宜的了,显示效果跟苹果比差了一大截。



看到我发的“微博”后,几个朋友就在群里聊起显示器来,最后一致认为苹果 Studio Display 是最好的显示器,唯一的缺点就是太贵了,最低的27寸 11499起,这你受的了吗?


一个醉心研究显示器和机械键盘的朋友让我看看明基(BenQ)RD280U,说是专业的编程显示器,而且护眼这一块儿做的特别到位,他说,你不是最关心这个吗,肯定对路。他说入手不想要的话可以转给他,他正好想把之前的华为显示器换了呢。


我查了一晚上资料后,这款显示器有两点最吸引我的地方:



  1. 它为编程场景专门做过定制设计,保证开发的时候能有更好的体验。

  2. 有专业的护眼硬件滤蓝光设置,看评论说用起来眼睛真的不累。


然后它就来了,28寸4K,好大一个箱子。快递小哥说这箱子还挺沉,我说是啊,一个显示器怎么这么大这么沉,快递小哥也有点儿惊讶。


拆开后,一个大箱子里面套了一个小箱子,但是是真的沉,好不夸张的说得有20多斤,料真足啊。



但是安装很方便,直接把底座扣上就好了。


1.gif


这是显示器的上桌效果,28寸,实话说已经很大了,再大的话,全屏写代码就有点儿费脖子了。



一般的显示器都是27寸 16:9 比例的,但是 RD280U 是3:2的,这样显示器更高一点,能多显示几行代码。


目前市面上特殊屏幕比的显示器商家很少,有成本、市场等很多原因,但也有很多程序员喜欢用方一点的屏幕,RD这款考虑到了,还挺贴心。对于我来说,这倒是小事,反正屏幕够大,也不差那几行代码。我最关心的还是显示效果,代码显示的清不清楚。


用惯了苹果的屏幕,其他的显示器一眼就能看出来清晰不清晰,结果,果然没让我失望。文字显示非常清晰,效果非常好。



专门的编码主题


这个显示器内置了几种模式,其中就包括专门的编码主题,一个是深色主题、一个是亮色主题,写代码的时候就直接调成这俩模式就行了。看电影、读书也有专门的主题。


2.gif


同时还有个专门的背光灯,晚上写代码就直接开背光灯就可以了,不用再单独开个台灯了,也不用开着室内灯了,有时候思路真的不能被打断,晚上背光灯亮起来就不用着急去开灯了,而且氛围感也不错。



另外,在晚上开启猫头鹰模式,也就是夜间保护模式,可以自动调节亮度,在搭配上深色模式,晚上写代码也很舒服。



反光处理


它对定点光源的反光效果处理的也很好,左边是 MacBook Pro,右边是 RD280U,效果还是很明显的。



但是建议写代码、看视频还是不要在强光下,总是对眼睛不好的。


用软件助手直接控制


与显示器配套的还有一个软件控制工具,叫做 「Display Pilot 2」,通过这个软件可以直接更改色彩主题、亮度。


还可以开启 MoonHalo ,MoonHalo 就是背光灯,还有夜间保护、智慧蓝光,还附赠个桌面分区的功能。



软件助手里还有一个 Flow 功能,可以自定义固定时间段里我想要的显示器色彩模式、护眼功能开启状态和其他参数。比如我晚上八点想看会电子书提前设置好Flow, 到点就直接切换了,非常丝滑。


还有一个用处


我家小朋友最近正在学习认表,我就给做了一个认表的网页,没事儿可以拿着大屏练习几分钟。


地址: http://www.moonkite.cn/clock-study…



点击暂停,表盘就会停止,这时候就可以让他看看是几点了,然后点击显示按钮就会出现刚才暂停的时刻。


有小孩子的可以拿来用一用。


然后顺道改了改,做了一个在线时钟,不用大屏的时候可以看时间用。


地址: moonkite.cn/clock.html



作者:古时的风筝
来源:juejin.cn/post/7436036522019143707
收起阅读 »

WebStorm现在免费啦!

前言 就在昨天1024程序员节,JetBrains突然宣布WebStorm现在对非商业用途免费啦。以后大家再也不用费尽心思的去找破解方法了,并且公告中的关于非商业用途定义也很有意思。 加入欧阳的高质量vue源码交流群、欧阳平时写文章参考的多本vue源码电子书 ...
继续阅读 »

前言


就在昨天1024程序员节,JetBrains突然宣布WebStorm现在对非商业用途免费啦。以后大家再也不用费尽心思的去找破解方法了,并且公告中的关于非商业用途定义也很有意思。


加入欧阳的高质量vue源码交流群、欧阳平时写文章参考的多本vue源码电子书


为什么免费


在公告中的原话是:



我们希望新的许可模式将进一步降低使用 IDE 的门槛,帮助大家学习、成长并保持创造力。



欧阳个人还是觉得现在大家都在使用vscode或者Cursor


如果我不想付费,那么我会选择开源的vscode,安装上插件后体验完全不输于WebStorm。


如果我想付费获得更好的体验,那么为什么不使用AI加持的Cursor呢?


前段时间网上有很多吸引人眼球的段子,比如:



我6岁的儿子使用Cursor开发了一个个人网站



又或者:



我是一名UI设计师,使用Cursor轻松的开发了一个APP



欧阳也一直在使用Cursor,虽然没有网上那些段子那样把Cursor吹的那么神。但是对于开发来说Cursor是真的很好用,经常觉得Cursor比我更知道我接下来应该写什么代码。如果我选择付费,为什么不考虑更加好用的Cursor呢?


不管是免费还是付费市场,vscode系的IDE已经占据了很大的比例。欧阳个人觉得WebStorm为了能够重新占据市场,所以选择推出非商业用途免费的WebStorm


非商业和商业有什么区别


非商业和商业的WebStorm区别只有一个,Code With Me 功能。如果是非商业的WebStorm里面的Code With Me 是社区版。


Code With Me是一个协作工具,允许多个开发者实时共享代码和协作编程。通过这项功能,用户可以在WebStorm、Rider等IDE中与他人共同编辑代码、进行调试和解决问题。


这个是Code With Me社区版和非社区版的区别:
code


如何判断是否是非商业


公告中的原文是:



商业产品是指有偿分发或提供、或者作为您的商业活动的一部分使用的产品。 但某些类别被明确排除在这一定义之外。 常见的非商业用例包括学习和自我教育、任何形式的内容创作、开源代码和业余爱好开发。



这不就是完全靠自觉吗?不需要证明我是用于非商业,欧阳觉得这是故意为之。


小公司使用Webstorm的非商业模式进行业务开发,人家看不上你,所以懒得搭理你。就像是以前在小公司里面使用破解版本的webstorm开发一样。


但是在公告中明确有写:



如果您使用非商业许可证,将无法选择退出匿名使用情况统计信息收集。 我们使用此类信息改进我们的产品。 这一规定与我们的抢先体验计划 (EAP) 类似,并符合我们的隐私政策



意思是如果你使用了非商业版本,那么JetBrains就能拿到你的数据。


如果在大公司里面使用非商业模式进行业务开发,那么Webstorm在拿到数据的情况下就是一告一个准。就像是大公司里面禁止使用破解版本的webstorm开发业务一样,欧阳个人觉得有点像是钓鱼。


如何使用非商业版


使用方式很简单,首先从官网下载安装包。然后在对话框中选择非商业模式,如下图:
step1


接着勾选协议,点击开始非商业使用,如下图:
step2


此时会在浏览器中新开页面让你登录,登录方式有很多种:比如谷歌、GitHub、微信等。这里欧阳选择的是谷歌登录,如下图:
step3


最后就成功啦,非商业有效期是一年,一年后会自动续订。
step4


总结


WebStorm推出的非商业版免费对于开发者来说肯定是好事,特别是一些使用WebStorm的独立开发,还有小公司里面的开发,但是大公司里面想使用非商业版就需要三思了。


作者:前端欧阳
来源:juejin.cn/post/7429381641700048923
收起阅读 »

程序员攻占小猿口算,炸哭小学生!

小学生万万没想到,做个加减乘除的口算练习题,都能被大学生、博士生、甚至是程序员大佬们暴打! 最近这款拥有 PK 功能的《小猿口算》App 火了,谁能想到,本来一个很简单的小学生答题 PK,竟然演变为了第四次忍界大战! 刚开始还是小学生友好 PK,后面突然涌...
继续阅读 »

小学生万万没想到,做个加减乘除的口算练习题,都能被大学生、博士生、甚至是程序员大佬们暴打!



最近这款拥有 PK 功能的《小猿口算》App 火了,谁能想到,本来一个很简单的小学生答题 PK,竟然演变为了第四次忍界大战!


登上应用商店榜一


刚开始还是小学生友好 PK,后面突然涌入一波大学生来踢馆,被网友称为 “大学生炸鱼”;随着战况愈演愈烈,硕士生和博士生也加入了战场,直接把小学生学习软件玩成了电子竞技游戏,谁说大一就不是一年级了?这很符合当代大学生的精神状态。


小猿口算排行榜(博一也是一年级)


然而,突然一股神秘力量出现,是程序员带着科技加入战场! 自动答题一秒一道 ,让小学生彻底放弃,家长们也无可奈何,只能在 APP 下控诉严查外挂。



此时很多人还没有意识到,小学生口算 PK,已经演变为各大高校和程序员之间的算法学术交流竞赛!



各路大神连夜改进算法,排行榜上的数据也是越发离谱,甚至卷到了 0.1 秒一道题!



算法的演示效果,可以看我发的 B 站视频。


接口也是口,算法也是算,这话没毛病。


这时,官方不得不出手来保护小学生了,战况演变为官方和广大程序员的博弈。短短几天,GitHub 上开源的口算脚本就有好几页,程序员大神们还找到了多种秒速答题的方案。



官方刚搞了加密,程序员网友马上就成功解密,以至于 网传 官方不得不高价招募反爬算法工程师,我建议直接把这些开源大佬招进去算了。



实现方法


事情经过就是这样,我相信朋友们也很好奇秒答题目背后的实现原理吧,这里我以 GitHub 排名最高的几个脚本项目为例,分享 4 种实现方法。当然,为了给小学生更好的学习体验,这里我就不演示具体的操作方法了,反正很快也会被官方打压下去。


方法 1、OCR 识别 + 模拟操作


首先使用模拟器在电脑上运行 App,运用 Python 读取界面上特定位置的题目,然后运用 OCR 识别技术将题目图片识别为文本并输入给算法程序来答题,最后利用 Python 的 pyautogui 库来模拟人工点击和输入答案。


这种方法比较好理解,应用范围也最广,但缺点是识别效果有限,如果题目复杂一些,准确度就不好保证了。


详见开源仓库:github.com/ChaosJulien…



方法 2、抓包获取题目和答案


通过 Python 脚本抓取 App 的网络请求包,从中获取题目和答案,然后通过 ADB(Android Debug Bridge)模拟滑动操作来自动填写答案。然而,随着官方升级接口并加密数据,这种方法已经失效。


详见开源仓库:github.com/cr4n5/XiaoY…



方法 3、抓包 + 修改答案


这个方法非常暴力!首先通过抓包工具拦截口算 App 获取题目数据和答案的网络请求,然后修改请求体中的答案全部为 “1”,这样就可以通过 ADB 模拟操作,每次都输入 1 就能快速完成答题。 根据测试可以达到接近 0 秒的答题时间!


但是这个方法只对练习场有效,估计是练习场的答题逻辑比较简单,且没有像 PK 场那样的复杂校验。


详见开源仓库:github.com/cr4n5/XiaoY…



方法 4、修改 PK 场的 JavaScript 文件


这种方法就更暴力了!在 PK 场模式下,修改 App 内部的 JavaScript 文件来更改答题逻辑。通过分析 JavaScript 响应中的 isRight 函数,找到用于判定答案正确与否的逻辑,然后将其替换为 true,强制所有答案都判定为正确,然后疯狂点点点就行了。


详见开源仓库:github.com/cr4n5/XiaoY…



能这么做是因为 App 在开发时采用了混合 App 架构,一些功能是使用 WebView 来加载网页内容的。而且由于 PK 场答题逻辑是在前端进行验证,而非所有请求都发送到服务器进行校验,才能通过直接修改前端 JS 文件绕过题目验证。


官方反制


官方为了保护小学生学习的体验,也是煞费苦心。


首先加强了用户身份验证和管理,防止大学生炸鱼小学生;并且为了照顾大学生朋友,还开了个 “巅峰对决” 模式,让俺们也可以同实力竞技 PK。



我建议再增加一个程序员模式,也给爱玩算法的程序员一个竞技机会。


其实从技术的角度,要打击上述的答题脚本,并不难。比如检测 App 运行环境,发现是模拟器就限制答题;通过改变题目的显示方式来对抗 OCR 识别;通过随机展示部分 UI, 让脚本无法轻易通过硬编码的坐标点击正确的答案;还可以通过分析用户的答题速度和操作模式来识别脚本,比如答题速度快于 0.1 秒的用户,显然已经超越了人类的极限。


0.0 秒的这位朋友,是不是有点过分(强大)了?



但最关键的一点是,目前 App 的判题逻辑是在前端负责处理的,意味着题目答案的验证可以在本地进行,而不必与服务器通信,这就给了攻击者修改前端文件的机会。虽然官方通过接口加密和行为分析等手段加强了防御,但治标不治本,还是将判题逻辑转移到服务端,会更可靠。


当然,业务流程改起来哪有那么快呢?




不过现在的局面也不错,大学生朋友快乐了,程序员玩爽了,口算 App 流量赢麻了,可谓是皆大欢喜!


等等,好像有哪里不对。。。别再欺负我们的小学生啦!



更多


💻 编程学习交流:编程导航 📃 简历快速制作:老鱼简历 ✏️ 面试刷题神器:面试鸭


作者:程序员鱼皮
来源:juejin.cn/post/7425121392738140214
收起阅读 »

冷板凳30年,离职时75岁!看完老爷子的简历,我失眠了

0x01 前几天,科技圈又一个爆款新闻相信不少同学都已经看到了。 那就是77岁的计算机科学家,同时也是一位享誉全球的人工智能专家 Geoffrey Hint0n 和 John J. Hopfield 一起,拿到了2024年诺贝尔物理学奖,以表彰他们通过人工神经...
继续阅读 »

0x01


前几天,科技圈又一个爆款新闻相信不少同学都已经看到了。


那就是77岁的计算机科学家,同时也是一位享誉全球的人工智能专家 Geoffrey Hint0n 和 John J. Hopfield 一起,拿到了2024年诺贝尔物理学奖,以表彰他们通过人工神经网络实现机器学习的奠基性发现和发明。



消息一出,在科技届引起了一阵广泛的关注和讨论,以至于不少同学都发出感叹,“AI法力无边”“人工智能终于不止是技术,而是科学了”


而提到 Hint0n 这个名字,对于学习和从事AI人工智能和机器学习等领域的同学来说,应该都非常熟悉了。


Hint0n 是一位享誉全球的人工智能专家,被誉为“神经网络之父”、“深度学习的鼻祖”、“人工智能教父”等等,在这个领域一直以来都是最受尊崇的泰斗之一。



而上一次 Hint0n 站在聚光灯下则是5年前,彼时的 Hint0n 刚拿下2018年度图灵奖。


至此,AI教父 Hint0n 也成为了图灵奖和诺贝尔奖的双料得主!


0x02


大多人都是因为近年大火的AI才了解的Hint0n,但是他之前的人生经历也是相当富有戏剧性的。


1947年,Geoffrey Hint0n出生于英国温布尔登的一个知识分子家庭。



他的父亲Howard Everest Hint0n是一个研究甲壳虫的英国昆虫学家,而母亲Margaret Clark则是一名教师。


除此之外,他的高曾祖父George Boole还是著名的逻辑学家,也是现代计算科学的基础布尔代数的发明人,而他的叔叔Colin Clark则是一个著名的经济学家。


可以看到,Hint0n家庭里的很多成员都在学术和研究方面都颇有造诣。


当然,在这样的氛围下长大的Hint0n,其成长压力也是可想而知的。


1970年,23岁的Hint0n获得了实验心理学的学士学位。但是,令谁也没有想到的是,毕业后这位“学二代”由于找不到科研的意义,他竟然先跑去当了一段时间的木匠。


不过这个经历并没有帮助他消除自己的阶段性迷茫,他一直希望真正理解大脑的运作原理,渴望更深入的理论研究,于是经历过一番思想斗争后又下决心重返学术殿堂,投身于人工智能领域。


直到 1978 年,他终于获得了爱丁堡大学人工智能学博士学位,而此时的他也已经 31 岁了。


那个年代做深度学习的研究可以说是妥妥的冷板凳,因为你要知道当时的AI正值理论萌芽阶段,Hint0n所主张和研究的深度学习派更是不太为关注和认可。


那面对这一系列冷漠甚至反对,唯有纯粹的相信与热爱才能将这个领域深耕了数十年,直到后来 AI 时代的来临。


而这一切,Hint0n 都做到了。


0x03


Hint0n主要从事神经网络和机器学习的研究,在AI领域做出过许多重要贡献,其中最著名的当属他在神经网络领域所做的研究工作。



他在20世纪80年代就已经开启了反向传播算法(Back Propagation, BP算法)的研究,并将其应用于神经网络模型的训练中。这一算法被广泛应用于语音识别、图像识别和自然语言处理等领域。



除此之外,Hint0n还在卷积神经网络(Convolutional Neural Networks,CNN)、深度置信网络(Deep Belief Networks,DBN)、递归神经网络(Recursive Neural Networks,RNN)、胶囊网络(Capsule Network)等领域做出了重要贡献。


2013年,Hint0n加入Google,同时把机器学习相关的很多技术带进了谷歌,同时融合到谷歌的多项业务之中。



2019年3月,ACM公布了2018年度的图灵奖得主。


图灵奖大家都知道,是计算机领域的国际最高奖项,也被誉为“计算机界的诺贝尔奖”。


而Hint0n则与蒙特利尔大学计算机科学教授Yoshua Bengio和Meta首席AI科学家Yann LeCun一起因为研究神经网络而获得了该年度的图灵奖,以表彰他们在对应领域所做的杰出贡献。



除此之外,Hint0n在他的学术生涯中发表了数百篇论文,这些论文中提出了许多重要的理论和方法,涵盖了人工智能、机器学习、神经网络、计算机视觉等多个领域。


而且他的论文被引用的次数也是惊人,这对于这些领域的研究和发展都产生了重要的影响。



0x04


除了自身在机器学习方面的造诣很高,Hint0n同时也是一个优秀的老师


当年为了扩大深度学习的圈子,Hint0n曾在多伦多大学成立过研究中心,专门接收有兴趣从事相关研究的年轻人,以至于现如今AI圈“半壁江山”都是他的“门生”。



Hint0n带过很多大牛学生,其中不少都被像苹果、Google等这类硅谷科技巨头所挖走,在对应的公司里领导着人工智能相关领域的研究。


这其中最典型的就是Ilya Sutskever,他是Hint0n的学生,同时他也是最近大名鼎鼎的OpenAI公司的联合创始人和首席科学家。



聊到这里,不得不感叹大佬们的创造力以及对这个领域所作出的贡献,同时也期待大佬们后续给大家带来更多精彩的故事。



注:本文在GitHub开源仓库「编程之路」 github.com/rd2coding/R… 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。



作者:CodeSheep
来源:juejin.cn/post/7425848834456961051
收起阅读 »

买了个mini主机当服务器

虽然有苹果的电脑,但是在安装一些软件的时候,总想着能不能有一个小型的服务器,免得各种设置导致 Mac 出现异常。整体上看了一些小型主机,也看过苹果的 Mac mini,但是发现它太贵了,大概要 3000 多,特别是如果要更高配置的话,价格会更高,甚至更贵。所以...
继续阅读 »

虽然有苹果的电脑,但是在安装一些软件的时候,总想着能不能有一个小型的服务器,免得各种设置导致 Mac 出现异常。整体上看了一些小型主机,也看过苹果的 Mac mini,但是发现它太贵了,大概要 3000 多,特别是如果要更高配置的话,价格会更高,甚至更贵。所以,我就考虑一些别的小型主机。也看了一些像 NUC 这些服务器,但是觉得还是太贵了。于是我自己去淘宝搜索,找到了这一款 N100 版的主机。


成本的话,由于有折扣,所以大概是 410 左右,然后自己加了个看上去不错的内存条花了 300 左右。硬盘的话我自己之前就有,所以总成本大概是 700 左右。大小的话,大概是一台手机横着和竖着的正方形大小,还带 Wi-Fi,虽然不太稳定。


iowejofwjeofjwoeifjwoe


一、系统的安装


系统我看是支持windows,还有现在Ubuntu,但是我这种选择的是centos stream 9, 10的话我也找过,但是发现很多软件还有不兼容。所以最终还是centos stream 9。


1、下载Ventoy软件


去Ventoy官网下载Ventoy软件(Download . Ventoy)如下图界面


QQ_1727625608185


2、制作启动盘


选择合适的版本以及平台下载好之后,进行解压,解压出来之后进入文件夹,如下图左边所示,双击打开Ventoy2Disk.exe,会出现下图右边的界面,选择好自己需要制作启动盘的U盘,然后点击安装等待安装成功即可顺利制作成功启动U盘。


3、centos安装


直接取官网,下载完放到u盘即可。


QQ_1727625711792


它的BIOS是按F7启动,直接加载即可。


image-20241007222938414


之后就是正常的centos安装流程了。


二、连接wifi


因为是用作服务器的,所以并没有给它配置个专门的显示器,只要换个网络,就连不上新的wifi了,这里可以用网线连接路由器进行下面的操作即可。


在 CentOS 系统中,通过命令行连接 Wi-Fi 通常需要使用 nmcli(NetworkManager 命令行工具)来管理网络连接。nmcli 是 NetworkManager 的一个命令行接口,可以用于创建、修改、激活和停用网络连接。以下是如何使用 nmcli 命令行工具连接 Wi-Fi 的详细步骤。


步骤 1: 检查网络接口


首先,确认你的 Wi-Fi 网络接口是否被检测到,并且 NetworkManager 是否正在运行。


nmcli device status

输出示例:


DEVICE         TYPE      STATE         CONNECTION
wlp3s0 wifi disconnected --
enp0s25 ethernet connected Wired connection 1
lo loopback unmanaged --

在这个示例中,wlp3s0 是 Wi-Fi 接口,它当前处于未连接状态。


步骤 2: 启用 Wi-Fi 网卡


如果你的 Wi-Fi 网卡是禁用状态,可以通过以下命令启用:


nmcli radio wifi on

验证 Wi-Fi 是否已启用:


nmcli radio

步骤 3: 扫描可用的 Wi-Fi 网络


使用 nmcli 扫描附近的 Wi-Fi 网络:


nmcli device wifi list

你将看到可用的 Wi-Fi 网络列表,每个网络都会显示 SSID(网络名称)、安全类型等信息。


步骤 4: 连接到 Wi-Fi 网络


使用 nmcli 命令连接到指定的 Wi-Fi 网络。例如,如果你的 Wi-Fi 网络名称(SSID)是 MyWiFiNetwork,并且密码是 password123,你可以使用以下命令连接:


nmcli device wifi connect 'xxxxxx' password 'xxxxx'

你应该会看到类似于以下输出,表明连接成功:


Device 'wlp3s0' successfully activated with 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.

步骤 5: 验证连接状态


验证网络连接状态:


nmcli connection show

查看当前连接的详细信息:


nmcli device show wlp3s0

三、VNC远程连接


桌面还是偶尔需要用一下的,虽然用的不多。


root@master:~# dnf install  -y  tigervnc-server
root@master:~# vncserver
bash: vncserver: command not found...
Install package 'tigervnc-server' to provide command 'vncserver'? [N/y] y


* Waiting in queue...
* Loading list of packages....
The following packages have to be installed:
dbus-x11-1:1.12.20-8.el9.x86_64 X11-requiring add-ons for D-BUS
tigervnc-license-1.14.0-3.el9.noarch License of TigerVNC suite
tigervnc-selinux-1.14.0-3.el9.noarch SELinux module for TigerVNC
tigervnc-server-1.14.0-3.el9.x86_64 A TigerVNC server
tigervnc-server-minimal-1.14.0-3.el9.x86_64 A minimal installation of TigerVNC server
Proceed with changes? [N/y] y


* Waiting in queue...
* Waiting for authentication...
* Waiting in queue...
* Downloading packages...
* Requesting data...
* Testing changes...
* Installing packages...

WARNING: vncserver has been replaced by a systemd unit and is now considered deprecated and removed in upstream.
Please read /usr/share/doc/tigervnc/HOWTO.md for more information.

You will require a password to access your desktops.

getpassword error: Inappropriate ioctl for device
Password:

之后在mac开启屏幕共享就可以了


image-20241007225855305


QQ_1728313164289


四、docker 配置


docker安装我以为很简单,没想到这里是最难的一步了。安装完docker之后,总是报错:


Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded

即使改了mirrors也毫无作用


{
"registry-mirrors": [
"https://ylce84v9.mirror.aliyuncs.com"
]
}

看起来好像是docker每次pull镜像都要访问一次registry-1.docker.io,但是这个网址国内已经无法连接了,各种折腾,这里只贴一下代码吧,原理就就不讲了(懂得都懂)。


img


sslocal -c /etc/猫代理.json -d start
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip

sudo yum -y install privoxy

vim /etc/systemd/system/docker.service.d/http-proxy.conf


[Service]
Environment="HTTP_PROXY=http://127.0.0.1:8118"

/etc/systemd/system/docker.service.d/https-proxy.conf


[Service]
Environment="HTTPS_PROXY=http://127.0.0.1:8118"

最后重启docker


systemctl start privoxy
systemctl enable privoxy
sudo systemctl daemon-reload
sudo systemctl restart docker

QQ_1729956484197


五、文件共享


sd卡好像读取不了,只能换个usb转换器


fdisk -l
mount /dev/sdb1 /mnt/usb/sd

在CentOS中设置文件共享,可以使用Samba服务。以下是配置Samba以共享文件的基本步骤:



  1. 安装Samba


sudo yum install samba samba-client samba-common


  1. 设置共享目录


    编辑Samba配置文件/etc/samba/smb.conf,在文件末尾添加以下内容:



[shared]
path = /path/to/shared/directory
writable = yes
browseable = yes
guest ok = yes


  1. 设置Samba密码


    为了允许访问,需要为用户设置一个Samba密码:



sudo smbpasswd -a your_username


  1. 重启Samba服务


sudo systemctl restart smb.service
sudo systemctl restart nmb.service


  1. 配置防火墙(如果已启用)


    允许Samba通过防火墙:



sudo firewall-cmd --permanent --zone=public --add-service=samba
sudo firewall-cmd --reload

现在,您应该能够从网络上的其他计算机通过SMB/CIFS访问共享。在Windows中,你可以使用\\centos-ip\shared,在Linux中,你可以使用smbclient //centos-ip/shared -U your_username


QQ_1730035390803


参考:


https://猫代理help.github.io/猫代理/linux.html


stackoverflow.com/questions/4…


作者:wwwzh
来源:juejin.cn/post/7430460789067055154
收起阅读 »

6个月时间,我放弃一人企业又去打工了

本来没有心情写的,但是跟读者承诺过三个月后再汇报…… 因为被欠薪,在IT圈子规规矩矩上班12年,年龄34岁的我,决定先不找工作。今年4月份打算在家里自己搞些事情,并且还发布了一篇《IT男的一人企业》以明志。随后,“TF男孩”修改昵称为“IT男的一人企业”,斗志...
继续阅读 »

本来没有心情写的,但是跟读者承诺过三个月后再汇报……


因为被欠薪,在IT圈子规规矩矩上班12年,年龄34岁的我,决定先不找工作。今年4月份打算在家里自己搞些事情,并且还发布了一篇《IT男的一人企业》以明志。随后,“TF男孩”修改昵称为“IT男的一人企业”,斗志昂扬地高喊自由之歌:打工一眼看到头,创业灵活又自由……


7月份,过去三个月了,我写了一篇总结《那个不找工作在家干一人企业的程序员,现在怎么样了?》,汇报了我的收入和近况。其实那三个月,已经是巅峰。对于我来说,一个月挣1万多,已经是到顶了。


到8月份时,收入减至一千,9月时,低至几百。让我放弃的主要原因没有别的,就是收入。本身我的太太不支持我辞职,即便我有很多理由,比如这个行业可能是青春饭,要早考虑以后,早死早投胎,等人家失业,我已经探索出新路子了。而她的想法却是既然是青春饭,那就趁着青春多吃几年,等到吃不动再探索。


为了实现自己的想法,我还专门回老家,问父母要了些钱,这些钱等同原来两个月的工资。这样,我才有了底气去放心做一人企业。


后来的事情,如上文总结里所说,其实还可以。凭借我多年写文章的影响力,我主打一个廉价可行AI技术方案。就是写很多小老板想实现的,但是他们问自己的技术部,技术部说不可能实现。一般小企业技术能力一般,另外也懒惰。而这事在我这里成本只需要三五千。我一般会推荐他们看我的教程文章,如果抄作业他们都懒得抄。老板们就会找我做。成本低,他们也愿意试错,因为亏不了多少。而如果成了,他们的业务可能会插上飞翔的翅膀。我提供的AI方案,也确是可行,是自己验证过的适合小企业的低成本(尽量CPU)、开源、可商用、可本地化部署的项目。


8月、9月两个月孩子放暑假,我是专职带娃。没想到,带娃后根本没时间。我买了两个沙漏用于时间可视化。我跟孩子约定,她自己玩一个沙漏时间,然后我陪她一个沙漏的时间,类似于番茄工作法。这样,我就有些时间做自己想做的。但是,孩子虽然表面答应,她还是跟你捣乱。只能孩子睡觉时做些事情。


也是这个时候,家庭矛盾开始激化。主要还是没钱。但是却体现在我地拖得不干净,饭做得不好吃,为什么孩子又在看动画片……没办法,受不了鸡飞狗跳,提高厨艺根本没用,获取持续稳定的收入,是解决一切问题的关键。


9月中期开始找工作,很快就找到了。现在找AI算法岗位工作并不难。但凡招人的企业,就算是三五个人的小公司,它也要招一个AI工程师,为的就是盘活老业务,讲好智能故事。


我入职的是一个500多人的传统企业,成立20多年了,这里IT技术十来人。除了上线前后,不加班,当然工资也不高。


另外,上家公司的欠薪至今也没有追回来。去年9月开始欠薪,今年年初仲裁判决公司支付我拖欠的工资。然后公司不服仲裁判决,向法院起诉,我已收到传票。看到公司的起诉状我也无语了,他请求法院判定不支付工资xx.1元,应支付工资是xx.2元。改了一个数,还给我涨了钱,继续走一审二审。一个周期又是半年起步。目前公司面临几百例强制执行和几十个限制高消费,都是劳动纠纷的,已经启动破产。而根源则是老板盲目扩张,欠薪几千万了,还未停止大规模招人。他总想着自己振臂一呼,大量资金会涌入。


从去年9月到今年9月,我已经一年没有工资收入了。这也是经济压力大的原因。换哪个普通家庭都受不了。这么看,打工是有风险的。但是,打工的风险可控。最多损失1~2个月工资。当然,这得是你足够机灵的情况下。上家公司,被欠八个月工资的也有,甚至有员工私人带款给公司花。里面的操作不细说。


不打工的风险我也试过。就是上面写的,可能持续没有收入,是消耗存量等待增量。


我以前觉得,对于个人的事业,可能只有拼进全力才能稍微有点效果。比如我要验证一件自己的想法,上班时可能需要半年。但是当我全职去做时,可能半个月就验证出来了。看得鸡汤多了些,说什么行业竞争很激烈,时间就是机会,人家专职团队都干不成,凭啥你业余时间搞就能成功。所以要全身心投入创业。


而我的老领导说,如果你有想法,上着班也能把一个事业干成。如果你没有想法,就算专职干也没啥用。有些事情是需要孵化周期的,还有些事情是需要等待的。长期策略更适合普通人。我感觉还是他的话比较温和与现实。


事情就是这么个事情。昵称又改回了“TF男孩”。TF是TensorFlow的简称,因为我学AI是从tensorflow开始。以后也没有啥一人企业了。我乐意变回那个普通的男孩。


作者:TF男孩
来源:juejin.cn/post/7424915312166600755
收起阅读 »

离职后的这半年,我前所未有的觉得这世界是值得的

大家好,我是一名前端开发工程师,属于是没有赶上互联网红利,但赶上了房价飞涨时代的 95 后社畜。2024 年 3 月份我做了个决定,即使已经失业半年、负收入 10w+ 的如今的我,也毫不后悔的决定:辞职感受下这个世界。 为什么要辞职,一是因为各种社会、家庭层面...
继续阅读 »

大家好,我是一名前端开发工程师,属于是没有赶上互联网红利,但赶上了房价飞涨时代的 95 后社畜。2024 年 3 月份我做了个决定,即使已经失业半年、负收入 10w+ 的如今的我,也毫不后悔的决定:辞职感受下这个世界


为什么要辞职,一是因为各种社会、家庭层面的处境对个人身心的伤害已经达到了不可逆转的程度,传播互联网负面情绪的话我也不想多说了,经历过的朋友懂得都懂,总结来说就是,在当前处境和环境下,已经没有办法感受到任何的快乐了,只剩焦虑、压抑,只能自救;二是我觉得人这一辈子,怎么也得来一次难以忘怀、回忆起来能回甘的经历吧!然而在我的计划中,不辞职的话,做不到。


3 月


在 3 月份,我去考了个摩托车驾-照,考完后购买了一辆摩托车 DL250,便宜质量也好,开始着手准备摩旅。


webwxgetmsgimg.jpg


4 月份正式离职后,我的初步计划是先在杭州的周边上路骑骑练下车技,直接跑长途还是很危险的,这在我后面真的去摩旅时候感受颇深,差点交代了。


4 月


4.19 号我正式离职,在杭州的出租屋里狠狠地休息了一个星期,每天睡到自然醒,无聊了就打打游戏,或者骑着摩托车去周边玩,真的非常非常舒服。


不过在五一之前,我家里人打电话跟我说我母亲生病了,糖尿病引发的炎症,比较严重,花了 2w+ 住院费,也是从这个时候才知道我父母都没有交医保(更别说社保),他们也没有正式、稳定的工作,也没有一分钱存款,于是我立马打电话给老家的亲戚让一个表姐帮忙去交了农村医保。所有这些都是我一个人扛,还有个亲哥时不时问我借钱。


381728547058_ 拷贝.jpg


说实话,我不是很理解我的父母为什么在外打工那么多年,一分钱都存不下来的,因为我从小比较懂事,没让他们操过什么心,也没花过什么大钱。虽然从农村出来不是很容易,但和周围的相同条件的亲戚对比,我只能理解为我父母真的爱玩,没有存钱的概念。


我可能也继承了他们的基因吧?才敢这样任性的离职。过去几年努力地想去改变这个处境,发现根本没用,还把自己搞得心力交瘁,现在想想不如让自己活开心些吧。


5 月


母亲出院后,我回到杭州和摩友去骑了千岛湖,还有周边的一些山啊路啊,累计差不多跑了 2000 多公里,于是我开始确立我的摩旅计划,路线是杭州-海南岛-云南-成都-拉萨,后面实际跑的时候,因为云南之前去过,时间又太赶,就没去云南了。


2024-10-11 103931.jpg


6 月


在摩友的帮助下,给摩托车简单进行了一些改装,主要加了大容量的三箱和防雨的驮包,也配备了一些路上需要的药品、装备,就一个人出发了。


2024-10-11 103949.jpg


从杭州到海南这部分旅行,我也是简单记录了一下,视频我上传了 B 站,有兴趣的朋友可以看看:


拯救焦虑的29岁,考摩托车驾-照,裸辞,买车,向着自由,出发。


摩托车确实是危险的,毕竟肉包铁,即使大部分情况我已经开的很慢,但是仍然会遇到下大雨路滑、小汽车别我、大货车擦肩而过这种危险情况,有一次在过福建的某个隧道时,那时候下着大雨,刚进隧道口就轮胎打滑,对向来车是连续的大货车,打滑之后摩托车不受控制,径直朝向对向车道冲过去,那两秒钟其实我觉得已经完蛋了,倒是没有影视剧中的人生画面闪回,但是真的会在那个瞬间非常绝望,还好我的手还是强行在对龙头进行扳正,奇迹般地扳回来且稳定住了。


过了隧道惊魂未定,找了个路边小店蹲在地上大口喘气,雨水打湿了全身加上心情无法平复,我全身都是抖的,眼泪也止不住流,不是害怕,是那种久违地从人类身体发出的求生本能让我控制不住情绪的肆意发泄。


在国道开久了人也会变得很麻木,因为没什么风景,路况也是好的坏的各式各样,我现在回看自己的记录视频,有的雨天我既然能在窄路开到 100+ 码,真的很吓人,一旦摔车就是与世长辞了。


不过路上的一切不好的遭遇,在克服之后,都会被给予惊喜,到达海南岛之后,我第一次感觉到什么叫精神自由,沿着海边骑行吹着自由的风,到达一个好看的地方就停车喝水观景,玩沙子,没有工作的烦扰,没有任何让自己感受到压力的事情,就像回到了小时候无忧无虑玩泥巴的日子,非常惬意。


稿定设计导出-20241011-112615.jpg


在完成海南环岛之后,我随即就赶往成都,与前公司被裁的前同事碰面了。我们在成都玩了三天左右,主要去看了一直想看的大熊猫🐼!


2024-10-11 174426.jpg


之后我们在 6.15 号开始从成都的 318 起始点出发,那一天的心情很激动,感觉自己终于要做一件不太一样的事,见不一样的风景了。


401728642422_.pic.jpg


小时候在农村,读书后在小镇,大学又没什么经济能力去旅行,见识到的事物都非常有限,但是这一切遗憾在川藏线上彻底被弥补了。从开始进入高原地貌,一路上的风景真的美到我哭!很多时候我头盔下面都是情不自禁地笑着的,发自内心的那种笑,那种快乐的感觉,我已经很久很久很久没有了。


稿定设计导出-20241011-184041.jpg


同样地,这段经历我也以视频的方式记录了下来,有兴趣的朋友可以观看:


以前只敢想想,现在勇敢向前踏出了一步,暂时放下了工作,用摩托跑完了318


到拉萨了!


411728642433_.pic.jpg


花了 150 大洋买的奖牌,当做证明也顺便做慈善了:)


421728642441_.pic_h111d.jpg


后面到拉萨之后我和朋友分开了,他去自驾新疆,我转头走 109 国道,也就是青藏线,这条线真的巨壮美,独自一人行驶在这条路,会感觉和自然融合在了一起,一切都很飘渺,感觉自己特别渺小。不过这条线路因为冻土层和大货车非常非常多的原因,路已经凹凸不平了,许多炮弹坑,稍微骑快点就会飞起来。


这条线还会经过青海湖,我发誓青海湖真的是我看到过最震撼的景色了,绿色和蓝色的完美融合,真的非常非常美,以后还要再去!


2024-10-11 185558.jpg


拍到了自己的人生照片:


2024-10-11 185623.jpg


经历了接近一个半月的在外漂泊,我到了西宁,感觉有点累了,我就找了个顺丰把摩托车拖运了,我自己就坐飞机回家了。


这一段经历对我来说非常宝贵,遇到的有趣的人和事,遭遇的磨难,见到的美景我无法大篇幅细说,但是每次回想起这段记忆我都会由衷地感觉到快乐,感觉自己真的像个人一样活着。


这次旅行还给了我感知快乐和美的能力,回到家后,我看那些原来觉得并不怎么样的风景,现在觉得都很美,而且我很容易因为生活中的小确幸感到快乐,这种能力很重要。


7 月


回到家大概 7 月中旬。


这两个多月的经历,我的身体和心态都调整的不错了,但还不是很想找工作,感觉放下内心的很多执念后,生活还是很轻松的,就想着在家里好好陪陪母亲吧,上班那几年除了过年都没怎么回家。


在家里没什么事,但是后面工作的技能还是要继续学习的,之前工作经历是第一家公司用的 React 16,后面公司用的是 Vue3,对 React 有些生疏,我就完整地看了下 React 18 的文档,感觉变化也不是很大。


8、9 月


虽然放下了许多执念,对于社会评价(房子、结婚、孩子)也没有像之前一样过于在乎了,但还是要生活的,也要有一定积蓄应对未来风险,所以这段时间在准备面试,写简历、整理项目、看看技术知识点、刷刷 leetcode。


也上线了一个比较有意义的网站,写了一个让前端开发者更方便进行 TypeScript 类型体操的网站,名字是 TypeRoom 类型小屋,题源是基于 antfu 大佬的 type-challenges


目前 Type Challenges 官方提供了三种刷题方式



这几种方式其实都很方便,不过都在题目的可读性上有一定的不足,还对开发者有一定的工具负担、IDE 负担。


针对这个问题,也是建立 TypeRoom 的第一个主要原因之一,就是提供直接在浏览器端就能刷题的在线环境,并且从技术和布局设计上让题目描述和答题区域区分开来,更为直观和清晰。不需要额外再做任何事,打开一个网址即可直接开始刷题,并且你的答题记录会存储到云端。


欢迎大家来刷题,网址:typeroom.cn


截屏2024-10-12 21.53.26.png


因为个人维护,还有很多题目没翻译,很多题解没写,也还有很多功能没做,有兴趣一起参与的朋友可以联系我哦,让我一起造福社区!


同时也介绍下技术栈吧:


前端主要使用 Vue3 + Pinia + TypeScript,服务端一开始是 Koa2 的,后面用 Nest 重写了,所以现在服务端为 Nest + Mysql + TypeORM。


另外,作为期待了四年,每一个预告片都看好多遍的《黑神话·悟空》的铁粉,玩了四周目,白金了。


WechatIMG43.jpg


现在


现在是 10 月份了,准备开始投简历找工作了,目前元气满满,不急不躁,对工作没有排斥感了,甚至想想工作还蛮好的,可能是闲久了吧,哈哈哈,人就是贱~


最后


其实大多数我们活得很累,都是背负的东西太多了,而这些大多数其实并不一定要接受的,发挥主观能动性,让自己活得开心些最重要,加油啊,各位,感谢你看到这里,祝你快乐!


这是我的 github profile,上面有我的各种联系方式,想交个朋友的可以加我~❤️


作者:vortesnail
来源:juejin.cn/post/7424902549256224804
收起阅读 »

HR的骚操作,真的是卧龙凤雏!

现在基本已经对通过面试找工作不抱啥希望了。 有时候面试官和我聊的,还没有前面hr小姐姐和我聊的多,我一听开场白就基本知道就是拿我走个过场,没戏! 现在的面试流程都是人事先和你聊半天,没什么硬伤大坑才会放你去见面试官。 二零一几年那会可不是这样,第一次的详聊都是...
继续阅读 »

现在基本已经对通过面试找工作不抱啥希望了。


有时候面试官和我聊的,还没有前面hr小姐姐和我聊的多,我一听开场白就基本知道就是拿我走个过场,没戏!


现在的面试流程都是人事先和你聊半天,没什么硬伤大坑才会放你去见面试官。


二零一几年那会可不是这样,第一次的详聊都是直接业务层,业务的人觉得你ok,你再和人事沟通,定个薪资就完了。


13年的时候我在一家外企,三千的月薪。当时我一个小目标就是月薪过五千。


可别笑,13年的月薪五千,那还是能勉强算上一个小白领的。


我就老琢磨着升职加薪。但眼下的公司规模小,人员基本不扩增,不流通,我就想跳槽了。


当时我同时面了AB两家外资游戏公司。都过了业务层的面试,只剩和人事定薪资。


我给A公司报价5500,给B公司报价6000,因为我知道B公司刚来国内开拓业务,属于扩张期。


这时候,A公司HR的骚操作就来了,她说:“嗯,5500嘛,有难度,但不是不可能,我可以帮你跟老板争取。”


然后又问我:“你已经从现在的公司里面离职了吗?”


我说:“还没呢,我想先把下家定了。”


她就说:“哎呀,那有点难办,你得先从现在这家公司离职,我得确保我帮你争取下来后,你不会鸽我,不然我没法和老板交代,要不你先把那边离职办了吧。”


我说:“那我再考虑考虑吧。”


然后没过两天,我收到了B公司的offer。人家都没还价,直接定了6000,我就开始走离职手续。


这时候A公司的HR又出来问我,你从现在的公司离职了吗?


我说离了,她说你给我看看离职证明,我就拍照给她看离职证明。


然后她连假装让我等一会儿,说自己去问一下老板的戏都不演了,直接秒回说:“我帮你问了老板了,老板说不行,5500给不了,最多给到4500,要不你先入职呢,后面有机会提加薪的。”


瞬间给我恶心的,怎么会有这么恶心的人事!先把你忽悠离职,然后翻脸不认人,可劲往下砍价,为了公司的KPI,自己做人的脸都不要了。


我当时就觉得这样的人真傻,就算我认了4500的杀价入了职,我把和她的对话记录公司群里一发,老板会怎么看她,同事会怎么看她。


咱做人得有底线呀,你用这种脏办法帮公司省那几百块钱,还把自己的名声信誉搭进去了,真的值得吗?


后来我在入职B公司差不多半年后,传来了A公司解散倒闭的消息,我心里还暗爽了一把,幸亏当年没进那个火坑。


但半年后,我所在的B公司也解散了。


2013年那是一个手游刚兴起的疯狂年代,数不清的大小公司起家,创业,失败,解散,换批核心班子,再起家,再失败,浮浮沉沉,我也成了疯狂年代下的沧海一粟。


作者:程序员Winn
来源:juejin.cn/post/7426685644230213643
收起阅读 »

37 岁程序员被裁日记

37 岁被裁员,老婆即将临盆,求职却毫无音讯,我经历了人生中最艰难的时刻。我将这段时间每天发生的故事写进了日记,既是对未来生活的警醒,也希望能给面临相似困境的同伴们带来一些启示——无论多么艰难,绝不能放弃希望。 2024.8.27 (背景) 我在 2021 ...
继续阅读 »

37 岁被裁员,老婆即将临盆,求职却毫无音讯,我经历了人生中最艰难的时刻。我将这段时间每天发生的故事写进了日记,既是对未来生活的警醒,也希望能给面临相似困境的同伴们带来一些启示——无论多么艰难,绝不能放弃希望。



2024.8.27 (背景)


我在 2021 年九月底入职了某外企(以下简称 CP),合同三年。入职后,才知道这家企业有两个“潜规则”:



  • Senior 岗(我就是这个岗)如果三年内不能晋升,原则上就滚蛋

  • 每年大约有 10% ~ 15%的 PIP(绩效优化)比率


我躲过了三年的 PIP,但是没机会晋升。按惯例,三年合同到期前,公司会提前一个月通知我不再续约。只是这个是潜规则,所以我一直心存侥幸,盼着已经是 8 月底了,如果没有通知我,就可以躲过这一难。


但是——真的是卡着点——今天我还是被老板通知不续约了,他的话很平静:“有一个对你不是很好的消息要告诉你,director 想换一个更好的前端……”。


其实从去年年底开始我就意识到了不对劲,但是一直心存幻想,想在最后的 promotion 的机会里再拼一次;即便没有晋升成功,也想让老板感觉到我有点价值——至少能保住饭碗。然后上半年一个人徒手搭建了新的 web 技术栈,一举减少了大几十天的人力成本;部门上线新项目,45%工作是前端相关,我带着四五个不大会写 react 的后端同事紧赶慢赶完成了交付;这期间我参加了公司的 hackathon 项目,还获得了优胜;另外还在部门里分享里数次 Lightning talks,还有两个专利的输出。总以为这些努力至少不会让老板 nominate 我的时候太觉难堪吧。可是,nomination 还是与我无关,他的回复是“你没达到我的 bar,我是不会 nominate 你的;你如果觉得有续约风险,你应该一早让 director 来 nominate 你”。冷冰冰的,没有一丝三年共事的情分。确实是我太幼稚了,我以为我和老板的关系是:我给你干活,你帮我实现职业目标;但是这个老板的想法是,我是公司派来监督你的人,你不合格,我就替公司换人。


后来我提前问他续约的事,他信誓旦旦地说“现在招个 L6-2 的前端不容易(公司政策只招比我级别高的人),我会同意让你续约的”,我又问他这个谁说了算,他说他说了算。但是我一点都不信。过了一个月我们部门 L6-1 的前端 HC 赫然在目(L6-1 需要 VP 特批才能要到 HC);但是他依旧装着什么都不说,非得等到 8 月底最后一次 1 on 1 的机会(每两周我和他有一次 1 on 1),他才告诉我:“有一个对你不是很好的消息要告诉你,director 想换一个更好的前端……”


他一直知道我的困难: 外面行情很差、我年纪也不小了、老婆即将临盆。但是最后的谈话,至始至终都在甩锅给上级;切记切记,不要相信老板的说辞,不要对公司抱有幻想,更不要心存侥幸。和他的谈话结束后,我就与几个要好的同事做了简短的告别;之后一个月基本不会去厂里了,毕竟已经没有意义了。


2024.8.28


早上还是有一些同事找我处理业务上的事,我私信回了它们,不再参与代码了。他们虽然有点震惊,最后也给了我祝福。一些同事很讲义气的,给我推了 HR 和猎头。



  • 早上,我联系了一个猎头,告诉我蚂蚁国际有 HC,但是我还没准备中文版的简历,也没开始背八股,所以暂时没投递。

  • 中午,我联系了途虎的 HR,我直言不讳地问了是否卡年龄。我感觉她犹豫了,37 岁却是太大了。

  • 下午,我和 AWX 的前同事喝了杯咖啡。他是这里的后端开发,帮我询问了前端的面试流程。听说 leetcode 难度可能到 hard;而且很难躲过我最讨厌的八股文。对于项目面,他的经验是去别的厂里多历练历练,能把项目吹得滴水不漏才好。


然后回家的时候,CP HR 通知我可以讨论赔偿的事宜了。真的是太感人了:昨天老板通知,今天 HR 就来了,太急了吧。我又联系了之前被赶走的同事,他告诉我公司还是很抠的:是个小 n,不是大 N。哎……


2024.8.29


今天早上陪老婆去做了产检,孩子的预产期是十月初,而我的工作合同将在 9 月 29 日正式结束。希望宝宝能带来好运,出生时爸爸已经为他准备好了奶粉钱。顺带一提,我推迟了和法务部门第二天的会面,关于赔偿的问题暂时不急,还是找些时间专心学习吧。


午饭后,我更新了一版简历并发送给了途虎的 HR,但遗憾的是一天都没有收到回复。下午,隔壁邻居开始装修,噪音让我无法静心学习。于是,我选择去了社区图书馆,这里不仅可以免费看书,还有空调,虽然没有网络,但说实话,是一个避暑的好去处。


图书馆里主要是一些做作业的学生以及一位白发苍苍的老奶奶,她用放大镜整整看了一下午的报纸。而我,也趁机读完了一整本《图解 HTTP》。不过,为了确保面试顺利,还得专门背诵一些关于 HTTP 的面试题。


2024.8.30


早上,我给蚂蚁国际的猎头发了简历,时间不等人,无论如何我也得硬着头皮上了。她给了我几道历年真题,但都是大路货,没什么用。


下午的时候,base 在韩国的一个同事来问我现状,推荐我可以看看 Booking 和 AWX。Booking 我知道已经没有 HC 了,AWX 还想再准备一下。虽然没什么帮助,但是哥们这么老远还特地来关心我,还是很讲义气的,感动……


2024.8.31


今天礼拜六,对于找工作的人来说,没有双休日。我又去了社区图书馆,这里每天都开放。道听途说某些公司的前端可能会有 UI 设计面,我看完了《用户体验要素》。不过,囫囵吞枣,应该对面试起不了太大作用。说实在这个阶段最难的是:不知道自己缺什么;感觉什么都要准备,但是什么都不够。
老婆比我更加焦虑了,大着肚子,看她也没睡好。然后催着我快点给 AWX 投简历。说实在,它们家是现在我能发现难得有我这种 HC 的外企了,第一面就是它们家很担心凉凉了。


2024.9.01


今天又是学习的一天。早上第一件事是背六级单词;每天 20 个单词,累计打卡第 254 天。在 CP 这些年,最大的收获还是上英语课——Speexx。两次半年的口语培训,让我有了很大的成长;虽然和 Native English speaker 相比还是有本质差距的,但是对国内有英语要求的公司,这些年我不再那么心虚了。


中午时分,老婆在刷 boss 直聘的时候,看到 Paypal 放出了 HC。虽然这样的公司一次可能就放一两个 HC 吧,但还是让我阴霾的心闪现出一丝光亮:“金九银十”要来了?我马上托同事帮我打听内部情况——他老婆正好在 paypal 当前端,应该周一才能知道详情。他又提醒我可以海投国内大厂,比如美团、字节、腾讯什么的,不要总是想着小而美的外企。他去过很多公司,身经百战;而我九年就跳过一次槽,心中还有”面试恐惧症“。他的话一下把我点醒了——我现在的工作就是“面试”,没什么可患得患失了。


2024.9.02


早上本来要陪老婆去产检的,但是被她厉声喝止了:让我专心在家改简历——把 AWX 的简历交了。这种糟糕的心态,不可避免地传递到了老婆身上了。于是我又改了版简历,给 AWX 的师兄交了过去;他帮我指出了几处拼写错误——幸好师兄心善,真的是太丢脸了。不到一个小时,HR 就加我微信了。我想缓缓,就把 HR 的电话面约到了第二天。(真没出息,竟然三年没面过试,HR 面都紧张成这样了)
下午的时候,又一个同事来找我;他也快到期了。从我这里得到的消息,让他心里瞬间凉了一截。看样子大家都是差不多的情况:到了这个岁数,能不能延续职业生涯,是绝大多数人的心头病了。


2024.9.03


早上十点和 AWX 的 HR 视频了半小时。他们家没有 behavioral 面,就是随便介绍一下自己的期望薪资,以及面试流程。



  • 一面 coding:leetcode,手撸 promise,实现 UI 组件都有可能(跟没说一样)

  • 二面设计面:应该不是市面上正统的系统设计面

  • 三面 Line manager:聊项目

  • 四面 VP:看他心情,可能是人生面吧


其实没啥有价值的信息,并没有缩小我的准备范围。我还特地花了 79 块钱开通了 leetcode 会员,就是为了看看真题;结果就五题,亏大了。


吃完晚饭,四个同事几乎同时向问我打听现状,并表示有需要可以帮助内推他们之前的公司。感觉他们应该是有个小群正好说到我的事情吧。虽然暂时帮不到什么忙,但还是很感激的。说实在,我们的老板工作中已经有点去人格化了,但是他手下的人还都是温情默默的。


2024.9.04


今天,新前端正式加入公司。本来预计他是两周后才上班;可能真的是缺人手吧,催着他提前入职了。爽文小说里“裁员裁到大动脉”的剧情现实中说很难发生;我离开的一个礼拜里,部门里也仅仅发生了一个 minor 的 incident。可能对于老板来说,他又一次成功地实现了“以旧换新”。至于同行,也没有恨意,祝愿他在新公司一切顺利;并期望自己也能成功找到下一份工作。至于不开心的事,就让它随风而去吧;收下伤感,继续背八股了。


2024.9.05


今天终于参加了第一次面试——zoom 面,这两天刷了十几道 leetcode 题。但是面试的时候,前五十分钟在聊项目,最后十分才做了到算法题;跟预期差距也太大了。说实在聊项目的细节我还有所欠缺,本想 coding 和设计面后再恶补一下,没想到第一面就来了。复盘一下我自己的缺陷:



  • 讲项目的时候,应该分享个画板,给面试官更好的体验

  • 微前端这块写到了简历里,但是八股知识不够扎实

  • UI 这块,design system 得预习一下


当然,上述缺陷的本质问题是面试经历太少了,还没把自己的各个方面都武装过一遍。算了,放平心态,即便是挂了,至少也攒到了些经验。


2024.9.06


一夜无眠,还在想昨天的那道算法题。虽然不难,但是我漏掉了负数的判断,不知道面试官有没有注意到。这种心态真的很糟糕,一直提醒自己:这仅仅是一次面试而已,不能影响后面的准备。早上十点,我主动问了 HR 一面结果;等了一会儿,她回答我可以准备二面了。一下子心态平了很多。
之后我看了会儿阮一峰的博客,他的博客有个《谁在招人》的板块,但很可惜没有什么理想的公司。不过,他介绍了一个神奇网站,叫轻松游牧:一个远程工作聚合网站,每天从网上收集支持国内远程的岗位。我听说有一种面向国外的远程外包,也是通过类似网站招人的;每年给个固定的包工费,但是价位会比国内的外包高很多。再过段时间如果还是找不到工作的话,得试试这个模式了。


2024.9.07


礼拜六继续图书馆走起,坐在我傍边的依旧是同一帮爷爷奶奶们——看年纪他们应该都有八十好几了;他们真的是全年无休,人手一个放大镜,一直沉静在自己的书海里。上海确实是一个不一般的地方,这种人文的气质很是让我这种“乡下人”鼓舞的。下午看完了《微前端实战》——豆瓣 8.8 分,应该是评分太少,有点虚高了。不过,读完还是让我开阔了许多眼界,它顺便还提到了点 design system,与我上一次面试所欠缺的知识点不谋而合;希望下一轮面试能帮到我一点吧。回忆起这三年,我还是买了了挺多书的(公司每季 200 元图书福利),但可惜真正读完的没几本;现在临走了,却逼着我看了好几本,真是有点好笑的。


2024.9.08


今日 leetcode:977,1589(之后把每天 leetcode 题也记一下)


早上我一般都是先背英语单词,然后两道 leetcode。今天,我特意试了一下 leetcode 里 Paypal 原题:超过 1/4 是 hard 题;即便是 medium 题,也是包着算法外衣的数学题。很好奇,这个公司真的这么卷算法吗?
下午主要在看设计题,说实在前端系统设计很小众,网上的资料也就《News Feed》和《autocomplete》两题。我三年前进 CP 厂的时候面过一次设计题——《前端的 web log》,那时答得稀巴烂。这次比之前多看了些资料,只能说稍微了解了些套路;但从来没有实战过,说实在比之 coding 面更加没有信心。


2024.9.09


今日 leetcode:2181, 1969


不知道大家在网上是怎么找面经的,我之前主要在看准网找留言。但是今天登录看准网后,出了个弹窗,意思大致是它们家要关门了。哎,真是让人唏嘘不已;猜测写这个弹窗的前端小哥应该也已经被裁了吧。后来,我又去看了一亩三分地。这里的面经谈到这家设计题主要是 OOD 的题目,和传统的 system design 不同。所以白天我一直在油管上看某些高频题目的设计视频。但心里也明白,这些都是盲猜;很可能是浪费一天宝贵时间。说实在,面试也是信息检索的一种考验,要是又靠谱的信息渠道,面试成功率就能高很多了。


2024.9.10


今日 leetcode:2554、2559


下午 2 点二面。果然每次面试内容和预期的都不一样。所谓的设计面,根本和设计无关;事实上是聊项目+coding。项目面,前几天看的《微前端实战》倒是给了我点解答问题的灵感;但是 coding 表现很不好,时间还剩下十几分钟,我怕来不及,竟然选择纯口嗨——给面试官口头解释如何实现。有点后悔了,面试结束我自己又试了一下,其实这道题对我来说时间是充裕的。哎,还是太紧张了,策略错误……所幸,一个小时后,HR 邀我两天后三面;谢谢面试官网开一面。


2024.9.11


今日 leetcode:1999、2380


今天主要还是集中精力准备第二天的面试,虽然被告知是项目面,但是我心里还是没底——之前的两面都是 surprise。不过事已至此,我也只能全力总结项目了(再让我背八股,我也来不及了)。二面的经验让我想到了一个面试策略:就是事先把项目的架构图画好,面试的时候直接对着架构图讲业务;有点类似于 UI 设计人员在面试时会展示自己作品集的那个意思。我面经不足,不知道大家是不是都这么干的。


2024.9.12


今日 leetcode:2524、2576


上午 11 点 Line Manager 面,他让我聊聊个人最得意的项目;昨天画的架构图倒是派上了点用场。但是涉及到更深的问题解决方案,我还是没回答上来。老板一般想知道候选人的技术边界在哪里,被问懵也很正常。只是我个人有点焦虑,体感很差。面试结束后一直放不下心;HR 没联系我,我也心虚不敢主动问;真想“给个痛快”算了。
上午有面试,老婆没跟我说自己一个人去了产检;然后怕影响到我,一直到面试结束才告知:羊水有点少,医生让她下午去住院。我听完脑子一懵,很懊悔最近让老婆担惊受怕了。吃完午饭我就载她去了住院部,医生说先观察两天,如果羊水继续减少,娃娃必须提前出生。下午两边的妈妈都来了,老婆让我先回家继续学习,家里的事情不要但心,瞬间泪奔了。


2024.9.13


今日 leetcode:256、265


又是一夜未面,妻子、孩子、工作,反复地在脑中回荡。早上我向 HR 问了结果,但是她迟迟不回,只能干等着。谁叫我在“求职”,而不是在"应聘“呢?中午时分终于得到 HR 回复,可以去第四面了;但是大老板中秋后才有空——这一等又得是一个礼拜。最近我又投了几家,但是都没人鸟我;说实在,在这个时间点,它是我唯一的希望了。
之前问我签约事宜的同事好像成功续约了;我也很替他高兴。他告诉我,他直线老板还是很有人情味的:看到他三年期将至就 nominate 他了。怎么说呢,每级老板确实都有流动率指标,但事实上也有卡 bug 的方法的:比如正好在 promotion cycle 里,一般都能续约;虽然晋升渺茫,但是至少能保住饭碗。只可惜我没这个运气。


2024.9.14


今日 leetcode:2390、2056


老婆还在住院,所幸今天测羊水,比之前高了一点;但是还需要观察,至少住院 4 天才能回家。她住在了 40 一天的五人病房里,旁边娃娃晚上一直哭闹,她也睡不好觉。我很心疼她,想让她换到 4000 的单人病房里。但是她执意不肯,说“4000 一晚,我什么时候生不知道的,这得花多少钱?我的事你别操心了。”有妻如此,夫复何求?


我继续回家学习;上一次天天学习的时光应该是 2012 年考研的那段时间吧。年纪大了,我倒是比年轻时更静得下心了;但是身体是真扛不住了,尤其是肩颈,已经疼得我彻夜难免。颈椎好坏有个简单的测试:看你下巴能不能碰到喉结。我试图测了一下,结果脖子直接抽筋了。老婆很担心我,对我说:“即便你找到了工作,身体还能承受得住吗?三年后四十岁,再碰一次裁员,我们又该怎么办?”今天全网都在讨论延迟退休,我们都吃到了多工作三年的福利;三年又三年,每次都只能走一步算一步吧。


2024.9.15


今日 leetcode:2183、2848


今天是中秋假期第一天,我依旧保持着日常学习的节奏。但是,早上就有点偏头痛了;我一直有偏头痛的老毛病,每个月都得疼一次,尤其是焦虑的时候更明显。所幸今天没有面试,不然赶上面试当天真的是太灾难了。最近两边的妈妈帮了大忙,一个烧饭,一个照顾老婆,让我得以安心学习。在最困难的时候家里人还是最坚实的后盾,我真的很感激他们。下午稍微恢复了一点,我又在 boss 直聘里看到一家又 AI 又汽车又金融的外企有 HC;稍许翻了一下一亩三分地,感觉不差,遂 ping 了一下对方,但是 HR 应该也在过中秋节吧。还是希望全世界优秀的公司都能入驻国内,给我们这样的普通人带来更多的机会吧。


2024.9.16


今日 leetcode:1148、1473


今天好消息是老婆出院了:羊水恢复到了正常水平线,可能是前段时间喝水太少导致的。但是娃娃胎位不正,大概率要提前剖腹产;他现在才五斤左右,稍显轻了点,希望能抓紧最后一个礼拜努力长点身体。一切都开始变得好起来了,愿老婆和娃娃都能健康平安。
最近一直在做 leetcode 上 P 家的题目,真的是太难了——上来就三维动态规划。说实在我年轻时也不见得做得出来,更何况现在呢?帮我内推的同事告诉我,我的简历还在筛选阶段;这个岗位要求比较高,可能前面有几百个人排着队。我又看了一下他们家招聘页,只有这个岗位有 HC,根本没有其他 low 一点的选择了。
下午,在 Linkedin 上看到某四大有 HC,但是马上又在朋友圈看到他们家今天大裁员;简直了,这真的是一个魔幻的时代。


2024.9.17


今日 leetcode:146、157


今天是中秋佳节,网络上热议着月饼销量大减的现象。由于我个人对月饼并无太大喜好,因此购买月饼的念头从未在我脑海中浮现。然而,下午与老婆漫步时,我们恰巧路过一家香气扑鼻的烘焙店。我突然意识到,尽管与老婆共度了这么多时光,我却未曾询问过她是否有品尝月饼的愿望。在我的印象中,她一直是个对食物颇为挑剔的人。今年,她仅仅吃了点单位食堂提供的月饼。于是,我轻声问道:“要不要买点月饼尝尝?”她微笑着回答:“这里的月饼口感挺不错的,不过明天就打三折了,我们到时候再来买吧。”她的话让我瞬间意识到,这两天我或许对她的关心有所疏忽。我们携手走过了七个年头,我依稀记得七年前的她,还是个充满青春活力、略带中二气质的大学毕业生。而如今,我们都已踏入中年,面对生活的种种变迁,我们不得不学会更加成熟、稳重地应对。


2024.9.18


今日 leetcode:282、2332


明天就是四面了,说实在大老板面其实也准备不了什么。听 HR 说要英文自我介绍,想了一下好像之前也没像样准备过,就打算今天花一些时间背一下。Kimi 倒是挺好用的,把简历 pdf 上传给它,让它生成英文自我介绍,一下就出来了。我把自己背的内容录下来听了一下,这个重音和停顿还是非常的 Chinglish;英语还是差太多了,希望明天能顺利一点吧。很多人说以后有同声传译软件了就不需要学英语了;但是我觉得英语作为一种删选机制还是会长期存在的。所以无论如何都不能放弃英语学习,尤其是我们非 native English speaker 更是要坚持终身学习。


2024.9.19


今日 leetcode:163、2414


今天总算迎来了终面。1:40,HR 小姐姐带我参观了一下公司,公司里每人一张升降桌还是很有范儿的。闲逛的时候碰到了我两个师兄,年纪大了能遇到熟人真的是很激动的。2 点正式开面,大老板很 nice,全程都没有发表“重要讲话”。和他交流,一下子就能感觉得出他不是那种长期脱离产线的高管,因为很容易和我形成开发上的共鸣。当然,Behavior 面还是必备流程。我以前对这类 BQ 有点抵触,像有些国内厂就是要问你“卷不卷”,也听说北美有些企业会问“喜欢吃草还是吃肉”——吃肉的才是狼。但是后来渐渐意识到,BQ 面也许真的很有必要,比如,网上有“粉红”和“美分”之争,价值观差太多放在一起会很难受。只可惜,国内求职者很多就是要碗饭吃,不可能像某些帝国主义的应聘者那样能挑三拣四。
面试结束后,我走回了家,很累但是躺在床上一点也睡不着觉。我能做的都已尽力了,一切未知就看天命了。


2024.9.20


今日 leetcode:29、170


早上起来得到消息:offer 还在 pending 中;反馈是我用的技术栈太老了……有点震惊,我用的是 next 14 + shadcn/ui,这个怎么再新点呢?不过,回过头来一想,面试的时候我一直在强调我们的技术债务如何苦大仇深:一二三四五,等对方 buy in 了痛点,再提出使用特定技术解决这些遗产问题(日常 design doc 惯性)。面试时候就显得前摆太长了,之后我又没反复强调我解决的方案是最新的技术栈(之前老板不在乎技术新不新);导致别人只记住 CP 技术栈落后这件事了。这种点,不常面试的我真的是完全没有准备到,太痛了。大家平日里无论如何要多去了解业界动态,试试水,不然这类经验不可能凭空获得的。


2024.9.21


今日 leetcode:243


下午和 HR 谈了 offer 的事,很感谢 HR 小姐姐在周末加班帮我搞定 offer。这段时间真的很累,但能在 last day 之前拿到 offer 也是奇迹了。AWX 还是很够意思的,在这个年景给到了我心里价位。只可惜在 CP 三年没能 promotion,title 太低了;因此一开始就只能面 senior 岗,之后再怎么努力也很难在级别上有所突破了。这个倒不怪人家,行业规矩放在那。
我们到了一定年龄后,大家选择工作时不能再简单地看钱了:有些工作可能钱暂时多一点,但是 scope 太小了,发展空间受限,几年后就会反噬。就业市场上对每个年龄段的要求是不一样的,若在特定年龄段没有突破特定限制,那以后就很难了。我们程序员某种意义上需要了解更大的世界,比如人脉、行业动态、市场趋势等,这些都不是简单码代码能实现的。



即使身处最冷的寒冬,我知道自己的内心深处,有一个不可战胜的夏天。 -- 加缪,著名法国小说家



2024.9.22


今日 leetcode:246


早上七点起床去做了一次体检,算是把 CP 仅有的一点福利也给用完了。我最新的体重是是 137 斤,记得去年这时候是 150 的样子,这段时间我也几乎没有运动就是单纯地降体重了。期间在刷手机的时候听说一个消息:某个前同事去了发发奇;今年被 CP 收购了,然后也不出意外地被裁了。一切的行事风格都是那么商业,倒不是说有什么对错,只是没有一丝温情罢了。


2024.9.23


今日 leetcode:359、1014


今天是老婆的生日,阳光明媚,气温 23 摄氏度;难得的好日子,所以我们决定去徐汇的网红街吃顿大餐。午饭的时候,邮箱收到了 AWX 的 offer。无疑,这一天是我漫长时光中最值得欢欣鼓舞的时刻。
自去年年末开始,我便察觉到了形势的异常:部门只有 4 个 L5,上海韩国各两个;其中韩国那俩,一个刚从 4 升到 5,一个被 nominate 了,所以年度 performance 的 PIP 指标大概率在上海这边产生;而且即便我过了第一道坎,还有续约这第二道坎。从那时起,我就开始焦虑了,只能每天晚上回家后刷 leetcode 来减轻一些不安。所幸去年有两同事跑路了,正好吃掉了当年的 PIP 名额——让我没有在三月份速死,给了我一段较长时间的缓冲期。若非如此,我真难想象如何在短短三个礼拜内找到新工作。想想真的是后怕,那段时间即便有小幅的涨薪,即便 CP 股票一直在上扬,我都没有一丝喜悦之情;我甚至觉得自己因工作丧失了最基本的人格感知,一切理因欣喜的事都被我当做了回光返照,甚至连老婆怀孕的消息都让我感到压力倍增。如今,这一切终于结束了……


2024.9.24


今日 leetcode: 252


早上陪老婆去产检,羊水又降了,娃娃也像爸爸一样正经历者人生的磨难。医生建议再住一次院,但是考虑到之前也遇到了同样的问题;在住院部根本休息不好,我们决定先租个胎心仪,回家观察,两天后复查羊水。现在只能走一步算一步,娃娃才 5 斤半,略显瘦小,能在娘胎里待一天是一天。


本来约了 HR 两天后聊赔偿的事,但是和复查冲突了,所以我调整了会面时间至今天下午。有点小意外,是“小 n+1”,可能是我之前听错了成了“小 n”吧;但是确实也不高,在外企里依旧是地板流。我提到了娃娃可能在 last day 之前出生,陪产假能否适当赔偿,但被断然拒绝;另外,我有一笔 Q3 激励的 RSU 在 last day 之后“一天”才发放,这笔钱是否能到账,HR 表示让我自己联系美国的 stock 组,她不负责这块。


晚上,我找到了 CP 前员工的 PIP 离职交流群,询问了群主是否能拿到 RSU;他表示,没戏,我这个情况只能 n+1 走人——赔偿就是踩着法律线的地板流。很难想象这家企业贴的 HC 标的是阿里 P8、P9、P10,但是遣散费就这德行。


2024.9.25


今日 leetcode: 266


昨天我邮件联系了美国的 stock 组,今天终于回复了;他们表示无能为力:这是一开始在合约了规定的条款。看来我只能死心了。随后,我与昨天的群主闲聊了几句,他又抖了点黑料;我也不想传谣,但若这些消息属实,那确实令人感到心寒——始作俑者其无后乎?下午,我与一位新入职的同事交谈了片刻。他坦言:在入职之前就知晓了这里的 PIP 政策;不过即便如此,他还是会来的,因为他也是被之前的公司裁员了,好几个月才找到下家,不能考虑太多了。没办法,经济如此,国内互联网已是明日黄花;现在是买方市场,每个人的命运都已转向。


2024.9.26


今日 leetcode: 2535


昨晚,娃娃的胎心再次出现异常,情况紧急,我们不得不连夜办理了住院手续。吸取上次四人间的拥挤与不便的教训,我决心为老婆选择一个稍好一些的住院环境。然而,我未曾料到红房子的床位竟如此紧张,不仅单人间、双人间已全部满员,连四人间的加床也一张不剩。无奈之下,我们只得在过道上安顿下来——这一次的艰辛,远比上次更甚。


面对这样的困境,我心中五味杂陈,却也只能眼睁睁看着老婆承受这份苦难。今晨,我们及时联系了门诊医生,经过综合考虑,决定于 30 号进行剖腹产手术。


然而,手术前的这段时间,老婆仍需在医院等待,期盼着能排到一个稍微好一些的病房。想到她至少还要在这样的环境中度过五天,我实在是心疼不已。这段时间对我们来说无疑是巨大的考验,一切的一切只愿换来新生命的安全到来。


2024.9.27


今日 leetcode: 293


今天是我在上家公司的 last day,我重走了一遍上班路,在地铁上背单词,然后十点多踏入公司。离职手续进行很简单,不到十一点就已经全部办妥。我穿梭在公司的每一层楼,与那些熟悉的面孔一一道别。


中午时分,我和组里的小伙伴们聚在一起吃了最后的散伙饭。尽管这是告别的时刻,但大家依然保持着往日的激情,餐桌上热烈地讨论着技术话题。我本打算为这顿饭买单,以表达我的感激之情,然而同事们却抢先一步结了账。这让我心中不禁涌起一股暖流,同时也夹杂着一丝歉意:大家平日里都过着节俭的生活,一顿午餐通常只需三十几块,而今天这顿饭的人均消费却近两百元。


饭后,我们像往常一样漫步至 Manner,我点了一份多年未变的“小澳白”。只是这次,我没有带上自己的杯子,无法再享受那 5 块钱的优惠了。这个小小的变化,似乎也在提醒着我,今天的一切都与往日不同了。


最后,我们在欢笑中一一握手告别。这一别,只能再会江湖了……


2024.9.28


今日 leetcode: 270


等啊等,自费病房始终空不出来。这两天,老婆只能屈身于四人病房的加床之上。倒是我丈母娘挺乐观的,她含笑说道:“这孩子似乎天生带有财运。他的爸爸费尽心思,终于为他找到了奶粉钱;而他的妈妈,虽然历经艰辛却没能花了他的钱;现在,就连股票也呈现上涨趋势……”对我来说,吃些苦头并无大碍,我只祈求他们母子能够平安健康。


晚上,又一位前同事联系我,他正处于 PIP 阶段,自称已快承受不住。我只能不住得给他灌鸡汤,为他打气。说实话,作为旁观者,我们很难提供具体且实用的帮助。我所能给的,只是一些宽泛的建议,譬如那句老话,“好死不如赖活着”。我与他分享了亲身经历,并阐明一个观点:坚持下去,只是为了给自己争取更多的缓冲时间,以便找到新的工作机会,从而摆脱现状;而并非为了“适应这里的 PUA”。他和几个月前的我如出一辙,总是患得患失,害怕寻找新工作。但其实,最艰难的部分并非找工作本身,而是下定决心,勇敢迈出那第一步。一旦跨出那一步,找工作便只剩下概率乘以时间的期望值问题了。


2024.9.29


今日 leetcode: 346


今天,老婆终于住进了 LDR 病房;临行前,普通病房的床友们都为她加油助威,仪式感拉得满满的,只有经历过才能体会到生育的不易吧。我们加了一个增值服务——爸爸陪护入产房;然后几个护士轮番教我手术室注意事项,有七步洗手法、如何抱孩子、以及最难的戴无菌手套。她们还分享了一些准爸爸的糗事——在手术室里晕血了,然后医生护士们还得先照顾那位爸爸。不知道我明天会不会成为她们下一段趣事。老婆倒是一切正常,身体也没有异样,中午我们还一起去散步去喝了杯 M-stand。进产房前的一切物件,早就被娃娃妈妈准备的一应俱全,我们只等着新生命的到来了。


2024.9.30


今日leetcode:1064


早晨 8 点 52 分,娃娃一声啼哭,宣誓着新生命的降临;我颤抖着双手戴上了无菌手套,为他剪下了脐带。然后,回到手术台旁,紧紧握住老婆的手,告诉她:“儿子 6 斤半,黄金体重”。娃娃妈含着泪说:“长得磕碜吗?”(这颜控……)娃娃出生时,全身红紫色,很小的一只;但眼角很宽,皮肤光洁,一看就是帅小伙。手术很成功,二十分钟后就结束了;母子随后被转移到了观察室里。娃娃出生后缺少安全感,所以最好有肌肤接触;医生要我解开衣襟,让娃娃趴在了我身上。人类幼崽还是很有趣的:出厂设置极简——啥都不会,只保留了一个本能——吸奶;这好大儿竟在老父亲胸口边爬边种草莓。一个小时后,我们回到了病房,老婆还需要休息一会儿;大家便离开了病房,开始围着娃娃看。这时候,娃娃全身的红紫色已然退去,一双小手白皙粉嫩,面色清秀很像爸爸,看样子注定要迷倒万千少女了。全家人都乐呵呵地围着娃娃,连他竖个兰花指都能逗乐奶奶;外婆更是把娃娃拉粑粑的片段都给录了下来分享给全家人。最最重要的是,他出生后 A 股竟然当天涨了 8 个点,大家都啧啧称赞这娃娃自带财运。新的篇章从此开始……


作者:anOnion
来源:juejin.cn/post/7430031817254944805
收起阅读 »

每一个失业的前端er都必须有一个稳定盈利的独立开发项目

如题,最近非常焦虑,因为考试临近了,所以只好来祸害一下网友了 俺从2023年离职,经历了考研,独立开发,remote,好几段经历 首先是考研,去年考的其实还行,但还是复试被刷,至今被刷原因未知,盲猜是因为本科是民办三本吧 然后remote就是找了个美国的区块链...
继续阅读 »

如题,最近非常焦虑,因为考试临近了,所以只好来祸害一下网友了


俺从2023年离职,经历了考研,独立开发,remote,好几段经历


首先是考研,去年考的其实还行,但还是复试被刷,至今被刷原因未知,盲猜是因为本科是民办三本吧


然后remote就是找了个美国的区块链公司,但是因为四月份我忙着搞调剂,过程十分煎熬,根本无心顾暇remote那边天天开会的节奏,所以只能离职,当然啦,最终也没调剂上


这都不是重点,重点是独立开发


从我离职到现在,也快两年了,聪明的人已经发现了,整个互联网技术栈这两年可以说毫无变化,新的端没有,新的框架没有,新的红利也没有,新的独角兽公司也没有


道理很简单,因为现在是僧多粥少的时代,每个人手机上就固定几个app,而且都是存量状态(不需要推翻重来,只需要shi山跳舞)


与此同时,还有若干小公司不断倒闭


懂了吧,现在是需求没了,业务没了,招聘的公司没了


独立开发就只不过是,没有业务,我们自己发现制造业务罢了


但是呢,会更难,因为,资本虽然是傻逼,但它们也不是完全没脑子,如果轻易能成功,他们就不需要跑路了


现实就是,我朋友圈有很多独立开发的,推特上也有很多,但能做到稳定盈利的人,几乎为0


有的是卖小册,有的是搞博客,还有开公司做面试辅导的,也有外包接活的,也有收费技术咨询的


这些统统都是噶韭菜——因为我说的很清楚了,现在是业务没了,是需求没了,但凡不制造需求的,都是瞎扯


——所以我把c站卖了,c站转让前日活5w,但是动漫行业实在太卷了,各种各样的竞品,让我自己都不想看番,更别提服务给他人看了


之前在携程,我的老板和我说,你就当独立创业,携程三万人就是你的第一批客户,我觉得老板说的没错,就是比起b端,我更喜欢c端的用户


所以毫无疑问,我不可能再回去写前端框架了,纯粹浪费时间,浪费我的❤


唉,说了这么多,总而言之,言而总之


回到题目,那就是,每个人失业的前端er都必须有一个稳定盈利的独立开发项目


我也在开新坑了,敬请期待~


作者:132
来源:juejin.cn/post/7426258631161528335
收起阅读 »

一起读本书吧~《认知觉醒》,潜意识里有你要的答案

读后感 书中改变我的话: 佼佼者更愿意做高耗能的事——消除模糊,制造清晰。 先用感性选择,再用理性思考,或许是一个更好的策略,尤其是在做哪些重大选择时。 针对当下的时间,保持觉知,审视第一反应,产生明确的主张;针对全天的日程,保持清醒,时刻明确下一步要做的事...
继续阅读 »


读后感


书中改变我的话:



  • 佼佼者更愿意做高耗能的事——消除模糊,制造清晰。

  • 先用感性选择,再用理性思考,或许是一个更好的策略,尤其是在做哪些重大选择时。

  • 针对当下的时间,保持觉知,审视第一反应,产生明确的主张;针对全天的日程,保持清醒,时刻明确下一步要做的事情;针对长远的目标,保持思考,想清楚长远意义和内在动机。


第二章书摘



  1. “学霸”和普通同学之间的差异不仅体现在勤奋的程度上,还体现在努力的模式上:谁更愿意做高耗能的事——消除模糊,制造清晰。

  2. 多数人为了逃避真正的思考,愿意做任何事。

  3. 记住,任何痛苦事件都不会自动消失,哪怕再小的事情也是如此。要想不受其困扰,唯一的办法就是正视他、看清它、拆解它、化解它,不给它进入潜意识的机会,不给它变模糊的机会,即使已经进入潜意识,也要想办法将它挖出来。

  4. 恐惧就是一个欺软怕硬的货色,你躲避它,它就张牙舞爪,你正视它,它就原形毕露。一旦把它看的清清楚楚,情绪就会慢慢从潜意识中消散,你的生活将会舒畅无比。

  5. 认知清晰,情绪平和,最终还要行动坚定。很多人把行动力不足的原因归结为环境干扰或是意志力弱,其实,行动力不足的真正原因是选择模糊。

  6. 潜意识的感性总能帮我们发现什么是真正适合自己的,从而引导精力投入,快速提升自己。

  7. 先用感性选择,再用理性思考,或许是一个更好的策略,尤其是在做哪些重大选择时。诚如洪兰教授的建议:小事听从你的脑,大事听从你的心。

  8. 梦境。梦境是潜意识传递信息的一种方式,它可能是内心最真实想法的展示,也可能是灵感的启发。

  9. 针对当下的时间,保持觉知,审视第一反应,产生明确的主张;针对全天的日程,保持清醒,时刻明确下一步要做的事情;针对长远的目标,保持思考,想清楚长远意义和内在动机。


针对书摘1:如此道理,当你面对不了解的事物时,唯有抽丝剥茧、不断细化,并且直面它,你才能清晰的了解到事物的全貌,否则就是管中窥豹,同样,这也是消除焦虑的最好方式。


针对书摘2:无论多么庞大的任务,最怕的就是任务分解,分解它的过程也是你直面和了解它的过程,在拆解的过程中你将对它越来越清晰,在此过程中,会消除你因为对其不了解而产生的焦虑,同样也是让自己的工作具象化、透明化的过程。


针对书摘5:你迟迟不肯行动,也许是担心自己做不好(低期望值),或许是觉得这件事没有意义(价值感不足),也可能是自己每次在行动时总三心二意(高冲动),也可能最终日期很遥远,当下没有一定要做这件事的压力,但是无论什么原因,都请把握这件事自己可以把握的部分,让事情本身对自己变得有意义、有助于自己成长,做自己当下应该做的事。


针对书摘6:兴趣是最好的老师,在前行的路上保持好奇心。


针对书摘7:潜意识往往不会骗自己,且更符合自己的内心最真实的想法,首先选择你喜欢的,选择后再经过自己理性的思考,得到最终结果。


针对书摘8:明确当下的任务(当下目标),保持清晰的思路做事(短期目标),坚持长期人生主义。


每一次克制自己,就意味着比以前更强大。——高尔基


作者:FirstMrRight
来源:juejin.cn/post/7430801077455798299
收起阅读 »

Java已死,大模型才是未来?

引言 在数字技术的浪潮中,编程语言始终扮演着至关重要的角色。Java,自1995年诞生以来,便以其跨平台的特性和丰富的生态系统,成为了全球范围内开发者们最为青睐的编程语言之一 然而,随着技术的不断进步和新兴语言的崛起,近年来,“Java已死”的论调开始不绝于耳...
继续阅读 »

引言


在数字技术的浪潮中,编程语言始终扮演着至关重要的角色。Java,自1995年诞生以来,便以其跨平台的特性和丰富的生态系统,成为了全球范围内开发者们最为青睐的编程语言之一


然而,随着技术的不断进步和新兴语言的崛起,近年来,“Java已死”的论调开始不绝于耳。尤其是在大模型技术迅猛发展的今天,Java的地位似乎更加岌岌可危。然而,事实真的如此吗?Java的春天,真的已经渐行渐远了吗?本文将从多个维度深入探讨Java的现状、大模型技术的影响,以及Java与大模型融合的可能性,为读者提供一个更为全面和深入的视角。


Java的辉煌历史与稳健地位


Java,作为Sun Microsystems在1995年推出的编程语言,一经问世便凭借其独特的跨平台特性和丰富的生态系统,迅速在全球范围内赢得了广泛的认可和应用。从最初的Java Applet,到后来的Java Web开发、Java EE企业级应用,再到如今的Android应用开发、大数据处理等领域,Java都展现出了其强大的生命力和广泛的应用前景。


在最新的TIOBE编程语言排行榜上,Java长期位居前列,这足以证明其在开发界的重要地位。而在中国这个拥有庞大IT市场的国家中,Java更是受到了广泛的关注和追捧。无论是大型企业还是初创公司,Java都成为了其首选的开发语言之一。这背后,是Java的跨平台特性、丰富的库和框架、强大的社区支持等多方面的优势所共同铸就的。


请在此添加图片描述


然而,随着技术的不断进步和新兴语言的崛起,Java也面临着一些挑战和质疑。


一些人认为,Java的语法过于繁琐、性能不够优越、新兴语言如Python、Go等更加轻便灵活。这些观点在一定程度上反映了Java在某些方面的不足和局限性。


但是,我们也不能忽视Java在企业级应用、Web开发、大数据处理等领域的深厚积累和广泛应用。这些领域对Java的稳定性和可靠性有着极高的要求,而Java正是凭借其在这方面的优势,赢得了众多企业和开发者的青睐。


大模型技术的崛起与影响


近年来,随着人工智能和机器学习技术的飞速发展,大模型技术逐渐成为了人工智能领域的一大热点,可谓是百家争鸣。大模型技术通过构建庞大的神经网络模型,实现对海量数据的深度学习和处理,从而在各种应用场景中取得了令人瞩目的成果。


请在此添加图片描述


在自然语言处理领域,大模型技术通过训练庞大的语言模型,实现了对自然语言的深入理解和生成。这使得机器能够更加智能地处理人类的语言信息,从而实现更加自然和流畅的人机交互。在图像处理领域,大模型技术也展现出了强大的能力。通过训练庞大的卷积神经网络模型,机器能够实现对图像的精准识别和分析,从而在各种应用场景中发挥出巨大的作用。


大模型技术的崛起对软件开发产生了深远的影响。


首先,大模型技术为开发者提供了更加高级别的抽象和智能化解决方案。这使得开发者能够更加专注于核心业务逻辑的实现,而无需过多关注底层技术的细节。其次,大模型技术降低了AI应用的开发门槛。传统的AI应用开发需要深厚的数学和编程基础,而大模型技术则通过提供易于使用的工具和框架,使得开发者能够更加方便地构建和部署AI应用。最后,大模型技术推动了软件开发的智能化升级。从需求分析、设计到开发、测试和维护等各个环节都在经历着智能化的变革,这使得软件开发过程更加高效和智能。


Java与大模型的融合与变革


在大模型技术崛起的背景下,Java作为一种成熟且广泛应用的编程语言,自然也在探索与大模型技术的融合之路。事实上,Java与大模型的融合已经取得了不少进展和成果。


请在此添加图片描述


首先,Java社区对于大模型技术的支持和探索已经初见成效。一些开源项目和框架在Java环境中实现了深度学习和大模型技术的支持,如Deeplearning4j、ND4J等。这些项目和框架为Java开发者提供了丰富的工具和资源,使得他们能够更加方便地构建和部署基于大模型的应用。


其次,Java自身的特性和优势也为其与大模型的融合提供了有力的支持。Java作为一种面向对象的语言,具有强大的抽象能力和封装性,这使得它能够更好地处理大模型中的复杂数据结构和算法。同时,Java的跨平台特性也使得基于Java的大模型应用能够在不同的操作系统和硬件平台上运行,从而提高了应用的兼容性和可移植性。


最后,Java与大模型的融合也推动了软件开发的智能化升级。在需求分析阶段,大模型技术可以通过对海量数据的学习和分析,帮助开发者更加准确地把握用户需求和市场趋势。在设计阶段,大模型技术可以通过对已有设计的分析和优化,提高设计的合理性和效率。在开发阶段,大模型技术可以为开发者提供智能化的编程辅助和错误检查功能,从而提高开发效率和代码质量。在测试和维护阶段,大模型技术可以通过对应用的持续监控和分析,及时发现和修复潜在的问题和缺陷。


未来趋势与展望


随着AI和机器学习技术的不断发展,大模型技术将在未来继续发挥重要的作用。而Java作为一种成熟且广泛应用的编程语言,也将继续在大模型时代发挥其独特的优势和作用。


请在此添加图片描述


首先,Java将继续优化其性能和语法,提高开发者的开发效率和代码质量。同时,Java还将加强对大模型技术的支持和整合,为开发者提供更加全面和强大的工具和框架。


其次,Java将与更多新兴技术进行融合和创新。例如,随着云计算和边缘计算的兴起,Java将加强与这些技术的融合,推动云计算和边缘计算应用的发展。此外,Java还将与物联网、区块链等新兴技术进行深度融合,开拓新的应用领域和市场空间。


最后,Java将继续发挥其在企业级应用、Web开发、大数据处理等领域的优势,为各行各业提供更加稳定、可靠、安全的解决方案。同时,Java也将积极拥抱开源文化和社区文化,与全球开发者共同推动Java生态系统的繁荣和发展。


总之,Java作为一种历久弥新的编程语言巨头,将在大模型时代继续发挥其独特的优势和作用。通过与大模型技术的深度融合与创新,Java将引领编程世界的潮流,为各行各业带来更加智能化和自动化的解决方案。让我们共同期待Java在未来的辉煌!


写在最后


我不禁要感慨Java这一编程语言的深厚底蕴和持久魅力。它不仅是一段技术史,更是无数开发者智慧与汗水的结晶。在大模型时代,Java也会以其独特的稳定性和可靠性,持续为各行各业提供着坚实的支撑。正如历史的河流永不停息,Java也在不断地进化与创新,与新兴技术深度融合,共同推动着科技发展的浪潮。让我们携手前行,继续书写Java的辉煌篇章,为构建更加智能、更加美好的未来贡献力量。


作者:不惑_
来源:juejin.cn/post/7419967609451675700
收起阅读 »

作为前端开发,这些年跟设计师的斗智斗勇

我无意中在知乎上看到这样一个话题, 让我不得不有感而发。 因为曾经的我也是被设计师给虐惨了。 我是工作了 8 年的老前端了, 如果算上实习那就有 9 年了。 我做过 C 端应用, 做过 B 端应用, 做过 SaaS 应用, 我经历的所有设计师, 都不接...
继续阅读 »

我无意中在知乎上看到这样一个话题, 让我不得不有感而发。


image.png




因为曾经的我也是被设计师给虐惨了。


image.png




我是工作了 8 年的老前端了, 如果算上实习那就有 9 年了。


我做过 C 端应用, 做过 B 端应用, 做过 SaaS 应用, 我经历的所有设计师, 都不接受 0.5px 的像素偏差。 可以说是对像素偏差 0 容忍。


所以想作为前端工程师, 来来给大家聊聊我的日常工作中是怎么跟设计师斗智斗勇的。


1. 给设计师设置门槛


这个设置门槛意思很简单, 你不能拿着电脑, 指着我屏幕就说, 这这这不行, 那那那不行的。


你得走系统工单, 一个样式一个工单。 得注明, 哪儿样式不对齐, 差多少像素, 预期重新验收的时间, 走查报告, 样式走查进度等等。如果没有系统工单的流程, 搞一个复杂的文档丢给设计同学也行, 让设计师同学把每一个问题都尽可能的详细记录下来。


还要明确设计走查验收时间, 定稿的设计稿件, 非特殊原因不允许修改等方式, 增加设计师自身的成本。


和设计师合作完成一个项目, 完成之后大家都分蛋糕, 自己改样式是有成本投入, 设计师别人是零成本投入, 哪儿那行? 所以这个就是门槛的来源。


2. 告诉设计师我修改某一些样式的成本, 这个成本超过了预期, 需要设计师额外承担成本付出


举一个简单的例子哈。 设计是要求做 移动端 和 PC 端兼容, 我预估做移动端和PC 端兼容, 需要 5 天时间。 已经拍板定下来了。 做到了一半, 设计说, 我的移动端, 要适配 小屏幕手机和大屏幕手机以及 平板 拥有独立的样式展现。 这个成本是预估之外的额外成本, 可能需要多加 5 天时间。 那么这个 5 天时间, 是需要设计师去向项目经理申请的, 项目经理如果同意, 多给我加五天我就做。(其实相当于转移矛盾)


3. 给出设计师无法拒绝的理由


就说到了静态和动态的问题了。 比如设计师给了一个版本的设计, 是没有数据情况下的设计, 但是前端数据加载出来了, 渲染出来的结果, 跟设计师预期的不一样。 而且设计师自己也没有给设计稿。 这个就直接专业碾压就行了, 黑话直接就来,比如:我的架构能力已经做好了, 实在是改不了了, 否则的推翻了重新做; 你这个 1 PX 的像素偏差, 真的有必要吗,你如何论证你这部分必要性;它是一个共性问题,以前的需求都是这样子的, 如果你这次改了,那之前的那些样式也都改吗,否则是不一致的;..........


这个方向, 就是主要针对一些可有可无的样式调整。如果修改成本较大, 而且设计稿本身就模棱两可的, 就可以使用专业知识碾压。


4. 设计稿变动要周知


其实很多时候在开发过程中是, 会出现一个情况, 设计师改了设计稿(在没有跟前端同学商量的情况下改了设计稿)。这个我相信是很多前端同学最头疼的事情之一。


我之前合作过一个设计师, 很喜欢临时改设计稿,但是改了又不周知,让我跟着后面反复改, 最后项目导致了一定时间的延期。 最后项目复盘的时候, 我就直接跳出来喷这个情况,有理有据,让 leader 们去核算这部分成本了。


其实一定要达成一个一致意见, 甚至可以在做项目之前就商量好, 如果遇到设计稿变更, 导致开发工作要返工的情况, 总计返工超过 0.5 日的情况, 要提出需求变更,不通过需求变更的设计稿变更, 一律不接受。


5. 提升自己专业能力


最后这个没啥好说的, 吃这个饭, 就的接受这个设定;尽量想办法还原设计师的设计稿即可。


曾经我也常被设计师折磨得体无完肤, 甚至想过要转行算了。 想想, 后端同学还不是一样被数据、稳定性、服务器运维等问题折磨得体无完肤。 各行都有各行的难处, 吃这个饭就得接受这个设定。


提升自己专业能力, 只会有利无害, 就比如我现在也能算是半个像素眼。


作者:晴小篆
来源:juejin.cn/post/7429981053039312934
收起阅读 »

回顾我转前端的这一年。。

✊不积跬步,无以至千里;不积小流,无以成江海 从去年年尾意外发生,突然“找工作”,23年10月24号注册掘金写下第一篇博客,到今天刚好一年。这一年经历了写毕业论文、从0做项目找实习,答辩,刷算法,准备秋招,最终拿到四个大厂offer。也算是天糊开局,完美收官...
继续阅读 »

✊不积跬步,无以至千里;不积小流,无以成江海



从去年年尾意外发生,突然“找工作”,23年10月24号注册掘金写下第一篇博客,到今天刚好一年。这一年经历了写毕业论文、从0做项目找实习,答辩,刷算法,准备秋招,最终拿到四个大厂offer。也算是天糊开局,完美收官。


说实话最开始并不是以进入大厂作为target来规划今年的秋招的,因此也还算走了一些“弯路”。但也许offer真的和运气是相关的,索性殊途同归了吧。当然9本给我了折腾的底气,但我相信就算是非92,一年时间(其实是用不了的)好好规划,是一定能够在秋招季收获一个好的结果的。


回顾这一年,做的最正确的决定之一,就是坚持写博客。虽然也是写到差不多第十个月才感受到什么是“写博客输出”,但没有前面十个月的坚持,也不会有后几个月的蜕变。所以!没有一点努力是白费的!就像我每一篇文章的quota:’✊不积跬步,无以至千里;不积小流,无以成江海‘。种下一棵树最好的时间是十年前,其次是现在。所以看到这篇文章的你,不妨从现在开始尝试写下自己的第一个博客文章~~


这一年来,除去整理其他公司的前端笔试题这种博客,应该写了差不多70篇左右的博客。先介绍一下博客,也大概是我的学习过程的缩影。


前三十篇左右的博客更像是知识点的罗列复习。其实我并不是第一次接触前端,但曾经系统学过的知识点已经不够熟悉了,我坚信好记性不如烂笔头,所以连查带写带输出,完成了前端知识点的第一轮复习。


之后十篇左右的博客记录了三个月跟着网上视频学项目的时候遇到的问题,比如场景,或者问题解法等等。一方面是觉得这些点比较有趣,另一方面也是为了面试的时候和面试官沟通的话不用干巴巴讲,有博客+动图能够尽量完整的将信息传递。(毕竟考虑别人的【用户体验】也是前端工程师要在意的事)


再然后到了找实习之前,为了面试写了一系列的面试复习笔记,大概十多篇。都是实习时候会被问到的各种前端知识点,应该是比较全和具有代表性的。这个时候开始试图自己归纳、总结、整理输出成自己的想法。“自己的感悟”开始有一点雏形。也是这个时候明显觉得自己的前端知识上了一个台阶,能够理解知识点之间的关系并可以串联,能初步构建自己的前端知识网络。


之后就是实习的感悟。其实实习的时候因为太忙(实习任务、新城市适应、生活变动、学校杂事、回学校答辩),并没有写什么博客。反而是要准备离开实习公司,开始罗列自己的收获的时候,把自己日常的工作记录摘抄一些“精品”而有趣的点,写了几篇博客。也是这个时候我自我反思觉得不坚持写博客真的时间会“溜走”,还是记下来更有安全感,坚定了要坚持写下去的信念。


后面就是到了秋招,其实这个阶段大框架上的知识点已经很少有哪里需要查漏补缺了。但和一些有经验的大佬沟通,觉得似乎“沉淀和思考”还可以做的更好。所以花了相当一部分精力修正或者说串联之前的博客,以及酝酿了几篇非常好的博客。一篇博客光写就要写两天的那种。虽然数据一般,但我相信是金子总会发光哈哈。基本这个阶段走完,自己前端知识点网络已经构建的比较全面了,很多问题都已经有了自己的见解,不止仅仅是那种看几个博客看几个视频的见解,而是真的自己也知道怎么回事,什么原理,要怎么样去用这种。


综上所述,自己也完成了从罗列博客,到写博客,再到输出博客的蜕变。还是对自己的这一年很满意的。


对于看到这篇文章的朋友,并且想自己找工作能有好结果的,我能给出的一些建议:



  • 坚持做一件事,写博客只是其中一件。每个工作日github push代码也可以是一件事。量变到质变的积累,要先有量才可以,没有人是天才。

  • 实习经历(有效,不是混日子那种)大于项目经历。实际工作场景中能够获得的成长是个人项目没法获得的。

  • 如果因为某些原因没办法有实习,那么只能通过疯狂背“八股”来展示自己的’优秀‘基础。但别气馁,没实习的人很多的。

  • leetcode代码是不能逃掉的一个待办项。比起我那时极度痛苦疯狂恶补,不如给自己三个月,每天都刷一点点。leetcode对每个人都很公平,只能靠量,几乎不可能速成。

  • 如果从大一就开始为前端做准备,那不同大厂间的不同业务线实习是最优解。这能帮助你更好的了解不同大厂/不同业务的风格,能帮助你找到自己想要的到底是什么。当然,如果你找到的第一个就发现是自己所爱,那恭喜你,持续在这里实习吧!

  • 如果再给我一个月,也许我会静下心来好好研究一下react源码/fiber架构这类的。尽管关于这些网上有长视频讲的很好,但想真的有自己的理解,唯有自己沉下心来好好研究,所有视频资料都不过是辅助工具。当然,更好的理解方式是在工作中慢慢感悟。

  • 找工作是一场马拉松,没到最后,万物皆有可能,心态要稳。我一周收获了三个offer,我相信如果我肯多约几个面试,也许能创造更多的不可能。


很高兴你能看到最后,回首这一年,虽然很苦,但是真的很开心。希望你回顾自己的一年,也会觉得很开心~


有些什么问题也可以在评论区留言,打破零回复哈哈


作者:适余
来源:juejin.cn/post/7429321661491462155
收起阅读 »