Twitter 的推文其實可以提供很大的價值,我們可以透過分析 Twitter 的推文來了解預測趨勢,指標。就像在 Google I/O 2014 用過它來分析進球跟球迷的心情關係,也有電影公司用 trailer 的分享數加上文章的內容來預測票房收入。

那今天我們會介紹 Twitter 的 Stream API 配合一個 Java Library "Twitter4j" 就可以讓我們很簡單來使用這座資料金礦。

第一步,先要取得權限來使用 Twitter 的資料。但別擔心只要你有 Twitter 帳號就可以了, 先在這連結 https://apps.twitter.com/ 建立一個新的 Twitter App 。 他會要輸入 Name, Description, URL 隨便打就好了 。

成功後我們可以來到控制面板的 Keys and Access Tokens ,建立一個 Access Token 。然後抄下四樣東西 Consumer Key, Consumer Secret, Access Token, Access Token Secret 就可以開始開發了。

以下的教學會使用 Maven 和 IntelliJ IDEA。如果你們是用其他像是 Eclipse 有不懂可以再留言問吧

1. 接 New Project > Maven > 輪入資料 > 選擇儲存位置,來建立一個新專案

2. 成功後應該會有以下的東西










3. 修改 pom.xml 加入以下 Dependency (就是要用到的 Library 啦 )
 <dependencies>

        <dependency>
            <groupId>org.twitter4j</groupId>
            <artifactId>twitter4j-core</artifactId>
            <version>4.0.2</version>
        </dependency>

        <dependency>
            <groupId>org.twitter4j</groupId>
            <artifactId>twitter4j-stream</artifactId>
            <version>4.0.2</version>
        </dependency>

    </dependencies>
4. 開個普通的 Java Class, 然後看 Source code 吧 ˊ_>ˋ




























5. 當你興奮的去跑他的時候 ⋯⋯ 你是不會成功的 java.lang.IllegalStateException: Authentication credentials are missing. 科科。因為還沒在提供剛才抄下的 Twitter 認證啦

6. 在 src/main/resources 建立一個新檔案名為 twitter4j.properties 以下面的格式填寫
debug=true
oauth.consumerKey=xxx
oauth.consumerSecret=xxx
oauth.accessToken=xxx
oauth.accessTokenSecret=xxx
把 xxx 換成對應的資料

7. 現在己經可以順便取到 Twitter 的 Stream 了囉

















完,謝謝大家家收看。

前陣子去一個 Google 舉辦的 Event 一直沒空打出來, 最開心的是參加的人都可以領到價值 
USD$500 的優惠卷讓人去體驗 Google Cloud Platform.



我有點遲到的關係所以就沒有拍什麼照了 QQ


這個 Event 主要是介紹 Google Cloud Platform 這年有什麼變化, 它有什麼優點之類的. ( 推坑 ?! )

介紹由以下 2位 Speakers 主持


然後是那天的 Agenda


詳細內容就不多說, 有興趣就另外問我吧 XD. 以下是一些那天的重點
  • Google 會按時減價, 而且 VM 時數用得愈多價錢愈便宜 !!
  • 除了 APP ENGINE 和 COMPUTE ENGINE, 現在還會有混合的模式用起來更彈性
  • 有版本控制功能, 還可以讓你立馬知道不同版本有沒有效能提昇
  • 和 Android Studio 有做整合, 開發APP 時可以直接用Plugins 幫你建立 Restful based 的 API 讀寫
  • BigQuery 有強大性能,  據說 3PB 的 Data 只需要 30秒來 Query.
  • 對比 EC2 可以用更少的 VM 達到相同性能
  • 可以按流量自動增加負載平衡的 VM Node
  • ( 有記得再補 )








