分类目录归档:Inspiration

张雪峰的底层生存逻辑

张雪峰:

“如果你是一个内向老实的孩子,

千万不能掉入社会底层,

一旦掉入社会底层,

和一帮没有素质的底层人在一起,

就会成为别人欺负的对象。

对于老实内向的孩子,

学习是唯一的出路,

相反那些有脾气的孩子,

就算在社会的底层,

他们也能过得风生水起,

混出一番模样。

这种情况非常普遍,

因为内向老实的孩子,

尊重规则,道德感比较强,

在社会底层,

道德规则面的东西太弱势了。

大家都是利益驱动的,

底层社会是混乱的,

能够浑水摸鱼的人,

才能冲出重围,进入到中上层。”

“老实家庭出来的孩子,

一定要好好读书,

读个好大学,

毕业进好公司工作。

在那里,

你遇到的工作环境,

福利待遇,

相对都是友好的,

同事也都是有文明有素养的。

你一个老实巴交的孩子,

你不好好读书改变命运,

将来毕业,

去一个相对底层的工作环境里,

那里同样有一批当年不好好念书,

不服从老师管教的学生,

他们虽然不会读书,

但他们会算计整人,

欺上媚下。

那样的环境里,

你这个老实巴交的人,

怎么玩的过他们?”

“卷”可能存在中国人的基因里

“卷”可能存在中国人的基因里

中华民族地少人多,却存在了几千年,作为地球上现存有文明流传最长的民族,我们能生存的原因,可能就是因为卷,因为忧患意识足够。这种忧患意识造就了我们,也限制了我们。

先天下之忧而忧,后天下之乐而乐。

安得广厦千万间,大庇天下寒士俱欢颜。

兴,百姓苦,亡,百姓苦。

王师北定中原日,家祭无忘告乃翁。

王侯将相宁有种乎。

水能载舟,亦能覆舟。

我劝天公重抖擞,不拘一格降人才。

多少文人志士,多少英雄豪杰,多少明君昏主,多少无名之辈。。。前仆后继。。。

当我们喊卷想润之时,不妨想一想,我们自己为这个国家做过的贡献是哪些?这个国家究竟是我们的还是他们的!

忧患意识造就了我们,也限制了我们,但是我们还有办法!

我们觉得卷,是因为我们承担了太多,而这些承担很多是大可不必的,也从来不必害怕卷。在这个充满不安的环境中,劣币驱逐良币的事情时刻在发生,我们永远不要忘记“天无绝人之路”,我们还可以“深度思考,另辟蹊径”。

当大家卷读书的时候,不要忘记学校通识教育带来的知识是共知的,而共知的往往是增值较低的,稀缺才能高溢价。

当大家卷房子的时候,不要忘记房价与经济发展、人口增长以及科技发展的关系。

当大家卷累了的时候,你仍然可以选择躺平,也可以选择润(感谢你为大家挪地方),还可以选择与人斗其乐无穷—-每一份不满都是动力。

企业招聘10倍程序员和0.5倍程序员的区别

首先,10倍只能是偶尔某些任务,并不是所有任务类型能10倍效率。

其次,编程是一项需要协作的工作,很多时候是流水线试操作的。且小组的一个10倍程序员可能没法让整个小组效率都能10倍,真正10倍程序员也不太好鉴别,或者不存在(干每项工作都10倍?)。而一个0.5倍程序员,却通常可以让整个小组的效率都变为0.5倍甚至更慢,而这通常非常容易鉴别。当我们在谈论10倍程序员时,通常我们只是想找一个1倍的,是因为大部分都还没有达到1倍;

所以,想招聘10倍程序员,成立10倍团队是不现实的,收益和成功可能性远少于踢掉团队0.x的程序员,木桶定律才是优先需要考虑的,企业不要企图花费太大精力企图去招聘10倍程序员,而是要防止招聘到0.x倍程序员,要时刻警惕0.x倍程序员。

对于个人来说,哪怕你真成为10倍程序员,公司不会给你10倍工资,要想成为10倍效率程序员,可能不太行得通,那么价值上的10倍可行性怎么样呢,可能更值得探讨?

