刘贵学博客

一场人生一场梦

下午眯了一会,不到一小时,但做了一个时间很长的梦,感觉就像一辈子,剧情很操蛋,醒来还能回忆起梗概,记录一下:

开始场景,整个团队都在疯狂加班,何止996,吃住都在一起的那种,无日无夜,不眠不休,跟一群疯子差不多,这种情况已经持续了很长时间了,资金链也快断了。

一个"疯子"突然惊呼: 我们成功了!

大家迅速围过来,原来这家伙研发出一项划时代的技术,:利用量子计算机,精准控制光场、磁场等,把一系列先进技术完美融合,可以在空气里实时渲染出高清画面,真正的裸眼VR(虚拟现实)。还攻破了一个场景化应用,把任意区域的天空当成超清屏幕,真实5D体验,让身临其境的每个人分不清虚拟还是现实。

什么苹果、三星,以后统统弱爆了,真正改变世界的交互方式才刚刚诞生,以后所有的实体屏幕都可以扔进垃圾桶了。

此刻起,虚拟世界开始比真实世界更清晰、更方便。游戏、购物、生活、工作将在新的世界里重新创建,人们更愿意活在我们构建的“完美世界”里,这确实比互联网更伟大的发明。

为了让世人知道这项技术,我们举办了一场盛大的技术发布会,《未来已来: 完美世界,眼见为虚》,发布会现场来了很多人,我们团队特地制作了流星撞地球的特效视频,演示效果很成功,几乎震撼了所有人,观众都以为是真的,有的甚至还吓哭了,吓尿了……

我们在后台恶作剧一般,控制着这一切,从上帝视角,俯瞰下去,有一种造物者的成就感,甚是洋洋得意……

演示快结束时,一颗异样的流星缓慢地飞向人群,爆炸,造成现场的更大的骚乱,太震撼了,太牛逼了!!音响、渲染效果逼真到无法想象,甚至都能闻到灰尘、炸药、焦肉的味道。 做视频的那帮小伙子确实过分,这也太坏了吧,快结束了还放个彩蛋吓唬人。也许前段时间都快憋疯了吧,好好发泄一下吧!

结果“坏小伙”过来汇报说:很奇怪,我们场景中没有这个效果啊,很可能发生了意外。

我们赶紧关闭了虚拟效果,看到的真实的一切:原来现场真的发生了爆炸,死伤极多,所有人争着往外涌去,互相踩踏,推搡,哭泣…… 如果有地狱,可能也不过如此吧。

这事玩大了,我们彻底慌了!初步分析,应该是演示系统早就被被某敌对组织(恐怖分子? 米国??)的黑客提前侵入了,并用定位,引来一颗真实的炸弹!

技术世界里本就道高一尺,魔高一丈。还是不该太狂妄啊,太狂的人往往都没有好结果,天欲其亡,必令其狂。

外面已经被武警包围了,怀疑我们勾结恐怖分子,放弃抵抗,配合调查。

怎么办?不知是谁喊了一句,快跑吧,出了这么大事,即使不是恐怖分子,也肯定得枪毙!

生死面前,必然狂奔啊,我冒充观众,混在人群里,还很心机的往脸上弄了点血迹,总算出了会议中心,大楼背面都是水(莫非就在金鸡湖?), 趁机绕过去,跳水游泳,偷偷潜逃了。

接下来事情开始发酵,我是第一责任人,必须归案,在公安部都挂号了。

公安、武警、国安各种围追堵截,我就藏啊,跑啊,无所不用其极…… 之前看过的一篇技能贴《犯事后如何潜逃》,这下总算有机会用上了,开始一本正经的筹划,各种反侦察,太操蛋……

再后来,我就醒了,因为逃跑动静太大,被子蹬地上冻醒了……

一个小时,我就体验了从人生巅峰,到人生谷底,太他妈刺激了,能醒来,多侥幸啊。

凡人别老想着牛逼,走向人生巅峰,高处往往不胜寒,顶不住就傻逼了,平平淡淡才是真。

再看东哥以前多牛逼,多狂啊,在米国不也被玩了嘛。他是不是也想过,那一切如果是一场梦,该多好啊!

我这个原本就是一场梦,比他幸运些!

