Upload
yi-hsiang-huang
View
650
Download
3
Embed Size (px)
Citation preview
Group Meeting
20090224 賣飛機
Outline
讀書心得 1
讀書心得 2
Short Coding 寫出簡捷好程式
- 短碼達人的心得技法
作者:Ozy 著,yaneurao 監修
譯者:鄧瑋敦、博碩文化
出版社:博碩
Short Coding ???????????????
寫很短的 Code 要幹嘛 … ?
官方答案是 …
我們可以在探討 code 可以縮到多短的情況下
研究資料結構、演算法、執行環境的特性等
我的答案是 …
原來這世界上神經病這麼多 …
程式的一些 side effect 或者
一些關於語言本身的規則真的要好好注意
____________________________________
短碼魂 !!
交代一下背景吧 ~
1.討論的語言是 C(以下的 code 都有在我電腦上跑過)
2. 時間有限所以不討論演算法的部份
3. 不打算介紹走火入魔的 code …
(本書是在某個叫做 POJ 的環境下測試)
PKU Judge Online
先從簡單的開始
輸入兩個數字請輸出其和
#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);
}
其實可以不 includemain 沒 type 也沒差耶 ~
這邊可以宣告變數
不 return 也沒人會咬你
接下來是關於讀取
讀取 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)
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)
main() 的變數宣告
這其實是為寫法但也可以過 …
int main(a){
a = "sailplane";
printf("%s %d\n",a,sizeof(a));
}
結果是 … sailplane 4
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);
}
Quine
按照計算理論 …
存在可以描述自己的程式 …
main(a){
printf(a,34,a="main(a){
printf(a,34,a=%c%s%c,34);}",34);
}
Time Management for System Administrators
作者: Thomas A. Limoncelli
出版社:O’REILLY
時間管理- 給系統管理者
譯者:陳建勳
出版社:學貫
給自己的一封信
Dear 賣飛機:記得備份一下實驗室那台電腦,工作站的也要
備份一下。中華電信那個計畫 meeting 這週要上台,投影片做完之後記得跟威言討論一下。最近體能有點糟糕,去游泳去游泳 ~ 有空的話去看個膝蓋,最近他又不乖了。飯局飯局 !!! 前幾天社團的說要約吃飯別忘記了。還有還有,有空的話想想網站怎樣改善,醜死了 ! 另外就是記得跟笙歌討教幾招,剛毅木訥害羞內向是很吃虧的 ! 要是還有時間的話唸點書,考試一直炸是在炸辛酸還是炸流行的 !
by 賣飛機(我想應該只有這些吧)
大多數的 SA 是 …
特徵 1 :
特徵 2 :
所以 …
頑強的問題解決者 !
樂於助人 ! 以國家興亡為己任 !!!
沒救了
請重新 compile 你的生活
時間管理原則
首要是設置干擾捕手 !
SA 的美麗與哀愁 …
1.我們的問題不同
2.我們的解決方案不同
3.我們缺乏良好的顧問老師
時間管理原則 (cont.)
所以用我們的術語來看看
1.用筆記紀錄時間管理的資訊資料庫
2.腦力留給重要的事情節省記憶體
3.開發例行公事並持之以恆程式碼函式庫的再利用
4.開發習慣與信念寫程式前就先預想結果而非 run time 才驗證
5.保持專心 !除非有 interrupt 不然別受影響
6.以工作管理的方式管理社交生活社交生活並不是一個選項而是必做
讓干擾遠離你
我們是 event-driven 的生物 ~
找出適合自己的工作 pattern !
例行公事
有些事情想到就該做不要浪費時間考慮
什麼事情適合變成例行公事 ???
1. 沒有常規的2. 定期維護3. 人際關係4. 可能會耽擱太久的5. 經常會忘記的6. 低優先權的事情(不能總是被忽略)7. 開發新的技能和持續更新
循環系統
別信賴你的大腦
所以我們該把事情都紀錄在筆記(ㄅㄨㄣˇ)上但是請注意
內容應該要有
1. 可攜性2. 可靠性3. 可管理大量內容
1. 行事曆2. 人生目標清單3. 每日事項
a. 以重要性排序b. 以時間排序
循環系統 (cont.)
但人非聖賢,一個不小心 delay 的話 …
1. 低優先權的移到明天2. 解決掉今天的大部分3. 設法簡化工作4. 修改預估時間5. 用請神符 … 找人協助吧6. 請上司替你安排7. 延遲約會或討論等接下來的活動8. 加班加班加班加班加班加班加班加班加班加班
循環系統 (cont.)
事業和社交生活可以共用一份行事曆
找出屬於你和屬於你所處環境的節奏 !
大腦留著做更重要的事情 !!
學著管理你的上司 ~
壓力管理
休息是為了走更長遠的路
舒壓的方法有很多種
1. 去睡覺吧 !2. 渡假,出去走走3. 瑜伽冥想按摩 <- 作者說的
排除浪費時間的工作
時間就像 xx 擠一擠還是有的
常見的浪費時間的事情有1. 工作表內的垃圾事項
ex. 20:00 看民視八點檔大戲「娘家」2. 電子佈告欄
ex. ptt, ptt23. 太多的 RSS
ex. 癮科技, mobile 01
4. 聊天系統ex. msn
5. 順道拜訪式的 social6. 重複做可以用 tool 取代的事情
自動化
善用工具,不要事事親力親為
以 script 來幫助你完成複雜的工作
多出來的時間
為天地立心,
為生民立命,
為往聖繼絶學,
為萬世開太平。
張載