什么是全能程序员?全能程序员怎么来的?

最近看到阮一峰的《全能程序员 vs 特长程序员》提到观点,结合自身经历,发表一点不同的看法。

  • “软件行业"全能程序员"的出路,明显不如"特长程序员"”

  • "全能程序员"在这个行业是不受待见的,被视为"万金油"。

什么是全能程序员?全能程序员怎么来的?

一个程序员,如果长期在某一领域工作,可能会发现原有的知识不够用,这时候需要学习新的知识,恰好你乐意去学习,你也能挤出活创造时间和机会,然后你就去学习并掌握了,你运用学习到知识,在使用的过程中你逐步发现他们的原理,了解新知识与旧知识的联系和异同,久而久之,你掌握的新知识越来越多,能解决的问题越来越多,虽然随着时间的迁移许多新知识也变成了旧知识,但是在别人眼里,你成了他们眼中各方面问题都能解决的“全能程序员”。所以:

  • 全能程序员的定义应该是:在某一领域,能够解决大多数别人不能解决问题,而不是看似都懂实际则浅尝辄止。

  • 全能程序员是怎么来的:全能程序员是遇到问题后不断追根究底,在别人已经停止研究情况下,仍然不断学习和探索,直到到最终解决问题或者找到问题的最优解,在这个过程中不断积累成长起来的。

全能程序员的优势

  • 成为全能程序员是很多职位的最佳途径,如:CTO, devops, 架构师

  • 更好的解决问题的办法:如果将程序员比做木工,在全能手里,永远不止有锤子,全能程序员不可能只会干钉钉子的活,他们抛光会用狍子,打眼会用锉子,电锯和电转也是最先掌握的

  • 最快找到问题的解决办法:他们清楚整件事情的来龙去脉和原理,找问题不用开IDE,在心里就能完成DEBUG和需求分析,开IDE只是为了验证和最终解决问题

  • 最高效的解决问题方式:他们从架构上,组织上找到最有效率的协作方法,他们明白每多一道沟通就是浪费

  • 最节省资源:好比电脑CPU没在空耗,老板付一份工资找了一个需要几个人干的活

全能程序员的缺陷

  • 个人的精力是有限的,你不能一个解决所有问题,你仍然需要一个靠谱的团队,电脑可以不休息人需要休息

  • 思维切换需要时间,电脑可以多任务人往往不可以

  • 你个人的能力会被其他人平均,老板可能愿意付你2倍工资,往往没法付你10倍工资,即使你是10倍程序员

  • 你需要付出的比别人多,除非你乐意,否则没法坚持

全能程序员/全能非程序员的现实例子

全能非程序员的例子:

  • 毛泽东不仅会打仗,诗的气势普通人恐怕也很难达到;
  • 本杰明富兰克林不仅能当好总统还会发明创造;
  • 达芬奇不仅能画好蛋;
  • 马斯克创Paypal、造车、造火箭和造星链。。。

全能程序员的例子:

  • 几乎所有编程语言发明者都精通其他一门到多门语言
  • 合格的devops或者架构师都精通一门语言+数据库+非关系存储+linux+分布式

事情的本质

  • Python、C++是全能的,PHP、Go、R、Lisp是特长的,他们都是成功的
  • 罗技、格力专注成功,联想、华为、小米、通用不那么专注也很成功
  • 马云不会编程能带领阿里成为技术性领先的公司,马化腾、王兴、张小龙搞技术的也不会因此管理和产品能力就差一点

总结:全能和特长本不矛盾,各阶段选取合理的发展方向。作为技术人学习好英语,掌握几门编程语言、几种数据库、学习下devops,学习管理、产品和运营,先成为一个领域专家,然后架构师,CTO,再自己创立公司,仍然不失为一条明确的路径。

割韭菜的学问

今天和朋友讨论如何赚钱,我总结出一个经验:

想赚钱,得靠割韭菜,先选一个韭菜地,然后引韭菜进去,然后等待时机收割。想赚钱,得靠割韭菜,先选一个韭菜地,然后引韭菜进去,然后等待时机收割。