以后得低调,低调~~

也谈996,效率也有黑洞

1. 什么是996

2019年3月27日,一个名为996ICU的项目在GitHub上传开。程序员们揭露"996ICU"互联网公司,抵制互联网公司的996工作制度,其中有两个杀手锏:

  • 黑白名单,很多著名的互联网公司都被晾出来了
  • 反 996 许可证,含此许可证的开源项目不给黑名单的公司用了,这个确实厉害了

百度百科给的解释是:

996工作制是指工作日早9点上班,晚上9点下班,中午休息1小时(或不到),总计10小时以上,并且一周工作6天的工作制度。

2. 典型观点

  • 马云,福报说:

如果你年轻的时候不996 你什么时候可以996?

  • 后来马云再谈996:

任何公司不应该,也不能强制员工996;阿里巴巴从来也都提倡,认真生活,快乐工作!但是年轻人自己要明白,幸福是奋斗出来的!不为996辩护,但向奋斗者致敬!

  • 刘强东:混日子的人不是兄弟,他将8116+8;

  • 人民日报发表评论员文章《强制加班不应成为企业文化》

了解更多,建议去微博抖音上翻一翻热点评论

3.我的观点

先说两个基本问题:

  • 公司强制实行996应不应该?

    肯定不应该,确切的讲是违法,即使变相营造潜规则也是耍流氓。
    
  • 员工应该自觉的996吗?

    不一定。
    

996, 将延长员工工作时间常态化,对公司和员工来讲都是弊大于利。

这几年我有机会服务或合作过很多家科技公司,据我观察,大多数员工的工作效率很低,真正聚焦在工作上的时间一半都不到,上淘宝,耍抖音,看微博,聊微信,朋友圈,甚至打游戏……这都是时间黑洞,注意力杀手。日常工作效率不高,就是把24小时全部拿来消耗,又有多大意义呢。

效率黑洞这样的事,在公司太普遍了。除此之外,技术团队常见的黑洞:

  1. 技术能力不够,要边学边做
  2. 任务需求不明确,辛苦完成了不是客户要的,返工重做
  3. 团队培训跟不上
  4. 团队没有节奏感,没有配合,形成不了战斗力
  5. 项目计划,客户承诺拍脑袋定,累死三军,为了老板吹下牛逼
  6. 瞎忙乱忙,救火拆墙
  7. 文山会海,流程繁冗

…….

这些问题背后基本都是管理问题。老板们经常用战术上的勤奋去掩盖战略上的懒惰。看见员工都在忙碌,心里才踏实。

为了让老板心里踏实,员工聪明的配合,假装很忙,形式化的加班,想走不敢走,慢慢演变成潜规则,谁也不去戳破那“老板的新装”。

老板们想过一个问题没有,真的需要加班吗?
加班不是银弹,找到公司问题根源,有针对性解决,是正途。
关注研发团队管理,避免效率黑洞,提高团队战斗力,才是硬实力。

4. 我的体会

我个人是自虐自嗨型,每天工作应该14-16小时。

之前在公司上班,即使当天完成了工作,我还是会留下加班,无偿的,多花些时间在优化、学习和思考上,往往能带来很多“惊喜”,老板也因此给了我很多加薪晋级机会。回头想想,一个刚毕业不久的穷小子,那时除了努力,我还有其他选择吗?在哪里投入就会在哪里产出,初入社会,我切实感觉到了公平。

后来创业,我经常是同时带2-3个项目与团队,研发管理,从成员招聘、培训到业务需求、架构设计,我都是亲手抓,甚至核心模块的代码也不比团队里任何一个成员写得少,还要跑商务,搞业务,做培训……,创业公司一个人当几个人用很正常。一年能真正休息3-5天就相当不错了,这两年更是连春节都没有休息。

有必要这么苦吗?身边的家人和朋友问过,其实我很享受这个过程。

因为我是个有点无聊的人,对各类游戏提不起兴趣,其他爱好也不多,对酒肉财色也不执着。编程或许是我的最大爱好了,可以控制计算机去解决实际世界里的问题让我很有成就感。

有机会把爱好和事业统一是幸运的;能全身心的投入,更是幸福的。