這篇會跟大家介紹如何自己建設一個類似類似 Google Drive, Dropbox 的伺服器。(自己硬碟比較便宜不安全就是了 XD)
這個是因為前陣子整理 File Server,翻東西真的好麻煩就在找Solution。找到 Seafile、ownCloud、SparkleShare 這些,但感覺上 Seafile 比較全面就試試了。
今天突然被朋友覺得crab很好用,因為有 Excel 問題幾乎都可以大小包辦。他的問題是:在 Excel 中有兩個欄位(在此例中為 B、F 欄),因為兩個欄位的資料數量也不一樣,有沒有函數可以比較且挑出在另一欄沒有的值 (在 B 欄挑出 F 欄沒有的值;或者在 F 欄挑出 B 欄沒有的值)



2014年5月24號 下午 4 點 36分 21 秒, 我在家門口發現了一個盒子 寫著 htc one (m8)


( 因為有人說本來的那篇寫好懶, 所以砍掉重寫 )

Redmine 


今天要跟大家介紹的是 Redmine, 它是一款基於 Ruby on Rails 的 open source web-based project management tools 和 issues tracking system. 

那我們可以用Redmine 可以做什麼呢, 可以先看看這個官方的列表
  • Multiple projects support 同時管理多個專案
  • Flexible role based access control 不同角色的權限控制
  • Flexible issue tracking system 管理案子的問題
  • Gantt chart and calendar 看時間條, 案子進度 和 行事曆
  • News, documents & files management 管理案子內的文件, 檔案, etc...
  • Feeds & email notifications 半夜的追魂 bug fix 要求  RSS, Email 要求
  • Per Project Wiki 每個案子可以有自己的 Wiki 寫寫東西
  • Per Project forums 每個案子可以有自己的討論區
  • Time tracking 耗時追蹤
  • Custome fields for issues, time-entries, project and users 自訂一些欄位 我好像沒用到 x1
  • SCM integration (SVN, CVS, Git, etc...) 整合Source code 的版本控制系統
  • Issue creation via email 我好像沒用到 x2
  • Multiple LDAP authentication support 整合公司的 LDAP 做用戶管理
  • User self-registration support 給客人, 其他人申請帳戶來罵你問問題
  • Multiple language support 多國語言
  • Multiple database support 我好像沒用到 x3

Issue tracking system

其實我主要在用的是這一塊, 一般來說 新加的功能, 舊功能修改, Bug, 客戶的無理要求 都可以統稱 issue.

然後在 Redmine 我們大概會看到每個 issue 的
  • 主題 
  • 內容
  • 狀態 ( 新建, 已有人鳥, 已解決, 已回應, 已完成, 沒人鳥 , etc)
  • 優先權 ( 晚點也OK , 正常, 重要, 做不完不準走, 再不做會死人, etc )
  • 什麼時候發生
  • 希望什麼人去做
  • 最後是誰在做
  • 有那個 BOSS 在偷偷的看進度
  • 耗時
  • 附加檔案
有了這列表, 大家都可以很透明的知道整個案子的進度. 今天的我該先做什麼之類的.


Project Management Tools

在一開始我說了 Redmine 不單單是一個 issue tracking system, 因為他還提供好多不同的功能幫助 PM 們去控制他的案子. 當一個案子有相當規劃的時候如果只是用 email 和 excel 之類來溝通和記錄進度. PM 會很難去透明的看到整個進度, 在 PM 來說 Redmine 可以幫他達到
  • 離deadline前還有多少事情要完成, 有多少時間/資源可以用
  • 看到每個issue的進度, 和更新記錄, 耗時
  • 一個整合地方放置所有相關資料 ( Wiki )
  • 排好不同 issue 執行順序, 減少因為 dependency 而耗用的時間.
  • 定立一些 milestone, 安排不同階段要有什麼功能出來
  • 追蹤下自己的隊員在做什麼事, 目前狀態
( 因為小弟還不是 PM, 暫時只想到這些有看到再補充 )



傳送門 : http://alexnisnevich.github.io/untrusted/

這個遊戲你要 用 上, 下, 左, 右 控制 @ 過不同的關卡, 過程中會有不同的難題 要你要右手邊的 Console 去修改 Javascript 來完成.



腦袋閉塞時, 用來打發時間還不錯的 ~