2015年7月18日 星期六

ubuntu下對應到ultraedit的find in files的指令

http://edsionte.com/techblog/archives/3164

以前只會一招,就是用find搭配grep xargs,但是語法不好記,指令又長

這篇介紹的 grep -R -w -n "關鍵字" "目錄",非常好用

現在我幾乎找不到任何原因在 windows 下寫程式了…

2015年7月17日 星期五

heatmap究竟能畫得多複雜?


heatmap 的語法可參考

http://bioconductor.org/packages/devel/bioc/vignettes/ComplexHeatmap/inst/doc/ComplexHeatmap.html

提到的"微博"(大陸的山寨版tweet)有以下幾個

http://www.weibo.com/fly51fly

http://www.weibo.com/haoawesome

https://github.com/PuddingNnn/Rweibo/blob/master/topic/topicmodel.R
組織學、胚胎學可以利用大量的基因序列來做分析

http://www.slideshare.net/jvhemert/escience-research

2015年7月14日 星期二

R的語法之"快快樂樂學"(喵的該不會真有這本書吧XD)

http://joe11051105.gitbooks.io/r_basic/content/variable_and_data/vector.html

我最欣賞這段講下標的部分


所以從 perl 的角度來看,它既是 array 又是 hash 囉?!

2015年7月11日 星期六

在ubuntu上用R進行中文 Text Mining


  1. 先備知識:R语言环境下的文本挖掘 , R之文本挖掘 , 数据科学18:文本挖掘1 。嚴格來說這幾篇都是翻譯自 tm 模組作者的這篇文章: Introduction to the tm Package Text Mining in R
  2. 範例: https://github.com/JohnsonHsieh/ecfa/blob/master/myText2.R ,是一個完整的專案
  3. 上述github專案主要參考這篇文章 ;基本上文章寫成至今已經兩年多了,ptt的一些網頁協定(https)可能有改(推測在2014年的4月到8月間,如 "www.ptt.cc/bbs/StupidClown/index" 改成 "https://www.ptt.cc/bbs/StupidClown/index") , 因此抓取文章的部分建議參考以下所列的網頁
  4. https://www.snip2code.com/Snippet/143970/-anted-Sna ,特色在於未使用 rwordseg ,單純看推文者和作者間的關係
  5. https://github.com/agilearning/RPTT/blob/master/R/RPTT.R ,有三個函數可供使用,以抓取索引頁、文章連結、文章內容 ; 同作者另起了新的專案,附上函數的使用範例,可參考 https://github.com/agilearning/RTextMining
  6. 其它潛在應用可參考 rfacebook ,可以抓 FB 上的文章

英文 text mining 資源


https://cran.r-project.org/web/views/NaturalLanguageProcessing.html

http://www.rdatamining.com/examples/text-mining

http://faculty.chicagobooth.edu/matt.taddy/teaching/text.R

與 perl 的協作


http://search.cpan.org/~davor/Statistics-R-IO-0.101/lib/Statistics/R/IO.pm

http://search.cpan.org/dist/Statistics-RserveClient-0.12/lib/Statistics/RserveClient.pm

http://search.cpan.org/~fangly/Statistics-R-0.33/lib/Statistics/R.pm

計算語言學


http://www.amazon.com/Roger-Bilisoly/e/B001JSCDN4/ref=ntt_dp_epwbk_0

http://lopen.linguistics.ntu.edu.tw/PTT/

這個網站很有趣,是台大語言所架設的,包含了2014年起收集的 ptt 語料,中文斷字詞的線上查詢。

其它服務還有:前後綴、相關字、情緒判別, api 要註冊才能用來下載 ptt 文章(還好目前看來是免費的), wordcloud 目前提供 gossiping / hate 兩個版的輸出。看來用的是中研院的斷詞,搭配自建字庫不是經常更新的樣子。


2015年7月10日 星期五

在ubuntu 14.04上安裝 R & RStudio

第一步要安裝 R ,參考 http://taiwanrusergroup.github.io/DSC2014Tutorial/ 輸入以下指令

sudo sh -c 'echo "deb http://cran.csie.ntu.edu.tw/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
sudo apt-get update && sudo apt-get install -y r-base libcurl4-openssl-dev libxml2-dev espeak

標紅色的指令應是網頁上筆誤,要加一下

