我的部落格
隔離日記
最近奧密克戎席捲合肥,導致這座千萬人口的城市進入近乎半停擺的狀態。整天都能在外面看到所謂的「大白」,以及數不清的救護車。也能在各種社群媒體上看到像「某個小區被封控」或「某棟大樓的住戶被整車整車拉去隔離」這類的資訊流。以前我都覺得沒什麼大不了,畢竟COVID-19爆發已經三年了,我卻還沒感染過(當然,即使感染了也沒什麼大不了,我對自己身體的抵抗力還是很有信心的)。但不巧的是,在10月24日這天,也就是「1024程式設計師節」這天,我被社區要求去集中隔離。起初我相當抗拒,因為我在網路上看過那些很糟的隔離點,想到要在那樣的地方住一個星期,沒有人跟你說話,不能出門活動……失去了正常人的自由,我覺得我會瘋掉(當然,事實上我並沒有瘋掉)。但最後我發現他們把我帶到了一家「四星級」飯店進行隔離。這讓我的心情瞬間好轉許多,畢竟這家飯店平時住一晚也要300到400元的費用,這波算是小賺啊……
October 28, 2022
NAT穿透如何運作(Tailscale)
譯者序 本文翻譯自 2020 年的一篇英文部落格文章:How NAT Traversal Works。 想像這樣一個問題:在北京和上海各有一台區域網路的機器(例如一台是家中的桌上型電腦,另一台是連接到星巴克 Wi-Fi 的筆記型電腦),兩者皆使用私有 IP 位址,但都能存取公眾網路,如何讓這兩台機器直接通訊呢?
July 7, 2022
NVIDIA DALI踩坑教程
初見 事情的起因還要追溯到很久之前看了一篇論文,論文的核心就是討論預訓練策略在低層視覺任務中的作用。既然是預訓練策略,那就不可避免的要用規模大一點的資料集,之所以預訓練這些年在低層視覺任務中鮮被應用的,其主要的原因就是缺乏大規模資料集。這篇論文主要針對低層視覺任務中的SR(超解析度)、DeRain(去雨)和DeNoise(去噪)三個任務,作者利用ImageNet中的影象作為基準影象,並在此基礎上利用雙三次插值得到低解析度影象用於SR任務,將雨紋和高斯噪聲直接加入到乾淨的基準影象中用於DeRain和DeNoise任務。
June 8, 2022
Cython基礎
入門教程 Cython概念 Cython本質上就是具有C資料型別的Python。 除了極少數例外,幾乎所有的Python程式碼都是有效的Cython程式碼。Cython的編譯器會把程式碼轉換成等效於呼叫Python/C API的C程式碼。
May 11, 2022
我們與烏克蘭站在一起!
我們聲援烏克蘭,反對俄羅斯的侵略,譴責普丁總統的行為,並捐款支持慈善機構,協助受影響的人們。 正文我們堅定地與烏克蘭人民,以及全球所有反對俄羅斯政府對這個和平國家發動戰爭與侵略行為的勇士們站在同一陣線。我們與每一位勇敢站出來,對抗侵略、揭露假訊息、拒絕沉默的人同行。我們讚揚烏克蘭人民的團結與堅韌精神,與他們並肩作戰。
April 23, 2022
別了,Mriya!
最近俄羅斯與烏克蘭之間的衝突愈演愈烈,似乎沒有要停下來的意思。國內的社交媒體上,我看到大多數的國人言語上都是支援俄羅斯的,當下中國和俄羅斯的關係非常鐵,所以國人這種態度其實可以理解的。
March 2, 2022
Python基礎
函式知識點總整理 呼叫函式 Python 內建了許多實用的函式可以直接呼叫。 要呼叫一個函式需要知道函式的名稱與參數,可以從 Python 官方網站查詢文件,也可以透過 help 函式查詢說明,例如 help(abs)。
December 29, 2021
Swift學習(11)- 類別與結構體(程式碼完善版)
結構體與類別作為一種通用且靈活的結構,成為了人們建構程式碼的基礎。可以使用定義常數、變數與函式的語法,為結構體與類別定義屬性、加入方法。 與其他程式語言不同的是,Swift並不要求為自訂的結構體與類別的介面與實作程式碼分別建立檔案。只需在單一檔案中定義結構體或類別,系統就會自動產生對其他程式碼可見的外部介面。
August 30, 2021
Swift學習(10)- 列舉(程式碼完善版)
列舉(Enum)為一組相關的值定義了一個共同的型別,使你能在程式碼中以型別安全的方式使用這些值。 如果你熟悉C語言,會知道在C語言中,列舉會為一組整數值分配相關聯的名稱。而Swift中的列舉更加靈活,不必為每個列舉成員提供一個值。如果給列舉成員提供一個值(稱為原始值),則該值的型別可以是字串、字元、整數或浮點數。
August 25, 2021
Swift學習(9)- 閉包(程式碼完善版)
閉包是自包含的函式程式碼區塊,可以在程式中被傳遞與使用。Swift中的閉包與C、Objective-C中的區塊(blocks)以及 Python 語言中的匿名函式(Lambdas)相當類似。
August 23, 2021