登录
注册
找工作
搜寻职缺
探索不同产业和地区的所有工作机会
搜寻公司
根据公司名称寻找理想工作
主题专区
探索依特定主题或产业分类的工作机会
下载 CakeResume App
求职工具
简历
使用我们的免费简历工具,获取理想职缺
作品集
分享你的作品集展现你的成功专案
简历
使用我们的免费简历工具,获取理想职缺
简历工具
免费制作、下载简历
简历模板
提供大量专业模板立即使用
简历范例
从他人简历获取制作灵感
职业指南
各产业、职能的简历教学与范例
简历协助
从我们的招募团队获取关于简历的专业建议
作品集
分享你的作品集展现你的成功专案
作品集工具
制作一份展现个人专业的作品集
作品集展示区
浏览他人的真实作品集,寻找灵感并进行人脉拓展
资源
资源
从丰富内容了解职业发展、求职策略等更多资讯
查看全部文章
求职指南
简历
求职信
作品集 & 个人品牌
面试技巧
求职新知
产业 & 职位介绍
职业发展
职业规划
职业工具模板
职场人际沟通
职场管理学
人物/企业专访
人物/企业专访
雇主人力资源
人力资源运营
人力资源招募
CakeResume 专题
团队与企业文化
最新消息
活动分享
White Paper
CakeResume 2023 Employer Branding Ebook
CakeResume 2024 Management Associate Ebook
CakeResume 2024 Active Sourcing Ebook
精选文章
面试技巧
【自介範例】吸引人的面試自我介紹怎麼說?4 技巧完美活用自我介紹
阅读更多
《科技职涯》Podcast
专门邀请在科技、数位等不同领域的工作者来分享他们的职涯趣事。
Apple Podcasts
Google Podcasts
Spotify
Career Adventure Podcast
We inspire young professionals by showcasing diverse career journeys.
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 適性化知識診斷平臺