第二步要安裝 RStudio , 到以下網頁抓合用的下來,我抓的是 RStudio 0.99.464 - Ubuntu 12.04+/Debian 8+ (64-bit)

https://www.rstudio.com/products/rstudio/download/

http://www.cc.ntu.edu.tw/chinese/epaper/0030/20140920_3006.html 快速上手,花個幾分鐘看看

http://taiwanrusergroup.github.io/DSC2014Tutorial/ 另有不少教學資源,我相信是目前為止最好的網頁,有空的話我也想好好看看~

以下為非必要步驟,想玩玩 text mining 文字探勘的話可以試試…

第三步裝 jdk (不要裝oracle的哦,否則…), 參考 http://linuxpilot.com/ubuntu-java 輸入:

sudo apt-get install default-jdk

第四步,"用R進行中文 text Mining"

按他介紹的步驟玩玩,但請先詳讀以下附註。

PS.
1. DSC2014網頁中提到"如果是其他版本的使用者,請修改上述 trusty 的部份。"這對ubuntu 的初學者來說還滿容易發生問題,參考以下連結以了解版本號對應的命名(就像是iOS 的 snow leopard,你懂的)

https://wiki.ubuntu.com/Releases

2. /usr/lib/R/etc/javaconf 這個檔案,在安裝R時寫入了預設值 JAVA_HOME ,如果日後安裝了新的 java 版本,這個值是不會自動更新的。怎麼處理?你懂的~

3. 安裝 rJava 時發生任何問題,請參考 http://stackoverflow.com/questions/12872699/error-unable-to-load-installed-packages-just-now ; 反正我現在都是執行 sudo R CMD javareconf && rstudio &

4. 安裝 rwordseg 時,如果在非 windows 平台上會有問題。上述網頁的作者應該是使用 windows 的環境,壓縮檔是 zip 格式, rstudio 預設解壓要的是 .tar.gz ,所以無法自動安裝。解決方式就是把 zip 檔抓回來,解壓後再壓成 .tar.gz ,然後用 rstudio 的選單 Tools -> Install Packages... 手動安裝; twcn 的安裝也有類似問題,也是抓 zip 檔安裝就解決了

2015年7月6日 星期一

在heroku的app中整合FB或google帳號

首先要先了解heroku新增app的整個流程

再來要了解FB新建app認證的流程,強烈建議參考以下教學:

建置一個支援google、Facebook帳號可登錄的MVC5應用程式

有一步"Valid OAuth redirect URIs"是最重要的,這最後我們再談,詳細說明在官方網頁:

Lock Down Your Facebook App Settings

以現成的登入套件為例:

https://github.com/jaredhanson/passport-facebook

把它的登入範例抓下來,之後有三個檔案要新增/修改:

(參考 Hosting a Node app on Heroku , How to Deploy a Node.js App to Heroku )
  1. 新增檔案Procfile,告訴 heroku 如何啟動,內容就一行:web: node web.js
  2. 本地端環境設定,新增檔案.env,告訴 heroku 要開那個port,內容就一行:PORT=80。遠端環境設定,命令列下執行 heroku config:set PORT=80
  3. 改 app.js 中的對應內容,callbackURL 中的主機要改成app的網址,FACEBOOK_APP_ID / FACEBOOK_APP_SECRET 要改成FB給你的值;最重要的是,app.listen 那行要改成 app.listen(process.env.PORT); 沒改的話 APP 啟動都會逾時

這樣就成功了嗎?不,登入鍵按下後會出現以下錯誤訊息:

應用程式的設定不接受這個網址。: 應用程式的設定不接受所提供之一或多個網址。網址必須符合網站網址或畫布(Canvas)應用程式網址;或者,網域必須是應用程式網域的子網域之一
這就是魔鬼中的細節啦,請把 app.js 中的 callbackURL 回填到FB的"Valid OAuth redirect URIs" 並儲存,之後就OK了



2015年7月2日 星期四

javascript框架回顧:Backbone – React & Angular – Ember – Meteor

http://www.chriskrycho.com/2015/unsurprisingly-in-flux.html

這篇文章中作者的好惡非常明顯,目前的情況他最推薦的是 Ember

https://help.optimizely.com/hc/en-us/articles/203326524-AngularJS-Backbone-js-React-and-Single-Page-Applications

從SPA(single page application)的角度所做的評析,目前流行部分更新網頁以加快速度