2008年11月22日 星期六

[Mood]面試終於結束了

面試終於結束了,
接下來就準備考試吧~

2008年11月16日 星期日

[Note]top-down與bottom-up

top-down與bottom-up兩個詞,想必許多人不是太了解其意思,特此說明一下。

顧名思義,top-down是由上至下,而bottom-up由下至上的意思。其實,就我對本行業的理解,top = 目的(objective),bottom = 方法細節(action)。
 
因此,top-down是由目的開始,推到達到目的的方法與其細節。而bottom-up則是由要採取、或是能採取的行動開始思考,最後看這些行動是否能達到目的。
  
  Top-down思考的人會先花很多時間在搞清楚目的與框架上,bottom-up的人則是通常先把要做的事情一個個列出來後,才思考這和原本的目的有什麼關係。
  
  舉例來說,如果要改善一家公司的獲利的話:
  
  1. Top-down思考:從要達到的目的開始思考。先看是否能夠在相同成本下,增加營業額 (grow the top line),或是能在不影響營業額的情況下,降低成本支出。增加營業額,有可能是增加客戶的數量,或是讓每個客戶花更多的錢。降低成本,有可能是利用採購的集中,外包給更低成本的公司生產,或尋找低成本的人力資源等。
  
  2. Bottom-up思考:看手頭上有幾張牌,來看是否能達成目的。譬如最近剛好和一家公司在談策略聯盟,我們可以利用另一家公司的channel與客戶關係,來開拓另一個市場,進而增加營業額。或是,最近大陸中關村剛好給個offer,如果在那裡開軟體公司能給予稅負優惠,進而降低成本。
  
  上述只是一個例子,這兩個思考方式其實沒什麼好不好的問題。Top-down雖然以目標為導向,但是時常落於不切實際,bottom-up比較實在,但是可能有迷失方向的可能。
  
  我本來以為,通常經營者比較需要的是top-down思考的能力,而中間管理層則需要bottom-up思考的能力。然而,後來和一些經營者接觸後,發現也不一定如此。很多優秀的經營者"幹實事",都先從做得到的開始做,再看這些做的事情如何和最終方向聯繫在一起。
  
  之前曾經提到過,麥肯錫(McKinsey)與波士頓(BCG)兩家公司的做事方式不太相同。麥肯錫是完全的top-down思考的公司,BCG比較top-down與bottom-up並重。
  
  同樣要解決市場份額下降的問題,兩家公司的做法可能會如下:
  
  1. 麥肯錫:先花一些時間把議題樹(Issue tree)劃出來
  
  市場份額是否有提升的空間?
  -- 以地域來分,市場份額是否在大城市有提升的空間?中小城市呢?
  -- 以產品檔次來分,低檔次的產品市場份額是否有提升空間?中高檔次呢?
  -- 以渠道來分,百貨店的市場份額是否有提升空間?小型零售店呢?還是有其他新的渠道可開發?
  ...等等
  
  2. BCG:先決定要做哪些市場調研,如面對面訪談、電話訪談、店舖查詢、焦點座談等。收集資料後,在看各個市場劃分的表現。
  
  所以,這兩家公司的顧問,所受到的訓練也不太一樣。麥肯錫顧問思考框架的能力特別優秀,而BCG的顧問很能夠從一大堆數據之中,挖掘出insight出來。

来源及版权所属:http://tw.myblog.yahoo.com/no-nationality/article?mid=6&prev=7&next=5

2008年11月10日 星期一

[Java]如何讓JTextArea內容總顯示最後一筆[已解決]


public void myChange(String change) {
String tmp = jTextArea1.getText();
tmp = tmp.concat(change + "\n\r");
jTextArea1.setText(tmp);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());
}
});
}

2008年11月9日 星期日

[Java]An Efficient Stream Copier


public class StreamCopier {

public static void main(String[] args) {
try {
copy(System.in, System.out);
} catch (IOException e) {
System.out.println(e);
}

}

public static void copy(InputStream in, OutputStream out) throws IOException {

/*複製過程中,不允許其他執行緒讀取輸入串流或寫入輸出串流*/
synchronized (in) {
synchronized (out) {
byte[] buffer = new byte[256];
while (true) {
int bytesRead = in.read(buffer);
if (bytesRead == -1) {
break;
}
out.write(buffer, 0, bytesRead);
}
}
}
}
}

2008年11月8日 星期六

[Mood]今天在圖書館看了一本書

今天在圖書館看了一本書,是"Java語言入門的學習繪本"(作者:ANK/柯志杰)
裡頭有蠻基礎的Java相關圖解,包括一些"保留字"的運用等
內容篇幅不多,但是解釋得很清楚,
對初學者來說真的是一本好書,看完之後讓我對之前一些模糊沒搞懂的部分都有了一些了解和概念,如果你是Java的初學者,我覺得這本書還真的不錯,推薦喔~

2008年11月7日 星期五

[Plugin] Firefox Plugin

前幾天想到說想自己寫一個內嵌於網頁的plugin,
希望可以和自己的專題結合...
今天在javaworld.tw看到一些相關的問題,
版主們提到可以對firefox的plugin下手。
於是,我就用Google輸入firefox plugin 寫
就找到一堆,

撰寫 firefox plugin 最簡單方法:
http://mqjing.blogspot.com/2008/09/plugin-firefox-plugin.html

Firefox Plugin 統整part1:
http://hung.pixnet.net/blog/post/14807619

[Fun]又發現好玩的東西






好好玩喔~
http://www.wordle.net/

[Mood]我愛總圖

最近從圖書館借了一堆書,雖然明知道應該不會看完,
但是就是這樣就借了回來><
是自己的求知慾越來越大了嗎?
還是這是一種病態,管它的...就這樣吧

2008年11月5日 星期三

[Skill] 一些麻煩的官方解釋


演算法
algorithm:
是指完成一個任務所需要的具體步驟和方法的描述。
不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。如果一個演算法有缺陷,或不適合於這個問題,執行這個演算法將不會解決問題。 一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。時間複雜度是指完成該演算法所需要的時間,空間複雜度是指完成該演算法所需要占用的空間(記憶體大小)。

資料結構 data Structure:
是計算機中存儲、組織數據的方式。

计算机组织 Computer Organization:
計算機運算器、存儲器、控制器、輸入設備和輸出設備等主要功能部件的相互連接和相互作用,借以實現機器指令級的各種功能和特性。

基於內容的圖像檢索Content-based image retrieval:
基於內容的圖像檢索,屬於圖像分析的一個研究領域。它的英文術語叫做CBIR,Content-based image retrieval,或叫content-based visual information retrieval。基於內容的圖像檢索目的是在給定查詢圖像的前提下,依據內容信息或指定查詢標準,在圖像數據庫中搜索並查找出符合查詢條件的相應圖片。

2008年11月2日 星期日

2008年11月1日 星期六

[Fun] Just Fun (Photo)





by http://www.photofunia.com/