Đăng nhập
Đăng ký
Việc làm
Tìm việc
Theo dõi bản tin tuyển dụng được cập nhật liên tục theo nhóm ngành và vị trí.
Tìm công ty
Tìm kiếm việc làm theo tên công ty.
Tin tuyển dụng theo ngành
Khám phá việc làm mới nhất được tổng hợp theo nhóm ngành, nghề.
Tải app CakeResume
Công cụ
CV
Tạo CV online chuyên nghiệp, miễn phí
Portfolio
Trình bày kỹ năng chuyên môn và dự án đã thực hiện một cách sinh động, trực quan.
CV
Tạo CV online chuyên nghiệp, miễn phí
Tạo CV
Tạo CV online chuyên nghiệp, miễn phí
Mẫu CV
Truy cập kho mẫu CV online ấn tượng, chuẩn quốc tế.
CV mẫu
Tham khảo các CV mẫu đẹp đã được người dùng CakeResume ứng tuyển thành công.
Cẩm nang nghề nghiệp
Tìm hiểu cách viết CV cho từng ngành nghề và vị trí.
Trợ giúp viết CV
Tham khảo lời khuyên từ các chuyên gia tuyển dụng của CakeResume.
Portfolio
Trình bày kỹ năng chuyên môn và dự án đã thực hiện một cách sinh động, trực quan.
Tạo portfolio
Thiết kế portfolio cá nhân xịn sò để thể hiện bản thân một cách ấn tượng nhất.
Bộ sưu tập portfolio
Tham khảo các portfolio đẹp mắt từ người dùng của CakeResume.
Kho tài nguyên
Blog
Đón đọc những bài viết hữu ích chia sẻ về cẩm nang tìm việc, định hướng nghề nghiệp, tin tức ngành,...
Xem bài viết
Cẩm nang ứng viên
CV & Hồ sơ xin việc
Cover Letter
Portfolio
Phỏng vấn
Bí quyết tìm việc
Thế giới công sở
Định hướng nghề nghiệp
Chuyện đi làm
Kỹ năng nghề nghiệp
Tin tức
Về đối tác
Về đối tác
Cẩm nang doanh nghiệp
Quản lý nhân sự
Giải pháp tuyển dụng
Về CakeResume
Văn hoá & Con người
Sản phẩm/DỊch vụ
Sự kiện
Bài viết nổi bật
Chuyện đi làm
Cách trả lời thư mời nhận việc chuyên nghiệp (kèm email mẫu)
Đọc thêm
Tuyển dụng
Tìm kiếm nhân tài
Tìm CV
Đăng tin tuyển dụng
Bắt đầu miễn phí
Dịch vụ tuyển dụng
Thu hút nhân tài
Employer of Record (EOR)
Hỗ trợ doanh nghiệp tại Đài Loan
Thương hiệu nhà tuyển dụng
Xây dựng và quảng bá thương hiệu nhà tuyển dụng
Bảng giá
Gói đăng tin tuyển dụng
Gói tìm kiếm nhân tài
Gói tạo CV
Networking
Danh sách bạn bè
Truy cập danh sách bạn bè và quản lý tài khoản của bạn.
CakeResume Meet
Mở rộng mạng lưới mối quan hệ nghề nghiệp.
Cộng đồng
Tương tác với các người dùng khác thông qua forum trò chuyện và sự kiện networking.
Tải app CakeResume
Networking
Danh sách bạn bè
Truy cập danh sách bạn bè và quản lý tài khoản của bạn.
CakeResume Meet
Mở rộng mạng lưới mối quan hệ nghề nghiệp.
Cộng đồng
Tương tác với các người dùng khác thông qua forum trò chuyện và sự kiện networking.
Đăng nhập
Đăng ký
Portfolios
平震宇 Arren Ping
Project CP
Project CP
Project CP
By
平震宇 Arren Ping
・
Changhua County, Taiwan
Connect
上圖為本專案 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
Báo cáo
Please login to comment.
Post
平震宇 Arren Ping
Connect
Đã đăng: thg 2 6 2020
32
5
0
JSON-P
JPA
CDI
MicroProfile
GraphQL/Java
Java 11
GraphQL
Java
Chia sẻ
Xem thêm từ
平震宇 Arren Ping
Home 官網系統
CoreWork 用戶、組織及權限管理平臺
MicroProfile Config・對啊~就是設定
StateWalker-JS
GraphQLet
ADLS 適性化知識診斷平臺