关于我 | About Me


Talk is cheap,show me the code.

一纸简介

  • 个人信息

    孙宇,1995年生于河北省唐山市,这是一个除了地震还有很多故事的城市,我在这度过了人生的前18年;拥有百余年历史的高中母校——唐山市第一中学,在那里的日子永远是我最能够拿得出手的回忆。但奈何阴差阳错,学艺不精,只去了一个普二院校,2014年毕业于福建武夷学院计算机科学与技术专业,虽不出名,却山清水秀,鸟语花香。现如今下榻在有“人间天堂”之称的杭州,自己的小日子也还算安定,为了生活和梦想而努力着。至于我的性格或其他方面,包括我的联系方式,你都可以在这个网站的其他地方了解到,无须多言。

  • 域名由来

    Yshen——这可能是一个很久远的问题了。大概是从高中开始,名字拼音最后一个字母是Y,那段日子正好赶上大家互相叫名字都带个XX哥啊、XX神啊,后来就演变成了这个yshen,虽然没什么特殊含义也不怎么高大上,但久而久之大家这么叫习惯了。我也懒得琢磨,干脆就这样吧,也算是我公认的名号。

· 技能树 ·

  • C/C++ (主要方向)

    • 主要写网络服务/底层模块开发
    • Windows网络驱动开发
  • 移动端

    • Android: Java/Kotlin/NDK 可开发APP/SDK

      编译过Android 系统源码 AOSP各版本并烧录到手机上 修改过系统源码实现一些功能

    • iOS: Objective-C 熟悉语法,熟练xcode

  • 逆向

    • Android砸壳,熟悉Smali,IDA动态调试so库,frida注入hook脚本
    • iOS越狱砸壳(Clutch等),MonkeyDev注入动态库及Hook函数代码
  • 跨平台

    • 研究过Flutter/Unity/Cocos/H5等跨平台引擎,甚至写过游戏
  • 系统

    • 熟练使用Windows/Linux/MacOS 搭建各种环境和服务没问题
    • 对各种系统架构和原理都有涉猎,理想是自己写操作系统
  • 网站

    • 前端/搭建,最开始给学校各学院和部门做过主页
    • 唯独没尝试过JAVA写后台接口这个最常见的方向 = =(但有过代码阅读、编译和部署)

毕业后第一份工作在小厂,基本上需要什么都得去做,研究过各种各样的技能,算是锻炼了解决问题能力,提升了学习能力,在这个更新换代极快的行业,这很重要。

但掌握的太广太杂也不是好事,终究要在一个方向上有一定的建树,今后就准备一直主攻c++。

之后C++的学习和提升计划,以及进度:

  • 语言本身:对stl原理的深入了解✅、effective系列书目✅、cppreference参考✅、深度探索C++对象模型⏸

  • 原理,几本经典书:深入理解计算机系统✅、编译原理✅、计算机网络✅

  • 算法:leetcode▶️、剑指offer✅、labuladong算法✅、代码随想录✅、educative.io✅,算法4▶️等

  • 网络:之前只有对boost的使用,也要去了解底层实现了。包括多线程编程,I/O模型、复用机制、高性能。

    《C++服务器编程精髓✅》
    《Linux高性能服务器编程✅》
    《Linux多线程服务端编程▶️》
    《Unix网络编程》
    《Unix环境高级编程》

  • 其他提升:

存储技术(本地存储,云存储,阵列,冗余,对象存储)
密码学(加密算法、公钥、私钥、SSL)
操作系统(《30天自制操作系统》✅《Unix编程艺术》✅《深入理解Linux原理》✅、极客专栏尝试写一个linux内核✅等)

附图:

技能树

======================================= 分割线 =======================================

后面开始就是我的碎碎念了,如果只想了解我的专业,以上即可。

吾之所好

