2008年11月19日 #
AppArch projectone的目標是通過長期的、持續的開發形成:
一套實用的網站基礎架構
一份完善的架構風格和指導原則
一個成熟的開源社區 閱讀全文
6月20日組織了杭州地區的首次云計算頭腦風暴,簡單說說吧。
1、云計算確實是一個眾說紛紜的概念,也許下次把范圍限制在云計算基礎架構或者具體的虛擬化技術可能更好些。
2、國內已經有不少先行者開始研究、開發云計算服務了,時不我待,這也是最近很少更新博客的原因。
關注云計算的可以加QQ群:87833826
歡迎訪問我的blog: http://www.eoss.cn/blog/
vps服務商一般提供了多種linux發行版供用戶選擇,常見的有centos、Fedora、ubuntu、Debian、OpenSUSE、Arch Linxu、Gentoo、Slackware等等,這些Linux都是免費的,有的服務商業提供了需要額外收費的RHEL、SELS。
我這里把這些Linux分為4組:
1、CentOS、Fedora、RHEL
Fedora是Red Hat的社區版,一般用來試驗新的功能,有幾個版本可能不是很穩定,RHEL是Rad Hat的企業版,而CentOS是從RHEL源代碼編譯的社區重新發布版。
2、Ubuntu、Debian
一般來說Debian比Ubuntu穩定的多,但我比較不認同Debian的價值觀,所以這組我選擇Ubuntu,當然選擇是Ubuntu Server LTS版,目前是8.04
3、OpenSUSE、SELS
Suse和Red Hat系列一樣著名,OpenSUSE是它的社區版本,SELS是它的商業服務器版本。
4、Arch Linxu、Gentoo、Slackware
這一類基本上不是我們這些Linux玩得轉的。
我選擇的原則是有企業版的不選擇用于試驗的不穩定的社區版,有免費版的不選擇商業版,這樣勝出兩個選擇:
- CentOS
- Ubuntu Server LTS
考慮到CentOS相對穩定些,市面上的書、網上的資料比較多,命令行模式下的管理工具用得比較順手,最終選擇CentOS。當然Ubuntu Server LTS也有它的優勢,比較易用,熟悉Ubuntu的也可以選擇這個發行版,畢竟服務器穩不穩定還是和使用它的用戶對它的熟悉程度相關的。VPS服務商還提 供了相同Linux發行版的i386版和x86_64版,一般選擇x86_64。另外服務商還提供了一些已經配置好的系統,例如供網游玩家直接使用的配好 VPN的CentOS、安裝好LXAdmin hostinabox的CentOS,這些就不再展開,具體情況咨詢VPS的服務商。
---
新建了一個獨立博客:http://www.eoss.cn/blog/ ,歡迎大家訪問。
PHP : JRuby : Python : Java 大約是 1:2:4:100,以上結果僅供參考。另外,JRuby、Java比較占用內存。由此可以看出,Ruby應用于Web開發在性能上不會有太大的的問題,至少和PHP/Python是同一數量級的。 閱讀全文
http://www.ibm.com/developerworks/cn/opensource/os-cn-apmina/?S_TACT=105AGX52&S_CMP=techcsdn
Grizzly
http://www.javaeye.com/news/4489-grizzly-1-9-released-new-twitter-demo
Quick Server
http://www.aygfsteel.com/calvin/archive/2006/08/12/63260.html
Webmin 讓您能夠在遠程使用支持 HTTPS (SSL 上的 HTTP)協議的 Web 瀏覽器通過 Web 界面管理您的主機。這在保證了安全性的前提下提供了簡單深入的遠程管理。這使得 Webmin 對系統管理員非常理想,因為所有主流平臺都有滿足甚至超出上述需求的 Web 瀏覽器。而且,Webmin 有其自己的“Web 服務器”,因此不需要運行第三方軟件(比如 Web服務器)。萬事具備。Webmin 的模塊化架構允許您在需要時編寫您自己的配置模塊。除了在此介紹的模塊之外,Webmin 還包括許多模塊。盡管目前我們將主要關注網絡服務,但是您會看到,幾乎您系統的每一部分都能夠通過 Webmin 來配置和管理。
Webmin的另一個可以看成其簡化版本的主要針對普通用戶的軟件就是Usermin。
官方網站:www.webmin.com
中文網:www.webmin.cn
全球鏡像中國站:www.webmin.com.cn
Play!的案例:
abikenow
http://www.abikenow.com
分享和搜索自行車的iPhone應用
Shigeta website
http://www.shigeta.fr
zebre
企業內部管理系統,使用了JPA 、AJAX和Google charts API等技術。
B&B media website
http://www.bandbmedia.com
zapps
zapps提供了一個完整的協作平臺,包括郵件、任務管理、日歷、文檔管理等功能。 閱讀全文
涉及JPA、頁面模板、控制器、Session、Flash、自定義404/403頁面、安全、Email等
Blog
涉及JPA、頁面模板、控制器、Session、Flash、自定義404/403頁面、安全等
多種模板類型
Play!支持通過調用renderXXX方法輸出json、html、xml、二進制等多種回復類型,如果只是調用render()方法,Play!會根據瀏覽器的需要選擇不同的模板。
Flex客戶端
Play!應用程序粘合Amazon ECS (e-commerce API)和Flex客戶端的 閱讀全文
目前Play!沒有集成驗證功能,暫時可以使用下面兩個驗證框架作為替代:
Hibernate Validator
OVal
Play!開發團隊有實現一個類似Hibernate Validator功能的驗證框架的打算。 閱讀全文
2、Meta標簽
3、JavaScript
不管怎么樣下面介紹一下1.1版本的新特性:
更好的GORM事件
基本類型集的持久化
對象的只讀訪問
默認的排列順序
批處理
動態Finders的改進
單項的One-to-many遺留映射
增強枚舉類型的支持
全局插件
多插件倉庫
自動安裝插件方案 閱讀全文
Play!最酷的5個功能
本文通過5個例子展示了Play!框架背后的哲學。
1. 綁定HTTP參數到Java方法
2. 通過調用Java方法重定向到相應的action
3. 直接把Java對象傳遞到頁面模板
4. 方便的文件上傳
5. 不用任何配置就可以把應用分布到多個JVM 閱讀全文
http://www.aygfsteel.com/shinewang/archive/2008/11/19/241435.html
框架概要
http://www.aygfsteel.com/shinewang/archive/2008/12/25/245464.html
Play!最酷的5個功能
http://www.aygfsteel.com/shinewang/archive/2008/12/25/245502.html
Play with Play! - Validation
http://www.aygfsteel.com/shinewang/archive/2009/01/05/245470.html
Play with Play! - 應用實例
http://www.aygfsteel.com/shinewang/archive/2009/01/05/249852.html
Play with Play! - 案例
http://www.aygfsteel.com/shinewang/archive/2009/01/05/249889.html
插件式的存儲引擎是MySQL最具特色的功能之一。當用戶將數據庫應用到各個不同的領域時,每一種應用都對數據庫提出了滿足自己需求的性能特點,而MySQL的插件式存儲引擎正是針對此而推出的。使用MySQL插件式存儲引擎體系結構,允許數據庫專業人員為特定的應用需求選擇專門的存儲引擎,完全不需要管理任何特殊的應用編碼要求。MySQL服務器體系結構由于在存儲級別上提供了一致和簡單的應用模型和API,應用程序編程人員和DBA可以不再考慮所有的底層實施細節。因此,不同的存儲引擎具有不同的能力,而應用程序是與之分離的。例如,MySQL支持的存儲引擎除了常見的MyISAM、InnoDB、Archive、Memory外,還有在MySQL集群環境中使用的Cluster引擎,通過SQL操作HTTP的HTTP引擎,訪問Memcached服務器的Memcache引擎,訪問DB2數據庫的DB2引擎等等。
此外,講座還涉及高可用性等方面的問題。PPT可以從這里下載。 閱讀全文
獲取表單亂碼
URL亂碼
數據庫亂碼
這里僅做標記,解決方案網上很多。
動態類型或者自動類型轉換
快速反饋,改變代碼后馬上可以看到運行效果
基于虛擬機
開放源代碼
支持分布式、多核計算
2.關閉自動提交功能
conn.setAutoCommit(false)
關閉后需要手工調用commit()和rollback()
3.使用PreparedStatement預編譯
4.建立索引
- 不定義級聯
- CascadeType.PERSIST (級聯新建)
- CascadeType.REMOVE (級聯刪除)
- CascadeType.REFRESH (級聯刷新)
- CascadeType.MERGE (級聯更新)
- CascadeType.ALL 表示選擇全部四項
@OneToMany(mappedBy?=?"custom")
mappedBy="custom"就相當于inverse=true,mappedBy指定的是不需要維護關系的一端。
在domain類中定義的FetchType只對get/load/loadAll有效,對Query list無效,需要在構造Query時重新指定。
HttpServletRequest類getAttribute()和getParameter()的區別:
getParameter()用來接受從Web客戶端傳到Web服務器端的HTTP請求中get方法或post方法傳遞的數據,返回String類型的數據。HttpServletRequest類有setAttribute()方法,而沒有setParameter()方法。
setAttribute()和getAttribute()方法傳遞的數據只會存在于Web容器內部,在具有轉發關系的Web組件之間共享。getAttribute()獲得的是由setAttribute()方法賦的值,返回值是Object。
PK
Unique Index