2020年4月21日 星期二
Google 認證與線上教學課程整理
目前Google Cloud 的認證有以下幾種,以及對應的學習資源:
# Associate Cloud Engineer
Qwiklabs - Cloud Architecture
# Professional Cloud Architect
Qwiklabs - Challenge: GCP Architecture
# Professional Data Engineer
Qwiklabs - Data Engineering
# Professional Cloud Developer
2019年3月2日 星期六
一個專業的雲端架構師需要具備協助建立團隊文化的能力
Google SRE implement DevOps
在Coursera 上 Google Cloud Professional Cloud Architect 的課程,原本以為是一個以技術為主的課程,上了之後才發現遠遠不只這些,而且有需多部分發人省思,一個專業的雲端架構師除了技術上要協助客戶釐清需求外,更重要的是幫助客戶完成商業需求,甚至要協助建立團隊的開發維運文化!
2019年2月10日 星期日
如何在 Google App Engine 2.0 使用 Go 1.11 開發
來到了Go的世界感覺的到的第一件事就是什麼都好輕啊,用的資源好少啊,難怪越來越多公司和專案都移到Go 得世界。 不過並不是輕和快就能輕易讓我們轉換語言,必須還得考量上手的速度以及相關library的支援度,好在Go 的社群也還算蓬勃發展,所以該有的library 都有人開發,唯一要注意的就是不像Java 有許多 Apache 這種大型社群 support的專案,go 的library 專案大多是個人開發,所以這些專案的熱門度,和維修狀態就需要格外的注意。
2019年1月7日 星期一
Google Cloud Dataproc 如何建立 Custom Image 加快 PySpark 部署環境速度
這陣子最常使用的GCP服務就是 Cloud Dataproc , Cloud Dataproc 是為了簡化Spark及Hadoop服務而設計,能讓使用者進行批次處理、查詢、資料串流及機器學習等工作,其自動化工具可協助使用者更快新增及更容易管理資料叢集,並且能在不使用時關閉,以降低成本,使企業能把心力花在資料分析的核心工作上。
對我來說他有幾個優點:
- 不用自己維運一組Yarn Spark Cluster,更不用煩惱需要擴充配置的問題
- 需要用就直接開,開完就砍掉,一切自動化又省錢
2014年2月11日 星期二
Install Fully Distributed Hadoop Cluster by Ambari on Google Cloud Platform
話說對於常要佈署與維運Hadoop Cluster的人來說,通常會尋求兩種安裝方式:
- 盡量透過Script化來安裝 (前一篇Create Hadoop Cluster on GCP 就是這種)
- 盡量透過GUI的方式來安裝或管理
而Ambari 的存在就是希望可以透過GUI的方式來方便佈署與安裝,不過在IaaS的環境免不了的還是得手動規劃要開幾台VM,每台VM的角色是什麼,這時候就會覺得如果能包在Ambari裡面那就好了!
我相信社群也是有不少人同意這種想法,所以才會有了Hortonwork 與 OpenStack 攜手推出 Hortonworks Data Plaform Plugin — Savanna ,
不過這是專屬於Openstack 的功能,如果其他IaaS也有的話就好摟,因此在其他平台也有提供此功能出現前,我們只能手動部屬VM與安裝環境,本篇文章就是記錄如何用手動的方式:
- 規劃並在GCP上開啟VM
- 設定GCP 環境 For Hadoop Cluster
- 在VM上安裝Ambari 和 Hadoop Cluster
2014年2月7日 星期五
[筆記]Create Hadoop Cluster on Google Cloud Platform
接續How to login and manage instance這篇文章,能Login後再來就是要研究如何在GCP上啟動Hadoop Cluster,還記得之前參加Google Cloud Platform Workshop,看到演講者 Live Demo 利用Script 就啟動了一組Hadoop Cluster 來做實驗,讓我非常印象深刻。
回到官網參考 Hadoop on Google Cloud Platform 這篇文章 (不得不說Google 的文件都蠻詳盡的),只有下面幾點是必須要注意的:
2014年2月5日 星期三
初探 Google Cloud Platform - 2. How to login and manage instance
接續上一篇初探 Google Cloud Platform - 1. Create instance,關於如何用SSH登入VM我一直有疑惑,後來查了一下才知道,原來Google Cloud Platform 有提供兩種登入方式:
- 使用gcutil login
- 使用standard ssh 登入
本篇文章主要還是在介紹使用gcutil的方式login,因為如果要搭配使用Google Cloud SDK 以及大量deploy Hadoop Cluster 還是必須學會使用這種認證方式。
2013年11月21日 星期四
Google Cloud Platform Workshop 小記
(在這邊要感謝 Jazz大大辛苦的主辦,以及神通提供場地)
話說自從寫了- 初探 Google Cloud Platform - 1. Create instance 後,
在這邊把筆記整理一下跟大家分享 (筆記的準確度根據理解程度可能有誤還請見諒~:P)
一開始是在介紹Google 的豐功偉業(其實我相信大家都很瞭解,應該不太需要再介紹~XD)
然後進入Google 知識加時間:
大家知道google 的Search Index 目前有多大嘛? (100PB)
目前TeraSort 的紀錄是幾秒呢? (Google + MapR 的1TB 54秒,破之前Yahoo的紀錄)
接下來就是令人感到興趣的主題,Agenda分別是:
1. Google Cloud Platform (GCP) 介紹
2. 如何在GCP 上架設Hadoop Cluster
3. Big Query
Google Cloud Platform (GCP) 介紹
在介紹如何使用GCP 之前,當然一定得先提一下為什麼要使用GCP,首先一個很大的賣點就是Google 所有的Data Center 都是使用Google Fiber 在串接,所以Zone 與Zone 之間,Service 與Service 之間通通都是享受到光纖的速度,此外Google 為了他們本來主要服務(如Google Search , Gmail, youtube...等)就有跟各國各大ISP合作,所以在網路頻寬和速度上更是有一定的品質與保障。
接下來就是介紹GCP 的整個概念,如同我之前所研究的,GCP 以一個Project 為單位,Project 與Project 之間都是isolate,一方面增加安全性,一方面又可以確保資源的品質,此外在這邊講者特別有提到 GCP 的 I/O CPU Network 其實是分開處理的? 所以不像傳統由同一個Host 去分配資源容易有瓶頸?(這一段不是很確定有沒有聽對~XD)
關於Disk 的部份就如同之前研究的:
Scratch Disk = local Disk (關機資料就消失,但是Performance 比較好)
Persistent Disk = EBS Disk (最大10TB 最多16Disk,建議給Root Disk 使用)
此外也趁機問了之前對於Zone 的疑惑,到底進入maintain mode 的zone 我們的instance 會怎麼樣?
講者的回答是,目前GCP 已經有提供好幾個Zone 是no maintain windows 代表他有Live migration 功能,我們就不用擔心如果這個zone 進入maintains,他們會自動幫我們做Live migration,Cool~~
下圖就是講者就做了一個小Demo,利用Google App Engine 寫程式去控制 GCP,要在一分鐘左右開啟100台Instance,並且使用Heap Map 的方式顯示。
講解完了運作原理,當然也要講一下GCP的Performance 摟,跟某Logo 是黃色的公司比較起來~XD
這張投影片講到整個Hadoop Cluster 是怎麼在GCE上運作的
中間穿插著實際Demo 的案例(Live Demo 難免都會有點小出搥~XD)
在Demo 完後就進入大家倍感好奇的BigQuery,一開始先說幾個常常會需要用到的Query 案例,比如說搜尋App Store 排名前20的App,或是DataCenter有多少機器效能低落應該要更換了...
那到底在什麼情境會需要BigQuery 呢?(接來幾張投影片就是重點了)其實跟Spark 和 Shark 一樣,BigQuery 特別適用於在Interactive analysis的情境。
在講到這張投影片的時候我一度以為Big Query 就是在BigTable 的Query (還是真的是!?)
接下來講者就舉一個Query 的範例,到底如何利用Dremel 的架構實現 BigQuery
最後講者舉了一個很有趣得實際應用案例,就是Data Sensing Lab 跟Google合作,在Google I/O Conference 佈署了很多的Sensor ,然後利GAE + GCP 所實作出來的應用案例,有興趣的可以看這個連結。
以上倉促報告完畢~(照顧小孩去~Orz..)
2013年10月7日 星期一
初探 Google Cloud Platform - 1. Create instance
初探 Google Cloud Platform
Google Cloud Platform (GCP) 也出來一段時間了,直到最近才開始可以讓人試用(虧我申請了那麼久),其實使用方法跟跟Amazon差不多,想要開始使用,就先把你的信用卡資訊交出來吧!!下面我會一步一步的展示,該如何開通帳號
(開通使用很簡單,但是登入使用就複雜摟~:P)
1. 登入Google Cloud Platform
從Google Cloud Platform 的首頁選擇Try it now ,接下來就會進入Cloud Project 的畫面,這一點就值得讓人稱讚,因為Google 採用Project Orientation 的角度來管理你所使用Service 和帳務,這樣我就可以很清楚的把我每個專案用了那些機器,用了哪些API Service ,以及花的多少錢有效區隔開來。 (Amazon 目前帳務這塊就還是讓蠻多人頭疼的~:P )新增 Cloud Project
這邊要注意的就是Project Id,你可用Google 給你的,或是自己取,只要符合以下規定:The project ID is used to uniquely identify your project. Once selected, this identifier cannot be changed.
點選專案進入之後,第一個看到的就是APIs (也就是你打算使用/開通Google 提供的哪些服務)
設定 Billing 資訊
再來就是開通Google Cloud Platform 最重要的地方啦,就是開通帳務,首先會先要你填帳務資訊,然後再讓你填信用卡資訊。
當填完資訊,他會寄一封EMail請你確認帳務資訊,等到完全都確認無誤後,你就可以正式開始使用Service。
新增 Instance
新增Instance 的畫面採兩欄式排版,左邊是選項,右邊是我們所選擇設定的資訊,算是非常樸實也直觀。
1. 目前有哪些區域可以使用 或應該問哪些區域有Data Center?
根據Zone 這邊看起來主要就是歐洲兩個,美國中部三個AZ,令人注意的是他還會在後面列出來這個Data Center 下一次進入維護時間是何時(所以我們必須自行判斷我們服務會用多久?免得進入維護到時候要搬家麻煩?)
2. 有哪些等級的Instance 可以使用
打開清單,各種類型,與對應的vCPU和 Memory 都列的清清楚楚的
至於價錢可以參考:price,另外這邊要注意的就是收費的最低標準是以10min來劃分,Google的解釋如下:
- All machine types are charged a minimum of 10 minutes. For example, if you run your instance for 2 minutes, you will be billed for 10 minutes of usage.
- After 10 minutes, instances are charged in 1 minute increments, rounded up to the nearest minute.For example, an instance that lives for 11.25 minutes will be charged for 12 minutes of usage.
3. 目前有哪些Instance
這部份目前能選的就真的很少了,扣掉Deprecated掉的,就只上下CentOS6 和 Debian 6 /7 可以選
再往下看,來到了Addional Disk ,居然顯示 No Disks in zone europe-west1-b,然後我選了其他zone也都顯示沒有Disk....@@? 這讓我疑惑了...
看了一下關於Disk 的說明頁面,怪怪.....根據他的描述,Disk 也是有兩種:
A. Scratch Disks
類似Amazon 舊的 Instance Storage,關機以後就會消失了 (目前Boot Disk 就是屬於這種)
B. Persistent Disks
就是類似Amazon 的EBS
(最後發現,必須要開好Instance 後才能再另外掛載Disk)
4. 選擇網路