爱好不是一般的广泛,都不知从何说起。

  • 电动狂热分子

    既然是程序员,当然要从这里说起。从小对各类电子产品十分敏感,闻所未闻的设备拿到几分钟便能得心应手,计算机启蒙算是比较早;早在智能机刚刚在国内兴起时,就熟练Root、刷机等等,可以随意DIY。甚至在高中,我就足矣自己开一家电脑手机修理铺,也因此在大学选了这个专业后被成功的认为是——一位修电脑的大神。后来在我义正言辞的纠正下,大家终于知道,我和网管没有丝毫关系(隔壁大妈:我电脑死机了,来帮我看看呗!)。不过年轻贪玩,游戏打得比代码多,毕竟每个男生都有一个电竞梦,Dota2鱼塘划水,steam库存可观,混迹各大平台如暴雪、育碧等,欢迎来撩(TI10结束,信仰🈚️了,今后专心生活和工作)。

  • 文艺小青年

    一直想成为全能的人,做到优秀这时我一个同学一定会脱口而出某瘸子的台词:优秀还远远不够,要做到,完美,也是为了充实生活,我可以说是对琴棋书画都有研究。自从路过一家音像店听到了押尾桑的《黄昏》我就在想,哪怕我只会这一首,也要学吉他,后来就成为了最主要的爱好,一个人在外的日子,偶尔安静地在屋子里弹上两首,也是一种慰藉;小时候学过水墨画,长大后忘得一干二净,却又学了个半吊子的素描,算是对透视、结构之类有所了解,画个简单地手稿都还是没问题的,加上玩了好几年的Photoshop,应该也能顶的上半个美工,想弄个什么图都能自己动手,很方便;大家对程序员的看法,我也就不多说了,所以你可能想不到作为一个理工男的我,会喜欢写日记,甚至还写过小说,对文学有浓厚的爱好。只可惜上天给了我一个聪慧的脑子,让我不得不投入到科学和技术的行业中(唉,可叹~)。

  • 心灵手巧

    凡是在手边就能随时耍上两把的小物件,都多少有些涉猎。十二岁时第一次对好魔方就一发不可收拾,到高中最快记录也到了18秒复原,后来也把从二阶到五阶都玩了个遍;学生时代最容易上手又不会被没收的就是写字的笔了,各种转笔招式天花乱坠,能把别人晃的头晕目眩;另外像Zippo、蝴蝶刀、水晶球这些花里胡哨的东西都玩过一些,魔术也随手可变。虽说到最后,这些都没什么用,但人常说,有灵活的手就有聪明的脑,至少它们保证了我脑袋没有生锈。

  • 有生活

    所谓上得厅堂、下得厨房,这显然是对一名负责男性的要求(求生欲极强)。一个周末的上午,既可以坐在电脑前打上几局游戏、看上几部电影,也可以切菜颠勺做上一桌午餐。物品摆放一定要有规划,这不仅是强迫症,更是对生活,应该有的仪式感,要过的有情调。对我不熟的人,可能觉得我沉默寡言;对我了解的人,会觉得我爱唠叨;也不强求,人生知己,几位便可。

一不小心就说的有点多,不过你们也该看出来了,我最大的爱好,就是吹牛(本条已删除,一定没人看见)。

  • 工作后也不能落下

    再忙,人也不能没有爱好;除了练琴、健身,之前的出差经历让我开始喜欢旅行,用手机到处拍感觉水平还行,开始有些不满足,入手了相机;周末骑车到处逛逛,拍拍vlog,记录生活;等体重降下来,有打算去玩玩各种极限运动。

    2021年学了游泳,虽然生在离海很近的地方,每年去玩不会呛水,还是觉得多一门正经的技能是好的,从原来无师自通的狗刨,学会了蛙泳和自由泳。

阶段小记

这一节记录下每个时间节点的经历吧,也是专业技能的发展历程。

——以下至分割线记录于2022,4月

在华为半个月,一进去就赶上ddl,每天很充实,大厂也确实各种流程十分正规,在一段时间内估计都要矫正习惯。

另外,保密性十分严格,在公司外除了一个APP就和公司几乎没有任何关联。那么:

除了自身实力的提升,如何把工作中的积累输出记录呢,这是一个需要思考的问题

接着就是需要继续努力刷题,算法和数据结构还是不能丢,要考可信认证的专业级才有机会转正编。

——以下至分割线记录于2022,2月底

