Latest

筆記 - 研究生完全求生手冊:方法、秘訣、潛規則 (彭明輝 著) (2024.10.05 更新)

在網路上也有拜讀過彭明輝老師關於研究生技巧的一些文章,後來在家裡發現原來已有該書可讀,於是開始找到比較直觀重要可用的部分並做了網路筆記。 研究生完全求生手冊:方法、秘訣、潛規則 (彭明輝 著) (2022年3月初版第十五刷) 不過現在AI工具發達,像是 OpenAI 的 ChatGPT、Google 的 Gemini、Saikiran Chandha 開發的 Typeset.io 等等都是現在讀論文可以使用到的的工具 (我就會使用到其中一些)。本書目前沒看到這部分的描述~ - - - 筆記開始 - - - 第六章:告別大學時代-期刊論文的閱讀技巧 「自修能力的養成,就是教育的終點」-一位著名的教育家曾說。 理工學院和其他計量學科的論文有頁數限制:short papers 通常不超過三頁;regular papers 通常不超過六頁,因此可能太精簡不好讀 論文是寫給圈內專家讀的,因此不像一般書本那樣有清楚說明的知識自足 (self-contained),所以有另外的方法讀。 策略與要領: 以「問題為中心」,不是以一篇論文為中心,而是去讀一次讀懂整批文件 讀的目的為尋找創新與突破 尚未決定題目前,只需掌握全局概況、各研究子題之相互關聯-「見林不見樹」 閱讀期刊論文方法: (1) 拿到一篇論文,先粗略瀏覽,研判自己欠缺的背景知識、那些知識所屬的學術分支、背後的各種相關文獻與書籍。 (2) 再這些文獻與書籍中找出與該論文密切相關的章節、頁次、段落,跳過不相關部分。 (3) 將這些材料做閱讀次序上由淺到深的安排,以最省、省力的方式去掌握。 (4) 補完背景知識,再來讀原本的那篇論文。 螺旋式讀法: (1) 先讀一次論文,只讀論文題目、摘要、引言,再根據關鍵字去網頁或維基百科上讀。 (2) 再讀一次,之後找更深的網頁、專文、易讀的教科書。 (3) 第三次,找出與該論文密切相關材料 (章節、頁次、段落...) 來做閱讀 (讀懂度:10%)。 (4) 第四次,把參考文獻都拿來大致瀏覽 (讀懂度:30 ~ 40%)。 (5) 第五次 (讀懂度:80%),大概已精確了解到自己不懂的部分,再去補齊 (可能自己可以分析、理解、推理) 。 第一次讀論文時的問題及回答需要聚焦: (1) 這篇論文想解決什麼問題?最適合描述這問題的術語? (2) 學術界如何稱呼該論文所使用的方法? (3) 前述的...

對於「The Stack Is An Implementation Detail」系列文章之筆記

The Stack Is An Implementation Detail系列文由Eric Lippert所寫
Eric Lippert曾經在微軟工作,部落格為Fabulous adventures in coding

- - - 第一篇的筆記 - - -


第一篇之前看完了但沒做筆記
也許等重看時再補上


- - - 第二篇的筆記 - - -



allocation 分配
deallocation 釋放

heap有holes

formal parameter或parameter像是下面舉例的Test函式中的的x:
void Test(int x)
{
    ...
}

呼叫函式時的x則稱作argument:
Test(x)


文章中寫了garbage collection (GC)的運作:
"When a garbage collection is performed there are three phases: mark, sweep and compact. In the “mark” phase, we assume that everything in the heap is “dead”. The CLR knows what objects were “guaranteed alive” when the collection started, so those guys are marked as alive. Everything they refer to is marked as alive, and so on, until the transitive closure of live objects are all marked. In the “sweep” phase, all the dead objects are turned into holes. In the “compact” phase, the block is reorganized so that it is one contiguous block of live memory, free of holes."

簡單來說就是GC有三個階段:mark、sweep、compact




CLR collector是世代相傳的
放在heap裡的object的生命週期有:長、中、短之分
從短週期的開始,如果存活下來就移動到中週期的,再來則到長週期的
GC時常在短週期的heap裡執行;長週期的則相反
他們這麼做的想法是不想花費時間檢查長週期的,此外得迅速回收短週期的

留言

這個網誌中的熱門文章

公司職務 × 英文縮寫 × 中文對照 (2024.11.30 更新)

健康檢查

【Unity】TextMesh Pro 顯示中文