Jack Jiang

我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
posts - 117, comments - 13, trackbacks - 0, articles - 0

2018年11月14日

     摘要: 1、引言我,Scott,一家创业公司的 CTO。从业6年却很少写文章,近一年来接触了几十个刚毕业的前端新人,也面试了100多个前端工程师和Nodejs工程师,对于前端发展的这个职业算是有些感触吧,打算陆续写一些从业经验也好,技术分享也好,对自己前6年的经历做一些文字上的沉淀。此篇文章谨献给工作0 ~ 3年的前端工程师,内容都是我的亲身经历,不精彩但接地气。(本文同步发布于:http://www.5...  阅读全文

posted @ 2019-04-15 11:45 Jack Jiang 阅读(28) | 评论 (0)编辑 收藏

     摘要: 1、引言在文章《理论联系实际:Wireshark抓包分析TCP 3次握手、4次挥手过程》中,我们学会了用wireshark来分析TCP的“三次握手,四次挥手”,非常好用。这就是传说中的锤子,拿着 锤子,看什么都像 钉子!在这本文中,我对将准 HTTP这颗钉子,狠狠地砸下去。。。为了对网络数据包的“流转”有更加深刻的理解,我在docker(远程)上部署...  阅读全文

posted @ 2019-04-13 11:27 Jack Jiang 阅读(13) | 评论 (0)编辑 收藏

     摘要: 1、引言HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。本文,就来深入介绍下其原理。补充:限于篇幅,本文对于https的相关技术要点的介绍尽量简明扼要,如想要详细了解HTTPS的方方面面,请阅读《即时通讯安全篇(七):如果这样来理解HTTPS,一篇就够了》。(本文同步发布于:ht...  阅读全文

posted @ 2019-04-08 11:48 Jack Jiang 阅读(16) | 评论 (0)编辑 收藏

     摘要: 1、系列文章引言1.1 适合谁来阅读?本系列文章尽量使用最浅显易懂的文字、图片来组织内容,力求通信技术零基础的人群也能看懂。但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获。如果您大学学习过《计算机网络》这门课,那么一定不要错过本系列文章。特别推荐即时通讯开发者来阅读,因为针对移动弱网的问题,确实可以找到很多有价值的答案。友情提示:本系列文章可能涉及以下通信技术范畴,如您有兴趣,也可...  阅读全文

posted @ 2019-04-02 13:06 Jack Jiang 阅读(17) | 评论 (0)编辑 收藏

1、引言

沟通是人类的最基本需求,复杂多变的沟通内容、沟通方式,正是人类文明之所以如此璀璨的关键所在。

在自然界中,要完成一件事情的沟通,我们可以直接通过声音传递给对方,这是再平常不过的事了(靠“吼”就能解决)。

随着计算机的普及,互联网改变了我们的生活,甚至改变了我们的沟通方式。现在,“有什么事微信或QQ上找我”已经是很多的人口头禅了。

那么,作为不懂技术的普通人,有没有想过,你每次使用QQ或微这种IM聊天应用时,你所发送的消息,是如何被计算机送达给对方的?(这显然不可能靠“吼”解决 ^_^)

本文将从非技术人员的视角,为你讲解一下IM聊天应用中的聊天消息是怎么发送的。

学习交流:

- 即时通讯/推送技术开发交流4群:101279154[推荐]

- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM

(本文同步发布于:http://www.52im.net/thread-2433-1-1.html

2、关于作者

巩鹏军:专注移动开发十多年,热爱即时通讯技术。个人微信公众号:“巩鹏军”。

3、阅读对象

本文适合非技术背景的读者阅读,如您喜欢本文,则下列文章您也可能喜欢:

技术往事:微信估值已超5千亿,雷军曾有机会收编张小龙及其Foxmail

QQ和微信凶猛成长的背后:腾讯网络基础架构的这些年

闲话即时通讯:腾讯的成长史本质就是一部QQ成长史

腾讯开发微信花了多少钱?技术难度真这么大?难在哪?

技术往事:史上最全QQ图标变迁过程,追寻IM巨人的演进历史

开发往事:深度讲述2010到2015,微信一路风雨的背后

开发往事:记录微信3.0版背后的故事(距微信1.0发布9个月时)

微信七年回顾:历经多少质疑和差评,才配拥有今天的强大

前创始团队成员分享:盘点微信的前世今生——微信成功的必然和偶然

QQ的成功,远没有你想象的那么顺利和轻松

[技术脑洞] 如果把14亿中国人拉到一个微信群里技术上能实现吗?

QQ和微信止步不前,意味着即时通讯社交应用创业的第2春已来?

那些年微信开发过的鸡肋功能,及其带给我们的思考

为什么说即时通讯社交APP创业就是一个坑?

即时通讯创业必读:解密微信的产品定位、创新思维、设计法则等

老罗最新发布了“子弹短信”这款IM,主打熟人社交能否对标微信?

盘点和反思在微信的阴影下艰难求生的移动端IM应用

QQ现状深度剖析:你还认为QQ已经被微信打败了吗?

那些年微信开发过的鸡肋功能,及其带给我们的思考

渐行渐远的人人网:十年亲历者的互联网社交产品复盘和反思

中国互联网社交二十年:全民见证的互联网创业演义

IM热门功能讨论:为什么微信里没有消息“已读”功能?

读懂微信:从1.0到7.0版本,一个主流IM社交工具的进化史

王欣回应微信封禁,解释为何取名“马桶MT”

同为IM社交产品中的王者,QQ与微信到底有什么区别

还原真实的腾讯:从最不被看好,到即时通讯巨头的草根创业史

如果您是专业技术人员,则跟本文相关的专业技术知识等,可以以下文章中找到:

从客户端的角度来谈谈移动端IM的消息可靠性和送达机制

移动端IM中大规模群消息的推送如何保证效率、实时性?

IM消息送达保证机制实现(一):保证在线实时消息的可靠投递

IM消息送达保证机制实现(二):保证离线消息的可靠投递

如何保证IM实时消息的“时序性”与“一致性”?

IM单聊和群聊中的在线状态同步应该用“推”还是“拉”?

IM群聊消息如此复杂,如何保证不丢不重?

完全自已开发的IM该如何设计“失败重试”机制?

好了,费话不多说,我们开始正文部分。。。

4、在微信里,我们发送一条聊天消息是如此简单

李雷在手机上打开微信(IM客户端),在聊天输框中输入“Hello!”,点击发送。几乎是瞬间,韩梅梅手机上的微信(IM客户端)就会显示李雷的头像后面跟着“Hello!”。

整个过程如下图所示:

▲ 一条聊天消息发送的全过程

从上面的图示可以看到,整个过程涉及三大部分:

1)李雷手机上的IM客户端(微信);

2)IM服务端;

3)韩梅梅手机上的IM客户端(微信)。

