2015年2月27日 星期五

vim (or emacs) 的 javascript 實現

https://github.com/coolwanglu/vim.js

vim 對比於 emacs 而言,優點是開放了用 C 來寫插件,但當要使用 javascript 來實作時,這就變成了罩門,因為對 emacs 來說,它只要寫個 elisp 的解譯器就好了。

但是…看看 https://news.ycombinator.com/item?id=8328206

所以是emacs做得到,但是不想做啊XDDD

lisp 的 javascript 解譯器,2010年曾經有人實作過,在 github 上有以下兩位的作品

https://github.com/devijvers/lisp.js

https://github.com/willurd/js-lisp

我相信結合 node.js (類似作品如 http://amokjs.com/ )可以寫出不錯的 emacs.js 實現

2015年2月22日 星期日

python 多版本、多環境共存

我覺得還是得要用 docker 來解決,不過此解目前暫時是 linux 限定,windows 無法

什麼是 docker?

用 docker 執行 python

以下這些我沒時間試,看起來滿有說服力的

Python 開發好幫手 – virtualenv

Virtualenv 簡單入門

Python 的虛擬環境及多版本開發利器─Virtualenv 與 Pythonbrew

真是天殺的麻煩的可以…參考 http://zengrong.net/post/2167.htm

完全不能 WORK!!

pip install virtualenvwrapper-win

然後設定 WORKON_HOME 環境變數為 %USERPROFILE%\Envs,參考 http://stackoverflow.com/questions/20979474/how-can-i-set-environment-variable-workon-home-for-virtualenvwrapper-win

新增一個目錄,在 %USERPROFILE%\Envs

使用方法參考 https://www.pythonanywhere.com/wiki/VirtualEnvForNewerDjango

20151212更新:

請參考 https://hocpython.hackpad.com/Hour-of-Code-Python--oQL8j5m00dp

簡單來說就是使用 conda 來解決python 多版本、多環境共存

終於成功安裝了 jupyter 了(轉圈)

2015年2月3日 星期二

jsfiddle / jsbin / codepen 豆幾?

參考此文 http://voidcanvas.com/jsbin-jsfiddle-or-codepen-which-one-to-use-and-why/

簡單來說:

  1. jsbin: 簡單,快速demo時;但原始碼會被改變
  2. jsfiddle: 協作,產生 ajax 測試時;但有點慢
  3. codepen: 快速預覽;但可能要錢

2015年2月1日 星期日

如何學習一個(新的)程式語言?


這是 intermediate perl 第一章中的一段話,因為說得太好了,所以要(用我的版本)再說一遍:

  1. 如何安裝、執行?
  2. 資料結構--用符號來表達問題的已知與未知
  3. 演算法--求解問題
  4. 模組化--切割問題
  5. 語言的特色--像PERL就是RE和LIST及CPAN
  6. 物件導向--在PERL中是間接以reference來達成
  7. 常用操作--如IO、API

一樣的步驟,拿來學 PYTHON 或 RUBY 都是很不錯的