人物訪談 | 東坡肘子:健康&開發(fā)

肘子是摸魚周報的一位編輯,最早知道他還是通過他寫的幾篇關(guān)于 Swift 的博客。他的博客專注于 Swift 領(lǐng)域,每篇文章的質(zhì)量都很高,是這個領(lǐng)域非常值得關(guān)注的博客之一。后來了解到他之前得過一場大病,現(xiàn)在的生活節(jié)奏基本平穩(wěn)有序。又想到其他幾位圈里同樣受到疾病影響的開發(fā)者,就決定了這次訪談的主題:健康&開發(fā)。
簡單介紹下自己吧
大家好,我是東坡肘子,70 后。小學(xué)時獲得了我的第一臺電腦(CPU 是 MC6800),幾十年來更換過不少設(shè)備,算是親身經(jīng)歷了信息時代的巨大變遷。盡管一直以來都對于硬件開發(fā)、軟件編程十分喜愛,但并沒有以此為職業(yè)。最近幾年,由于疾病的原因,目前賦閑在家,通過博客 肘子的 Swift 記事本[1] 記錄一些關(guān)于 SwiftUI、Core Data、Combine 等方面的學(xué)習(xí)心得。
由于治療的需要,我從一個不喜歡記筆記的的人變成了每天必須要記錄大量數(shù)據(jù)(其實主要還是依賴我妻子)的人。前年通過手術(shù),生活質(zhì)量獲得了較大的改善,本以為所需記錄的數(shù)據(jù)能少一點(diǎn),但事與愿違,數(shù)據(jù)量減少了,數(shù)據(jù)種類卻大大的提升了,而且可以明確的是,這些數(shù)據(jù)將要在我有生之年一直記錄下去。因為喜歡技術(shù)和記筆記的需求,于是就開發(fā)了一款 iOS app ——「健康筆記」。
最近也經(jīng)常聽到一些上班族特別是程序員群體相關(guān)的健康話題,很顯然健康非常重要也很容易被大家忽視。方便講一下你患病的原由嗎,也提醒大家重視健康問題?
2013 年,我的身體狀況出現(xiàn)了異樣,每天不停的嘔吐,幾乎無法進(jìn)食。當(dāng)時工作很忙,休息時間無法得以保障,自認(rèn)為或許是睡眠不足導(dǎo)致的腸胃問題。在家人的強(qiáng)烈要求下,去醫(yī)院做了檢查。簡單的化驗后,醫(yī)生立刻就明確了問題所在——尿毒癥。入院時的身體相當(dāng)糟糕,肌酐達(dá)到 2100μmol/L(正常值通常低于 100)、血紅蛋白 4.6(男性正常值通常高于 12)。
人是一種挺神奇的動物,在去醫(yī)院的前一周,我還跑了三個城市。但在住院后,透支的身體立刻就無法繼續(xù)堅持了,出現(xiàn)了數(shù)次的生死危機(jī)。經(jīng)過幾年的透析治療,我在 2018 年接受了腎移植手術(shù),目前各方面都恢復(fù)的不錯。
都說久病成醫(yī),作為一個經(jīng)歷較大疾病的人,有沒有什么忠告或建議給大家?
我很幸運(yùn),在關(guān)鍵時刻就醫(yī)、有家人的悉心照顧、有不錯的醫(yī)療資源。在身體逐漸恢復(fù)后,我迫切地希望有更多的人能夠及早認(rèn)識到健康的重要性,避免走到難以挽回的地步。
如實在無法做到早睡早起、按時吃飯、健康飲食、科學(xué)養(yǎng)生,希望至少重視以下兩點(diǎn):
尊重你身體的求救信號。絕大多數(shù)的疾病,都不會毫無預(yù)警地憑空而來。不要將身體的一切不良反應(yīng)都?xì)w于工作忙、壓力大等因素。最起碼要嚴(yán)肅的面對每一次的體檢結(jié)果,及時完成需要進(jìn)一步隨檢的內(nèi)容。 不要過度。在連續(xù)的熬夜加班后休息半天,休息后再工作或許可以取得意想不到的進(jìn)展,熬夜加班中休息半天,或許可以取得意想不到的工作進(jìn)展,更加關(guān)鍵地是,可以讓你緊繃的身體獲得適度的放松。身體是屬于你自己的,也只有你自己可以對其負(fù)責(zé)。愛惜它、保養(yǎng)它,真正做到「活久見」,而不只是當(dāng)成一個梗。
這幾年我在知乎上從一個曾經(jīng)的透析患者角度,對尿毒癥、腎移植等方面的內(nèi)容做了些介紹和解答。以下是其中的一篇,希望幫助到有需要的人——剛確診尿毒癥,患者和家屬應(yīng)該注意什么?。當(dāng)然也衷心地希望大家都能身體健康。
@zhangferry:我的父親也是尿毒癥患者,于 19 年做了腎移植。他早期是痛風(fēng),痛風(fēng)患者是需要嚴(yán)格控制喝啤酒的,他忌不住嘴,導(dǎo)致病情加重,以至于發(fā)展為慢性腎炎。后來看一則廣告推薦的中醫(yī),治療不當(dāng),最終發(fā)展為尿毒癥。我曾隨父親多次往返醫(yī)院的血液凈化中心,也見過很多年輕的患者,對這個病感觸非常深。現(xiàn)在回想過來正是由于早期很多應(yīng)該做的措施沒有做對,才造成了最終的后果。當(dāng)前的教訓(xùn)就是:重視健康問題,及早正確的治療。
從痛風(fēng)這個點(diǎn)說起,它的前身一般是高尿酸血癥,長期的高尿酸血癥易發(fā)展為痛風(fēng)。目前高尿酸血癥的患病人數(shù)為 1.77 億,痛風(fēng)患病人數(shù)為 1466 萬,這個比例已經(jīng)很大了,以至于高尿酸血癥被稱為"第四高"。尿酸指標(biāo)屬于腎功能檢查(非血常規(guī)),一般體檢都會有,當(dāng)尿酸數(shù)值超過 420μmol/L 即表示為高尿酸血癥。如果是愛康國賓的體檢的話,App 里體檢報告的基本健康數(shù)據(jù)就會顯示尿酸數(shù)值。
高尿酸血癥及痛風(fēng)的高發(fā)人群是:偏好海鮮等高嘌呤食物、過度飲酒不節(jié)制、作息不規(guī)律、縱容肥胖,不愛運(yùn)動、吸煙。所以如果你的尿酸指標(biāo)已經(jīng)高了的話切記克服以上的生活習(xí)慣。
人身體的潛能和耐受力都是巨大的,特別是年輕的時候,但要知道這不是揮霍身體的理由。這副軀體我們是要用一輩子,而且沒法隨意更換的,我們一定要好好愛惜它。最后還是希望通過肘子跟我的一些經(jīng)歷,提醒到大家重視健康問題。
數(shù)據(jù)參考:第一財經(jīng)商業(yè)數(shù)據(jù)中心:2021中國高尿酸及痛風(fēng)趨勢白皮書[2]
你在開發(fā)的一款應(yīng)用是「健康筆記」,能簡單介紹下這款應(yīng)用的功能和未來規(guī)劃嗎?
透析階段,我采用的是腹膜透析方式。它的優(yōu)勢是可以在家中進(jìn)行,無需每周多次往返透析中心。腹膜透析每天需要做多次的透析液更換,并且每個月都需要去醫(yī)院做隨診和驗血。數(shù)年間,我記錄了大量的有關(guān)透析治療和身體檢驗等方面的數(shù)據(jù)(數(shù)個筆記本)。移植手術(shù)后,因為需要終身服用免疫抑制劑,目前仍每個月進(jìn)行一次驗血,以跟蹤某些指標(biāo)。
盡管市面上已有一些針對特定疾病進(jìn)行數(shù)據(jù)跟蹤管理的 App,但隨著治療的發(fā)展,需要記錄的內(nèi)容也不斷發(fā)生變化,到達(dá)某個階段后,這些 App 便無法繼續(xù)勝任了。因此,我決定開發(fā)一款可記錄各種數(shù)據(jù)類型的 App。
本質(zhì)上講,「健康筆記」是一款支持高度定制數(shù)據(jù)類型的記錄工具。目前支持七種數(shù)據(jù)格式,并可為數(shù)據(jù)設(shè)置各種驗證條件。除了健康數(shù)據(jù)外,使用者還可以使用「健康筆記」記錄生活、工作中遇到的絕大多數(shù)可量化或不可量化的內(nèi)容。
相較于純記錄型工具,「健康筆記」更注重對數(shù)據(jù)的分析和管理。提供了多維度的圖表,并且使用者可以將 App 中的數(shù)據(jù)導(dǎo)出到其他的軟件或工具中進(jìn)行分析。
「健康筆記」[3]基于 SwiftUI 和 Core Data with CloudKit 進(jìn)行的開發(fā)。目前可用于 iOS 14 以上的設(shè)備。當(dāng)前的版本為 2.x,3.0 版本目前仍在開發(fā)中。