下面,我们逐一介绍每个部分的具体工作原理。

5、消息发送者:发送端是怎么工作的?

先看看发送端,李雷手机上的IM客户端中发生了什么?

从上图可以看出,发送一条信息经过三个步骤:

1)消息编辑:

李雷操作键盘输入要发送的文字,点击“发送”按钮。这一切都发生在IM客户端的界面模块中。类似用笔在信纸上写信,键盘就是笔,聊天框就是信纸;

2)消息入库:

IM客户端中的数据模块会先将聊天内容“Hello!”加上谁发给谁等信息,按标准格式打包为一条IM消息,并存入本地数据库。这类似信纸装入信封,填写地址,投入邮箱的过程。一条IM消息就是一封信,本地数据库就是李雷家的邮箱;

3)消息发送:

IM客户端中的网络模块通过长连接将IM消息发给IM服务端。这类似邮递员将信件汇总发往邮政局。网络模块就是邮递员,IM服务端就是邮政局。(长连接是IM客户端跟IM服务端一直保持的网络链路)。

6、消息“中转站”:IM服务端是怎么工作的?

担负“邮政局”职责的IM服务端是IM世界中全知全能的神,它认识所有人,经手所有消息,跟每个人都一直保持联系(长连接)。

每条消息在IM服务端中都要至少经过以下处理:

1)消息接收:

长连接服务从和李雷的长连接接收到“Hello!”的IM消息。IM服务端跟所有登录的IM客户端保持长连接(一条一直活跃的网络链路,每个客户端一条),长连接上定时会有心跳消息来监测客户端的在线离线状态,心跳消息就像邮递员每天都会在邮政局和邮箱之间巡回一样;

2)消息验证:

用户服务查询IM消息的目标人韩梅梅,以及发送人李雷和目标人韩梅梅是否好友关系,确保韩梅梅是真实存在而非虚构的,并且韩梅梅愿意接收李雷的消息,否则会给李雷退信。(一般IM服务端会将IM消息的副本存入数据库中备份);

3)消息转发:

在长连接服务中找到跟韩梅梅手机上IM客户端保持的长连接,并将消息发送给韩梅梅。

7、消息接收者:接收端又是怎么工作的呢?

下面看看韩梅梅手机上发生了什么?

韩梅梅手机上的IM客户端和李雷(发送者)的是一样的,但处理步骤是不同的:

1)消息接收:

网络模块通过跟IM服务端保持的长连接接收IM消息;

2)消息入库:

网络模块会将IM消息存入本地数据库,即信件投入了韩梅梅家的邮箱。网络模块就是邮递员,本地数据库就是韩梅梅家的邮箱;

3)消息展示:

界面模块获取发送人头像,和消息内容一起显示在聊天界面上。

经过上述过程,韩梅梅在自己手机上就看到了李雷发过来的“Hello!”,因为李雷和韩梅梅都是一直和服务器保持长连接,所以上述过程是瞬间完成的,李雷和韩梅梅感觉就像面对面聊天一样方便。这也是Instant Messaging名字的来历。

(本文同步发布于:http://www.52im.net/thread-2433-1-1.html

posted @ 2019-04-01 18:22 Jack Jiang 阅读(15) | 评论 (0)编辑 收藏

     摘要: 【来源申明】本文原文来自:微信公众号“鲜枣课堂”,官方网站:xzclass.com,原题为:《通信交换的百年沧桑(上)》,本文引用时已征得原作者同意。为了更好的内容呈现,即时通讯网在收录时内容有稍许调整,转载时请注明原文来源信息,请尊重原作者的劳动。1、本系列文章目录《IM开发者的零基础通信技术入门(一):通信交换技术的百年发展史(上)》(* 本文)《IM开发者的零基础通信...  阅读全文

posted @ 2019-03-26 12:08 Jack Jiang 阅读(17) | 评论 (0)编辑 收藏

     摘要: 本文来自公众号“玩不好就别玩”原创分享,原文链接:mp.weixin.qq.com/s/x5_OfICU2ijsxwMuVpqojg。文章内容为个人真实经历,虽平凡无奇,但感同身受。1、点评本文来自公众号“玩不好就别玩”原创分享。本次文章内容为个人真实经历,记录了作者个人离职鹅厂前最后一个月工作交接过程中的心理变化历程。内容虽平凡无奇,但同为程序员的...  阅读全文

posted @ 2019-03-01 18:25 Jack Jiang 阅读(38) | 评论 (0)编辑 收藏

     摘要: 本文为原创分享,转载请注明出处。1、引言即时通讯IM应用中的聊天消息时间显示是个再常见不过的需求,现在都讲究用户体验,所以时间显示再也不能像传统软件一样简单粗地暴显示成“年/月/日 时:分:秒”这样。所以,市面上几乎所有的IM都会对聊天消息的时间显示格化做人性化处理,从而提升用户体验(使用感受会明显友好)。这两天正在继续开发RainbowChat-Web产品,所以正需要这样...  阅读全文

posted @ 2019-02-23 16:54 Jack Jiang 阅读(30) | 评论 (0)编辑 收藏

     摘要: 本文原文内容引用自高可用架构公众号,内容有整理和修订。1、引言大家对下面这个排队的场景应该非常熟悉,这个是小米手机抢购的用户排队交互图,大家看到这些排队的兔子时,说明也有很多用户在同一时间向小米抢购系统提交了购买请求。▲ 小米手机抢购排队中...小米抢购系统后端服务面临巨大的压力,下图可以反映小米抢购系统面临的瞬间峰值压力。这张图截取自某年米粉节大秒服务后端其中一组LB(负载均衡层)的...  阅读全文

posted @ 2019-01-24 20:27 Jack Jiang 阅读(68) | 评论 (0)编辑 收藏

     摘要: 本文来自网易云音乐音视频实验室负责人刘华平在LiveVideoStackCon 2017大会上的分享,并由LiveVideoStack根据演讲内容整理而成(本次演讲PPT文稿,请从文末附件下载)。1、引言大家好,我是刘华平,从毕业到现在我一直在从事音视频领域相关工作,也有一些自己的创业项目,曾为早期Google Android SDK多媒体架构的构建作出贡献。就音频而言,无论是算法多样性,Code...  阅读全文

posted @ 2019-01-18 22:02 Jack Jiang 阅读(40) | 评论 (0)编辑 收藏

     摘要: 本文由爱奇艺技术团队原创分享,原题《爱奇艺Android客户端启动优化与分析》。1、引言互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Android APP而言,要求更加严格,如果系统无响应时间超过5秒,便会出现ANR,APP可能会被强制关闭,因此,启动时间作为一个重要的性能指标,关系着用户的第一体验。爱奇艺安卓APP非常重视启动速度的优化,本文将从启动过程...  阅读全文

posted @ 2019-01-14 11:53 Jack Jiang 阅读(46) | 评论 (0)编辑 收藏

     摘要: 1、点评互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯技术这一块)的开发者来说,网络编程是基础中的基础,只有更好地理解相关基础知识,对于应用层的开发才能做到游刃有余。对于Android程序员来说,如果您觉得本文内容稍显枯燥,可以看看即时通讯网之前整理过的一篇类似文章《迈向高阶:优秀Android程序员必知必会的网络基础》,该文内容更偏向于知识点的概括。如果您希望更系统地学习网络编程方面...  阅读全文