Network 目前沒有其他選項可以選,而External IP 用起來跟Elastic IP差不多,就是跟Google 註冊一組IP並且取名字。
最後面是權限,也就是設定Google 的其他Service 有怎樣的權限可以存取這個Instance。
當一切都設定好後,按下Create 就會看到下圖開始Create instance....
然後就可以在你的VM列表看到這台Instance了~
恭喜你開好一台VM了!! 等等....那接下來要怎麼登入? 是不是像Amazon 可以產生一把Key,就可以用SSH登入? No~~~No~~~沒那麼簡單....Orz..
下一篇文章再來介紹如何透過Google提供用來管理Google Cloud Platform 的工具 gcutil 來管理與登入VM。
2013年2月17日 星期日
利用 Dropbox 或是 Google Driver Hosting 靜態網頁
話說我家李董的iPage Web Hosting快要到期了,習慣
考量到李董的需求只需要能放靜態網站(Static Website)就夠了,剛好最近各家Cloud Storage 廠商都紛紛推出Host Your Static Website 方案,我就趁這個機會來好好研究一下比較之間的差異。
免費 VS. 付費
既然有免費的,那要花錢的"Host Your Static Website on Amazon S3"就暫時先不考慮 (不過老實說對於
工程師 VS. 一般人
另一個熱門的Free Web Hosting 就是GitHub推出的 GitHub Page,但是這個的進入門檻是得先讓李董學會使用Git,當初要教會svn就已經得花一番功夫了....所以想一想還是放棄,不然對於工程師來說,GitHub Page 會是一個很好的選擇。
Dropbox VS. Goolge Driver
所以最後還是回到最簡單的Cloud Storage方案比較,不過在比較兩家的優缺點之前請先參考這篇文章"Google Drive vs. Dropbox ",這邊指出一般Cloud Storage Solution的缺點就是上傳更新速度,Cloud Storage 不像一般FTP 上傳的方式,檔案在上傳時他會做版本的比較,是否需要更新,然後再慢慢Sync (感覺上不會全速上傳),所以如果你的網站Size很大,還有很多影音或圖片,那透過Cloud Storage 上傳就會~~~非常~~慢~~
比速度
同樣是緩慢的CLoud Storage,那彼此間的速度差異呢?根據上面那篇文章的作者,他做了實驗得到以下結果
環境: 1.8 GB data with around 30,000 files, so average 64 kB each file
情境:初始化上傳1.8G檔案
Google Driver:花了三天時間~(有這麼誇張嘛?!)
Dropbox: 花了三個小時
不過根據這篇文章"File Syncing Faceoff: Dropbox vs. Google Drive",裡面也有提到
Dropbox Gives You More Power Over Your Syncing Speed
所以根據道聽塗說比較法,Dropbox 速度勝!
(不過還是建議大家可以自己做實驗看看~:P)
比容量
Google Driver
- 基本免費容量5G
- 付費方案Google Driver 100GB: $4.99 / 月,
- Dropbox免費容量2G (*但是透過推薦朋友可以拉高容量)
- 100GB: $19.99 / 月
所以不負責任比較,Google 免費容量勝!
其實也沒什麼好比的,就先用用看再說摟~:P
至於要如何使用,可以參考以下文章:
PS. 不過這兩個好像都沒有提供Domain name 綁定的功能,目前只能用URL Redirection or “Forward with Masking,所以還要研究研究....
Reference:
[1] New AWS feature: Run your website from Amazon S3
[2] How I moved my websites to Dropbox and GitHub
2012年8月2日 星期四
Google Compute Engine 與 AWS 比較
Source: 網路
離上次寫"Google 推出Iaas 服務 Google Compute Engine "也已經一個多月了,關於GCE和AWS的比較文章與相關的測試報告越來越多,但是我到現在都還沒有機會玩玩看GCE,申請試用了老半天也沒回應,因為我是小咖嘛...Orz..
下面的效能比較圖片,是節錄自研究機構IDEAS的報告 [1],如果單看圖片一定會覺得奇怪,為什麼他們都可以試用了,還可以得到這些比較數據呢?
Figure 1 – Google Compute Engine (Orange) and Amazon EC2 (Blue) Compute Capacity Compared [Source: IDEAS]
Figure 2 – Price per Performance of Google Compute Engine (Orange) and Amazon EC2 (Blue) on Demand Instances [Source: IDEAS]
原來,這些也都只是紙上數據,原理是根據Google 和Amazon所公布的資料,分別算出Google Compute Engine Unit (GCEU)和 Amazon's Elastic Compute Unit (ECU)換算成實體主機的效能,來做比較:
GCEU: a least 1.0–1.2 GHz 2007 Opteron to 2.6 GHz processor in Intel's Sandy Bridge
ECU: 1.0–1.2 GHz 2007 Opteron or 2007 Xeon processor
我只能說這樣比較準嘛?....=_= ,另外根據這篇文章 [3],裡面提到更多GCE的技術細節,其中就提到GCE的虛擬化技術是用KVM,光是憑這點,就算用同樣的硬體規格,就可能跟用Xen 的Amazon有所差異了。下面節錄出一些GCE的規格,我把比較特別的部分用紅色highlight 起來。
- Datacenters
- Region: for geography and routing domain.
- Zone: for fault tolerance
- Currently operating 3 US datacenters/zones, located on the East coast of the US.
- Working on adding more datacenters globally and adding more datacenters in the US.
- API
- JSON over HTTP API, REST-inspired, authorization is with OAuth2
- Main resources: projects, instances, networks, firewalls, disks, snapshots, zones
- Actions GET, POST (create), DELETE, custom verbs for updates
- A command line tool (gsutil), a GUI, and a set of standard libraries gives access to the APIs. Experience is like Amazon in that you have an UI and command line tools.
- All Google tools use the API. There is no backdoor. The web UI is built on Google App Engine, for example. App Engine is the web facing application environment and is considered an orchestration system for GCE.
- Partners like RightScale, Puppet, and OpsCode, also use the API to provide higher level services.
- Want people to take their code and run it on their infrastructure. Open API. No backdoors. Can extend that stack at any level.
- Instances
- A combination of KVMs (Kernel Virtual Machines) and Linux cgroups are used for the underlying hypervisor technology. Linux scheduler and memory manager are reused to handle the scheduling of the machines.
- KVM provides virtualization. Cgroups provides resource isolation. Cgroups was pioneered by Google to keep workloads isolated from each other.
- Internally Google can run virtualized and non-virtualized workloads on the same kernel and on the same machine, which allows them to deploy and test one single kernel.
- Located in a zone.
- Fast boot times: 2 minutes.
- Networking - Internet
- Traffic from the Internet to your machine is shunted on to Google’s private network as soon as they can and given a “first class” ticket to your VPN. This is like an overlay network you see on CDNs.
- 1-to-1 NAT. Every VM can be assigned an external IP address that is rewritten as it enters and exits your VPN. They don’t exist on the VM when you do an ifconfig.
- IP addresses can be detached from a VM in one region and attached to a VM in another region and Google will make sure the traffic is routed properly.
- Built in firewall to control who talks to what in the system.
- Can’t use SMTP. Only UDP, TCP, and ICMP can be used to the Internet.
- IP addresses are advertised with Anycast, then they encapsulate it, and then forward it to your VPN.
- Storage
- Focused on creating persistent block device that offers performance / throughput so you don’t need to push storage local.
- Two block storage devices: Persistent Disk and Local Disk.
- Persistent disk
- Off instance durably replicated storage medium. High consistency. High throughput solution. Secure. Backing store for database. Built from scratch to be highly performant and gives good 99.95 percentile performance.
- Allocated to a zone.
- Can be mounted read/write to a single instance or read only to a set of instances.
- Data is transparently encrypted when it leaves your VM, before it is written to disk. Using new processors there’s very little to no overhead. It seems to use Google keys and not your keys.
- Less than 3% variance in IO bandwidth when doing 4K random reads and writes. This is their consistency theme. Less variance than a local disk, which can vary by 13%.
- For large block read and writes there’s triple the local bandwidth compared to local disk.
不過根據這篇文章[2]的結論,可以看出目前Google仍有許多地方得加油才趕的上Amazon:
- Google Compute Engine, which is still in limited preview mode, and Amazon cloud services. AWS has 11 different sizes of compute instances, ranging from small virtual machines with 1.7GB of memory, to extra-large compute clusters with 60.5GB of memory, whereas Google has only four. (快開放給試用啊!!)
- AWS is targeting technology-reliant businesses that are turning to the cloud to host their websites, databases and storage, Google is focused initially on research and development teams that may have a need for high-performance computing to complete a project. (所以這算是市場區隔嘛?)
- AWS offers reserved instance pricing discounts, in which customers agree to use a compute instance for months or even years. Google's cloud is priced by smaller time chunks and therefore aimed at shorter-lived projects. (長期使用還是AWS划算)
Reference:
[1] Google Compute Engine Matches Amazon AWS Performance
[2] Google cloud vs amazon cloud how they stack up
[3] C is for compute Google compute engine gce
2012年6月19日 星期二
Google Apps Certification Program
阿阿阿真的很討厭考試,但是為了維持公司的Google panther資格,只好拼了,趁著個機會整理一下考試的規則和該看怎樣的資料。
Google Apps Certification Program 主要有分兩個部分:
身為技術人員,所以就被指派去考Deployment Specialist Exam,不過老實說,跟我們程式開發人員最有關係的只有Google Apps API Basics,只佔了2%的比重。
建議閱讀順序:
- Program Overview (先了解考試的內容與規則)
- Study Guide (了解最新版[1]各個章節的比重)
- [28%] Google Apps Technical Fundamentals
- [21%] Gmail Setup, Configuration, and Migration
- [ 7%] Postini Setup, Configuration, and Migration
- [14%] Configure and Migrate Calendar and Contacts
- [12%] Configure and Migrate Docs, Groups, Sites and other Google Apps Applications
- [10%] Google Apps Mobile Deployment and Access
- [ 2%] Google Apps API Basics
- [ 6%] Plan, Manage, and Troubleshoot a Google Apps Deployment
- Deployment Specialist Study Guide Version 2.0
- 延伸閱讀:(不過一進去就很容易迷路)
重點:
- 業務人員考試總共有50個問題
- 技術人員考試總共有60-65個問題 (而且依照google apps的更新頻率更新,代表很頻繁)
- 每次考試都會有不計分的考題 (用來測試新考題難易度)
- 考試題目是複選提 (當遇到有more than one answer,系統會等你選完,才會繼續)
- 業務考試時間兩小時
- 技術考試時間兩個半小時
- 如果考試沒有過,系統會寄Email建議你加強哪一個章節
- 第一次考試沒過要隔14天以後才能考,第二次考試沒過要隔60天,第三次沒過要隔1年
- 每次考試都要簽NDA確保不會洩題
- 證照每隔18個月(一年半)就要重新認證
所以對於證照內容,也只能僅限於此,因為不能洩漏跟考試問題和答案相關的任何內容,如果有要去取得證照的各位,只能說Goodluck~XD
Reference:
[1] 目前最新版是2012.5.18 公布的版本
2009年9月7日 星期一
把Facebook Game Server 架在 Google App Engine上
最近下班回家都在研究如何開發Facebook app,我的習慣都是先研究好有啥現成好用的工具和技術,可以方便我快速組出一個solution,於是我就找到了smartfox Server,似乎是一個不錯的平台可以在上面快速的開發出自己的facebook app game.可是馬上就遇到一個麻煩就是我需要一台PC當Server,而且最好有固定IP,這樣比較好作實驗。
我就開始想不知道沒有免費的平台讓我可以放程式在上面跑.....此時google app這兩個字就從我腦袋裡蹦出來, 這不就是一個現成的平台,還有免費的儲存空間!! 將來真的做大,要擴充也方便(就是花錢)
於是我就開始上網搜尋,果然又找到幾個老外有相同的想法:
這篇是列出五個理由,說明應該使用GAE當作Flex 開發者後台技術的理由。正所謂英雄所見"略"同啊XD
這一篇裡面提到,Flash跟java 溝通主要是靠AMF技術,而常見的solution有BlazeDS, WebORB, and GraniteDS,但是經過他試了以後發現BlazeDS不能在google app上用,WebORB似乎可行,但是有效能的問題,而GraniteDS 似乎是最適合的(畢竟是免費又是open source...XD),不過他也說可以持續注意這個網站:Will it play in google app ,裡面會定期更新目前各專案在google app 上開發的進度。
且待我按照他的教學方法測試看看~
不同於上面那篇,這篇就是使用BlazeDS來當溝通的橋樑,反正網路世界就是這樣,各有各的擁護支持者~:P 有空也來試試看
這篇也是教如何讓 GAE的程式和 Flex溝通
至於Flex 該怎麼入門,我實在懶得再去網路上找教學文章了,所以就買了一本Flex 3徹底研究,號稱是adobe 的訓練手冊,是寫得蠻詳細的,有興趣的人可以買來當參考書。
2009年6月8日 星期一
如何在Google apps 上使用wicket 開發
最近剛好在研究Google apps engine(GAE),稍微研究了以後發現要在GAE上開發主要分為兩部份:
也不知道該說是好習慣還是壞習慣,要做事之前一定會先問一下咕狗大神,有沒有人作過,或是現成的solution,結果還真的被我找到了兩篇,跟我有一樣想法得人,參考:
[1] Running a Java Wicket Application in the Google App Engine
[2] Wicket on Google’s App Engine
我是使用google plugin for eclispe ,在eclispe 上開發,可是痛苦的事情來了,google 有他的預設專案架構,跟我們常用的maven 檔案架構或是wtp檔案架構都不一樣,是長成下面這樣:
所以建議的作法是先用eclispe 產生一個這種架構的google app專案,然後再一步一步把他設定成wicket 的專案。
待續....
- 以GWT 開發網頁介面(不過說穿了底層還是Servlet)
- 透過 google java service api 來實做Server 端的程式
也不知道該說是好習慣還是壞習慣,要做事之前一定會先問一下咕狗大神,有沒有人作過,或是現成的solution,結果還真的被我找到了兩篇,跟我有一樣想法得人,參考:
[1] Running a Java Wicket Application in the Google App Engine
[2] Wicket on Google’s App Engine
我是使用google plugin for eclispe ,在eclispe 上開發,可是痛苦的事情來了,google 有他的預設專案架構,跟我們常用的maven 檔案架構或是wtp檔案架構都不一樣,是長成下面這樣:
Guestbook/ src/ ...Java source code... META-INF/ ...other configuration... war/ ...JSPs, images, data files... WEB-INF/ ...app configuration... lib/ ...JARs for libraries... classes/ ...compiled classes...
所以建議的作法是先用eclispe 產生一個這種架構的google app專案,然後再一步一步把他設定成wicket 的專案。
待續....
訂閱:
文章
(
Atom
)







