刷了一定数量的题,终于对中等难度的题目几乎都能解了,hard题也从几乎没思路有了改善。打算先去看看现在C++的市场怎么样,金三银四碰碰运气。

——以下至分割线记录于2021,10月底

接近年末,今年算是很努力在学习提高了,过了一遍底层知识,几部经典书二刷,操作系统相关的内容都尽力看了一些,很多还是不能完全看懂,需要随着水平的增长再去不断阅读;本年度剩下的几个月要重点回归C++语言本身和算法了,毕竟生活和理想还是有明显分界线的,希望每年都能上一个台阶。

——记录一个特殊的时刻

2021.3.31-成功办完人才落户,从此也是杭州人了。

—————————————————————————————————————

——以下至分割线记录于2021年3月17日

这应该是第一次只隔了一个多月并且在一个毫无意义的日期就来写记录的情况;平时基本都是半年左右一次的关键节点才会进行总结和定一下后续计划。

近期的状况来讲,项目稳定期,也暂时没有新的立项计划,可以自己学点东西;不忙的时候就更注重于生活,认真健身,把之前开发期通宵达旦搞得半死的身体练一练,周末出去逛逛,过了两三个月的好日子,减肥效果十分明显,整个人都轻快了不少,也有了时间来培养爱好,还学了游泳,第三人称视角来看,还是挺完美的。

本来觉得这样很好,有项目就忙一阵,认真工作,没事就歇一阵,自己学习,认真生活。但突然就开始了焦虑,之前看到一个词叫“内卷”,当时还没有体会,觉得按着自己的节奏走就好,没必要在意别人,我还是too young,too naive了,就算全网都在开导人们不要那么死磕,但谁还不是在疯狂的努力来往前跑呢,尤其是身边的人获得一些成果的时候,还是忍不住会去觉得,自己是不是呆在了舒适圈。

马上接近毕业三年这个比较关键的节点,刚刚毕业的时候觉得自己拿着一万多的工资还算不差,但时间久了,会开始出现很多分化:本科毕业的同学们,很多开始挑战大厂;研究生毕业的同学,将从一个更高些的门槛开始走向社会;如果一直这样下去,总有一天会落到队伍后面。最后的结果就是,人会有点慌,开始制定各种计划。毕竟人生就是一场竞赛,那些劝别人不要比较的,其实也只是想减少竞争对手而已(当然也确实有知足常乐的人,目前我做不到,年轻人不往上爬有什么意思)。

着急归着急,也不能立马就去改变现状,既然免不了会去竞争,就不如把焦虑变成动力,还好我很擅长这个。保证身体健康的前提不变,增加一些系统的计划,想来记录一下的原因也是近期做的计划有点多,脑子很乱,需要梳理。

工作之后根据身边人的经历和各类业内信息,有时候会纠结于到底去不去大厂;后来想想,有机会当然要去试试,至少增加一下履历,对于后期自己做什么都是有利的,并且,圈子很重要,资源很重要;既然有了这个想法,就要做好足够的准备。

首先分析自身的情况,双非二本毕业,门槛上肯定比别人低,就需要在技术上多些优势;小厂的经历上,由于工作会比较分散,需要什么就需要看什么,涉及面很广,单点内容有时会深挖,但整体来讲,缺乏比较系统的知识体系,就比如决定走的方向是c++,从一开始就是接触一个完善的项目,看到哪里不明白就去查,内容都是一块块拼起来的,了解到的也是项目相关的部分,也就是目前只对网络方面的编程会更熟悉些,而对于语言本身,还是很多没有填充,不具备通用价值。

之后就可以去想方案,对于目前的状况,肯定是需要找一个学习路线,查缺补漏,看一些推荐书目,读读重点的源码,建立好完善的架构;然后尽可能的去了解底层原理,计算机原理、操作系统原理、编译原理等等,这些都是一直以来看一点就会丢下的内容,倒也不是放弃,而是总会有些内容只能在有一定水平后才能看得明白,需要反复阅读,对于更好的理解语言十分重要;另外,所有大厂都会根据一个东西来筛人,那就是数据结构跟算法。