虽然说的很鲜血淋淋的样子,但是直接说出来,我反而觉得很有可取之处。
能割至少证明有市场用户认可是吧,
大家都是割韭菜,
割的方式不同而已,
有的割了就不管换个地再割,
有的割了撒点肥料来年还可以割。

割韭菜的学问:
狩猎式的:用陷进让猎物进来,抓了猎物一次性收获,投入很少,但是靠运气
养猪式的:养猪一次杀了卖肉,养一次只能收获一次,下次得重新养,投入成本高
种果树式的:种了果树都可以收获,投入成本中,可以重复收获
割韭菜式的:留点余地,割了之后撒肥料又可以收割,投入成本低,可以重复收获

搞不好的话你以为你在割韭菜,其实你可能在养猪或者狩猎。

一命二运三风水的现代解读

一命二运三风水,四积功德五读书,六名七相八敬神,九交贵人十养生。

这些可以用当代的解读办法,命运其实和后面的都相关,不能单独抛开了讲,单独认命运就是偷懒耍滑的理解,可以说命运是果,而其他是因,认识命运不仅要认识果,还要认识因。

我的解读如下:

一命:生来就有的的部分,比如你的出身无法改变,但是你可以改变你儿子女儿的出生,我相信“人活着的意义就是可以改变”;

二运:运气是量变到质变的过程,比如说究竟“会笑的人运气都不差”,还是“运气差的人都笑不出来”了呢?我相信“机会都给有准备的人”;

三风水:即环境,孟母三迁为了是学习的环境,买学区房是为了教育,买好点房子是为了自己家人心情舒畅身心通透。往大了看,风水还是地利,要寻找合适自己发展的土壤,贫瘠的土地是很难长出参天大树的,需要我们“人挪活”。

四积功德:即向善,没有人喜欢和恶人打交道,得道多助。毛说“政治工作就是将自己人搞得多多的,敌人搞得少少的”。国外说“人们追随你,是因为爱戴你”。众人拾柴火焰高,你利他越多,就越顺,越好运,“你是别人的贵人,别人也是你的贵人”,运自然改了。

五读书:学习是大多数人最快的也可能是唯一的实现生活改善、阶层跃迁,实现命运改变的办法。一个人我们说他能够看到老了,是因为他已经停止学习和进步了。

六名: 名即名字、名气、名声,现代可以解读为品牌。二十一实际什么最贵?是人才没错。怎么看一个人是不是人才呢?就是这个人的品牌。人的品牌怎么来?是靠平时积累来,品牌的特点是积累难,损害容易,钟南山非典因为敢发声,所以有品牌,但是可能会因为儿子的一条皮带而受到损害。“品牌只是所以有价值,就在于难”。个人平时的品牌就在于你对待他人,对待问题的处理方式,最终在其他人心中的印象。

七相:相貌,可以解读为注重包装,同名一样,“酒好也怕巷子深”。好的包装不仅可以让自己舒服,也可让别人愉悦,何乐而不为呢?

八敬神:可以解读为心存敬畏之心。对人敬畏,尊重任何人;对事敬畏,实事求是不做纸上谈兵之事;对天地敬畏,不做对社会有害之事。“心存敬畏者才能为人所敬畏”。

九交贵人:可以理解为远离小人,多交愿意学习,注重品德的人,你自然也成为爱学习品德高尚的人。与小人交往,不仅浪费时间,而且暗里里会降低了自己的期望和目标。

十养生:即注重健康。不仅健康是一切之本,且罗马不是一天建成的,少些急功近利,多些长期可持续。养生切莫道听途说,科学养生才叫养生,杜绝不良习惯—“要养生不要养蛊”。

论坛和社区如何防止垃圾文章和评论

在V2上看到被 spam 评论给弄疯了,如何有效的建立机器学习模型呢?,想起以前做论坛和信息发布平台的一些经历,也曾头痛过,总结自己以及网友的经验如下。

通过关键词库识别spam内容

如何建立关键词库

  • 人工方法收集词库;
  • 导入网上词库;
  • 收集历史内容,然后通过分词方式抽取词;
  • 使用网络上的开源spam机器学习方案;