posted @ 2019-01-10 11:15 Jack Jiang 阅读(42) | 评论 (0)编辑 收藏

     摘要: 本文来自腾讯QQ技术团队工程师许灵锋、周海发的技术分享。一、引言自 2015 年春节以来,QQ 春节红包经历了企业红包(2015 年)、刷一刷红包(2016 年)和 AR 红包(2017 年)几个阶段,通过不断创新玩法,活跃度节节攀升,成为春节一大玩点,给火红的春节带来一抹亮色。2017 年除夕,AR 红包、刷一刷红包再创新高,抢红包用户数达 3.42 亿,共刷出红包 37.77 亿个。那么,QQ...  阅读全文

posted @ 2019-01-07 12:10 Jack Jiang 阅读(60) | 评论 (0)编辑 收藏

     摘要: 本文原作者“minminaya”,作者网站:minminaya.cn,为了提升文章品质,即时通讯网对内容作了幅修订和改动,感谢原作者。1、引言对于IM应用和消息推送服务的开发者来说,在Android机型上的后台保活是个相当头疼的问题。老板一句:“为什么微信、QQ能收到消息,而你写的APP却不行?”,直接让人崩溃,话说老板你这APP要是整成微信、APP...  阅读全文

posted @ 2018-12-27 15:08 Jack Jiang 阅读(98) | 评论 (0)编辑 收藏

     摘要: 本文引用了颜向群发表于高可用架构公众号上的文章《聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例》的部分内容,感谢原作者。1、引言移动互联网时代,APP 厂商之间的竞争非常激烈,而良好的用户体验是必须优先考虑的,美图产品以高颜值著称,对产品的用户体验非常重视。从技术的角度来看,客户端的体验优化当中 DNS 优化是非常关键的一环,怎么降低 DNS 的耗时、怎么减少域名劫持等问题,都是大家...  阅读全文

posted @ 2018-12-25 16:30 Jack Jiang 阅读(45) | 评论 (0)编辑 收藏

     摘要: 本文由“猫爸iYao”原创分享,感谢作者。1、引言最近有个需求:评论@人(没错,就是IM聊天或者微博APP里的@人功能),就像下图这样:▲ 微信群聊界面里的@人功能 ▲ QQ群聊界面里的@人功能网上已经有一些文章分享了类似功能实现逻辑,但是几乎都是扩展EditText类,这种实现方式肯定不能进入我的首发阵容。你以为是因为它不符合面向对象六大...  阅读全文

