此篇算是感恩文 (我知道感恩節過很久了)
Bottle
現在時代不同,講求的是敏捷開發,一個人,當多個用,產生多個 thread 在不同專案,共用同一個大腦,開發人員進步的很快,工具也相當的進步,對函式庫的了解熟悉後,進行拆解
依照專案類型的不同,合併成最佳的組合,感覺,現在寫軟體,花一大堆的時間,看別人的函式庫,或是原始碼,要越高的彈性,及效能,就必須由越底層來切入
想想懶惰真是進步的原動力,這些工具,都是為了解決新問題與挑戰,想想身處在這個時代還蠻幸福的,有這麼多的東西可以玩
真不敢想,再過 10 年以後,軟體開發的進步,不知道可以到達什麼樣的境界,現在不管是 WEB 或是 Mobile 的應用都有長足的進步,想想10 年前的手機,在看看現在手裡的 iPhone 或是 Andriod 手機的運算能力,不可同日而語
自己比較熟的 Web 應用開發
CSS 工具有 SAAS 不過我喜歡 LESS
microjs 的一大堆 javascript 工具,還是自己來包 javascript 的工具
ender.js,還是用 coffee script 當成 Ruby 和 Python 合體來快速開發,我自己是只能算是 javascript 的幼幼班學生,所以只能用些基礎的
常用的 Web Framework,順便附一下,benchmark ,我知道,這一點都不科學,也不切實際,算是一個紀錄
硬體,都是同一台機器 Intel(R) Celeron(R) CPU E3400 @ 2.60GHz (真可憐用 Celeron), JVM 有暖身了
Node v0.6.1 (我知道他不是 framework,只是可以解決一樣的問題)# Hello World benchmark
# all python framework under nginx 1.1.8 uwsgi 0.9.9.3, python2.6.7
# playframework under production mode java -version Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
# node -version v0.6.1
# ab -c 100 -n 1000 TO_TEST_URL
# bottle 0.11.dev
uwsgi –socket 127.0.0.1:3030 –module terry –processes 4
# ~1550 Requests/second
# flask 0.8
uwsgi –socket 127.0.0.1:3030 –module fsk –callable app –processes 4
# OR
uwsgi –socket 127.0.0.1:3030 –module fsk:app –processes 4
# ~1100 Requests/second
# django 1.3.1
# return HttpResponse(“Hello World”)
uwsgi –socket 127.0.0.1:3030 –pp .. –env DJANGO_SETTINGS_MODULE=hello.settings -w “django.core.handlers.wsgi:WSGIHandler()” –processes 4
# ~910 Requests/second
# playframework 1.2.4
# renderText(“Hello World”)
# ~1700 Requests/second
# node 0.6.1
#var http = require(‘http’);
#http.createServer(function (req, res) {
# res.writeHead(200, {‘Content-Type’: ’text/plain’});
# res.end(‘Hello World’);
#}).listen(1337, “127.0.0.1”);
#console.log(‘Server running at http://127.0.0.1:1337/’);
#
# ~2500 Requests/second
#
連結(順序無關喜好,不同的地方,不同的規劃,自己看著辦,Hello World 只是起點,大家的終點不一樣)
Bottle
Flask
Django
PlayFramework
Node.js
PS: 最重要是,由衷的感謝這麼多 Open Source 的前輩,可以這樣無私的和大家分享,不求回報,讓想法可以自由的世界的每一個角落激盪出更多的火花,讓我也可以撿拾前輩的一點點牙慧,增加一點點自己的力量,讓日子過得更美好,由衷的感恩
Posts for: #Java
一石四鳥 at playframework
最近有專案,用 Java 的函式庫,及工具,偶然機會下發現, Play FrameWork 還蠻受歡迎的,所以不免當個好奇寶寶,邊看文件,及 source code ,試作一些東西,並且評估,專案進行的可能性
還蠻歡樂,真的還蠻好玩的,簡單,清晰,讓我對 Java 刮目相看,以前,看看同事的 xml 設定檔,我就昏了,這個工具,還包的蠻乾淨的,試了一下,一個簡單的 Application 居然 Java source code 用這麼少 (害我以為這一定是假的 Java framework)
話說,一石四鳥是為什麼呢? 寫程式,往往會為了快,沒有好好的由底層的角度看自己的成果,Play 可以用 Java ( OO programming )開發,也可以用 Scala (體驗 functional programming ),更可以由底層的 source code 學學,別人 Java 及 Scala 的技巧
A web app in 10 minutes using Play framework from zenexity on Vimeo.
Jenkins 新的 hudson
有用 hudson 的記得更新一下,這是奇蹟公司(oracle) 併了太陽公司後,又一個 Java 下面的開發專案,選擇分支出來的專案,畢竟他本來就是一個完全的 open source project,所以名字也不希望被奇蹟公司控制商標權
http://jenkins-ci.org/
source link:
http://pythontestingcookbook.posterous.com/jenkins-download-available
掉念 JAVA
JAVA 因網路啟蒙初期應用方便,也一直是物件導向語言的典範,幾乎所有的理工科學生的必修,真是可惜壓
走到這樣,有多少的商業公司都是仰賴在他的架構下,現在 APACHE 組織,都跟 JCP (Java Community Process) 翻臉了,以後不知道怎麼辦,真是商場如戰場壓,用商業的解決方案就是這樣,我要你繳錢,就得乖乖交錢出來,不知道,接下來 Android 和 Scala 會有什麼影響,真不敢想像,如果在 Open Source 的解決方案裡, JAVA 少了 Apache Software Foundation 會是什麼樣子
新聞連結
https://blogs.apache.org/foundation/entry/the_asf_resigns_from_the
ps: oracle 公司真是惡名昭彰,mysql 已經快被搞死了,大家都 fork 了,前些時候 hudson 還有一些是事情,噯,真是換了位置,就換了腦袋的經典