如何运用关键词库

  • 匹配前利用正则表达式去空白
  • 使用正则表达式对整段内容运用关键词库进行多次匹配
  • 分词然后匹配词,因为分词通常不够精准,所以除非特殊情况不建议,效率上分词加词组匹配的时间不一定会比正则快

通过联系方式特征识别spam内容

如何识别联系方式

  • 数字联系方式:如④,肆等
  • 网址:.com等
  • 手机号、电话号等
  • 邮箱
  • 通讯软件:微信,咸鱼等

如何运用联系方式反spam

  • 正则表达式

通过用户身份识别spam内容

如何识别用户身份

  • 手机号认证
  • 邮箱认证
  • 微信,微博等第三方认证
  • ip地址识别
  • ip归属地识别
  • 手机归属地识别
  • 身份认证:身份证、人脸识别

如何运用身份识别反spam

  • 建立手机号,邮箱,IP,归属地黑名单
  • 注册、登录验证码
  • 答题识别
  • 邀请注册
  • 付费注册

通过操作特征识别spam内容

操作特征识别

  • 发布频率
  • 注册时间

如何运用操作特征识别反spam

  • 注册后一定时间内不允许发帖
  • 发帖消耗积分

识别后的处理

  • 过滤信息,进入待审核
  • 禁言用户(可设置时间)
  • 屏蔽账号(ip,手机号,邮箱等)
  • 屏蔽归属地(可以过一个月再打开)
  • 屏蔽所有用户发布信息(含用户名)

开源方案

商业方案

如何通过阅读源代码学习?

有选择的阅读

跟着大师学习,让你更接近大师,学习不好的代码,有可能被带进沟里,如何发现值得阅读的代码呢?

  • github star超过10K的
  • 开发参与人数超过5人的
  • 文档完善的(如有多语言版本、区分普通用户和开发者文档等)
  • 用户多的(issue规模可以看出,对应npm,composer,pypi的downloads等)
  • 发展时间等超过半年

阅读步骤

掌握正确的阅读步骤,能够让你少走弯路,起到磨刀不误砍柴工的作用。正确的方法应该是带着问题学习。

  • 运行软件:软件解决了什么问题?
  • 看用户说明书:软件有什么特点?
  • 看开发者文档:软件整体架构是怎样的?
  • 看代码组织结构:当前组织方式的优缺点?
  • 看代码的数据库结构:数据是如何存储的?
  • 针对特定问题解决办法深入学习:我的方式是什么?作者的方式是什么?有没有更好的解决办法?

学习的要点

  • 学习解决问题的思路和方法:思路就是思考的路径,了解他人的思路,我们就有可能能变得和他人一样聪明。思路是方向,方向对了事半功倍,方向错了事倍功半。比如“空间换时间”,“并行”等。
  • 学习编程的技巧:比如类、方法、变量命名,语言特性,设计模式等。
  • 学习软件架构的方法:即代码目录结构,数据存放,数据库设计,数据流,使用的第三方库等。
  • 学习软件的商业逻辑:如软件的界面,交互,用户体验,营销方法等。

忘读读书法

有没有一种(功利的)读书法,读得快但是效果又最好?

进过不懈的努力,这个读书法被我发现了,就是“忘读读书法”。

这个方法类似张三丰教张无忌的太极神功,强调一个“忘”字。

方法原理:为什么是“忘”?我们相信:

  • 记住几个关键词,比记住整本书要容易得多
  • 记住当前最有效的部分并行动,比按照整本书去行动可行性更高
  • 书本的价值在于你利用多少,而不在于你知道多少

方法步骤:

  • 找到一步本书进行阅读,阅读的时候思考当前阅读的内容是否有新的观点,这个观点是否能够作为自己未来的人生信条和行为纲领,如果不是则忘掉,如果是则标记,这样读完;(因为一本书能够作为信条和纲领的比较少,所以能很快读完)
  • 重新阅读标记部分,提炼成几个关键字,根据关键字形成自己的关键字理解笔记(理解归纳,便于形成自己观点)
  • 将关键字作为自己未来的人生信条和行为纲领(学以致用)