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