就像《心流》这本书讲的一样:

幸福是你全身心地投入一桩事务,达到忘我的程度,并由此获得内心的秩序和安宁时的状态。

5. 总结

说这么多,我想表达的意思是:

  • 拒绝无意义的加班,延长工时不如先解决效率黑洞
  • 投入决定产出,我们的时间和精力怎么分配,决定了我们有哪些收获。
  • 学习新知识,提高自身战斗力,才有更多选择,也有资格说不

那些持续学习,不断提高,全情投入,把工作干出“惊喜”的人,值得肯定和鼓励,但这是情分不是本分,属于加分项,可以看作优秀标准,可遇不可求。

公司应该明白,员工合格标准只是:按时完成工作。

hello, world 思绪

1. 简单点

大家在学习每个编程语言的时候第一个示例是什么?

hello, world

对吧?应该大多数人都遇到过。大家有没有想过,

为什么是hello, world

很简单,翻译一下:

你好,世界。
  • 你好容易理解,打个招呼嘛,初次见面,请多关注。

  • 世界咋回事? 写的是代码啊,跟世界有啥关系?对程序员来讲,代码就是他的全世界,这下有关系了吧。

除了字面意思,我们更关注的是引申意:

环境一切正常,可以开始了。

学习和使用一门技术,先写个 hello, world ,就简单测试一下,电脑给了个反馈,

通过了!

压根也没想跟谁问好,题主是不是想多了?

看吧,菜鸟永远是菜鸟,想成为大牛,一定要多看、多想、多总结。

2. 前世今生

要了解真正的一个东西,需要从起源、发展着手。
那咱们就扒一扒hello, world的前世今生。

相传古时候有个程序员,对书法十分感兴趣,退休后决定在这方面有所建树。于是花重金购买了上等的文房四宝。一日,饭后突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:hello world

当然这是野史,不做数。

据考古资料记载,其实 hello, world 最早出现于B语言,

程序的运行结果,在电脑屏幕上打印出

hello, world 

然后,在C语言中发扬光大了。

因为C语言之父就这样写的,他又在《The C Programming Language》一书中使用它做为第一个演示程序,所以后来的程序员在学习编程或进行设备调试时延续了这一习惯。

郑重说一下C语言之父,丹尼斯·里奇(Dennis M Ritchie),也是UNIX之父。老爷子已经去世,一生立德、立功、立言,开多领域先河,第一个让代码插上翅膀的人,这种大宗师级的人物算得上是程序员界的祖师爷。

我们沿用祖师爷的做法,也是一种致敬和膜拜。

3. 标准与规范

其实,打印 hello, world 这个事,还有个标准规范呢:

  • 全小写字母
  • 有逗号
  • 逗号后空一格
  • 最后是换行,且无感叹号

    printf("hello, world\n");
    

看吧,程序员干啥事都很规范,真讲究,不将就!!!

值得一提的是,为什么标准中要特别指出 无感叹号呢?

这提现地是高手那种 尽在掌握的了然,深藏功名的淡然, 物我两忘的超然。

毕竟,老是一惊一乍,怎有脸担当高手二字

当然,问号也是不允许的。

4. 希望

hello, world 就像一个呱呱落地的婴儿,虽然他还不会说话,不会走路,甚至连基本思考的能力还不具备,然而,当那声啼哭嘹亮地响起,洋溢着的是喜悦,成就,憧憬……

此时此刻,此情此景,如诗云:

剑外忽传收蓟北,初闻涕泪满衣裳。
人逢喜事精神,月到中秋分外明。

声音是哭是笑不重要,想表达得意思也不重要了。

只有经历此刻才重要,才最有纪念意义,因为他的人生之路将全新开启,以后一切才有可能。

就像《流浪地球》里的希望一样,开始流浪……

孰乐:新玩法,一个自动合约项目的策划

1. 缘起

前几年,我就想背单词,坚持了多次,下载各种app,都因为各种原因中断了,慢慢再也没有继续了。

2017年底,我想了一个方法,召集几个小伙伴,一起背单词,用的是百词斩完成任务后可以发群里打卡,承诺每天必须完成任务,如失约自愿发 5元钱红包惩罚。