posted @ 2018-12-23 21:31 Jack Jiang 阅读(79) | 评论 (0)编辑 收藏

     摘要: 本文由腾讯云加社区整理和发布,原文链接:cloud.tencent.com/developer/article/1004735,内容有删减和改动。1、引言在互联网一线做了十年的程序开发,经历了网易、百度、腾讯研究院、MIG 等几个地方,陆续做过 3D 游戏、2D 页游、浏览器、移动端翻译 app 等。积累了一些感悟,但必然有依然幼稚的地方,就当抛砖引玉,聊为笑谈。(本文同步发布于:http://w...  阅读全文

posted @ 2018-12-19 19:20 Jack Jiang 阅读(62) | 评论 (0)编辑 收藏

     摘要: 本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/11900000061581861、引言MySQL作为开源技术的代表作之一,是互联网得以广泛流行的重要基础技术之一。国外 GitHub、Airbnb、Yelp、Coursera 均在使用 MySQL 数据库,国内阿里巴巴、去哪儿网、腾讯、魅族、京东等等的部分关键...  阅读全文

posted @ 2018-12-17 13:34 Jack Jiang 阅读(105) | 评论 (0)编辑 收藏

     摘要: 1、引言达达创立于2014年5月,业务覆盖全国37个城市,拥有130万注册众包配送员,日均配送百万单,是全国领先的最后三公里物流配送平台。 达达的业务模式与滴滴以及Uber很相似,以众包的方式利用社会闲散人力资源,解决O2O最后三公里即时性配送难题(2016年4月,达达已经与京东到家合并)。 达达的业务组成简单直接——商家下单、配送员接单和配送,也正因为理解起来简...  阅读全文

posted @ 2018-12-10 19:32 Jack Jiang 阅读(68) | 评论 (0)编辑 收藏


1、引言

“恭喜你,成功的避过了所有的正确答案,选择了错误答案”。没错,我是一个数学专业的普通大学生(准确地说,是学渣一枚),排除万难,我终于还是入了程序员的坑(不好意思,给程序员抹黑了)!

(本文同步发布于:http://www.52im.net/thread-2127-1-1.html

2、生活爆锤了我一顿

我是一个平凡的人,人生也一直都是平淡且稀里糊涂的!像别人家孩子发生的事从来不会发生在我身上。在稀里糊涂的高考完之后,竟也能稀里糊涂的上了一个还凑活的本科院校(虽然是数学专业),算不上好,也算不上坏。没有像大多数的考生一样抱怨没发挥“好”,满怀憧憬的准备开启我的大学生活。

如绝大多数大学生一样,上午睡到自然醒,下午毒奶粉和撸啊撸,晚上喝酒聊天,打牌撸串,好不逍遥自在!本以为我会像当下大多数大学生一样”游戏”人生四年。

操蛋的是,生活毫不犹豫的给了我几皮锤,而且是一顿爆锤,锤的我是一脸懵逼。休学这种事情一向是别人家的孩子才会有的,没想到这次竟然到了我身上,不是因为世界那么大我想去看看,而是怀揣着对生活硬塞给我的迷茫回家休养。休学的生活更是极其的平淡无奇,没有北国的风光、江南的水乡,有的只是一张床、一间屋、一台电脑几本破书。

3、考验才刚刚开始

一年之后回到学校,本以为终于熬过了生活的几皮锤,没想到真正的考验才刚刚开始。“久不入凡尘”的我回到学校,一切都是那么的不适应。嘈杂的宿舍,陌生的舍友,12点以后的作息,熙来攘往的食堂,甚至安静的做着听45分钟的课……这一切都让我难以忍受。终于在第一堂统计课上了三十分钟后,满头大汗,全身都在颤抖的我终于再也忍受不了,在老师和同学们异样的眼光中我夺门而出,如逃命一般离去,那个学期我没有再去上过一节课。对人生未来没有任何方向,对生活失去信息的我,退学的念头在我心中愈发强烈。

庆幸的是,我原来的基友们因为大四有的外出培训和实习,宿舍剩下了很多空铺。于是我当天就收拾铺盖卷搬到了我原来的宿舍。原来的宿舍还剩两个舍友,这两个哥们也很6,不着急找工作。在我最艰难的时候陪我度过了最难熬的一段时光。起初我每天在宿舍床上躺着无所事事,看看电视打打游戏打发时光。后来我这两个哥们的一件事改变了我。

有些时候你难以想象两个爱玩游戏的人,一旦志同道合是多么可怕的一件事,当时他们来热衷于玩地下城和撸啊撸。这俩货玩游戏玩到什么程度呢?我只能用超强的自律来形容,地下城这个游戏玩过的朋友都知道早晨六点刷新疲劳。

于是乎,6点钟这俩货准时起床打开电脑撸一管疲劳之后七点多洗刷吃早饭,完事回来上午接着撸,下午两个人睡个午觉之后开黑打撸啊撸,晚上继续地下城。一个哥们一天撸6管疲劳(6个号),一哥们一天8管疲劳,每天晚上10点准时上床睡觉以备第二天6点能起床继续撸。这样“自律”的生活寒暑不断,风雨无阻。至今想起,我扔感觉佩服不已。终于,我深深折服于这俩货的“自律认真”,受他们影响我也加入了他们的队伍中。

4、人丑就应该多读书

好景不长!虽然我之前也爱玩游戏,但是却做不到一天6管疲劳,更别提8管疲劳。做不到像他们一样乐此不疲的沉入到游戏中去。慢慢地我又开始迷茫了,觉得这样的生活很没有意义,而且身边的人都要毕业了,对于未来,对于工作还一无所知,前途一片迷茫。

恰逢此时,我们学校的图书馆,在吸收了我几年重修费之后终于建成开放。照了照镜子,最终决定为了不让我那“天文数组”重修费不白交,我要去图书馆读读书。

起初,只是读一些文史小说之类的。后来不知道什么时候被猪油蒙了心,竟然鬼使神差的去读了一本HTML、CSS、JavaScript的书,正是这本书让我一步步的走上了不归路。当我使用代码敲出了第一个网页的时候,没错,就是“成就感”这种如毒品一样的感觉吸引了我。这次,我又回到了宿舍,还是和那俩货又混到了一起,不同的是,每天除了吃饭睡觉打游戏之外,敲代码成了我日常生活的一部分。

渐渐地,静态网页我也开始玩腻了。这个时候“动态网站”这个字眼走进了我眼睛。于是乎我又跑到了图书馆,找到了带我入行的第一本书。这本书现在看来虽然很简单,但确是陪我度过了大学里面最充实,最辉煌,真正带我入门的一本书《ASP.NET 从入门到精通》(ps:声明我不是卖书和推广书的!读书应该看看适不适合自己)。

自此正是开始了我的.NET学习与开发的生涯。

5、我好像走上了人生的巅峰

就这样学习了几个月之后,大三下学期(也就是我的老同学大四下学期)。老同学们开始毕业选题。当我看到他们的选题列表的时候。。。

没错,我的内心是这样的。在我免费承包了几个好基友的毕业设计之后,以后我的撸啊撸网名变成了“爷万众景仰”,走路仿佛都在带风。

老天仿佛开了眼,系里老师怕我们这个专业毕业后不好找工作,在大三大四开了计算机相关课程(事实证明我这些老师是多么的英明,我们班30多个同学,除最后有三十个入了程序相关行业的坑)。难以想象兴趣驱动的学习和考试驱动的学习差距是多么的大,经过几个月的学习与实战之后,没上过课的我,在考试中,有一哥们八分钟作弊被撵了出去,而我在一群崇拜的眼光中10分钟交了卷,最后竟然考了全系第一,拿到了一等奖学金。

回想生活是多么的操蛋,大一的时候我每天占座按时上课努力学习,想考第一,最终却不尽如人意。没想到大学快结束了,一天天逃课反而得到了原来自己以前最想要的。

6、离别的忧伤与找工作的迷茫

人们都说离别的时候,最后一个走的人是最痛苦的。而我注定是那最后一个走的。他们毕业以后,我和几个还在培训的同学在一起租了个房子度过了我大学生涯最后一段美好的时光。随着一个个找到工作的离去,偌大的房子就剩下了两个人。冬天还没到来,却感觉贼鸡儿冷。持续几个星期的感冒迟迟不好,又犯了鼻炎,整日呼吸都不顺畅,让我以为得了什么绝症,渐渐地感觉生活好像糟糕透了,我的心情也越来越差。不能再坐以待毙了,于是我决定出去找个工作。

7、新的挑战——入坑程序员

虽然在学校享受着别人“大神”的称呼,但实际上对找工作这件事我是慌得一比的,找到工作的同学都经过专业的培训,而我是野路子出身,也不知道自己学的怎么样。但当时想想出去面面也好,没人要就没人要,涨涨面试经验,不行回来再学习也行,于是抱着试试看的态度我准备出去找工作了。

尴尬的是大多数开发公司都集中在高新区,而学校到那里车程来回四五个小时。两天的奔波就面了两家公司,而且我连技术面试官的面都没见到,被人资就给打发回来了。再加上重感冒的原因有点吃不消,就想放弃。戏剧性的是,在我刚撤回简历的时候,一个电话邀我去面试,而且离我们学校还挺近。命运就是那么的有趣,鬼使神差的我又跟着去了。

当然,结局就是我最终去了这家公司也是我现在的公司。

原因很简单:

第一、这个办公环境是真的棒,国家甲级写字楼,还特么有漂亮的小姐姐给开门摁电梯,慢慢的逼格吸引了我,就连重感冒都感觉好了几分;

第二、当时的技术总监的技术水平折服了我,我想去学东西。

至此,经历重重磨难,我终于入了程序员的坑,开启了另一种人生!在这里我经历了朝九晚五的上班族生活,也经历了史上最要人命的加班生活,经历了每月1800的苦逼岁月,也经历了一年翻五倍薪的辉煌人生,做过小兵、当过带头大哥,孤军奋战过,团队合作过,迷茫过、徘徊过……但还始终坚定地往前扑棱着!

8、最后

最后,送给还在生活中使劲扑棱的人:

假如生活暴锤了你,不要悲伤不要着急,一定要坚定不移地向前再轱蛹、轱蛹!

人丑应该多读书,人在迷茫的时候更不要停止学习的脚步!

当你陷入生活的泥潭的时候要努力的寻求变化!

无论任何时候都不要丧失对生活的信息,保持乐观!

附录:更多感悟和思考的文章

一个微信实习生自述:我眼中的微信开发团队

微信程序员创业总结:如何提高Android开发效率

如何做一个合格的 iOS Team Leader

程序员中年危机:拿什么拯救你,我的三十五岁

一个魔都程序员的3年:从程序员到CTO的历练

为什么说即时通讯社交APP创业就是一个坑?

致我们再也回不去的 Github ...

一名90后二流大学程序员的自述:我是如何从“菜鸟”到“辣鸡”的

一个魔都程序员的3年:从程序员到CTO的历练

选择比努力更重要:我是如何从流水线工人到程序员的?

程序员的抉择:必须离开帝都——因为除了工作机会,还有什么值得留恋?

即时通讯创业必读:解密微信的产品定位、创新思维、设计法则等

干了这碗鸡汤:从理发店小弟到阿里P10技术大牛

程序员神级跳槽攻略:什么时候该跳?做什么准备?到哪里找工作?

感悟分享:在腾讯的八年,我的成长之路和职业思考

调皮的程序员:Linux之父雕刻在Linux内核中的故事

老罗最新发布了“子弹短信”这款IM,主打熟人社交能否对标微信?

迷茫中前行:一个专科渣渣菜鸟的编程入门感悟

盘点和反思在微信的阴影下艰难求生的移动端IM应用

QQ现状深度剖析:你还认为QQ已经被微信打败了吗?

机会不给无准备的人:一个Android程序员屡战屡败的悲惨校招经历

盘点和反思在微信的阴影下艰难求生的移动端IM应用

QQ现状深度剖析:你还认为QQ已经被微信打败了吗?

笑中带泪的码农往事:入职三天被开,公司给100块叫我走人,有我惨?

一个野生程序员的真实自述:我是如何从数学专业学渣入坑程序员的

(本文同步发布于:http://www.52im.net/thread-2127-1-1.html

posted @ 2018-12-05 15:04 Jack Jiang 阅读(95) | 评论 (0)编辑 收藏

     摘要: 1、引言对于互联网,域名是访问的第一跳,而这一跳很多时候会“失足”(尤其是移动端网络),导致访问错误内容、失败连接等,让用户在互联网上畅游的爽快瞬间消失。而对于这关键的第一跳,包括鹅厂在内的国内互联网大厂,都在持续深入地研究和思考对策,本文将就鹅厂团队在这一块的技术实践,做一个深度的总结和技术分享,希望给大家带来些许启发。学习交流:- 即时通讯/推送技术开发交流4群:101...  阅读全文

posted @ 2018-12-04 13:36 Jack Jiang 阅读(42) | 评论 (0)编辑 收藏

     摘要: 本文由作者“卫夕”(ID:weixizhibei)原创,作者为资深广告产品经理,致力于剖析互联网广告的基本逻辑、思路及技巧。1、引言坐拥7亿日活的微信极其成功,有人说微信的成功在于赛道的成功,然而即便把微信和国际上其他地区的同类应用WhatsApp、Line等相比,微信所取得的成绩依然鹤立鸡群,不仅因为其庞大的用户量,更因为微信枝繁叶茂的生态体系。产品人张小龙微信教科书式的...  阅读全文

posted @ 2018-12-01 19:06 Jack Jiang 阅读(44) | 评论 (0)编辑 收藏

     摘要: 1、引言随着瓜子二手车相关业务的发展,公司有多个业务线都接入了IM系统,IM系统中的Socket长连接的安全问题变得越来越重要。本次分享正是基于此次解决Socket长连接身份安全认证的实践总结而来,方案可能并不完美,但愿能起到抛砖引玉的作用,希望能给您的IM系统开发带来启发。学习交流:- 即时通讯/推送技术开发交流4群:101279154[推荐]- 移动端IM开发入门文章:《新手入门一篇就够:从零...  阅读全文

posted @ 2018-11-28 12:28 Jack Jiang 阅读(57) | 评论 (0)编辑 收藏

     摘要: 1、点评本文主要分享的是如何从零设计开发一个中大型推送系统,因限于篇幅,文中有些键技术只能一笔带过,建议有这方面兴趣的读者可以深入研究相关知识点,从而形成横向知识体系。本文适合有一定开发、架构经验的后端程序员阅读,文内个别技术点可能并非最佳实践,但至少都是生动的实践分享,至少能起到抛砖引玉的作用。希望即时通讯网本次整理的文章能给予你一些启发。学习交流:- 即时通讯/推送技术开发交流4群:10127...  阅读全文

posted @ 2018-11-27 20:49 Jack Jiang 阅读(61) | 评论 (0)编辑 收藏

     摘要: 本文由“逆流的鱼yuiop”原创分享于“何俊林”公众号,感谢作者的无私分享。1、引言直播行业的竞争越来越激烈,进过2018年这波洗牌后,已经度过了蛮荒暴力期,剩下的都是在不断追求体验。最近正好在做直播首开优化工作,实践中通过多种方案并行,已经能把首开降到500ms以下,借此机会分享出来,希望能对大家有所启发。本文内容的技术前提:1)基于FFmpeg的...  阅读全文

posted @ 2018-11-22 12:48 Jack Jiang 阅读(78) | 评论 (0)编辑 收藏

     摘要: 本文引用了“帅地”发表于公众号苦逼的码农的技术分享。1、引言搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢?另外,内行都知道,提到外网IP和内网IP就不得不提NAT路由转换这种东西,那这双是什么鬼?本文就来简单讲讲这些到底都是怎么回事。另外,以下是与本文内相关知识点有关联的文章,可详细...  阅读全文

posted @ 2018-11-20 12:34 Jack Jiang 阅读(57) | 评论 (0)编辑 收藏

     摘要: 1、前言标题虽然是为了解释有了 IP 地址,为什么还要用 MAC 地址,但是本文的重点在于理解为什么要有 IP 这样的东西。本文对读者的定位是知道 MAC 地址是什么,IP 地址是什么。(本文同步发布于:http://www.52im.net/thread-2067-1-1.html)2、关于作者翟志军,个人博客地址:https://showme.codes/,Github:https://git...  阅读全文

posted @ 2018-11-16 12:32 Jack Jiang 阅读(34) | 评论 (0)编辑 收藏

     摘要: 本文原始内容由作者“阳振坤”整理发布于OceanBase技术公众号。1、引言OceanBase 是蚂蚁金服自研的分布式数据库,在其 9 年的发展历程里,从艰难上线到找不到业务场景濒临解散,最后在双十一的流量考验下浴火重生,成为蚂蚁金服全部核心系统的承载数据库。这一路走来的艰辛和故事,蚂蚁金服高级研究员、OceanBase 团队负责人阳振坤将为你娓娓道来。什么是OceanBa...  阅读全文

posted @ 2018-11-14 12:49 Jack Jiang 阅读(34) | 评论 (0)编辑 收藏

Jack Jiang的 Mail: jb2011@163.com, 联系QQ: 413980957, 微信: hellojackjiang