Tag Archives: nodejs

在 CloudFront 的 edge 上跑 Lambda

所以 Amazon CloudFront 讓使用者在 edge 上跑程式了 (雖然目前是 limited preview):「Lambda@Edge – Preview」。 分成 Viewer Request、Origin Request、Origin Response 以及 Viewer Response 四個階段可以插入修改。另外有些限制: Because your JavaScript code will be part of the request/response path, it must be lean, mean, and self-contained. It cannot … Continue reading

Posted in AWS, CDN, Cloud, Computer, Murmuring, Network, Programming, WWW | Tagged , , , , , , , , , , | Leave a comment

在 Python 的 pip、Nodejs 的 npm、Ruby 的 RubyGems 上面放木馬研究?

在 Python 領域裡常用 pip 安裝軟體: $ pip install reqeusts 或是: $ sudo pip install reqeusts 其他的平台也大致類似於這樣的動作。而在「Typosquatting programming language package managers」這篇文章裡,作者用 typo 之類的方式列出可能的名稱,像是這樣的名稱: $ sudo pip install reqeusts 然後在這三個平台上發動攻擊,上傳了數百個套件並且觀察: All in all, I created over 200 such packages and equipped them … Continue reading

Posted in Computer, Murmuring, Network, Programming, Security, Software | Tagged , , , , , , , , , , , , , | Leave a comment

AWS Lambda 支援 Node.js 4.3

AWS 宣佈 Lambda 支援 Node.js 4.3:「AWS Lambda Supports Node.js 4.3」: You can now develop your AWS Lambda functions using Node.js 4.3.2 in addition to Node.js 0.10.4. 另外同步在「Node.js 4.3.2 Runtime Now Available on Lambda」這邊也有文章介紹。 這樣總算可以拿出新的套件以及語法了...

Posted in AWS, Cloud, Computer, Murmuring, Network, Programming | Tagged , , , , , , , , , , , | Leave a comment

用 BitTorrent DHT 分散架構的 Twitter

看到「Decentralized feeds using BitTorrent's DHT. Idea from Arvid and The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html」這個東西,基於 BitTorrent 的 DHT 所開發出來,完全分散架構的 Twitter-like 系統。 目前的 client 界面長這樣: 也可以顯示外部圖片: 如同作者說的,BitTorrent 的 DHT 的抵抗力很好。的確是因為種種原因,有不少單位常常攻擊他,希望他掛掉或是不穩,而這麼多年下來,由於一開始的設計上就有考慮到這樣的攻擊,實戰也存活得很好: BitTorrent's DHT is probably one of the most resilient and censorship-resistant networks … Continue reading

Posted in Computer, Murmuring, Network, P2P, Social, Software | Tagged , , , , , , , | Leave a comment

減少「註解長度」增加 Node.js 效率...

在「#NodeJS : A quick optimization advice」這邊看到這樣的效能改善方法... 兩段程式碼,只差在註解: 效能差了 50%: 只是因為註解的長度有差,只要用 --max-inlined-source-size 調整就可以避開了: 超苦超無奈: So when you have a function or callback that’ll be called repeatedly, try to make it under 600 characters (or your tweaked value), you’ll have a quick … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , | Leave a comment

Node.js 的 LTS 計畫

Node.js 在 4.0 開始啟動 LTS (Long Term Support) 計畫:「Node v4.0.0 (Stable)」。 可以參考「Node.js Long-term Support Working Group」這邊的說明。最主要的重點是生命週期,首先是每六個月就會放一次新版,跟 Ubuntu 相同,也都是四月與十月: In parallel, we will be branching a new Stable line of releases every 6 months, one in October and one in April … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , , | Leave a comment

用 npm 取代 Build Tools (像是 gulp 或 grunt)

這篇「How to Use npm as a Build Tool」教你如何用 package.json 的 scripts 取代 gulp 或是 grunt 這類 Build Tools。 文章裡面可以看到各種奇技淫巧都出現了,dependency 的部份用 recursive 解決 (npm 內部自己再呼叫 npm 執行),stream 的部份用 pipe 解決 (這個到是很自然),然後用外部程式掛進來處理 watch 與 livereload,甚至還出現可以自己寫 js 檔案呼叫的方法... XDDD 無所不用其極!反正我就是不要用 gulp 與 grunt... … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , , | Leave a comment

Ubuntu 下建立 Cordova 的 Android 環境...

依照「Cordova: Getting Started with iOS and Android Applications (Tech Tip #14)」這篇的方法,再加上一些以前練出來的經驗,把系統給弄起來了。 首先是先到 Android 官網下載 Android SDK,目前版本是 adt-bundle-linux-x86_64-20131030,找個合適的地方解開後 (我是放到 $HOME/android 下),把 PATH 加進去: export PATH="${HOME}/android/sdk/platform-tools:${HOME}/android/sdk/tools:${PATH}" 接下來是透過 nvm 安裝 node.js,先安裝 nvm: wget https://raw.github.com/creationix/nvm/master/install.sh sh install.sh 然後重新啟動 shell 讓 nvm 與 PATH 生效後,安裝 … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , | Leave a comment

用 browserify 將 npm 的函式庫包到瀏覽器上用...

browserify 可以將用到的程式碼都包成一包,拿到瀏覽器上使用。 舉個例子離說,先寫了一個 a.js: (function(){ var el = document.getElementById('output'); var j2x = require('json2xml'); el.innerText = j2x({a: 1}); })(); 其中可以看到直接拿 require() 把 json2xml 抓進來。但在瀏覽器裡要自己處理有哪些 dependency 很麻煩,就用 browserify 拉出來: browserify a.js -o a.bundle.src.js 生出來的 a.bundle.src.js 就可以拿到瀏覽器裡使用了!如果需要的話,還可以用 JS Compressor 再壓起來再拿到瀏覽器裡使用。 最後補充一下,browserify 的安裝方式很簡單: npm … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , | Leave a comment

node.js 版的 YUICompressor...

看「Fantastic front-end performance Part 1 – Concatenate, Compress & Cache – A Node.JS Holiday Season, part 4」的時候發現 node.js 版的 YUICompressor 比起 Perl 版本更早之前就 porting 完成了:「UglifyCSS」,甚至是官方版本的「yuicompressor / ports / js / cssmin.js」也都遠早於 Perl 版本... 用 npm 裝 uglifycss 就可以用了...

Posted in Computer, Murmuring, Network, Programming, Software, WWW | Tagged , , , , , , , , , , , , , , | Leave a comment