Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NTU NewsLab Group Meeting 2

NTU NewsLab Group Meeting 2

845fae80ed8b704a88b32500b3db4c53?s=128

Sam Huang (sailplaneTW)

August 31, 2020
Tweet

More Decks by Sam Huang (sailplaneTW)

Other Decks in Education

Transcript

  1. Group Meeting 20090224 賣飛機

  2. Outline 讀書心得 1 讀書心得 2

  3. None
  4. Short Coding 寫出簡捷好程式 - 短碼達人的心得技法 作者:Ozy 著,yaneurao 監修 譯者:鄧瑋敦、博碩文化 出版社:博碩

  5. Short Coding ??????????????? 寫很短的 Code 要幹嘛 … ? 因為 爽

    啊 !!! 官方答案是 … 我們可以在探討 code 可以縮到多短的情況 下 研究資料結構、演算法、執行環境的特性等 我的答案是 … 原來這世界上神經病這麼多 … 程式的一些 side effect 或者 一些關於語言本身的規則真的要好好注意 ____________________________________ _________________ 短碼魂 !!
  6. 交代一下背景吧 ~ 1. 討論的語言是 C (以下的 code 都有在我電腦上跑過) 2. 時間有限所以不討論演算法的部份

    3. 不打算介紹走火入魔的 code … (本書是在某個叫做 POJ 的環境下測試) PKU Judge Online
  7. 先從簡單的開始 輸入兩個數字請輸出其和 #include <stdio.h> int main(){ int a, b; scanf("%d%d",&a,&b);

    printf("%d",a+b); return 0; } main(a,b){ scanf("%d%d",&a,&b); printf("%d",a+b); } 其實可以不 include main 沒 type 也沒差耶 ~ 這邊可以宣告變數 不 return 也沒人會咬你
  8. 接下來是關於讀取 讀取 12 個數字並算平均 #include <stdio.h> float a, b=0; int

    main(){ for(;scanf("%f",&a)!=EOF){ b+=a; } printf("%f",b/12); return 0; } float a, b; main(){ for(;scanf("%f" ,&a)!=-1;) b+=a; printf(“%f“,b/12); } 初始值會是 0 EOF 就是 -1 所以 … 這樣寫應該也對囉 scanf("%f" ,&a)+1 其實也可以這樣 ~scanf("%f",&a)
  9. bitbitbitbitbit … 猜猜猜猜猜 … ~k -> -~k -> ~-~k ->

    -~k/n -> ~-k/n -> ~k*~-~k -> -(k+1) (k+1) -(k+2) (k+1)/n (k-1)/n (k+1)(k+2)
  10. main() 的變數宣告 這其實是為寫法但也可以過 … int main(a){ a = "sailplane"; printf("%s

    %d\n",a,sizeof(a)); } 結果是 … sailplane 4 但是這種寫法隨時可能會掛點 !
  11. main 的遞迴 來算個最大公因數吧 ! #include <stdio.h> int gcd(int a, int

    b){ if(b==0) return a; else return gcd(b,a%b); } int main(){ int a, b; scanf("%d%d",&a,&b); printf("%d\n",gcd(a,b)); return 0; } c; main(a,b){ c++?:scanf("%d%d",&a,&b); b?main(b,a%b):printf("%d\n",a); }
  12. Quine 按照計算理論 … 存在可以描述自己的程式 … main(a){ printf(a,34,a="main(a){ printf(a,34,a=%c%s%c,34);}",34); }

  13. None
  14. Time Management for System Administrators 作者: Thomas A. Limoncelli 出版社:O’REILLY

  15. 時間管理 - 給系統管理者 譯者:陳建勳 出版社:學貫

  16. 給自己的一封信 Dear 賣飛機: 記得備份一下實驗室那台電腦,工作站的也要備 份一下。中華電信那個計畫 meeting 這週要上台,投 影片做完之後記得跟威言討論一下。最近體能有點 糟糕,去游泳去游泳 ~

    有空的話去看個膝蓋,最近他 又不乖了。飯局飯局 !!! 前幾天社團的說要約吃飯別 忘記了。還有還有,有空的話想想網站怎樣改善,醜 死了 ! 另外就是記得跟笙歌討教幾招,剛毅木訥害羞 內向是很吃虧的 ! 要是還有時間的話唸點書,考試一 直炸是在炸辛酸還是炸流行的 ! by 賣飛機(我想應該只有這些吧) 喵的 ! 因為 MEOS 兩週才咪一次 都忘記做進度了啦 !! O_________Q
  17. 大多數的 SA 是 … 特徵 1 : 特徵 2 :

    所以 … 頑強的問題解決者 ! 樂於助人 ! 以國家興亡為己任 !!! 沒救了 請重新 compile 你的生活
  18. 時間管理原則 首要是設置干擾捕手 ! SA 的美麗與哀愁 … 1. 我們的問題不同 2.我們的解決方案不同 3.我們缺乏良好的顧問老師

  19. 時間管理原則 (cont.) 所以用我們的術語來看看 1.用筆記紀錄時間管理的資訊 資料庫 2.腦力留給重要的事情 節省記憶體 3.開發例行公事並持之以恆 程式碼函式庫的再利用 4.開發習慣與信念

    寫程式前就先預想結果而非 run time 才驗證 5.保持專心 ! 除非有 interrupt 不然別受影響 6.以工作管理的方式管理社交生活 社交生活並不是一個選項而是必做
  20. 讓干擾遠離你 我們是 event-driven 的生物 ~ 找出適合自己的工作 pattern !

  21. 例行公事 有些事情想到就該做不要浪費時間考慮 什麼事情適合變成例行公事 ??? 1. 沒有常規的 2. 定期維護 3. 人際關係

    4. 可能會耽擱太久的 5. 經常會忘記的 6. 低優先權的事情(不能總是被忽略) 7. 開發新的技能和持續更新
  22. 循環系統 別信賴你的大腦 所以我們該把事情都紀錄在筆記(ㄅㄨㄣˇ)上 但是請注意 內容應該要有 1. 可攜性 2. 可靠性 3.

    可管理大量內容 1. 行事曆 2. 人生目標清單 3. 每日事項 a. 以重要性排序 b. 以時間排序
  23. 循環系統 (cont.) 但人非聖賢,一個不小心 delay 的話 … 1. 低優先權的移到明天 2. 解決掉今天的大部分

    3. 設法簡化工作 4. 修改預估時間 5. 用請神符 … 找人協助吧 6. 請上司替你安排 7. 延遲約會或討論等接下來的活動 8. 加班加班加班加班加班加班加班加班加班加班
  24. 循環系統 (cont.) 事業和社交生活可以共用一份行事曆 找出屬於你和屬於你所處環境的節奏 ! 大腦留著做更重要的事情 !! 學著管理你的上司 ~

  25. 壓力管理 休息是為了走更長遠的路 舒壓的方法有很多種    1. 去睡覺吧 ! 2. 渡假,出去走走 3.

    瑜伽冥想按摩 <- 作者說的
  26. 排除浪費時間的工作 時間就像 xx 擠一擠還是有的 常見的浪費時間的事情有 1. 工作表內的垃圾事項 ex. 20:00 看民視八點檔大戲「娘家」

    2. 電子佈告欄 ex. ptt, ptt2 3. 太多的 RSS ex. 癮科技, mobile 01 4. 聊天系統 ex. msn 5. 順道拜訪式的 social 6. 重複做可以用 tool 取代的事情
  27. 自動化 善用工具,不要事事親力親為 以 script 來幫助你完成複雜的工作

  28. 多出來的時間 為天地立心, 為生民立命, 為往聖繼絶學, 為萬世開太平。 張載