最后总结一下就是三块内容,语言、原理、算法,每一块的参考资料和计划也都进行了分解,但还要考量顺序,可以边干边调整。时间上,大约打算用一年左右时间进行沉淀。

写到这,心也基本静下来了,按部就班即可;既然公司没什么新想法,自己没什么新想法,比起原地踏步,也许上个台阶、换个圈子才是更好的选择。

—————————————————————————————————————

——以下至分割线记录于2021年春节后返工前

年味越来越淡了,更多的是陪陪家里人,见一见旧友;突然又开始有了毕业后第一次迷茫,感觉还是自己不够强,大概是瓶颈期吧,并且最可怕的是,原来能够激励自己的东西越来越起不了作用,前进的步伐渐渐变慢;肝完了半泽直树,算是给自己打了个鸡血,短时间内还是需要打工滴。

希望今年是个转折点,能够找到新的方向,向上再迈一个台阶。

—————————————————————————————————————

——以下至分割线记录于2020年末

2020年是印象里过的最快的一年,可能主要还是因为疫情吧,觉得啥都没干一年就过去了。自从结束了外派工作重新坐回办公室,工作多了很多倍,吃住也要自费,可能外人看来,会不理解我的选择吧,但我还是觉得比颓废度日要好得多,毕竟这个年纪不拼什么时候拼呢,努力提升技术才是关键。

逐渐可以用c++做点事了,算是入了门?除了工作,也开始想着自己去做做项目,毕竟打工人还是很难实现自由的。在一个地方呆久了人总是会越来越懒,甚至想过再次换个新地方挑战一下,可能自己内心还是个喜欢折腾的人,纠结哦。

跨年的时候打算请几天假休息下,说到底,还是很累的。忙起来就不会想太多,也不错。话说,本来这个栏目是用来当成简历来着,总结下技术栈和掌握程度之类的,慢慢好像变成日记了,回头(也许是猴年马月)整理下吧,扔到文章里去,其实分类和标签也能达到这个目的,也是一个不错的参考项。

—————————————————————————————————————

——以下至分割线记录于2020年7月末

经历了快一年的差旅生活,出门在外确实还是不如在一个固定的地方安心,不管每天事情多还是少,总会觉得心累;在杭州的时候,无论每天多晚下班,周末或者放假期间的时间里,都会去利用业余时间提升自己,学点什么东西都好。但对于在外面的这种心态来说,太难做到了,整个人都是很浮躁,除了日常工作就只想发呆。

偏偏自己又是那种闲不住的人,如果长时间处在没什么收获的阶段,就会特别的不安,导致在两种很冲突的情绪中恶性循环。也确实能够被其他人看出来(同事招人的时候说了一句:新人很像“原来的我”,哈哈),已经变得不像是自己了,越来越咸鱼。

好在我的调节能力一直不错,每次到这种情况都会好好的理顺一下。加上老大给了一些接下来明确的学习方向,一周多的时间里终于又找回了节奏。

不得不说,像海绵一样不停吸收知识的感觉是一种享受,当你对很多原本只是有个外部框架概念的东西逐渐填充了内部实现,一个个当初的疑点被解开,就像打游戏升级通关一样有快感,这种快乐很少能与人分享(大部分人工作与兴趣并不一致,即使一致也有大比例的人觉得兴趣成为工作之后反而毁了兴趣)。

尤其是最近学C++,在读了很多优质的代码之后,对自己的思路有很多启发,并且当遇到问题时,会很明确关注方向,就比如:我在看boost一些官方示例时,代码写完运行出现了编译期错误,如果是原来,我会对这样的问题十分头疼,然后拿着代码和报错到处百度or谷歌,折腾半天也只是解决了问题但并不知其所以然;而在你明确的知道官方代码正确性比较高时,就很明显的会思考是不是配置问题,之后我就去研究了cmake编译配置,果然问题出在这里,这样就不会像无头苍蝇一样去胡乱找方案,还能去学习一些相关的引申知识。

越来越能体会到,在一个领域里,起步慢是一种长期的积累,当量变引起了质变,后面的增长就会像指数函数一样变快,所以如果很努力了还是觉得自己什么都不会,那一定是处在瓶颈,坚持就好,在这种轮回中不断突破,痛并快乐着。

