登入
註冊
找工作
搜尋職缺
探索不同產業和地區的所有工作機會
搜尋公司
根據公司名稱尋找理想工作
主題專區
探索依特定主題或產業分類的工作機會
下載 CakeResume App
求職工具
履歷
使用我們的免費履歷工具,獲取理想職缺
作品集
分享你的作品集展現你的成功專案
履歷
使用我們的免費履歷工具,獲取理想職缺
履歷工具
免費製作、下載履歷
履歷模板
提供大量專業模板立即使用
履歷範例
從他人履歷獲取製作靈感
職業指南
各產業、職能的履歷教學與範例
履歷協助
從我們的招募團隊獲取關於履歷的專業建議
作品集
分享你的作品集展現你的成功專案
作品集工具
製作一份展現個人專業的作品集
作品集展示區
瀏覽他人的真實作品集,尋找靈感並進行人脈拓展
資源
資源
從豐富內容了解職業發展、求職策略等更多資訊
查看全部文章
求職指南
履歷
求職信
作品集 & 個人品牌
面試技巧
求職新知
產業 & 職位介紹
職涯發展
職涯規劃
職涯工具模板
職場人際溝通
職場管理學
人物/企業專訪
人物/企業專訪
雇主人資
人資營運
人資招募
CakeResume 特輯
團隊與企業文化
最新消息
活動分享
白皮書
2023 CakeResume 雇主品牌白皮書
2024 CakeResume MA 儲備幹部招募白皮書
2024 CakeResume 主動式徵才白皮書
精選文章
面試技巧
【自介範例】吸引人的面試自我介紹怎麼說?4 技巧完美活用自我介紹
閱讀更多
《科技職涯》Podcast
專門邀請在科技、數位等不同領域的工作者來分享他們的職涯趣事。
Apple Podcasts
Google Podcasts
Spotify
《職涯探險》Podcast
透過分享跨域思維與職涯選擇,啟發年輕人才實踐職涯目標和理想生活
Apple Podcasts
Google Podcasts
Spotify
徵才
人才搜尋引擎
搜尋履歷
職缺刊登
免費開始
獵才顧問
人才媒合服務
名義雇主(EoR)服務
在台灣建立企業團隊
雇主品牌推廣
建立和推廣您的雇主品牌
價格方案
職缺刊登價格方案
人才搜尋引擎價格方案
履歷製作價格方案
建立你的人脈
我的人脈
管理人脈及你的聯繫對象
CakeResume Meet
透過認識並連結其他使用者,擴大你的職涯人脈
社群
透過討論、活動參與與其他用戶交流
下載 CakeResume App
建立你的人脈
我的人脈
管理人脈及你的聯繫對象
CakeResume Meet
透過認識並連結其他使用者,擴大你的職涯人脈
社群
透過討論、活動參與與其他用戶交流
登入
註冊
作品集
平震宇 Arren Ping
Project CP
Project CP
Project CP
By
平震宇 Arren Ping
・
Changhua County, Taiwan
建立關係
上圖為本專案 GraphQL schema & query definition 的截圖 本專案於空閒時間持續往前走(堅定~ # 描述 在人生休息的空檔中,好友有個想法想寫成系統,於是成了這個 Project。 CP 資料模型依照 prototype 的實作,最複雜的情況是 1 -> * -> * -> *,目前 CP 還未開始實作任何的 UI,主要是透過 API 來進行驗證。 在動手開始實作之前,選擇 Technology Stack 其實有些糾結,到底要繼續沿用馬上要變成 Jakarta EE 的 Java EE 體系呢?還是要改用基於 Java EE 延伸的 MicroProfile 呢?或者,轉向到 Spring 的陣營?甚至更破釜沈舟一點,跳出 Java 改用 Node.js 或其他語言。 考慮了許久,既然是個純興趣的 Project,就以興趣為導向吧! 目前最有興趣的是 GraphQL,同時我也想理解 MicroProfile 到底能多 micro,所以最終選擇了 Payara Micro 5.193,以 MicroProfile 原生支援的 JPA 和 CDI 來實作 ORM 及 Business Logic,以 GraphQL 作為唯一的對外 API。 # 最有趣的技術問題 我必須誠實、雀躍地說,學習新技術是開心的~(大心 由於選定的技術除了 GraphQL 以外,並沒有和經驗有太大的落差,所以能更專注在怎麼設計/實作得更好。 除了起頭在採用 GraphQL for Java 上花了一些時間外,並沒有遇到什麼困難,只能說感謝廣大的社群,世界真的因為有您們而更美好。 實作完 API 後,最初是透過 GraphiQL 的 UI 來測試,但若要執行單元測試,就會面臨到必須採用 GraphQL Client 的問題。 一開始的想法是,感謝廣大的社群,我又要來麻煩您們了~ 但找到的框架,各有各的用法,有的還非常大,不禁讓我反思「只是為了單元測試,有必要嗎?」 最後我決定返璞歸真,從透過 Browser 來監控 GraphiQL 的 HTTP Request,研究一下到底是怎麼實現的。 結論是,GraphQL Client 和 Server 之間的溝通,並沒有脫離 HTTP 通訊協議的範疇。每個操作都包裝成了 HTTP POST,因此若是在 SSL 的情況下,比一般 RESTful API 來得安全,而 POST 的 payload 也不複雜。 所以 => 最終我以 Java 11 中的 HttpClient 加上 MicroProfile 中的 JSON-P,自己實作了簡易版的 GraphQL Client for Java,實際上效果還不賴!(笑~ # 感想 假如哪天我有幸可以再成為選定技術的決策者, ㄧ、真的會優先評估採用 GraphQL 作為 API Layer; 二、MicroProfile 的標準規範,依照目前 prototype 來看,若純粹開發 API,應是足夠。更甚者,完整支援 JavaEE 8 和 MicroProfile 的 Payara Micro 整包也才不到 80 MB,對於資源錙銖必較的 Cloud Computing 真的是不錯的選擇。 回頭想,以往的專案真的花了不少力氣為了各種「略有差異」的需求一再包裝 RESTful API,以目前的理解來看,若採用了 GraphQL 的確可以有效減少這類重複作業及維護,研發人員應該會開心很多吧~ # 技術 - Application Server|Payara Micro 5.193 - Programming Language|Java, GraphQL - Framework|Java 11, GraphQL for Java & MicroProfile including CDI, JPA and JSON-P - Version Control System|Git with GitLab.com
檢舉
請先登入再留言。
送出
平震宇 Arren Ping
建立關係
發布時間: 2020年2月6日
32
5
0
JSON-P
JPA
CDI
MicroProfile
GraphQL/Java
Java 11
GraphQL
Java
分享
平震宇 Arren Ping
的其他作品
Home 官網系統
CoreWork 用戶、組織及權限管理平臺
MicroProfile Config・對啊~就是設定
StateWalker-JS
GraphQLet
ADLS 適性化知識診斷平臺