人物访谈 | 人在上海的东阁堂主
- 26 Apr, 2022
东阁堂主是我非常早就关注到的一位开发者,他写过不少开源库,个人 Github 地址是:https://github.com/dudongge 。本人非常热爱技术,最近翻译了一本 iOS 架构相关的技术书。因为他在上海,还处于封控期间,除了聊工作也会聊一下他目前的生活状态。 简单介绍下自己吧 大家好,我是东阁堂主,在成为码农之前,在车企里做过售后,仪器厂做过测试,电子厂做过机修。受室友影响,15 年入坑 iOS,目前在 B 站的漫画事业部。 工作相关 能简单分享下你的工作内容吗? 目前我在项目负责哔哩哔哩漫画国内版和国际版的需求开发,也会做些性能优化,比如启动优化,包体瘦身,核心页面的秒开优化等。从 20 年开始,B 漫就在项目中嵌入 Flutter,目前新需求基本都是 Flutter 开发。Flutter 开发页面很快,开发人员没有增加的情况下,开发效率反而大幅提升了。当然测试效率也会提高,之前要两端都要测试,现在只有着重测试一端,另一端测测兼容即可。 最近在上海的工作状态怎么样,生活各方面造成的影响大不大?可以分享一些这段期间学到的「封城」生存之道。 受疫情影响,我不得不蜗居在公司附近的出租房里,工作可以在家办公,但效率会稍微打折(主要是没有大屏的显示器)。狭小的空间限制我的躯体,却限制不了我的灵魂,我一向比较乐观,最近也是被抢菜搞得有些疲惫,生活物资基本全靠团长和政府救济,不能想吃什么吃什么了。总结一些封控期间囤物资的技巧吧:如果有官方消息要留在家中,可乘空闲时候去附近超市采购,如果厨具齐全,米面油,杂粮,速食,干蔬之类的可多备点,注意,在采购东西时一定要注意安全。封控期间可在 App 上抢东西,比如叮咚,美团,盒马,他们会在规定的时间内开放购买入口,要先把东西提前加入购物车,因为等开放时刻再加,基本上是来不及的。用安卓手机的可以在网上下载个抢菜插件(https://github.com/Skykai521/DingDongHelper),iOS 用户有筋膜枪就用筋膜枪吧。还有就是注意捡漏,时不时刷一刷,厂商也会时不时补货。等货到后,要注意货物表面消毒。加入小区群,这个是最靠谱,最省时省力的方式。团长发起团购消息时,及时回应,因为团购有截止时间。我加入的团购群有猪肉群,鸡蛋群,蔬菜群,牛奶群,面包群等。有什么需求,可以直接在小区群里咨询,有富裕的东西可以物物交换。找跑腿小哥,不过会加相应的跑腿费,只要价钱合适,会有小哥接单的,让小哥代买一些食品。在 Bilibili 工作是一种什么体验? 在 B 站漫画部门上班,氛围比较轻松,也算是弹性上班,公司鼓励奇装异服,彰显个性,可以带宠物上班,也有很多流浪小动物寄养在公司,哦对了,入职即送 B 站大会员🍻。 iOS 开发没人要了,网上有很多这样的劝退论调,结合你跟 iOS 之间结下的渊源与实际的工作情况来说一下你对这个现象的看法。 我是 15 年踏入 iOS 开发行列的,那时移动端正值繁花卓锦,烈火烹油的时代,各行业都想分一杯羹。所以 iOS 开始开发者岗位也是与日俱增,19 年的时候大浪淘沙,行业洗牌,很多公司倒下了,也直接导致了 iOS 的岗位减少。现在初级的 iOS 需求量确实少了,但还是有的,就像 B 站每年都有 iOS 实习生的名额。至少到现在,我认识的 iOS 开发者都有工作,当然打铁还需自身硬,提高自己的技能才是王道。 学习相关 看到你整理翻译的这本 iOS Architecture 书,能简单介绍它的主要内容吗?做这件事的出发点是什么?一共花费了多长时间?最终的收获又是什么? 这本书前四章会介绍架构的理论基础,会涉及到一些常用的设计模式,结合例子给出具体的代码实现,和读者一起讨论哪种架构适合自己的业务,以及使用架构会带来哪些益处。接下来几章会着重介绍MVVM、Redux、Element 架构的具体实现,使用时注意事项以及优缺点。最重要的是可以启发我们思考,当前我们的项目有哪些可以改进的地方。 因为之前没有系统想过 iOS 架构相关东西,想在这方面深入了解一下,就找到了这本书。整理和翻译花费近两个月,通过这本书的完成,使自己对通用架构有了更深一层的认识,感觉自己的 English 没有白学😅,当然体会到了翻译的不容易,算是完成了自己今年初定下的第一个目标吧。 对于一些非工作项的事情像是翻译书籍、写开源库,你是如何自我驱动来实现的。会不会遇到一些阻力,遇到阻力的话是如何克服的?做这些事情有没有给你带来一些意外收获? 翻译整理书籍主要就是想挑战一下自己,也希望可以帮助其他人,自己也是看别人翻译的文章和分享的库来满足日常的开发需要。写开源库,也是记录自己学习的一种方式,或许能帮到有类似需求的小伙伴。遇到的阻力就是时间节点问题吧,开始以为很快就能完成的,事非经过不知难,制定的计划会被其他干扰因素打破(比如上海这次疫情),根据实际情况修正计划,当胜利的曙光到来时,自己的幸福满足感爆棚。 结合自己的经历,能否分享一下对你来说好的学习经验和学习习惯? 工作中的经验积累很重要,要时不时的总结一下,好记性不如烂笔头,这些经验或者教训可是经过实际检验的,比自己写的 Demo 更具有可操作性。平时就是多看技术博客和技术公众号,多和组内的人交流。 可以在油管上找些教程,YouTube 可以自动生成字幕,不用担心听不懂。 这里特别强烈推荐一款应用,就是苹果自己家的:Developer。这款应用有 WWDC 相关的技术视频,可以缓存下来,也有字幕,闲时找自己感兴趣的看一看,还是会有收获的,稍微介绍一下,说不定你就会爱上它。个人爱好 除了作为开发者的身份,还有其他什么兴趣爱好可以分享的吗? 平常爱运动,也爱旅游,参加过几次马拉松,喜欢中国古典诗词文化,偶尔也会写首顺口溜。 之前在群里有看到你发的桌面照片,有很多手办,这是 B 站的风格还是你的风格。补几张照片让我们都开开眼吧 我不是真正的二次元,但也不排斥二次元文化,我的手办不多,补几张大佬的桌面吧。作为 B 站人,肯定少不了刷 B 站,推荐几个你感觉不错的up主吧。 硬核的半佛仙人:有搞笑的配图和内容,给平淡的生活增加一些笑意。 罗翔说刑法:让你在故事中读懂法律。 冒险雷探长:算比较早是旅游达人,可以领略到到国外的风景。 再推荐几个入站必看视频吧:赵本山:我就是念诗之王 最强法海【极乐净土】-咬人猫跟着雷总摇起来!Are you OK!再推荐一本书或者一个开发工具吧 在这里我不推荐学习相关的东西了,推荐一本书吧《明朝那些事》算是一套白话历史的丛书书,讲的诙谐生动,用现代人的观点解读当时的情境。网上也有相关音频,地铁上,睡觉前,都可以听一听,作为消遣娱乐。 可以谈一个自己最近才明白的心得、感受或者体会吗。 生于忧患死于安乐,家里常备粮,心里才不慌,意外和明天真不知道哪一个会提前到来,善待自己,善待他人。 有没有想借助于摸鱼周报宣传的。 漫画部门暂时没有 iOS 坑位 (⊙︿⊙),其他部门有,有看上的可以直接投递,也可以敲我:
How to make toys from old Olarpaper
- Mark Dinn
- 07 Apr, 2022
-
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius! Creative Design Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
Become a morning person with the help of alarm clock
- Mark Dinn
- 06 Apr, 2022
-
Almost every day for the past nine or so months has felt like March 13, and that can sometimes make it difficult to want to wake up for the day ahead of you. To make a morning person out of you, the wake-up light simulates the sunrise to gradually ease you awake. This allows you to wake up more naturally rather than being jolted awake by the default iPhone alarm sound, which honestly triggers my fight or flight response. Creative Design Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
Banana is the best meal packages in the UK spark outrage online
- John Doe
- 05 Apr, 2022
-
A banana is an elongated, edible fruit – botanically a berry – produced by several kinds of large herbaceous flowering plants in the genus Musa. In some countries, bananas used for cooking may be called "plantains", distinguishing them from dessert bananas. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius! Creative Design Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
Why a balloon is a flexible bag that can be inflated with a gas
- Mark Dinn
- 04 Apr, 2022
-
A balloon is a flexible bag that can be inflated with a gas, such as helium, hydrogen, nitrous oxide, oxygen, and air. For special tasks, balloons can be filled with smoke, liquid water, granular media, or light sources. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius! Creative Design Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
What you need to know about Photography
- Mark Dinn
- 03 Apr, 2022
-
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius! Creative Design Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
Why a balloon is a flexible bag
- John Doe
- 02 Apr, 2022
-
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius! Creative Design Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
How to make toys from old Olarpaper
- Mark Dinn
- 01 Apr, 2022
-
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius! Creative Design Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
人物访谈 | 东坡肘子:健康&开发
- 14 Feb, 2022
肘子是摸鱼周报的一位编辑,最早知道他还是通过他写的几篇关于 Swift 的博客。他的博客专注于 Swift 领域,每篇文章的质量都很高,是这个领域非常值得关注的博客之一。后来了解到他之前得过一场大病,现在的生活节奏基本平稳有序。又想到其他几位圈里同样受到疾病影响的开发者,就决定了这次访谈的主题:健康&开发。 简单介绍下自己吧 大家好,我是东坡肘子,70 后。小学时获得了我的第一台电脑(CPU 是 MC6800),几十年来更换过不少设备,算是亲身经历了信息时代的巨大变迁。尽管一直以来都对于硬件开发、软件编程十分喜爱,但并没有以此为职业。最近几年,由于疾病的原因,目前赋闲在家,通过博客 肘子的 Swift 记事本 记录一些关于 SwiftUI、Core Data、Combine 等方面的学习心得。 由于治疗的需要,我从一个不喜欢记笔记的的人变成了每天必须要记录大量数据(其实主要还是依赖我妻子)的人。前年通过手术,生活质量获得了较大的改善,本以为所需记录的数据能少一点,但事与愿违,数据量减少了,数据种类却大大的提升了,而且可以明确的是,这些数据将要在我有生之年一直记录下去。因为喜欢技术和记笔记的需求,于是就开发了一款 iOS app ——「健康笔记」。 最近也经常听到一些上班族特别是程序员群体相关的健康话题,很显然健康非常重要也很容易被大家忽视。方便讲一下你患病的原由吗,也提醒大家重视健康问题? 2013 年,我的身体状况出现了异样,每天不停的呕吐,几乎无法进食。当时工作很忙,休息时间无法得以保障,自认为或许是睡眠不足导致的肠胃问题。在家人的强烈要求下,去医院做了检查。简单的化验后,医生立刻就明确了问题所在——尿毒症。入院时的身体相当糟糕,肌酐达到 2100μmol/L(正常值通常低于 100)、血红蛋白 4.6(男性正常值通常高于 12)。 人是一种挺神奇的动物,在去医院的前一周,我还跑了三个城市。但在住院后,透支的身体立刻就无法继续坚持了,出现了数次的生死危机。经过几年的透析治疗,我在 2018 年接受了肾移植手术,目前各方面都恢复的不错。 都说久病成医,作为一个经历较大疾病的人,有没有什么忠告或建议给大家? 我很幸运,在关键时刻就医、有家人的悉心照顾、有不错的医疗资源。在身体逐渐恢复后,我迫切地希望有更多的人能够及早认识到健康的重要性,避免走到难以挽回的地步。 如实在无法做到早睡早起、按时吃饭、健康饮食、科学养生,希望至少重视以下两点:尊重你身体的求救信号。绝大多数的疾病,都不会毫无预警地凭空而来。不要将身体的一切不良反应都归于工作忙、压力大等因素。最起码要严肃的面对每一次的体检结果,及时完成需要进一步随检的内容。 不要过度。在连续的熬夜加班后休息半天,休息后再工作或许可以取得意想不到的进展,熬夜加班中休息半天,或许可以取得意想不到的工作进展,更加关键地是,可以让你紧绷的身体获得适度的放松。身体是属于你自己的,也只有你自己可以对其负责。爱惜它、保养它,真正做到「活久见」,而不只是当成一个梗。这几年我在知乎上从一个曾经的透析患者角度,对尿毒症、肾移植等方面的内容做了些介绍和解答。以下是其中的一篇,希望帮助到有需要的人——刚确诊尿毒症,患者和家属应该注意什么?。当然也衷心地希望大家都能身体健康。@zhangferry:我的父亲也是尿毒症患者,于 19 年做了肾移植。他早期是痛风,痛风患者是需要严格控制喝啤酒的,他忌不住嘴,导致病情加重,以至于发展为慢性肾炎。后来看一则广告推荐的中医,治疗不当,最终发展为尿毒症。我曾随父亲多次往返医院的血液净化中心,也见过很多年轻的患者,对这个病感触非常深。现在回想过来正是由于早期很多应该做的措施没有做对,才造成了最终的后果。当前的教训就是:重视健康问题,及早正确的治疗。 从痛风这个点说起,它的前身一般是高尿酸血症,长期的高尿酸血症易发展为痛风。目前高尿酸血症的患病人数为 1.77 亿,痛风患病人数为 1466 万,这个比例已经很大了,以至于高尿酸血症被称为"第四高"。尿酸指标属于肾功能检查(非血常规),一般体检都会有,当尿酸数值超过 420μmol/L 即表示为高尿酸血症。如果是爱康国宾的体检的话,App 里体检报告的基本健康数据就会显示尿酸数值。 高尿酸血症及痛风的高发人群是:偏好海鲜等高嘌呤食物、过度饮酒不节制、作息不规律、纵容肥胖,不爱运动、吸烟。所以如果你的尿酸指标已经高了的话切记克服以上的生活习惯。 人身体的潜能和耐受力都是巨大的,特别是年轻的时候,但要知道这不是挥霍身体的理由。这副躯体我们是要用一辈子,而且没法随意更换的,我们一定要好好爱惜它。最后还是希望通过肘子跟我的一些经历,提醒到大家重视健康问题。 数据参考:第一财经商业数据中心:2021中国高尿酸及痛风趋势白皮书你在开发的一款应用是「健康笔记」,能简单介绍下这款应用的功能和未来规划吗? 透析阶段,我采用的是腹膜透析方式。它的优势是可以在家中进行,无需每周多次往返透析中心。腹膜透析每天需要做多次的透析液更换,并且每个月都需要去医院做随诊和验血。数年间,我记录了大量的有关透析治疗和身体检验等方面的数据(数个笔记本)。移植手术后,因为需要终身服用免疫抑制剂,目前仍每个月进行一次验血,以跟踪某些指标。 尽管市面上已有一些针对特定疾病进行数据跟踪管理的 App,但随着治疗的发展,需要记录的内容也不断发生变化,到达某个阶段后,这些 App 便无法继续胜任了。 因此,我决定开发一款可记录各种数据类型的 App。 本质上讲,「健康笔记」是一款支持高度定制数据类型的记录工具。目前支持七种数据格式,并可为数据设置各种验证条件。除了健康数据外,使用者还可以使用「健康笔记」记录生活、工作中遇到的绝大多数可量化或不可量化的内容。 相较于纯记录型工具,「健康笔记」更注重对数据的分析和管理。提供了多维度的图表,并且使用者可以将 App 中的数据导出到其他的软件或工具中进行分析。 「健康笔记」基于 SwiftUI 和 Core Data with CloudKit 进行的开发。目前可用于 iOS 14 以上的设备。当前的版本为 2.x,3.0 版本目前仍在开发中。现在的生活节奏怎么样?你说目前是处于一种赋闲在家的状态,对于没有外界约束的状态,保持规律的作息是比较难的一件事,你每天的时间是怎么安排的呢? 当前的生活状态可以用两个字来总结——规律。每天早上 6:00 点起床、晚上 10:00 睡觉,三餐准时,全年不变。生活的内容主要围绕着照顾猫狗、健身、学习、阅读。 我已无需强迫自己遵循以上的作息,相反,如果某天意外地违反我反倒有些不适应。 你是怎么考虑独立开发和远程工作的? 「健康笔记」算是我的独立作品,但我并不算是独立开发者。 以我的理解,严格意义上的独立开发者至少要满足两个条件:将商业的思维贯穿于开发行为之中,开发的是商品而不是作品 要有以开发成果作为其主要收入来源的决心当有了以上觉悟的情况下,结合自身的情况再决定是否踏足这个领域。 因为疫情的原因,远程工作得到了前所未有的发展。在某些领域,远程的的效率甚至高于传统的工作形式。但无论远程有多么的方便,仍应尽量保持一定量面对面的交流。摄像头、麦克风、文字所能传递的情感与信息实在有限。 对于技术,目前主要就是在研究 SwiftUI 和维护自己的应用吗?2022 年,有没有什么新的技术方向的规划? SwiftUI 是一个比较新的框架,处于快速变化和发展中,今年仍会投入不少的精力对其跟踪和学习。「健康笔记」也会做一次彻底的更新,相对于功能上的增加,我更想在 app 架构上有所突破。今年会着重于夯实基础,逐渐从「知其然」向「知其所以然」转变。 看你每周都会固定输出 Swift 相关文章,而且质量都很高,相信肯定是花了不少时间整理的。也看到你最近发了一篇停更说明,说是遇到了一些瓶颈,计划用一段时间做一些系统性的充电。这种严谨的学习态度非常让人钦佩,但另一方面产出数量就会降低,能说下你对自己产出内容数量和质量上的一些想法吗? 创建「肘子的 Swift 记事本」的初衷很单纯,通过记录加深理解、梳理思路。我对内容的产出数量并没有具体要求,但希望做到言之有物,在满足自身学习需求的同时具备一点分享的价值。 「肘子的 Swift 记事本」和「健康笔记」之间是相互依存的关系。因为想写「健康笔记」,所以创建博客帮助学习;文章的方向基本围绕着「健康笔记」的需求展开;学习的结果又通过「健康笔记」来得以实践。 从去年年中开始,我便开始了「健康笔记」3.0 版本的开发。在已完成了 80%左右的情况下,我决定将之前的工作全部推翻。尽管相较于 2.x 版本来说,新版代码有了些提高,但对我本人来说并没有质的飞跃。「健康笔记」作为个人实践和检验学习结果的载体,我并不希望为了升级而升级(从功能和稳定性角度来看,2.x 版本目前仍可胜任)。 此次停更便是想用一段时间来系统改善开发过程中发现的不足。此阶段的学习重点集中于理论层面,大多与语言和平台无关。希望届时能够有所收获。 写文章非常容易遇到知识盲点,对于这种问题,你是如何快速梳理出正确脉络的,有没有什么可以借鉴的技巧分享下? 事实上,并非总能快速梳理出思路。当碰到一个盲点时,我喜欢采用拓展阅读的方式,可能仅仅因为某个没有使用过的 API 而借机学习了解一下整个框架;一个短时间就能找到解决方案的问题,我会将其扩张成几天才能学完的内容。前期这种做法会十分耽误时间,但在有了一定的储备后,对于之后遇到的问题,梳理起来就会方便很多。 另外,我会订阅大量优秀博客的 RSS 或 Newsletter。每天早上我会用 30-60 分钟,将最新的文章进行一遍通读,在将来遇到问题时,从记忆中找寻解决之道。 以下是我经常关注的英文Blog或Newsletter,中文内容还需更多地关注摸鱼周刊。名称 地址 简介Augmented Code https://augmentedcode.io/ 频谱查看应用 Signal Path 作者 Toomas Vahter 的博客。每个月 2-3 篇的更新量。内容主要涉及 SwiftUI、UIKit、XCTest 等。Create with Swift https://www.createwithswift.com 由三名意大利人(Giovanni Monaco、Tiago Gomes Pereira、Moritz Philip Recke)创建的博客。内容以 Combine、SwiftUI 为主。Donnywals.com https://www.donnywals.com Practical Combine 以及 Practical Core Data 两本书籍的作者作者 Donny Wals 的博客。主要聚焦于 Core Data、Combine、SwiftUI 等内容。Dave Delong https://davedelong.com Dave Delong 的博客,最近一年更新的不太频繁。2020 年创建了一系列有关如何用 Swift 开发 HTTP Stack 的精彩内容。Filip Němeček https://nemecek.be ImpressKit 作者 Filip Němeček 的博客。关于 UIKit 方面的内容较多。FIVE STARS https://www.fivestars.blog/ Federico Zanetello 的博客。当前集中于 SwiftUI 方面的内容,每篇文章都很有价值。Hacking with Swift https://www.hackingwithswift.com 畅销书籍作者 Paul Hudson 创建的网站,内容涉及 Swift 的各个方面。Holy Swift https://holyswift.app Leonardo Pugliese 的博客。除了有关 Swift 的内容外,每篇文章都会介绍一副绘画作品。iOS Dev Weekly https://iosdevweekly.com Dave Verwer 创建的 Newsletter 站点。少有的仅以 Newsletter 作为表述方式的作者。Masilotti https://masilotti.com/ Joe Masilotti 的博客。有不少关于单元测试、UI 测试方面的内容。Oleb https://oleb.net Ole Begemann 的博客。十多年间持续创作和 iOS 开发有关的内容。onmyway133 https://onmyway133.com Khoa 的博客。非常高产,最近两年有关 SwiftUI 的内容居多。Raywenderlich https://www.raywenderlich.com 知名的技术书籍出版商。尽管是商业机构,但仍提供了大量优秀的免费课程(课程基本上都会提供完整的项目代码)。Sarunw https://sarunw.com 泰国开发者 Sarun W 的博客。创作了很多有关苹果生态开发的内容。他开发的 codeshot 可以方便的将代码转换成漂亮图片以利于交流。Swift with Majia https://swiftwithmajid.com Majid Jabrayilov 的博客。他关于 Swift UI 数据架构方面的文章对我的影响很大。最近在做 Microapps 的专题。他的周刊 SwiftUI Weekly 已经提供了超过 90 期的内容。SwiftLee https://www.avanderlee.com Antoine van der Lee 的博客。除了原创的文章外,每周通过 SwiftLee Weekly 介绍其他优秀的文章和工作机会。他开发的 RocketSim 对于 Xcode 的使用者帮助不小。Swiftly Rush https://www.swiftlyrush.com Adam Rush 的博客。坚持周更,以 Tips 为主。也提供周报Swift Rocks https://swiftrocks.com Bruno Rocha 的博客。更新不频繁,但不时会有相当有深度的内容出现。Swift by Sundell https://www.swiftbysundell.com Swift 静态站点生成器 Publish 的作者 John Sundell 的博客(我的博客就是由 Publish 构建)。除了每周精彩的文章外同时还通过 Podcast 与很多业内专家交流最新的技术动态。The SwiftUI Lab https://swiftui-lab.com Javier 的博客。他撰写的关于 SwiftUI 的文章对 SwiftUI 的开发者影响很大。他开发的的 A Companion for SwiftUI 是每个 SwiftUI 开发者都应购买的工具。Trailing Closure https://trailingclosure.com 着重于 Swift UI。每篇文章都会介绍一个 SwiftUI 动效方面的具体实现。Try Code https://trycombine.com Marin Todorov 的博客。作者参与了不少苹果官方的开源项目。最近正在打造一款轻量级的 Swift IDE。Yet Another Swift Blog https://www.vadimbulavin.com Vadim Bulavin 的博客。内容主要涉及 Swift、SwiftUI、单元测试等。现在很多开发者会因为程序员是青春饭而焦虑,而你作为一个技术领域的老兵却时刻保持着对技术的热情,能说下你能一直保持热情的原因吗? 学习使我快乐,能力提高让我获得满足。有点类似于打游戏,不断通关,坚持不 Game Over。 当前的职场环境好像给每个参与者都带来了不小的压力。与其为年龄而焦虑,我觉得更应该时刻关心自己是否保持了学习的热情和动力。技能往往是与职业绑定的,而学习能力与职业无关。人一生中处于不同的岗位或职业是十分正常的事情。相较于 IT 届,年龄因素在很多其他行业占据着更加重要的位置。无论身处什么行业,在职业技能提高的同时,也要做到个人综合能力的提升。尽管未必能减轻多少因年龄而产生的焦虑,但至少可以获得更多面对未来的信心。
2021年度总结
- 29 Dec, 2021
今年还是疫情年,可以预见的 2022 仍然会被疫情所笼罩。因为疫情的缘故出行被限制,各个行业也都面临不景气的现状。曾几何时我们对努力奋斗都开始有些不懈,躺平成了主流。罗曼罗兰说过:世界上只有一种英雄主义,那就是认清生活真相之后依然热爱生活。虽无英雄主义,但面对当下的艰难,我依然愿意去寻找天空中的彩虹。简单回顾下即将过去的 2021,2022 要整装待发啦。 普通的生活 普通生活中也有几件值得记录的事情。 半马今年的北京半马,因为疫情原因,参赛人数减半,我算是运气爆表才中的签。因为平常运动不多,且离比赛只有四周左右的准备时间,给自己制定了如下跑步计划: 第 1 周:早晨 2km,晚上 3km 第 2 - 3 周:早晨 2km,晚上 5km, 第 4 周:早晨 3km,晚上 4km。 配速都是在 6 分 30 秒左右,这里没有一次跑太多就是为了防止肌肉损伤。跑步计划虽然没有严格到一天不落的执行,但基本都做到了,期间均正常饮食,训练结束称体重发现自己还瘦了 4 斤,跑步对减肥真的有效。因为比赛前的训练不当,导致比赛期间小腿肌肉仍然酸痛,算是带点小伤坚持了全程。最后成绩是 2 小时 35 分,也挺满意了。 回顾整个过程:清晰的目标 -> 清晰的训练 -> 满意的结果,这是完整的正向循环机制,希望以后每件认真对待的事都能劳有所得。 拔牙 有智齿这件事被查出来已经有一定时间了,每年体检的时候都会被医生提醒应该拔了。但一直都没有下定决心,疼的时候没法拔,不疼了又害怕拔牙太疼,一直拖到今年。直到上个月,媳妇悄悄给我挂了北大口腔的号,说这个号可不好挂,不要浪费了机会,我才决心去拔。 我是四颗智齿都有问题,第一次拔了左边两颗。只有打麻药的时候感到有些疼,牙拔出的瞬间其实是无感的,听到牙齿落入铁盘的声音,我才意识到原来牙齿已经拔出来了,总共不到 5 分钟。后续恢复了一周,就基本无感了。第二次拔了右边两颗,稍微费劲些,牙龈缝了两针,术后第一天一直发烧,第二天才退烧。虽然过程不轻松,给自己折腾够呛,拔完之后心里却踏实很多。因为已经拔掉了,我知道即使再难受,过两天就会好了,这事已经过去了,而没拔的时候,却总是处在担心拔牙的不踏实状态。 这其实就是长痛不如短痛啊,勉强可以接受的状态容易削弱人的意志,如果奋起抵抗,即使经历短暂痛楚,获取的却是长远的舒适。这是非常划得来的,所以该迈的坎不要害怕尽早迈过它。 生活趣事今年的动手能力多少提高了一些,不只是做饭,现在清理空调滤网,刷油烟机都开始尝试了。 说起做饭,比着去年被迫的状态,今年做多了已经开始享受做饭的过程了。油烧热,倒上葱花,滋滋啦啦的,葱花爆香的味道扑鼻而来,再加肉或者菜,调味品一放,这不就完事了吗。复杂点的还需要再加几道工序,注意顺序上的差别,所有菜都差不多这个定式。 后来吃饭的过程养成了看美食视频的习惯,做好饭撑开桌子第一件事就是把 iPad 支起来,看「盗月社食遇记」或「绵羊料理」。过程中不仅见识了各样特色美食,还观看了很多美食复杂的制作工序,我要收回做饭容易的话了,其实每一行都不是看起来的那样简单。 说到 B 站,也推荐几个今年发现的宝藏 up 主吧,「-LKs-」、「有山先生」、「oooooohmygosh」、「贪玩歌姬小宁子」。有不少人认为 B 站为了扩张导致用户质量下降,而怀念过去的 B 站。我是不认同的,维护 B 站质量的主要是那些 up 主而不是用户,B 站模式本身就适合更广阔的人群,在社区和谐的土壤里, UGC 内容的创造力可以趋近于无限。B 站的服务用户应该更广,生命力也应该更强才对,我非常看好 B 站的,小破站给我冲起来! 影视 看了两部经典动漫,《进击的巨人》、《一拳超人》,对于在这之前只了解火影和海贼的我来说,这两部的剧情和画面多少都有点让我惊掉下巴,动漫还可以这样?《巨人》的漫画在今年的 4 月 9 号完结,当我打开知乎想窥探一些新剧情时,发现了和以往完全不同的评论风格,这之前都是夸谏山创多么多么厉害的,而在这之后都是骂的。随着翻看评论,大概了解了烂尾的现实。同时这也是一个神奇的现象,当一步作品足够优秀,吸引甚至影响到很多人之后,这个作品本身就会被认为是大家共有的一个东西,如果最终作品变质,那当初有多喜欢这个作者,后面就有多讨厌他。 不说让人失望的《巨人》了,还是来看可爱的波吉吧。我理解《国王排名》受欢迎的原因是它展现了很多人类温柔的情感。不想让人看到自己脆弱的一面而偷偷哭泣的波吉,表面严厉实际一直保护波吉的皇后,这些真善美是人们本身就有的情感,但随着步入社会,我们对他人反而是越来越多的戒心,越来越不愿意轻易与人交心长谈,我们正在失去的这些东西被展示出来,从而击中自己内心,所以我们会更爱他。今年还发现一个宝藏播客节目:《卖鱼桥分桥》,小宇宙和 Podcasts 都可以搜到。关注到这个节目是因为创作者是 iOS 圈里的一位开发:没故事的卓同学。一开始是想看看开发者的副业生活可以怎么样,没想到却被好几期节目圈粉了。特别是歌单那几期,有点超神了,顺道我也来点 BGM 吧。昨日像那东流水 离我远去不可留 今日乱我心多烦忧 抽刀断水水更流 举杯消愁愁更愁 明朝清风四飘流中间卓同学还有几次尝试邀请我参加节目,都被我拒绝了,这里澄清下,主要原因还是我不够自信,总担心自己说不好。卓同学是我非常佩服的一个人,希望后面我能收拾好自己的信心再一起合作。 缓慢成长 阅读 今年阅读不算多,到也遇到了几本非常好的书,这里列出来简单总结一下,大家如果有兴趣可以买来看一看。 《邓小平时代》:这是一本邓公的人物传记,写了很多那个历史背景下的很多故事,非常详实,让我对政治这个词有一些不一样的认识。因为内容太敏感,这里就不发表评价了,大家如果对那个年代,对邓公感兴趣的话,这本书可以作为首选资料阅读。《经济学要义》:这本书比较通俗易懂的把多个经济学概念进行了串联和解释。在我看来,经济学最大的作用是对社会经济现象的解释,书中有几个比较重要的经济学概念。 边际效益:效益是收益和付出的比值,带上边际就是最后一个单位的收益和付出。这里有一个边际效用递减规律,就是当在一件事情上投入过多成本之后,其带来的收益会越来越低。以工作举例,重复的工作事项,仅有第一次是边际收益大的,后续的重复过程收益都是在不断递减的。 机会成本:鱼和熊掌不可兼得是对机会成本的最好诠释,每天我们都在面对诸多选择,凭借自己的阅历和经验做出选择,并得到了想要的结果。但从经济学上来看,事情并没有结束,每个选项的背后都意味着放弃了其他选项,那些放弃的选项中收益最高的就是机会成本。 以看视频为例,当你想看某部影片时发现,正版网站可以直接观看但需要付费,盗版网站免费但需要一定的检索时间。如果你认为收益更大的肯定是看免费的了,但就是忘了考虑时间导致的机会成本。天下没有免费的午餐,不收钱可不代表免费,时间和注意力也是稀缺资源,哪个能给自己带来最大化收益才应该选哪个。 《终身成长》:不要用固定型思维,而是成长型思维,相信人本身是可塑的,这个不光是对自己,还可以用于教育。文中列举了很多教育孩子正确和不正确的方法,各位宝爸宝妈可以看看。 《暗时间》:刘未鹏信仰的东西应该就是思维改变生活,这是他博客的标题,也是这本书探讨的核心观点。书中提到很多有趣的心理学现象,来帮助我们理解自己为什么会有那种行为。其中一个叫:自利归因。意思是人们总是习惯的把一件事情发生的原因归结为对自己有利的情况,通俗来说就是人们总是倾向于为自己辩解。比如我们因为晚起导致上班迟到,遇到了堵车,我们就会认为迟到是因为堵车导致的。即使没有堵车,我们也会找到电梯慢等原因,但真实原因其实是晚起,就因为我们不愿承认自己的错误所以才会就近找一些借口。 再有如果是我想做某件事,又感觉自己不太擅长,做不了,就会找各种接口推脱。到最后确实没做成,回顾时的自我归因会是,「我不想做」,心理还想了各种借口,那件事也没有那么重要,以后还有的是时间。因为不愿承认我不能,而改成了我不想,就因为这种解释会让自己心里更舒服,这能获得暂时的心理安慰,却让我们忽视了自己的弱点。这个理解深深击中了我,促使我在复盘各类事情的原因时不要给自己找借口。 文学类看了几本日本小说,太宰治的《人间失格》,东野圭吾的《幻夜》《嫌疑人x的现身》《疾风回旋曲》《白马庄杀人事件》《假面舞会》。之前有看过《白夜行》和《解忧杂货铺》,发现自己成了半个东野圭吾粉丝了。不过不得不说东野圭吾的叙事技巧确实厉害,情节跌宕起伏,伏笔一个接一个。相比近期各种让人失望的影视剧来说,小说一般都不会让人失望。凭借对东野圭吾的喜爱,我一连又买了好多本他的书,目前收集了这么多:小说看多了技术类书看的就少了,完整看完的有《Head First 设计模式》《Swift异步与并发》《Objective-C编程全解》。喵神的书也是一如既往的好,由浅入深,虽然一行并发代码都还没写,但感觉好像对整个设计架构已经有了大概的了解。虽然系统提供了一些方法用于适配 Swift 并发并降低可接入版本至 iOS13,但迁移成本仍然是比较高,导致使用率还很低,希望明年 WWDC 苹果对这部分的过渡有更多平滑方案。 《深入解析 Mac OS X & iOS 操作系统》和《深入理解计算机系统》也看了一些,这两本对我来说更像工具书,对某个地方有疑惑时会拿来翻翻学习一下。 摸鱼周报 去年的一项 OKR 是摸鱼周报全年能够产出 15+ 期,当时是才刚发了第一期内容。今年的结果是一共产出了 38 期,除了早期几篇不稳定和节假日休刊之外,其余时间均是每周一篇,已经远超去年的规划了。这当然少不了小伙伴们的帮忙,因为摸鱼周报本身的故事也不少,所以决定单独用一篇文章来写,相关内容大家再等等吧。 工作赶到年底裁员,多少有些突然,海外部门应该是最严重的,裁员比例 7 成以上。在爱奇艺待了将近 1 年半,有幸接触到一位非常优秀的领导,学到了很多东西。也非常感谢期间一起合作过的小伙伴,祝大家前程似锦哈。 前段时间看了极客时间里的一个专栏:《10x程序员工作法》,它由火币网首席架构师郑晔整理。发现有很多内容跟自己的工作心得比较类似,这里结合一下来整理今年工作上的感悟吧。 以终为始 以始为终是专栏里的一个重要主题,其来源是《高效能人士的七个习惯》里的第二个习惯。以始为终的含义是以目标为导向,网上流传亚马逊 CTO 介绍亚马逊如何开发一项产品的顺序: 1、写新闻稿 2、写 FAQ 3、写用户文档 4、写代码 事件真实性有待考究,但这件事本身是具有参考意义的,惯性思维我们很容易按照既定顺序去思考一件事,但有时候倒着思考会给我们带来更多启示。 我们还可以利用这个做一些提前演练,比如有一个较大重构模块需要上线,在未开始之前就进行构思,如何做如何做,甚至考虑到如果出了线上事故该如何处理,是否要使用 AB 测等等。这是第一次创造,我们会有一个清晰的目标,之后采取实际行动时,对照这个目标,一步步落实,这是第二次创造。 任务拆解 工作中的很多事情都可以借助于任务拆解来开展,它的一个最大好处就是打开了我们抉择的选择范围。0 和 1 对应一件事情做还是不做,通常选哪个都是艰难的,但如果选项更多呢,0,0.1,0.2, 0.3 一直到 1,我们再做选择时就会容易一些了,这就是拆分之后的一个好处。 明确边界 工作中很多事情都是在不确定中找确定,比如我们要确定是否能如期完成开发,但开发中会依赖后端进度、设计进度、测试进度等,他们能否按照我们预想的节奏完成都是不确定的。这时可以尝试明确一下边界,依赖后端,就告诉他们我们能够接受的最晚完成时间是什么时候,设计和测试环节一样,中间由项目统筹,即使出问题了也可以有依据确认哪个环节。 与之类似也可以给自己定边界,根据任务拆解内容制定计划,什么阶段应该完成到什么程度。 有效协同 因为公司里几乎所有的工作都是需要协同才能完成的,所以如何有效协同,你去明白别人的意思和让别人明白你的意思都非常关键。 如何明白别人的意思相对简单些,重点就是提前了解对方要表达的东西。提前的作用比较重要,一方面可以防止在需求评审时被产品的思路带着走而遗漏细节,还可以提前发掘一些疑问点在会上讨论。有时我还会对照 PRD 想象每个要点实现成代码应该是什么样子的,详细的预演通常也会发现一些问题。 如何让别人明白自己的意思这里引申一个小故事。之前在小组里做过一次技术分享,当时准备了很多东西,我还尝试去想大家看到幻灯片时会问哪些问题,我又该如何回答。但实际效果却并没有达到我理想的样子,有提问但感觉是比较浅显的问题,我认为大家会疑问的地方却没有人提,所以多少感觉有些受挫。后来跟老大交流了这个问题,他的回答让我释然不少:技术分享本身能有一半人认真听且跟上分享者的节奏就非常不错了,因为分享者提供的内容通常是他擅长的领域,让一个学习者去跟专业的人员对比这是不对等的,不应该过多强求。但是如果你分享的内容不只是扩展视野还是需要大家马上使用的,可以使用提问的方式,抓个人问他一个问题,来确认他的听讲效果,同时也起到强调重点的作用。 涉及团队协作不要抱太高要求,不要把每个人想的太理想化,及时沟通,多次确认,这些才是有效协同应该采取的方式。 其他 还有一些其他感悟,就简单列举了。 数字化衡量任务:要让自己的工作内容可量化,这里比较适用于做 OKR,量化的好处是便于分析成果,没法量化的情况很容易迷失。 数据分析非常重要:曾经解决一个困扰很久的 Bug,就是从一堆数据里分析出来的。这里对应两项能力,SQL 和 Excel。 自动化:把越来越多重复性的工作做成自动化,这像是驯服计算机的一种手段。 敬畏代码:很多时候容易过于自信,感觉做了一个东西肯定没问题,对繁杂的检查有些不屑一顾。但程序没 bug 才是不正常的,要代码起码的尊重,就是细心检查,严格验证测试 Case。 OKR 今年 OKR 完成情况 O1:个人成长KR 完成进度 总结时间规划能力再提升,完整记录20天以上的时间开销 50% 这个目标本意是为了提高时间利用率,期间有按小时的维度记录一天,持续有两周,但发现记录本身并没有产生期望的效果。阅读20本书,选择其中5本写出读后感 80% 20 本达到了,读后感只有两篇,既然上面也写了部分读后感,就算完成80%了吧😄。全年跑步里程400公里 34% 咕咚记录的全年里程是136km,这个差的有些多,我反思,是我太懒了。研究3只头部基金,自己做一次有计划的尝试,最终收益能高于市场平均线 0% 没有研究,收益为负。我承认理财对我来说确实没有吸引力,之后不能在做计划了( ̄ε(# ̄)提升代码阅读量,阅读3个苹果底层库,并写总结分享 10% 又打脸了提升代码书写量,非工作内项目达到20万行。有一个长期维护的开源库,对2-3个经典计算机问题,手写代码实现 10% 连续打脸代码阅读和手写是重要非紧急的事情,我反思问题出在没有以终为始。当时心满意足的列完目标就完事了,后续没有及时追踪目标,导致都忘了有这回事。 O2:输出更多优质内容KR 完成进度 总结公众号粉丝达到5000 60% 当时多少有些膨胀了公众号收入能抵消博客服务器及域名的支出 100% 今年接了几单推广,不光是覆盖住了服务器的支出,我们还买了一些资料输出30+篇博客 167% 有摸鱼周报加持,轻松达到了摸鱼周报出15+期 253% 有队友加持,轻松超过了这部分都完成比较好,给自己鼓掌👏🏻。 2022年计划 O1:技术成长KR 总结LeetCode 100题 在算法上栽过跟头了,不能再栽了阅读 1 本英文技术书籍 算法和英语也多少受霜神影响吧,不过这本来也是程序员非常重要的两项技能,没啥说的,干吧非工作内项目代码量达到 5 万行 未完成目标继续O2:个人成长KR 总结阅读 20 本书 不求多,能安静看完有收获就够了前年跑步里程 300km 300km合理一些,再不跑就变成胖子了学会一项新技能 已经确定学什么并找了一位非常厉害的老师了,先不说是啥面基 10 位技术圈的朋友 克服下自己的社恐多出来走走,同时向各位朋友学习不再设置输出内容的目标,2022 的主题就是新一轮的成长,整装待发,加油ヾ(◍°∇°◍)ノ゙