另外,提出了想要结束出差生活的想法,也基本落实了,不过奈何疫情原因需要封城,还需要耽搁一段时间。

希望总有一天,我能靠自己在杭州定居下来。

—————————————————————————————————————

——以下至分割线记录于2020年春节

时隔半年多,终于想起了我还有个博客。果然忙起来之后确实无暇顾及这些需要静下心来归置的东西呀。新的一年了,总算有时间码码字。元旦时还想着,只跨年格局仿佛太小了,下一个十年规划是不是该出炉了呢。可惜的是,今年开头就没那么顺利,参见关键词:新型冠状病毒。

不过还好,对于码农来说,有网有电脑,在家办公也是一样的,倒是没有因为关在家里而觉得生活有什么不同。开年给自己换了最新的MBP,16寸真是香,配上罗技外设的Flow功能,两台电脑无缝切换,香上加香。

这充实的半年我都做了些什么呢,接触客户的类型多种多样,也就意味着产品要有良好的兼容性和完善的对端文档;从cocos、unity引擎,到h5的各类相对小众开发工具,可以说都被我折腾了个遍,很多周末都是拿出来去研究demo。虽然知识体系很杂,但都算是增加理解力的锻炼吧。

自从编译了几个版本的安卓系统之后,逐渐不满足于Java的编程方式,说到底,想走的更远,c这类底层语言是逃不掉的。幸得赵公子赏识,想带我试试c++,那我就尽力不辱使命。30岁时头发还健在吗?

终于渐渐从什么都必须要看很久教程才能写东西的境况中脱离了,拿到新的引擎、新的语言,查查api基本就能写简单的东西。

逆向方面,安卓开始去看一些反汇编,IOS也学会了dump头文件并注入一些hook代码,对处理各种APP包都有了一定的经验。

希望外界的灾难并不会影响自己,希望35岁之前能有一些成就。默默前进,就这样。

—————————————————————————————————————

——以下至分割线前记录于2019年中

毕业一年了,时间真快,有幸加入一家很好的公司,遇到一群能玩的开的同事。基本没什么假期,周末也都是过来一起嗨,但充实且快乐。

使用Kotlin写了一个管理类App,对语法基本了解,体会到它的简洁和便利,真香。Flutter在闲暇时间也看了个入门,但还是碍于缩进风格而不想继续深入,估计我的方向会更偏向于底层而不是高级UI和大前端。

充分利用资源,把AOSP从Android5.0到9.0都编译了个遍,并且把6.0和8.0连同驱动一起,烧录到了真机Nexus5以及5X上,原生系统果然流畅度极高。距离我自己的系统好像更近一步了。

接触了一些游戏商客户,稍微涉猎了下cocos框架,也能自己改改游戏。但做的事有点杂了,经常会想,是不是偏离了正轨。当然把安卓先精通这个主线还是不会变的。

还是继续的看各种技术博客,但越来越多的从书中找到他们的出处,所以到底是博客被整理成了书还是各种文章和最佳答案都来源与书,真是纠结,也许都有吧,自己能有收获就好了。

————————————————————————————————————

——以下至分割线前记录于2019年2月末

工作半年多了,感觉自己也算是真正的入了行。最起码就算不会的东西,也知道该怎样有规划的去学习,就不像原来盲目的乱看,并且也深刻的意识到了一句话就是:“很多东西不是你不会,是你不知道有一个知识点可以解决他。”所以,多看多见识很关键。

买了很多书和技术专栏,每天都看一些,感觉进步很快,对自己的投资永远是稳赚不赔的。原来很头疼的Gradle有了一定理解,看了下设计模式,也逐渐的开始去啃最痛苦的算法和数据结构。越来越觉得,语言和平台都不是最重要的,需要回归本质,对编程思想、内核原理去加深理解,才能在这一行走得更深。

对于IDE,最开始总觉得我是在一个庞大的建筑中搬砖,每项操作都小心翼翼;现在慢慢熟悉起来,就感觉他们变成了手中的工具,是提高工作效率的辅助,越发的能体会到他们的优缺点,也可以选择一些定制化的需求,少了一些惧怕感。