现在过去2个多月了,当然期间有几个人被惩罚发红包了,我本人已经背完4000多个单词,大家整体的完成率在 90%以上,效果算得上非常好,没有想到。

两周前,我们又约定,每周最少跑3次5公里,目前只有一个人发了一次红包,我自己的改变是,作息规律了,每天基本都是7点前准时起床,慢跑1小时 6-10公里,准时吃早饭,两周减掉5斤多,精力也远比之前旺盛了,这个改变让我很开心,比熬夜划算太多了。

总结:现在社会机会、知识、金钱就摆在那里,每个人都懂得很多道理,但是一到执行的时候,很难坚持下来,这是每个人的痛点,也是焦虑原因。

有点追求的人都期望改变自己,做更好的自己。但是靠自己去抵住各种诱惑、战胜惰性、克服拖延症,看起来容易,真正做到确实挺难的。

其实也简单,换一个玩法:把帽子丢过栅栏, 往往能得到意外惊喜。

我认为这种玩法很有价值,可以考虑做个工具,比如:微信小程序 或 类似轻松筹。

产品名称:孰乐, 先来策划策划…

2. 业务场景

2.1 独乐乐

  1. 我要完成一个目标,比如:每天 7点前起床
  2. 创建一个微信群,请大家帮忙监督
  3. 每天7点前打开,如违约,主动在群里发红包

一个人玩,一圈人嗨。

2.2 众乐乐

  1. 找几个志同道合的朋友,大家约定一个目标
  2. 准时打卡,如违约,主动发红包

一起玩,一起嗨。

3. 程序功能描述

  1. 注册:发起者关注孰乐
  2. 创建活动:发起者创建一个活动,建立奖惩机制,并缴纳承诺金。
  3. 分享: 将活动发到群里或朋友圈里,请朋友们参加
  4. 打卡:对接百词斩、运动app之类的接口完成各种活动打卡,按约定规则自动发红包。
  5. 活动的整体报告,支持分享。

4. 盈利点分析

  1. 承诺金资金池
  2. 在活动中,引入公益或广告赞助
  3. 推广费:引入其他App(定向合作),比如百词斩,阅读类,运动类等
  4. 大量粉丝,由于本产品自带游戏、社交属性,类似之前的答题PK,不需要推广。
  5. ….

5. 声明

这个想法源自于2月底,时隔3个月,最近也总算看到了类似的产品,请参考:《坚持早起21天,每月躺赚5000元!》

最近同时带三个团队,实在没时间去尝试。没有实践的想法是一文不值的,如果有人想试试这个想法,不必顾虑,没有任何版权随便用,我只会觉得非常荣幸并表示感谢。

如想深入讨论,欢迎发邮件给我:guixue@outlook.com

Node爬虫:使用爬虫下载小说txt

1. 缘起

浏览微博时被一个小说片段勾起了兴趣,如果要继续看,必须加某个微信公众号,回复关键字等,哎,都是套路啊,这种营销方法侮辱智商,阅读体验也非常差。

在百度中搜索小说的开头一句,可以找到一些资源,但是没有txt或epub格式,很多在线小说阅读有广告,没有适配手机端,反正阅读体验也不好。

怎样提高读小说的体验呢?本文将尝试解决这个问题。

其实手机或平板上读书的很多app体验是不错的,比如多看。假如我们可以将小说转成txt传到 多看里,体验问题就可以解决了。

如何获得txt版本的小说呢?江湖盛传三种绝技:
1 最直接的方法:下载。通过云盘、文库、小说站点等直接下载txt的小说格式,这个主要看运气。
2 最笨的方法:复制粘贴。从小说网,打开每个链接复制粘贴到txt文本中,保存可得,现在网络小说章节动不动就几百上千章,能坚持下来用这个方法操作的,毅力肯定不错,当然也傻的可以。
3 真正必杀绝技:使用脚本自动爬取,这个才靠技术。

2. 解决方案

2.1 业务分析

网络小说由多个章节组成,通常每个章节一个页面,如下图:

所以我们的爬虫逻辑分四步:

  1. 获取目录网页
  2. 解析目录网页,获取章节列表
  3. 下载所有章节页面
  4. 解析章节页面,抽取信息合成 txt

