前端转产品一年总结!
截止至本月,我从前端研发转岗为产品经理已经一年左右了,这篇文章就讲讲我这一年中的一些经验和总结。希望能为同样身为前端也有想法转产品的你提供一点帮助。
为什么转产品
工作原因
我是22年毕业的,在刚刚毕业的那段时间,我还是对前端开发很有热情的,经常把工作中的一些内容给总结成文章在掘金发布,而且开发时我会比其他人更加注重整体的代码质量和实现的完整度,毕竟也要写文章嘛,输出倒逼输入。但是随着工作年限的增加(其实也没多少),我渐渐的感觉公司的业务没有什么挑战性了,而且最开始同事们还比较注重代码质量,但随着业务越来越复杂,排期越来越紧张,代码质量慢慢的就开始妥协了。
而且有一些功能实现方式比我想象的复杂很多,但是他们依然执着的要引用一些我不认可的框架或者库,代码这件事大家应该清楚,写的爽是很重要的,如果一个项目的实现都是我不喜欢的实现方式,为了一些虚无缥缈的性能优化把代码写的很复杂。
不知道大家有没有用过 SWR 这个请求库,我曾经写过一篇文章介绍这个工具 《都什么时代还在发传统请求?来看看 SWR 如何用 React Hook 实现优雅请求》,这是我很喜欢的一个请求库。它可以帮助我们在组件中获取请求数据时,不用在父组件获取后一个个通过 props 传递,而是直接在子组件中获取请求数据,并且不用重复请求。
但我有个同事认为直接使用 SWR 性能不好,因为每个组件都调用 hook 去请求,虽然 SWR key 是一样的,那肯定有个判重机制,这个判重机制对性能有影响。我当时就很无语,我说判重机制不就是用避免重复请求这件事情的嘛。更无语的是,他的解决方法时在父组件中使用 react context 创建上下文,通过 SWR 获取数据,将 SWR 中的数据传入 Context,然后在子组件中消费 Context。我当时就觉得这种写法就是恶心,脱裤子放屁行为,这么写何必用 SWR,直接用 Axios 请求后传子组件得了,为什么不直接在子组件里面调用 SWR 拿数据?
后面我与他掰扯,说我们按照 SWR 官方文档的方式来用就好了,无需多此一举,他的观点是 “SWR 又不是 React 官方的。他们的用法也不见得合适”,其他前端同事也没有很大异议,后续就是那段代码依然合并进去了,而且后续他都是这么写的。除此还有很多在 js 代码中使用单字母简写的变量,问就是跟xxx语言学的,我个人是觉得前端项目的变量名还是写全称,尽可能完整,让代码可读性更强,但我也懒得去争了,一旦大家的代码规范不同,那对我来说写代码就是很难受的一件事情了。关于这件事情我希望能在评论区看到大家的看法。
职业规划
其次是职业规划,这个倒不是说我最初就决定了想走产品这条路,而是我不太想一直走前端的路子了。我最初之所以选择前端开发的岗位,是由于我的大学专业是计算机相关,并且在我毕业前有过一段创业的经历,在那段经历中我担任的就是产品经理+前端开发的角色,因此找工作时也自然而然的投递前端相关的岗位。
但慢慢的,我在工作中感受不到前端技术很大的热情,脑袋里的灵感越来越少,工作上的代码写起来越来越乏味,而且社区里还是各种面试拷打,八股文,算法题最吃香。我是真的很讨厌八股文,我知道基础对于前端来说很重要,但还是讨厌,想到一旦要跳槽就要重拾八股文,我就觉得真的很无聊,所以我心理也埋下了要转产品的种子。
兴趣驱动
前面有讲到我在大学期间有创业过一阵子,当时我们一边做外包项目,一边做自己的一些校园产品,不论是网页还是移动端的产品,各个主流组件库都门清儿,而且也画过原型图,对一个产品从零到一的流程比较清晰,自己也对设计一个优秀的产品有执念,虽然至今还不算完成,但毕竟如果一件事情能让你有成就感,那么它就会推着你向前走。
怎么转的产品
在去年八月份,我们公司的产品要做一个大版本的迭代,很多功能都需要重新设计实现。在一个新产品诞生的初期,研发是依赖非常产品经理的产品文档,而产品经理则需要进行产品调研,概念设计等等流程才能写出一份产品方案,这就导致了产品有很大的产品方案设计的工作量,而研发只能先做一些基础框架搭建,写写技术方案,一旦这些简单工作做完就必须停下来等产品出文档,十几个研发两三天没活儿干,对于一个企业来说肯定是无法接受的。因此我们的领导就开始招聘产品经理,与此同时也在内部会议时主动问到有没有愿意尝试一下产品的工作。我本身就与公司里的产品比较熟悉,又有这么一个机会,于是我就毛遂自荐,并且当时在会上主动提出参与的也就我一个,于是就顺理成章的开始了研发向产品的转变。
遇到的问题
相信点进这篇文章的同学,有很多都是有过转岗为产品的想法的,那么我就说说从我自身出发,在从研发转为产品之后遇到了哪些问题是我没有意料到的。
专业知识
当研发时,每一次产品需求评审会上,我会去看这次新增了什么概念,思考这个需求如何实现,产品画的原型图交互流程有没有可以优化的地方,似乎自己对需求的理解能力还是很强的,也能够理解业务。
例如一个微信朋友圈的功能,产品经理提出放在发现页面,然后单击右上角加号可以选择照片发布,长按加号可以直接发布文字,那么我就会想长按这个操作是不是不够直观呢,会不会有用户很长时间了都没有发现这里是可以长按直接发布文字的?于是我就提出问题与产品探讨,长此以往,我会觉得我们的产品有时候考虑问题也不是特别全面嘛,给了我一种我上也行的错觉。
到了实际转变为产品经理后,你就会发现你要做的不只是思考朋友圈的发布是从个入口进去,而是老板给了你一个需求,是用户如何在微信中分享自己的动态。那这时候你就要想:
- “我是不是加一个类似 QQ 空间的功能?这个功能就叫动态?还是空间?还是叫微博?还是叫圈子?”
- “这个功能要放在我的页面还是聊天页面,还是说新增一个底部栏?”
- “这个功能和微博或 QQ 空间有什么本质上的不同?”
或者评审时有同事或领导问你“为什么要叫朋友圈?我觉得叫朋友圈我完全 get 不到是什么意思?”,你应该如何应对?
我在刚刚转产品的初期几乎每次评审都是心惊胆颤,因为我很难接住同事问的问题,而且我也不是一个性格刚猛的人,可以接受讨论但不太喜欢很激烈的争论。这个问题出在两个方面:
一是刚刚转产品,我对于过往的一些概念只是了解但没有深入了解。例如领导问道:“xxx功能为什么要这么设计?”,这个功能并不是一个新功能,而是一个存在已久的功能,但是设计上有些许不合理,但是你并不清楚这个功能具体的上下文,那么人家一问,我也只能支支吾吾。这样的经历在有过几次后就会给人一种你不够专业的感觉,你连系统里的功能设计都不清楚,你还配当产品经理?
二是对自己的职责定位及权限边界还不够清晰,以上面朋友圈的例子来说,我觉得我拍板不了朋友圈具体的名称,我得去找更有经验的同事一起讨论,虽然同事会给你提供意见参考,最终的决定还是得你来做。在方案评审时,发现领导对朋友圈这个概念设计有很多疑问,例如问你:“为什么不参考竞品?”,“这个入口放在发现页也太隐蔽了吧,我作为用户完全不会点进去?”
诸如此类的问题,刚开始我是完全接不住的,总是想着领导说的也有道理,那我就按照他的想法改吧。这样一来,领导提出的意见一旦比较尖锐,你就只能顺从,说明你没有自己的想法,没有自己的主见,即使有想法也不能坚持。尤其是你还没有足够的经验,更容易被人质疑。此时如果没有一颗大心脏,没有一个非常全面的调研和思考,就容易变得很不自信,从而丧失对产品这个岗位的工作热情。
刚刚转产品的那个月我非常煎熬,每次做方案和评审前都特别紧张,有时候睡觉前都在想要是每天同事问了这个问题要怎么回答?
与研发的对接的边界
在我还是前端的时候,我单纯的认为很多边界情况就是需要前端去考虑的,例如页面的加载状态是骨架屏还是加载动画,表单字段在输入时是失焦时触发表单验证还是点击提交按钮时触发表单验证,返回上一个页面是否需要保留页面状态,文本溢出时的省略效果如何。
但当我自己转为产品后,似乎这些情况还是得我来考虑,每天需要面对各种研发提出的各种组件边界情况如何处理,很多边界情况如果你的文档中没有写,那么研发可能就不考虑了,不做任何处理,直到问题被领导或用户发现了,这时候只要你文档中没有提,那多半就要背锅了。一个你自认为通用的空数据页,你这个页面画了图,那个页面没有画空页面的图,那么研发就可以理所当然的在这个页面没有数据时啥都不展示。
这个现象主要出现在产品初期。随着产品迭代到一定程度,产品团队和研发团队通常会达成共识。此时前端的组件已经覆盖了大多数边界场景,产品团队也了解研发团队可能在哪些地方容易疏忽,因此需要特别强调这些方面。
时间分配
前面讲到研发会时不时找你对各种事情,这就导致了你平时可能很少有大段的时间专注于做一件事,每天上午研发问几个小问题,下午问几个小问题,一天就这么过去了。相比于写代码,有时思路清晰的话就可以一整天都在写,遇到问题了再停下来查一查想一想,相对来说还是会有大片的时间去做事。
对于我个人来说,有时候一个需求给到我,我可能一时半会儿没有一个好的思路,这时候你即便怎么想,怎么查都很难有突破,但有时你睡个午觉,或者放空一下,就突然有解决方向了。这导致了我做为产品经理时比较少进入心流状态,我需要思考,需要头脑风暴,但有时候想不出来也不能僵在那儿,而一件事情悬而未决又让我很难受,就容易有焦虑的情绪。
职业规划的变化
虽然很多人说技术人员越老越不吃香,产品就不一样了,可以积累经验,未来的道路也更加广阔,有机会走的更远。话虽如此,但实际上对于前端开发来说,基本上工作的两三年就基本上对整体的前端技术栈有个深入使用的经验,无非就是 React 和 Vue 以及相关的生态,,再深入点就是一些特殊协议或者可视化方面的更深入的技术,在跳槽时,只要技术栈匹配基本都可以尝试。但是产品经理的话,通常都会要求有同个赛道的经验,例如做社交产品的公司,当然希望找有社交产品经验的产品经理,而产品的赛道可就多了
前端转产品的优势
前面提了这么多研发转产品可能遇到的问题,也不能光抽巴掌不喂糖,所以下面再讲下前端转产品的优势,这些点大家可能会更有共鸣一些。
技术背景
关于这一点,有很多网上的文章唱反调说你有研发背景,肯定满脑子技术思维,做产品的时候创新能力肯定不行,你被你技术背景束缚啦。
这一点从我个人出发,我只能说产品懂技术绝对是一个优势,无论是从功能设计,到与研发沟通,天然的少了一层隔阂,尤其我们公司的产品是基础软件,用户群体本身就是相对懂技术的人。刚刚转为产品经理时,产品相关专业能力虽然不足,考虑事情不周全,但是懂技术起码给你兜了底,你不会有过于天马行空的想法,研发在你面前不能也信口开河,大致的实现成本,排期时间你能够做到心里有数。
前端思维
前端思维和技术背景还是有些不同的,前端和后端对产品的理解方向有些不同,前端偏向交互,后端更偏向业务。因此这里我将技术背景和前端思维分开讲。
不同公司使用的原型工具可能不同,我们公司是直接由产品来出高保真原型,因此我们使用的工具是 Figma,
在我转岗产品一个月左右 《👨💻 Figma 协作设计工具:前端开发者视角快速上手指南》 我就写了一篇关于 Figma 的使用文章,我认为我的 Figma 上手速度是非常快的,这可能由两方面的因素。
- 一是我大学的时候就有自学平面设计,对于 PPT,PS 这类创意类工具的使用方式比较了解。
- 二就是前端思维了,因为做原型其实和用代码写页面的思路是一致的,你看到了一个页面,首先你会想这个页面会由哪些组件组成,这些组件是否已经实现过了?如果没有实现过是否可以抽离到组件库进行复用?
Figma 这个工具是我转产品后,公司才开始使用的,因此大家都不熟悉,那么交互设计的大头就落在我身上,我就拉着我们的 UI 同学一起搭建了一个组件库,这个组件库中包含了常用的所有表单组件,表格组件,还有一些页面组件,其中我根据过往的经验为组件配置了很多参数和插槽,保证插件的拓展性。
如果我没有前端相关的经验,我敢肯定从头要去了解这套组件体系,并熟练的去构建出一套兼容性好的组件库。是要花很多时间的。
后续我们还用上了 Figma 的分支管理功能,这一点和 Git 的分支管理也有些许类似,逻辑上的快速迁移学习为我上手相关工具增速了很多。
对未来的思考
虽然在当前公司已经当了一年的产品经理了,大部分的事情都可以轻松 cover,也算是处于舒适圈了,但是心里还是会焦虑,毕竟目前只是身处一个小公司,而且在产品方面的专业能力又难以评估,网上想要学习关于产品经理的相关专业知识几乎都是卖课的,而且我愈发觉得产品相关的知识不是看任何书籍或课程可以快速提升的,产品经理相关的能力以及可能碰到的问题都是要在解决实际需求的过程中去提升,而且专业的能力与产品的赛道息息相关,你在一个赛道的积累可能换个赛道就派不上用场了,因此还是得持续学习,让自己不论做什么行业都能保持竞争力。
代码的话现在偶尔写写自己感兴趣的小项目,只是没那么多了,公司内偶尔也需要我去支援研发。如果大家有有意思的小项目,小比赛欢迎拉我一起去折腾(不做外包)。
来源:juejin.cn/post/7395559155686604809
哭了,朋友当韭菜被割惨了
最近我的朋友,被某些知识付费坑得很惨。全程毫无干货可言。内容仅仅只适用于初级、或者说部分中级的程序员。为此,我的朋友交了大几千的学费,却收获甚微。
当然,你可能说,是你的朋友问题啊?你朋友烂泥扶不上墙,学习方法不对,别人都有很多成功的案例。什么offer收到手酸,外包入大厂。
我买这些课就是为了学习,入门一些语言。知识付费很合理呀!!
于是我跟我朋友在微信彻夜长谈,有了如下分析
先说结论
请擦亮你的慧眼,你的一分一毫来之不易。不到迫不得已,才当学费
为什么这么说?
首先,不管你是想就业,还是想学习一些新的技术,网上都有例子,github上也会有前沿的项目提供学习。
类型 | 结论 |
---|---|
学习新技术 | 某项技术开源出来,作为技术的布道者,恨不得你免费过去学习,然后你再发一篇文章,越来越多人学习你的技术。 |
就业 | 简历包装无非就是抄抄抄,抄别人的优秀代码。github开源项目就非常合适 |
其次,你学费,一定要做到利益最大化。必须要有以下两点
- 能学到大部分人都学不到的技术亮点。记住,是大部分人,一定要做到差异化
- 能学到优秀的学习方法,push你前进。
开启慧眼
现在市面的学习机构,鱼龙混杂。,B站大学,某识xin球,某ke时jian 甚至,在某音上,都有那种连麦做模拟面试,然后引导你付费学习。
就业环境不好,买方市场竞争激烈,某些人就抓住你的焦虑心理,坑你一把。回想你的求学生涯,是否也有类似被坑经历?醒醒吧,少年。能救你的,只有你自己。
当然,小海也会有潜龙。不可否认,知识付费为我们提供了便利性。
- 原本散乱无章的知识点,人家给你整理好了,你尽管就是学习,实践
- 面对焦虑,你觉得很迷茫,需要一个人指点你前进
- 能认识更多同样诉求的人,为以后学习,就业,甚至做生意提供可能
但是,某些不法分子,就是抓住你的这个心理,疯狂ge你韭菜。什么10块钱知识手册,19.9面试题,100块钱的项目视频。天天一大早,就转发一些公众号到你群上,dddd。
这些内容,不是说没有用。我们讨论适合人群,这类东西不适合中高级程序员。
说那么多,你得学会判断这个人是不是大佬
你都可以简历包装,为什么‘大佬’就不会是被包装的
那就稍微整理一下,哪些是真大佬,伪大佬
真伪大佬
某佬 | 博客 | 开源项目 | 学习人群 | 是否顺眼 |
---|---|---|---|---|
伪大佬 | 面试题居多,很多基础内容,没有干货 | 无,或者很少。动不动就是商城,博客 | 应届生占比较多 | 可能顺眼 |
真大佬 | 博客、论坛内容干货。整理分类完善,你能学到东西 | 有,某些大项目的贡献,同时也有优秀开源项目 | 应届生,中高级都有 | 大多数不顺眼,因为实在优秀 |
就学习人群做一个说明
- 在就业容易程度上,相对于初中高级别的程序员,应届生无论从考察的内容,招聘的人数。都会容易丢丢。
- 他说跟着他学,offer赢麻了。但是其中,找到工作的大多数都是应届生
就这些点,我们其实可以能判断个大概了。
记住,你想知识付费。一定要摸清他的底细,不能认为他说得都是对的。人家也是会包装的
你的hello world
或许每个程序员的第一行代码,都是
print("hello world")
我想说的是,请你记住你的初心。
- 转行过来当程序员,就是为了狠狠赚他一笔
- 喜欢写代码,苦中作乐
情况每个人都不太一样,这里不细说。明白你是谁,你还是否有动力能坚持下去。明白这一点,远比你在迷茫的时候病急乱投医更为重要,请勿过度焦虑
为此,后面会说一下如何学习,以及找工作如何不被骗
力量大会
事关钱包的问题,我们都得谨慎谨慎。就业市场那恶劣,朋友找不到工作还被坑了一把。骗子实在可恶。请你先自身强大,先自己找出问题,不花冤枉钱,避免传销式编程
如有雷同,纯属巧合,没有针对任何人,也没有动某些人的饭碗。
来源:juejin.cn/post/7357231056288055336
揭秘小米手机被疯狂吐槽的存储扩容技术
前段时间,在小米14的发布会上,雷布斯公布了名为“Xiaomi Ultra Space存储扩容”的技术,号称可以在512G的手机中再搞出来16G,256G的手机中再搞出8G。对于普通用户来说,能多得一些存储空间,无异是个很好的福利,不过也有网友说这是以损害存储使用寿命为代价的,那么真相到底如何呢?这篇文章我就从技术角度来给大家详细分析下。
认识闪存
首先让我们来了解一些手机存储的基本知识。
手机存储使用的是闪存技术,其本质和U盘、固态硬盘都是一样的。
在闪存中读写的基本单位是页(Page),比页更大的概念是块(Block),一个块会包含很多页。
虽然读写的基本单位都是页,但是写实际操作的很可能是块,这是为什么呢?
这要从删除谈起,在闪存中删除数据时不会立即删除页上的数据,而只是给页打上一个空闲的标签。这是因为谁也不知道这个页什么时候会再写入数据,这样处理起来比较简单快速。
再看写操作,如果写入分配的页是因为删除而空闲的,数据并不能立即写入,根据闪存的特性,此时需要先把页上之前存储的数据擦除,然后才能写入;但是闪存中擦除操作的基本单位是块,此时就需要先把整个块中的有效数据读出来,然后再擦除块,最后再向块中写入修改后的整块数据;这整个操作称为“读-改-写”。当然如果写入分配的页是空白的,并不需要先进行擦除,此时直接写入就可以了。
预留空间
小米这次抠出来的存储空间来源于一个称为“预留空间”的区域,它的英文全称是Over Provisio,简称 OP。
那么“预留空间”是什么呢?我将通过5个方面来介绍它的用途,让大家近距离认识下。
提高写入速度
在上面介绍闪存的基本知识时,我们谈到闪存的写操作存在一种“读-改-写”的情况,因为额外的读和擦除操作,这种方法的耗时相比单纯的写入会增加不少,闪存使用的时间越长,空白的空间越少,这种操作越容易出现,闪存的读写性能下降的越快。
为了提升写入的性能,我们可以先将新数据写入到预留空间,此时上层系统就可以认为已经写入完成,然后我们在后台将预留空间中的新数据和原数据块中需要保留的数据合并到一个新的数据块中,这样就避免了频繁的读-修改-写操作,从而可以大大提高写入速度。
垃圾回收和整理
在上面介绍闪存的基本知识时,我们还谈到删除数据并不是立即清除空间,而是给数据页打一个标签,这样做的效率比较高。这样做就像我们标记了垃圾,但是并没有把它们运走,时间久了,这些垃圾会占用很多的空间。这些垃圾空间就像一个个的小碎片,所以有时也把这个问题称为碎片化问题。
虽然我们可以通过“读-改-写”操作来重新利用这些碎片空间,包括通过异步的“读-改-写”操作来提升上层应用的写入效率,但无疑还是存在写入的难度,实际写入之前还是要先进行擦除。
为了解决上述问题,聪明的设计师们又想到了新办方法:让存储器在后台自动检测、自动整理存储中的数据碎片,而不是等到写入数据时再进行整理。
考虑到闪存的读擦写特性,当需要移除数据块中部分碎片或者将不同数据碎片合并时,就得把需要保留的数据先放到一个临时空间中,以免数据出现丢失,待存储中的数据块准备好之后再重新写入,预留空间就可以用作这个临时空间。
磨损均衡
闪存中每个块的写入次数都是有限制的,超过这个限制,块就可能会变得不可靠,不能再被使用。这就是我们通常所说的闪存的磨损。
为了尽可能延长闪存的使用寿命,我们需要尽量均匀地使用所有的闪存块,确保每个块的使用频率大致相同。这就是磨损均衡的主要目标。
假设我们发现块A的使用频率过高,我们需要将它的数据移动到没怎么用过的块B去,以达到磨损均衡的目的。首先,我们需要读取块A中的数据,然后将这些数据暂时存储到预留空间。然后,我们擦除块A,将它标记为空闲。最后,我们从预留空间中取出数据,写入到块B。实际上,磨损均衡的策略比这更复杂,不仅仅是看使用频率,还需要考虑其他因素,比如块的寿命,数据的重要性等。
可以看到,预留空间在这个过程中起到了临时存储数据的作用。
不过你可能会问,为什么不直接将块A的数据复制到块B,而需要一个临时空间?
这是因为在实际操作中直接复制块A的数据到块B会带来一些问题和限制。
假如直接进行这种数据复制,那么在数据从块A复制到块B的过程中,块A和块B中都会存在一份相同的数据,如果有其他进程在这个过程中访问了这份数据,可能会产生数据一致性的问题。此外,如果移动过程中发生意外中断,如电源故障,可能会导致数据在块B中只复制了一部分,而块A中的数据还未被擦除,这样就可能导致数据丢失或者数据不一致的问题。
而如果我们使用预留空间,也就是引入一个第三方,就可以缓解这些问题。我们先将数据从块A复制到预留空间,然后擦除块A,最后再将预留空间中的数据写入到块B。在这个过程中,我们可以借助预留空间来实现一些原子性的机制,来保证数据不会丢失和数据的一致性。
错误校正
预留空间还可以用来存储错误校正码(ECC)。如果在读取数据时发现有错误,可以用错误校正码来修复这些错误,提高数据的可靠性。
很多同学可能也不了解这个错误校正码的来龙去脉,这里多说几句。
我们知道计算机中的数据最终都是二进制的0和1,0和1使用硬件比较好表达,比如我们使用高电压表示1,低电压表示0。但是硬件有时候会出错,本来写进去的是1,读出来的却是0。为了解决这个问题,设计师们就搞出来个错误校正码,这个校正码是使用某些算法基于要存储的数据算出来的,存储数据的时候把它一起保存起来。读取数据的时候再使用相同的算法进行计算,如果两个校正码对不上,就说明存储的数据出现错误了。然后ECC算法可以通过计算知道是哪一位出现了错误,改正它就可以恢复正确的数据了。
注意ECC能够修正的二进制位数有限,因为可以修复的位数越多,额外需要的存储空间也越大,具体能修复几位要考虑出现坏块的概率以及数据的重要性。
坏块管理
当闪存单元变为坏块时,预留空间可以提供新的闪存单元来替代坏块,此时读取对应数据时不再访问坏块,而是通过映射表转到预留空间中读取,从而保证数据的存储和读取不受影响,提高了固态硬盘的可靠性和耐用性。
综上所述,预留空间在提升固态硬盘性能,延长其使用寿命,提高数据的可靠性等方面发挥着重要的作用。
小米的优化
根据公开资料,小米将预留空间的占比从6.9%压缩到了约3%。
那么小米是怎么做到的呢?以下是官方说法:
小米在主机端也基于文件管理深度介入了 UFS 的资源管理,通过软件实现“数据非必要不写入(UFS)”,通过软件 + 固件实现“写入数据非必要不迁移”,减少写入量的同时也实现了更好的 wear-leveling 和 WAF
还有一张图:
优化解读
这里用了一些术语,文字也比较抽象,我这里解读下:
UFS(Universal Flash Storage)即通用闪存存储,可以理解为就是手机中的存储模块。
“数据非必要不写入(UFS)”也就是先把数据写入到缓冲区,然后等收到足够的数据之后(比如1页),再写入闪存单元,这样就可以减少闪存单元的擦写次数,自然就能延长闪存单元的使用寿命,推迟坏块的产生。这个缓冲区类似于计算机的内存,如果突然掉电可能会丢失一部分数据,但是对于手机来说,突然掉电这个情况发生的几率极低,所以小米在这里多缓存点数据对数据丢失的影响很小,不过还是需要注意缓冲空间有限,这个值也不能太大,具体多少小米应该经过大量测试之后做了评估。
“写入数据非必要不迁移” 没有细说怎么做的,大概率说的是优化磨损均衡、垃圾回收和整理策略,没事别瞎整理,整理的时候尽量少擦写,目的还是延长闪存单元的使用寿命。
“增加坏块预留” 小米可以根据用户的使用情况调整坏块预留区的大小,比如用户是个重度手机使用狂,他用1年相当于别人用4年,小米系统就会增加坏块预留区,以应对擦写次数增加带来的坏块几率增加。注意这个调整是在云端实现的,如果手机不联网,这个功能还用不上。
wear-leveling:就是上面提到的磨损均衡,小米优化了均衡算法,减少擦写。
WAF:写放大,Write Amplification Factor,缩写WAF。写放大就是上面提到的“读-改-写”操作引起的,因为擦除必须擦掉整个块的数据,所以上层系统只需要写一个页的情况下,底层存储可能要重写一个块,从页到块放大了写操作的数据量。因为闪存的寿命取决于擦除次数,所以写放大会影响到闪存的使用寿命。
概括来说就是,小米从存储的预留空间中抠出来一部分作为用户存储,不过预留空间的减小,意味着坏块管理、错误纠正等可以使用的空间变小,这些空间变小会减少存储的使用寿命,所以小米又通过各种算法延缓了手机存储的磨损速度,如此则对大家的使用没有什么影响,而用户又能多得一些存储空间。
小米的测试结果
对于大家担心小米手机存储的寿命问题,小米手机系统软件部总监张国全表示:“按照目前重度用户的模型来评估,在每天写入40GB数据的条件下, 256GB的扩容芯片依然可以保证超过10年, 512GB可以超过20年,请大家放心。”
同时一般固态硬盘往往都拥有5年的质保,而很多消费者往往会5年之内更换手机。因此按着这个寿命数据来看,普通消费者并不用太担心“扩容芯片”的寿命问题。所以如果你的手机用不了10年,可以不用担心这个问题。
当然更多的测试细节,小米并没有透漏,比如读写文件的大小等。不过按照小米的说法,存储的供应商也做了测试,没有什么问题。这个暂时只能相信小米是个负责任的企业,做好了完备的测试。
最后小米搞了这个技术,申请了专利,但是又把标准和技术方案贡献给了UFS协会,同时还要求存储芯片厂商设置了半年的保护期,也就是说技术可以分享给大家,但是请大家体谅下原创的辛苦,所以半年后其它手机厂商才能用上。
大家猜一下半年后其它手机厂商会跟进吗?
来源:juejin.cn/post/7297423930225639465
差生文具多,这么些年,为了写代码我花了多少钱?
背景
转眼写代码有10多年了,林林总总花费了很多的钱,现在主要按照4大件来盘点下我都买了啥。
电脑
acer 4741g ¥4500+
这是我入门时的一款电脑,整体配置在当时还是属于中等的。
当时用的编辑器还是notepad++,在这个配置下,还是可以愉快的编码的。
mac air 2013 ¥8800+
当时被苹果的放进信封的广告创意所折服,这也是我的第一台apple,在之后就一直用苹果了。到手后的感觉是,薄,确实薄,大概只有我宏基的1/3-1/4厚。
当时apple的简洁,快速,很少的配置,让我在环境变量上苦苦挣扎的心酸得以释放。以后也不用比较各种笔记本参数了
mac book pro13 2015 ¥9000+
当时买这台的原因是因为air进水了,经常死机,修了2次后,又坏了。一怒之下,直接买了一台。
换了新的retina屏之后,色彩质量和效果都提升了不少,对比原来的air性能也是拉升了超级多。但是因为是16上半年买的,所以没体验到toch bar,到现在都没体验过。。。
这是我真正意义上的第一台十分满意的电脑,大概是当时的理想型了。
公司电脑
2016年下半年进了一家创业公司,公司配置了mac book pro,比我的配置还高,所以之后一直就是用公司的。
2021年换新公司,公司配了thinkpad,又一次开始用win。然后又被win各种打败,有时又有了换回mac的想法。
当前–mac book pro14 2021 ¥21999
主要入手的原因是公司的电脑我觉得太慢了。当时开发小程序,脚手架是公司自己的,每次打包都是全量的,没有缓存。所以每次打包短则7,8分钟,长则10多分钟。加上切分支/安装依赖(如果两个分支依赖版本不同,需要强制更新),导致我每天花费大量的时间等待上。
同事早于我入手了M1,反馈巨好,于是我也买了,想着配置拉的满点,但是还是高估了自己的钱包,低估了苹果的价格,只能退而求其次的选择了中档配置。
每次看着低低的负载,都是满满的安全感。
另外m1是支持stable diffusion的,所以偶尔我也会炼丹
显示器
dell U2424H ¥1384
其实在写代码之前也买过几台显示器,但是以程序员视角来说,第一台是这台。原因是当时公司也是这个型号,主要是能旋转,谁能拒绝一台自由旋转的显示器呢?
而且dell的质量和做工都不错,在当时是十分喜欢的。
小米 Redmi 27 ¥789.9
dell那台显示器是放在家里的,公司也需要显示器,而且自带设备每个月可以补贴100,所以就入手了这款,原因无他:便宜,也够大。
但是用久了,发现也有些问题。例如失真等,但是真的便宜,
厂家送寄,但因为合作内容没谈拢,本周寄回
键盘
当前-cherry G80-3000 ¥689
一把真正可以用到包浆的键盘,大多数看到这个键盘的感觉应该都是黄色,而不是原本的白色,不知道是不是材质的问题,极其容易变黄。同时由于键帽又不变黄,所以呈现了诡异的脏脏的颜色。
因为本身机械键盘的高度,所以建议加个手托比较好。各种轴也齐全,任君选择。
目前这个键盘在家里游戏了,毕竟是个全键盘
当前–京造C2 ¥253
选择这个键盘的原因嘛,同事有了,并且是一个带灯的键盘。手感比cherry硬一些,但还属于是能接受的程度,整体延迟比较低(也可能是因为有线的原因)。目前是在办公室使用的一款,当前这篇文章就是用这个敲出来的。
鼠标
总览
鼠标其实留在手边的不太多,大多数都是消耗品了,这么些年,各种有用过。大概用了不下10个鼠标,我只挑2个重点的说吧。
微软ie 3.0 ¥359
这是我用过最好的鼠标,没有之一。握感极佳,用久了也不累,比其他的鼠标都舒服万分。
当前–apple magic trapad ¥899
mac用户的最终归属就是板子,如果你刚开始用mac,那么建议直接用板子吧。支持原生手势操作,各种mac本身触控板的事情都完美适用,真正的跟你的电脑和为一体。
欢迎评论区留言你的设备
如上所述,我这年的大头是电脑,消耗品是鼠标、,那么你都花了多少钱呢?
来源:juejin.cn/post/7395473411651682343
30岁之前透支,30岁之后还债。
前言
看到不少私信问我为啥没有更新了,我没有一一回复,实在是身体抱恙,心情沉重,加上应付于工作,周旋于家庭,自然挤压了自我空间。
今天思来想去,重新执键,决定久违地又一次写点分享,奉劝大家珍惜身体,愉悦生活。
愉悦二字说来容易,但各位都一样,奔波于现实,劳累于生活,岂是三言两语就能改变的。
病来如山倒
我又病了,有些意外和突然的,令我措手不及。
一天早上我起来,脖子有些酸,就伸手揉揉捏捏,忽然发现脖颈左侧有一个肿块,仔细拿捏,发现竟然是在里面,而且硬邦邦的,伴有轻微的疼痛感。
当时早上对着镜子拍下来的肿块,我还保留了照片。
立马便一身冷汗冒出,我从未经历过这样的事情,去年身体毕竟出过问题,两相叠加之下,内心更是难以描述。
因为是周一,怀着忐忑的心情去上班了,接下来一直都有些神经兮兮,觉得自己身体出了大问题。
之前我有文章讲过自己去年其实已经检查出血脂的问题,停更半年之久,调养了一番,才真正感觉到身体有所恢复,根据我发文的日期可见一二。
恢复更新的这段时间,报复式地写作和分享,一度不知不觉地排到榜单第二,今天登录看了一下,居然还在月榜前三没下来,也是意外。
话说回来,人一旦身体冒出点病痛,整个心情都显得低沉萎靡,很快就能在方方面面反应出来。
我是硬着头皮上班的,抽空网上查了下好让自己有个心理准备。
百度一搜便是绝症,这是很多年前就知道的,但病急乱投医果然是人之本性,我毅然决然还是搜了。
然后,各种甲状腺之类的就来了,再搜,淋巴瘤也来了,再搜,好家伙,直接恶性肿瘤十有八九了。
面对未知而产生的接近绝望的心情,想必不少人有类似经验。
比如我,下意识先想到的竟然不是我是不是要完蛋了,而是想到自己是家中独子,父母年迈身体有恙,妻子操劳,孩子尚小,家中主要经济来源也是我。
我一旦倒下,实在不敢想,往深了一想各种负面因子都蜂拥而来。
我不知道有多少人和我的性格相似,就是身体出了这种未知的问题,一面觉得应该去医院看看,一面又怕折腾来去最后拿到最不可接受的结果,可能不知道反而能活久一点,大概就是这种心情了。
是的,我大体是个胆子还算大的人,也猛然间抗拒去医院了。
不去医院的结果,就是你每天都在意这个肿块,每天都要摸摸它是不是变小了,是不是消失了,每天都小心呵护着它,甚至还想对它说说话倾诉一下,像是自己偷养的小情人一样。
只盼着某天睡觉醒来,用手一摸,哈哈没有了这样。
我就是差不多一个月都这样惶惶不可终日地度过,直到这周六才被妻子赶去医院做了检查。
透支和还债
30岁之前透支,30岁之后还债。
说来好笑,摸到肿块的第二天吧,还有朋友私信找我合作,换做平时,我肯定欣然接受,并开始设计文稿。
但身体有问题,一切都索然无味了,再次真切地体会到这种被现实打碎一切欲望的撕裂感。
为什么我30岁之后身体慢慢开始出现各种问题,这两年我有静下心来思考过。
到底还是30岁之前透支太多了,30岁之后你依然养成30岁之前的生活习惯,无异于自杀行为。
我把身体比作一根橡皮筋,它大概只能扯那么长,我长期将它扯那么那么长,我以为它没事,直到有一次我将它扯那么那么那么长,砰的一声它就断了。
我们都无法知道自己的这根橡皮筋到底能扯多长,只要它没断,我们都觉得它还能扯很长,代价就是,只需断一次,你再也无法重来了。
30岁之前,我努力学习各种知识,熬夜那是家常便饭,睡一觉便生龙活虎。
我就像以前上学的三好学生一样,在学校我扎扎实实,放学了我还进补习班,补习班回来了我还上网学知识。
回头想想,真特么离谱啊,我上学都没这样,走上社会了竟然付出了之前在学校几倍的努力。
早知如此,我好好上学读书最后进入一个更优质的圈子,不就少走很多弯路了吗,但是谁又会听当年的老师和父母一番肺腑之言呢。
埋怨过去没有什么意义,只能偶尔借着都市小说幻想一下带着记忆重生回校园的自己。
细数下来,我30岁之前熬过的夜比我加的班还多,我不是天天加班,但好像真的天天熬夜。
可我身体一点问题都没有,我觉得自己不是那种被命运抛弃的人,内心一直这么侥幸,你是不是也和我一样呢。
30岁之后,该来的还是来了,32岁那年,我有一次咳嗽入院,反复高烧,退了又发烧,医生一度以为是新冠,或结核,或白血病什么的,后来全部检查了都不是,发现就是普通的肺部感染。
每天两瓶抗病毒的点滴,大概半个月才逐渐恢复,人都瘦脱相了,这是我人生头一次住院,躺在病床上像废人一样。
等到33岁也就是去年,偶然头晕了一次,那种眩晕,天旋地转,犯恶心,怎么站怎么坐怎么躺都不行,真正要死的感觉。
后面我一度以为是年纪轻轻得了高血压,结果查了下是血脂的问题,还不算严重,但继续下去很可能会变成一些心脑血管疾病。
我难以置信,这可都是老年病啊,我一个30几岁的程序员说来就来了?
调养半年多,肉眼可见身体有好转,我又开始没忍住熬夜了,想做自己的课题,想分享更多的东西,这些都要花时间,而且包括一些其他领域的内容,想得太多,自然花的时间就多。
一不小心就连续熬了一个多月,平均每晚都是2点左右躺下,有时中午还不午休,刷手机找素材。
终于,脖子上起了肿块,让我整个人都蒙圈了,觉得一切努力都是在玩弄自己,忽然间什么都没意思了。
我尽量把这种感受描述出来,希望你们能看明白,真切体会一二。
为什么30岁之后我一熬夜就有问题出现,说白了,30岁之前透支了已经,一来是身体负荷达到临界,二来养成了多年的坏习惯,一时想改还改不过来。
30岁之前真别玩弄自己的身体了xdm,橡皮筋断了就真断了,接不上了,接上了也没以前的弹性了。
健康取决于自律和心情
对于程序员来说,健康取决于两点:自律和心情。
30岁之前,请学会自律,学习时间自律,生活作息自律,一日三餐自律
,养成这样的习惯,30岁之后的你会受益匪浅。
自律真的很难,我就是一个很难做到的人,我有倔强地适应过,却又悲哀地失败了。
就像你是一个歇斯底里的人,忽然让你温文尔雅,你又能坚持多久呢。
我用很多鸡汤说服过自己,对于已经30几岁的我来说,也只能维持一段时间。
想看的多,想玩的多,想学的也多,时间是真不够啊,真想向天再借五百年。
我应该算是幸运的那一类,至少我这般透支身体,我还活着,也没用余生去直面绝望。
我用这两年的身体故障给自己上了重要的一课,人死如灯灭。
如果能重来,我一定会学习时间规划,我一定会把每天的时间安排的好好的。
我一定会保证一日三餐不落下,少吃外卖,多吃水果蔬菜。
我一定会保证每晚充足的睡眠,早睡早起,绝不熬夜。
我一定会每天下班和放假抽出一些时间运动和锻炼。
我不是说给自己听的,因为我已经透支了。
我是说给在看文章的你们听的,还年轻点的,还没透支的,请用我的现在当做你可能更坏的未来,早点醒悟,为时不晚。
自律很难,但不自律可能等死,这个选择一点也不难。
工作压力大,作为程序员是避免不了的,所以我以前有劝过大家,薪水的重要性只占一半,你应该追寻一份薪水尚可,但压力一定在承受范围内的工作,这是我认为在国内对于程序员来说相对友好的途径。
我进入IT行业目前为止的整个生涯中,学习阶段听到过传智播客张孝祥老师的猝死,工作阶段听说过附近的4396游戏公司里面30多岁程序员猝死,今年又听到了左耳朵耗子先生的离世。
我想着,那一天,离我和你还有多远。
心情真的很重要,至少能快速反应在身体上。
当我这周六被妻子劝说去检查的时候,我内心一直是紧张的,妻子没去,就在家陪着孩子,跟我说你自己去吧,如果有坏消息就别回复了,等回来再说,如果没什么事那就发个微信。
我想我理解她的意思了,点了点头就骑车去了医院。
医院真不是什么好地方,我就是给医院干活的,我全身上下都讨厌这里。
最煎熬的时间是做彩超前的一个多小时,因为人太多,我得排队,盯着大屏上的号序,我脑子里想了很多事情,甚至连最坏的打算都想好了。
人就很奇怪,越是接近黑暗,越是能回忆起非常多的往事,连高中打篮球挥洒汗水的模样和搞笑的投篮姿势都能想起来。
喊到我的时候,我心跳了一下,然后麻木地进去了,躺下的时候,医生拿着仪器对着我的脖子扫描,此时的我是近一个月以来第一次内心平静,当真好奇怪的感觉。
随着医生一句:没什么事,就一个淋巴结。
犹如审判一般,我感觉一下无罪释放了。
当时听到这句话简直犹如天籁,这会儿想起来还感觉毛孔都在欢快地愉悦。
我问她不是什么肿瘤或甲状腺吧,她说不是,就一个正常的淋巴结,可能是炎症导致了增生,这种一般3个多月至半年才会完全消掉。
这是当时拍的结果
拿给主任医师看了之后,对方也说一点事没有,只是告诫我别再熬夜了。
我不知道人生还会给我几次机会,但我从20几岁到30几岁,都没有重视过这个问题,也没有认真思考过。
直到最近,我才发现,活着真好。
当晚是睡得最踏实的一晚,一点梦都没做,中途也没醒,一觉到天亮。
更离谱的是,早上我摸了一下脖子,竟然真的小了点,这才短短一天,说了都没人信。
我头一次相信,心情真的会影响身体,你心情好了,身体的器官和血液仿佛都欢腾了起来。
如何保持一个好心情,原来这般重要,我拿自己的身体给大家做实验了,有用!
希望大家每天在自律的基础上保持好心情,不负年华,不负自己。
总结
xdm,好好活着,快乐活着。
来源:juejin.cn/post/7300564263344128051
从一线城市回老家后的2023“躺平”生活
归家
22年的十月份,在上海工作了三年多的我回到了老家。
前端,20年二本毕业的,当时在上海看老家的招聘信息,感觉很棒,很心动。又因为公司在大裁员,刚刚好在最后一轮裁员的时候,被裁了,拿了赔偿金,因为房租没有到期,又最后玩了玩,回了老家。
现实的落差感
回到老家后,又休息了十几天吧,就开始看招聘的信息,之前在上海看着很心动的岗位,简历投了又投,要么回复你,岗位已招满,要么压根不理你(后来我才知道,是学历的问题,老家这边的国企,最低学历就是研究生了,压根不看你工作履历)。剩余那些搭理你的公司,大都是小公司,可能只有十个人左右,而且大多都是单休或者大小周,有些甚至五险一金都没有,工资也低的可怜,是之前的三分之一差不多。
心里难免有很强烈的落差感,但是由于我们(们:我老公,那个时候我们还是情侣,从大学开始的,在一起快7年了)家都是在这边的,两边父母都在这,觉得我们之后就是要在这里发展的,我俩硬着头皮,每天划拉着招聘信息,投着简历,适当地去面试。
中间有一家公司,我感觉还可以,然后想着去试试,干了两天半。
刚去的第一天,技术团队是:一个后端和一个外包的后端,以及一个跟我一样刚入职的前端,一共就我们四个人,然后就是老板,只有我是女生。除此之外,还有保洁阿姨(中午会做饭,公司中午管饭)、人事小姐姐等一些非开发人员。下午开会,老板居然直接在会议室抽起了烟(熏得我不要不要的)!然后项目用的是ruoyi的架子,里面有些代码是那俩后端暂时写的,看起来有些乱。就这样干了两天,那俩后端,很爱抽烟,再加上老板也带头会议室开会还抽烟,整天感觉身边烟熏火燎的。
到第三天的时候,中午开了个会,意思是,之前我们开发的好像需求都不行,并且又提了一堆新需求,还告诉我们说只有两三天的时间搞完。我就意识到不对劲,是逼着人加班,没死没活的干的那种。然后再加上被熏了三天,于是开完会,我就赶紧收拾着我的东西,跑路了,干不了,根本干不了。既不合理,而且办公环境很糟糕(每天烟熏火燎),还没有社保,据说年后才缴纳。下午他们打来电话,问我咋回事,还要给我加薪让我再回去,但我已决心不去那干了。后来的我一点都不后悔这样做,甚至觉得很明智。
就这样继续在招聘软件上看着,有新岗位咯,就投,就面试。
突然有一天的周日,我接到了一个电话,说我可以来上班,他们缴纳五险,是双休,还有餐补,并且薪资也比之前面试的也差不多(之前还有个公司给的薪资和他一样,但是他是大小周,我不想去),这种待遇的公司,对于目前的我来说,已经很可以了,然后我就同意了,并且两天后去入职,这家公司就是我现在的公司。相比之前那家“烟熏火燎”的公司,这家就正规了许多,可能因为总部在深圳吧。
我们订婚啦
既然工作稳定了,那就开始丰富生活。2023年02月05日,我们举办了订婚宴~
工作
这边的前端工作不太是普通的传统前端,而是electron打包出来是个exe啊,或者是针对模型3d渲染引擎啊,依托于基于threeJs二次开发出来的一些第三方,之类的,总之跟之前做的不一样,之前的我做的都是h5、微信小程序、或者接入一些公众号之类的。所以与其说是在工作,不如说是一直在学习吧。公司也知道我不太会,于是乎就给我很长时间先学,先熟悉,然后再去一点点开发。并且我几乎没加过班。
我们结婚啦
后面一切按照计划进行,拍摄婚纱照、男方那边在忙着新房装修,我们这边在置办嫁妆、买车车等。
在2023年10月10日,我们举行了典礼。
安稳且平淡
现在的我们每天安安稳稳,我想着适当提升下自己的学历(因为我们这边的好单位,现在好像都要研究生毕业了),在看着咱们计算机考研408的一些科目(双11心血来潮,一下子买了六七百块的书,不看总觉得买书钱白瞎了TAT),但是每天下班回家,还是忍不住看一些电视剧啥的,佛系考研,阿弥陀佛,哈哈哈哈
我们从上海一直养到现在的猫猫~
这就是我跟大家分享的我的这2023年的一年的经历。说实话,回老家的确比在一线城市更真实,因为身边有父母,有家人,每个周末都可充实。一线城市是素质高、节奏快,人的整个思想境界感觉都跟老家这边的人不一样。但兜兜转转,回老家似乎也并不是“躺平”,有落差感,因为接触过好的了。反正无论怎样,感觉简单、安稳、快乐的过好每一天就挺好。我们一起加油吧~
来源:juejin.cn/post/7311206584205869096
优秀的程序员都有的十条特征,你中了几条?
之前的文章给大家分享的都是DevOps、自动化测试、新技术趋势等前沿知识和技术,实际上目前能完全掌握这些新技术的开发、测试人员都是少数,毕竟大多是人还是专注于自身工作,用于提升、学习新技术的时间较少,而很多新趋势也并未成熟应用到行业。因此,不必为此焦虑,极速变化中总有一些不变,坚守那些基础的不变的能力,并以积极的心态拥抱变化,才是持续而稳定的成长路径。本期分享一些不依赖于新技术、但作为程序员都可遵循的原则,请根据自身情况取舍、实施。
一、及时更新任务清单
当要实现一个功能点时,最好将较大的任务分割成较小且更清晰的任务,这些任务是相对独立的逻辑单元,可以单独进行测试。列一张这样可完成的较小任务的清单,并在完成之后勾选、更新。这样会形成自我激励,并促使自己去不断完成更多的小任务。
目前主流项目管理软件中,往往内置任务分解和更新功能。如在禅道项目管理软件内,开发负责人进行系统分析,拆解成相对独立的任务并指派给个人,而开发人员可以在自己的页面清晰地看到任务数量及剩余工时,完成后进度将同步更新,这种持续的正向反馈会带来极大的成就感。
二、遵循适当的版本控制
通过创建开发、特性、主分支和设置适当的访问权限来遵循适当的版本控制策略。无论何时开始编码,都要确保先获取代码库的最新版本后再开始。在逻辑部分或功能完成后继续提交/推送代码,不要让代码库长时间处于未提交状态。在将代码提交给版本控制之前,始终在本地机器上测试代码。无论变更多么细微,在输入代码时都要检查修改文件的差异,这将帮助追溯意料之外的变更,并有效避免不必要的Bug。
三、持续重构
代码重构是在不改变源代码的功能行为的情况下改变源代码的过程,目的是通过提高代码的可扩展性、降低代码的复杂度,以此来提高代码的可读性和可维护性。未能执行重构可能会导致技术债务的累积,开发人员会在之后的时间里对这些技术债务付出代价。要知道,没有任何一个开发人员愿意处于这种境况中,他们常常拒绝接触已经工作了很长时间的代码。当需要增强现有特性时,问题就出现了。
如果代码的形式不适合进行简易扩展,那么它将是开发人员的地狱。因此,为了避免出现这种情况,需要始终在代码中寻找可以改进的地方。如果你自己做不到,那就向团队寻求帮助。
四、敲代码前先手写代码
在实际将解决方案转换为代码之前,要养成手写算法/伪代码的习惯。手写还可以帮助你在将代码移至计算机之前规划代码。写出需要的函数和类、以及它们如何交互,可以在之后节省大量时间。尽管要比直接敲代码更耗时间,但这种规范会让你打下牢固的基础,实现之后更稳健的成长。
五、给自己的代码进行注释
在自己写的代码中留下注释,解释为什么要做出某些选择。这将帮助到之后拿到这段代码的人,因为不是每个人都清楚你为什么以这种特定的方式编写代码。不需要对非常明显的编码行为进行注释,因为这无关紧要。正确的代码注释将提高代码库的可维护性。
六、善用搜索引擎和论坛
并不是你遇到的所有问题都能自己找出明显的解决方案。所以记得善用搜索引擎,可能会有数百万的开发人员遇到过与您相同的问题,并且已经找到解决方案。所以,不要花过多时间独自寻求解决方案。很多开发人员低估了搜索作为程序员工作中一部分的重要性。
搜索引擎方面Google是不错的选择,论坛则推荐Stack Overflow。有时候工作需要的更多是知道如何获取知识和解决方案,而非实际编程。
七、寻求他人帮助
编程实际上是一种社交活动。我的程序员朋友都会在某些方面有突出优势,所以每当我有问题的时候,都知道该请教其中的哪一个。当他们有问题的时候,我也会帮助他们。这真的是完成任务的绝佳方法。
互相合作可以遵循敏捷开发的结对编程:两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。二人经常互换角色,工作交替进行。在结对编程中,审查的角色需同时考虑工作的战略性方向,提出改进的意见或找出将来可能出现的问题以便处理。
虽然不能有完全的人力成本全面推行结对编程,但寻求他人建议时,看似无法改变的错误或无法学习的话题,可以通过新思维或对这个话题的新的解释来迅速缓解。所以不要在筒仓里编程,要经常讨论并推进。当你重新开始自己编写代码时,接触到多种想法和思维方式将有助于你解决问题。
八、记住技术永远在变化
我将自己的身份首先视为程序员,第二身份才是编程语言专家,因为总有一天我们现在使用的所有编程语言将不再被使用。比如我从80年代开始使用的某些形式的程序集代码,这些代码现在大部分都已经不存在了。这将发生在任何技术上,无论其自身好坏。总会有一天,没有人会再使用Java。
而另一方面,编程语言有一个广泛的范例,存在着相似的族谱。所以,如果你知道一种和另一种语言相似的语言,那么学会这种语言就很容易。
例如,Python和Ruby几乎是同一种编程语言。二者虽在文化上存在着巨大的差异,但除此之外,它们几乎完全相同,所以当你知道另一个的时候学习一个是非常容易的。因此,不要将自己与任何技术或编程语言绑定在一起,而只将它们视为帮助自己解决手头问题的工具。
九、正视并接受Bug的存在
程序员经常看到在自己开发的功能中报告了很多Bug,这意味着大多数时候,任务是失败的。但如果我们所有的程序都是功能完整的,并且没有任何Bug,那么编程就完全不成其为编程了。事实上,我们正处于编程过程中,这意味着我们要么还缺乏很多功能,要么软件有Bug。所以,在某些方面,你作为一个程序员总是失败的,因为总是存在Bug。这可能很奇怪,但你确实需要对不完美和不工作的事情保持良好的心态,因为这正是我们的工作。
编程是一个长期的过程,在这个过程中,您将一直面临新的障碍。养成记录错误的习惯,这样你以后就不会犯同样的错误了,这表明你作为一个开发人员在不断地学习和提升自己。
十、让重复性任务自动化
经常会有一些任务是需要重复做的。例如运行一组命令或执行某些活动,这些活动涉及在多个应用程序和屏幕之间切换,这会占用您的大部分时间。建议将这些耗时的日常活动转换为通过脚本或简单程序(可以通过单击或命令运行)以某种方式自动化。如针对重复的单元、接口等重复的测试执行,可以进行自动化测试。这将节省你的时间,让你可以专注于更有意义的任务,而不必担心日常繁琐的任务。
做好以上十点,相信你能够从合格的程序员,变为优秀的程序员,那么对于新技术和新知识的拥抱,就是一件水到渠成的事。“你的职责是平整土地,而非焦虑时光。你做三四月的事,在八九月自有答案。”
*参考文章:Nitish Deshpande,10Tips to Become a Software Engineer,2020.
来源:juejin.cn/post/7389931555551133732
小镇做题家必须要跨过的三道坎
其实我们大多数人都还称不上小镇做题家,因为我们大多都是来自乡村,只不过在乡镇做了上了几年的学而已。
大多数人的人生轨迹基本上都是从乡村到乡镇再到县城,最终去到了市级以上的城市读大学,没有资源,没人指路,毕业后也是一脸茫然,最终回到原点!
所以大多数小镇做题家的生活永远都是那么艰难,很难成为出题家,是因为多数人身上都出现了致命的弱点,而这些弱点多数是由原生家庭带来的。
一.自卑
自卑可以说是原生家庭带来的第一原罪,也是很难突破的一关,而导致自卑的导火索一定是贫穷。
因为我们多数人从小都被父母灌输“我们家穷,所以你不应该这样做”。
所以在进入大学后,多数人的心中都有一个魔咒,我不配拥有,不配出去玩,不配谈恋爱,不配穿好看的衣服,即使是自己打工赚的钱,多花一分都觉得有负罪感。
因为心里会想着,父母那么辛苦,我就不应该去花钱,而是要节省,当然节省并没有不好。
但是从逻辑上就已经搞错了,首先如果自己舍不得钱去学习,去投资自己,一个月挣3000能够省下2000,那么这个省钱毫无意义,因为省下的这点钱根本做不了什么,但是会把自己置入一个更深的漩涡,收入无法提升,眼界无法开阔,而是一直盯着一个月省2000这个感人的骗局。
除了用钱有负罪感,还有不敢向上社交,觉得自己是小山旮旯出来的,不配和优秀的人结伴,因为父母从小就说: 我们家条件没人家好,人家有钱,人家会瞧不起你的。所以很多人内心就已经打了退堂鼓,从而错过了和优秀的人链接的机会。
但是事实上真正优秀的人,人家从来不会有瞧不起人的心态,只要你身上有优点,你们之间能够进行价值交换,别人比你还谦卑。
我这几年从互联网行业链接到的人有1000个以上,优秀的人不在少数,我发现越优秀的人越谦虚。
自卑导致的问题还很多,比如做事扭扭咧咧,不敢上台,不敢发表意见,总是躲在角落里。
但是这个社会没有人喜欢扭扭咧咧的人,都喜欢落落大方的人,即使你的知识不专业,你普通话不好,这些都不重要,但是只要你表现出自信,大方的态度,那么大家都会欣赏你,因为这就是勇敢。
二.面子
有一个事实,越脆弱的人越爱面子,越无能的人越爱面子。
这句话虽然说起来有点不好听,但是这是事实,我们这种小镇做题家最要先放下面子。
比如自己不懂很多东西,但是不愿意去问别人,怕被别人说,在学校的时候,有问题不敢问,于是花费很多时间去弄,到最后还是搞不懂。
进入工作后,不懂的也不好意思问同事和领导,怕被别人说菜,怀疑自己。
其实真的没几个人有那个闲心去关注你的过往,你的家庭,相反越是伪装,越容易暴露。
我很喜欢的一段话: 我穷,但是我正在拼命改变、我菜,但是我可以拼命学!
面子的背后是自负,是错失,是沦陷。
三.认知
认知是一个人的天花板,它把人划分了层级。
有一段话说得很好:你永远无法赚到认知之外的钱,你也无法了解认知之外的世界。
我们多数小镇做题家的思维永远停留在老师和父母的教导:好好读书,将来就能考一个好工作,就能找一个铁饭碗。
然后在职场中听老板的:好好工作,任劳任怨,以后给你升职加薪。
然后多数人就深信不疑,就觉得人生的目标就是铁饭碗,其他的都不行,工作努力就一定能得到升职加薪,实际上这一切是在PUA自己。
当被这个社会毒打后,才发现自己是那么无知,那么天真。
而这一切的罪魁祸首就是自己认知不够,总觉得按部就班就一定能顺利过好一生。
————
自卑,面子,认知这三点是我们多数小镇做题家难以跨过的三道坎。
而这三道坎基本上都是原生家庭和教育造成的。
跨过这三道坎的方法就是逃离和向上链接。
施耐庵在几百年前就总结出的一句话:母弱出商贾,父强做侍郎,族望留原籍,家贫走他乡。
显然我们大多数都是属于第四类,所以远走他乡是唯一的选择,只有脱离原生的环境,才能打开视野。
事实也是如此,我们观察身边没有背景,没有经济条件的人,他们的谷底反弹一定是逃离。
绝非留恋原地!
来源:juejin.cn/post/7330295661784875043
为什么很多程序员会觉得领导没能力
相信很多人在职场里待久了,都会遇到自己觉得比较差劲的领导,这些人可能除了向上管理能力很强外(会舔老板),其他能力在你看来都挺一般,专业能力一般,超级缝合怪--上级给他的任何任务他都能分配给你们,然后他再缝合一遍完事。
那么遇到这种领导我们该怎么办呢?多数人想到的是跳槽,这确实是一个解法,但你跳到下家公司也保不齐会有这样的领导呀,今天咱们讨论的这个话题就先把条件限定成你不能跳槽,这个时候你该采用什么方法让自己的上班体验变好一些。
多元化自己的评估标准
首先,不能用鄙视的眼光去看待你的领导,觉得他只会舔老板(能舔、会舔也是一种很强的能力呀),有的时候你觉得你领导能力不行,很有可能是因为你的能力评估标准太单一了。
他或许在工作的某个方面不如你,但是他必定在某些方面有自己的长处,努力发现他的长处,认可他的长处,学习他的长处,可以更有助于你和他的相处,也有利于你的进步。
社会是一个大熔炉,你需要的不仅仅是业务能力和展现的舞台,也需要与社会中不同个体的和谐共处。包容、接纳,都是立身处世的能力。
学会变通和沟通,满足领导的存在感
领导之所以会在很多工作上提意见、瞎指挥、乱指挥,更多的情况可能是他知道自己对工作不熟悉,但觉得自己是领导,会有自己独特的见解,想刷自己的存在感。这种情况下,要学会满足领导的存在感。
举个例子说,你在工作中,领导过来给你提了个意见,这个意见明显是不合适的,那你就可以说,“领导,这个思路好,我们之前没往这个角度想,可以从这个角度延展一下……。”他走了,还不是我们自己把控,毕竟他只是过来刷个存在感的,只要最后的方案让客户满意,业绩给领导,把一些光环放在他身上,让他觉得他起到了作用,这些方案和他有关,他通常也不会计较了。
摸清领导管理的思想和套路
说到这里,找到领导心中的关键因素,是非常必要的。在一个项目里,员工承担的通常只是局部,而领导看的是整体,由于高度不同,所以你们考虑的关键因素是不同的。
所以你要知道领导心里到底想要的是什么,提前做好这方面的预期和准备,以及针对领导提出的你们没有考虑到的方面要虚心接受(毕竟领导跟高层接触的更多,有些战略方向上的事情他们会更清楚)。
比如说,你是一个小编,你在意的是按时完成写作任务、及时发表、赚取眼球,而你的领导主编可能更在意的是你文章的各种数据真实性、转化人群、是否会产生舆情、是否zzzq这些。所以,要搞清领导在意的重要维度,工作才能更有效。
这里有三句话分享给大家:
- 要能够分清你可以改变的事、无法改变的事;
- 不去抱怨你服务改变的事;
- 把精力用在你可以改变的地方。
你的上司,是你改变不了的,但你自己,是可以把握的。当然这篇文章也不是教你怎么委屈自己,只是提供一个不同的角度来讨论"领导不行” 这个事情,以及让你在无法立刻更换环境时,该怎样让当前的环境变得不那么恶劣。
想跳槽的同学还是应该按部就班的准备,骑驴找马有更合适的地方该跳就跳,跳过去了说不定今天学到的这些还能用的上……。
来源:juejin.cn/post/7357911195946336293
书评:细读《我与地坛》看史铁生向死而生的自我救赎
读者前言
以前应该是读过《我与地坛》,可能是在课文里或者在网上推荐的断断续续的章节,它实在太有名了。印象中这好像是一个残疾人的励志故事,这次仔细读后才发现,励志并非它的论调,在故事的最开头就已注定绝望的现实将贯穿全文,也贯穿史铁生的一生。
我在想如果它真的仅是一个励志的故事,那史铁生将如何才能扳回这一局?他要以什么结局收尾才能算圆满?难道他要从一个痛苦的残疾人,最终变成一个充实而快乐的残疾人?
最终我认为《我与地坛》绝非一个励志的故事,它甚至没有刻意传达史铁生的人生观,它只是赤裸裸的展示发生在一个人身上的现实;它只是平静的叙述史铁生在这段苦难岁月中的痛苦、挣扎、崩溃与救赎;它只是一遍一遍又一遍的自我剖析、思考、论证,妄图推翻重塑一个全新的人生观和一个全新的自己。
文章摘要
出版的《我与地坛》书籍是史铁生多部散文诗歌的合集,而《我与地坛》本身只是一篇散文,而且内容是以故事叙述、内心活动、实景描写为主,只有一万多字,非常容易读。
文中分了七个章节,讲述了史铁生在“最狂妄的年龄上忽地残废了双腿”之后,“摇着轮椅”与地坛公园长达十五年相依相伴的故事。在这漫长的岁月里,史铁生独自一人守在园中,在矛盾与挣扎中反复叩问生命的意义。
第一节:我与地坛
地坛就是以前北京还未开发的地坛公园,“园子荒芜冷落得如同一片野地,很少被人记起”,但随着史铁生“忽地残废了双腿”,在十五年前的一个下午,摇着轮椅进入园中,便正式开启了“我与地坛”的篇章。在园子中史铁生开始思考生与死的问题。
在满园弥漫的沉静光芒中,一个人更容易看到时间,并看见自己的身影。
突然的残疾让史铁生近乎绝望,他在痛苦中纠结要不要去死,这样活着还有什么意义。
我一连几小时专心致志地想关于死的事,也以同样的耐心和方式想过我为什么要出生。
就这样几年后他终于明白了,死是一个必然会降临,而不必急于求成的事。这也解决了他的“燃眉之急”,减轻了他在选择生或死的挣扎的痛苦。
一个人,出生了,这就不再是一个可以辩论的问题,而只是上帝交给他的一个事实;上帝在交给我们这件事实的时候,已经顺便保证了它的结果,所以死是一件不必急于求成的事,死是一个必然会降临的节日。这样想过之后我安心多了,眼前的一切不再那么可怕
第二节:母亲
度过了最初痛苦挣扎的几年后,恢复了人气的史铁生,也逐渐回忆起与母亲的生活,儿子经历巨大不幸,母亲的心碎与痛苦也只能隐忍在心里,而当时史铁生沉浸在巨大痛苦中,经常忽视和冷落了母亲。
现在我才想到,当年我总是独自跑到地坛去,曾经给母亲出了一个怎样的难题。
当我不在家里的那些漫长的时间,她是怎样心神不定坐卧难宁,兼着痛苦与惊恐与一个母亲最低限度的祈求。
那时她的儿子还太年轻,还来不及为母亲想,他被命运击昏了头,一心以为自己是世上最不幸的一个,不知道儿子的不幸在母亲那儿总是要加倍的。
有一回我摇车出了小院,想起一件什么事又返身回来,看见母亲仍站在原地,还是送我走时的姿势,望着我拐出小院去的那处墙角,对我的回来竟一时没有反应。
母亲独自照料史铁生多年,直到猝然离世,最终也没能看到史铁生重新回归生活,并在文学上取得如此卓越的成就,这也成为史铁生往后的日子永远无法弥补的遗憾。
有一回我坐在矮树丛中,树丛很密,我看见她没有找到我;她一个人在园子里走,走过我的身旁,走过我经常待的一些地方,步履茫然又急迫。我不知道她已经找了多久还要找多久,我不知道为什么我决意不喊她——但这绝不是小时候的捉迷藏,这也许是出于长大了的男孩子的倔强或羞涩?但这倔强只留给我痛悔,丝毫也没有骄傲。我真想告诫所有长大了的男孩子,千万不要跟母亲来这套倔强,羞涩就更不必,我已经懂了可我已经来不及了。
母亲为什么就不能再多活两年?为什么在她的儿子就快要碰撞开一条路的时候,她却忽然熬不住了?莫非她来此世上只是为了替儿子担忧,却不该分享我的一点点快乐?她匆匆离我去时才只有四十九岁呀!有那么一会儿,我甚至对世界对上帝充满了仇恨和厌恶。
多年来我头一次意识到,这园中不单是处处都有过我的车辙,有过我的车辙的地方也都有过母亲的脚印。
这节里的很多描述,无论是追忆细节亦或内心独白,都极为情真意切,遗憾之情,溢于言表。
第三节:园中四季
史铁生用了非常多的比喻,能将四季比喻成园中的任何东西,十五年的共处,史铁生早已将这个园子与自己融为一体,既是困住自己的牢笼,亦是拯救他的避风港
我甚至现在就能清楚地看见,一旦有一天我不得不长久地离开它,我会怎样想念它,我会怎样想念它并且梦见它,我会怎样因为不敢想念它而梦也梦不到它。
第四节:园中十五年
园子中的十五年,这里曾经的每个人他都记忆犹新,史铁生成为园子中的一部分,仔细观察着这十五年园中的事物更迭,有的人是他多年老友,有的人只有几面之缘,或忽的消失就再也没见。
- 一对老夫妻
- 热爱唱歌的小伙子
- 酗酒的老头
- 捕鸟的汉子
- 朴素优雅的女工程师
- 练长跑的朋友
第五节:智力缺陷的小姑娘
最让史铁生痛心的是一个漂亮的有智力缺陷的小姑娘,可能因为史铁生作为残疾人更能感同身受,更能理解这个世界对他们的不公。被一群小孩欺负的弱智的小女孩,同时也是被迫承受这个世界恶意的他自己。
她呆呆地望着那群跑散的家伙,望着极目之处的空寂,凭她的智力绝不可能把这个世界想明白吧。
哥哥把妹妹扶上自行车后座,带着她无言地回家去了。
无言是对的。要是上帝把漂亮和弱智这两样东西都给了这个小姑娘,就只有无言和回家去是对的。
史铁生并未抱怨这个世界的降临的诸多苦难,因为他看透这个世界的本质,这苦难是无论如何也无法“消灭”的。
假如世界上没有了苦难,世界还能够存在么?要是没有愚钝,机智还有什么光荣呢?要是没了丑陋,漂亮又怎么维系自己的幸运?要是没有了恶劣和卑下,善良与高尚又将如何界定自己又如何成为美德呢?要是没有了残疾,健全会否因其司空见惯而变得腻烦和乏味呢?我常梦想着在人间彻底消灭残疾,但可以相信,那时将由患病者代替残疾人去承担同样的苦难。如果能够把疾病也全数消灭,那么这份苦难又将由(比如说)相貌丑陋的人去承担了。
史铁生深刻的认识到,这可能就是人类的全部剧目,人类有聪明、漂亮、善良、高尚、健全,同时也一定需要愚钝、丑陋、卑鄙、残疾,即使未来能消灭残疾,这种苦难也将由患病者承担,即使疾病也被消灭,那苦难可能也会由相貌丑陋者承担。
因为这个世界本就需要苦难,失去差别的世界将是一潭死水。
于是就有一个最令人绝望的结论等在这里:由谁去充任那些苦难的角色?又由谁去体现这世间的幸福、骄傲和欢乐?只好听凭偶然,是没有道理好讲的。
就命运而言,休论公道。
史铁生终于能接受苦难,虽然充满无奈,但他不会再去抱怨命运的不公,虽然他也是苦难的承受者,但他最终承认“上帝又一次对了”。我觉得从这里能看出,史铁生是真的从心底释怀了。
第六节:人生意义
史铁生在十五年里对生命意义的叩问,总结成三个问题,在反复的纠结与推演中也终于有了答案。这段反复拉扯的心理活动属实是非常真实了。真的很有意思。
其实总共只有三个问题交替着来骚扰我,来陪伴我。第一个是要不要去死,第二个是为什么活,第三个,我干吗要写作。
你看穿了死是一件无须乎着急去做的事,是一件无论怎样耽搁也不会错过的事,便决定活下去试试。
为什么要写作呢?
为了让那个躲在园子深处坐轮椅的人,有朝一日在别人眼里也稍微有点儿光彩,在众人眼里也能有个位置,哪怕那时再去死呢也就多少说得过去了。
要是有人走过来,我就把本子合上把笔叼在嘴里。我怕写不成反落得尴尬。我很要面子。
可是你写成了,而且发表了。
人家说我写的还不坏,他们甚至说:真没想到你写得这么好。我心说你们没想到的事还多着呢。我确实有整整一宿高兴得没合眼。
这一来你中了魔了,整天都在想哪一件事可以写,哪一个人可以让你写成小说。
结果你又发表了几篇,并且出了一点儿小名,可这时你越来越感到恐慌。
我忽然觉得自己活得像个人质,刚刚有点儿像个人了却又过了头,像个人质。
你担心要不了多久你就会文思枯竭,那样你就又完了。
凭什么我总能写出小说来呢?
我为写作而活下来,要是写作到底不是我应该干的事,我想我再活下去是不是太冒傻气了?
恐慌日甚一日,随时可能完蛋的感觉比完蛋本身可怕多了
我想人不如死了好,不如不出生的好,不如压根儿没有这个世界的好。
可你并没有去死。我又想到那是一件不必着急的事。
可是不必着急的事并不证明是一件必要拖延的事呀?
你总是决定活下来,这说明什么?是的,我还是想活。
人为什么活着?因为人想活着,说到底是这么回事,人真正的名字叫作:欲望。
所以您得知道,消灭恐慌的最有效的办法就是消灭欲望。可是我还知道,消灭人性的最有效的办法也是消灭欲望
从开始想为什么不死,到为什么写作,到说服自己开始写,从偷偷写-->发表的兴奋-->玩命写-->文思枯竭的恐慌-->见好就收想放弃-->仍然咬牙坚持-->不明白为何坚持,最终终于想清楚自己其实虽然“不怕死“但也”不想死”,因为人真正的名字叫做欲望。接受了这份欲望,虽然有些苟活的羞愧,但想清楚反而坦然接受了,坦然接受了自己想活着的欲望,也坦然接受了写作就是为了活着,彻底卸下了包袱。
我觉得这段心路历程描写的极为精彩生动,史铁生的内心反复拉扯,矛盾挣扎,活下去的欲望与对现实的恐惧的强烈冲突,我觉得很多受困于自己的人可能都会对这种矛盾非常感同身受,我希望大家都能像史铁生这样,最终坦然的接受。
没有人天生要去当圣人,只是为了更好的生活而已。
当然,很多时候需要很大的勇气,需要痛苦而深刻的反省与自我剖析,可你一旦坦然接受,未来也将是真正的坦途。
第七节:归宿
我忽然觉得,我一个人跑到这世界上来玩真是玩得太久了。
那时您可以想象一个孩子,他玩累了可他还没玩够呢,心里好些新奇的念头甚至等不及到明天。也可以想象是一个老人,无可置疑地走向他的安息地,走得任劳任怨。还可以想象一对热恋中的情人,互相一次次说“我一刻也不想离开你”,又互相一次次说“时间已经不早了”
我说不好我想不想回去。我说不好是想还是不想,还是无所谓。
那时他便明白,每一步每一步,其实一步步都是走在回去的路上。
当牵牛花初开的时节,葬礼的号角就已吹响。
但是太阳,他每时每刻都是夕阳也都是旭日。当他熄灭着走下山去收尽苍凉残照之际,正是他在另一面燃烧着爬上山巅布散烈烈朝辉之时。有一天,我也将沉静着走下山去,扶着我的拐杖。那一天,在某一处山洼里,势必会跑上来一个欢蹦的孩子,抱着他的玩具。
当然,那不是我。但是,那不是我吗?
宇宙以其不息的欲望将一个歌舞炼为永恒。这欲望有怎样一个人间的姓名,大可忽略不计。
到最后一章,我觉得史铁生已经完全想清楚了,不在痛苦与纠结,知行合一,豁达而通透,他内心变得强大而坚韧。他自己一点点塑造起来的内心世界已经可以完全兼容现实世界,他不再去纠结要不要去死,或者追寻生的意义,他也坦然接受了写作这项对他生命非常有意义的工作。
并且他也更坦然的接受了未来最终会走向死亡终点的结局。
《我与地坛》到此完结。
关于读后感
我最直接的感触就是:平静而有力量。
虽然在描述苦难,但通篇并不沉重。文字朴素平实,将漫长的十五年的所思、所感、所经历浓缩成的一篇文章,要表达的内容、感情、哲理其实极为丰富和深刻,但文字既不卖弄也不含蓄,就是很平静的阐述,通俗易懂却回味无穷,特别适合反反复复去读。我对文学并无研究,我猜这可能就是文章的内涵吧。
我相信史铁生同样也是一位平静而有力量的作家,我极为敬佩。这也是我一直以来非常想成为的人,我也总在探寻生命的意义,但我内心远没有这么强大,我常会有类似的矛盾,有时想逃避,或者企图找到一个人生终极的方法论,让我能充实幸福的过完这一生。
但我发现这世界并不存在一个唯一终极真理。我们需要用漫长的时间,不断的经历,不断的自我剖析,思考总结,才能得到一个适合自己的真理和与之匹配的心境。
没有经历足够的体验,和这个反复探索的过程,即使聆听再多再深刻的真理,也依然过不好这一生。
如史铁生文中说:
设若智慧或悟性可以引领我们去找到救赎之路,难道所有的人都能够获得这样的智慧和悟性吗?
终究绝大多数人终生都会被困于自己的牢笼,这世界绝大多数人是没有这样的智慧和悟性的,不过有个好消息就是大多数人也不会经历这样大的苦难,虽然生活有时会给我们带来很多烦恼、遗憾、难过,但同样也会有带来很多温馨、甜蜜、快乐,看来上帝还没那么残忍的。
关于人生意义
人生意义这个话题太过深刻,每个人都有不同的答案。简单聊下:
- 为什么要寻找人生的意义?
人生的意义其实就是一个终极方法论,来指导我们要以什么样的态度,如何过完这一生。
因为人的一生实在太过漫长,我们需要一个【基座】来【支撑】住,让我们过的充实,否则在人生的很多时刻我们容易陷入一种【虚无、虚妄】,这种【虚无】吞噬人心,会让我们觉得整个人生都没有意义。
所以人为什么要思考人生的意义,是为了人类的进步亦或找到人类存在这宇宙的终极秘密吗?其实并不是,只是我们需要它,它能让我们的生活过的更【踏实】
- 如何去寻找人生的意义?
其实不外乎几个方面,代表现代人不同的观念:
- 个人成就与自我实现:通过追求个人目标和梦想来寻找生活的意义。包括事业、提高技能、创造性表达或个人发展。
- 人际关系与社会联系:与家人、朋友、同事和社区建立深厚的关系,为许多人提供了生命的重要意义。通过各种关系,人们可以感受到归属感、爱和支持。
- 精神与宗教信仰:很多人通过宗教信仰或精神的超过寻找人生意义。宗教信仰可以提供一套价值观和生命意义的解释,给予人们心灵的慰藉和方向。
- 责任、奉献与付出:通过帮助他人和为社会做出贡献,找到了生活的意义,家庭责任、社会奉献甚至报效国家。
- 感官体验、自由与权利:追求丰富的体验,比如要去吃没吃过的美食,看没看过的风景,人生不过一场体验,不如潇潇洒洒也算不枉此生。
那什么是对,什么是错,哪个高级,哪个低级呢?
不要忘了我们寻找自己人生的意义,最终目的是为了让自己过的更【踏实】,而不是为了正确答案。与其说哪个更好,不如说哪个能撑得住你的人生,如果你觉得感官体验,吃美食,看风景就是你的人生目标,那你就去做就好了。
只是因为我活着,我才不得不写作。或者说只是因为你还想活下去,你才不得不写作。
在地坛公园十五年,史铁生最终给自己人生意义的答案就是:写作。
文字的力量
为什么《我与地坛》句子很平实,读起来却总有一种厚重感?我觉得是因为史铁生所描述的视角,常是突破了人的局限,跨越了时间的。
人类最大的局限性莫过于时间,因为我们只能活在当下的某个时间节点,所以我们很难跨越时间去思考问题,这导致我们普通人在思考人生意义这种深刻的命题时,答案往往显得浅薄而幼稚,我们总会在未来的某个时刻推翻过去的所思所想。
我们更常在历史书中体会这种厚重感,短短几行字可能就是一个王朝的百年兴衰,我们感到震撼和唏嘘。《我与地坛》同样会有这种感觉,试问谁又能花十五年的时间去观察一个园子的变化呢?
当时间被慢慢拉长,我们会看到一个个过去【因】链接到了未来的【果】。因果之间错综复杂的链接,在时间的加持下一览无遗,我们会感叹事物的变化会如此复杂,一个很简单的事物,也会变得深刻而有哲理。
我想作为被时间局限住的人来说,这种跨越时间的观察与思考才是我们需要的,我们才能从这复杂的变化中,总结出深刻的哲理,来支撑我们漫长的人生
推荐
《我与地坛》这本书很适合反复阅读,浓缩了史铁生十五年的心路历程,如果你目前也处在人生比较迷茫的阶段,想要走出困境,我推荐你读一下这本书,我相信你能从中获得想要的力量。
这本书不仅仅浓缩了史铁生十五年的所思所想所感,更是对现代的生活方式、生命的意义、人生观、价值观、人性和欲望、生与死进行了非常深刻的剖析,立意深远,这种深刻的问题是人类永恒的话题,所以我相信它将流传的很久,给每代人带去思考与力量。
相关文献
来源:juejin.cn/post/7303798788719198245
为什么我们总是被赶着走
最近发生了一些事情,让shigen
不禁的思考:为什么我们总是被各种事情赶着走。
一
第一件事情就是工作上的任务,接触的是一个老系统ERP,听说是2018年就在线上运行的,现在出现问题了,需要我去修改一下。在这里,我需要记录一下技术背景:
ERP系统背景
后端采用的是jfinal框架,让我觉得很奇葩的地方有:
- 接受前端的参数采用的HashMap封装,意味着前端字段传递的值可以为字符串、数字(float double)
- 仅仅一个金额,可以有多种形式:1111.001,1,111.001
- 格式化 1.00000100 小数点保存8位,这样的显示被骂了
- 数据库采用的是oracle,jfinal的ORM工具可以采取任何的类型存入数据表的字段里,我就遇到了‘1.1111’字符串存入到定义为double的字段中
- 原来的设计者存储金额、数量全部采用 flaot、double,凭空出现0.0000000000000001的小数,导致数量金额对不上
- 小数位0.00000000001 会在前端显示成1-e10,直接在sql上格式化
- sql动辄几百行,上千行,各种连表
- sql还会连接字典表,显示某个值代表的含义
- ……
前端不知道啥框架,接近于jquery+原生的js
- 每改一段代码,都需要重启后端服务
- 各种代码冗余
- 后端打包一次40分钟+
- ……
最关键的是:所有的需求口头说,我也是第一次接触,一次需求没理解,被运维的在办公室大声批评:你让用户怎么想?
后来,需求本来要半个月完成,拖了一个月才勉强结束。一次快下班的时候出现了问题,我没有加班,也因为遇到了问题没人帮忙。第二天问进度,没进展,领导叫去看会,说态度不好。后来换组了……
二
第二件事情就是我的公众号更新问题,我在八月份的时候个自己定了一个目标:公众号不停更。到最近一段时间发现:很难保持每天更新的需求了。因为我接触到的技巧很少,每篇文章的成本也很大。就拿我的某个需求为例,我需要先把代码写出来,测试完成之后再去写文章,这整个过程最低也需要两个小时的时间。成本很大,所以我有一次很难定顶住这个压力,推荐了往期的文章。
我也经常关注一些技术类的博客,看他们写的文章发现部分的博客都是互相抄袭的,很难保持高质量。更多的是在贩卖焦虑,打广告。
我希望我的每一篇文章都是有意义的,都是原创的、有价值的。所以,我也在陷入了矛盾中,成本这么大,我需要改变一下更新的节奏吗?
三
最后一件事情就是:我感冒了。
事情是这样的,一连几天没有去跑步了,家里的健腹轮也很少去练了,除了每天骑行了5公里外,我基本没有啥运动量。我以为我吃点维生素B、维生素C我的体质就会好一点,大错特错了。
周一发现嗓子有点干痒疼,晚上还加了班,睡觉的时候已经是凌晨一点了。周二就头很晕、带一点发热的症状,我赶紧下午去医院,在前台测了一下体温,直接烧到了28.4摄氏度。血常规检测发现是病毒性感染,买了两盒药回来了。下午一直在睡觉,睡到了十一点。
也在想:难道我的体质真的这么差吗?如果我坚持那几天戴口罩,坚持运动会不会好一些。我想到了我的拖延症。
我的dock栏永远是满的,各种软件经常打开着,Java、数据库,总是有很多的事情要去做,很忙的样子,最后发现没时间去运动了。一次健腹轮的运动不到十分钟,我都没有去行动。
这次的感冒,让我更加的重视起我的健康了,也让我觉得我丧失了主动性,总是被生活赶着走。
所以,提到了这么多,涉及到了任务的规划、任务中的可变因素……我觉得除了计划之外,更多的是需要保持热爱。不仅仅是热爱生活、热爱运动、热爱事业,更是热爱自己拥有的一切,因为:爱你所爱,即使所爱譬如朝露
。
来源:juejin.cn/post/7280740613891981331
努力学习和工作就等于成长吗?
努力学习和工作与成长的关系是一个值得去深思的问题。
有趣的是,参加实习的时候,我将手上的工作做完之后去学其他的技术了,因为那时候刚好比较忙,所以领导就直接提了一个箱子过来,然我去研究一下那个硬件怎么对接。
我看了下文档,只提供了两种语言,C++和JavaScript,显然排除了C++,而是使用JavaScript,不过对于写Java的我来说,虽然也玩过两年的JS,但是明显还是不专业。
我将其快速对接完成后,过了几天,又搞了几台硬件过来叫我对接。
显然这次我不想去写好代码再发给前端了,于是直接拉前段代码来和他们一起开发了。
一个后端程序员硬生生去写了前端。
那么这时候,有些人就会说,“哎呀,能者多劳嘛,你看你多么nb,啥都能干,领导就喜欢这种人了”
屁话,这不是能力,这是陷阱。
一
之前看到一个大佬在他的文章中写道,“如果前端和后端都能干的人,那么大概率是前端能力不怎么滴,后端能力也不怎么滴”。
我们排除那种天生就学习能力特别强的人,这种人天生脑子就是好,学啥都很快,而且学得特别好,但是这样的人是很少数的,和我们大多数人是没关的。
就像有一个大佬,后端特别厉害,手写各种中间件都不在话下,起初我以为他是个全才。
知道有一天,他要出一门教程,然后自己连最基本的CSS和HTML都不会写,然后叫别人给他写。
那么,这能说明他不厉害吗?
各行各业,精英大多都是在自己的领域深耕的。
这个世界最不缺的就是各领域的高手。
在职场中,也并不是什么都会就代表领导赏识你,只能证明你这颗螺丝比较灵活,可以往左边扭,也可以往右边扭。
二
在自己擅长的领域去做,把一件事尽可能垂直。
之前和一朋友聊天,他说他干过python,干过java,干过测试,干过开发,干过实施......
反正差不多什么都干过了,但是为什么后面还是啥也没干成?
我们顶多能说他职业经历丰富,但是不能说他职业经验丰富,经历是故事,而经验才是成长。
可见垂直是很重要的,不过执着追求垂直也未必是一件好事,还要看风往那边吹,不然在时代发展的潮流中也会显得无力。
就像前10年左右,PHP可谓是一领Web开发的龙头!
那句“PHP是世界上最好的语言”可谓是一针强心剂。
可是现在看来,PHP已经谈出Web领域了,很多PHP框架早已转型,比如swoole,swoft等,只留下那句“PHP是世界上最好的语言”摇摇欲坠。
可笑的是,之前看到一个群友说,领导叫他去维护一套老系统,而老系统就是PHP写的,于是他去学了好久ThinkPHP框架,但是过了半年,这个项目直接被Java重构了。
真是造化弄人啊!
三
深度学习和浅尝辄止
在我们还没有工作的时候,在学校看着满入眼帘的技术,心中不免有一种冲动,“老子一定要把它全部学完”
于是从表面去看一遍,会一点了,然后马上在自己学习计划上打一个勾。
但是当遇到另外一个新技术的时候,完全又懵了,于是又重复之前的动作。
这看似学了很多,但是实际上啥也没学会。
个人的精力完全是跟不上时代的发展的,十年前左右,随便会一点编程知识,那找工作简直是别人来请的,但是现在不一样了,即使源码看透了,机会也不多。
而如果掌握了核心,那么无论技术再怎么变革,只需要短暂学习就能熟练了。
就像TCP/IP这么多年了,上层建筑依然是靠它。
四
看似努力,实则自我感动!
在我们读书的时候,总有个别同学看似很努力,但是考试就是考不好。
究其本质,他的努力只是一种伪装,可能去图书馆5个小时,刷抖音就用了四个小时,然后发个朋友圈,“又是对自己负责的一天”。
也有不少人天天加班,然后也会发个朋友圈,“今天的努力只是为了迎接明天更好的自己”。
事实如此吗?
看到希望,有目的性的努力才是人间清醒。
如果觉得自己学得很累,工作得很累,但是实际上啥也没学到,啥也没收获,那么这样得努力是毫无意义的。
这个世界欺骗别人很容易,但是欺骗自己很难!
来源:juejin.cn/post/7303804693192081448
独立开发最重要的还是产品要打出差异化
独立开发者解放思维,开放眼界真的很有必要。就算自己一时没有好的 idea,也可以多观察学习一些(成功的)非主流的独立产品。我之前写文说过独立开发有死亡加速三件套:笔记、记账、todo。但是不得不说我还是保守了,俗话说的好:勇敢的人先享受世界。既然我单个产品都没优势,那我 all in one,把笔记、记账、待办都做到一个 app 里行不行?
直觉上我感觉这样不行吧?但是,啊?

原来真有人吃粉会点全家福啊。于是我想你做是能做但是用户就会喜欢吗?
我直接一个好家伙,两千多评价,4.7分!

嫉妒使我面目全非了。看了一下会员价格,买断28。这个 app 在没有苹果推荐的情况下,做到了两千多评价,我估计用户数大于 5 万。我看了一下上线时间,这个 app 前后开发持续了一年多的时间。如果我按照付费转化10%算,那么这个 app 扣掉 15% 苹果渠道费后收入大概有 12 万(50000 * 10% * 28 * 0.85)。但是这个 app 如果运营得当,后面还是会有新用户进来。因为app是极简(没有设计师的委婉说法),设计成本几乎没有。以当下的数据看,算是回本了。后面再来的增长都是利润了。
定位分析:笔记、待办、记账是很主流的用户需求,但是也有很多入门用户都只有很轻度的需求,垂直的 app 都太专业了,如果我想要这些数据在一起,很轻量,没有广告,设计简洁,又一次买断,那么市场上就没有对应的产品。
完成这个app 有两个难点:首先你要判断市场有这么一块空白,第二个难点,因为任何一个单点都没有优势,怎样触达目标用户。
我看了作者的小红书,他选择了一个很新颖的切入点:学生群体。他有一个宣传口号是“专注学生自律养成的工具 app”。学生群体不会有特别重度的需求,又集中,因为付费转化有限所以垂类专业app都不太考虑学生群体,在这个用户定位这个app又找到了独特的切入点。

这个定位有多重要呢,这个帖子带来的用户下载量就能达到 10000。
总的来说,这个 app 给我带来了很大的震撼。希望也能给大家带来启发。
来源:juejin.cn/post/7267409589066563642
【年终总结】置顶帖 我们的2023 (• ᴗ •͈)◞︎ᶫᵒᵛᵉ ♡ & 订婚快乐
前言
想着给自己的博客每年一个置顶帖子,于是便有了此文。
1. 博主的自我介绍
我是一名Java开发工作者,20年大学毕业,专业:计算机科学与技术。
当年高考填报志愿的时候,计算机是一个新兴的蓬勃发展的行业,当时选择这个专业的原因时:一是想着毕业之后进入到这个行业从事相关工作,二是想着这个专业在公务员报考中能报考的岗位也很多。但是大四规划未来人生方向的时候,市场给我们开了一个大大的玩笑,互联网行业乱成了一锅粥,有一句话叫做万物皆可转码,再加之培训班疯狂的向社会输送程序员,市场乱象频频发生,培训班出来的新人能把自己包装成4年5年工作经验,然后各个公司为了能降低用人成本,也为了节省培养新人的时间和开支,也是只招聘工作经验大于3、4年以上的程序员,导致市场对于应届生的接收程度极差,都不愿意招聘应届生,班里的很多学生该培训的培训,该考研考公的备考,该转行的转行....
这个时期能走的路只有三条
- 考研 毕业成为大厂码农 (幻想的)
- 考公
- 和现在就成为码农。
考研呢,也考了,大四下半学期备战了半年,怎么说呢,结果不意外,对自己的认知有偏差,如果能报考一个相对稳妥的双非本科,现在说必定也是一个失业的研究生呢,但是收获最少我把计算机四大件(数据结构、计算机网络、操作系统、计算机组成原理)背了个底朝天,也算是在将近毕业的时候努力的学习了一把大学专业基础的知识。
考公呢,那时候我莫名觉得考公绝对不行,当时运筹帷幄,指点江山,告知自己,现在体制内的各种发生的事情和情况导致未来的公务员绝对不是铁饭碗,加之公务员工资毕竟不像成为程序员肉眼可见的工资那么可观,于是果断的放弃了考公务员,真的,现在有巴掌我第一个扇回去。当时可是20年呀,公务员真的不是很卷,你看看现在,后悔 ....
考研失败之后还是找了个互联网的厂子,现在从事这个行业也有三四年时间了,但是行业的前景却并不像七八年前那样的好。
2、2023年
2023年对我来说绝对是人生最重要的一年之一。
上半年是我老婆人生中最重要的时期之一,她面临着毕业压力(一度让她面临抑郁和崩溃,可能你们会说不就是毕业嘛,哪有那么夸张,我只能说每个人的情况不一样,希望你们一辈子也不要遇见像她导师那样的人...)。
正在外边商场吃饭,然后接到导师电话开始开临时组会。
我们如履薄冰,战战兢兢度过了这段时间。终于,在六月份,她顺利毕业了(万幸)。
(顺利毕业)
(surprise)
七月,她也找到了人生中的第一份工作,我们的生活开始步入正轨。
同样七月终于拥有了人生第一辆车。
(开心)
在家人和我们自己的决定下,我们如期在十月订婚了。这对我们来说是非常重要的一步。
(去银行买的金条,打的金镯子,很划算哈 ~)
(自己买的订婚现场的装饰,pdd 买的,至今为止,我还是觉得我布置的最好看。)
(怎么样呀?jym)
(家人们,教你们一招 五粮液、软华子直接拿下老丈人)
(订婚现场,主持人是我一个妹妹,这张图能看清我桌子上都摆了啥,当天我没拍桌子。)
(订婚书一签,你可不就是我的人了 ~)
(直接拿下)
(小样,还想跑)
(往后余生,我们一起走)
本以为人生会一帆风顺地继续下去,但工作没多久,因为是制造业,厂里的有毒气体使得她呼吸道和身体都在变差,她不得不选择辞职(裸辞)。23年的社会结构变迁使得学历贬值,大学生人数的激增导致工作变得更加稀缺,失业潮开始席卷。
老婆从失业到现在一直住在我租的小房间里,但是我相信人生不可能总是一帆风顺的。
3、技术成长
除了完成基本的工作业务(今年也上线了 3个web网站 和 3个小程序)之外的技术栈扩充:
- 学习了 SpringBoot3.0 和 对应的 Spring 的生态。比如 SpringSecurity 6.0 以上 ...
- 还有 Java 17 的一些新特性和性能。
- 学习了 C# 和 .Net (只能说和 Java 很像,补全版的Java),正在用C# 做了一个对接 OpenAI的一个类似 ChatGpt 一样的对话类的网站。(还不是很熟,但是能写了,面向百度编程)
- 学习了 领域驱动 DDD ,真的感觉要长脑子了,很多系统性的东西在慢慢融合。
- 接触了 Vue3 和 TypeScript (嗯,万物都在往面向对象发展 ~)
- 可以从 需求制定,域名、服务器、云服务 产品的选型,技术选型,前后端开发,部署上线,性能优化,中间件搭建,后期的运维测试。都能自己一个人搞下来了。(还是勉勉强强,但是按照我们现在这种模式的话,稍微简单一点的服务还是没啥问题的、单体服务就更没问题了。没错,我就是小公司全能手)
- 现在 Python 和 Shell 脚本 玩得 6 的一 。(脚本真方便,而且这种解释器语言真好用~)
4、个人成长
这一年中,有一丝丝的人生感悟,分享给大家。
在工作上,大家都知道,写代码到一定程度会有质的飞跃。今年我在工作方面有了一些感悟,但随着对知识的深入,我也意识到自己所不知道的更多。我从最基础的 Java、数据库和 Web 开发开始,逐渐深入研究技术,包括 Java、系统设计和架构、各种数据库进阶以及项目管理,然后扩展到安全与性能优化、沟通能力、业务和行业理解,以及技术趋势和新技术。然而,最近我意识到,一切都归结于一个道理:先做人,再做事。懂得做人,任何问题都能迎刃而解。我对此有些许领悟。
在工作中,技术的学习和提升固然至关重要,但随着不断的实践,我逐渐意识到成功并不仅取决于技术能力,更关键的是人格魅力和人际交往能力。我开始认识到要从意识开始转变。
从最开始的技术基础学习,到技术的深入研究,再到全面提升,这是职业发展的必经之路。但是当在职场中积累了一定经验后,我渐渐明白技术只是成功的一部分。在实际工作中,需要与人打交道、管理团队、协调资源,这些都需要更多的人际关系、沟通技巧和领导力。虽然我现在还在追求进步,但这是必经之路。
要学会做人,在职场上就意味着有坚定的原则和良好的职业道德。这意味着以诚实、正直、宽容的态度对待他人,学会尊重和理解他人的不同,善于倾听,愿意分享和帮助他人。
此外,学会做人也包括与同事的良好合作、与上级的有效沟通、与下属的关心和激励。建立良好的人际关系,培养团队合作精神。
我曾听过这样一段话,我们这一代,因为互联网的高速发展,能轻易接触到信息,就以为自己掌握了很多,但这个世界上真正有价值的东西都需付出等价的代价。先学会做人,再学做事。
5、总结与展望
新的一年:
- 常回家看看,暂时定的两个月最少回去一次吧。
- 好好给老婆准备明年春招。
- 好好写一些博客,将自己的技术分享出来。将自己的博客好好运营一下。
- 好好吃饭、锻炼,我实在是太瘦了,身体是革命的本钱。
- 交易,看看大A水有多深。兄弟们 2700 抄底了~
- 攒点钱,再去一次 汉中-留坝县自驾游。
- 抽时间把婚纱照拍了~
什么都会过去的,抓住现在,不是吗?
(我的头像,在汉中狮子沟牧场拍的)
(开心最重要,不是吗?)
(去年全球总决赛[ wbg vs t1]的时候线下场馆拍的,笑死 ~)
(前几天下雪 恐龙 vs 鸭子)
就这些,希望明年年度总结的时候可以将这些都完成 ~
引用《人世间》种的一句话:
从你出生的那一刻起, 端什么碗,吃什么饭, 经历什么事,什么时候和谁结婚, 都是定数。 别太难为自己,顺其自然就好。 人生的剧本, 你早在天堂就看过了, 你之所以选择这个剧本是因为, 这一生中有你认为值得的地方。
jym 加油 !
来源:juejin.cn/post/7310101033635725375
不戴眼镜也可以看清啦!记录我的摘镜经历
大家好,我是 Gopal。好久不见,甚是想念!
本篇文章记录一下今年我做的一个比较大胆的决定——做近视手术。
首先声明一下,本篇文章不是广告,纯分享个人经历,看完这篇文章,至于要不要做视力矫正?怎么做?个人可以根据需要自行决定哈。
我为什么要摘镜
先说一下,我的情况。我是初中毕业后开始慢慢近视的,至今的话,也有十来年了,眼镜都配了好多副。有近视的同学应该都知道,近视确确实实带给我们很多的烦恼,我举几个例子:
- 看 3D 电影,我得带两副眼镜,一副是自己的,一副是 3D 眼镜。
- 游泳的时候,脱掉眼镜,啥也看不到。
- 打篮球或者一些激烈的运动,眼镜经常脱落。
- 每天都得擦拭眼镜,对于我这种有点强迫症来讲的人,会是每天的工作。
- 早上起来第一件事情,找眼镜。
- ...
基于以上的种种,摘镜意愿,我个人是比较强烈的。当我听说现在有手术可以进行视力矫正时候,是非常兴奋的。我之后做了相关的调查,我们来看一下视力矫正有哪些方案吧。
视力矫正有哪些方案
这里我会介绍得比较粗糙一些,毕竟我不是专业的,知识都是我从网络中总结得来。
近视原因:我们大部分人的近视都是轴性近视,是由于眼球的前后长度(轴长)延长造成的,可以看以下的图片。在正常眼中,平行光线入眼后在视网膜上形成焦点。而在近视眼中,焦点位置落在视网膜之前,近视眼想看清,就得调整屈光度,使其聚焦在视网膜上。
眼镜通过镜片调节屈光度,而近视手术的大致有两种方式进行:
- 第一种,通过角膜手术改变角膜的形态和屈光力,使物象成像到视网膜上。
- 第二种,更换晶体或向眼内植入补偿晶体,从而达到类似的效果,这种类似于带隐形眼镜。
其中有一个特点就是晶体是有可逆性,激光手术的话,是不可逆的。以上两种并没有说哪种是最优解,需要通过医院检查才能决定。一般来说,角膜屈光手术建议近视度数小于 1000 度,散光小于 600 度。如果因为度数过高、或角膜太薄不能做角膜屈光手术,可以考虑做晶体植入手术。
现在主流的手术方案有以下四种(前面三种都属于角膜手术),具体的这里不展开了,大家有想法可以自行搜索哈。
- Smart全激光
- 半飞秒
- 全飞秒Smile
- ICL晶体植入术
而我通过检查之后,选择了全飞秒Smile。主要是我度数还好,角膜厚度也足够。
手术前中后
首先约了一家上市的机构做检查,看得出还是比较慎重,各个方面评估能不能做,以及有哪些方案,最后会有专门的人给我讲解。
做完检查之后,我当时就约了隔周去做,因为手术前几天是需要滴眼药水,而且不能佩戴隐形眼镜等。
手术当天,做术前检查,交代注意事项/术后用药、签署同意书等。说实话,我还是比较紧张的,毕竟把眼睛这么重要的部位交给医生。
然后就是手术了,真正的手术时间也就几分钟,当躺在手术室中,一开始我以为医生还在给我做前置检查,没想到几分钟后医生告诉我已经结束了,可以回家了。手术过程滴麻药,基本不会痛的。整个激光过程,眼睛是会有开睑器撑开固定,手术过程眼睛是同时睁开/闭上的。手术过程中,需要在打激光的过程中配合,眼睛保持不动不眨,听好医生指令。
手术后,我和我对象就坐地铁回去了,回家的路上,我一直戴着墨镜,随着麻药的失效,会有一种较强的异物感。虽然我知道这是一个正常现象(医生提前已告知,手术后将会在4-6小时内会出现流泪、畏光、白雾感、异物感、酸胀感等刺激症状,其轻重因人而异),但是当时真的挺怕的,毕竟可不是小事。(所以最好手术当天最好还是有人一起去)。
当天下午,我就感觉好很多了。我做的事全飞秒,周六做的手术,周一的时候,我就可以正常上下班了,基本不会影响工作。唯一我感知到的一点点影响就是切换屏幕的时候,聚焦会需要一点点时间,很短,医生说是正常现象。不过中间需要注意用眼,然后注意按照医嘱滴眼药水等。这里我贴几个术后的注意事项,当然你应该根据你的主治医生来:
- 术后一周内清淡饮食,吃辛辣刺激食物。
- 术后两周内洗头洗脸时不宜将水溅入眼内,切忌揉眼。(手术室给的眼罩睡觉时带上)。
- 术后一个月内勿游泳,不要在眼部使用化妆品并避免异物进入眼内。
- 术后一个月在室外请戴太阳镜(全激光术后戴三个月),室内、晚上不需佩戴。
- 术后三个月内尽量避免剧烈运动,术后一周后可以适量健身运动,但须注意在活动中不要伤及手术眼。
- 术后视力恢复是逐步提高的过程,开始阶段看近会感到稍有模糊,雾感。此症状会逐渐消失,视力提高有快有慢,双眼视力恢复会有波动与近视度数及个人对治疗反应差异有关,六个月基本稳定。
在写本文的时候,已经有两个多月了,感觉日常生活没啥影响。在一个月复诊的时候,我的视力一边是 1.2,一边是 1.5。如果说有啥「副作用」的话,有两点。一个是晚上的视力(在光线比较差的地方)会稍微有点差,另外一个看一些光源(比如路灯),会有一点炫光。不过这些术前医生有给我说过,我是有做好心理准备的。
整体而言,目前为止,我对这次的近视手术还是很满意的。
手术价格以及副作用
这个我相信不少人比较关注,我做的全飞秒,全部下来大概 1.8w 左右(公司跟这家机构有合作,跟我说是打了折扣,我了解了一下,在深圳,这个价格其实差不多)。激光和半分秒会稍微便宜一些。晶体植入是最贵的(大概 3w 多)。具体的还需要根据不同的城市和机构看。据说虽然近视手术简单,但是它那个机器是需要给专利费用的,用一次给一次专利费用。整体上讲,这个还是可以接受的。另外,近视手术不能报医保。
比如价格,我觉得大家最关心的问题是副作用,或者说风险系数。任何手术都是有风险的,包括近视手术。网络上会有人说:
- 近视手术这么好,为什么医生也还带眼镜?
- 近视手术这么好,为什么马化腾还带眼镜?
- ...
首先,先不否认大家的疑虑,毕竟眼睛这么重要的东西,要在上面动手术,想想都怕。但是,我们也需要辩证的看待这些问题。
- 近视手术是需要满足一定条件的,不满足的话,医院是不敢给你做的。
- 近视手术是不会导致你瞎的,从原理上来说,近视手术是眼睛前面部分的手术,不涉及眼部深层组织,比如晶状体、视网膜等,更加不可能致盲。
- 近视手术存在发生并发症的可能性,可能性大小而已。(别人没有,并不代表自己没有)比如眼干等。虽然现在手术已经很成熟,但是在你决定要做之前,一定要先了解清楚,看你能不能承担这个风险。
- 近视手术只是当前帮你调整好你的视力,假如你不注意用眼的话,是存在再次近视的风险的。所以一般建议成年之后,度数稳定之后再做这个手术。
- ...
最后再强调一遍,近视手术是一种改善型的手术,不做其实本质上对于自身身体健康没有影响,如果摘镜意愿强烈的同学可以尝试去了解一下。
写在最后
目前为止,我感受到更多的是摘镜之后给我生活带来的便利,基本算是满足了我摘镜的预期!
我之前一直在想,假如哪天我落在一座荒岛上,估计是活不下去的。因为假如一旦我眼镜坏了,那么我就「看不清」这个世界了。
不过现在医学科技的进步解决了我的这个问题。
来源:juejin.cn/post/7293788137662038050
原来我们是这样对工作失去兴趣的
一、前言
相信很多人有过接手别人的系统,也有将自己负责的系统交接给别人的经历。既有交接出去不用在费力治理维护技术债务的喜悦,也有接手对方系统面对一系列维护问题的愁容满面。
但是被人嫌弃的系统曾经也是「创建人」心中的白月光啊,是什么导致了「白月光」变成了「牛夫人」呢?是996,工期倒排、先上再优化,还是随时变动的需求?
让我们来复盘系统是怎么一步一步腐化的,让我们丢失了最初的兴趣,同时总结一些经验教训以及破局之策。
二、白月光到牛夫人的经历
一般当我们设计一个系统时,总是会抱着要把该项目打造为「干净整洁」的项目的想法,
但是随着时间的推移,最后总是不可避免的变成了这样:
2.1、从0到1
我们发现大多数人对于创建新项目总是会抱有极大的激情兴趣,会充分的考虑架构设计。但是对于接手的项目就会缺乏耐心。
这种心理在《人月神话》一书中被说为编程职业的乐趣:
“首先,这种快乐是一种创建事物的纯粹快乐。如同小孩在玩泥巴时 感到快乐一样,成年人喜欢创建事物,特别是自己进行设计 。我想这种 快乐是上帝创造世界的折射,一种呈现在每片独特的、崭新的树叶和雪 花上的喜悦。”
“第四,这种快乐是持续学习的快乐,它来自于这项工作的非重复特性。人们所面临的问题总有这样那样的不同,因而解决问题的人可以从 中学习新的事物,有时是实践上的,有时是理论上的,或者兼而有之。”
正是由于这样的心理,人们在面对新系统时,可以实践自身所学,主动思考如何避开曾经遇到的坑。满足了内心深处的对于创造渴望。
当一个项目是从0到1开始设计的,并且前期是由少数「高手」成员主导开发的话,一般不会有债务体现。当然明面上没有债务,不代表没有埋下债务的种子。
2.2、抢占市场、快速迭代
系统投入市场得到验证后,如果顺利,短期会收获大量用户。伴随着用户指数增长的同时,各种产品需求也会随着而来。一般在这个阶段将会是「工期倒排、先上再优化,需求随时变动」的高发期。
同时由于需求的爆发,为了提高团队的交付率,在这个阶段会引入大量的“新人”。随着带来的就是新老思想的碰撞,新的同学不一定认同之前的架构设计。
在这个阶段,如果团队存在主心骨,可以“游说”多方势力,平衡技术产品、新老开发之间的矛盾,那么在这个阶段引入的债务将会还好。但是如果团队缺乏这样的角色,就会导致公说公有理婆说婆有理,最后的结果就是架构会朝着多个方向发展,一个项目里充斥着多种不同思路的设计。有些甚至是矛盾的。如果还有【又不是不能用】的想法出现,那将是灭顶之灾。
但是在这个阶段对于参与者又是幸福的,一份【有市场、有用户、有技术、有价值】的项目,无论是对未来的晋升还是跳槽都是极大的谈资。
2.3、维护治理
褪去了前期“曾经沧海难为水,除却巫山不是云”的热恋后,剩下的就是生活的柴米油盐。系统的最终结局也是“维护治理”。
在这个阶段,需求的数量将大大减少,但是由于前期的“快速建设”,一个小小的需求,我们可能需要耗费数周的时间去迭代。而且系统越来越复杂,迭代越来越困难。
同时每天需要花费大量的时间处理客诉、定位bug,精力被完全分散。系统的设计和技术慢慢的变得僵化。并且由于用户量巨大,每次改动都要承担很大的线上风险。这样的情况对于程序员的精力、体力都是一场内耗,并且如果领导的重心也不在此项目时,更会加重这种内耗。于是该系统就会显得“人老色衰”,曾经的「白月光」也就变成了「牛夫人」。
三、牛夫人不好吗?
3.1、缺乏成就感
《人月神话》中关于程序员职业的苦恼曾说过以下几点:
- 对于系统编程人员而言,对其他人的依赖是一件非常痛苦的事情。他依靠其他人的程序,而这些程序往往设计得并不合理、实现拙劣、发布不完整(没有源代码或测试用例)或者文档记录得很糟。所以,系统编程人员不得不花费时间去研究和修改,而它们在理想情况下本应该是可靠的、完整的。
- 下一个苦恼---概念性设计是有趣的,但寻找琐碎的bug却是一项重复性的活动。伴随着创造性活动的,往往是枯燥沉闷的时间和艰苦的 劳动。程序编制工作也不例外。
- 最后一个苦恼 ,有时也是一种无奈—当投入了大量辛苦的劳动 ,***产品在即将完成或者终于完成的时候,却已显得陈旧过时。***可能是同事或竞争对手已在追逐新的、更好的构思; 也许替代方案不仅仅是在构思 ,而且己经在安排了。
随着业务趋于稳定,能够发挥创造性的地方越来越少,剩下的更多是沉闷、枯燥的维护工作。并且公司的资源会更聚焦在新业务、新方向,旧系统获得的关注更少,自然而然就缺乏成就感。也就形成了【只见新人笑,不见旧人哭】
3.2、旧系统复杂、难以维护
《A Philosophy of Software Design》一书中对复杂性进行了如下定义:“Complexity is anything related to the structure of a software system that makes it hard to understand and modify the system.”,即任何使得软件难于理解和修改的因素都是复杂性。
作者John 教授又分别从三个角度进行了解释复杂性的来源:
3.2.1、变更放大
复杂性的第一个征兆是,看似简单的变更需要在许多不同地方进行代码修改。对于复杂的系统来说,如果代码没有聚敛,那么一次小小的需求可能会导致多处修改。同时为了保证不出故障,需要对涉及的修改点、功能点进行完整的覆盖测试。这种隐藏在背后的工作量是巨大的。
3.2.2、认知负荷
复杂性的第二个症状是认知负荷,这是指开发人员需要多少知识才能完成一项任务。当一个系统经过多年的迭代开发,其复杂度将是指数级别的。并且会充斥这很多只有“当事人”才能理解的“离谱”功能。这就对维护者提出了极高的要求,需要掌握很多“冰山下”的知识才能做到手到擒来。而这对维护者的耐心、能力又是一次挑战。
3.2.3、未知的未知
未知的未知是指必须修改哪些代码才能完成任务,或者说开发人员必须获得哪些信息才能成功地执行任务。这一项也是John Ousterhout教授认为复杂性中最糟糕的一个表现形式。
这句话看起来比较抽象,如果映射到我们日常的工作中就是“我也不知道为啥这么改就好了”、“在我这是好的呀”、“刚刚还能运行啊,不知道为啥现在突然不行了”。
这种情况就是我们不知道改动的这行代码是否能让程序正常运转,也不知道这行代码的改动是否又会引发新的问题。这时候我们发现,那些“上帝类”真的就只有上帝能拯救了。
我曾经维护一个老系统,源码是通过文件相互传递的,没有仓库,里面的框架是自己撸的轮子,没有任何说明文档。服务部署是先在本地编译成二进制文件,然后在上传到服务器启动。每次改动上线都是就是一次生死劫,幸好没过多久,这个系统就被放弃了。
四、为何变成了牛夫人
4.1、伪敏捷
“敏捷”已经成为了国内公司的银弹了。
需求不做市场分析、不考虑用户体验、不做设计分析、不考虑前因后果,美其名曰“敏捷”。
工期倒排、先上再说、明天能不能上、这个问题上了再优化,美其名曰“敏捷”。
我曾经参与过一个项目,最开始是给了三个月的时间完成产品规划+开发,但是项目立项后领导层迟迟无法达成统一,一直持续进行了两个月的讨论后,终于确定了产品模型,进入开发。到这里留给开发的时间还剩一个月,咬咬牙也能搞定。但是开发真正进场,上报了需要开发的周期后,上面觉得太慢了,要求3周搞定,过了一天还是觉得太慢,要求2周,最后变成了要求4天搞定。遇到这种情况能怎么办,只能加人,只能怎么快怎么来。
之前阿里程序员也开玩笑式的说出了类似的场景:“2月13号上午省领导问逍遥子全省的健康码今天上线行不行,逍遥子说可以。等消息传达到产研团队的时候已经是中午了,然后团队在下午写了第一行代码。”
4.2、人的认知局限
《人月神话》一书中提到了一种组建团队的方式「外科手术团队」:“十个人,其中七个专业人士在解决问题,而系统是一个人或者最多两个人思考的产物,因此客观上达到了概念的一致性。”
也就是团队只需要一个或者两个掌舵人,负责规划团队的方向和系统架构,其余人配合他完成任务。目前我所待过的团队也基本是按照这个模式组成的,领导会负责重要事情的决策和团队分歧时的拍板,其余人则相互配合完成目标任务。但是这样的模式也导致了一个问题:掌舵人的认知上限就决定了团队的上限,而这种认知上限天然就会导致系统架构设计存在局限性,而这种局限性又会随着“伪敏捷”放大。
4.3、人员流动
经历过这种离职交接、活水交接的打工人应该深有体会,很多项目一旦步入这个阶段,大多数负责人就会开始放飞自我,怎么快怎么来,只想快点结束这段工作,快速奔赴下一段旅程。
从人性的角度是很难评价这种情况的,毕竟打工人和老板天然就不是一个战线的,甚至可能是对立面的。而我们大多数人都不可能是圣人,从自身角度从发这种行为是无可厚非的。
五、如何保持白月光
这里想首先抛个结论,系统变腐化是不可避免的。就类似人一样,随着时间的流逝,也会从以前一个连续熬夜打游戏看小说第二天依旧生龙活虎的青年变为一个在工位坐半小时都腰酸背痛,快走几步都喘的中年人。而这都来源于生活的压力、家庭的压力、工作的压力。同样的,面对业务的压力、抢占市场的压力、盈利的压力,系统也不可避免会变成“中年人”。
就像人一样会使用护肤品、健身等手段延缓自己的衰老一样,我们也可以使用一些手段延缓系统“衰老”。
在网上,已经有无数的文章教怎么避免代码腐化了,例如“DDD领域驱动设计”、“业务建模”、“重构”等等。
今天我想从别的角度聊聊怎么延缓代码腐化。
5.1、避免通用
软件领域有个特点,那就是复用。程序员们总是在思考怎么样写一段到处通用的代码,以不变应万变。特别是当国内提出中台战略后,这种情况就如脱缰的野马一般,不可阻挡。要是你做的业务、架构不带上xx中台,赋能xx,你都觉得你低人一等。
但是其实我们大部分人做的都是业务系统,本身就是面向某块特定市场的、特定用户的。这就天然决定了其局限性。
很多时候你会发现你用了100%的力气,设计了一个80%你认为有用的通用中台,最后只有20%产生了作用,剩下60%要么再也没有动过,要么就是被后来参与者喷的体无完肤。
当然这里也不说,设计时就按照当前产品提出的需求设计就行,一点扩展的余地都不留,而是在「通用」与「业务需求」之间取一个平衡。而这种平衡就取决于经验了。如果你没有这方面经验,那你就去找产品要「抄袭」的是哪个产品,看看他们有哪些功能,可以预留这些功能的设计点。
5.2、Clean Code
说实话,国内的业务系统80%都没有到需要谈论架构设计的地步。能够做到以下几点已经赢麻了:
- 良好的代码注释和相关文档存档【重中之重】
- 避免过长参数
- 避免过长方法和类
- 少量的设计模式
- 清晰的命名
- 有效的Code Review【不是那种帮我CR下,对方1秒后回复你一个done】
5.3、学会拒绝
自从国内开始掀起敏捷开发的浪潮后,在项目管理方面就出现了一个莫名其妙的指标:每次迭代的需求数都有会有一个数值,而且还不能比上一次迭代的少。
这种情况出现的原因是需求提出者无法确定这个需求可以带来多大的收益,这个收益是否满足老板的要求。那么他只能一股脑上一堆,这样即使最后效果不及预期,也可以怪罪于用户不买账。不是他不努力。
在这种时候,就需要开发学会识别哪些是真需求,哪些是伪需求,对于伪需求要学会说不。当然说不,不是让你上来就是开喷,而是你可以提出更加合理的理由,甚至你可以提出其他需求代替伪需求。这一般需要你对这块业务有非常深入的研究,同时对系统有上帝视角。
基本上在每个公司的迭代周期都是有时间要求的,比如我们就是两周一迭代,如果需求是你可控的,那么你就有更多的时间和心思在维护系统上,延缓他的衰老。
来源:juejin.cn/post/7312724606605918249
谈谈在大环境低迷下,找工作和入职三个月后的感受
前言
今天是新公司入职后的三个多月了个人也是如愿的转正了,对于我个人而言此时的心情好像没有三个月前刚拿到offer那样的喜悦和兴奋了,更像一件很普通的事情在你身边发生了吧。从2023年底离职在到2024年初开始找工作中间休息了三个月,找工作到入职花了一个多月,在这个过程中也是第一次真真切切感受到了所谓大环境低迷下的“前端已死的言论”,也给大家分享一下自己入职三个月的个人感受吧。
从上一家公司离职时的个人感受
因为上一家公司的工作性质是人力外包驻场开发,年底客户公司(中国移动成都产业研究院)我所在的项目组不需要外包人员了,个人也是被迫拿了赔偿灰溜溜的走人了。
工作感受:对于这段工作经历我个人还是比较认可的,毕竟这里没有任何工作压力,也不加班,工作量少,有很多时间去学习新东西,做做自己的开源,认识了新的朋友等等。
学历的重要性:在这里面随便拎一个人出来可能就是研究生学历的国企单位,自己真实的意识到了学历的重要性(第一学历小专科的我瑟瑟发抖)。
和优秀的人共事:如果在一个长期压抑低沉消极的环境下工作无论你的性格在怎么积极乐观开朗,可能也很容易被影响到。相反如果是和在一群积极,乐观,开朗,充满自信的环境和人一起工作,相信你也会变得积极,乐观,自信这或许也是我这一段工作经历最大的收获吧。
2023年底找工作的市场就业环境
抱着试一试的心态在boss上更新了自己的简历状态,不出所料软件上面安静的奇怪ps:49入国军的感觉,已读未回可能是很失望的感觉吧,但年底找工作令人绝望的是大多数公司都是未读未回,这也就意味着年底基本上是没有正常公司招聘的了。
大概投了两周简历后终于在智联招聘上约到了一个短期三个月岗位的面试,现场两轮面试通过了,不过最终还是没有选择去。
原因有很多:
- 现场的工作环境个人感觉很压抑,从接待我前台和面试官都能感觉满脸写着疲惫
- 说公司最近在996,你也需要和我们一起
- 招聘岗位和工作内容是threejs开发,薪资却说只能给到普通前端开发的水平
- 人力外包公司hr的反复无常令我恶心,二面通过后hr给我打电话最主要就是聊薪资吧,电话内容也很简单hr:成都大部分前端的薪资是在XX-XX,可能给不到你想要的薪资,可能要往下压个1-2K。我:我提的薪资完全是在你们发布招聘岗位薪资的区间,既然你们给不到为什么要这样写了(有感到被侮辱了)。过了几天之后人力外包的hr又给我电话,说可以在原来提的薪资基础上加1.4K,希望能早点去客户公司入职。
总结:年底招聘的公司基本上没啥好鸟,如果你的经济能力还行的话让自己放松休息一段时间也是不错的选择
2024年初找工作:真实的感受到了大环境的低迷下的市场行情
印象最深刻的是在疫情时期的2021年,那会儿出来找工作boos上会有很多HR主动给你打招呼,一周大概能五六个面试,大专学历也有机会去自研公司
解封之后本以为市场行情会变得回缓,结果大概就是今年可是未来十年行情最好的一年
简单总结一下2024年的成都就业环境大概这样的:
- 只有外包公司会招专科学历
- boss上只给hr发一句打招呼的快捷语,99% 都是已读不回
- 大多数要完简历之后就没有后续了
- 待遇好的公司对于学历的要求更严格了(211,985)
- 给你主动打招呼的基本上都是人力外包公司
截至入职新公司前boss上面的投递状况:沟通了1384个岗位,投递了99份简历,一共约到了 8 家公司的面试
今年找工作的个人感受:不怕面试,就怕没有面试机会
首先说一下个人的一些情况吧,因为在创业小公司待过在技术栈方面个人认为算是比较全面的了
项目经验:做过管理系统(CRM,B2C,ERP,saas等管理系统)、商城和门户网站(响应式,自适应)、移动端(H5,小程序,app)、低代码和可视化(工作流,可视化大屏,3d编辑器)、第三方开发(腾讯IM,企业微信侧边栏)、微前端
项目经历:从0-1搭建过整个大项目的基建工作,封装过项目中很多功能性组件和UI组件二次封装(提高开发效率),接手过屎山代码并重构优化,约定项目的开发规范,处理很多比较棘手的疑难bug和提供相关的技术方案,没有需求概念下的敏捷开发,从0-1的技术调研等
代码方面:写过几个开源项目虽然star数量不多(目前最多一个项目是600+),但在代码规范和可读性方面个人认为还是比较OK的(至少不会写出屎山代码吧)
工作经验(4年):2020毕业至今一直从事前端开发工作
学历:自考本科学历(貌似没啥卵用)
学历确实是我很硬伤的一个点但是没办法,人嘛总归要为年轻时的无知买单吧
在这样的背景下开启了24年的找工作,从2月26号开始投递简历到4月1号拿到offer差不多一个多月左右时间,一共约到了8加公司的面试,平均一周两家公司
大概统计了一下这些公司的面试情况:
公司A:
- 数组哪些方法会触发Vue监听,哪些不会触发监听
- position 有哪些属性
- vue watch和computed的区别,computed和method的区别
- vue的watch是否可以取消? 怎么取消?
- position:absolute, position:fixed那些会脱离文档流
- 如何获取到 pomise 多个then 之后的值
- 常见的http状态码
- 谈谈你对display:flex 弹性盒子属性的了解
- 如何判断一个值是否是数组
- typeof 和instanceof的区别
- es6-es10新增了那些东西
- 离职原因,期望薪资,职业规划
公司B
到现场写了一套笔试题,内容记不清楚了
公司C
- vue router 和route 区别
- 说说重绘和重排
- css 权重
- 项目第一次加载太慢优化
- 谈谈你对vue这种框架理解
- sessionstorage cookie localstorage 区别
- 了解过.css 的优化吗?
- 闭包
- 内存泄漏的产生
- 做一个防重复点击你有哪些方案
- 解释一些防抖和节流以及如何实现
- 说一下你对 webScoket的了解,以及有哪些API
- 说一下你对pomise的理解
- vue2,vue3 中 v-for 和v-if的优先级
- 说说你对canvas的理解
公司D
笔试+面试
- vue 首屏加载过慢如何优化
- 说说你在项目中封装的组件,以及如何封装的
- 后台管理系统权限功能菜单和按钮权限如何实现的
- vue 中的一些项目优化
- 期望薪资,离职原因,
- 其他的记不清楚了
公司E
笔试+面试+和老板谈薪资
1.笔试:八股文
2.面试:主要聊的是项目内容比如项目的一些功能点的实现,和项目的技术点
3.老板谈薪资:首先就是非技术面的常规三件套(离职原因,期望薪资,职业规划),然后就是谈薪资(最终因为薪资给的太低了没有选择考虑这家)
公司F
也是最想去的一家公司,一个偏管理的前端岗位(和面试官聊的非常投缘,而且整个一面过程也非常愉快感受到了十分被尊重)
可惜的是复试的时候因为学历原因,以及一些职业规划和加班出差等方面上没有达到公司的预期也是很遗憾的错过了
一面:
- vue 响应式数据原理
- 说说es6 promise async await 以及 promise A+规范的了解
- 谈谈es6 Map 函数
- 如何实现 list 数据结构转 tree结构
- webScoke api 介绍
- webScoke 在vue项目中如何全局挂载
- vuex 和 pinia 区别
- 谈谈你对微任务和宏任务的了解
- call apply bind 区别
- 前端本地数据存储方式有哪些
- 数组方法 reduce 的使用场景
- 说说你对 css3 display:flex 弹性盒模型 的理解
- vue template 中 {{}} 为什么能够被执行
- threejs 加载大模型有没有什么优化方案
- 离职原因,住的地方离公司有多远,期望薪资
- 你有什么想需要了解的,这个岗位平时的工作内容
二面:
1.我看写过一个Express+Mongoose服务端接口的开源项目,说说你在写后端项目时遇到过的难点
2.介绍一下你写的threejs 3d模型可视化编辑器 这个项目
3.以你的观点说一下你对three.js的了解,以及three.js在前端开发中发挥的作用
4.现在的AI工具都很流行,你有没有使用过AI工具来提高你对开发效率
5.说说你认为AI工具对你工作最有帮助的地方是哪些
6.以你的观点谈谈你对AI的看法,以及AI未来发展的趋势
7.你能接受出差时间是多久
8.你是从去年离职的到今天这这几个月时间,你是去了其他公司只是没有写在简历上吗?
9.说说你的职业规划,离职原因,你的优点和缺点,平时的学习方式
公司G
一共两轮面试,也是最终拿到正式offer入职的公司
一面:
- 主要就是聊了一下简历上写的项目
- 项目的技术难点
- 项目从0-1搭建的过程
- 项目组件封装的过程
- vue2 和 vue3 区别
- vue响应式数据原理
- 对于typescript的熟练程度
- 会react吗? 有考虑学习react吗?
- 说一下你这个three.js3d模型可视化编辑器项目的一个实现思路,为什么会想写这样一个项目
二面:
- 说说了解的es6-es10的东西有哪些
- 说说你对微任务和宏任务的了解
- 什么是原型链
- 什么是闭包,闭包产生的方式有哪些
- vue3 生命周期变化
- vue3 响应式数据原理
- ref 和 reactive 你觉得在项目中使用那个更合适
- 前端跨越方式有哪些
- 经常用的搜索工具有哪些?
- 谷歌搜索在国内能使用吗?你一般用的翻墙工具是哪种?
- 用过ChatGPT工具吗? 有付费使用过吗?
- 你是如何看待面试造航母工作拧螺丝螺丝的?
- 谈谈你对加班的看法?
- 你不能接受的加班方式是什么?
- 为什么会选择自考本科?
- 你平时的学习方式是什么?
- 一般翻墙去外网都会干什么?,外网学习对你的帮助大吗?
- 上一家公司的离职原因是什么,期望薪资是多少, 说说你的职业规划
- 手里有几个offer?
hr电话:
- 大概说了一下面试结果通过了
- 然后就是介绍了一下公司的待遇和薪资情况?
- 问了一下上一家公司的离职原因以及上一家公司的规模情况?
- 手里有几个offer?
- 多久能入职?
因为后面没有别的面试了,再加上离职到在到找工作拿到offer已经有四个月时间没有上班了,最终选择了入职这家公司
入职第三天:我想跑路了!
入职后的第一天,先是装了一下本地电脑环境然后拉了一下项目代码熟悉一下,vue3,react,uniapp 项目都有
崩溃的开始:PC端是一个saas 系统由五个前端项目构成,用的是react umi 的微前端项目来搭建的,也是第一次去接触微前端这种技术栈,要命的是这些项目没有一个是写了readme文档的,项目如何启动以及node.js版本这些只能自己去package.json 文件去查看,在经过一番折腾后终于是把这几个项目给成功跑起来了,当天晚上回家也是专门了解了一下微前端
开始上强度: 入职的第二天被安排做了一个小需求,功能很简单就是改个小功能加一下字段,但是涉及的项目很多,pc端两个项目,小程序两个项目。在改完PC端之后,开始启动小程序项目不出所料又是一堆报错,最终在别的前端同事帮助下终于把小程序项目给启动成功了。
人和代码有一个能跑就行:入职的第三天也从别的同事那里了解到了,之前sass项目组被前端大规模裁员过,原因嘛懂得都懂? 能写出这样一堆屎山代码的人,能不被裁吗?
第一次知道 vue 还可以这样写
对于一个有代码强迫症的人来说,在以后的很长一段时间里要求优化和接触完全是一堆屎山一样代码,真的是很难接受的
入职一个月:赚钱嘛不寒掺
在有了想跑路的想法过后,也开始利用上班的空余时间又去投递简历了,不过现实就是在金三银四的招聘季,boss上面依旧是安静的可怕,在退一步想可能其他公司的情况也和这边差不多,于是最终还是选择接受了现实,毕竟赚钱嘛不寒掺
入职两个月:做完一个项目迭代过后,感觉好多了
在入职的前一个月里,基本上每天都要加班,原因也很简单:
1.全是屎山的项目想要做扩展新功能是非常困难的
2.整个项目的逻辑还是很多很复杂的只能边写项目边熟悉
3.因为裁了很多前端,新人还没招到,但是业务量没有减少只能加班消化
功能上线的晚上,加班到凌晨3点
在开发完一个项目迭代过后也对项目有了一些大概的了解,之后的一些开发工作也变得简单了许多
入职三个月:工作氛围还是很重要滴
在入职三个月后,前端组团队的成员也基本上是组建完成了,一共14人,saas项目组有四个前端,虽然业务量依然很多但是好在有更多的人一起分担了,每周的加班时间也渐渐变少了
在一次偶然间了解到我平时也喜欢打篮球后,我和公司后端组,产品组的同事之间也开始变得有话题了,因为大家也喜欢打球,后来还拉了一个篮球群周末有时间大家也会约出来一起打打球
当你有存在价值后一切的人情世故和人际关系都会变得简单起来
在这个世界上大多数时候除了你的父母等直系亲属和另一半,可能会对你无条件的付出
其余任何人对你尊重和示好,可能都会存在等价的利益交换吧
尤其是在技术研发的岗位,只有当你能够完全胜任这份工作时,并且能够体现出足够的价值时才能够有足够的话语权
入职三个月后的感受
- 公司待遇:虽然是一个集团下面的子公司 (200+人)但待遇只能说一般吧,除了工资是我期望的薪资范围,其他的福利待遇都只能是很一般(私企嘛,懂得都懂)
- 工作强度: 听到过很多从大厂来的新同事抱怨说这边的工作量会很大,对我来说其实都还ok,毕竟之前在极端的高压环境下工作过
- 工作氛围:从我的角度来讲的话,还是很不错的,相处起来也很轻松简单,大家也有很多共同话题,没有之前在小公司上班那么累
大环境低迷下,随时做好被裁掉的准备
从2020年毕业工作以来,最长的一段工作经历是1年4个月,有过三家公司的经历
裁员原因也很简单:创业小公司和人力外包,要么就是小公司经营问题公司直接垮掉,或者就是人力外包公司卸磨杀驴
除非你是在国企单位上班,否则需要随时做好被裁掉的准备
什么都不怕,就怕太安逸了
这句话出自《我的团长我的团》电视剧里面龙文章故意对几十个过江的日本人围而不歼时和虞啸卿的对话,龙文章想通过这几十个日本人将禅达搅得鸡犬不宁,来唤醒还在沉睡在自己温柔乡的我们,因为就在我们放松警惕时日本人就已经将枪口和大炮对准了我们。
或许大家会很不认同这句话吧,如果你的父母给你攒下了足够的资本完全可以把我刚才的话当做放屁,毕竟没有哪一个男生毕业之前的梦想是车子和房子,从事自己喜欢的工作不好吗? 但现实却是你喜欢工作的收入很难让你在这座城市里体面的生活
于我而言前端行业的热爱更多是因为能够给我带来不错的收入所以我选择了热爱它吧,所以保持终身学习��状态也是我需要去做的吧
前端已死?
前端彻底死掉肯定是不会的,在前后端分离模式下的软件开发前端肯定是必不可少的一个岗位,只不过就业环境恶劣下的情况里肯定会淘汰掉很多人,不过35岁之后我还是否能够从事前端行业真的是一个未知数
结语
选择卷或者躺平,只是两种不同的生活态度没有对与错,偶尔躺累了起来卷一下也是可以的,偶尔卷累了躺起了休息一下也是不错的。
在这个网络上到处是人均年收入百万以及各种高质量生活的时代,保持独立思考,如何让自己不被负面情绪所影响才是最重要的吧
来源:juejin.cn/post/7391065678546157577
有财务自由的思维,才能实现财务自由!
前两天在洋哥、竹子姐以及渡心总等大佬的带领下,第一次体验了穷爸爸富爸爸的作者研发的现金流游戏,收获颇丰!
游戏规则说明
心灵创富 现金流游戏分为三步:
一局游戏,时间两个小时;总结分享时刻;以及,最最重要的结合自己的生活,复盘自己关键时间点的选择,是否是符合财务自由的决策。
首先,说一下明面上的游戏规则:每个人都选择一张身份卡,这张身份卡决定了你的工资,还有每个月的现金流。你的身份可能是小学老师、飞机驾驶员、医生等等,他们月工资和现金流(每月结余)各不一样。
老鼠圈,所有玩家没实现财务自由之前都在老鼠圈。
游戏过程中,通过投掷骰子,可以有五种操作:
- 市场风云:变幻莫测的市场,之前不值钱的突然变得值钱,之前值钱的东西也会突然变得不值钱;还有金融政策可能会随时调整,借钱利率忽高忽低等。
- 小买卖:开小店挣小钱等。
- 大机会:买卖股票、房产等能带来大额现金流的操作。
- 意外支出:生孩子、买球拍、买游艇等。
- 领工资:领取一个月的现金流,比如:月工资:3300,月支出:2100,则每月现金流:3300-2100=1200。
整个游戏的目标分为两个阶段:第一个阶段,突破老鼠圈,实现财务自由;第二个阶段,实现梦想。
怎么实现财务自由?股票、房产等带来的非工作收入超过你每个月的支出,就算破圈了,实现了财务自由,游戏进入了下一个阶段。
第一次玩游戏,没有人完成第二阶段,就不说了。
二、游戏
带领银行家:竹子
玩家:海子、木川、天雨、Feli、YY、伍六七
身份:小学老师
月工资:3300 $
月支出:2190 $
月现金流:1110 $
一开始选择身份的时候,虽然想选一个工资高的,但是也没有那么强烈,只是不想选工程师了,毕竟现实中是程序员,游戏中想换个身份活一回。所以,也就比较随意选择了工资偏低的小学教师。
整场游戏,我的运气非常不好。本来月现金流就不高,结果第二轮就生了个娃,后面又陆续抽中了额外支出,让本就没钱的我雪上加霜。
唯一称得上的是机会的就是:可以以 5000 $ 购买 10 亩荒地。但是当时没有考虑到可以向银行带款,也没有考虑到可以向其他玩家借款,最终没有购买。
没有考虑到向外部借钱的一部分原因是第一次玩这个游戏,不知道(忘记了)这个规则,另一个原因也是自己平时生活中也是这样一个人,除非迫不得已不向他人借钱。
第一次玩这个游戏,本着要恪守:10% - 20% 的钱投资高风险的产品(如股票),50% 的钱投资低风险的产品(当前最低价的股票、高收益的房产等)。
所以,我也做了两笔投资: 1000 $ 让木川代持的基金, 500 $ 让海子代持的股票。这让我在运气不好的一生中有一定的概率能破圈,虽然最后这两笔投资没有兑现,但是这两笔投资本身,我认为是没有问题的。
另外,太守规则。银行家一开始说的规则是不让给其他人提供决策建议,否则罚款。后来才知道,是可以向其他人提供付费资讯服务的,这种是不受惩罚的。
前两轮 FYY 想向我咨询决策建议,我直接就拒绝了。但是一个是给他人提供建议,可以给其他人好感,可以链接其他人。另外一个,就算有罚款,咨询的人也可以给予相应的补偿。这样就可以相互链接,相互成全。也应该思考,不破坏规则的情况下的有哪些选择。
整场游戏中,印象最深刻的一笔交易是:5000 $ 购买 10 亩荒地
我最终是没有购买,当时第一是看手里的现金,不满足购买要求。
第二是觉得这是一个可以搏一搏的机会,但是手里的现金不满足给自己制定的 10% -20% 投资高风险产品的 rule。
所以,问了在场的玩家,是否有需要这个机会的?拍卖 1000 $。最终,只有海子出价 500 $。当时,我认为这个机会价值还是挺大的,海子本质上是一个愿意花钱投资的人,所以拒绝了。
之后思考,海子是一个愿意投资机会的人,但是他当时手里有几笔房子的带款,而且现金也不充足,所以没有购买这个机会。我只考虑了海子的性格,没有考虑他当时手里的资金,所以,错失了这笔交易。
游戏和自己现实生活中的关系
什么才算财务自由?现实中很多人说有多少多少百万,有说 500 W的,有说 1000 W的。但是这个游戏告诉我们:只要你的非工作收入超过了你的支出,你就实现了财务自由。跟你手里有多少现金是没有关系的。
唯一的目标就是,增加你的非工作收入,减少你的支出,让你的非工作收入超过你的支出。
这个游戏带给我的收获和启发
人这一生,有的人运气好,能碰到很多次大机会。有的人运气不好,可能一生也没什么机会。
不管如何,你需要在一开始就制定好你做决策的依据。这个依据就是你手里的现金流以及你能承受的风险。
你不应该拿手里的大部分现金去投资一个低收益率高风险的产品,但是也不应该守着一大笔资金不做任何投资。
这个决策依据能够让你在没机会的时候,不至于很快破产。也能让你在有机会的时候,能够快速收获第一桶金,实现财务自由。
对我现实的改变
- 正在整理自己的权益表和资产负债表,慢慢减少不必要的支出。
- 正在实践做自己的个人 IP,增加自己的非工作收入。
- 游戏中的小买卖、大机会,在现实中去寻找这样的信息。游戏中,大家都知道且能知道是小买卖还是大机会,但是现实中,你可能不知道什么是小买卖,什么是大机会。
- 在心里植入增加非工作收入,减少支出,实现财务自由这样的理念。
应该去践行的
- 与现实决策点结合
- 早日争取第一桶金
- 结果导向
- 自己反思,反思自己的不足
- 持续来,每次来会有不同的体验,牌面不同,选择不同
- 应该多做利他的事情,资源链接
- 玩家之间可以互相赋能
- 有资源的时候可以投资机会,购买机会
- 整理自己的资产负债表
- 多分享,清晰自己的认识
- 重复玩,玩到财务自由
- 映射现实中,改善自己的财务状态
- 运气不好,心态也要好,积极链接他人,才能保住底线的情况下,去创造更大的成功机会
来源:juejin.cn/post/7293477092259201059
回县城躺平,感觉我的人生过得好失败
从春节前到现在,一个半月没更新了,做啥都提不起劲来。
越来越感觉我的人生过的好失败。
去年我爸因为癌症去世了,家里的门头房用不到了,就想卖掉,找好了买家,价格谈了 140 万。
当时想买我们这个房子的人很多,那个买家怕我们卖给别人,就拿了 20 万定金,和我们签了一个买房合同。
没想到因为这个房子因为在我爸名下,涉及到继承,需要我奶奶放弃继承才可以过户。
我奶奶现在生活不能自理,由我大娘二大娘养着,然后他们提出条件来,要我们的宅基地,也就是村里的老房子。
我妈开始不同意,因为她想之后从那里出殡,和我爸合葬。
后来也同意了,在哪不能殡出去呢?
然后我这边准备好了材料之后,我堂姐跳了出来,一拍桌说,不行,老房子我们也要,另外你还要给我们 25 万。
她们说咨询了律师要是打官司的话,我们青岛的房子也要分,那个门头房也要分,另外我爸的银行流水也要查,起码得分她们 40 万。
我给讲价到了 20 万,但是我妈不同意,说是她和我爸辛苦攒下的家业凭什么白给他们。
我妈这边也找了律师,给出的意见就是拖着就行,一辈子不卖了。
这时候买房子的不干了,说是合同上写了,如果违约,要双倍返回定金,也就是赔她们 20 万。
当时我们以为就是个收到条就签了,没想到在这等着呢。
其实我们早就把定金返给她了,也说了我们家的情况,但她就是不行。
年前就一直威胁我们要告,刚过完年,马上又来了:
我妈问了下和谈的话怎么谈,她说起诉你赔我 25 万,和谈赔我 18 万。
两头挤我们,家里就要我们老房子 + 21 万,卖房子的就要我们 20 万违约金。
我们夹在中间,几度濒临崩溃。
我想了下,这件事早晚得解决,反正都是一家人,给家里人点钱也没啥。
然后我前几天去找我大爷二大爷,还有堂姐、堂哥坐在一起谈了,我说我同意这 21 万。
最终转了她们 18 万(老房子折合了 2 万块),然后又拿了 1 万律师费(他们请的律师让我拿律师费),还有同意给他们老房子。
但我提的要求是和我妈只能说是 10 万 + 老房子,不然我妈不会同意的。
就这样,我们顺利公证过了户。
公证放弃继承那天,我奶奶才刚知道这个事,她说她只要老房子,不要我爸的其他遗产。
但没办法,她不要不行,我大爷二大爷要啊。
这个房子卖了,到手 120 万。
然后还有青岛的房子,这个房子我买的时候是 70万首付 + 100 万带款,一共是 200 万下来的,最近我妈又花了 7 万装修。
因为不去青岛住,也打算卖了,中介说价格不到 80 万还是可以卖掉的。
这么一算,这边亏了 120 万,那边房子卖了剩下 120,相当于我爸就给我留下了 70 多万还不好卖的房子。
其实我爸这辈子攒了不少钱,差不多 300 万,都是省出来的,从小我跟着他就是一天吃一顿那种,从没感觉到家里是有钱的。
再就是他对我妈也不好,前几年的时候经常打骂,后来我妈离家出走了,但是他生病了还是会来照顾他。
我爸癌症住院那段时间,生活不能自理,都是我妈没日没夜的照顾他。
临走之前,我爸一只手抓着我的手,一只手抓着我妈的手,然后让我们好好相处,他一直觉得对不起我妈,口里一直喊着“从头再来、从头再来”。
我送我爸去火葬场的时候,送我骨灰盒爸入土的时候,我也一直在说,“爸,你别怕,我们从头再来”。
其实我爸葬礼上,我没有咋哭出来,可能当时没大反应过来。
但是之后好长一段时间,我在村里别人家坐着聊天,一谈起我爸,就再也忍不住了,哭的稀里哗啦的。
我有个干兄弟,在村里拜了干爹,因为疫情好多年也没走动了,但是我爸的棺材是他帮忙抬出去的。
而我大爷二大爷就在一边看着。
我今年过年给他家送了礼,我说,我妈说我爸是你们抬出去的,让我一辈子记得你们的好。
当时说到这里,没忍住,又哭的稀里哗啦的。
我想我爸这辈子,是攒了不少钱,但是不舍得吃不舍得喝的,还在房子上亏了半辈子的积蓄。
对老婆孩子不好,临走前才后悔想着从头再来。
我想我前五年是赚了不少钱,但因为工作,好多年没回家,和家人一年待在一起也就几天。
而且最后都赔在青岛的房子上了。
人这一辈子,到底图啥呢?
年后这几周我找了找工作,有几个不错的 offer,都是 base 40+ 那种。
但我又不那么想出去了。
我这一年没工作,其实和我妈在一块生活还是很踏实的。
而且家里房子卖了,青岛的房子也快了,这样我的存款差不多能到 300w。存定期的话每年银行利息 8w 左右,够我生活了。
就这样在家躺平一辈子是不是也不错。
王小波说,那一天我二十一岁,在我一生的黄金时代,我有好多奢望。我想爱,想吃,还想在一瞬间变成天上半明半暗的云,后来我才知道,生活就是个缓慢受锤的过程,人一天天老下去,奢望也一天天消逝,最后变得像挨了锤的牛一样。可是我过二十一岁生日时没有预见到这一点。我觉得自己会永远生猛下去,什么也锤不了我。
韩寒说,平凡才是唯一的答案。
小的时候,我希望长大后的自己会光芒万丈。
长大以后,我希望自己有个好的工作打工到退休。
现在的我只想躺平。
我觉得我自己的人生很失败:
打工这些年,钱都赔在房子上了。
我比较社恐,永远达不到我妈对我的会来事、会察言观色的期望。
人家都在大城市结婚生子、买房定居了,而我又回到了小县城。
当年和我同时入职高德的朋友都升 p7 了,我现在啥也不是:
我是 94 年的,今年就 30 了,人生的各种机会和可能性越来越少。
后半辈子,我应该就是在小县城躺平,度过余生了。
但文章我还是想继续写,毕竟人这一生总要坚持点什么。
来源:juejin.cn/post/7343503718183059471
苦撑多年,老爷子70多!这个软件快要没人维护了
0x01、
在粒子物理学的发展过程中,有这样一个计算软件,它一度被视为粒子物理学研究的基础工具之一。
它就是:FORM。
众所周知,高能物理学领域中涉及很多超长且复杂的方程和公式,这时候就需要有一个能满足特定需求的计算软件(或者程序)来完成对应的工作。
而FORM则是一个可以进行大规模符号运算的计算程序,可以计算伽马矩阵、并行计算、包括模式匹配等。
多年来FORM一直扮演着粒子物理学领域关键工具的角色,并支撑着领域的研究和发展,行业内甚至有很多软件包都依赖于它。
但是就是这样一个领域必备的软件工具,其维护人现在都已经70多岁了,而如今却快要落得没人维护的田地了。。
0x02、
FORM自1984年就开始开发,距今已经有好几十年的历史了。
FORM的开发者是来自于荷兰的粒子物理学家乔斯·维马塞伦(Jos Vermaseren),也是现在该程序的维护者,现如今也已经70多岁高龄了。
而作为一个源自上世纪80年代的程序,彼时计算机方开始普及,软件工具也才逐渐开始兴起。
FORM的前身是由荷兰物理学家马蒂努斯·维尔特曼(Martinus Veltman)所创建的一个名为Schoonschip的程序,但是受限于当时的存储和外设条件等一系列原因,使用起来并不方便。
于是Jos Vermaseren开始着手研究该如何做出一个更易于获取和使用的工具程序。
起初Jos Vermaseren使用的是FORTRAN语言来写的这个程序,但是后来在FORM 1.0版本正式发布以前,Jos Vermaseren又重新使用C语言把该工具给重写了一遍。
就这样,从最早的Apollo工作站到后来的奔腾PC,这个程序慢慢开始被推广使用并流行起来。
经过多年的发展,目前FORM支持的版本如下:
- FORM:顺序版,可以在单个处理器上运行;
- ParFORM:多处理器版本,它可以使用集群和系统,处理器有自己的内存;
- TFORM:支持处理器共享内存系统的多线程版本,主要用于处理器数量有限的系统。
0x03、
聊回到FORM项目70多岁的维护人Jos Vermaseren老爷子,说实话还是非常佩服的。
进入Jos Vermaseren的GitHub主页(github.com/vermaseren)…
并在同期创建了他个人的首个GitHub仓库,也就是form。
截止到目前,这也是Jos Vermaseren在GitHub上的唯一一个维护的项目仓库。
不过比较遗憾的是,这个开源项目不管是访问量还是star、fork数,都十分惨淡。
0x04、
既然这个软件如此重要且无法完全被替代,那为什么现如今想找一些后继的维护人都不那么容易呢?
关于这个问题,Jos Vermaseren本人也曾说过:
“这么多年我一直都有看到,在计算工具上花费大量时间的科学家却无法得到一个物理学领域的终身职位。”
Jos Vermaseren表示自己还算是幸运的,拥有一个在荷兰国家亚原子物理研究所的终身职位,并且还有一个欣赏这个项目的老板,然而很多相关的研究者却不一定都能这样了。
所以这么看来,这也算是被一些现实的问题,所困扰到了。
投入大量精力却得不到对应的回报,而且还要求维护人员有跨学科的知识技能,不少相关领域的研究者也望而却步了。
而且在物理学术界,大家对于物理学本领域的成果产出和论文发表普遍比较看重,而程序开发的努力和关注度则往往被低估了。
可能这也某一程度上导致了像FORM这种软件工具想要找到持续的维护者都变得不那么容易了。
所以说到底,这也算是一个“坐冷板凳”的现实问题了。
文章的最后也附上和FORM相关的开源项目地址,分享给大家。
- FORM主页:http://www.nikhef.nl/~form
- GitHub主页:github.com/vermaseren/…
感兴趣的同学可以上去看一看,除此之外,大家有兴趣也可以研究一下对应的项目代码。
注:本文在GitHub开源仓库「编程之路」 github.com/rd2coding/R… 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。
来源:juejin.cn/post/7394788843207376947
2024年中总结-月亮你不懂六便士到底有多重
时光磨灭了许多东西,如今掘金也不再搞年中总结活动了。
别说年中活动了,整体互联网已经“毕业”了一大批员工,互联网缩水,程序员是最大的边际递减成本,但这里也不想再继续说关于焦虑的了。
自己还是照常写写总结吧。
24年已经过去了一半,不止,7.22是大暑,转眼下一个节气就又得是【立秋】了。
想到哪就写到哪吧,有时候很痴迷于这种随机性。
因为随机性,上半年先是出版了训练时长2年半的书《程序员成长手记》,没别的,只是有人找写书,按照流程坚持完成下来了。
因为随机性,后来4月的时候,又出了一本小册《AI BOTS 通关指南》,没别的,产品需要运营,运营需要声音,但大家早就知道了,AI Agent、或者说智能体,都在谈应用、何谈应用?估摸 GPT5 出来之前,所谓的这些 AIGC 都只玩具,无法深度参与生产。赚钱的都是教人赚钱的。
因为随机性,断断续续的更文,一方面工作、草、卷起来了,一方面生活耗时占比提升,一方面自己也没动力、懈怠了。
其实,无所谓生活吧,即使每天下午6点离开工位下班,到家也约近于7点,说是早上8.30上班,7点就要开始起床、做准备,有时候还要回想、梳理、做思想建设等等。一天12个小时围绕工作这件事(摸鱼时间也减少)、8小时围绕睡觉这件事,何谈生活呢?
但是生活确实又在持续发生,比如:2024上半年最大的变化,自己身份再转变,马上要为人父了。。
初为人父、这是一个过程。
从备孕、到验孕、到验血、到查胎心胎芽、到B超-查到积液、到多轮产检、到NT、到无创、到二维等等等等,每一个点都会分散出许多新的点,需要不断打破、建设认识。
然后,似乎又回到感觉有些焦虑了?在《何以为父》这本书上看到、这种心态或许是正常的。好的吧,总之无法作甩手掌柜、也不能。
想想,上半年,还有什么?
项目的工作更加熟练了,对其本质(解决方案、商务、PPT等)似乎有了更清晰的认识。期间也发生过一些插曲,也拿不准后面事态会去向何方,总之,好像也不是自己能定的,反复看《大明1566》桥段,“打工、晋升”是不是应该蛰伏?或者是不是自己这辈子连“田县丞”都见不到,那还想那么多干嘛?
还有什么?年初定的目标完成的并不好。
还有什么?离家多年、人在广东已经漂泊十年。理想=离乡?平民就必须拼命。
想起,最开始最开始写年中总结,引用《老人与海》,竟然现在更适用吧。
还有什么?
没有了,马上10.30了,洗洗睡了。
来源:juejin.cn/post/7394279685969199139
这一年我优化了一个46万行的超级系统
背景
我曾带领团队治理了一个超级工程,是我毕业以来治理的最庞大、最复杂的工程系统,涉及到开发的方方面面。下面我给大家列几个数字,大家感受一下:
指标 数据 菜单数量 250+ 代码行数 46 万 路由数量 300+ 业务组件、util 600+ 构建时间 6min 关联业务 报表、CRM、订单、车辆、配置、财务...

这是上一任留给我的烫手山芋,而且从需求迭代频次来看,这个系统占据了这个业务部门50%的需求,也就是说,之前的伙计把几乎所有的业务功能都做进了一个系统中,像屎山一般堆积,构建一次的时间长达6-9min,作为一个合格的前端,简直怒火冲天。
我曾带领团队治理了一个超级工程,是我毕业以来治理的最庞大、最复杂的工程系统,涉及到开发的方方面面。下面我给大家列几个数字,大家感受一下:
指标 | 数据 |
---|---|
菜单数量 | 250+ |
代码行数 | 46 万 |
路由数量 | 300+ |
业务组件、util | 600+ |
构建时间 | 6min |
关联业务 | 报表、CRM、订单、车辆、配置、财务... |
这是上一任留给我的烫手山芋,而且从需求迭代频次来看,这个系统占据了这个业务部门50%的需求,也就是说,之前的伙计把几乎所有的业务功能都做进了一个系统中,像屎山一般堆积,构建一次的时间长达6-9min,作为一个合格的前端,简直怒火冲天。
问题
面对这样的超级应用,想要解决,必须先把问题整理出来,才好对症下药。
- 构建时间过长,影响开发体验。
- 系统单一,代码量庞大,未做拆分,对于后期维护难度很大,且存在增量上线风险(改一个字,也要整个系统打包上线)。
- 代码业务组件太少,复用率低,需要整理业务代码,封装高效业务组件库。
- 工具函数、请求Axios、目录规范、菜单权限、公共能力等未做统一封装和梳理。
- 存在大量重复的代码、大量重复的组件(有很多都是拷贝了一份,改个名字)。
- 页面加载极其缓慢,无论是首屏还是菜单加载,很明显存在严重的性能问题。
- 工程中随意引入各种插件,比如:big.js、xlsx.js、echarts、velocity-animate、lodash、file-saver等。
- 代码中存在很多mixin写法,导致调试难度很大。
以上是针对46万行的应用做出的问题分析报告,找出这些问题以后,我们就能开启优化之路。
面对这样的超级应用,想要解决,必须先把问题整理出来,才好对症下药。
- 构建时间过长,影响开发体验。
- 系统单一,代码量庞大,未做拆分,对于后期维护难度很大,且存在增量上线风险(改一个字,也要整个系统打包上线)。
- 代码业务组件太少,复用率低,需要整理业务代码,封装高效业务组件库。
- 工具函数、请求Axios、目录规范、菜单权限、公共能力等未做统一封装和梳理。
- 存在大量重复的代码、大量重复的组件(有很多都是拷贝了一份,改个名字)。
- 页面加载极其缓慢,无论是首屏还是菜单加载,很明显存在严重的性能问题。
- 工程中随意引入各种插件,比如:big.js、xlsx.js、echarts、velocity-animate、lodash、file-saver等。
- 代码中存在很多mixin写法,导致调试难度很大。
以上是针对46万行的应用做出的问题分析报告,找出这些问题以后,我们就能开启优化之路。
目标

我觉得不管哪一行,进入这个社会最重要的能力是生存能力,面对生存最重要的技能是解决问题的能力。想要把问题解决好,就要有章法可循,比如:找到问题要害、制定目标、提供解决方案、复盘总结。
我觉得不管哪一行,进入这个社会最重要的能力是生存能力,面对生存最重要的技能是解决问题的能力。想要把问题解决好,就要有章法可循,比如:找到问题要害、制定目标、提供解决方案、复盘总结。
方案
- 250+菜单归类整理、废弃菜单下线
- 搭建业务组件库
- 搭建工具函数库
- 基础框架优化
- 基于microApp做微服务拆分、引入webpack5的module-federation机制
- 引入rocket-render插件,对局部页面、基础功能做重构,后续逐步替换。
- 性能优化
- 250+菜单归类整理、废弃菜单下线
- 搭建业务组件库
- 搭建工具函数库
- 基础框架优化
- 基于microApp做微服务拆分、引入webpack5的module-federation机制
- 引入rocket-render插件,对局部页面、基础功能做重构,后续逐步替换。
- 性能优化
菜单整理
300 多个菜单,业务和产研人员可能已经更换过好几次,通过跟产品的沟通,可以得知,受业务调整影响,很多功能已经废弃,系统未及时下线导致日积月累。然而由于对业务不熟,产研很难判断哪些菜单需要下线,我们也不能随意凭感觉下线某一个菜单或功能,必须采取谨慎的态度,有法可依,因此我们采用如下措施:

菜单汇总
产品牵头,汇总系统所有菜单,按环境进行逐个确认。前端会根据确认结果依次删除路由配置、菜单、关联组件、调用 API 等相关代码。
- 同业务方确认后,直接下线。
- 线上访问异常菜单,进行标注。
- 数据异常菜单,进行标注。
- 对于无法确认的,通过监控查看页面访问量,通过1-3个月的观察,最终决定是否下线。
通过1个月的菜单整理,下线了大概50+的菜单、删除了近100+页面,以及不计其数的业务组件代码,整体代码量减少近8万,同时,我们将250多个菜单进行归类,拆分了6个大类,供后续微服务做准备。
300 多个菜单,业务和产研人员可能已经更换过好几次,通过跟产品的沟通,可以得知,受业务调整影响,很多功能已经废弃,系统未及时下线导致日积月累。然而由于对业务不熟,产研很难判断哪些菜单需要下线,我们也不能随意凭感觉下线某一个菜单或功能,必须采取谨慎的态度,有法可依,因此我们采用如下措施:
菜单汇总
产品牵头,汇总系统所有菜单,按环境进行逐个确认。前端会根据确认结果依次删除路由配置、菜单、关联组件、调用 API 等相关代码。
- 同业务方确认后,直接下线。
- 线上访问异常菜单,进行标注。
- 数据异常菜单,进行标注。
- 对于无法确认的,通过监控查看页面访问量,通过1-3个月的观察,最终决定是否下线。
通过1个月的菜单整理,下线了大概50+的菜单、删除了近100+页面,以及不计其数的业务组件代码,整体代码量减少近8万,同时,我们将250多个菜单进行归类,拆分了6个大类,供后续微服务做准备。
框架优化
一个稳定的系统,必然有一个稳定的框架做支撑。我们在梳理的过程中发现系统极其脆弱,无 ESLint 语法检查规范、没有 Prettier 格式化、Hard Code、随处可见的自定义组件、到处报错的控制台...
- 引入
ESLint
做语法检查. - 引入
Pettier
做代码格式化。 - 引入
Husky
lint-staged
规范代码提交。 - 对于硬编码部分跟产品沟通做成可视化配置或者json配置形式。
- Axios的二次封装:常规请求、全局Loading、文件下载、登录失效拦截、报错拦截提示、状态码统一适配。
- 插件删减:
big.js
剔除改为手动计算、lodash
替换为 lodash-es
、删除动画插件、文件导出统一由后端返回二进制,前端通过Axios封装下载函数进行文件下载等等。 - 配置文件封装:多环境配置、常量定义。
- 菜单权限封装。
- 按钮权限指令封装:
v-has="'create'"
- router路由提取优化,针对路由守卫处理一些特殊跳转问题。
- 接入前端监控平台,对于资源请求失败、接口请求超时、接口请求异常等做异常监控。
- 对于
eslint
和prettier
大家自行参考其他文章,此处不再赘述。 - 对于Axios二次封装,大家可能会比较奇怪,为什么要封装文件下载?因为文件导出本身也是一个请求,只是跟常规get/post有差异,所以我们为了方便调用,把它放在一个文件里面定义,比如:
export default {
get(url, params = {}, options = { showLoading: true, showError: true }) {
return instance.get(url, { params, ...options })
},
post(url, params = {}, options = { showLoading: true, showError: true }) {
return instance.post(url, params, options)
},
download(url, data, fileName = 'fileName.xlsx') {
instance({
url,
data,
method: 'post',
responseType: 'blob'
}).then(response => {
const blob = new Blob([response.data], {
type: response.data.type
})
const name = (response.headers['file-name'] as string) || fileName
const link = document.createElement('a')
link.download = decodeURIComponent(name)
link.href = URL.createObjectURL(blob)
document.body.append(link)
link.click()
document.body.removeChild(link)
window.URL.revokeObjectURL(link.href)
})
}
}
我们在api.js
中调用的时候,就会变的很简单,如:api.get('/user/list')
、api.download('/export',{ id: 123 })
。当然可能每个人有自己的开发习惯,这些都是我个人的经验,也不一定适合大家。对于上面的参数有一个options
变量,用来做参数扩展的,比如展示loading
和error
,为了做全局Loading
和全局错误提示用的。
- 如果你担心页面并发请求,导致重复
loading
问题,可以通过计数的方式来控制,避免多次重复Loading
。 - 插件删除部分大家可能有争议,这个纯属于个人行为,因为我们不是金融行业,不需要高精度,如果出现计算我们直接四舍五入即可,而
lodash-es
主要为了做tree-shaking
,还有很多插件根据自身情况考虑要不要引入。 - 指令封装,对于按钮权限非常管用,举个例子:
一个稳定的系统,必然有一个稳定的框架做支撑。我们在梳理的过程中发现系统极其脆弱,无 ESLint 语法检查规范、没有 Prettier 格式化、Hard Code、随处可见的自定义组件、到处报错的控制台...
- 引入
ESLint
做语法检查. - 引入
Pettier
做代码格式化。 - 引入
Husky
lint-staged
规范代码提交。 - 对于硬编码部分跟产品沟通做成可视化配置或者json配置形式。
- Axios的二次封装:常规请求、全局Loading、文件下载、登录失效拦截、报错拦截提示、状态码统一适配。
- 插件删减:
big.js
剔除改为手动计算、lodash
替换为lodash-es
、删除动画插件、文件导出统一由后端返回二进制,前端通过Axios封装下载函数进行文件下载等等。 - 配置文件封装:多环境配置、常量定义。
- 菜单权限封装。
- 按钮权限指令封装:
v-has="'create'"
- router路由提取优化,针对路由守卫处理一些特殊跳转问题。
- 接入前端监控平台,对于资源请求失败、接口请求超时、接口请求异常等做异常监控。
- 对于
eslint
和prettier
大家自行参考其他文章,此处不再赘述。 - 对于Axios二次封装,大家可能会比较奇怪,为什么要封装文件下载?因为文件导出本身也是一个请求,只是跟常规get/post有差异,所以我们为了方便调用,把它放在一个文件里面定义,比如:
export default {
get(url, params = {}, options = { showLoading: true, showError: true }) {
return instance.get(url, { params, ...options })
},
post(url, params = {}, options = { showLoading: true, showError: true }) {
return instance.post(url, params, options)
},
download(url, data, fileName = 'fileName.xlsx') {
instance({
url,
data,
method: 'post',
responseType: 'blob'
}).then(response => {
const blob = new Blob([response.data], {
type: response.data.type
})
const name = (response.headers['file-name'] as string) || fileName
const link = document.createElement('a')
link.download = decodeURIComponent(name)
link.href = URL.createObjectURL(blob)
document.body.append(link)
link.click()
document.body.removeChild(link)
window.URL.revokeObjectURL(link.href)
})
}
}
我们在api.js
中调用的时候,就会变的很简单,如:api.get('/user/list')
、api.download('/export',{ id: 123 })
。当然可能每个人有自己的开发习惯,这些都是我个人的经验,也不一定适合大家。对于上面的参数有一个options
变量,用来做参数扩展的,比如展示loading
和error
,为了做全局Loading
和全局错误提示用的。
- 如果你担心页面并发请求,导致重复
loading
问题,可以通过计数的方式来控制,避免多次重复Loading
。 - 插件删除部分大家可能有争议,这个纯属于个人行为,因为我们不是金融行业,不需要高精度,如果出现计算我们直接四舍五入即可,而
lodash-es
主要为了做tree-shaking
,还有很多插件根据自身情况考虑要不要引入。 - 指令封装,对于按钮权限非常管用,举个例子:
封装指令
import { getPageButtons } from '@hll/css-oms-utils'
// 权限指令
Vue.directive('has', {
inserted: (el, binding) => {
let pageButtons = getPageButtons().map;
if (!pageButtons[binding.value]) {
el.parentNode && el.parentNode.removeChild(el)
}
}
})
权限判断
// 1. 通过v-if判断
<el-button type="primary" v-if="pageButtons.create">创建el-button>
// 2. 通过v-has指令判断
<el-button type="primary" v-has="'create'">创建el-button>
getPageButtons 其实是为了兼容历史代码而封装的函数。
整个系统权限极其混乱,代码替换,耗时近 2 周,覆盖近 500 个文件才完成。
- 状态码适配
这个我觉得有必要提一下,我相信很多前端可能都遇到这个问题,一个系统对应n个后台服务,不同的后台服务有不同的格式,比如:A系统返回code=0
,B系统返回result=0
,C系统返回res=0
,那前端就要做不同的适配,其实也有不同的方法可以做:
- 让后端接入网关,统一在网关做适配。
- 前端在拦截器中开发
adapter
函数,针对响应码做适配。 - 针对分页、返回码、错误信息等都可以在适配函数里面做几种适配,或者提供单一函数在不同的页面单独调用,类似于
request
的to
模块。
业务组件库建设
这一部分工作非常重要,不管你在哪个公司,做任何行业,我都建议封装业务组件库,当然封装有三种形式:
- 基于公司自建的
npm
平台开发业务组件库,通过npm
方式引入。 - 对于小体量项目,直接把业务组件库放在
components
中进行维护,但是无法跨项目使用。 - 基于
webpack5
的module federation
能力开发公共组件,跨项目提供服务。
MF文档参考:http://www.webpackjs.com/concepts/mo… 我觉得在某些场景下,这个能力非常好用,它不需要像npm
一样,发布以后还需要给项目做升级,只要你改了组件源码,发布以后,其他引用的项目就会立即生效。想要快速了解这个能力,我建议大家先看一下插件文档,然后了解两个概念exposes
和remotes
,如果还是看不懂,就去找个掘进入门文章再结合本地实践一次基本就算入门了。
我是基于上面三种方式来搭建系统的业务组件库,对于通用部分全部提取封装,基于rollup
和vite
搭建一套npm
包,最终发布到公司私有npm
平台。对于一些频繁改动,链路较长部分通过module federation
进行封装和暴露。
梳理业务后,其实封装了很多业务组件,上面只是给大家提供了思路,没有一一列举具体组件,下面给大家简单列一个大纲图:
业务组件库建设对于这种大体量的超级系统收益非常大,而且是长期可持续的。
微服务搭建
前面第一部分梳理完菜单以后,其实已经将250+的菜单进行了归类,归类的目的其实就是为了服务拆分。拆分的好处非常明显:
- 服务解耦,便于维护。
- 局部需求可单独上线,不需要整包上传,减小线上风险。
- 缩小每个服务模块的构建时间,提升开发体验。
本次基于pnpm + microApp + module federation
来实现的微服务拆分,为什么?
- 微服务拆分以后,创建了 7 个仓库,非常不利于代码维护。
pnpm
天然具备monorepo
能力,可以把多个仓库合并为一个仓库,而且可以继续按7个项目的开发构建方式去工作。 - 微服务使用的是京东的
microApp
框架,集成非常简单,上手成本很低,文档友好,我觉得比阿里的乾坤简单太多了(个人主观看法)。 - 对于难于抽取的组件,直接通过
module federation
对外暴露组件服务。
上面在搭建业务组件库的时候,其实遇到了一个非常棘手的问题,有些组件跨了很多项目,链路很长,在抽取的过程中难度非常大,大家看一个图:
服务之间耦合太严重,从而导致组件抽取难度很大,那如何解决? 答案就是module federation
,抽取不了,就不抽取了,直接通过exposes
对外暴露组件服务,在其它子服务中调用即可。
下面给大家举一个接入microApp
的例子:
基座服务(主应用)
import microApp from '@micro-zoe/micro-app';
microApp.start()
添加组件容器(主应用)
<template>
<micro-app name="vms" :url="url" baseroute="/" @datachange='handleDataChange'>micro-app>
template>
<script>
export default {
name: 'ChildApp',
data() {
return {
activeMenu: '',
url: 'http://xxxx',
};
},
methods:{
handleDataChange({ detail: { data } }) {
// todo
},
}
};
script>
分配菜单(主应用)
{
path: '/child',
name: 'child',
component: () => import('./../layout/microLayout.vue'),
meta: {
appName: 'vms',
title: '子服务A'
}
}
就这样,一个主服务就搭建好了,等子服务上线以后,点击/child
菜单,就能打开对应的子服务了。 当然因为我们是一个超级应用,所以我们在做的过程中其实遇到了很多问题,比如:跨域问题、变量问题、包共享问题、本地开发调试问题、远程加载问题等等,不过大家可以参考官方文档,都是可以解决的。
Rocket-render接入
这是我个人开源的一套基于Vue2
的渲染引擎,通过json
定义就可以快速搭建各种简单或复杂的表单、表格场景,跟formly
这一类非常相似。
- 插件文档:rocket-render
- 开发文档:rocket-doc
给大家举一个简单的例子:
- 安装插件
yarn add rocket-render -S
- 组件注册
// 导入包
import RocketRender from 'rocket-render';
// 导入样式
import 'rocket-render/lib/rocket-render.css';
// 默认安装
Vue.use(RocketRender);
// 或者使用自定义属性,以下的值都是系统默认值,如果你的业务不同,可以配置下面的全局变量进行修改。
Vue.use(RocketRender, {
size: 'small',
empty: '-',
inline: 'flex',
toolbar: true,
align: 'center',
stripe: true,
border: true,
pager: true,
pageSize: 20,
emptyText: '暂无数据',
});
插件支持自定义属性,建议默认即可,我们已经给大家调好,如果确实想改,就通过自定义属性的方式进行修改。
- 页面应用
search-form 自带背景色和内填充,如果你有特殊需要,可以添加 class 进行覆盖,另外建议给 model 添加 sync 修饰符。
<template>
<search-form
:json="form"
:model.sync="queryForm"
@handleQuery="getTableList"
/>
template>
<script>
export default {
data() {
return {
queryForm: {},
form: [
{
type: 'text',
model: 'user_name',
label: '用户',
placeholder: '请输入用户名称',
},
],
};
},
};
script>
我们针对需要自定义部分提供了slot插槽,所以不用担心用了以后,对于复杂需求支持不了,导致返工的现象,完全不存在,除了json
以外,我们还内置了非常多的开发技巧,保证你爱不释手,继续看几个例子:
- 日期范围组件,通过
export
直接暴露两个字段。
{
type: 'daterange',
model: 'login_time',
label: '日期范围',
// 对于日期范围控件来说,一般接口需要拆分为两个字段,通过export可以很方便的实现字段拆分
export: ['startTime', 'endTime'],
// 日期转换为时间戳单位
valueFormat: 'timestamp', // 支持:yyyy-MM-dd HH:mm:ss
defaultTime: ['00:00:00', '23:59:59'], //可以设置默认时间,有时候非常有用。后端查询的时候,必须从0点开始才能查到数据。
}
前端是一个组件对应一个字段,但是接口往往需要让你传开始和结束日期,通过export可以直接拆分,太好用了。
- 下拉组件支持一步请求
{
type: 'select',
model: 'userStatus',
label: '用户状态',
multiple: true, // 支持多选
filterable: true, //支持输入过滤
clearable: true,
// 如果下拉框的值是动态的,可以使用fetchOptions获取,必须返回promise
fetchOptions: async () => {
return [
{ name: '全部', id: 0 },
{ name: '已注销', id: 1 },
{ name: '老用户', id: 2 },
{ name: '新用户', id: 3 },
];
},
// 字段映射,用来处理接口返回字段,避免前端去循环处理一次。
field: {
label: 'name',
value: 'id',
},
options: [],
// 如果想要修改其它表单值,可以通过change事件来处理
change: this.getSelectList,
}
通过fetchOptions可以直接在里面调用接口来返回下拉的值。如果是静态的,直接定义options即可。 如果接口返回的类别字段不是label和value结构,可以通过field来做映射。我觉得用的太爽了。
还有很多,我就不举例子了,大家去看文档就好了,文档写的非常清楚。
性能优化
前面几部分做完以后,我们的代码总量基本已经降到了 30 万行左右了,而且整个构建时长从9min降到了 30s ,有了业务组件库的加持,简直不要太爽,不过你看到的这些,看起来容易,其实我们花费了近1年的时间才完成。 剩下就是提升系统性能了:
- 资源全部上
cdn
,不仅上cdn
,还要再阿里云针对图片开启webp
(需要做兼容处理),cdn
记得添加Cache-Control
缓存。 - 服务器全部支持
gzip
压缩。 - 添加
external
配置,我在npm
开发了一个vite-plugin-external-new
插件,可以帮你解决。
- 这个大家一定要做,因为可以有效降低vender体积,你通过LightHouse做性能分析,就能知道原因,对于体积较大的js会给你提示的。
- 通过
external
,我们可以直接让vue
、vue-router
、vuex
、element-ui
等等全部通过defer
加载。
- 建议在根html
中加一个
Loading
标签
<div id="app">
<div class="loading">加载中...div>
div>
这样做的好处是,如果vue.js
还没有加载完成之前,可以让页面先loading
,等new Vue({ el: '#app' })
执行以后,才会覆盖#app
里面的 内容,这样可以提升FCP
指标。 5. 对于比较大的插件,建议按需
export const loadScript = (src: string) => {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.type = 'text/javascript';
script.defer = true;
script.onload = resolve;
script.onerror = reject;
script.src = src;
document.head.append(script);
});
};
某一个页面如果使用较大的插件,比如:xlsx、html2Canvas等,可以单独在某一个页面内做按需加载。
- 有些页面也可以针对
vue
组件或者大图片做按需加载。 - 其它性能优化,我觉得可做可不做,针对LightHouse分析报告针对性下手即可,可能很多文章将性能优化会非常细致,比如chunk分包等等,我倒觉得不是很重要。 只要把上面的做完,理论上前端的性能已经会有巨大的提升了。
结果指标
指标 | 优化前 | 优化后 |
---|---|---|
构建时长 | 6-9min | 30-45s |
代码行数 | 46万 | 30 万 |
服务 | 1个 | 7个 |
业务组件库 | 乱七八糟 | 基于rollup开发构建 |
基础框架 | 乱七八糟 | 高逼格 |
性能评分 | 30分 | 92分 |
团队成员 | 9个 | 4个 |
以上就是我面对一个 46 万行代码的超级系统,耗时大概一年的时间所做的一些成果,很多技术细节也只是泛泛而谈,但是我希望给大家提供的是工作方法、解决思路等偏软实力方面,技术功底和技术视野还是要靠自己一步一个脚印。
这一年我过的很充实,面对突如其来的问题,我心情很复杂,这一年,我感觉也老了很多。最后,感谢你耐心的倾听,我是河畔一角,一个普通的前端工程师。
来源:juejin.cn/post/7394095950383710247
在自己没有价值前,就不要谈什么人情世故了!
Hello,大家好,我是 Sunday。
昨天有位同学跟我吐槽,大致的意思是:“感觉自己不会搞 人情世故,导致在职场中很吃亏。领导也不罩着自己!”
在我的印象中,好像很多程序员都是 “不懂人情世故的典型”,至少很多程序员都认为自己是 “不懂人情世故的”。
但是,人情世故是什么?它真的有用吗?你跟领导关系好,他就会罩着你,帮你背锅吗?
恐怕是:想多了!!
一个真实的故事
给大家讲一个之前我经历过的真实故事,里面涉及到两个人物,我们用:领导 和 员工A 代替。
员工A是一个很懂 “人情世故” 的人,主要体现在两个方面:
- 酒桌文化:不像我这种压根就不能喝酒的人。员工A的酒量很好,并且各种喝酒的说法了熟于心(可以把领导说的很舒服的那种)
- 开会文化:各种反应都在领导的 “兴奋点” 上。我不知道怎么进行形容,类似于罗老师的这张图片,大家自己体会
其他方面的事情(私下的吃饭、逢年过节送礼),这些我就不清楚了,所以这里就不乱说了。
在我的眼里看来,这应该就是 熟通人情世故 的了。不知道,大家认为是不是。
不过,结果呢?
当公司决定裁员时,员工A 是 最早一批 出现在裁员名单中的。
领导会帮他争取留下来的机会吗?并不会
当你只能为对方带来 “情绪价值” 时,对方并不会把你当成心腹,更多的只是类似“马屁精”的存在。而这样的情绪价值,并没有太大的意义。更不要指望 领导会为了你做一些影响他自己利益,或者为他自己带来风险的事情了。
在自己没有价值前,就不要谈什么人情世故了!
国人在很多时候都会探讨 “人情世故” 的重要性。因为我生在 山东,对此更是感触颇深。(山东是受 儒家思想 熏陶最为严重的地方)。甚至,在之前,我也一度认为 “人情世故” 是非常重要的一件事情。
但是,当我工作之后进入企业以来。我越来越发现,在企业之中,所谓的 “人情世故” 并没有太大的意义。
人都是非常现实的,别人对你的看法,完全取决于你能为对方带来什么价值。
而这个价值通常需要体现在 金钱上 或者 事业上!
当你无法在这两个方面为对方提供价值时,那么你做的所谓的 “人情世故” 也会被对方认为是“马屁精”的嫌疑。
所以,与其把精力放到所谓的“人情世故”中,甚至为此而感到苦恼(就像开头所提到的同学一样),是 大可不必 的!
在你无法为对方带来价值之前,先努力提升自己的的能力,当你可以和对方处于一个平等的位置进行交流时,再去谈所谓的人情世故,也不迟!
来源:juejin.cn/post/7393713240995676175
去寺庙做义工,有益身心健康
《乔布斯传》中写到:乔布斯把对事物专注的能力和对简洁的热爱归功于他的禅修。他说:“禅修磨炼了他对直觉的欣赏能力,教他如何过滤掉任何能分散时间和精力的其它不必要的事情,在他的身上培养出了专注基于至简主义的审美观。”
如何在当今物欲横流的浮躁社会里不沦陷其中?如何在每天奔波忙碌之后却不内心疲惫、焦虑?如何在巨大的工作与生活压力下保持一颗平和的心?如何在经历感情、友情和亲情的起起落落后看破放下?如何改变透支健康和生命的人生模式?
程序员无疑是一个高压的职业,尤其是在头部公司工作的程序员们,工作压力更是大。并且在互联网行业,禅修并不是一件新鲜事。我们不一定要正儿八经地参加禅修活动,只是去寺庙走一走,呼吸一下新鲜空气,给寺庙干点活,对身心健康的帮助也会很大。
我与寺庙
我最早接触寺庙是在2011年上军校的时候,我的一个老师,作为大校,经常在课上分享他周末在南京附近寺庙的奇闻轶事,也会分享他自己的一些人生体验和感悟,勾起了我对寺庙生活的向往。
2013年,作为现役军人,我跑到了江西庐山的东林寺做了一个礼拜的义工,在那里,每天早上四点起床早上寺庙早课,负责三餐的行堂,也作为机动义工,干一些杂活,比如卸菜、组装床等,晚上有时也可以听寺庙的传统文化课。
2013年底,我申请退出现役,于是14年春就可以休假了,根据流程不定期去各部门办理手续即可,期间一个周末,我弟带我去凤凰岭玩,偶遇一个皈依法会,为了能看到传说中的北大数学天才,我填了一个义工表,参加了皈依仪式。
因为没有考虑政府安排的工作,所以打算考个研,期间不时会去凤凰岭的寺庙参加活动。考完研后,到18年春季,周末节假日,基本都会去这个寺庙做义工,累计得有200天以上。
期间,作为骨干义工,参与了该寺庙组织的第二至第四届的IT禅修营,负责行堂、住宿和辅导员等相关的工作。
很多人都听过这样一件往事:2010年,张小龙(微信之父)偶然入住一个寺院,当时正是微信研发的关键时刻,因为几个技术难题,张小龙连续几天彻夜难眠,终于一气之下把资料撕得粉碎。
没想到负责打扫卫生的僧人看到后,竟然帮他把资料重新粘贴了起来,还顺手写下了几条建议。张小龙非常惊讶,打听过后才知道这位扫地僧出家前曾混迹IT界,是个著名的极客。
经扫地僧点化,张小龙回到广州苦攻一年后,微信终于大成。这件事传的很广也很玄乎,可信度不会太高,不过故事中张小龙入住的寺院,就是我常去的寺庙。
至于在故事中懂得IT的扫地僧,在这里遇到其实不是什么奇怪的事,你还有可能遇到第47届国际数学奥赛金牌得主贤宇法师,他来自北大数学系;或者是禅兴法师,他是清华大学流体力学博士;又或者贤启法师,他是清华大学核能和热能物理博士。
“扫地只不过是我的表面工作,我真正的职业是一位研究僧。” 《少林足球》这句台词的背后,隐藏着关于这个寺庙“高知僧团”的一个段子。
因为各种不可描述的原因,18年9月之后,我就很少去这个寺庙了,但我知道我依然很向往寺庙的生活。于是22年春,我下定决心离开北京去深圳,其中就有考虑到深圳后,可以去弘法寺或弘源寺做义工。
去了一次弘法寺,感觉那边人太多,后面去了一次弘源寺后,感觉这里比较适合我,人少很安静,不堵车的话,开车只需20分钟到家。
目前,只要我有时间,我都会去弘源寺干一天临时义工,或者住上几天。
何为禅?
禅,是心智的高度成熟状态。直至印度词汇传入,汉语音译为“禅那”,后世简称为“禅”,汉译意思有“静虑”、“思维修”等。
禅修的方法就是禅法,禅法是心法,并不固着于某种具体形式,也不限于宗教派别。从泛义来说,任何一种方法,如果能够让你的心灵成熟,了解生命的本质,让心获得更高层次的证悟,并从而获得生命究竟意义的了悟。这样的方法就是禅修!
从狭义来说,在绵延传承数千年的漫长时空里,形成各种系统的修行方法,存在于各种教派中。现存主要有传承并盛行于南传佛教国家的原始佛教禅法与传承并盛行于中国汉传佛教的祖师禅。
如来禅是佛陀的原始教法,注重基础练习,强调修行止观。祖师禅是中国禅宗祖师的教法,强调悟性、觉性,推崇顿悟,以参话头为代表,以开悟、明心见性为目的。
我们普遍缺乏自我觉察,甚至误解了包括自由在内的生命状态真义。禅修中,会进入深刻自我觉察中,有机会与自己整合,从而开启真我。
近年来,禅修在西方非常流行,像美国的学校、医疗机构和高科技公司都广泛地在进行打坐、禅修。美国有些科学家曾做过一个实验,实验对象是长期禅修的修行人。在实验室中,实验者一边用脑电波图测量脑波的变化,一边用功能性核磁共振测量脑部活动的位置。
最后得出结论:通过禅修,不但能够短期改变脑部的活动,而且非常有可能促成脑部永久的变化。这就是说:通过禅定,可以有效断除人的焦虑、哀伤等很多负面情绪,创造出心灵的幸福感,甚至可以重塑大脑结构。
禅修能够修复心智、疗愈抑郁、提升智慧,让我们重获身心的全面健康!禅修让人的内心变得安静。在禅修时,人能放松下来,专注于呼吸,使内心归于平静,身体和心灵才有了真正的对话与接触。
“禅修是未来科技世界中的生存必需品”时代杂志曾在封面报道中这样写道。在硅谷,禅修被认为是新的咖啡因,一种能释放能量与创造力的全新“燃料”。
禅修也帮助过谷歌、Facebook、Twitter高管们走出困惑,国内比较知名则有搜狐的张朝阳和阿里的马云,还有微信之父张小龙的传说。
对于他们来说,商海的起伏伴随着心海的沉浮,庞大的财富、名声与地位带来的更多的不是快乐,但是禅修,却在一定程度上给他们指点迷津,带领他们脱离现代社会的痛苦、让内心更加平静!
乔布斯的禅修故事
乔布斯和禅修,一直有着很深的渊源。乔布斯是当世最伟大的企业家之一,同时也是一名虔诚的禅宗教徒。他少有慧根,17岁那年,他远赴印度寻找圣人寻求精神启蒙,18岁那年,他开始追随日本禅师乙川弘文学习曹洞宗的禅法。
年轻的时候,乔布斯去印度,在印度体验,呆了七个月。乔布斯在印度干了些什么,我们不得而知。不过据我推测,也就是四处逛一逛,看一看,可能会去一些寺庙,拜访一些僧人。
我从来不认为,他遇到了什么高人,或者在印度的小村庄一待,精神就受到了莫大的洗礼。变化永远都是从内在发生的,外在的不过是缘分,是过客,负责提供一个合适的环境,或者提供一些必要的刺激。
但我们知道,从此以后,乔布斯的人生,就开始变得不一样了。乔布斯的人生追求是“改变世界”,当年他劝说百事可乐总裁,来担任苹果CEO的时候所说的话:“你是愿意一辈子卖糖水,还是跟我一起改变这个世界?”激励了无数心怀梦想的朋友。
早在1973年乔布斯已经对禅有较深的领悟了。他这样说:“我对那些超越物质的形而上的学说极感兴趣,也开始注意到比知觉及意识更高的层次——直觉和顿悟。”
他还说:“因为时间有限,不要带着面具为别人而活,不要让别人的意见左右自己内心的想法,最重要的是要勇敢地忠于自己内心的直觉。”
乔布斯说:“你不能预先把点点滴滴串在一起;唯有未来回顾时,你才会明白那些点点滴滴是如何串在一起的。所以你得相信,你现在所体会的东西,将来多少会连接在一块。你得信任某个东西,直觉也好,命运也好,生命也好,或者业力。这种作法从来没让我失望,也让我的人生整个不同起来。”
他大学时学的书法,被他用来设计能够印刷出漂亮字体的计算机,尽管他在大学选修书法课时,完全不知道学这玩意能有什么用。他被自己创立的苹果公司开除,于是转行去做动画,结果在做动画的时候,遇到了自己未来的妻子。
人呐实在不知道,自己可不可以预料。你说我一个被自己创立的公司开除的失业狗,怎么就在第二份工作里遇到了一生的挚爱呢?若干年后,他回顾起自己的人生,他把这些点点滴滴串了起来,他发现,他所经历过的每一件事,都有着特殊的意义。
所以,无论面对怎样的困境,我们都不必悲观绝望,因为在剧本结束之前,你永远不知道,自己现在面对的这件事,到底是坏事还是好事。
所谓创新就是无中生有,包括思想、产品、艺术等,重大的创新我们称为颠覆。通过那则著名的广告《think different》他告诉世人:“因为只有那些疯狂到以為自己能够改变世界的人,才能真正地改变世界。”乔布斯确实改变了世界,而且不是一次,至少五次颠覆了这个世界:
- 通过苹果电脑Apple-I,开启了个人电脑时代;
- 通过皮克斯电脑动画公司,颠覆了整个动漫产业;
- 通过iPod,颠覆了整个音乐产业;
- 通过iPhone,颠覆了整个通讯产业;
- 通过iPad,重新定义并颠覆了平板PC行业。
程序员与禅修
编程是一门需要高度专注和创造力的艺术,它要求程序员们在面对复杂问题和压力时,能够保持内心的安宁和平静。在这个快节奏、竞争激烈的行业中,如何修炼内心的禅意境界,成为程序员们更好地发挥潜力的关键。
在编程的世界里,专注是至关重要的品质。通过培养内在专注力,程序员能够集中精力去解决问题,避免被外界的干扰所困扰。以下是几种培养内在专注的方法:
- 冥想和呼吸练习: 通过冥想和深呼吸来调整身心状态,让自己平静下来。坚持每天进行一段时间的冥想练习,可以提高专注力和注意力的稳定性。
- 时间管理: 制定合理的工作计划和时间表,将任务分解为小的可管理的部分,避免心理上的压力。通过专注于每个小任务,逐步完成整个项目。
- 限制干扰: 将手机静音、关闭社交媒体和聊天工具等干扰源,创造一个安静的工作环境。使用专注工作法(如番茄钟),集中精力在一项任务上,直到完成。
编程过程中会遇到各种问题和挑战,有时甚至会感到沮丧和失望。然而,保持平和的心态是非常重要的,它可以帮助程序员更好地应对压力和困难。以下是一些培养平和心态的技巧:
- 接受不完美性: 程序永远不会是完美的,因为它们总是在不断发展和改进中。接受这一事实,并学会从错误中汲取教训。不要过于苛求自己,给自己一些宽容和理解。
- 积极思考: 关注积极的方面,让自己的思维更加积极向上。遇到问题时,寻找解决方案而非抱怨。积极的心态能够帮助你更好地应对挑战和困难。
- 放松和休息: 给自己合理的休息时间,让大脑得到充分的放松和恢复。休息和娱乐能够帮助你调整心态,保持平和的状态。
编程往往是一个团队合作的过程,与他人合作的能力对于一个程序员来说至关重要。以下是一些建立团队合作意识和促进内心安宁的方法:
- 沟通与分享: 与团队成员保持良好的沟通,分享想法和问题。倾听他人的观点和建议,尊重不同的意见。积极参与和贡献团队,建立合作关系。
- 友善和尊重: 培养友好、尊重和包容的态度。尊重他人的工作和努力,给予鼓励和支持。与团队成员建立良好的关系,创造和谐的工作环境。
- 共享成功: 当团队取得成功时,与他人一起分享喜悦和成就感。相信团队的力量,相信集体的智慧和努力。
修炼内心安宁需要时间和长期的自我管理。通过培养专注力、平和心态、创造力和团队合作意识,程序员们可以在面对复杂的编程任务和挑战时保持内心的安宁和平静。
禅修有许多不同的境界,其中最典型的可能包括:
- 懵懂:刚开始禅修时,可能会觉得茫然和困惑,不知该如何开始。
- 困扰:在进行深度内省和冥想时,可能会遇到很多烦恼和难题,需耐心思考和解决。
- 安和:通过不断地练习和开放自己的心灵,可能会进入一种更加平和和沉静的状态。
- 祥和:当一些心理障碍得到解决,你会感受到一种更深层的平静和和谐。
- 转化:通过不断的冥想与内省,你可以向内看到自己的内心,获得对自己和世界的新的认识和多样的观察角度。
- 整体意识:通过冥想,您将能够超越个人的视野和言语本身,深入探究宇宙的内心,领悟更加深入和广泛的境界和意识。
程序员写代码的境界:
- 懵懂:刚熟悉编程语言,不知做什么。
- 困扰:可以实现需求,但仍然会被需求所困,需要耐心思考和解决。
- 安和:通过不断练习已经可以轻易实现需求,更加平和沉静。
- 祥和:全栈。
- 转化:做自己的产品。
- 整体意识:有自己的公司。
一个创业设想
打开小红书,与“疗愈”相关的笔记高达236万篇,禅修、瑜伽、颂钵等新兴疗愈方法层出不穷,无论是性价比还是高消费,总有一种疗愈方法适合你。
比起去网红景点打卡拍照卷构图卷妆造,越来越多的年轻人正在借助上香、拜神、颂钵、冥想等更为“佛系”的方式去追寻内心的宁静。放空大脑,呼吸之间天地的能量被尽数吸收体内,一切紧张、焦虑都被稀释,现实的残酷和精神的困顿,都在此间找到了出口。
在过去,简单的瑜伽和冥想就能达到这种目的,但伴随着疗愈文化的兴起与壮大,不断在传统方式之上叠加buff,才是新兴疗愈的终极奥义。
从目标人群来看,不同的禅修对应不同的人群。比如临平青龙寺即将在8月开启的禅修,就分为了企业禅修、教育禅修、功能禅修、共修禅、突破禅、网络共修等多种形式。但从禅修内容来看,各个寺庙的安排不尽相同,但基本上跳脱不出早晚功课、上殿过堂、出坡劳作、诵经礼忏、佛学讲座等环节。
艺术疗愈,是截然不同于起参禅悟道这种更亲近自然,还原本真的另一疗愈流派。具体可以细分为戏剧疗愈、绘画疗愈、音乐疗愈等多种形式。当理论逐渐趋向现代化,投入在此间的花费,也成正比增长。
绘画疗愈 ,顾名思义就是通过绘画的方式来表达自己内心的情绪。画幅的大小、用笔的轻重、空间的配置、色彩的使用,都在某种程度上反映着创作者潜意识的情感与冲突。
在绘画过程中,绘画者也同样会获得纾解和满足。也有一些课程会在绘画创作之外,添加绘画作品鉴赏的内容,通过一幅画去窥视作者的内心,寻求心灵上的共鸣,也是舒缓压力的一种渠道。
疗愈市场之所以能够发展,还是因为有越来越多人的负面情绪需要治愈。不论是工作压力还是亲密关系所带来的情绪内耗,总要有一个释放的出口。
当前,我正在尝试依托自营绘馆老师提供优质课件,打造艺培课件分享的平台或社区,做平台前期研发投入比较大,当前融资也比较困难,同时自己也需要疗愈。
所以,最近也在调研市场,评估是否可以依托自营的门店,组织绘画手工+寺庙行禅+技术专题分享的IT艺术禅修营活动,两天含住宿1999元,包括半天寺庙义工体验、半天禅修、半天绘画手工课和半天的技术专题分享。
不知道,这样的活动,大家会考虑参加吗?
总结
出家人抛弃尘世各种欲望出家修行值得尊重,但却不是修行的唯一方法,佛经里著名的维摩洁居士就是在家修行,也取得了非凡成就,六祖惠能就非常鼓励大家在世间修行,他说:“佛法在世间,不离世间觉,离世觅菩提,恰如求兔角”。
普通人的修行是在红尘欲望中的修行,和出家人截然不同,但无分高下,同样可以证悟,工作就是他们最好的修练道场。禅学的理论学习并不困难,但这只是万里长征的第一步,最重要的是,我们要在日常实践中证悟。
简单可能比复杂更难做到:你必须努力理清思路,从而使其变得简单。但最终这是值得的,因为一旦你做到了,便可以创造奇迹。”乔布斯所说的这种专注和简单是直接相关的,如果太复杂,心即散乱,就很难保持专注,只有简单,才能做到专注,只有专注,才能极致。
来源:juejin.cn/post/7292781589477687350
程序员的副业发展
前言
之前总有小伙伴问我,现在没有工作,或者想在空闲时间做一些程序员兼职,怎么做,做什么,能赚点外快
因为我之前发别的文章的时候有捎带着说过一嘴我做一些副业,这里就说一下我是怎么做的,都做了什么
希望能对你有些帮助~
正文
学生单
学生单是我接过最多的,已经写了100多份毕设,上百份大作业了,这里给大家介绍一下
像python
这种的数据处理的大作业也很多,但是我个人不太会,所以没结过,我只说我做过的
我大致做过几种单子,最多的是学生的单子,分为大作业单子
和毕设单子
大作业单一般指一个小作业,比如:
- 几个web界面(大多是html、css、js)
- 一个全栈的小demo,大多是
jsp+SSM
或者vue+springboot
,之所以不算是毕设是因为,页面的数目不多,数据库表少,而且后端也很简单
我不知道掘金这里能不能说价格,以防万一我就不说大致价格了,大家想参考价格可以去tb
或者咸鱼
之类的打听就行
然后最多的就是毕设单子,一般就是一个全栈的项目
- 最多的是
vue+springboot
的项目,需求量特别大,这里说一下,之前基本都是vue2的项目,现在很多学校要求vue3了,但是大部分商家vue3的模板很少,所以tb上接vue3的项目要么少,要么很贵,所以我觉得能接vue3和springboot项目的可以打一定的价格战,vue2的市面上价格差不多,模板差不多,不好竞争的 - 少数
vue+node
的全栈项目,一般是express
或者koa
,价格和springboot差不多,但是需求量特别少 uni+vue+springboot
的项目,其实和vue+springboot
项目差不多,因为单纯的vue+springboot项目太多了,所以现在很多人要求做个uni手机端,需求量适中.net项目
,信管专业的学生用.net的很多,需求量不少,有会的可以考虑一下
这是我接过的比较多的项目,数据库我没有单说,基本上都是MySQL,然后会要求几张表,以及主从表有几对,这就看客户具体要求了
需要注意的点:大部分你得给客户配环境,跑程序,还是就是毕设一般是要求论文的,有论文的会比单纯程序赚的多,但是一定要注意对方是否要求查重,如果要求查重,一般是不建议接的,一般都是要求维普和知网查重,会要了你的老命。还有需要注意的是,学生单子一般是需要答辩的,你可以选择是否包答辩,当然可以调整价格,但是你一旦包答辩,你的微信在答辩期间就不会停了。你永远不知道他们会有怎样的问题
商业单
商业单有大有小,小的跟毕设差不多,大的需要签合同
我接的单子大致就一种,小程序+后台管理+后端
,也就是一个大型的全栈项目,要比学生单复杂,而且你还要打包、部署、上线,售后
,有一个周期性,时间也比较长
为了防止大家不信,稍微放几个聊天记录,是这两个月来找的,也没有给自己打广告,大家都是开发者,开发个小程序有什么打广告,可吹的(真的是被杠怕了)
技术栈有两种情况:自己定
,客户定
UI也有两种情况:有设计图的
、无设计图的(也就是自己设计)
基本上也就是两种客户:懂技术的客户,不懂技术的客户
指定技术栈的我就不说了,对于不指定技术栈的我大致分为两种
小程序端:uni/小程序原生、后台:vue、后端:云开发
小程序端:uni/小程序原生、后台:vue、后端:springboot
这取决于预算,预算高的就用springboot、预算不高的就云开发一把嗦,需要说的是并不是说云开发差,其实现在云开发已经满足绝大部分的需求,很完善了,而springboot则是应用广泛,客户后期找别人接手更方便
对于没有UI
设计图的,我会选择去各种设计网站去找一些灵感
当项目达到一定金额,会签署合同,预付定金,这是对双方的一种保障
其实在整个项目中比较费劲的是沟通,不是单独说与客户的沟通,更多的是三方沟通,作为上线的程序,需要一些资料手续,这样就需要三方沟通,同时还有一定的周期,可能会被催
讲解单
当然,有的时候人家是有程序的,可能是别人代写的,可能是从开源扒下来的,这个时候客户有程序,但是看不懂,他们可能需要答辩,所以会花钱找人给他们梳理一下,讲一讲, 这种情况比较简单,因为不需要你去写代码,但是需要你能看懂别人的代码
这种情况不在少数,尤其是在小红书这种单子特别多,来钱快,我一般是按照小时收费
知识付费这东西很有意思,有时候你回答别人的一些问题,对方也会象征性地给你个几十的红包
接单渠道
我觉得相对于什么单,大家更在意的是怎么接单,很多人都接不到单,这才是最难受的
其实对此我个人并没有太好的建议的方法,我认为最重要的,还是你的交际能力
,你在现实中不善于交际,网络上也不善于交际,那就很难了
因为我之前是在学校,在校期间干过一些兼职,所以认识的同学比较多,同时自身能力还可以,所以会有很多人来找,然后做完之后,熟人之间会慢慢介绍,人就越来越多,所以我不太担心能否接单这件事,反而是单太多,自己甚至成立一个小型工作室去接单
如果你是学生的话,一定要在学校积累客户,这样会越来越多,哪怕是现在我还看到学校的各种群天天有毕业很多年以及社会人士来打广告呢,你为什么就不可以呢
当然但是很多人现在已经不是学生了,也不知道怎么接触学生,那么我给大家推荐另外的道路
闲鱼
接单小红书
接单
大部分学生找的写手都会比较贵,这种情况下,很多学生都会选择去上面的两个平台去货比三家,那么你的机会就来了
有人说不行啊,这种平台发接单帖子就被删了,那么你就想,为什么那么多人没被删,我也没被删,为什么你被删除了
其次是我最不推荐的一种接单方式:tb写手
为什么不推荐呢,其实就是tb去接单,然后会在tb写手群外包给写手,也就是tb在赚你的差价
这种感觉很难受,而且赚的不多,但是如果你找不到别的渠道,也可以尝试一下
最后
我只是分享一下自己接单的方式,但是说实在的,接一个毕设单或者是商业单其实挺累的,不是说技术层面的,更多的是心累,大家自行体会吧,而且现在商场内卷严重,甚至有人200、300就一个小程序。。。
所以大家要想,走什么渠道,拿什么竞争
另外,像什么猪八戒这种的外包项目的网站,我只是见过,但是没实际用过,接过,所以不好评价
希望大家赚钱顺利,私单是一种赚钱的方式,但是是不稳定的,一定还是要以自己本身的工作为主,自行判断~
来源:juejin.cn/post/7297124052174848036
劝互联网的牛马请善待自己
掘友们,大家好,我是一名95后全栈程序媛,一直以来在努力追求WLB,28岁前完成了畅游中国,既努力生活也认真工作。很多人可能还不知道WLB这个词,WLB就是work life balance
,一开始我看到这个词都是从猎头那里传过来的,岗位招聘一般都是:xxx神仙外企WLB,一周只上3天班,每周两天可以居家办公,每年年假几十天,要求英语口语流利,有x年工作经验,base范围在xx个w....
众所周知,外企的年包肯定不如那些一线爆肝厂,当然工作时间跟收入都是成正比的,965的外企跟11116的互联网的年包肯定是不一样的,付出的工作时间都不一样。假如拼夕夕给你年薪百万,神仙外企给你年薪50+w,你会怎么选?
最近出来几条消息刺痛了牛马的心情!这个世界变幻莫测~
四十多岁的程序员在公司工作11年被裁员
徐峥出新电影了《逆行人生》讲述的就是一个四十多岁的程序员被裁员后找不到工作只能去送外卖的心酸故事,当现实照进电影,卑微的打工人在时代的潮流下只是一个渺小颗粒的缩影。


得物“35岁被暴力裁员”、“80余万元期权直接打水漂”。
一年前,面临裁员的得物员工徐凯多次与公司沟通取得期权再离职未果后,他到上海市仲裁委员会处申请恢复与得物的劳动关系,后被予以支持。7月,因不服上海市仲裁委员会裁定的结果,得物继续上诉,再度将前员工诉于法庭之上。
去哪儿宣布每周可居家办公两天
这则消息意味着互联网公司开启新的里程碑,向神仙外企的福利看齐了,对于老弱病残的打工人简直不要太友好了。

这种待遇,以前在互联网几乎不存在的。一周连休四天的日子,体验过就不再想去卷996的牛马岗了。
不管我们有多努力,我们都只是老板眼里赚钱的工具人
在互联网,35岁已经是一道坎,人在互联网漂,哪有不挨刀,不管有多努力,到了大龄的年纪,工资比年轻人高产出比年轻人低的时候,面临着公司随时都可能会说:分手吧,没有分手费,你自己知难而退吧,大家好聚好散!像极了一个渣男遇到了更年轻漂亮的白富美抛弃糟糠之妻,完了还pua你说都是你的错我才选择了别人。同样,公司会pua说,都是你的没能力,我才选择了别的员工,渣男有道德的谴责?公司有吗?公司跟你只有劳动关系,只要合法,随时跟你说你被毕业了,给个n+1的分手费都要被牛马说这渣渣企真良心!
对于老板来说,赚钱的时候大家都是兄弟,不赚钱了不认兄弟,说好聚好散!你把公司当家,公司把你当牛马。这点,我们真的要向00后学习,提前认清职场,打工就是为了赚钱,为了更好的生活,并不是为了努力加班毁了我们的生活,那我们辛辛苦苦打工有什么意义呢?
是否真的对自己的选择满意
知乎上有一个热度很高的话题:阿里p7和副处级哪个更厉害?
总说纷云,有人选择p7:

有人选择为人民服务;

也有人两者都想要:

在稳定和高薪面前,大家都想要稳定高薪的工作,最后变成稳定焦虑的牛马,这就好像围城,体制内的羡慕体制外的高薪,高薪的牛马羡慕体制内的稳定。即使义无反顾选择了卷互联网,几年挣够了人家一辈子的钱,但是买了二居想换三居,买了三居想换别墅,收入的增长带来消费的提升,物欲的无限放大,依然很多年入百万的人并不觉得真正的快乐而满足现状!即使选择了稳定的体制内,工作体面生活稳定,但是在权力面前,一直追名逐利,在很多诱惑下,最后的选择身不由己!
所以,欲望面前,你有好好认真的生活吗?认真对待自己的身体健康吗?是为了碎银几两熬夜加班把身体搞垮还是为了三餐有汤就行选择WLB呢?希望每一个焦虑的互联网牛马都好好善待自己,平衡好自己身体的健康和对金钱物欲的追逐。
我最羡慕内心富裕,内核稳定的人,这种人一般要比同龄人状态更年轻。不容易被外界所干扰,明确知道自己该要什么,不该要什么,选择适合自己的生活,幸福满意度极高。
来源:juejin.cn/post/7390457313163067431
买房后,害怕失业,更不敢裸辞,心情不好就提前还房贷,缓解焦虑
自从买房后,心态有很大变化。虽然住自己的房子,心情和体验都很好,但是一把掏空钱包,很焦虑。买房后现金流一直吃紧,再加上每年16万的房贷,我很焦虑会失业。之前我喜欢裸辞,现在不敢想裸辞这个话题。尤其是在行业下行期,找工作很艰难,背着房贷裸辞,简直是头孢就酒,嫌命太久。
焦虑的根源是背负房贷,金额巨大,而且担心40岁以后失业,还不上房贷。
一次偶然的沟通
"你的带款利率调整了吗",同事问我。
同事比我早两年在北京买房,他在顺义买的,我在昌平买的,我俩一直有沟通房贷的问题。但我没听说利率有调整,银行好像也没通知我,于是我问道:”我不知道啊,你调整了?调到多少了?“。
”调的挺多的,已经降到了 4.3%“。同事兴高采烈的回复我。
”这么牛逼,之前我记得一直是4.85%,我去看看我的利率“,我听说房贷利率下降那么多,很是兴奋。
然而我的房贷利率没有调整,我尝试给银行打电话,沟通的过程很坎坷。工商银行客服说了很多,大概意思是:利率会自动调整,无需申请,但是要等到利率调整日才会调整”。我开始很不理解,很生气,利率都调整了,别人也都调整了,凭什么不给我调整呢?
我想到同事有尝试提前还贷,生气的时候,我就萌发了提前还贷的想法。
开始尝试提前还贷,真香
我在22年初带款买房,其中商业带款 174 万,带款25年,等额本息,每个月要还 1 万的房贷。公积金带款每个月大概需要还 2500。每个月一万二的房贷还是很有压力的,尤其是刚买房的这一两年,兜里比脸都干净,没存款,不敢失业,更不敢裸辞。
即便兜里存款不多,也要提前还贷,因为实在太香了。
我在工行App上,申请 提前还贷,选择缩短 18个月的房贷,只需要 6万2,而我每个月房贷才1万,相当于是用 6 万 顶 18 万的房贷。还有比这更划算的事情吗?
预约提前还款后,银行会安排一个时间,在这个时间前,把钱存进去。到时候银行就会扣除,如果扣除金额不足,那么提前还款计划则自动终止,需要重新预约!
工行的预约还款时间大概是1个月以后,我是10-15号申请提前还款,银行给的预约日期是 11-14号,大概是1个月。
提前还款,比理财强多了
这次还贷以后,我又申请了提前还款, 提前还 24 期,只需要 9 万,也就是 9 万顶 24 万;提前还 60 期,只需要 24 万,相当于 24 万顶 60 万。
还有比提前还贷收益更高,风险更低的理财方式吗?没有! 除了存款外,任何理财都是有风险的。债券和基金收益和风险挂钩,想找到收益5%的债券基金,要承担亏本风险。你惦记人家的利息,人家惦记你的本金!
股票的风险更不必说,我买白酒股票已经被套的死死,只能躺平装死。(劝大家不要入 A 股)
提前还贷划算吗?
我目前的带款利息是 4.85%,而存到银行的利息不会超过 3% ,很多货币基金只有 2%了。两者利息差高达 3%,肯定是提前还带款更加合适。
要明白,一年两年短期的利息差还好,但是房贷可是高达 25 年。25年 170 万带款 3% 的利息差,这个金额太大了。提前还了,省下来的钱还是很多的。例如刚才截图里展示的 提前还 24 万顶了 60 万的房贷。
网上很多砖家说,“要考虑通货膨胀因素,4.85% 的带款利率和实际通货膨胀比起来不高,提前还款不划算。”
砖家说话都是昧良心的。提前还带款是否划算,只需要和存款利率比就行了,不需要和通货膨胀比。因为把钱存在银行也会因为通货膨胀贬值。只有把钱 全都消费,全部花光才不会受通货膨胀的困扰,建议砖家,多消费,把家底败光,这样最划算!
砖家们一定是害怕太多人提前还贷,影响了银行的放贷生意。今年上半年,提前还贷已经成潮流,有些银行坐不住,甚至关闭了提前还贷的入口…… 所以要抓紧,没准哪天就提高了还贷门槛,或者直接禁止。
程序员群体收入高,手里闲钱多,可以考虑提前还带款,比存银行划算多了,别再给银行打工了!
来源:juejin.cn/post/7301530293378727971
刚入职因为粗心大意,把事情办砸了,十分后悔
刚入职,就踩大坑,相信有很多朋友有我类似的经历。
5年前,我入职一家在线教育公司,新的公司福利非常好,各种零食随便吃,据说还能正点下班,一切都超出我的期望,“可算让我找着神仙公司了”,我的心里一阵窃喜。
在熟悉环境之后,我趁着上厕所的时候,顺便去旁边的零食摊挑了点零食。接下来的一天里,我专注地配置开发环境、阅读新人文档,当然我也不忘兼顾手边的零食。
初出茅庐,功败垂成
"好景不长",第三天上午,刚到公司,屁股还没坐热。新组长立刻给我安排了任务。他决定让我将配置端的课程搜索,从使用现有的Lucene搜索切换到ElasticSearch搜索。这个任务并不算复杂,然而我却办砸了。
先说为什么不复杂?
- ElasticSearch的搜索功能 基于Lucene工具库实现的,两者在搜索请求构造方式上几乎一致,在客户端使用上差异很小。
- 切换方案无需顾虑太多稳定性问题。由于是配置端课程搜索,并非是用户端搜索,所以平稳切换的压力较小、性能压力也比较小。
总的来说,领导认为这个事情并不紧急,重要性也不算高,而且业务逻辑相对简单,难度能够把握,因此安排我去探索一下。可是,我却犯了两个错误,把入职的第一件事办砸了。现在回过头来看,十分遗憾!
难以解决的bug让我陷入困境
将搜索方式从Lucene切换为ElasticSearch后,如何评估切换后搜索结果的准确度呢?
除了通过不断地回归测试,还有一个更好的方案。
我的方案是,在调用搜索时同时并发调用Lucene搜索和ElasticSearch搜索。在汇总搜索结果时,比对两者的搜索结果是否完全一致。如果在切换搜索引擎的过程中,两个方案的搜索结果不一致,就打印异常搜索条件和搜索结果,并进行人工排查原因。
在实际切换过程中,我经常遇到搜索数据不一致的情况,这让我感到十分苦恼。我花了一周的时间编写代码,然后又用了两周多的时间来排查问题,这超出了预估的时间。在这个过程中,我感到非常焦虑和沮丧。作为一个新来的员工,我希望能够表现出色,给领导留下好印象。然而事与愿违,难以解决的bug让我陷入困境。
经过无数次的怀疑和尝试,我终于找到了问题的根源。原来,我忘记了添加排序方式。
因为存在很多课程数据,所以配置端搜索需要分页搜索。在之前的Lucene搜索方式中,我们使用课程Id来进行排序。然而在切换到新的ElasticSearch方案中时,我忘记了添加排序方式。这个错误的后果是,虽然整体上结果是一致的,但由于新方案没有排序方式,每一页的搜索结果是随机的,无法预测,所以与原方案的结果不一致。
新方案加上课程Id排序方式以后,搜索结果和原方案一致。
为此,我总结了分页查询的设计要点!希望大家不要重复踩坑!# 四选一,如何选择适合你的分页方案?
千万不要粗心大意
实际上,在解决以上分页搜索没有添加排序方式的问题之后,还存在着许多小问题。而这些小问题都反映了我的另一个不足:粗心大意。
正是这些小问题,导致线上环境总会出现个别搜索结果不一致的情况,导致这项工作被拖延很久。
课程模型是在线教育公司非常核心的数据模型,业务逻辑非常复杂,当然字段也非常多。在我入职时,该模型已经有120 个字段,并且有近 50 个字段可以进行检索。
在切换搜索方式时,我需要重新定义各种DO、DTO、Request等类型,还需新增多个类,并重新定义这些字段。在这个过程中,我必须确保不遗漏任何字段,也不能多加字段。当字段数量在20个以内时,这项工作出错的可能性非常低。然而,班课模型却有多达120个字段,因此出错的风险极大。当时我需要大量搬运这些字段,然而我只把这项工作看作是枯燥乏味的任务,未能深刻意识到出错的可能性极大,所以工作起来散漫随意,没有特别仔细校验重构前后代码的准确性。
墨菲定律:一件事可能出错时就一定会出错
墨菲定律是一种普遍被接受的观念,指出如果某件事情可能出错,那么它将以最不利的方式出错。这个定律起源于美国航天局的项目工程师爱德华·墨菲,在1950年代发现了这一规律。
墨菲定律还强调了人类的倾向,即将事情弄糟或让事情朝着最坏的方向发展。它提醒人们在计划和决策时要考虑可能出错的因素,并准备应对不利的情况。
墨菲定律实在是太准了,当你感觉某个事情可能会出错的时候,那它真的就会出错。而且我犯错不止一次,因为有120个字段,很多字段的命名非常相似,最终我遗漏了2个字段,拼写错误了一个字段,总共有三个字段出了问题。
不巧的是,这三个字段也参与检索。当用户在课程搜索页面选择这三个字段来进行检索时,因为字段的拼写错误和遗漏,这三个字段没有被包含在检索条件中,导致搜索结果出错……
导致这个问题的原因有很多,其中包括字段数量太多,我的工作不够细致,做事粗心大意,而且没有进行充分的测试……
为什么没有测试
小公司的测试人员相对较少,尤其是在面对课程管理后台的技术重构需求时,更加无法获取所需的测试资源!
组长对我说:“ 要人没有,要测试更没有!”
事情办砸了,十分遗憾
首先,从各个方面来看,切换搜索引擎这件事的复杂度和难度是可控的,而且目标也非常明确。作为入职后第一项任务,我应该准确快速地完成它,以留下一个良好印象。当然,领导也期望我能够做到这一点,然而事实与期望相去甚远。
虽然在线上环境没有出现问题,但在上线后,问题排查的时间却远远超出了预期,让领导对结果不太满意。
总的来说,从这件事中,我获得的最重要教训就是:对于可能出错的事情,要保持警惕。时刻用墨菲定律提醒自己,要仔细关注那些可能发生小概率错误的细节问题。
对于一些具有挑战性的工作,我们通常都非常重视,且在工作中也非常认真谨慎,往往不会出错。
然而,像大量搬运代码、搬运大量字段等这类乏味又枯燥的工作确实容易使人麻痹大意,因此我们必须提高警惕。要么我们远离这些乏味的工作,要么就要认真仔细地对待它们。
否则,如果对这些乏味工作粗心大意,墨菲定律一定会找上你,让你在线上翻车!
来源:juejin.cn/post/7295576148364787751
有哪些事情,是当了程序员之后才知道的?
1、平庸的程序员占比很大。 还没参加工作时,觉得程序员是个改变世界的高科技职业,后来才发现,其实这个群体里有很多CRUD Boy和SQL Boy,Ctrl C+Ctrl V是我们使用最多的电脑操作,没有之一。
而且,大多数同事上班摸鱼偷懒,遇到问题躲着走,下班也从来不主动学习充电。每当我问他们,他们都说这样混着也挺好,不想太累。
2、数量堆死质量。 如果你觉得没有写代码的天赋,那么请你先写10万行代码再说。
如果你在刷leetcode的时候非常痛苦,甚至有时候看答案都看不懂。那你就先把代码背下来,然后一遍一遍默写。每当你默写五遍以上,就开始慢慢理解了,刷十遍以上,再遇到类似的题,就有条件发射,能举一反三了。
这种方法运用到看底层源码,看一些晦涩难懂的技术类书籍上,也同样适用。
后来,我在网上看了硅谷王川的一段话:所有的我们以为的质量问题,大多本质是数量问题。数量是最重要的质量。
而欧成效则说得更加直接:数量堆死质量!
3、尽量选择研发出身的老板的公司。 他们会知道程序员不是故意写bug的,也没有任何系统能做到100%的可用性。
而销售出身的老板,却永远把自家公司的程序员看做产出并不令人满意的高成本项。而且还时不时地要求程序员跟销售一样喊几句令人其鸡皮疙瘩的鸡血口号。
4、大厂和小厂的程序员,技术上差距并不大。 他们的差距也许是在学历上,也许是在人脉上,也许是在沟通和向上管理上。
5、对测试同学客气一点, 他们是你写的代码的最后一道防线。再有就是,如果线上出了故障或者严重bug,很多产研以外的人都关注是哪个程序员造成了事故,而不是哪个测试同学没测出来。
6、产品经理是SB,甲方是SB的N次方。 最令人蛋疼的是,任何一家公司都是这样,所以你根本避无可避,只能长期共存。
7、程序员涨薪,最好的方式是跳槽, 而不是兢兢业业地加班工作。如果就靠公司每年涨的那些钱,估计得用7,8年才能实现薪资翻番。但如果靠跳槽,估计3年就能实现薪资翻番。
8、能不去外包公司就尽量不去,那种寄人篱下的无归属感才最让人心累。你会发现,公司的正式员工吃饭和娱乐都是不愿意带你玩儿的,平时跟你说话的表情也是鼻孔朝天。
9、面试造火箭,工作拧螺丝是正常的。 你要做的就是提升造火箭吹牛逼的能力,毕竟这才是你定级谈薪的资本。不要抱怨,要适应。
10、35岁的危机真的存在。 那些认为技术牛逼就可以平稳度过中年危机的人,很多都SB了。人老不以筋骨和技术为能,顺势而为,尽早找后路才是王道。
11、尽量去工程师占比超过30%的公司,因为它的期权可能在未来十年内变得很有价值。因为工程师占比越高,边际成本就越低。
12、离开公司这个平台,也许你什么都不是。 很多大厂的高P前辈,甚至是总监、 VP,也可能在某一个时间点,突然被淘汰!我身边就有一个BAT的总监,真的就突然被优化了,真的就找不到哪怕一半的薪资了。突然之间!
拔剑四顾心茫然.... 所以,永远要分清楚哪些是平台资源,哪些是你的能力。时刻对自身能力保持清醒且准确的认知,千万不要陷入盲目自负的境地。实在太过乐观的大厂朋友,可以周期性出来面试,哪怕不跳槽,认知自己的真实价值。
13、技术面试官问期望薪资,记得往低了说。 因为他们往往并不负责最终的定薪,但如果你的期望薪资高于他,会让他产生强烈的不平衡,从而把你Pass掉。
14、身体才是一切的本钱。 前些天左耳朵耗子前辈的忽然离世,再次验证了这一点,如果身体健康是0,那么其他的所有一切都是0。
15、脱发和格子衫的说法,并不普遍。 我认识的程序员里,80%是不穿格子衫的,而且35岁+的程序员,80%也是不脱发的。
但是有一种东西是很普遍的,那就是装着电脑的双肩包。
16、PPT架构师、周报合并师、无损复读师真的存在,而且越是在大厂,这种人就会越多。
PPT架构师在PPT中讲的架构各种高端大气上档次,其实就是大家很常用的部署流程;周报合并师每周的任务就是每周将团队中每个人的周报进行汇总,再报告给上级;无损复读师要求可能会高一些,对老板提出的问题或者质疑,要原原本本的向下传达给项目组对应的同学,不能有一丝偏差。
或许他们最开始不是这样的,但是慢慢地,他们活成了最舒服的,也是曾经最讨厌的样子。
17、大多数程序员是不会修电脑的。 很多行业以外的人,他们会觉得很多事情程序员都可以做,从盗QQ,Photoshop,硬盘文件恢复,到装系统,处理系统故障和软件问题,安装各种盗版软件,各种手机的越狱Root装盗版应用。
并且,另外这些事情往往不涉及实物,给人的感觉是只是在键盘上打打字,又不需要买新硬件之类的,所以往往会被认为是举手之劳,理应帮忙。
18、杀死程序员不用枪,改三次需求就可以了。 很多程序员并不反感别人说他无趣,也不反感别人说他们的穿着土鳖,也不反感别人说他们长相平庸。
也就是说,除了反复改需求,别的他们都能忍受。
先说这么多吧,总结得也算是比较全了,后续有新的,我再补充。
来源:juejin.cn/post/7292960995437166601
这样做产品,死是早晚的事!
昨天和在北京的朋友聊天,他了解到之前我做过餐饮的SAAS系统,于是问我这一块是否还能分到一杯羹!
说实话,我觉得没机会,特别是对于一家小公司来说,基本上没机会,甚至连入场券都拿不到!
这不禁让我想起几年前认识的一个小公司,给他们兼职开发的两款SAAS产品,一款是连锁酒店系统,一款则是餐饮系统。
他们的酒店系统,现在在我看来依然是很牛逼的,我也去看过一些市面上的解决方案,但是依然没有他们的牛逼。
不过残酷的是,最近半年来,他们好像一套也没有卖出去,如果我没猜错的话,这几年下来,他们应该没有卖出多少套。
其实几年前我和他们协同开发,听了他们的一些想法,我就预见他们很难打出去。
因为我发现他去做了一些看似很完美,但是不是必须的功能,而且还花了大量时间去做,当时我觉得这完全就是鸡肋,现在看来是鸡骨头。
说白了,就是定位不明确,想做一个大而全方案,但是这对于一个小公司初创团队来说,这是很致命的,特别是资金不充足的情况下去干这事!
下面从几个方面去看问题。
1.定位不明确
理想一定是会被现实啪啪打脸的,当想去做一个产品的时候,不要觉得自己做得很全很大就能赢得市场,这简直是痴人说梦。
特别是在行业竞争如此之大的情况下,大公司早都入局了,人家的解决方案比你强大,价格比你便宜,售后比你全,你拿什么去拼?
当时我问他,为啥要做餐饮解决方案,你觉得你从技术,价格,服务这些方面,你有哪里比得上客如云,微盟,美团这些巨头,他说别管那么多,东西做出来自然有办法!
现在里面过去了,基本上没有任何推进。
这肯定是定位出问题了啊,不要觉得你手上有产品就能赚钱,如果是这样,那还需要销售干嘛。
对于小公司来说,大家都是技术出身,没有营销经验,就算做出产品来,也只能摆着看,如果要请销售团队,公司又支撑不起,显然矛盾了!
所以就尽量别去做这类似的产品,应该去做一些能解决别人痛点的小而美的解决方案。
就像微信公众号刚兴起的那几年,因为公众号自带的编辑器很难用,有一个人就做了一个小编辑器出来,赚得盆满钵满。
看似冷门,但是垂直!
2.陷入大而全的误区
接着上面的说。
后面有人看到看到了这个红利,就进军去做,他们希望做出更强大,功能更全的编辑器,结果花了大量时间去做,最后产品出来了,但是市场已经被别人抢了先机,最终不得不死。
这就是迷恋大而全的后果!
其实开源就是一个很好避免大而全的方案。
在开源领域,先做出一个小而美的产品,把影响力传播开,然后根据用户的需求不断迭代,这时候不是人去驱动产品了,而是需求去驱动产品。
这样做出来的产品不仅能避免出现很多无用的功能,还能节约很多的成本!
一定要让用户的需求来驱动产品的发展,而不是靠自己的臆想去决定做什么产品!
老罗当年在做锤子科技的时候,我觉得他就陷入了想去做一个大而全的产品,还陷入自己以为的漩涡,所以耗费了很多资金去研发TNT,所以导致失败。
如果那时候致力于去做好坚果系列,那么结局可能大不一样!
3.没有尝到甜头,你怎敢去做!
在我们贵州本土,有一个技术大佬,他一开始做了一个门户系统的解决方案,后续就有人来找他,说要购买他的系统,他从里面尝到了甜头!
于是就在这个领域持续深耕,最终形成了一套强大的解决方案。现在他的解决方案已经遍布全国。
他们公司基本上就是靠门户系统的解决方案来维持的。
所以,做一个产品,只有自己尝到甜头了,再去深耕,形成一套解决方案,那么成功率就会变得越高。
特别对于小公司来说,这是很重要的!
4.总结
做产品一定要忌讳大而全,也不要陷入只要我做出来了,无论如何都能分一杯羹,这是不现实的。
市场上到处是饿狼潜伏,你不过是一只小羊羔,怎么生存?
用最少的成本开发出一个小而美的解决方案,然后拿出去碰一碰,闻到味道了,再不断进击,这样成功率就高一点,即使失败了代价也不高。
今天的分享就到这里!
来源:juejin.cn/post/7313887095415324672
软件工程师,为什么不喜欢关电脑
💡 如果想阅读最新的文章,或者有技术问题需要交流和沟通,可搜索并关注微信公众号“希望睿智”。
概述
你是否注意到,软件工程师们似乎从不关电脑,也不喜欢关电脑?别以为他们是电脑“上瘾”,或是沉迷于电脑,这一现象背后蕴含着多种实际原因。
1、代码保存与恢复。
在编写代码过程中,遇到问题时可能会暂时离开去查阅资料或者休息,而不想打断当前的思路和工作进度。如果电脑不关机,他们可以迅速回到上次中断的地方,继续解决问题,避免了重新加载项目和找回思考线索的过程。
2、远程访问与协作。
很多软件工程师采用分布式团队协作模式,需要通过SSH等远程访问手段进行代码部署、调试或监控线上服务。下班后保持电脑开机,有利于他们在家或其他地点远程处理紧急任务。
3、持续集成/持续部署。
对于实施CI/CD流程的项目,电脑上的开发环境可能作为构建服务器的一部分,用于自动编译、测试和部署代码。在这种情况下,电脑全天候运行是必需的。
4、虚拟机与容器运行。
软件工程师使用的电脑上可能运行着虚拟机或容器,用于支持多套开发环境或者运行测试实例。这些虚拟资源,通常要求宿主机保持运行状态。
5、挂起与休眠模式。
虽然没有完全关机,但许多软件工程师会选择将电脑设置为休眠或挂起模式,这样既能节省能源,又能在短时间内快速恢复到工作状态。
实际上,以上5点归根到底,都是为了保持一个持续开发环境。那么,何为持续开发环境?
持续开发环境
持续开发环境是指软件工程师为了进行软件开发而搭建的、包含所有必要工具和服务的一套完整生态系统。它涵盖了集成开发环境(IDE)、版本控制系统(比如:Git)、本地服务器、数据库服务、构建工具以及各种编程框架和库等元素。这个环境是软件工程师日常工作的核心载体,也是他们实现高效编程、调试和测试的基础。
首先,持续开发环境通过自动化流程,极大地减少了开发过程中的人工干预。每当软件工程师提交代码到版本控制系统时,持续开发环境会自动触发构建、测试和部署流程。这意味着:软件工程师无需手动编译代码、运行测试用例或手动部署应用程序。这些繁琐的任务由持续开发环境自动完成,从而释放了软件工程师的时间和精力,让他们更专注于编写高质量的代码。
其次,持续开发环境有助于及时发现和修复问题。在持续集成的过程中,每次代码提交都会触发一次完整的构建和测试流程。这意味着:任何潜在的错误或问题都会在早期阶段被及时发现。此外,持续开发环境通常与持续监控和警报系统相结合,当出现问题时,系统会立即向团队成员发送警报,从而确保问题能够得到及时解决。
此外,持续开发环境还促进了团队协作和沟通。通过版本控制系统和自动化测试工具,团队成员可以轻松地查看彼此的代码、理解彼此的工作进度,并在出现问题时及时沟通。这种透明的工作方式有助于建立信任、减少误解,从而提高团队的整体效能。
最后,持续开发环境为创新提供了有力的支持。在快速迭代和不断试错的过程中,软件工程师可以迅速验证他们的想法和假设。如果某个功能或改进在实际应用中效果不佳,他们可以迅速调整方向,尝试新的方法。这种灵活性和敏捷性使得软件工程师能够不断尝试新的技术和方法,从而推动软件行业的创新和发展。
在这个日益复杂和快速变化的数字世界中,持续开发环境已经成为软件工程师们不可或缺的利器。但持续开发环境的搭建和启动可能耗时较长,因此为了保持工作连续性,软件工程师往往倾向于让电脑保持开机状态,以便随时可以继续编程或调试。
案例一
假设小张是一位正在开发一款大型Web应用的后端软件工程师,他的工作台的配置如下。
操作系统:Windows 10。
集成开发环境:IntelliJ IDEA,用于编写Java代码。
版本控制系统:Git,用于代码版本管理及团队协作。
本地服务器:Apache Tomcat,用于运行和测试Java Web应用。
数据库服务:MySQL,存储应用程序的数据。
构建工具:Maven,负责项目的自动化构建与依赖管理。
虚拟机环境:Docker容器,模拟生产环境以进行更真实的测试。
在每天的工作中,小张需要不断地编译代码、调试程序、提交更新到Git仓库,并在本地Tomcat服务器上验证功能是否正常。同时,他还可能需要在Docker容器内模拟不同的操作系统环境,以对软件进行兼容性测试。
如果小张下班时关闭了电脑,第二天重新启动所有服务和工具将会耗费至少半小时以上的时间。而在这段时间里,他无法立即开始编程或解决问题,影响了工作效率。
此外,小张所在的团队采用了CI/CD流程,利用Jenkins等工具自动执行代码编译、单元测试以及部署至测试服务器的任务。这就要求他的电脑作为Jenkins客户端始终在线,以便触发并完成这些自动化任务。
因此,为了确保高效流畅的开发流程,减少不必要的环境配置时间,及时响应线上问题以及支持远程协同,小张和其他许多软件工程师都会选择让自己的电脑始终保持开机状态,维持一个稳定的持续开发环境。
案例二
假设小李是一名全栈开发者,他正在参与一个大型的微服务项目,他的开发环境配置如下。
操作系统:Ubuntu 20.04 LTS。
集成开发环境:Visual Studio Code,用于编写前后端代码。
版本控制系统:Git,协同团队进行代码管理。
本地开发工具链:Node.js、NPM/Yarn用于前端开发,Python及pip用于后端开发,同时使用Kubernetes集群模拟生产环境部署。
数据库与缓存服务:MySQL作为主数据库,Redis作为缓存服务。
消息队列服务:RabbitMQ用于微服务间的异步通信。
CI/CD工具:GitHub Actions和Docker Compose结合,实现自动化构建、测试和部署。
在项目开发过程中,小李需要频繁地编译、打包、运行并测试各个微服务。一旦他关闭电脑,第二天重新启动所有服务将耗费大量时间。比如:搭建完整的Kubernetes集群可能需要数分钟到数十分钟不等,而每次重启服务都可能导致微服务间的依赖关系错乱,影响开发进度。
此外,由于团队采用了敏捷开发模式,每天都有多次代码提交和合并。为了能及时响应代码变动,小李设置了自己的电脑作为GitHub Actions的一部分,当有新的Pull Request时,可以立即触发自动化构建和测试流程,确保新代码的质量。
更进一步,在下班后或周末期间,如果线上服务出现紧急问题,小李可以通过SSH远程登录自己始终保持在线的电脑,快速定位问题所在,并在本地环境中复现和修复,然后推送到测试或生产环境,大大提高了响应速度和解决问题的效率。
综上所述,对于像小李这样的全栈开发者而言,维持一个持续稳定的开发环境是其高效工作的重要保障,也是应对复杂软件工程挑战的关键策略之一。
案例三
假设小王是一名独立游戏开发者,他正在使用Unity引擎制作一款3D角色扮演游戏,他的开发环境配置如下。
操作系统:macOS Big Sur。
集成开发环境:Unity Editor,集成了脚本编写、场景设计、动画编辑等多种功能。
版本控制系统:Perforce,用于大型项目文件的版本管理和团队协作。
资产构建工具:TexturePacker用于图片资源打包,FMOD Studio用于音频处理和混音。
本地测试环境:在电脑上运行Unity的内置播放器进行实时预览和调试。
云服务与部署平台:阿里云服务器作为远程测试和分发平台。
在游戏开发过程中,小王需要频繁地编辑代码、调整场景布局、优化美术资源并即时查看效果。由于Unity项目的加载和编译过程可能较长,尤其在处理大量纹理和模型时,如果每次关闭电脑后都要重新启动项目,无疑会大大降低工作效率。
此外,小王经常需要利用晚上或周末时间对游戏进行迭代更新,并将新版本上传到云端服务器进行远程测试。为了能在任何时刻快速响应工作需求,他的电脑始终保持开机状态,并且已连接至Perforce服务器,确保能及时获取最新的代码变更,同时也能立即上传自己的工作成果以供团队其他成员审阅和测试。
因此,对于小王这样的游戏开发者来说,保持持续开发环境不仅能有效提高日常工作效率,还能确保在非工作时段可以灵活应对突发任务,从而更好地满足项目进度要求。
总结
持续开发环境为程序员提供了一个高效、稳定且富有创新的工作环境。它通过自动化流程、及时发现问题、促进团队协作和支持创新,为软件开发带来了巨大的变革。
保持持续开发环境对于软件开发者而言至关重要,它能够显著提高工作效率,并确保项目开发的连贯性。通过维持开发环境始终在线,我们可以在任何时间方便地进行代码编辑、资源优化、实时预览和调试,并能灵活应对团队协作需求,实现快速迭代更新,从而满足项目进度要求。
来源:juejin.cn/post/7376837003520245772
种种迹象表明:前端岗位即将消失
最近,腾讯混元大模型的HR约我面试,为了确定是否真招人,我打开了腾讯内推的小程序,确实有这个岗位,但整个深圳也只有这一个。
于是,我突然意识到:在大模型时代,前端工程师这个岗位应该会是最先消失的岗位。
AI程序员的诞生
24年年初,英伟达CEO黄仁勋表示,自己相信就在不久的将来,人类再也不需要学习如何编码了,孩子们应该停止编程课。
然后24年3月,一家叫Cognition美国初创公司,发布了首个AI软件工程师Devin。它掌握全栈技能,云端部署、底层代码、改bug、训练和微调AI模型都不在话下。
只需一句指令,Devin就可端到端处理整个开发项目,这再度引发“码农是否将被淘汰”的大讨论。在SWE-bench上,它的表现远远超过Claude 2、Llama、GPT-4等选手,取得了13.86%的惊人成绩!
也就是说,它已经能通过AI公司的面试了。
接着4月,阿里发布消息称,其迎来了首位 AI 程序员——通义灵码。并在阿里云上海AI峰会上,阿里云宣布推出首个AI程序员,具备架构师、开发工程师、测试工程师等多种岗位的技能,能一站式自主完成任务分解、代码编写、测试、问题修复、代码提交整个过程,最快分钟级即可完成应用开发,大幅提升研发效率。
此次发布的AI程序员,是基于通义大模型构建的多智能体,每个智能体分别负责具体的软件开发任务并互相协作,可端到端实现一个产品功能的研发,这极大地简化了软件开发的流程。
由此带来的影响
一方面, AI技术的迅速发展和普及势必给程序员的工作带来冲击:传统的编码方式将显著改变,水平一般的程序员被取代的趋势或不可避免。
另一方面,尽管AI可以辅助程序员快速生成代码、提高开发效率,但并不能完全取代程序员的角色,尤其是技术理解深厚、能力强大的高水平程序员。
对于未来的程序员而言,掌握AI技术并应用于自己的工作流程中,与AI协同工作从而提高自己的工作效率和编码质量,是与时俱进、适应市场的必然需求。
由此,未来一名好的程序员不应仅仅是一名技术人员,还需要具备广泛的知识和技能。他们是整个人、机、环境系统框架中的创造者,要持续创新、创造价值。
具体而言,为了编写高质量代码,他们可能要精通多种编程语言;为了能按需选用合适的技术方案,他们要能迅速适应新的技术和工具。
为了面对复杂问题时能抓住原因并及时分析解决,他们必须保持与团队及客户的高效沟通协作,并不断积累知识、经验,同步跟进行业技术前沿,针对具体问题设计出创新的解决方案,保障程序的稳定性和可靠性。
所以,去年我在 从美团的开发通道合并谈谈开发的职业规划 就提出:LLM在软件工程的采用,将在众多工程领域产生突破,甚至于颠覆,由此也敦促我们必须认真审视专业能力的变迁和专业角色的定义。
为何最先消失的是前端岗
在我去年写前端学哪些技能饭碗越铁收入还高时,我还没有前端岗位可能即将消失的观点,但过去半年和很多猎头聊了一下前端岗的机会,以及看了很多后端培训课程中都包含前端的知识技能。
再结合22年我在美团内部,给几百个后端同学培训如何快速上手前端开发,我觉得前端这个岗位很有可能以后在招聘中就看不到这一细分岗位了。
其实15年前,全球应该都没有前端工程师这个岗位,当时的多数前端工作都比较简单,一部分是后端自己做,一个部分则是设计出生的切图仔完成~
后来随着移动互联网的兴起,前端开发语言发布了全新的规范ES6,整个前端开发生态逐步繁荣了起来,因为发展很快,网页的多端兼容和多版本工作比较繁杂,所以前端工作才由一个全新的岗位为负责。
原本很多前端同学在整个系统开发中就处于辅助角色,经常是多个团队的后端争抢一个专业的前端工程师,但如今,随着前端技术已经非常成熟和完善和大模型技术的加持,后端完成前端工作越来越容易。
所以,各公司自然就会减少很多前端岗位的招聘,只有少量技术比较新或业务比较复杂的项目才需要少量专职的前端工程师。
从各公司合并开发通道来看,消失的不仅是前端,还有后端和系统开发,对外招聘岗位都是软件工程师,工作内容根据需要动态调整。
总结
知识本身并不是力量,能有效将知识应用于实践才是真正的力量。同样,大量的编程知识可能是有价值的,但若不会运用、不知变通,无法解决实际问题,它就很难产生任何实质性影响。
能够有效使用程序,意味着智能体正具备将知识与学习应用转化的能力。这就需要程序员具备一些编程规则之外的能力,如分析、判断、解决问题的能力等。
程序员之所以能够不被取代,底气正在于其能将所学与实际情况相结合,并作出正确决策,而不是像AI程序员那样的编程工具,为了编程而编程。
未来,AI负责基础重复性劳动、人类程序员负责顶层设计的模式已经初露端倪,而认为人类程序员将被AI取代、沦为提要求的“边缘人”,为时尚早。
来源:juejin.cn/post/7392852233999892495
一文让你彻底悟透柯里化
什么是柯里化?
在数学和计算机科学中,柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术
前端为什么需要使用柯里化?
前端使用柯里化的用途主要就是简化代码结构,提高系统的维护性,一个方法只有一个参数,强制了功能的单一性,很自然就能做到功能内聚,降低耦合
一句话就是:降低代码重复率,提高代码适应性
普通函数
实现一个普通的累加函数,调用时需要传入三个参数,如果少 传则输出NaN,多传则后面的参数都无效
function add(a,b,c){
return a + b + c
}
add(1,2,3) //6
普通柯里化函数
实现一个普通的柯里化函数(含有柯里化性质),通过调用传参的方式将函数传入,并传入参数进行运算,返回一个新的函数的参数进行累计(取决于传入函数时传入参数的个数以及执行函数的传入参数进行累计)
function add(a, b, c) {
return a + b + c;
}
function fixedCurryAdd(fn) {
const arg = [].slice.call(arguments, 1);
return function () {
const newArg = arg.concat([].slice.call(arguments, 0));
return fn.apply(this, newArg);
};
}
const curryAdd = new fixedCurryAdd(add, 1);
console.log(curryAdd(2,11)); //14
柯里化函数
通过上面的含有柯里化性质的函数可以看出 ,要实现柯里化函数可以有多种传参方式,例如:
newAdd(1,2,3,4)
newAdd(1)(2,3,4)
newAdd(1)(2,3)(4)
newAdd(1)(2)(3)(4)
含有多种传参方式 ,无论哪种方式,最后都会把所需参数传入,但是柯里化函数只是期望你执行这次函数传入所需参数个数,并不强求你传入所需参数(4个,可传1个后续补上即可,最后一次凑齐4个即可)
function add(a, b, c) {
return a + b + c;
}
function CurryAdd(fn){
let arg = [].slice.call(arguments,1);
return function(){
let newArg = arg.concat([].slice.call(arguments,0));
return fn.apply(this,newArg);
}
}
function Curry(fn,length){
let len = length|| fn.length; //获取传入函数所需参数的个数
return function(){
if(arguments.length <len){
const callback = [fn].concat([].slice.call(arguments,0));
return Curry(CurryAdd.apply(this,callback),len-arguments.length);
}else{
return fn.apply(this,arguments);
}
}
}
let adds=new Curry(add)
let a = adds(1)(2)
console.log(a(1)); //4
以上完善柯里化函数的整个书写。下面来捋一下这个书写过程的思路
- 首先柯里化函数期待传入一个函数,并且返回一个函数(add)
- 通过fn.length获取当前以传入的参数个数
- 在返回函数中判断当前参数是否已传入完毕
- 如果已传入fn.length个 则直接调用传入函数
- 如果未传入fn.length个 则通过callback将fn放到第一位在进行合并arguments作为下一次进入此函数的参数,通过CurryAdd 函数对参数再进行一遍"过滤",通过递归调用自己来判断参数是否已经达到fn.length个从而实现柯里化
柯里化应用
说了这么多,那么柯里化到底能做哪些应用呢?
在前端页面中,向后端进行数据请求时,大部分都用到ajax进行请求
function ajax(method,url,data){
...ajax请求体(不作书写)
}
ajax("post","/api/getNameList",params)
ajax("post","/api/getAgeList",params)
ajax("post","/api/getSexList",params)
如果有这么多请求且每次都需要写请求方式("post"),页面多了请求多了自然成为冗余代码,那么优化一下
const newAjax = Curry(ajax);
const postAjax = newAjax("post")
...
如果url还有类似的那么就可以重复以上的代码,这样能减少相同代码重复出现
来源:juejin.cn/post/7389049604632166427
背调,程序员入职的紧箍咒
首先说下,目前,我的表哥自己开一家小的背调公司,所以我在跟他的平时交流中,了解到了背调这个行业的一些信息。
今天跟大家分享出来,给大家在求职路上避避坑。
上周的某天,以前的阿里同事小李跟我说,历经两个月的面试,终于拿到了开水团的offer。我心里由衷地替他高兴,赶紧恭喜了他,现在这年头,大厂的offer没这么好拿的。
又过了两周,小张沮丧地跟我说,这家公司是先发offer后背调,结果背调之后,offer GG了,公司HR没有告知他具体原因,只是委婉地说有缘自会再相见。(手动狗头)
我听了,惋惜之余有些惊讶,问了他具体情况。
原来,小李并没有在学历上作假,也没有做合并或隐藏工作经历的事。
他犯错的点是,由于在上家公司,他跟他老板的关系不好,所以他在背调让填写上级领导信息的时候,只写了上级领导的名字,电话留的是他一个同事的。
我听后惋惜地一拍脑门儿,说:“你这么做之前,怎么也不问我一下啊?第三方背调公司进行手机号和姓名核实,都是走系统的,秒出结果。而且,这种手机号的机主姓名造假,背调结果是亮红灯的,必挂。”
小李听后,也是悔得肠子都青了,没办法,只能重新来过了。
我以前招人的时候,遇到过一次这样的情况,当时有个候选人面试通过,发起背调流程。一周后,公司HR给了我一份该候选人背调结果的pdf,上面写着:
“候选人背调信息上提供,原公司上级为郭xx,但经查手机号主为王xx,且候选人原公司并无此人。”
背调结果,红灯,不通过。
基本面
学历信息肯定不能造假,这个大家应该都清楚,学信网不是吃素的,秒出结果。
最近两份工作的入离职时间不要出问题,这个但凡是第三方背调,近两份工作是必查项,而且无论是明察还是暗访,都会查得非常仔细,很难钻空子的。
再有就是刚才说的,手机号和人名要对上,而且这个人确实是在这家公司任职的。
大家耳熟能详的大厂最好查,背调公司都有人才数据库的,而且圈子里的人也好找。再有就是,随便找个内部员工,大厂的组织结构在内部通讯软件里都能看到的。
小厂难度大一些,如果人才数据库没有的话,背调员会从网上找公司电话,然后打给前台,让前台帮忙找人。但有的前台听了会直接挂断电话。
薪资方面,不要瞒报,一般背调公司会让你打印最近半年或一年的流水,以及纳税信息。
直接上级
这应该也是大家最关心的问题之一。
马云曾经说过:离职无非两种原因,钱没给够,心委屈了。而心委屈了,绝大多数都跟自己的直接上级有关。
如果在背调的时候,担心由于自己跟直接上级关系不好,从而导致背调结果不利的话,可以尝试以下三种方式。
第一,如果你在公司里历经了好几任领导的话,可以留关系最好的那任领导的联系方式,这个是在规则允许范围内的。
第二,如果你的直接上级只是一个小组长,而你跟大领导(类似于部门负责人)关系还可以的话,可以跟大领导沟通一下,然后背调留他的信息。像这个,一般背调公司不会深究的。
就像我的那个表哥,背调公司的老板所说的:“如果一个腾讯员工,马化腾都出来给他做背调了,那我们还能说什么呢?”
第三,如果前两点走不通的话,还可以坦诚地跟HR沟通一次,说明跟上级之间确实存在一些问题,原因是什么什么。
比如:我朋友遇到了这种情况,公司由于经营不善而裁员,老板竟然无耻地威胁我朋友,如果要N+1赔偿的话,背调就不会配合。
如果你确实不是责任方的话,一般HR也能理解。毕竟都是打工人,何苦相互为难呢。
你还可以这么加上一句:“我之前工作过的公司,您背调哪家都可以,我的口碑都很好的,唯独这家有些问题。”
btw:还有一些朋友,背调的时候留平级同事的真实电话和姓名,用来冒充领导,这个是有风险的。但是遇到背调不仔细的公司,也能通过。通过概率的话,一半一半吧。
就像我那个朋友所说:“现在人力成本不便宜,如果公司想盈利的话,我的背调员一天得完成5个背调,平均不到两个小时一个。你总不能希望他们个个都是名侦探柯南吧。”
信用与诉讼
一般来讲,背调的标准套餐还包括如下内容:金融违规、商业利益冲突、个人信用风险和有限民事诉讼。其中后两个大家尽量规避。
个人信用风险包括:网贷/逾期风险、反欺诈名单和欠税报告。
网贷这块,当时我有一个同事,2021年的时候,拿了4个offer,结果不明不白地都挂在了背调上,弄得他很懵逼。
当他问这三家公司HR原因的时候,HR都告诉他不便透露。
最后,他动用身边人脉,才联系上一家公司的HR出来吃饭,HR跟他说:“以后网贷不要逾期,尤其是不同来源的网贷多次逾期。”
同事听了,这才恍然大悟。
欠税这个,就更别说了,呵呵,大家都懂,千万别心存侥幸。
再说说劳动仲裁和民事诉讼。
现在有些朋友确实法律意识比较强,受到不公正待遇了,第一想法就是“我要去仲裁”,仲裁不满意了,就去打官司。
首先我要说的是,劳动仲裁是查不到的,所以尽量在这一步谈拢解决。
但民事诉讼在网上都是公开的,而且第三方背调公司也是走系统的,一查一个准儿。如果非必要的话,尽量不要跟公司闹到这一步。
如果真遇到垃圾公司或公司里的垃圾人,第一个想法应该是远离,不要让他们往你身上倒垃圾。
尤其是你主动跟公司打官司这种,索要个加班费、年终奖什么的,难免会让新公司产生顾虑,会不会我offer的这名候选人,以后也会有对簿公堂的一天。
结语
现在这大市场行情,求职不易,遇到入职前背调更是如履薄冰,希望大家都能妥善处理好,一定要避免节外生枝的情况发生,不要在距离成功一米的距离倒下。
最后,祝大家工作顺利,纵情向前,人人都能拿到自己满意的offer,开开心心地入职。
来源:juejin.cn/post/7295160228879204378
那些年,我在职场中做过的蠢事
大家好,我是程序员马晓博,目前从事前端行业已有5年有余,而近期由于被裁员有一段时间,也开始回顾自己的过往,发现自己以前在职场中,做过不少傻事,这里就写篇文章来记录下。曾经的犯傻已不可避免,索性公之于众,坦然面对。
ps: 像一直戴工牌,故意露个工牌带子在外面就不说了,谁还没年轻过呢?还真谁也别笑话谁哈哈。
自诩正义强出头
这是我在腾讯实习的时候遇到的,故事很简单,有个同事加了一个全局错误捕获的逻辑,导致原本有报错但是能够正常运行的程序,出现了线上 bug。
此时团队间要追究责任,认为是加了全局捕获错误的同事的责任。从现在的视角看,加了全局错误捕获同事自然是有问题的,但是当时的我,非常正义的认为,写 bug 的人才应该承担责任,而为了让代码更健壮写了全局错误捕获的同事是没有错的。
现在回想起当时自己义正严辞的发言,真是太年轻啦。
更何况这事我连当事人都算不上,只能安慰自己:谁还没年轻过呢?
平易近领导
这个事,也是发生在腾讯实习期间。
在来实习之前的我,深受互联网扁平化管理,工位不做区别,这些非常先进的思想影响,到了腾讯之后,听领导说,自己平时喜欢游泳,我一想我也喜欢啊,就直接跑领导工位上问,你平时在哪里游泳?
吓的我的直属上级,直接跑出来拉住我,我给你推荐,我带你游泳。
还有一次是,午休一起打王者荣耀,人多了把我空出来了,我就指导领导玩亚瑟,上来就说你这出装太肉了,没一点伤害,要怎么怎么玩。
我现在还能想起来他当时的眼神,你,是在教我做事?
对于领导,毫无距离感。这应该是很多年轻人都会有的心态,还会认为这就是年轻人的本色,是互联网的特色,而且会对奉承领导的人嗤之以鼻。
当然,互联网公司文化本身也都提倡这种,没有上下级,大家都能上。也就是倡导所谓扁平化管理,工位也是领导普通员工没区别。
曾经的我认为这一切都是问题不大的,就是扁平化,互联网就是不一样,但是透过一些其他行业的人,我虽不介意工位情况,但是难免对其底层所宣扬的扁平化产生一定的怀疑。
ps: 这里放一个其他行业的人的对互联网工位的一些看法,我妹妹(中国移动打过一段时间工)来参观了我的工位之后说了一句话:这是工位?牛马间吧这是,我不以为然。直到我看到了她的工位,差别还真不是一般的大,好歹有隔间。这里应该放一张图,但是我没有,大家自行脑补吧哈哈。
自诩性格真诚直率
可谓是初生牛犊不怕虎吧,看到认为拉垮的代码,就会找同事当面聊,应该怎么怎么样,不应该怎么怎么写。
但是实际上,代码写成你认为的不合理的样子,往往是很多因素导致的,或工期,或对方当时也是初学者,或团队风格,或当时环境,或仅仅是对方对新方案的尝试。
上下文不了解,就开始吐槽。但是实际上人家的代码线上运行毕竟没有问题,没有故障的代码,本身就是一份合格的代码以及对方能力的认证。
而我的当面不友好交流,真是一点礼貌没有。还美名其曰,性格比较直率真诚。
好在当时的同事比较友好,并未计较,还在我后来选房子的时候还提供了很大的帮助,可叹没有仔细聆听对方的教诲终究还是没有十全十美。
夜郎自大而不自知
这是在我工作两年左右时候产生的一种感觉,觉得自己完成业务没有任何压力,而且还承担了一些比较重要的工作,从而有一种觉得自己很行的错觉。
但是当时面试很快就泼了一盆冷水,一般来讲,这个阶段做业务的同学,应对业务开发其实基本都没有什么问题。
但是国内对程序员的面试根本不限于业务,深挖一些知识点,理解其原理才是及格线。
而当时的我就是一直停留在使用阶段,用好本身没有问题,但是奈何不足以应对面试。
当然,心态还是最重要的。半瓶水晃荡而不自知才是最可怕的。
开弓来个回头箭
这个事,说实话有点羞于启齿。
是我工作大概第四个年头发生的,那时我在网易工作有一年多一些。
由于自己做了一个还算比较有技术难度的项目,想要寻求晋升,结果当时的晋升期答辩都结束了自己还不知晓。
心里有闷气,就开始面试找工作,也顺利拿到了几个涨幅非常不错的 offer。
开始跟上级提离职,哈哈,对方聊了下,也答应了。
结果我自己晚上就是睡不着,始终觉得自己这个时候走,是逃避,是逃兵。而且这个时候走,之前的积累就全部白费,新公司还得从零做起。
网上都说开弓没有回头箭。但是我就还是厚着脸皮来个回头箭。
不得不说,这个决定并不算蠢事,我在整件事里最蠢的是没有想好就和上级提了离职,虽然拿了 offer,但是没有想清楚就离职,是非常不成熟的表现。
好在我的上级,也主打一个真诚,也明确说明,想清楚了就行。
接下来一年的合作非常愉快,既有可视化埋点平台这样的业务技术都有挑战的项目,也有团队状态管理方案的产出,顺利在第二年迎来了自己的晋升。
这一次,愚蠢更多是在于自己没有想清楚就开弓,而真诚待人在我看来是双向必杀技,但真诚也为我后来吃亏埋下了种子。
整体而言,在网易的几年,领导,同事,大家都比较真诚,不屑于暗地里去做一些掉份的事情,也让我在职场上,形成了真诚而缺少防范的一个问题,这在我的下一步职业生涯中,给我带来了比较大的打击和跟头。
和同事交往讲真诚
这是我在离开网易后,选择的一家规模比较小的公司。
这时候,我工作已经整整 5年了,但是我过往的经历终究让我缺少了一些对同事的防范,大公司还好,大家相互之间,利益冲突不大,更多的是合作关系,同时由于大家或多或少都有自己的一点点的"骄傲",所以其实并没有遇到一些因为利益冲突而导致的暗箭。
而过往的经历也在告诉我,真诚,并不会带来什么问题。
真诚无错,但是说者无意听者有心。
到新公司之后,也到了该带人的职级,此时,我还是主打真诚,很快就和团队融为一片。
几个关系近的同事和下属,知道我家里买了几套房,知道我平时看的书,知道我平时都在干啥,知道我对生活和工作的态度,知道我在工作上的安排。
这些事情,平时没有什么问题,但是当和有心的同事出现利益冲突的时候,这些事情就成为一把利剑,间接导致我失去了这份工作。
而这些利剑,是我亲手递给了对方。
对职场恶意的容忍
如果说真诚是给别人递了一把利剑,那么自己的容忍和锋芒的隐藏,是我自己收起了盾牌。
我在周围的同事身上,总能看到自己的影子,所以对于他们的恶意,往往有一定程度的容忍,我觉得,年轻人嘛,有点锋芒,很正常。
比如,当他们吹嘘自己写了一篇文章,获得了几个赞的时候,我往往是进行倾听并表示赞赏,虽然几个赞的文章其实真的很简单。又或者公开场合提出质疑,虽然我会讲道理,理可以辩明,但是对于这其中的恶意,我一般会选择包容。
但是就是这一步,自身锋芒的隐藏,在对方眼里却是得寸进尺的机会。
个人觉得,作为级别比对方高的,还是需要适时的漏出自身的锋芒,而不是仅仅倾听加赞赏,同时由于私下交往的密集,更导致对方的肆无忌惮。
从而亲手递给对方利剑,又自己收起盾牌。
只能说,在这条路上,我还是太稚嫩。
最后
以上,就是我个人认为在职场中,做过的一些蠢事。虽然已经工作了五年之久,但是这条路上,还是觉得太过稚嫩,谨以此文,纪念哪些蠢事!
ps: 不知道看完这篇的你,有没有回忆起一些类似的事情呢?欢迎交流哈。
// 还是那句话,都年轻过,谁也别笑话谁~
来源:juejin.cn/post/7357994849386102836
从20k到50k再到2k,聊聊我在互联网干前端的这几年
大家好,我是程序员晓博,目前从事前端行业已经有将近 6年。这六年,从最初的互联网鼎盛时期,到今年是未来十年内最好的一年,再到疫情时期的回暖,再到如今年年都喊寒冬的寒冬。从最初的 20k,到最近的一份 50k 的工作,再到如今的 "政府补贴" 2k,可谓是感悟颇多。
刚好最近 gap 一段时间,有所空闲,就整理下这几年的经历以及我所看到的行业的兴衰。
学生见闻
我是 2011 年读的大学,当时是电子科学与技术这个专业,并非计算机科班出身,更偏向于硬件编程,单片机,嵌入式,FPGA 这些会更多一些。
所以当时对于互联网行业的前端后端,并没有特别明确的概念,也对于 c++, java 这些语言的地位和适用性其实也没有明确的认知。
记得是 2012, 2013 年的时候,学校里经常有 java 培训班的宣传,说实话,那会还看不上 java,虽然自己也不会,但是学校里教的都是 c, c++, java 那会在我看来,更多的是一个 c++ 简化后的语言,所以对于我这个非科班的并没有提起兴趣。
现在回想起来,那时可真是入行的好时期,当然也是风云变换的几年。那会学校流传着一个段子: 你只要会安装 eclipse,就能找到一份美团的工作。而之后的一年,你得开发过自己的 app,才能找到安卓开发工作。
不过当时更多的观念告诉我至少得读个研究生出来,所以我选择了读研而非直接工作。可以说是错过了互联网飞速发展的黄金时期,直接毕业就来到了今年是未来十年里最好的一年。
也就是在研究生阶段,我才慢慢了解到,外界的互联网大厂,其实已经分化出了移动端,前端,后端这样的岗位,当时的前端圈最为活跃,而移动端,后端,似乎都已经定型。而前端圈的新框架此起彼伏,从 react, vue, webpack,还有很多已经消失在历史中的框架。
在当时的就业情况下,前端的工资似乎是最高的,在加上当时的前端圈确实很活跃,而学习起来也比较简单。作为非科班的学生,自学前端上手最快,所以我选择了前端作为自己的就业方向。专业对口的硬件开发就不说了,工资实在是大相径庭。
但是话说回来,硬件开发如今的热门程度,并不亚于当时的软件开发。硬件开发培训,挑战 30w 年薪这样的培训班,在 2022 年左右也出现了,一如当时 2015 年左右 java 开发包就业那样的火热。
不过这个专业,其实还给我带来了一份现在看起来可以称为副业的东西:代写课程设计和毕业设计,因为是比互联网前后端更细分的赛道,所以竞争并不激烈,我还是接到了不少的单子,但是由于自己本身也是学生,所以定价很低,基本按照 100/h 的费用在收,也有做代码复用的整合,但是在硬件这一块,它的售后并不像软件这样,往往需要花费时间帮用户在板子上走通,这一部分是比较花费时间的。也在研究生阶段尝试过转项目的方式来获取收益,但是由于定价过低以及单子并不多的问题,而没有继续。不过如今想来,借助 chatgpt 等 AI 工具,定价确实还能更低(尤其是包含论文的单子)。
第一份实习
出于提升自身竞争力的考虑,我在研究生阶段就开始了边自学,边找实习。好在自学的时间比较早,准备的也比较充分,顺利拿到了腾讯等几家公司的实习。
当时虽说还处于互联网发展的时期,但是竞争其实就已经比较激烈了,没有实习进大厂基本就是 hard 模式,我也是面试了 n 家公司,才拿到的 offer。
不过腾讯这个部门虽然在面试的时候,会问一些比较现代技术的问题,但是实际进去后,是写的 php 和 jquery。我的收获其实并不多,但是简历上好看一点,后来也顺利拿到了转正的 offer。
当时给的薪资应该是 16k 左右,还会加上城市的补贴大概 2k。不过最终因为房价的原因,并没有考虑留在深圳。
ps:我在实习的时候专门考察了深圳腾讯总部附近的房价,好像是 6w,确认过眼神,是掏光 6 个钱包也买不起的房子。不过据说一度涨到了 10w,现在没有再关注了,可能有所下跌吧。
说起来当时还有一个事让我印象比较深刻,也因此对阿里有了一些抵触。就是 2017:众多应届生被阿里毁了 offer。而对于这种事情,阿里给的解释是:拥抱变化。
可能马爸爸从那时就嗅到了危机,但这却是我第一次听说毁应届生 offer,非常败好感。ps: 现在这种毁应届生 offer 的事是非常常见啦。
似乎那时警钟已经敲响,但是我并没有未雨绸缪。
第一份工作
我是 2018 年毕业的,那会北京,上海,都有落户的限制,甚至还有一些积分制等似乎不欢迎应届生去上班的感觉。
那会刚毕业,可谓是心比天高,落个户都这么麻烦,我还不想去呢!还不如人深圳的口号,来了就是深圳人。而当时阿里的总部,就在杭州,而且杭州只要是大学生,立马就能落户,立马能摇号买房。而当时房价也比较亲民 (确认过眼神,是掏光钱包可以买得起的价格)。
所以基本上只找杭州的工作。最终入职了当时比较热门的 p2p 领域的独角兽,51 信用卡。
当时的 51信用卡,可以说是 p2p 领域的一只牛逼独角兽,甚至这家公司的缩写就是 51NB。
不过以我当时的认知,入职 51信用卡,纯粹是因为 20k 的薪资,以及全额报销来回路费。要知道当时 BAT 虽然有报销,但是实际上都有各种限制和上限。
ps: 以我当时的认知,几乎没有任何犹豫,我就关闭了我的副业通道,因为我觉得,精进前端技术,带来的收益更大,毕竟一个月 20k 的收入,更别提还有 4个月加的年终收入了。而这份副业,一方面对主业没有提升,同时还要消耗比较大的精力(主要集中在给学生讲解代码以及售后上),收入也就几千块而且时间比较集中,很难兼顾。
现在回过头来看,真的是误打误撞赶上了 p2p 行业的末班车。起始薪资确实不错,但是很快就来到了国家严控 p2p 行业的开端。
最终,入职当年,就遇到了一波一波的裁员,从开始的 n + 3,到 n + 2 再到 n + 1,可谓是一波一波的裁员。也包括了应届生。一如现在,应届生也还是裁员重灾区。
也因为 51 当时是杭州互联网第一波开启的裁员,还裁了应届生。口碑急转直下,但是很快就迎来了反转,隔壁滴滴,微店等也迅速开启裁员模式,仅仅只有 n + 1。
ps: 在 51 的第一年,是有年会的。第二年,年会倒是有,但是主题就是一句话,今年将是接下来十年内,最好的一年。也是这一年 2019,p2p 彻底宣告结束,51 也出现了警车上门的事件。最终借贷业务转型为依赖于银行的借贷业务。也结束了接近 10% 的储蓄利率时代。
短暂的阿里之旅
2020 年年初,p2p 行业宣告结束叠加疫情之初,悲观情绪四处蔓延。我在 51 的旅程也渐渐走到了尾声。
当时面试了字节和阿里。彼时的字节跳动,在杭州名气和规模还没有如今这么大。权衡之下选择了名气更盛,当时口碑更好的阿里。但是我对于字节的判断,实在是偏差的离谱,看着如今蒸蒸日上的字节,真是后悔莫及。
但是进了阿里,说实话是真有些不适应。
一方面生活上,不提供纸巾,让我颇为诧异,而时不时的团队聚餐竟然是 AA 也让我非常不适应。
当然,对方看我也很奇怪,说了一句话,感觉你是外企来的 (ps: 如今的 51信用卡还是有点小而美的感觉,各项业务依托也还在继续,也有露营等新业务的开拓,老板自由后也还在继续折腾着)。
因为疫情的原因,我并没有经历百阿培训。但是有一本小册子,写着价值观。让我印象深刻的是,"此时此刻,非我莫属" 和 "不难,要你做什么"。
这两句话听起来都没有什么问题,鼓励人奋进并没有任何问题,但是以前的奋斗,伴随着可能的巨大的回报,而我当时的付出与回报,显然已经是大打折扣了。
那时还没有 pua 的说法,但是确实有一些话让我觉得不舒服,比如目标要跳起来才是 3.5,蹦起来才是 3.75,以及业务好和你一点关系都没有,你把业务做好了,也只能给你 3.25。必须得出一些技术项目,才能拿到好绩效。
而那种没有人会点明但是大家都在执行的道理:和我 kpi 有关的就是天,无关的就是已读不回,而已读不回,就是拒绝。更是让当时还非常稚嫩的我想要逃之夭夭。
这些也不能说错,但是这确实和我在 5信用卡当时围着业务转的风格大相径庭。
说回技术,阿里整个集团的基建可以说非常好,反而我所在的这个小前端团队的基建,赶不上 51前端团队的基建。
不论是脚手架,发布系统(比较让我震惊的是我当时团队的发布是自己丢文件到服务器上,测试正式环境的区分还是靠手动维护的一份文件),开发流程,完全赶不上 51当时的丝滑程度。
可以说是对压力的逃避,也可以说是对这种环境的不适应,也可以说是对涨幅的不满,我很快就开启了下一段旅程。
现在回过头来看,当时离职,还是冲动占了大部分。一方面,随着后来业务接触的多了,能够理解当时那个小团队的基建差的原因:主要是业务形态,当时的小团队是 toB 的,要维护的仅仅是一个项目,自然在发布流程上的投入不会太多,而且收益也是远远不及 51 这种移动端几十上百个工程的发布工作来的实在。
而另一方面,所谓的深夜开会,不明说但是心里都清楚的加班氛围,以及唯 kpi 导向的风气,其实也不过是一种生存规则而已。强行说服自己接受也很容易。毕竟人生如戏,适应规则,利用规则,掌握规则,但凡能够想通这一点,当时坚持下来也非常容易。
长达三年的网易之旅
当处于阿里的水深火热之中时,一个在周末就完成了全部流程的网易团队,向我抛出了橄榄枝。
经过短暂的调整,我也就入职了这个团队,不曾想一待就是三年。此时的薪资来到了 30k 左右,但是由于当时这个团队独特的奖金制,月收入会比 base 高出不少。
团队的业务主要是直播,所以 toB 和 toC 的业务都有。基建上也比较完善,发布系统,组件库,脚手架,微前端,等等,相对更为繁荣。
这个团队并没有明确的技术项目的考核,还是以业务为主,大多数人,完成业务开发目标,就能够顺利拿到 3.5 的绩效,同时由于当时直播行业的繁荣,基本都会有一笔不菲的奖金。而技术项目属于锦上添花,确确实实能在最终的绩效上有所体现但是并不多。
但是恰恰是在这样的环境下,组内的同学在相对宽松的氛围下,更热衷于鼓捣技术项目,反而平时对技术的研究及讨论会更多一些。
这三年,也算是见证了业务的兴衰,从开始的营收暴涨开始出海,到最终营收暴跌收缩,到裁员。也不过短短三年。
现在回头来看,在这三年里,对于业务的了解更多的还是停留在表层,虽然当时觉得自己理解业务方的需求了,但是其实内部的很多玩法还是远非仅仅理解需求就能接触到的,什么大 R 运营,"军火商" 等等秀场直播的黑话,我是没有学到一点。
由于组内业务还算比较综合,c端页面的开发,b端后台都有所接触。同时业务之余还会有很多时间去做一些技术项目,比如我负责的 CloudIDE, WebIDE, 可视化埋点项目, 基于 zustand 的状态管理库, 均是这一时期的产物。
整体来讲,这三年不论是工作节奏,还是技术产出,都还算可以。
但是如今回过头来看,似乎这三年,对外界的关注,基本上有了一定的钝感,不像之前,对互联网的各个信息都会去了解看一下。反而这几年,说内敛沉稳也好,说闭门造车也好,说停留在自己的舒适圈内也好,除了技术层面的精进,对于整个行业的发展,都太过闭塞,仿佛只是重复一种舒适的生活过了三年:每天和老婆一起轮流开车上下班,顺便再健个身,住着自己的房子,还着公积金就能覆盖还有结余的带款。
如今回想起来,也正是这三年的经历,让我在技术上有所精进,但是对互联网行业的关注,反而有所下降。同时由于同事间的关系比较简单,也让我在人际交往上变得更加朴素真诚。
半年的小公司之旅
怎么说呢,好像人总是在不稳定的时候追求稳定,在稳定的时候追求不稳定。
所以在结束了网易的三年相对稳定的工作之后,我内心反而变得很躁动,想要去小公司,谋一番事业。
出来看机会之后,才发现外界的环境其实并没有平时了解的那么糟糕,确实不像之前机会那么多,但是确实也还有一些岗位。
在这之中,我选择了在发展业务第二曲线同时又有第一业务支持的说稳定又不稳定的公司 ---- 爱普拉维。
这家公司业务主要集中在海外,所以整体业务情况也还是非常客观。给出的薪资也比较客观,我的薪资也在这一时期,达到了 50k 左右。
不过入职之初,就经历了一些人事变动,如今想来,可以说是警醒,但是我应该是选择性的进行了忽视。心思沉浸在技术和一点点的管理上。
这个团队前端同学并不多,但是业务上除了常规的 h5 和少量的后台项目之外,还会存在一些 chrome 扩展逆向,爬虫项目的存在,而我被招进来的主要任务,也就是 chrome 扩展的逆向和爬虫项目。
在这一期间,我一度沉浸在了技术上的钻研中,从 webpack 的解码逆向,到 puppeteer 爬虫的实现,从 项目秒开的优化,到 svelte 的重构,都是对我之前技术经验的一个补充。也顺利在技术角度上在公司站稳了脚跟。度过了这个公司网上传言的不好过的试用期。
不过终归还是在人际交往上有所欠缺,叠加上公司的业务方向调整,导致了最终今年 1月份的离职。而这,也为我的职场画下了短暂的暂停键。
离职快小半年了
不知不觉离离职已经快小半年了,也顺利领到了失业金,也就是题目中提到的 2k。
这段时间从刚开始的玩乐,到中途的读书写文章,再到一些副业(对于无业人员来讲应该是主业)的探索。焦虑在所难免,未来也还比较迷茫,而其他主业的探索,说实话也没探索出来什么结果。
反倒是这段读书的时间给了我一些收获,一方面是 《穷爸爸富爸爸》中对于资产负债表的解释,我自己也做了一份,还参加了财富流沙盘游戏,对自己的财务状况有了更好的认知。另一方面便是 《认知觉醒》中关于焦虑的说法,一定程度上命中了当下的自己很多。
最后,就用《认知觉醒》中关于焦虑的根源来结束这篇文章吧:想同时做很多事,又想立即看到效果。自己的欲望大于能力,又极度缺乏耐心。人的天性就是避难驱易和急于求成。
ps: 避难驱易,这几个字实在太戳我了,也正是因为避难驱易,所以其实很多之前就想写的文章都拖拖拖,直到认识到是内心的避难驱易之后才开始控制自己开始输出,而也正是输出才让我注意到了自己之前没有注意到的点,才有了这篇文章以及 那些年,我在职场中做过的蠢事。
最后的最后,愿我们都有美好的未来!
来源:juejin.cn/post/7366567675315126281
听说去哪儿混合办公了? 聊聊程序员如何找到远程工作和好处
哈喽大家好,这两天看到去哪儿开始混合办公了,作为远程工作的支持者我表示很开心,终于有大厂全面开始支持远程员工,去哪儿的邮件截图是这么说的
去年开始现在一些团队做小范围的尝试,好评如潮,有的同学利用通勤的时间减肥,有的同学可以回家陪家人,家人对工作的支持度变高,而且工作效率一点都没下降,所以去哪儿在7月开始,每周三周五可以居家办公,无需申请
远程的好处非常明显,尤其是在一线城市,通勤的一个半小时就省下了,生活幸福度直线提高,你出去旅游周四就可以出发,如果五天都可以居家就是完全远程,你可以回老家省会还有北京一线的收入,老板节省下了组办公室的费用
因为远程无论是对员工满意度,还是老板的成本控制都很友好,混合或者远程办公在海外已经比较流行了,基本海外所有的招聘网站都有是否远程的选项,你可以过滤只看支持远程的,你搜工作就有一个选项是坐班,混合还是远程的,不像国内boss直聘,默认都是要通勤的,哪怕跟我说支持远程,也是只是面试可以远程
比如英国这边混合办公室基本操作,好一些的就会全员远程,比如这边大厂,Meta是每周去两天还是三天,我给忘了,我觉得国内以后支持远程的会越来越多,越来越多的小老板会抛弃自己奴隶主的思想,必须得盯着你干活,反而会考虑更真实的办公室成本
对远程最大的批评就是会降低工作效率,所谓的见面沟通效率才是最高的,确实有一些场景面对面效率最高,但是扪心自问,你现在开会的效率真的高吗,大公司动辄就一小时的会议,而且你首先就在通勤上浪费了一小时,你一天的效率可能很高吗 ,腾讯会议的AI总结功能比以前人工写的会议纪要不知道好多少倍
而一个人能有更多的时间照顾家庭后,闲暇时间才会产生创意,尝试新的工具和沟通方式等等,可能会让效率有非常大的提高
远程我就可以工作的同事带家人出游,远程久了你换工作就会只考虑远程的,再也不想挤地铁了,虽然现在通勤还是主流,尤其是还有马斯克这种非常反对远程的人,但是我最近聊的一些创业公司和小公司,基本都支持混合办公的
说了这么多远程办公的好处,喜欢工作和生活平衡的你可能已经蠢蠢欲动了,那远 程工作需要哪些能力呢,以及如何找到一个远程工作呢
其实远程工作有很多最佳实践,比较典型的有37signals这家公司,这家公司坚持小而美,写出来ruby on rails这种框架,有一套书叫重来,有三本,第二本就叫remote,比较系统的介绍远程工作文化的方方面面
包括远程工作的好处,可以逃离大城市的房价,更好的work life balance,更自在的生活,还反驳了一些对远程文化的批评,比如觉得坐在一起才能效率高,家里干扰大等等
更重要的介绍了如何更好的远程协作,这是需要学习的技能,比如如何可视化你的工作进度,高效的沟通,怎么管理远程员工的效率,还有远程人如何更好的生活,非常推荐
还有就是有一个公司叫gitlab,这个更厉害,这是一家美国上市公司,应该是第一个招股书里没有办公地址的,从老板到实习生,全员都散落在世界各地办公,关于大型公司如何实践远程文化,他们有一个专门的文档,质量非常高,主要是关于如何管理远程团队,还有很重要的远程开会技巧
地址和上面重来的电子书,评论区好像没法发链接,要不加我吧,我研究下怎么发给大家
那最后如何找到一个远程工作呢,其实之前我也分享过,这里简单总结下
首先程序员是非常适合远程的,所有的代码任务都可以在线完成,通过git管理代码,腾讯会议或者zoom开会,飞书钉钉slack等工作聊天等等
就像前面所述国内远程机会比较少,而且很多国内的老板哪怕远程也依然是监控心态,比如要求你开摄像头或者响应速度也挺难受,所以我觉得比如你想明年找个远程,那现在就优先学英语,程序员怎么学英语大家感兴趣以后可以专门聊,大概方法就是不要学英语,而是用英语学习编程就可以了
希望大家都能尝试和探索混合或者远程工作的新体验,能够拥有一个更加自在的职场,在努力工作的同时,可以有时间陪家人探索世界
来源:juejin.cn/post/7392116075674927131
同为情怀程序员,给博客园提供几个救园思路
博客园是老牌的技术社区,近来因为各种原因,导致社区运营岌岌可危。
笔者也是一个情怀型程序员,但是在这几年的创业生涯中,也摸爬滚打,养成了一些商业思路。
这个世界,就是一个肉弱强食,尔虞我诈的,不要做一个纯粹的情怀主义者,也不要做一个老实人。
那么下面呢,基于笔者的认知和思路,给博客园提供一些救园思路。
降本增效
个人认为,这是非常核心,非常重要的问题。
收入骤减,那么我们的开销成本,也要跟着降低,才能维持更久的运转。
比如关停不必要的网站功能,减少服务器的运行开支。
作为一个技术社区,主要的金钱投入,除了人员开支,办公场地之外,应该就是服务器的运行成本了吧。
那么相应的,人员开支,办公费用,场地,该减少的减少,该换场地的就换场地。
这是降低成本,控制支出最直观的方式了。
那么接下来呢,就是如何提高收入了。
外包接单
这是博客园正在做的,当时我看到官方提成只拿5%(原文我没找到了,如有错漏,请指正),这个提成,太低了。
我自己也做接单撮合,运营2-3个月,撮合成功30-40单,平台提成是15%。
那么这个提成,市场行情是多少呢?20%-30%。
5%,说实话,太少了。
接单撮合,有一个问题非常重要:接单,客户,技术,三方都要能赚到钱
。
你拿5%,唉,还是程序员思维,还是在做情怀。
不要这样,商业就是商业,程序员作为最终实施的一方,确实出力最多,最苦,最累。
平台少拿点,给技术多一点,非常好,但是,我的个人建议是不能低于15%,为什么呢?
如果有额外的介绍人,可以给介绍人5%或一半(7.5%),这样才有余地。
如果平台赚不到钱,那么如何运营好接单撮合这个项目呢?
广告接入
这个问题,在博客园7月15日的文章中已经说明了。
我的感觉是,令人肃然起敬,但是违背社会规律。
可以这么说,为了博客园的存亡问题,至少90%以上的用户,是不反感广告的。
但是,目前来看,似乎只有网站的运营者反对广告。。。
只要不做成某C开头的社区,看个电视剧,广告比剧集还长。
所以,我突然发现,这一整个事件的根本原因是什么?居然是人的执念。。可怕。
凭博客园的流量,接入广告,分分钟救园,大家又能愉快地玩耍。
不要考验人性
笔者曾经说过一句话,在网上广为流传。
博客园是一个程序员社区。
通过卖社区周边产品,还是通过情怀变现,下策,下策啊!
既然要商业化,那就不要过多考虑情怀,要从商业的角度去思考问题。
所谓的商业,并不是变成一个尔虞我诈的商人,有太多的既盈利,又给用户带来有价值,有意义的参考,大家可以想想有哪些。
而且,不管是会员,还是周边,这根本不是一个“我尽心尽力服务多年,当我落难的时候,大家挺身而出
”的问题。
大家受益于博客园,博客园也因为所有用户而收益,这是一个相互作用。
绝大多数用户,仅仅只是看客,真正写文章,在博客园出人头地的,少之又少。
社会和技术的发展,日新月异,技术内容,也远不及当年那么必需。
周边也不是必需,会员也是一次性的,根本不具备持续性。
救了这次,下次呢?所以还得从长计议。
产品推广分成
现在,有各种“严选”,“甄选”,“优品”。
博客园也可以做严选,甄选产品。
通过合作的模式,降低产品价格,获得产品提成,也不失为一个好地方方式。
比如,某某软件,某某产品,以低于官网价格的拿货价,平台推广卖给光大社区用户。
这样,用户购买价格更低,产品方销量更好,博客园平台也赚到了钱,也是一个三方共赢的方案。
比卖会员,卖周边好。
这种方式,选品品类更多,更接近用户刚需。
甚至可以发起投票,让用户选择拼团购买什么产品,软件,工具。
既可以积累社区凝聚力,也能让用户买到真正的,需要的东西,平台也赚到了钱。
舆论维护
要倾听用户的声音,目前技术圈,对博客园的这段时间运营情况,可以说非常不满。
鱼皮的这篇文章我觉得就说得不错,这是具备真正生意头脑的创业者思路。
如果一意孤行,还是程序员的传统思路,最终很可能连口碑也坏了,三思。
网站出售
最后呢,当然,是最坏的情况,万不得已,也可以卖掉博客园,获得一笔不菲的收入。
当然,这是下下之策。
希望博客园可以挺过这次难关,不论如何,这么有情怀的社区,真的不多见了。
如果它真的消失了,那将是技术圈的重大损失。
来源:juejin.cn/post/7392071328520994816
显示器分辨率的小知识
数字化时代,显示器是我们日常生活和工作中不可或缺的一部分。
无论是在电脑、手机、平板还是电视上,我们都依赖显示器来呈现图像和文字。然而,对于许多人来说,显示器分辨率这一概念可能并不十分清晰。
分辨率是影响显示器性能和视觉效果的关键因素之一。它决定了图像的清晰度、细节和整体观感。
因此,了解显示器分辨率的知识对于我们选择和使用显示设备至关重要。
本文将向大家介绍关于显示器分辨率的一些小知识,希望能够帮助大家更好地选择合适的显示器,并提升在使用显示设备时的体验。
1. 常用的分辨率
代号 | 分辨率 | 备注 |
---|---|---|
720p | 1280 x 720 | 也被称为 HD,高清 |
1080p | 1920 x 1080 | 也被称为 FULL HD,全高清 |
1440p | 2560 x 1440 | 也被称为 QHD,Quad HD |
2160p | 3840 x 2160 | 也被称为 4K |
4320p | 7680 x 4320 | 也被称为 8K |
2. 一些术语
关于显示器,最常见的三个术语就是:
2.1. 刷新率
刷新率(Refresh rate
)是指屏幕硬件每秒刷新以显示图像的速率,通常以赫兹(Hz
)为单位。
刷新率是指显示器的能力,简单理解就是每秒屏幕能切换多少个图像。
刷新率越高的显示器,显示的视频越流畅。
不过,由于人眼有视觉暂留的能力,一般60Hz左右的液晶屏已经很流畅了。
2.2. 帧速率
帧速率(Frame rate
)是指视频或游戏每秒传输的图像帧数,通常以FPS
(每秒帧数)为单位。
帧速率一般取决于视频或者游戏本身,与显示器关系不大。
帧速率越高,视频和游戏的清晰度和流畅度越高,当然,占用的硬盘空间也越大,对显卡要求也越高。
在实际使用中,如果帧速率高于刷新率,可能会出现屏幕撕裂等现象,因为显示器无法完全跟上图像的更新速度。
而如果刷新率高于帧速率的话,对显示影响不大,但是对显示器来说,有点大材小用。
因此,刷新率和帧速率的匹配和协调对于获得最佳的视觉体验,以及购买显示器时考虑性价比至关重要。
2.3. 纵横比
纵横比(Aspect ratio
)概念比较简单,是指水平像素数与垂直像素数的比率。
对于视频和游戏,一般可以调节输出的纵横比;对于显示器,也可以通过调节像素来显示不同的纵横比。
视频或游戏与显示器的纵横比匹配的时候,显示效果最佳,图像不会变形。
这也是为什么很多视频在手机上竖屏看的时候,只会集中在中间显示,上下很多部分都是黑屏,
就是因为视频的纵横比在竖屏上的纵横比不匹配,只能缩小在中间那部分显示。
换成横屏观看,视频才能完全展开。
3. 容易混淆的概念
关于纵横比和刷新,有2个概念可能我们平时容易混淆。
3.1. 4:3 和 16:9
这两种纵横比常常被误会成差不多,甚至是一样的,但是细算起来,它们的差距还挺大。
对于4:3 的纵横比意味着图像中每 4 个宽度单位就有 3 个高度单位,
最终显示出来,屏幕宽度比长度增加了 33%。
而16:9 的纵横比意味着图像中每 16 个宽度单位就有 9 个高度单位,
最终显示出来,屏幕宽度比长度增加了 78%。
3.2. 1080i 和 1080p
i 代表隔行扫描,通过照亮屏幕上的奇数像素和偶数像素,然后将它们的结果拼接在一起以获得最终图像,容易闪烁。
p 代表逐行扫描,对图像以逐行平滑的方式拼接,有效防止屏幕闪烁。
1080p比1080i的显示效果更加的清晰和细腻,因为1080p
是后来改进的技术,现在的显示器用 i 的方式已经不多了。
来源:juejin.cn/post/7302268383315148827
失业的七个月,失去了很多很多,一个普通的不能再普通的人的年中总结
开篇
这不是一篇技术的文章。
第一阶段 裸辞后的两个半月
介绍下自己的情况,坐标上海,双非院校前端打工人,目前是有三年的工作经验,在23年的年底裸辞了,有一个女朋友,本来异地,她在22年10月来到了上海,选择相信我。
在刚刚裸辞的时候,我信心满满的在各个平台投递着简历,给自己做了一个规划:“先投外包的,投小公司来练手,最后一鸣惊人进入大厂,走向人生巅峰!”当时已经可以在各大论坛上看到,前端已死啊之类的标题,但从实际感受来说,好像并没有那么夸张,程序员还是比较高薪的职业。已读不回是挺常见的,但实际面试还是比较多的,并不像大家在网上说的感觉前端开发都要找不到工作了。在这三个月里,我BOSS上沟通了400个人左右,面试的有11家,其中有5个外包。这样的情况在现在的我看来真有点属于暴殄天物了,只沟通了400多个公司就约了11家面试,后来的我才知道这就是我找工作最顺利的阶段,也是我最浪费机会的阶段。由于没有一个正确的认知,以及一个具体的规划和行动,我面试没有尽力去准备,再加上父亲住院,经常往医院跑,一来一回基本一天就没了,11家面试只有一家进入了二轮复面,甚至没有一家进入到谈薪阶段。可当时的我始终是抱着一个比较乐观的态度,还会天天和我的女朋友吐槽一些公司,从来没有认真的找过自己的问题,天真的认为只要我好好准备一下,就一定可以拿下offer,还和她保证我过年前一定能找到工作!她也十分信任我,可后续的发展就愈发的不可控了。
第二阶段 字节面试一轮结束 失业的第四个月
因为之前的面试都没有一个很好的反馈,渐渐的我有点开始着急,也已经渐渐处于摆烂的状态投递简历,就是海投,不看公司介绍,只要是个公司我就打个招呼,有回复我就发个简历,以至于在投递简历的过程中,都不知道何时自己投了字节的一个岗位,然后还约到了面试,我一时间来了信心,约了两周后的字节一轮面试。这两周我没有打开招聘软件,处于一个孤注一掷的状态,实际上就是抱着侥幸心理想碰碰运气,这期间我看了一周的技术课程,浅浅的背了一些八股文,但并没有对之前所有面试的经历进行一个总结,找找自己的问题。之后时间很快就到了面试的当天,这天我突然感觉自己差的东西有很多,但还是硬着头皮去面了,结果可想而知,一轮没有通过。我当时非常沮丧,给女朋友打了一个电话说自己没有通过,她还是非常鼓励我,不给我压力。她工作也很忙,基本就是早上8点到晚上11点的上班强度,但还是一直很有耐心的和我说没事,没有工作也没事,等你想找工作的时候再找也来得及。实际这个时候我就应该醒悟了,自己并不是什么技术大牛,只是一个顶着一个前端工程师光环的cv工程师,一个凭借一些错误的自我认知,就觉得自己未来一定会更好的愚蠢、不可理喻的愚蠢的人,况且我已经不算年轻,是一个快要奔三的大龄青年了,还抱着这种天真,不成熟的想法,但这也是后话了,当时的我还是挫败了几天后继续着躺平的生活,还大言不惭的和我的女朋友说着我三四月份一定可以找到一份合适的工作,做出承诺,但却没有匹配承诺的态度和行为,这时候的女朋友已经对我有了一些意见,但她没有明确的和我说,怕给我压力,只是感觉她的工作状态逐渐不对了,疲惫和内耗占据了她大部分空闲时间,她第一次跟我说了,要不试试别的岗位吧,前端的工作这么不好找,不如换个方向,但这句话我没有放在心上。因为报了健身班,我的健身教练已经开始为我着急了,他说要不来干健身教练吧,我带你入门,我也只当是玩笑话了。
第三阶段 裸辞后的六月半
不出意外的,在金三银四过去之后,我仍然没有找到工作,面试机会也几乎没有了,一个月可能有一两个外包的面试,但自己因为不想考虑外包,在某一家外包面完挫败感的驱使下,屏蔽了BOSS上大多数的外包公司,自此我的BOSS上再也没有一点水花。后来在我认为是缘分的加持下,我的父母和她的父母在上海碰到了,然后顺利的吃了饭,见了面,我爸妈给了我的女朋友见面礼一万零一的红包,寓意万里挑一。我的父母是很普通的农民,一辈子都跟种地打交道,不善言辞,一整个饭局,基本就是我的哥哥和她的爸妈和她在聊天,我在饭桌上也一言不发,可能是怕她的父母问及我工作的问题,也可能是因为哥哥是个很优秀的人,他对于我的期望很高,每次他在场的时候我都会避免开口,以免被抓到会被教育的点。总之饭局也很快就结束了,她的父母对我也没有什么过分的要求,也没有着急让我找工作,说着安慰我的话,现在市场环境不好,找不到工作很正常,利用这段时间学习,以后还有很多机会,你还年轻呢,不要害怕。现在的我几乎是流着眼泪打出当时阿姨跟我说的话,她们一家都是很讲道理,也会为别人考虑的人,但我还是辜负了他们的信任,让他们失望了。这期间面试机会少之又少,我这时候已经渐渐由摆烂,变得慌张的不知所措了,现在发生的情况我之前完全没有考虑到,随着存款一点一点的被社保、房租、吃喝消耗,女朋友的状态也愈发变得消极,我内心陷入了很痛苦的境地。但这并没有让我去总结面试的问题,只是一味的投着简历,看着八股文,等待面试。在六月初,女朋友第二次和我商量,如果前端的工作不好找就换个别的干干吧,这时我已经有点想逃避社会了,想要避免外出,除了每天去健身房,剩下时间几乎都呆在小小的出租屋房间。但我还是答应了她,在6月15号之后我就找其他岗位的工作。接下来几天,有了两个面试,还有原来公司的人找我想让我帮忙做个项目,因为甲方报价还没有,所以这个事情就相当于没有后续,但实际我还是心存幻想,想走更平坦的路。接着时间很快就到了6月13号,她问我计划还实行吗,我说当然实行啊,不过想等一下这个项目的事情,她第一次发泄了自己的情绪,说自己要等到什么时候啊!6月14号,她说她好累,不想等了,想分手。晚上沟通中我没有任何的话可以讲出口,一直沉默,气氛一直很凝重,6月15日,我整理了一些我的问题,想和她聊聊,她上班回来之后很平静的和我说了分手,说了本身对我的期望也没有那么高,说只需要有一个工作,或者我努力的心就可以。我说了我的很多问题,保证我自己会改,但为时已晚,因为她已经给我了足够的时间,但我没有珍惜。她把礼金退给了我,我搬了出去,故事在这就画了句号。
现在
痛苦总是后知后觉,并且悄悄击碎你的防线。父亲身体愈发不好,在知道我分手之后,去医院检查身体的时候晕倒了,进入急诊的那一刻,看着急诊中的病人,看着意识模糊的父亲,我的世界一下就崩塌了。好在父亲没有大碍,但精神状态不是很好。我没有一个最坏的预期,并且时刻都在回避问题,不敢直面自己,承认自己的弱小以及愚蠢,还渐渐看不到身边人做出的牺牲和努力。我浑浑噩噩的过着这几天,这几天是我第一次正面的和哥哥进行了我认为的平等的沟通,我第一次很认真的听他讲话,不再排斥,也第一次觉得他说的其实都对,他的话第一次在我眼里不是说教,而是关心和爱护。我发现了自己的很多问题,他还教会了我一个人生态度:凡事抱最大的希望,尽最大的努力,做最坏的打算。我的世界开始慢慢重建起来,我发现了自己之前的工作内容很简单,基于vue2、antdv、Echarts的后台管理系统,图表,小程序。我发现我没有规划,总是走一步看一步,并且还带着莫名的自信。我发现我辜负了很多人的期待,让自己也很失望。我发现了很多很多,我不知道这次裸辞还会持续的给我带来什么影响,但生活总是要继续,一手好牌最终打的稀烂,但已经没有时间让我继续消沉下去,2024年有可能是我这一生都不会忘记的。
结语
这七个月,让我失去了很多很多,失去了工作,失去了信任,失去了挚爱,失去了···这篇文章主要目的不是为了卖惨,或者贩卖焦虑,只是一个普通的不能再普通的人的一段时间的总结,是对可能已经逝去爱情的怀念。未来还会有很多很多意外的事情发生,我需要做的是积极的去面对,能做的是适应环境,找自己的不足,及时补救,不要一切都来不及的时候才后悔,才反思。我想要和林克一样,忍受孤独,努力变强,去找到她。
来源:juejin.cn/post/7382892371224461352
程序员的这10个坏习惯,你中了几个?超过一半要小心了
前言
一些持续关注过我的朋友大部分都来源于我的一些资源分享和一篇万字泣血斩副业的劝诫文,但今年年后开始我有将近4个月没有再更新过。
有加过我好友的朋友私聊我问过,有些回复了有些没回复。
想通过这篇文章顺便说明一下个人的情况,主要是给大家的一些中肯的建议。
我的身体
今年年前公司福利发放的每人一次免费体检,我查出了高密度脂蛋白偏低,因为其他项大体正常,当时也没有太在意。
但过完年后的第一个月,我有一次下午上班忽然眩晕,然后犯恶心,浑身发软冒冷汗,持续了好一阵才消停。
当时我第一感觉就是颈椎出问题了?毕竟这是程序员常见的职业病。
然后在妻子陪伴下去医院的神经内科检查了,结果一切正常。
然后又去拍了片子看颈椎什么问题,显示第三节和第四节有轻微的增生,医生说其实没什么,不少从事电脑工作的人都有,不算是颈椎有大问题。
我人傻了,那我这症状是什么意思。
医生又建议我去查下血,查完后诊断出是血脂偏高,医生说要赶紧开始调理身体了,否则会引发更多如冠心病、动脉粥样硬化、心脑血管疾病等等。
我听的心惊胆战,没想到我才34岁就会得上老年病。
接下来我开始调理自己的作息和生活,放弃一些不该强求的,也包括工作之余更新博客,分享代码样例等等。
4个月的时间,我在没有刻意减肥的情况下体重从原先152减到了140,整个人也清爽了许多,精力恢复了不少。
所以最近又开始主动更新了,本来是总结了程序员的10个工作中的不良习惯。
但想到自己的情况,决定缩减成5个,另外5个改为程序员生活中的不良习惯,希望能对大家有警示的作用。
不良习惯
1、工作
1)、拖延症
不到最后一天交差,我没有压力,绝不提前完成任务,从上学时完成作业就是这样,现在上班了,还是这样,我就是我,改不了了。
2)、忽视代码可读性
别跟我谈代码注释,多写一个字我认你做die,别跟我谈命名规范,就用汉语拼音,怎样?其他人读不懂,关我什么事?
3)、忽视测试
我写一个单元测试就给我以后涨100退休金,那我就写,否则免谈。接口有问题你前端跟我说就行了发什么脾气,前后端联调不就这样吗?!
4)、孤立自己
团队合作不存在的,我就是不合群的那个,那年我双手插兜,全公司没有一个对手。
5)、盲目追求技术新潮
晚上下班了,吃完饭打开了某某网,看着课程列表中十几个没学完的课程陷入了沉默,但是首页又出现了一门新课,看起来好流行好厉害耶,嗯,先买下来,徐徐图之。
2、生活
1)、缺乏锻炼和运动
工作了一天,还加班,好累,但还是得锻炼,先吃完饭吧,嗯,看看综艺节目吧,嗯,再看看动漫吧,嗯,还得学习一下新技术吧,嗯,是手是得洗澡了,嗯,还要洗衣服,咦,好像忘记了什么重要的事情?算了,躺床上看看《我家娘子不对劲》慢慢入睡。
2)、加班依赖症
看看头条,翻翻掘金,瞅瞅星球,点点订阅号,好了,开始工作吧,好累,喝口水,上个厕所,去外面走走,回来了继续,好像十一点半了,快中午了,待会儿吃什么呢?
午睡醒了,继续干吧,看看头条,翻翻掘金,瞅瞅星球,点点订阅号,好了,开始工作吧,好累,喝口水,上个厕所,去外面走走,回来了继续,好像5点半了,快下班了,任务没完成。
算了,加加班,争取8点之前搞定。
呼~搞定了,走人,咦,10点了。
3)、忽视饮食健康
早上外卖,中午外卖,晚上外卖,哇好丰富耶,美团在手,简直就是舌尖上的中国,晚上再来个韩式炸鸡?嗯,来个韩式甜辣酱+奶香芝士酱,今晚战个痛快!
4)、缺乏社交活动
好烦啊,又要参加公司聚会,聚什么餐,还不是高级外卖,说不定帮厨今天被大厨叼了心情不好吐了不少唾沫在里面,还用上完厕所摸了那里没洗的手索性搅了一遍,最后在角落里默默看着你们吃。
吃完饭还要去KTV?继续喝,喝不死你们,另外你们唱得很好听吗?还不是看谁嗷的厉害!
谁都别跟我说话,尤其是领导,离我越远越好,唉,好想回去,这个点B站该更新了吧,真想早点看up主们嘲讽EDG。
5)、没有女朋友
张三:我不是不想谈恋爱,是没人看得上我啊,我也不好意思硬追,我也要点脸啊,现在的女孩都肿么了?一点暗示都不给了?成天猜猜猜,我猜你MLGB的。
李四:家里又打电话了,问在外面有女朋友了没,我好烦啊,我怎么有啊,我SpringCloudAlibaba都没学会,我怎么有?现在刚毕业的都会k8s了,我不学习了?不学习怎么跳槽,不跳槽工资怎么翻倍,不翻倍怎么买房,不买房怎么找媳妇?
王五:亲朋好友介绍好多个了,都能凑两桌麻将了,我还是没谈好,眼看着要30了,我能咋整啊,我瞅她啊。破罐破摔吧,大不了一个人过呗,多攒点钱以后养老,年轻玩个痛快,老了早点死也不亏,又不用买房买车结婚受气还得养娃,多好啊,以后两脚一蹬我还管谁是谁?
总结
5个工作坏习惯,5个生活坏习惯,送给我亲爱的程序员们,如果你占了一半,真得注意点了,别给自己找借口,你不会对不起别人,只是对不起自己。
喜欢的小伙伴们,麻烦点个赞,点个关注,也可以收藏下,以后没事儿翻出来看看哈。
来源:juejin.cn/post/7269375465319415867
为什么常说,完成比完美更重要
前言
Hi 你好,我是东东拿铁,一个正在探索个人IP的后端程序员。
最近学习了12个生财思维,受益匪浅,但是纸上得来终觉浅,绝知此事要躬行,没有亲身实践,怎么能更好的理解呢?
单纯的学习,尤其是思维工具类的学习,只看但不实践,是不会有太好的效果的。
课程中的案例虽然真实,但是每个人的眼界、能力不同,所以案例对自己只能开开眼,但自己对于思维模式的理解却不会有太多的帮助。
为了更好的理解每一个生财思维,我决定根据每一个生财思维去复盘过去十年间遇到的机遇,看看自己错过了什么,有抓住了什么,然后把学习过程中的思考重新整理出来。
今天想和大家分享的是迭代思维,希望对你有所帮助。
迭代思维
什么是迭代思维
迭代是什么意思,一种重复反馈过程的活动,每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
迭代对于一个程序员来讲并不陌生,甚至很多公司把版本发布,都成为“迭代”。
如何真正的用好迭代思维?
主要有三步
- 确定目标,比如在软件开发中,我们首先要知道,我们目标是什么,是收入、用户数,还是流量。
- 找到迭代方法,这个依然很常见,利用上一篇文章讲的对标思维,参考领域成功的高手,看看他们用了什么工具、方法。
- 持续改进,每次哪怕只改进一小点,让每一步走的更踏实。
先完成,再完美
一周上线的新系统
软件开发是离不开迭代的过程的,就算是你设计了完美的框架,也会在各类需求的轰炸中不得不进行迭代满足用户需求。
在上家公司,有一次领导安排一个新业务启动,于是要单独启动一个项目。
我不知道大家平常对于一个新项目的开发需要多久,那时候我的能力较弱,开发语言也不熟悉,以往的经验是,从技术设计、框架搭建、代码开发、测试这一套流程下来,我觉着这个项目起码也要1个月左右才能完成吧。
但是经过领导们评估,最终决定这个系统的开发时间是5天,留两天时间自测,说实话我是持着怀疑的态度,硬着头皮接了下来。
最终项目用了一周多的时间就上线了,虽然时长报警,缺乏监控,代码性能不够高,但快速验证了业务的可行性。
我承认刚上线的系统并不是一个完美的系统,甚至有问题时发下连日志都没打印。
但是,发现问题排查困难,所以先不停的完善日志打印。
接着觉着发现问题太慢了,补充了监控和报警,异常情况第一时间就能感知。
性能不够,响应时间长,花了3天时间优化性能瓶颈点。
业务不断扩充,代码扩展性不好,优化了1周的时间,进行了一部分重构。
就是随着一段段时间的投入,一次次的发版上线,最终服务趋于稳定,也成了业务的一部分收入来源。
不断练习的写作
如果还能想到一个例子,那这件事就是写作。
去年年底决定开始写作时,发布的那篇文章,写完就直接发布了,很明显,数据非常不好。
内容很少分段,也没有配图,更不用说加黑、二级标题这些了。
先从内容开始,对比很多流量好的文章,都有一个共性,就是没有一大段话,而是都进行了分段。为了让大家阅读更加轻松,把一大段话,拆成几个小段,看来更加清爽。
添加了分段之后,又发现如果正片内容都是文字,一样让大家阅读压力很大,所以在其中搭配上配图,效果会更好。
后面,改进了文字排版,开始带有一级标题、二级标题。
再后来,学习如何取标题、如何选题,还建立了自己的写作模版,开头和结尾,还添加上了引导关注的文案。
就用这种方式,在掘金和公众号上,也写出了一些数据比较好的内容,掘金的创作登记,从lv3,也升级到了lv5。
而迭代思维,也会在写作上,持续应用下去。
不去开始,必定失败
迭代思维,主要适用于哪类场景呢?
当你有一件事情、一个项目时,因为内心没有完美的方案,迟迟没有行动时,就需要用到迭代思维了。
记得我发布的第一篇文章,可以是2022年了,然而下一次再次发布,已经隔了1年多的时间。
相隔时间这么久的原因,就是因为我在那个时候,我发现我写出的文章和别人差距太大了,别人的文章洋洋洒洒一两千字,标题吸引人,然而我自己的文章即没有深度,又没有自己的感触。
我在和一篇优秀的文章做比较时,我完全不知道应该如何做,才能写的像别人一样好。
于是,遇到问题不做了,睡大觉。这一睡,就白白荒废了1年的时间。
迭代思维,首先要避免完美思维,先开始,然后最重要的是小步快跑。
记得在学习写作的时候,听到老师的一句话,让我记忆犹新,也再次分享给大家。
想都是问题,做才有答案。
说在最后
好了,文章到这里就要结束了,总结一下。
迭代思维从概念上看其实不难,只需要三步即可,确定目标,找到迭代方法,持续改进。
来源:juejin.cn/post/7390134326871080972
前段时间面试了一些人,有这些槽点跟大家说说
大家好,我是拭心。
前段时间组里有岗位招人,花了些时间面试,趁着周末把过程中的感悟和槽点总结成文和大家讲讲。
简历书写和自我介绍
- 今年的竞争很激烈:找工作的人数量比去年多、平均质量比去年高。裸辞的慎重,要做好和好学校、有大厂经历人竞争的准备
- 去年工作经历都是小公司的还有几个进了面试,今年基本没有,在 HR 第一关就被刷掉了
- 这种情况的,一定要走内推,让内推的人跟 HR 打个招呼:这人技术不错,让用人部门看看符不符合要求
- 用人部门筛简历也看学历经历,但更关注这几点:过去做了什么项目、项目经验和岗位对不对口、项目的复杂度怎么样、用到的技术栈如何、他在里面是什么角色
- 如果项目经历不太出彩,简历上可以补充些学习博客、GitHub,有这两点的简历我都会点开仔细查看,印象分会好很多
- 现在基本都视频面试,面试的时候一定要找个安静的环境、体态认真的回答。最好别用手机,否则会让人觉得不尊重!
- 我面过两个神人,一个在马路上边走边视频;另一个聊着聊着进了卫生间,坐在马桶上和我讲话(别问我怎么知道在卫生间的,他努力的声音太大了。。。)
- 自我介绍要自然一点,别像背课文一样好吗亲。面试官不是考你背诵,是想多了解你一点,就当普通聊天一样自然点
- 介绍的时候不要过于细节,讲重点、结果、数据,细节等问了再说
- 准备介绍语的时候问问自己,别人可以得到什么有用的信息、亮点能不能让对方快速 get 到
- 实在不知道怎么介绍,翻上去看第 4 点和第 5 点
- 出于各种原因,很多面试官在面试前没看过你的简历,在你做自我介绍时,他们也在一心二用 快速地浏览你的简历。所以你的自我介绍最好有吸引人的点,否则很容易被忽略
- 你可以这样审视自己的简历和自我介绍:
a. 整体:是否能清晰的介绍你的学历、工作经历和技能擅长点
b. 工作经历:是否有可以证明你有能力、有结果的案例,能否从中看出你的能力和思考
c. 技能擅长点:是否有岗位需要的大部分技能,是否有匹配工作年限的复杂能力,是否有区别于其他人的突出点
面试问题
- 根据公司规模、岗位级别、面试轮数和面试官风格,面试的问题各有不同,我们可以把它们简单归类为:项目经历、技能知识点和软素质
- 一般公司至少有两轮技术面试 + HR 面试,第一轮面试官由比岗位略高一级的人担任,第二轮面试官由用人部门领导担任
- 不同轮数考察侧重点不同。第一轮面试主要确认简历真实性和基础技术能力,所以主要会围绕项目经历和技能知识点;第二轮面试则要确认这个人是否适合岗位、团队,所以更偏重过往经历和软素质
项目经历
项目经历就是我们过往做过的项目。
项目经历是最能体现一个程序员能力的部分,因此面试里大部分时间都在聊这个。
有朋友可能会说:胡说,为什么我的面试大部分时候都是八股文呢?
大部分都是八股文有两种可能:要么是初级岗位、要么是你的经历没什么好问的。哦还有第三种可能,面试官不知道问什么,从网上搜的题。
在项目经历上,面试者常见的问题有这些:
- 不重要的经历占比过多(比如刚毕业的时候做的简单项目花了半页纸)
- 经历普通,没有什么亮点(比如都是不知名项目,项目周期短、复杂度低)
- 都是同质化的经历,看不出有成长和沉淀(比如都是 CRUD、if visible else gone)
出现这种情况,是因为我们没有从面试官的角度思考,不知道面试的时候对方都关注什么。
在看面试者的项目经历时,面试官主要关注这三点:
1. 之前做的项目有没有难度
2. 项目经验和当前岗位需要的是否匹配
3. 经过这些项目,这个人的能力有哪些成长
因此,我们在日常工作和准备面试时,可以这样做:
- 工作时有意识地选择更有复杂度的,虽然可能花的时间更多,但对自己的简历和以后发展都有好处
- 主动去解决项目里的问题,解决问题是能力提升的快车道,解决的问题越多、能力会越强
- 解决典型的问题后,及时思考问题的本质是什么、如何解决同一类问题、沉淀为文章、记录到简历,这些都是你的亮点
- 经常复盘,除了公司要求的复盘,更要做自己的复盘,复盘这段时间里有没有成长
- 简历上,要凸显自己在项目面试的挑战、解决的问题,写出自己如何解决的、用到什么技术方案
- 投简历时,根据对方业务类型和岗位要求,适当的调整项目经历里的重点,突出匹配的部分
- 面试时,要强调自己在项目里的取得的成果、在其中的角色、得到什么可复制的经验
技能知识点
技能知识点就是我们掌握的编程语言、技术框架和工具。
相较于项目经历,技能知识点更关键,因为它决定了面试者是否能够胜任岗位。
在技能知识点方面,面试者常见的问题有这些:
- 不胜任岗位:基础不扎实,不熟悉常用库的原理
- 技术不对口:没有岗位需要的领域技术
- 技术过剩:能力远远超出岗位要求
第一种情况就是我们常说的“技术不行”。很多人仅仅在工作里遇到不会的才学习,工作多年也没有自己的知识体系,在面试的时候很容易被基础知识点问倒,还给自己找理由说“我是高级开发还问这么细节的,面试官只会八股文”。框架也是浅尝辄止,会用就不再深入学了,这在面试的时候也很容易被问住。
第二种情况,是岗位工作内容属于细分领域,但面试者不具备这方面的经验,比如音视频、跨端等。为了避免这种情况,我们需要打造自己的细分领域技能,最好有一个擅长的方向,越早越好。
第三种情况简单的来说就是“太贵了”。有时候一些资深点的开发面试被挂掉,并不是因为你的能力有问题,而是因为岗位的预算有限。大部分业务需求都是增删改查和界面展示,并不需要多复杂的经验。这种情况下,要么再去看看更高级的岗位,要么降低预期。
在我面试的人里,通过面试的都有这些特点:
- 技术扎实:不仅仅基础好,还有深度
- 解决过复杂的问题:项目经验里除了完成业务需求,也有做一些有挑战的事
有些人的简历上只写项目经历不写技能知识点,对此我是反对的,这样做增加了面试官了解你的成本。问项目经历的目的还是想确认你有什么能力,为什么不直接明了的写清楚呢?
软素质
这里的「软素质」指面试时考察的、技术以外的点。
程序员的日常工作里,除了写代码还需要做这些事:
- 理解业务的重点和不同需求的核心点,和其他同事协作完成
- 从技术角度,对需求提出自己的思考和建议,反馈给其他人
- 负责某个具体的业务/方向,成为这个方面所有问题的处理者
因此,面试官或者 HR 还会考察这些点,以确保面试者具备完成以上事情的能力:
- 理解能力和沟通表达能力
- 业务能力
- 稳定性
第一点是指面试者理解问题和讲清楚答案的能力。遇到过一些面试者,面试的时候过于紧张,讲话都讲不清楚,这种就让人担心“会不会是个社恐”、“工作里该不会也这样说不清楚吧”;还有的人爱抢答,问题都没听明白就开始抢答,让人怀疑是不是性格太急躁太自大;还有的人过于能讲,但讲不到重点,东扯西扯,让人对他的经历和理解能力产生了怀疑。
第二点是指在实现业务目标的过程中可以提供的能力。 业务发展是需要团队共同努力的,但有的人从来没这么想过,觉得自己上班的任务就是写代码,来什么活干什么活,和外包一样。
业务发展中可能有各种问题。定方向的领导有时候会过于乐观、跨部门协作项目可能会迟迟推进不动、产品经理有时候也会脑子进水提无用需求、质量保障的测试同学可能会大意漏掉某个细节测试。这个时候,程序员是否能够主动站出来出把力,帮助事情向好的方向发展,就很重要了。
遇到过一些面试者,在一家公司干了好几年,问起来业务发展情况语焉不详,让人感觉平时只知道写代码;还有的面试者,说起业务问题抱怨指责一大堆,“领导太傻逼”、“产品经理尽提蠢需求”,负能量满满😂。
第三点是指面试者能不能在一家公司长久干下去。 对于级别越高的人,这点要求就越高,因为他的离开对业务的发展会有直接影响。即使级别不高,频繁换工作也会让人对你有担心:会不会抗压能力很差、会不会一不涨工资就要跑路。一般来说,五年三跳就算是临界线,比这个频繁就算是真的“跳的有点多”。
针对以上这三点,我们可以这样做:
- 面试时调整心态,当作普通交流,就算不会也坦然说出,不必过于紧张
- 回答问题时有逻辑条理,可以采用类似总分总的策略
- 工作时多关注开发以外的事,多体验公司产品和竞品,在需求评审时不摸鱼、多听听为什么做、思考是否合理、提出自己的想法
- 定好自己的职业规划(三年小进步、五年大进步),在每次换工作时都认真问问自己:下一份工作能否帮助自己达到目标
总结
好了,这就是我前段时间面试的感悟和吐槽。
总的来说,今年找工作的人不少,市面上的岗位没有往年那么多。如果你最近要换工作,最好做足准备。做好后面的规划再换、做好准备再投简历、经历整理清楚再面试。
来源:juejin.cn/post/7261604248319918136
虽然炒股赚了十多万,但差点倾家荡产!劝你别入坑
今天,五阳哥不打算聊技术,而是聊一下炒股的话题。我自认为在这方面有发言权,自述一个程序员的炒股经历。
2019年,我开始涉足股市,在2021年中旬为了购房,将持有的股票全部卖出,赚了十多万元。在最高峰时期,我获利超过了二十多万元,但后来又回吐了一部分利润。虽然我的炒股成绩不是最出色的,但也超过了很多人。因为大多数股民都是亏损的,能够在股市长期盈利的人真的是凤毛麟角。
股市中普遍流传的七亏二平一赚的说法并不只是传闻,事实上,现实中的比例更加残酷,能够长期赚钱的人可能连10%都达不到。
接下来,我想谈谈我的炒股经历和心路历程,与大家分享一下我的内心体验,为那些有意向或正在炒股的朋友提供一些参考。希望劝退大家,能救一个是一个!
本文倒叙描述,先聊聊最后的疯狂和偏执!
不甘失败,疯狂上杠杆
股市有上涨就有下跌,在我卖出以后,股市继续疯涨了很多。当时长春高新,我是四百一股买入,六百一股就卖出了,只赚了2万。可是在我卖出去的两个月以后,它最高涨到了一千。相当于我本可以赚六万,结果赚了两万就跑了。
我简直想把大腿拍烂了,这严重的影响了我的认知。我开始坚信,这只股票和公司就是好的,非常牛,是我始乱终弃,我不应该早早抛弃人家。 除了悔恨,我还在期盼它下跌,好让我再次抄底,重新买入,让我有重新上车的机会!
终于这只股票后来跌了10%,我觉得跌的差不多了,于是我开始抄底买入!抄底买入的价格在900一股(复权前)。
没想到,这次抄底是我噩梦的开始。我想抄他的底,他想抄我的家!
这张图,完美的诠释了我的抄底过程。地板底下还有底,深不见底,一直到我不再敢抄底为止。一直抄到,我天天睡不着觉!
当时我九百多一股开始抄底买入,在此之前我都是100股,后来我开始投入更多的资金在这只股票上。当时的我 定下了规矩,鸡蛋不能放在一个篮子里;不能重仓一只股票,要分散投资;这些道理我都明白,但是真到了节骨眼上,我不想输,我想一把赢回来,我要抄底,摊平我的成本。
正所谓:高位加仓,一把亏光。之前我赚的两万块钱,早就因为高位加仓,亏回去了。可是我不甘心输,我想赢回来。当时意识不到也不愿意承认:这就是赌徒心理。
后来这只股票,从1000,跌倒了600,回调了40%。而我已经被深深的套牢。当时我盈利时,只买了1股。等我被套牢时,持有了9股。 按照1000一股,就是九十万。按照600一股,就是54万。
我刚毕业,哪来的那么多钱!
我的钱,早就在800一股的时候,我就全投进去了,我认为800已经算是底了吧,没想到股价很快就击穿了800。
于是我开始跟好朋友借钱。一共借了10万,商量好借一年,还他利息。后来这10万块钱,也禁不住抄底,很快手里没钱了,股价还在暴跌。我已经忘记当时亏多少钱了,我当时已经不敢看账户了,也不敢细算亏了多少钱!
于是,我又开始从支付宝和招商银行借贷,借钱的利率是相当高的,年利息在6%以上。当时一共借了30万。但是股价还不见底,我开始焦虑的睡不着觉。
不光不见底,还在一直跌,我记得当时有一天,在跌了很多以后,股价跌停 -10%。当时的我已经全部资金都投进去了,一天亏了5万,我的小心脏真的要受不了了。跌的我要吐血! 同事说,那天看见我的脸色很差,握着鼠标手还在发抖!
跌成这样,我没有勇气打开账户…… 我不知道什么时候是个头,除了恐惧只有恐惧,每天活在恐惧之中。
我盘算了一下,当时最低点的我,亏了得有二十多万。从盈利六万,一下子到亏二十多万。只需要一个多月的时间。
我哪里经历过这些,投资以来,我都是顺风顺水的,基本没有亏过钱,从来都是挣钱,怎么会成这个样子。
当时的我,没空反思,我只希望,我要赚回来!我一定会赚回来,当时能借的支付宝和招行都已经借到最大额度了…… 我也没有什么办法了,只能躺平。
所以股价最低点的时候,基本都没有钱加仓。
侥幸反弹,但不忍心止盈
股价跌了四个月,这是我人生极其灰暗的四个月。后来因为种种原因,股价涨回来了,当时被传闻的事情不攻自破,公司用实际的业绩证明了自己。
股价开始慢慢回暖,后来开始凶猛的反弹,当时的��一直认为:股价暴跌时我吃的所有苦,所有委屈,我都要股市给我补回来!
后来这段时间,股价最高又回到了1000元一股(复权前)。最高点,我赚了二十多万,但是我不忍心止盈卖出。
我觉得还会继续涨,我还在畅想:公司达到,万亿市值。
我觉得自己当时真的 失了智了。
结婚买房,卖在最高点
这段时间,不光股市顺丰顺水,感情上也比较顺利,有了女朋友,现在是老婆了。从那时起,我开始反思自己的行为,我开始意识到,自己彻彻底底是一个赌徒。
因为已经回本了,也赚了一点钱,我开始不断的纠结要不要卖出,不再炒股了。
后来因为两件事,第一件是我姐姐因为家里要做小买卖,向我借钱。 当时的我,很纠结,我的钱都在股市里啊,借她钱就得卖股票啊,我有点心疼。奈何是亲姐,就借了。
后来我盘算着,不对劲。我还有贷款没还呢,一共三十万。我寻思,我从银行借钱收6%的利息,我借给别人钱,我一分利息收不到。 我TM 妥妥的冤大头啊。
不行,我要把贷款全部还上,我Tm亏大了,于是我逐渐卖股票。一卖出便不可收拾。
我开始担心,万一股价再跌回去,怎么办啊。我和女朋友结婚时,还要买房,到时候需要一大笔钱,万一要是被套住了,可怎么办啊!
在这这样的焦虑之下,我把股票全部都卖光了!
冥冥之中,自有天意。等我卖出之后的第二周,长春高新开启了下一轮暴跌,而这一轮暴跌之后,直至今日,再也没有翻身的机会。从股价1000元一股,直至今天 300元一股(复权前是300,当前是150元)。暴跌程度大达 75%以上!
全是侥幸
我觉得我是幸运的,如果我迟了那么一步!假如反应迟一周,我觉得就万劫不复。因为再次开启暴跌后,我又会开始赌徒心理。
我会想,我要把失去的,重新赢回来!我不能现在卖,我要赢回来。再加上之前抄底成功一次,我更加深信不疑!
于是我可能会从1000元,一路抄底到300元。如果真会如此,我只能倾家荡产!
不是每个人都有我这么幸运,在最高点,跑了出去。 雪球上之前有一个非常活泼的用户, 寒月霖枫,就是因为投资长春高新,从盈利150万,到亏光100万本金,还倒欠银行!
然而这一切,他的家人完全不知道,他又该如何面对家人,如何面对未来的人生。他想自杀,想过很多方式了结。感兴趣的朋友可以去 雪球搜搜这个 用户,寒月霖枫。
我觉得 他就是世界上 另一个自己。我和他完全类似的经历,除了我比他幸运一点。我因为结婚买房和被借钱,及时逃顶成功,否则我和他一样,一定会输得倾家荡产!
我觉得,自己就是一个赌狗!
然而,在成为赌狗之前,我是非常认真谨慎对待投资理财的!
极其谨慎的理财开局
一开始,我从微信理财通了解到基金,当时2019年,我刚毕业两年,手里有几万块钱,一直存在活期账户里。其中一个周末,我花时间研究了一下理财通,发现有一些债券基金非常不错。于是分几批买了几个债券基金,当时的我对于理财既谨慎又盲目。
谨慎的一面是:我只敢买债券基金,就是年利息在 5%上下的。像股票基金这种我是不敢买的。
盲目的一面是:我不知道债券基金也是风险很大的,一味的找利息最多的债券基金。
后来的我好像魔怔了,知道了理财这件事,隔三差五就看看收益,找找有没有利息更高的债券基金。直到有一天,我发现了一个指数基金,收益非常稳定。
是美股的指数基金,于是我买了1万块钱,庆幸的是,这只指数基金,三个月就赚了八百多,当时的我很高兴。那一刻,我第一次体会到:不劳而获真的让人非常快乐!
如饥似渴的学习投资技巧
经过一段时间的理财,我对于理财越来越熟悉。
胆子也越来越大,美股的指数基金赚了一点钱,我害怕亏回去,就立即卖了。卖了以后就一直在找其他指数基金,这时候我也在看国内 A股的指数基金,甚至行业主题的基金。
尝到了投资的甜头以后,我开始花更多的时间用来 找基。我开始从方方面面评估一只基金。
有一段时间,我特别自豪,我在一个周末,通过 天天基金网,找到了一个基金,这只基金和社保投资基金的持仓 吻合度非常高。当时的我思想非常朴素, 社保基金可是国家队,国家管理的基金一定非常强,非常专业,眼光自然差不了。这只基金和国家队吻合度如此高,自然也差不了。
于是和朋友们,推荐了这只基金。我们都买了这只基金,而后的一个月,这只基金涨势非常喜人,赚了很多钱,朋友们在群里也都感谢我,说我很厉害,投资眼光真高!
那一刻,我飘飘然……
我开始投入更多的时间用来理财。下班后,用来学习的时间也不学习了,开始慢慢的过度到学习投资理财。我开始不停地 找基。当时研究非常深入,我会把这只基金过往的持仓记录,包括公司都研究到。花费的时间也很多。
我也开始看各种财经分析师对于股市的分析,他们会分析大盘何时突破三千点,什么时候股市情绪会高昂起来,什么行业主题会热门,什么时候该卖出跑路了。
总之,投资理财,可以学习的东西多种多样!似乎比编程有趣多了。
换句话说:我上头了
非常荒谬的炒股开局
当时我还是非常谨慎地,一直在投资基金,包括 比较火爆的 中欧医疗创新C 基金,我当时也买了。当时葛兰的名气还很响亮呢。后来股市下行,医疗股票都在暴跌,葛兰的基金 就不行了,有句话调侃:家里有钱用不完,中欧医疗找葛兰。腰缠万贯没人分,易方达那有张坤。
由此可见,股市里难有常胜将军!
当时的我,进入股市,非常荒谬。有一天,前同事偷偷告诉我,他知道用友的内幕,让我下午开盘赶紧买,我忙追问,什么内幕,他说利润得翻五倍。 我寻思一下,看了一眼用友股票还在低位趴着,心动了。于是我中午就忙不迭的线上开户,然后下午急匆匆的买了 用友。 事后证明,利润不光没有翻五倍,还下降了。当然在这之前,我早就跑了,没赚着钱,也没咋亏钱。
当时的我,深信不疑这个假的小道消息,恨不得立即买上很多股票。害怕来不及上车……
自从开了户,便一发不可收拾,此时差2个月,快到2019年底!席卷全世界的病毒即将来袭
这段时间,股市涨势非常好,半导体基金涨得非常凶猛! 我因为初次进入股市,没有历史包袱,哪个股票是热点,我追哪个,胆子非常大。而且股市行情非常好,我更加相信,自己的炒股实力不凡!
换句话说:越来越上头,胆子越来越大。 学习编程,学个屁啊,炒股能赚钱,还编个屁程序。
刚入股市,就赶上牛市,顺风顺水
2019年底到2020年上半年,A股有几年不遇的大牛市,尤其是半导体、白酒、医疗行业行情非常火爆。我因为初入股市,没有历史包袱,没有锚点。当前哪个行业火爆,我就买那个,没事就跑 雪球 刷股票论坛的时间,比上班的时间还要长。
上班摸鱼和炒股 是家常便饭。工作上虽然不算心不在焉,但是漫不经心!
在这之前,我投入的金额不多。最多时候,也就投入了10万块钱。当时基金收益达到了三万块。我开始飘飘然。
开始炒股,也尝到了甜头,一开始,我把基金里的钱,逐渐的转移到股市里。当时的我给自己定纪律。七成资金投在基金里,三成资金投在股市里。做风险平衡,不能完全投入到风险高的股市里。
我自认为,我能禁得住 炒股这个毒品。
但是逐渐的,股票的收益越来越高,这个比例很快就倒转过来,我开始把更多资金投在股市中,其中有一只股票,我非常喜欢。这只股票后来成为了很多人的噩梦,成为很多股民 人生毁灭的导火索!
长春高新 股票代码:000661。我在这只股票上赚的很多,后来我觉得股市涨了那么多,该跌了吧,于是我就全部卖出,清仓止盈。 当时的我利润有六万,我觉得非常多了,我非常高兴。
其中 长春高新 一只股票的利润在 两万多元。当时这是我最喜欢的一只股票。我做梦也想不到,后来这只股票差点让我倾家荡产……
当时每天最开心的事情就是,打开基金和证券App,查看每天的收益。有的时候一天能赚 两千多,比工资还要高。群里也非常热闹,每个人都非常兴奋,热烈的讨论哪个股票涨得好。商业互吹成风……
换句话说:岂止是炒股上头,我已经中毒了!
之后就发生了,上文说的一切,我在抄底的过程中,越套越牢……
总结
以上都是我的个人真实经历。 我没有谈 A 股是否值得投资,也不评论当前的股市行情。我只是想分享自己的个人炒股经历。
炒股就是赌博
我想告诉大家,无论你在股市赚了多少钱,迟早都会还回去,越炒股越上头,赚的越多越上头。
赌徒不是一天造成的,谁都有赢的时候,无论赚多少,最终都会因为人性的贪婪 走上赌徒的道路。迟早倾家荡产。即使你没有遇到长春高新,也会有其他暴跌的股票等着你!
什么🐶皮的价值投资! 谈价值投资,撒泡尿照照自己,你一个散户,你配吗?
漫漫人生路,总会错几步。股市里错几步,就会让你万劫不复!
”把钱还我,我不玩了“
”我只要把钱赢回来,我就不玩了“
这都是常见的赌徒心理,奉劝看到此文的 程序员朋友,千万不要炒股和买基金。
尤其是喜欢打牌、打德州扑克,喜欢买彩-票的 赌性很强的朋友,一定要远离炒股,远离投资!
能救一个是一个!
来源:juejin.cn/post/7303348013934034983
听一听比尔盖茨老人家怎么看待 AI 革命
最近发现比尔盖茨还在写文章,确实了不起,68 岁的老人家还在坚持输出,除了写文章,比尔盖茨还致力于教育、医疗和卫生等慈善工作,奋斗在一线,看来美国人也延迟退休啊 😅
原文《AI 将彻底改变计算机的使用方式》 大约一万多字,从宏观的角度讲述了 AI 的形态,并且提及了 AI 将影响的四个行业,最后再讲到目前面临的技术问题和非技术问题,整体文章深入浅出,非常值得一读。
本文做了一些删减,并尝试用自己的话去解读,更加符合中文读者的语义,其中的一些观点仅供参考,大家自由评判之,毕竟比尔先生还预测过计算机只需要 768kb 内存足以,而现在 8 个 G 都不够下饭的。
未来是智能体
首先比尔先生回忆了和保罗·艾伦一起创立微软公司的感觉,然后语重心长讲到,虽然经过了几十年的更迭,但是计算机还是比较蠢笨的,你要完成一个任务,得先选择某一个 app,比如用微软的 Word,去画一个商业的草图,但是这个 app 不能帮你发送邮件、分享自拍、分析数据、计划一个聚会,或者买电影票,要完成上述这些事情,要么找一个亲密的朋友,要么有一个个人助理。
胆大的预测,在下一个五年,AI 将彻底重构,你不需要再用为了处理不同任务,而去使用不同的 app。你可以用任何语言,直接告诉你的设备,你想要做什么。AI 借由丰富的理解能力,为你做个性化的服务和响应。在不远的将来,每个人都能够拥有远超当前科技的个性化的人工智能助手。
这种软件形态,比尔先生思考了 30 多年,但是最近两年来才成为现实,这种形态叫做“智能体”(Agent),能够用自然语言回复,并且基于用户的背景知识去完成不同的任务。
智能体不只是改变每个人和计算机的交互,他们同样颠覆了整个软件工业,这是从命令行输入、图形化交互以来,计算机交互最大的变革。
这里就可以总结了,比尔先生认同「All in One」的观点,一个智能体,处理你的一切事务,并且用发展的眼光看待,在之后技术继续蓬勃发展,智能体将登基,成为新的软件形态之主。
区分机器人和智能体
现在很多公司,做出来的产品根本算不上智能体,只能叫做机器人(Bot),机器人内嵌在某一个 app,借由 AI 的能力处理一些特定的任务,比如文本润色、扩写等,他们不会记住你用过多少次,也不会记住你的喜好,只能冰冷冷的机器人。
智能体不一样,更聪明,更主动,在你询问它们意见之前,就能够给到你合适的建议。它们能够跨 app 处理任务,记录你的行为,识别你的动机和意图,随着时间的推移,它们会慢慢变得更好,更加准确的给你提供信息和建议。
举个例子 🌰,你想要来一场特种兵旅行,机器人只能根据你的预算,给你定位酒店。而智能体,了解你近年来的旅行资料,能够推断出你是想要找一个距离景点近一点的还是远一点的,来为你推荐合适的酒店,还能根据你的兴趣和倾向,为你规划行程、预定餐厅。
AI 智能体,还有最让人激动的能力,那就把现在一些昂贵的服务价格给打下来,在这四个领域中,医疗健康、教育、生产力以及娱乐购物,智能体将大展拳脚。
医疗健康
目前,AI 的作用局限于处理一些非医疗任务,比如,就诊时候录音,然后生成报告给医生检查回顾。接下来会真正的转变,智能体能够帮助病人去做一个基础的伤病分类,获取关于处理健康问题的建议,决定是否需要去做进一步治疗。这些智能体还能够帮助医疗人员做决定,使之更加的高效。
现在已经有类似的 app 了,比如 Glass Health,能够分析病人摘要、提供建议诊断给医生做参考。
有了这些帮助病人和医疗人员的智能体,才是真正利于处在贫困的国家地区,那些贫瘠地方的老百姓们,甚至从来都没见过医生。比尔先生大义 🫡
这类「临床医学智能体」普及的速度可能会比较慢,毕竟这事关生死。人们需要看到这些健康智能体真正起到作用的证据,才能够接受它们。虽然健康智能体可能不完美,会犯错,但是,人类也同样不完美,会犯错。
教育
十多年来,比尔先生一直对借助软件帮助学生学习、让老师工作更轻松这样的事情很上心,软件不会替代教师工作,它只能对他们的工作进行补充,比如对学生做到个性化教育,从批改作业的压力中解放,还有其他种种。
现在已经有初步的进展,那就是一些基于文本的教育智能体,他们能够解释二元方程、提供练习数学题等等,但这还仅仅只是初步能力,接下来智能体还会解锁更多的能力。
确实,AI 学习辅导这个需求确实不错,之前热搜有这么一个家长给孩子辅导的问题
通过 AI 可以给到很好的学习启发:
生产力
生产力这方面已经卷得飞起了,微软以及为 Word、Outlook 等其他 app 集成了 Copilot(副驾驶),谷歌也在做类似的事情,也把 Bard 集合在自家的生产力 app 中。这些 Copilot 可以做很多事情,比如把文本转换为 PPT,回答表格问题,总结电子邮件内容等等。
当然,智能体能做到还有更多,如果你有一个商业想法,智能体会做一份商业计划书,然后基于此创建一份展示汇报,还能根据你的内容插入生成合适的图片。
娱乐购物
好吧,AI 可能帮你挑选电视频道、推荐电影、书、电视剧等等。比如,最近比尔盖茨投资了一家创业公司 Pix,用问答的方式推荐电影。虾皮也有一个基于 AI 的「DJ」,它能够根据你的喜好播放歌曲,并且还能和你交流,甚至会喊你的名字。
对科技行业的冲击波
总而言之,智能体最终能够帮助到我们生活的方方面,这对整个软件行业和社会的影响将会是深远的。
在计算领域,我们常谈论的「平台」,比如安卓、iOS 还有 Windows,是目前 app 和服务赖以存在的基础,而智能体将会成为下一个平台。
创建一个 app 或者服务,你不需要知道如何如变成或者图形设计,你只需要告诉你的智能体你想要做什么,它就能够编码、设计界面、创建 logo,然后发布到 app 到在线商店上,OpenAI 的 GPTs 能让我们一窥未来,GPTs 可以让非开发人员创建并分享自己的的智能体。
推荐下 starflow.tech,可以直接体验 GPTs
没有哪一家公司可以垄断智能体生意,因为未来会有多款不同 AI 引擎可供使用。现在,智能体只能依赖于其他软件,比如 Word 和 Excel,但是最终,他们将会独立运行。现在他们可能是免费的,但以后,你会为这些聪明高效的智能体付费,那么商业逻辑将改变,公司不再需要迎合广告公司而恶心用户,而是真正地为用户量身打造智能体。
在这些聪明但又复杂的智能体落地成为现实之前,还有大量的技术问题需要解决。
技术挑战
至今还没有人搞清楚智能体的底层存储结构是怎么样的,要创建一个个性化的智能体,我们需要一种新型数据库,它能把记录你的兴趣和关系的微妙之处,在保障隐私的情况下还能够快速查询信息。目前向量数据库是一种,或许之后还会有其他更好的呢。
另一个开放的问题就是一个用户大概需要和多少智能体打交道呢?你的个性化智能体会被分为医疗智能体和数学教师智能体吗?如果是的话,你是希望这些智能体彼此能够协作,还是在各自领域保持独立?
智能体的形态会是怎么样的呢,是手机、眼睛、项链、徽章,甚至是全息投影?这里比尔先生推测,现阶段最适合的是耳机,它能够听取你的声音,然后通过耳机回复你,其他的好处是,它还能调节音量、屏蔽周围噪音。
这里面还有其他种种技术挑战存在
1️⃣ 智能体之间互相交流的标准协议?
2️⃣ 智能体的价格要怎么打到每个人都能够用得起?
3️⃣ 用户少量提示词和智能体的准确回复之间如何取得平衡?
4️⃣ 如何减少幻觉,特别是在医疗这种特别重要的场景下?
5️⃣ 如何确保智能体不会伤害 or 歧视人类?
6️⃣ 如何确保智能体不会越权进行犯罪?
在不远的将来,智能体会迫使人类去思考,我们这么做是为了什么?想象一下,一个足够优秀的智能体存在,我们基本不需要工作了,那么每个人还需要接受高水平的教育吗?在未来可能是这样的,人们怎么消磨他们的时间?在所有答案都是已知的情况下,每个人还想要去上学吗?每个人都有大量的空闲时间,你还能有一个安全和繁荣的社会吗?
不过到这个时间点还很早,但至少目前,智能体正在走来,在接下来的几年,他们将彻底改变我们的生活。
来源:juejin.cn/post/7312736427326504996
看清裁员,你就没什么好焦虑的了
前言
Hi 你好,我是东东拿铁,一个正在探索个人IP的后端程序员。
前一阵子,组里面悄悄地走了两个同事,大家对此讳莫如深,原因自然不言而喻,被裁员了。
虽然裁员这件事情,在各种媒体上已经见怪不怪。但是近几年,即使是在北京,所在的公司确实还没遇到过这个情况。
本以为裁员这件事只存在于快节奏的大城市,但真正发生发生在二线城市的时候,我还是觉着心里蛮不舒服的。
因为裁员这个事情,对于个体来说,影响的确不小。
经济影响,裁员对个人的第一个影响就是收入中断。别看程序员收入比其他行业可能高一些,但是收入断层的压力依然很大。如果有房贷、车贷,更是雪上加霜。
职业发展,失去当前职位对程序员的职业发展产生不小影响,长期失业会导致技术技能的滞后,特别是在快速发展的科技行业,技术更新换代迅速。最重要的是,即使是短期的空白期,也可能使程序员在寻找新工作时,简历上的gap year也可能被HR视为一个警示信号。
心理压力,被裁员或许会经历自我怀疑、焦虑和抑郁等情绪,尤其是如果他们认为裁员是因为自己技能不足或表现不佳。这种心理压力可能会进一步影响他们在新工作中的表现和求职过程中的自信心。
所以看到身边的同事走了,我心里认为这真的是一件很糟糕的事情,从个人角度看,我认为裁员是不应该发生的。
但事实上愿望与真相的确不符合,我们常常拒绝接受真相。因为接受真相意味着改变,而改变可能会带来痛苦。
但是认清客观规律,才能认清自己,接受自己,不要固守你对事物"应该"是什么样的看法 这将使你无法了解真实的情况。
裁员存在很久了
太阳底下无新鲜事,裁员潮这件事情,早就不是第一次了。客观来讲,裁员这件事是的确是符合客观规律的,我们先回顾前面几次大的裁员潮吧,挑三个来讲。
90年代国有企业改革
1987年确定了改革开放,改革开放初期,逐步推行市场化改革,打破计划经济体制。
许多国有企业效率低下,国有企业迎来改革,负债累累,生产过剩。为了提高经济效率,政府推行国有企业改革,裁减冗员、减少亏损企业数量。
叠加政策推动,1997年党的十五大提出“抓大放小”政策,即保留和发展大型国有企业,改制或关闭小型亏损企业。
2008年全球金融危机
2008年爆发的全球金融危机导致外需急剧下降,许多出口导向型企业受到重创,全球经济衰退。
企业利润下降,为了控制成本,许多企业不得不裁员。
危机暴露了中国经济过度依赖外需和低附加值产业的问题,促使政府推动经济结构调整。
2019年互联网行业的大量裁员潮
从2018年下半年开始,不少互联网公司的裁员就已经开始,百度、阿里、腾讯、京东等大企业更是成为人们关注的焦点。
那是像摩拜、滴滴、美团等互联网行业,都是靠大量烧钱进行维持的,由于长期烧钱,投资者热情散去,各路资本也变的谨慎了。
是的,其实互联网裁员潮2019年就已经逐步开始了,互联网行业经过10多年的高速发展,慢慢走向了平稳期,互联网红利期已经过去,资本寒冬到来。
裁员背后的规律
企业战略与内部因素
成本控制与财务压力
企业在面临财务压力时,裁员通常是首选的成本控制手段之一。
通过减少员工数量,企业可以直接降低工资支出和相关福利成本。尤其是在利润率下降或财务报表不佳时,裁员成为企业迅速改善财务状况的一种方式。
比如最近理想汽车大裁员,背后就是因为纯电市场推广不顺,销售目标不及预期。
战略转型与业务重组
企业在战略转型或业务重组过程中,往往会调整其人力资源配置。例如,当企业从传统业务转向新兴技术领域时,原有的一些岗位可能不再需要,从而导致裁员。又或者,企业合并或收购也会带来很多人员问题。
比如4月底,马斯克裁撤了整个超充团队,与企业的战略是相关的,欧美充电桩市场竞争很激烈,国内的超充体系技术革新也很快,特斯拉超充的竞争力明显减弱,其实主要就是盈利问题吧。
效率提升与自动化
随着技术的进步,企业会不断寻求通过自动化和技术创新来提升效率。自动化工具和人工智能的应用可以显著减少对人力的依赖,从而导致部分职位的消失。尤其是在重复性高、技术含量低的岗位上,自动化的影响尤为明显。
这个例子就太多了,不一一列举了。
市场环境与外部因素
经济周期与市场波动
宏观经济的周期性波动对企业的经营状况有着深远影响。在经济衰退或市场需求下降时,企业往往会通过裁员来应对收入减少和利润率下滑的挑战。反之,在经济繁荣期,企业则可能增加招聘以满足业务扩张的需求。
最简单的例子,在互联网高速发展期,1年p6、3年p7根本不是梦,后端只要有过简单的开发经验,找工作根本不是问题。
目前中国经济增速放缓、消费升级趋势减弱、人口红利消失等因素的影响,中国互联网市场的需求增长趋于饱和或下降。再叠加就业市场饱和,企业对学历、经验提出了更多的要求。
行业竞争与市场压力
激烈的市场竞争也会促使企业通过裁员来保持竞争力。
当企业面临市场份额的争夺和利润率的压力时,降低运营成本成为必然选择。通过优化人力资源配置,企业可以在价格战或市场扩张中保持灵活性和优势。
目前用户规模停滞,智能手机普及率饱和,互联网用户规模增长趋于停滞,由增量市场变为存量市场,互联网获客成本越来越高。
政策变动与法规影响
政府政策和法规的变化也可能引发企业的裁员行为。例如,税收政策的调整、劳动法规的变化或贸易政策的波动,都会影响企业的运营成本和市场策略。在这种情况下,企业可能通过裁员来适应新的政策环境和经营压力。
就像目前互联网行业规范和监管愈加严格,更加注重合规,因此互联网行业也会收到影响。
技术发展与行业趋势
技术创新与产业升级
技术创新是推动产业升级的重要动力,也直接影响着就业结构的变化。新技术的应用往往带来生产方式的变革,导致传统岗位的减少和新兴岗位的增加。企业在追求技术领先的过程中,不可避免地会进行人力资源的调整。
其实,每一轮的市场繁荣,都是由技术创新带来的,例如3G时代叠加iPhone这样的智能手机,才打开了移动互联网快速发展的时期,才有了阿里 All in 无线的战略。
而现在正在快速发展的AI大模型,就是新一轮技术创新的开始,AI的可能性太大了。
行业趋势
数字化转型和远程办公的普及也在改变企业的用工模式。数字化工具的应用使得部分岗位可以通过外包或灵活用工的方式来完成,从而减少了全职员工的需求。远程办公的兴起则使企业有更多的选择来优化人力资源配置。
怎么做
通过之前的裁员历史,还有裁员背后的一些深层次原因,你应该能对裁员这件事背后的规律,有了一定的了解。
我们每个人都是时代中微不足道的一粒沙子,那么从个人角度,我们应该如何应对呢?
调整心态
年年涨薪,按时晋升机会等等这些互联网黄金时期的待遇,在当前可能不再是标配了,想要做到这一点,你需要在职场中付出比别人多几倍的努力,大家或许应该深有体会。
那么跳槽也不一定有涨薪,甚至工作时间长的人、base高的人,跳槽可能还会面临降薪。
所以一定要调整预期,如果岗位未来还有不错的发展空间,降薪也值得去。
还有就是要做好选择,不能既要(收入、光环),还要(轻松、自由)。
稳住基本盘
技术&业务能力
其实有挺多朋友加我,也不乏一些工作只有一两年的朋友,他们会感到焦虑,比如工作不好找、大厂不好进,是不是需要更换赛道。但是针对于工作年限不久的朋友,我始终给出的建议就是要先深耕技术,做好当前工作,这是作为一个技术人最基本的要求,也是立身之本。
无论市场环境如何,只要自己的技术或者业务能力在线,能够解决工作中遇到的问题,能够产生价值,那么你一定就会持续有一定竞争力。
身体
身体才是奋斗的本钱,长期加班、久坐,大家可能都会有或多或少的一些小毛病。
之所以把身体也列出来,是因为当下我真的感觉很容易精力不足,在持续大量学习的时候,很容易感到疲倦,下班之后就会什么也不想干,窝在沙发一晚上。
在你想做一件事情的时候,良好的身体状况才能保证你能够全身心的投入进去。
财富积累
良好的财富积累,既能提供经济缓冲,也可以增加自己的心里安全感。
如果想做职业转换时,有足够的储蓄也可以让你有更多的时间和资源去学习一些新技能。
提前探索
开头既然说了,国企也曾有过裁员潮,那么在互联网行业,我们大概率也很难干到退休了。
所以你需要提前探索自己可以长期耕耘的方向,并且对自己有一个清晰的自我认知。
比如经常问自己几个问题:
- 你觉得自己的内驱力是什么?喜欢做什么事情?或者自己希望自己的人生是一个怎样的状态。
- 你擅长什么技能?或者说有什么资源?比如技术、运营、销售、沟通等
- 你喜欢做的事情和擅长的技能资源等,比如健身、拍视频、写作
说在最后
好了,文章到这里就要结束了。
所以你看,由于企业战略、市场环境、技术趋势的影响,都有可能成为裁员的原因。所以我们不要认为裁员是自身能力不足,甚至影响自己的情绪。
面对裁员与互联网里不断宣扬的“35岁危机”,与其担忧焦虑,不如先调整心态,稳住自己当下的基本盘。
最重要的是提前探索,找到自己喜欢的事情,去探索自己的能力边界。
来源:juejin.cn/post/7378321582399914003
七年前的一个思维,彻底改变了我的程序员职场轨迹
前言
Hi 你好,我是东东拿铁,一个正在探索个人IP的后端程序员。
最近学习了12个生财思维,受益匪浅,但是纸上得来终觉浅,绝知此事要躬行,没有亲身实践,怎么能更好的理解呢?
单纯的学习,尤其是思维工具类的学习,只看但不实践,是不会有太好的效果的。
课程中的案例虽然真实,但是每个人的眼界、能力不同,所以案例对自己只能开开眼,但自己对于思维模式的理解却不会有太多的帮助。
为了更好的理解每一个生财思维,我决定根据每一个生财思维去复盘过去十年间遇到的机遇,看看自己错过了什么,有抓住了什么,然后把学习过程中的思考重新整理出来。
希望对你有所帮助。
对标思维
什么是对标思维?
对标思维,对,对比。标,标杆。
什么是标杆,领域里面做的好的,拿到成绩的,就是标杆。
如何真正的运用好对标思维?
分成三步:
- 第一步,找到对标,通过搜索、付费都可以找到领域内出色的人。
- 第二步,研究他的成功路径,比如他做了哪些事情,学习了哪些知识,遇到了什么障碍, 又是如何解决的,或者关注他有什么好的特质,值得你去学习。
- 第三步,复盘自己的做事路径和方法,对比标杆的方法、思维、路径,针对性的改进自己。
对标思维,每一个人都在下意识的应用到。
比如:
- 技术方案设计,我们对标大厂去设计我们的方案,为什么大厂要这样设计
- 身边的同事去了大厂,我们对标他,去看看他作对了什么,学习了什么知识
- 接手新的工作,先去看看别人是怎么做的
对标并不是对比,对比着重于把两个或多个事物放在一起,比较它们之间的相同点和不同点。
而对标更强调以优秀对象为目标进行追赶和超越
对标思维的应用
大学毕业后,我选择留在了老家,我的室友毕业去了北京。他去做了互联网,而我只能选择传统信息企业。
北京的生活节奏与二线城市很不一样,上学时我们一起开黑打游戏,毕业后,只剩下了留在济南的几个人,还能一起开黑娱乐,室友因为工作原因,工作日下班几乎无法和我们打游戏。
后来无意间得知,他的薪资比我高出一倍之多,我感到很震惊。(此时我无意间找到了对标)
同样的大学,同样的专业,相差不大的成绩,在我知道后,我不禁陷入思考,为什么收入会有着如此大的差距?
上面提到,对标并不是对比,如果仅仅从薪资角度来对比,那我们之间的差距无疑也太大了。
运用对标思维,我发现他做的对的事情,是去了北京。17年的互联网行业依然如日中天,大城市的机会、薪资,都是二线城市无法比较的,彼时只要有一些热门技术的经验,哪怕是培训机构出来的,都很容易找到工作。
我不禁反思,为什么当时的我毕业时,为什么没有作出这个选择?
大学同学,大概都来源于五湖四海,而我的室友的家在东北,他对我们所在大学的城市,一定是不会有太多的感情的,所以对他而言,毕业后,自然是像北京这样的大城市,有着更大的吸引力。
而彼时的我,还处于一个舒适区里。我从上学开始就没离开过济南,外面的城市对我而言是陌生的,而在家不用租房,上下班有车开不需要坐地铁,周末有朋友一起吃饭喝酒,上班时间因为城市不大所以也不远,因此缺少了闯荡的勇气。
当我认识到这一点后,便暗暗下决心要出去闯闯看看,随后没过多久,我就在没有任何准备的情况下,裸辞去了北京。
当然因为缺少准备,我吃了不少苦头,不过这个都是后话了,有兴趣的也可以看看我之前的文章。
这件事已经过去了7年之久,我依然记忆犹新,从对标、思考、选择的路径,可以很顺畅的把这件事情完整的回忆出来,因为我在不经意间用了对标思维,做出了很大的改变,也让我认识了更多的朋友,去了更大规模的公司。
看到这里,我猜你可能心里会想,你这个思考路径,并不一定有太大的参考价值呀。你的对标不用你寻找,就在你身边,并且薪资对比如此明显,你自然很容易就会去思考如何去改变。
但是我想说,想主动应用对标思维,没有这么简单。
故事继续。
找到目标
从小带着我玩到大的哥哥,也是程序员,我选择程序员行业,也是受到了我哥哥的影响。
在那个我还没有进入社会,沉浸在大学的美好时光中的时候,哥哥就已经从腾讯跳槽到阿里,并且在工作的城市买房、定居了。
其实我哥哥也不只一次的和我讲过,提前准备好面试内容,参加校招,可能会比毕业后再进入大厂的难度要小上很多。
但我始终没有听进去,在学习了一些内容之后,便放弃了。
理论上,我在上学的时候,就已经有了这么好的一个榜样,我如果早早去对标哥哥的工作路径,了解大厂的面试标准,毕业就选择进入大厂,我几乎可以少走4年的弯路,但我还是在毕业后,选择留在了济南。
瑞·达利欧在《原则》书中提到,
个人进化过程(即我在上一条描述的循环)通过5个不同的步骤发生。如果你能把那5件事都做好,你几乎肯定可以成功。
这五步大概是:
1.有明确的目标。
2.找到阻碍你实现这些目标的问题,并且不容忍问题。
3.准确诊断问题,找到问题的根源。
4.规划可以解决问题的方案。
5.做一切必要的事来践行这些方案,实现成果。
我们就聊第一步,有明确的目标。
大四那年我在干什么?尝试着考了研,尝试着去了一家公司实习,但大部分时间还是在打游戏。错过了秋招春招,最后毕业才拿到一家offer,只能选择入职。
大学期间,我很明显是没有目标的。比如,毕业后想去什么样的公司,想拥有多少收入,去哪个城市发展。
因此即使有再好的榜样在我身边,我也无动于衷。
但当我工作之后,发现了技术上的差距,发现了工资上的差距,发现了工作环境上的差距,自己不想再浑浑噩噩下去,因此才有了改变的动力。
因此让心里埋下一个想法的种子,找到目标,才是运用思维工具的第一步。
具体如何找到目标,进行拆分,可以看看我之前的这篇文章。
说在最后
好了,文章到这里就要结束了,总结一下。
对标思维从概念上看其实不难,只需要三步即可找到对标,研究路径,复盘改进。
但是并非有了这个思维就可以立即应用,还是要有明确的目标,知道自己想要什么,才能更好的利用对标思维。
欢迎你在评论区和我分享,也希望你点赞、评论、收藏,让我知道对你有所收获,这对我来说很重要。也欢迎你加我的wx:Ldhrlhy10,一起交流~
本篇文章是第42篇原创文章,2024目标进度42/100,欢迎有趣的你,关注我。
来源:juejin.cn/post/7388488504055955492
初中都没念完的我,是怎么从IT这行坚持下去的...
大家好,我是一名二线(伪三线,毕竟连续两年二线城市了)的程序员。
现阶段状态在职,28岁,工作了10年左右,码农从事了5年左右,现薪资9k左右。如文章标题所说,初二辍学,第一学历中专,自己报的成人大专。
在掘金也看了不少经历性质的文章,大多都是很多大牛的文章,在大城市的焦虑,在大厂的烦恼,所以今天换换口味,看一看我这个没有学历的二线的程序员的经历。
1.辍学
我是在初二的时候辍学不上的,原因很简单,太二笔了。
现在想来当时的我非常的der,刚从村里的小学出来上中学之后(我还是年级第7名进中学,殊不知这就是我这辈子最好的成绩了),认为别人欺负我我就一定要还回来,完全不知道那是别人的地盘,嚣张的一批,不出意外就被锤了,但是当时个人武力还是很充沛的,按着一个往地上锤,1V7的战绩也算可以了。自此之后,我就开始走上了不良的道路,抽烟喝酒打架,直到中专毕业那天。
我清楚的记得我推着电车望着天,心里只想着一个问题,我毕业了,要工作了,我除了打游戏还会什么呢,我要拿什么生存呢...
这是当时我心里真实的想法,我好像就在这一刻、这一瞬间长大了。
2.深圳之旅
因为我特别喜欢玩游戏,而且家里电脑总是出问题,所以我就来到了我们这当地的一个电脑城打工,打了半年工左右想学习一下真正的维修技术,也就是芯片级维修,毅然决然踏上了深圳的路。
在深圳有一家机构叫做迅维的机构,还算是在业内比较出名的这么一个机构,学习主板显卡的维修,学习电路知识,学习手机维修的技术。现在的我想想当时也不太明白我怎么敢自己一个人就往深圳冲,家里人怎么拦着我都没用,当时我就好像着了魔一样必须要去...
不过在深圳的生活真的很不错,那一年的时光仍旧是我现在非常怀念的,早晨有便宜好吃的肠粉、米粉、甜包,中午有猪脚饭、汤饭、叉烧饭,晚上偶尔还会吃一顿火锅,来自五湖四海的朋友也是非常的友好,教会了我很多东西,生活非常的不错。
3.回家开店
为什么说我工作了10年左右呢,因为我清楚记得我18岁那年在本地开了一个小店,一个电脑手机维修的小店。现在想想我当时也是非常的二笔,以下列举几个事件:
- 修了一个显示器因为没接地线烧了,还跟人家顾客吵了一架。
- 修苹果手机翘芯片主板线都翘出来了,赔了一块。
- 自己说过要给人家上门保修,也忘了,人家一打电话还怼了一顿。
- 因为打游戏不接活儿。
以上这几种情况比比皆是,哪怕我当时这么二笔也是赚了一些钱,还是可以维持的,唯一让我毅然决然转行的就是店被偷了,大概损失了顾客机器、我的机器、图纸、二手电脑等一系列的商品,共计7万元左右,至今仍没找回!
4.迷茫
接下来这三年就是迷茫的几年了,第一件事就是报成人大专,主要从事的行业就杂乱无章了,跟我爸跑过车,当过网吧网管,超市里的理货员,但是这些都不是很满意,也是从这时候开始接触了C和C++开始正式踏入自学编程的路,直到有一次在招聘信息里看到java,于是在b站开始自学java,当时学的时候jdk还是1.6,学习资料也比较古老,但是好歹是入了门了。
5.入职
在入门以后自我感觉非常良好,去应聘了一个外包公司,当时那个经理就问了我一句话,会SSM吗,我说会,于是我就这么入职了,现在想想还是非常幸运的。
当时的我连SSM都用不明白,就懂一些java基础,会一些线程知识,前端更是一窍不通,在外包公司这两年也是感谢前辈带我做一些项目,当时自己也是非常争气,不懂就学,回去百度、b站、csdn各种网站开始学习,前端学习了H5、JS、CSS还有一个经典前端框架,贤心的Layui。
干的这两年我除了学习态度非常认真,工作还是非常不在意,工作两年从来没有任何一个月满勤过,拖延症严重,出现问题从来就是逃避问题,职场的知识是一点也不懂,当时的领导也很包容我,老板都主持了我的婚礼哈哈哈。但是后来我也为我的嚣张买了单,怀着侥幸心理喝了酒开车,这一次事情真真正正的打醒了我,我以后不能这样了...
6.第二家公司
在第二家公司我的态度就变了很多很多 当时已经25岁了,开始真真正正是一个大人了,遵纪守法,为了父母和家人考虑,生活方面也慢慢的好了起来(在刚结婚两年和老婆经常吵架,从这时候开始到现在没有吵过任何架了就),生活非常和睦。工作方面也是从来不迟到早退,听领导的安排,认真工作,认真学习,认识了很多同行,也得到了一些人的认可,从那开始才开始学习springboot、mq、redis、ES一些中间件,学习了很多知识,线程知识、堆栈、微服务等一系列的知识,也算是能独当一面了。但好景不长,当时我的薪资已经到13K左右了,也是因为我们部门的薪资成本、服务器成本太大,入不敷出,公司决定代理大厂的产品而不是自研了,所以当时一个部门就这么毕业了...
7.现阶段公司
再一次找工作就希望去一些自研的大公司去做事情了,但是也是碍于学历,一直没有合适的,可以说是人厌狗嫌,好的公司看不上我,小公司我又不想去,直到在面试现在公司的时候聊得非常的好,也是给我个机会,说走个特批,让我降薪入职,算上年终奖每个月到手大概10k(构成:9k月薪,扣除五险一金到手7.5k,年终奖27k,仨月全薪,所以每个月到手10k),我也是本着这个公司非常的大、非常的稳定、制度非常健全、工作也不是很忙也就来了,工作至今。
总结
- 任何时候想改变都不晚,改变不了别人改变自己。
- 面对问题绝对不能逃避,逃避没有任何用,只有面对才能更好的继续下去。
- 不要忘了自己为什么踏入这行,因为我想做游戏。
- 解决问题不要为了解决而解决,一定要从头学到尾,要不然以后出现并发问题无从下手。
- 任何事情都要合规合法。
- 工作了不要脱产做任何事情,我是因为家里非常支持,我妈至今都难以相信我能走到今天(我认为我大部分是运气好,加上赶上互联网浪潮的尾巴)。
- 最重要的,任何事情都没有家人重要,想回家就回家吧,挣钱多少放一边,IT行业找个副业还是非常简单的,多陪陪他们!
来源:juejin.cn/post/7309645869644480522
一份离职感想
一、和解
人的一生就是不断地与世界和解,以及与自己和解。
今天提离职了,相比于四年前的离职,更加的从容和淡定。所谓,心无外物,云淡风轻。
图:云卷云舒,心随境转
二、当下
今天晚上和一个刚来三周的应届生跑步,聊着聊着就说到了要是回到十八岁就好了的话题。
当然我也谈了我的一些想法, 如果是以前的我也会像你这样,要是回到以前就好了。 但是,现在的我更加从容、更加淡定、更加坚定,以及对事情的理解、看法、态度是那个时候没有的,同时懂得了筛选,也懂得舍弃,对社会的理解,对世界的理解也是那个时候没有的,甚至对自己的看法也更加立体,对自己也更宽容,现在反而会更加欣赏自己。
人生不必时时往过去看,"既往不恋,当下不杂,未来不迎"
图:操场跑步,有时候也会坐在最高的台阶上,享受这自然的风。
三、接纳
我们还谈到了失恋的话题,我说很多人是没有办法放下的,也没办法抹去,不管是事还是人都一样。
人的一生就像是石块不断垒起来的玛尼堆,有一些人会在特定时间段参与进来,帮你加一块,可能它的颜色、大小、形状、好看程度都不一样,但你不得不承认,那个时间点,那个高度就只有那么一块,无可替代。
与其不见,不如接纳!
图:某次户外徒步
四、选择
大学时的第一部课外读物 ,路遥的《人生》,开篇来自柳青的一段话,至今影响着我。
刚好昨天生日,有感而发,也时刻警醒着自己。
图:朋友圈,31岁的记录
五、感受
人这一生就是不断地给自己的感受积累素材
不知什么时候,我开始静下来,用心去感受这个世界。
在吃午餐的时候,变得专心,放下了手机,端起了饭碗,开始用舌头去感受食物原本的味道,就像《小森林》中的女主一样。静下来,都是收获。
图:午餐,三菜一汤
用心去感受,用心去体会,从容和淡然。享受生活,感恩生活。
你所看到的,就是你内心的一种投射,你看到了美好,那么你的内心就是美好的。你看到了恶,那么你的内心就是恶。 内心这块三分宝地,就不要装上一些乱七八糟的东西了。
六、经历
生命的厚度在于去经历一些不一样的事情。
人需要不断去经历一些不一样的事情,而不是将365天过成1天。
“人不是活一辈子,不是活几年几月几天,而是活那么几个瞬间。”——鲍利斯·帕斯捷尔纳克。
希望多一些这样怦然心动、与众不同的时刻, 看到黄山的日出、云海,觉得这个世界真的很酷,继续热爱。
图:黄山风景图
不要等到八十岁了才去做二十岁想做的事情。
七、自己
青年人要有青年人的样子,朝气、热血。
如罗曼罗兰说过:
“世界上只有一种真正的英雄主义,那就是在认清生活的真相后依然热爱生活”。
人不要给自己设限,勇敢地做自己,不要被这个世界迷失了自我。
在这个满是焦虑、满是浮躁的社会,更要做到正心正念。
就像我在 500px 网站上说过的一句话:“这个世界没有标准答案,活出自己,不受羁绊”。
来源:juejin.cn/post/7386497602193981481