現(xiàn)在的生活節(jié)奏怎么樣?你說目前是處于一種賦閑在家的狀態(tài),對于沒有外界約束的狀態(tài),保持規(guī)律的作息是比較難的一件事,你每天的時間是怎么安排的呢?
當(dāng)前的生活狀態(tài)可以用兩個字來總結(jié)——規(guī)律。每天早上 6:00 點(diǎn)起床、晚上 10:00 睡覺,三餐準(zhǔn)時,全年不變。生活的內(nèi)容主要圍繞著照顧貓狗、健身、學(xué)習(xí)、閱讀。
我已無需強(qiáng)迫自己遵循以上的作息,相反,如果某天意外地違反我反倒有些不適應(yīng)。
你是怎么考慮獨(dú)立開發(fā)和遠(yuǎn)程工作的?
「健康筆記」算是我的獨(dú)立作品,但我并不算是獨(dú)立開發(fā)者。
以我的理解,嚴(yán)格意義上的獨(dú)立開發(fā)者至少要滿足兩個條件:
將商業(yè)的思維貫穿于開發(fā)行為之中,開發(fā)的是商品而不是作品 要有以開發(fā)成果作為其主要收入來源的決心
當(dāng)有了以上覺悟的情況下,結(jié)合自身的情況再決定是否踏足這個領(lǐng)域。
因為疫情的原因,遠(yuǎn)程工作得到了前所未有的發(fā)展。在某些領(lǐng)域,遠(yuǎn)程的的效率甚至高于傳統(tǒng)的工作形式。但無論遠(yuǎn)程有多么的方便,仍應(yīng)盡量保持一定量面對面的交流。攝像頭、麥克風(fēng)、文字所能傳遞的情感與信息實在有限。
對于技術(shù),目前主要就是在研究 SwiftUI 和維護(hù)自己的應(yīng)用嗎?2022 年,有沒有什么新的技術(shù)方向的規(guī)劃?
SwiftUI 是一個比較新的框架,處于快速變化和發(fā)展中,今年仍會投入不少的精力對其跟蹤和學(xué)習(xí)?!附】倒P記」也會做一次徹底的更新,相對于功能上的增加,我更想在 app 架構(gòu)上有所突破。今年會著重于夯實基礎(chǔ),逐漸從「知其然」向「知其所以然」轉(zhuǎn)變。
看你每周都會固定輸出 Swift 相關(guān)文章,而且質(zhì)量都很高,相信肯定是花了不少時間整理的。也看到你最近發(fā)了一篇停更說明,說是遇到了一些瓶頸,計劃用一段時間做一些系統(tǒng)性的充電。這種嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度非常讓人欽佩,但另一方面產(chǎn)出數(shù)量就會降低,能說下你對自己產(chǎn)出內(nèi)容數(shù)量和質(zhì)量上的一些想法嗎?
創(chuàng)建「肘子的 Swift 記事本」的初衷很單純,通過記錄加深理解、梳理思路。我對內(nèi)容的產(chǎn)出數(shù)量并沒有具體要求,但希望做到言之有物,在滿足自身學(xué)習(xí)需求的同時具備一點(diǎn)分享的價值。
「肘子的 Swift 記事本」和「健康筆記」之間是相互依存的關(guān)系。因為想寫「健康筆記」,所以創(chuàng)建博客幫助學(xué)習(xí);文章的方向基本圍繞著「健康筆記」的需求展開;學(xué)習(xí)的結(jié)果又通過「健康筆記」來得以實踐。
從去年年中開始,我便開始了「健康筆記」3.0 版本的開發(fā)。在已完成了 80%左右的情況下,我決定將之前的工作全部推翻。盡管相較于 2.x 版本來說,新版代碼有了些提高,但對我本人來說并沒有質(zhì)的飛躍。「健康筆記」作為個人實踐和檢驗學(xué)習(xí)結(jié)果的載體,我并不希望為了升級而升級(從功能和穩(wěn)定性角度來看,2.x 版本目前仍可勝任)。
此次停更便是想用一段時間來系統(tǒng)改善開發(fā)過程中發(fā)現(xiàn)的不足。此階段的學(xué)習(xí)重點(diǎn)集中于理論層面,大多與語言和平臺無關(guān)。希望屆時能夠有所收獲。
寫文章非常容易遇到知識盲點(diǎn),對于這種問題,你是如何快速梳理出正確脈絡(luò)的,有沒有什么可以借鑒的技巧分享下?
事實上,并非總能快速梳理出思路。當(dāng)碰到一個盲點(diǎn)時,我喜歡采用拓展閱讀的方式,可能僅僅因為某個沒有使用過的 API 而借機(jī)學(xué)習(xí)了解一下整個框架;一個短時間就能找到解決方案的問題,我會將其擴(kuò)張成幾天才能學(xué)完的內(nèi)容。前期這種做法會十分耽誤時間,但在有了一定的儲備后,對于之后遇到的問題,梳理起來就會方便很多。
另外,我會訂閱大量優(yōu)秀博客的 RSS 或 Newsletter。每天早上我會用 30-60 分鐘,將最新的文章進(jìn)行一遍通讀,在將來遇到問題時,從記憶中找尋解決之道。
以下是我經(jīng)常關(guān)注的英文Blog或Newsletter,中文內(nèi)容還需更多地關(guān)注摸魚周刊。
| 名稱 | 地址 | 簡介 |
|---|---|---|
| Augmented Code | https://augmentedcode.io/ | 頻譜查看應(yīng)用 Signal Path 作者 Toomas Vahter 的博客。每個月 2-3 篇的更新量。內(nèi)容主要涉及 SwiftUI、UIKit、XCTest 等。 |
| Create with Swift | https://www.createwithswift.com | 由三名意大利人(Giovanni Monaco、Tiago Gomes Pereira、Moritz Philip Recke)創(chuàng)建的博客。內(nèi)容以 Combine、SwiftUI 為主。 |
| Donnywals.com | https://www.donnywals.com | Practical Combine 以及 Practical Core Data 兩本書籍的作者作者 Donny Wals 的博客。主要聚焦于 Core Data、Combine、SwiftUI 等內(nèi)容。 |
| Dave Delong | https://davedelong.com | Dave Delong 的博客,最近一年更新的不太頻繁。2020 年創(chuàng)建了一系列有關(guān)如何用 Swift 開發(fā) HTTP Stack 的精彩內(nèi)容。 |
| Filip Něme?ek | https://nemecek.be | ImpressKit 作者 Filip Něme?ek 的博客。關(guān)于 UIKit 方面的內(nèi)容較多。 |
| FIVE STARS | https://www.fivestars.blog/ | Federico Zanetello 的博客。當(dāng)前集中于 SwiftUI 方面的內(nèi)容,每篇文章都很有價值。 |
| Hacking with Swift | https://www.hackingwithswift.com | 暢銷書籍作者 Paul Hudson 創(chuàng)建的網(wǎng)站,內(nèi)容涉及 Swift 的各個方面。 |
| Holy Swift | https://holyswift.app | Leonardo Pugliese 的博客。除了有關(guān) Swift 的內(nèi)容外,每篇文章都會介紹一副繪畫作品。 |
| iOS Dev Weekly | https://iosdevweekly.com | Dave Verwer 創(chuàng)建的 Newsletter 站點(diǎn)。少有的僅以 Newsletter 作為表述方式的作者。 |
| Masilotti | https://masilotti.com/ | Joe Masilotti 的博客。有不少關(guān)于單元測試、UI 測試方面的內(nèi)容。 |
| Oleb | https://oleb.net | Ole Begemann 的博客。十多年間持續(xù)創(chuàng)作和 iOS 開發(fā)有關(guān)的內(nèi)容。 |
| onmyway133 | https://onmyway133.com | Khoa 的博客。非常高產(chǎn),最近兩年有關(guān) SwiftUI 的內(nèi)容居多。 |
| Raywenderlich | https://www.raywenderlich.com | 知名的技術(shù)書籍出版商。盡管是商業(yè)機(jī)構(gòu),但仍提供了大量優(yōu)秀的免費(fèi)課程(課程基本上都會提供完整的項目代碼)。 |
| Sarunw | https://sarunw.com | 泰國開發(fā)者 Sarun W 的博客。創(chuàng)作了很多有關(guān)蘋果生態(tài)開發(fā)的內(nèi)容。他開發(fā)的 codeshot 可以方便的將代碼轉(zhuǎn)換成漂亮圖片以利于交流。 |
| Swift with Majia | https://swiftwithmajid.com | Majid Jabrayilov 的博客。他關(guān)于 Swift UI 數(shù)據(jù)架構(gòu)方面的文章對我的影響很大。最近在做 Microapps 的專題。他的周刊 SwiftUI Weekly 已經(jīng)提供了超過 90 期的內(nèi)容。 |
| SwiftLee | https://www.avanderlee.com | Antoine van der Lee 的博客。除了原創(chuàng)的文章外,每周通過 SwiftLee Weekly 介紹其他優(yōu)秀的文章和工作機(jī)會。他開發(fā)的 RocketSim 對于 Xcode 的使用者幫助不小。 |
| Swiftly Rush | https://www.swiftlyrush.com | Adam Rush 的博客。堅持周更,以 Tips 為主。也提供周報 |
| Swift Rocks | https://swiftrocks.com | Bruno Rocha 的博客。更新不頻繁,但不時會有相當(dāng)有深度的內(nèi)容出現(xiàn)。 |
| Swift by Sundell | https://www.swiftbysundell.com | Swift 靜態(tài)站點(diǎn)生成器 Publish 的作者 John Sundell 的博客(我的博客就是由 Publish 構(gòu)建)。除了每周精彩的文章外同時還通過 Podcast 與很多業(yè)內(nèi)專家交流最新的技術(shù)動態(tài)。 |
| The SwiftUI Lab | https://swiftui-lab.com | Javier 的博客。他撰寫的關(guān)于 SwiftUI 的文章對 SwiftUI 的開發(fā)者影響很大。他開發(fā)的的 A Companion for SwiftUI 是每個 SwiftUI 開發(fā)者都應(yīng)購買的工具。 |
| Trailing Closure | https://trailingclosure.com | 著重于 Swift UI。每篇文章都會介紹一個 SwiftUI 動效方面的具體實現(xiàn)。 |
| Try Code | https://trycombine.com | Marin Todorov 的博客。作者參與了不少蘋果官方的開源項目。最近正在打造一款輕量級的 Swift IDE。 |
| Yet Another Swift Blog | https://www.vadimbulavin.com | Vadim Bulavin 的博客。內(nèi)容主要涉及 Swift、SwiftUI、單元測試等。 |
現(xiàn)在很多開發(fā)者會因為程序員是青春飯而焦慮,而你作為一個技術(shù)領(lǐng)域的老兵卻時刻保持著對技術(shù)的熱情,能說下你能一直保持熱情的原因嗎?
學(xué)習(xí)使我快樂,能力提高讓我獲得滿足。有點(diǎn)類似于打游戲,不斷通關(guān),堅持不 Game Over。
當(dāng)前的職場環(huán)境好像給每個參與者都帶來了不小的壓力。與其為年齡而焦慮,我覺得更應(yīng)該時刻關(guān)心自己是否保持了學(xué)習(xí)的熱情和動力。技能往往是與職業(yè)綁定的,而學(xué)習(xí)能力與職業(yè)無關(guān)。人一生中處于不同的崗位或職業(yè)是十分正常的事情。相較于 IT 屆,年齡因素在很多其他行業(yè)占據(jù)著更加重要的位置。無論身處什么行業(yè),在職業(yè)技能提高的同時,也要做到個人綜合能力的提升。盡管未必能減輕多少因年齡而產(chǎn)生的焦慮,但至少可以獲得更多面對未來的信心。
引用資料
肘子的 Swift 記事本: https://www.fatbobman.com
[2]第一財經(jīng)商業(yè)數(shù)據(jù)中心:2021中國高尿酸及痛風(fēng)趨勢白皮書: https://pdf.dfcfw.com/pdf/H3_AP202104231487186153_1.pdf?1619175552000.pdf
[3]「健康筆記」下載地址: https://apps.apple.com/cn/app/health-notes-for-everyone/id1534513553
