1,在controller层写前端交互逻辑;
2,在service层写业务逻辑;
3,在provider写与第三方交互逻辑;
分类目录归档: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,手机号,邮箱等)
- 屏蔽归属地(可以过一个月再打开)
- 屏蔽所有用户发布信息(含用户名)
开源方案
- 使用TensorLayer训练一个垃圾文本分类器
- 敏感词过滤的几种实现+某1w词敏感词库
- 中英文敏感词、语言检测、中外手机/电话归属地/运营商查询、名字推断性别、手机号抽取、身份证抽取、邮箱抽取、中日文人名库、中文缩写库、拆字词典、词汇情感值、停用词、反动词表、暴恐词表、繁简体转换、英文模拟中文发音…
商业方案
如何通过阅读源代码学习?
有选择的阅读
跟着大师学习,让你更接近大师,学习不好的代码,有可能被带进沟里,如何发现值得阅读的代码呢?
- github star超过10K的
- 开发参与人数超过5人的
- 文档完善的(如有多语言版本、区分普通用户和开发者文档等)
- 用户多的(issue规模可以看出,对应npm,composer,pypi的downloads等)
- 发展时间等超过半年
阅读步骤
掌握正确的阅读步骤,能够让你少走弯路,起到磨刀不误砍柴工的作用。正确的方法应该是带着问题学习。
- 运行软件:软件解决了什么问题?
- 看用户说明书:软件有什么特点?
- 看开发者文档:软件整体架构是怎样的?
- 看代码组织结构:当前组织方式的优缺点?
- 看代码的数据库结构:数据是如何存储的?
- 针对特定问题解决办法深入学习:我的方式是什么?作者的方式是什么?有没有更好的解决办法?
学习的要点
- 学习解决问题的思路和方法:思路就是思考的路径,了解他人的思路,我们就有可能能变得和他人一样聪明。思路是方向,方向对了事半功倍,方向错了事倍功半。比如“空间换时间”,“并行”等。
- 学习编程的技巧:比如类、方法、变量命名,语言特性,设计模式等。
- 学习软件架构的方法:即代码目录结构,数据存放,数据库设计,数据流,使用的第三方库等。
- 学习软件的商业逻辑:如软件的界面,交互,用户体验,营销方法等。
忘读读书法
有没有一种(功利的)读书法,读得快但是效果又最好?
进过不懈的努力,这个读书法被我发现了,就是“忘读读书法”。
这个方法类似张三丰教张无忌的太极神功,强调一个“忘”字。
方法原理:为什么是“忘”?我们相信:
- 记住几个关键词,比记住整本书要容易得多
- 记住当前最有效的部分并行动,比按照整本书去行动可行性更高
- 书本的价值在于你利用多少,而不在于你知道多少
方法步骤:
- 找到一步本书进行阅读,阅读的时候思考当前阅读的内容是否有新的观点,这个观点是否能够作为自己未来的人生信条和行为纲领,如果不是则忘掉,如果是则标记,这样读完;(因为一本书能够作为信条和纲领的比较少,所以能很快读完)
- 重新阅读标记部分,提炼成几个关键字,根据关键字形成自己的关键字理解笔记(理解归纳,便于形成自己观点)
- 将关键字作为自己未来的人生信条和行为纲领(学以致用)