安卓方面,SDK工作让我熟悉了一些事件分发处理、动画、自定义View,还体会了与普通App开发的不同点等等,这些我总结在文章中,这里就不详细说了。融合工作让我熟悉了反编译相关内容,可以去简单的“篡改”一些程序(当然是在允许范围内的修改需求)。

接下来,还准备开始研究下音视频开发相关内容。

大前端,也就是微信小程序、RN、Flutter,都进行了入门了解,不过工作中暂时用不到,没有深入,但可以方便以后需要用时更快的融入和进步,艺多不压身。

等代码更成熟,算法学的好一些,再深入底层,像我老大说的一样开发驱动之类的,慢慢来。

至于我写的博文,目前感觉还是只能算是对自己学习工作的总结和记录,不知道什么时候才能称之为技术分享,继续加油吧。记录一句近期让自己打鸡血的话:这世界就是一拨人昼夜不停地不停旋转,另一拨人起床发现世界变了。

————————————————————————————————————

——以下记录于2018.11.10深夜。希望再次更新时,能有进步。

  • 语言

    科班出身,一大特点就是学的广,却都缺少深度。从最早Asp的VB,到人人要学的C语言,课外也看过C++,后来又学了C#,可惜我对C系列似乎并不感冒;直到学了Java,才确定了目标,看完SE,学了一些Web后,没来得及看框架就转而进入了安卓领域。当时觉得Android更新太快,跟的很辛苦,客户端据说也不怎么景气,曾想过回头去往Java后端学。但毕业后第一份工作做了安卓,就想着,那就干吧,只要足够精通,哪条路都能走宽。至于世界上最好的语言PHP(/狗头保命)、红到发紫的Python,倒是没什么兴趣,只是了解一下,平时可以当做小工具方便测试用。

    着重说下Android吧,目前阶段能够使用基本控件,对第三方库也能根据文档简单封装去调用,反编译有一定积累,理解Smali语法,可以做一些逆向工作。一直的瓶颈还没有突破就是什么东西都只是会用,自己也想去写一些库,需要努力;缺乏独立完成项目的经验,对业务中该注意的点考虑不够周全;Ndk需要重拾下C++,kotlin似乎也该去学一下;用起来很方便却还不够了解原理的Gradle,买了书等着我去看。

  • 平台

    微软死忠,Windows系统熟练,自从Win10出来饱受争议时就不离不弃,见证了他们的进步;走了安卓方向就不得不提Linux,原来兴起玩过红帽、CentOS、Ubuntu,看过鸟哥的私房菜,知晓日常使用。但现在,可能需要更深入内核去了解它们了,也梦想着有一天能自己写系统(好遥远)。

    版本管理用过SVN,但还是更喜欢Git,也希望今后能在github上不断积累自己的库。

  • 其他

    看过一些基本算法,这是个老大难的问题,还没涉及底层又很少用到,不过终究要面对,整理了一些书单准备突破;网络方面,对Http有一定理解,对服务器搭建也有一些经验。暂时想不到更多…

程序人生

《人间词话》中王国维曾道:古今之成大事业、大学问者,必经过三种之境界。“昨夜西风凋碧树,独上高楼,望尽天涯路”,此第一境也;“衣带渐宽终不悔,为伊消得人憔悴”,此第二境也;”众里寻他千百度,蓦然回首,那人正在灯火阑珊处”,此第三境也。

我不知道我有没有望尽这天涯路,长年累月的坐在电脑前也使我衣带渐窄,更不知何时才能看到那灯火阑珊处。我只能一步步走下去,与Bug和冗余的代码做斗争,希望有朝一日能为这个行业作出些许贡献。

又或许,就像每一次,我会从一本书或者一篇文章的几句话中获取到力量并且去记录下来一样,如果有一天其他像当初迷茫的我一样的人,能通过我的小记,得到同样的感受,即使不是技术上的帮助,也算是精神上一种小小的传递吧。

近照

Powered by Hexo

Copyright © 2018 - 2022 Yshen's Blog All Rights Reserved.

UV : | PV :

Fork me on GitHub