2.2 技术分析

实现业务涉及的技术点如下:

  • 获取某个网页内容,这个可以使用 node-fetch 库

    const response = await fetch(url)
    const content = await response.text()
    
  • 编码转换,js中只处理utf8的中文,小说网通常为gbk

    const buff = await response.buffer()
    // 要将GBK 编码转换为 UTF-8
    const iconv = new Iconv('GBK', 'UTF-8//TRANSLIT//IGNORE');
    let str = iconv.convert(buff).toString()
    
    // 将网页中的编码gbk 改为UTF-8
    str = str.replace('charset=gbk','charset=UTF-8')
    
  • 使用async库 并发爬取,如:每次获取10个

    const ASYNC = require("async");
    ASYNC.mapLimit(LIST,10, async (item) => {
        fetchPage(item)
    }, (err, results) => {
        if (err) {
            console.log('error', err)
        }
    });
    
  • 抽取网页信息 cheerio + 正则表达式

    const cheerio = require('cheerio')
    
    const $ = cheerio.load(html);
    let content = $('#content').text()
    
    // 去除行首多余空格、空行
    content = content.replace(/\n\s+/g, "\n");
    

3. 代码实现

请参考: https://coding.net/u/guixue/p/novel2txt/git/tree/level1?public=true

4. 使用方法与效果预览

4.1 下载目录页面

npm run fetch.index

将目录页面保存到 data/index.html

4.2 解析章节列表

npm run parse.index

章节目录列表为json格式,一个大数组,包含标题和链接。

4.3 下载所有章节页面

npm run fetch.list  

将所有的章节html下载到本地 data目录下:

4.4 解析章节页面合成txt文件

npm run parse.chapter   

解析每个章节的html文件后,产生一个2.8m的 data/all.txt,妥了。

将此txt文件通过QQ 或微信发送到移动设备,右上角选择【用其他应用打开】,选择多看或其他阅读器即可。

  • 效果预览,可以自动生成目录

img_0002

  • 效果预览,阅读效果:

img_0003

5. 免责声明

本文以技术学习为目的,如侵犯了您的权益,请来信告知: guixue@outlook.com

一份号称最健康的作息时间表

上午

  • 7:00 起床, 喝杯温水
  • 7:20 ~ 8:00 吃早饭
  • 8:30 ~ 9:00 避免剧烈运动,可以走路上班
  • 9:00 ~ 10:00 做困难性工作,此时大脑最清晰
  • 10:30 让眼睛休息一下
  • 11:00 吃点水果
  • 12:00 ~ 12:30 午餐

下午

  • 13:00 ~ 14:00 午睡
  • 14:00 ~ 16:00 做创意性工作,思维最活跃
  • 16:00 喝杯酸奶
  • 16:10 ~ 19:00 做细致性工作,思维最活跃
  • 19:10 总结:
    • 今天收获了哪些好创意
    • 积累了哪些经验
    • 学习了什么新工具
    • 验证了什么想法

晚上

  • 19:10 最佳运动时间
  • 20:00 看书
  • 22:00 洗个热水澡,舒缓身体
  • 22:30 上床睡觉
  • 23:00 身体开始恢复

参考资料

一些程序员才懂的笑话

关于List的括号

据说,一个黑客冒死偷到了美国用于导弹控制的lisp代码的最后一页,却发现那一页上全是右括号")“。

注释

几个程序员去吃饭,有人点了一道菜,麻辣牛蛙,然后其中有一个人说自己不吃牛蛙,于是负责点菜的直接在麻辣牛蛙前面划了两道斜杠。

就像这样://麻辣牛蛙

现场没有人觉得那里不对,
直到服务员上了11盘牛蛙………..

起名

某程序员结婚第一年有了一个女儿

他想了一下,起名叫玲玲,
后来第二个女儿,起名叫玲依,
第三个女儿,起名叫依玲。
第四个女儿,起名叫依依。
然后。。他有了个儿子,起名的时候难住他了。
于是他想了很久,最后决定叫逸初。

耿直的程序员

Gif 图片

  • 刚修复了Bug,我给老板演示的时候: ​ ​​​​

演示

  • 发布新版本

0

  • 第一次做程序员

frist