---
# System prepended metadata

title: WeBuild is moving to Notion
tags: [newsletter]

---

---
tags: newsletter
title: WeBuild is moving to Notion
---

# Điểm tin
Low-code là phương thức xây dựng web đang dần được developer và designer áp dụng. Tụi mình cũng không ngoại lệ khi sử dụng Notion để xây dựng [trang chủ  WeBuild](https://we-build-vn.slack.com/archives/C0GCPHQNM/p1624875547378200). Một trong những feature mới mang lại là danh sách upcoming event được tổng hợp từ các nguồn và group lập trình uy tín. Website vẫn đang được chỉnh sửa để mang lại giao diện tốt hơn, version hiện tại nằm ở https://webuild.community/. Anh em có request hoặc góp ý cứ để lại comment bên dưới nhé. 

![](https://i.imgur.com/X6az5Rb.png)


## Editor's Pick
**[GitHub Copilot](https://techcrunch.com/2021/06/29/github-previews-new-ai-tool-that-makes-coding-suggestions//)** gây nên khá nhiều xôn xao trong giới developer tuần qua. Summarize một số highlight về AI-tool này:
- Copilot là một công cụ lập trình AI, giúp developers build code chất lượng và nhanh chóng. Bằng cách phân tích ngữ cảnh và đề xuất code và hàm phù hợp, Copilot giúp developer lựa chọn nhiều solution khác nhau cho cùng một issue, viết test code và tạo dựng API mới. Copilot hiện đang hỗ trợ Golang, JavaScript, TypeScript, Python và Ruby.
- *["Copilot có thay thế được lập trình viên không?"](https://catalins.tech/github-copilot-will-artificial-intelligence-replace-developers)* là câu hỏi nhận được nhiều nhất khi Copilot ra mắt với nhiều nguồn ý kiến liên quan. Highlight chính của CoPilot là tiết kiệm thời gian và đưa ra gợi ý giúp tối ưu hoá công việc cho dev. Tuy nhiên cách xử lý vấn đề và lựa chọn solution vẫn do developer chủ động. Có thể hiểu tương tự StackOverflow, [CoPilot là công cụ hỗ trợ](https://hackernoon.com/no-github-copilot-will-not-steal-your-job-q83d35au), không thể hoàn toàn thay thế vị trí của developer. 

![](https://i.imgur.com/m78gDyH.jpg)


GitLab vừa release [version 14](https://about.gitlab.com/blog/2021/06/22/gitlab-14-modern-devops/), đánh dấu một bước tiến cho việc promote GitOps - operate mọi thứ liên quan đến Ops trên cùng một platform. 

Version 14 hỗ trợ versioning và pipeline visualization, quản lý source code và infrastructure trên cùng nền tảng, DevOps dễ dàng hơn trong việc collab và thực thi luồng CI/CD. Tương tự các phiên bản release gần đây của những tech giants, mục tiêu của GitLab xoay quanh việc tối ưu hoá workflow và user experience trong bối cảnh hybrid/ remote working. 


# #codetips

**[Implicit vs Authorization Flow](https://docs.pivotal.io/p-identity/1-11/grant-types.html)**
Việc đăng nhập bằng các tài khoản từ các nền tảng khác nhau đã quá quen thuộc với người dùng nhờ một vài cơ chế cấp quyền từ một third-party. Một trong số đó là OAuth 2.0. WeBuild tuần qua có một topic khá hay với câu hỏi "Vì sao Authorization Code Flow lại giúp bảo mật cao hơn so với Implicit?." 

Tuỳ vào use case sẽ có những grant types phù hợp tương ứng. Topic nhận được một **[highlight answer từ @Vu](https://we-build-vn.slack.com/archives/C0P5CRESE/p1625672732103800?thread_ts=1625665341.103300&cid=C0P5CRESE)**, được tóm gọn như sau: 
- Implicit Flow: được khuyến khích trong trường hợp cần short-lived token ở public client như single-web app hay mobile app. Token sẽ expired sau một thời gian ngắn và user phải đăng nhập lại để lấy token mới. Điều này đơn giản vì client đó không an toàn, người khác có thể dễ dàng truy cập, can thiệp để lấy client secret nếu có. 
- Authorization Code Flow: phù hợp cho việc refresh token để truy cập dài hạn, nên được dùng cho confidential client, có khả năng bảo về client secret (backend client là một ví dụ). Sau khi được cấp quyền với refresh token, backend có thể duy trì truy cập đó rất lâu trước khi người dùng bỏ quyền của client đó. Token hay code có nằm trên URL hay không phụ thuộc vào response mode do client lựa chọn. Việc sử dụng form POST khiến Authorization Code Flow an toàn hơn vì data được xử lý tại backend mà không dựa vào tham số trên URL.

# #til 
- [Avoid complexity với systemd](https://we-build-vn.slack.com/archives/C0GUMNSH0/p1624790236475200) **@anhduy**
- [HTTP replacement for display:none](https://we-build-vn.slack.com/archives/C32HMMUAW/p1624962948057800) **@kcjpop**
- [Design inspiration](https://we-build-vn.slack.com/archives/C16AY670U/p1625000147342600) **@huytd**
- [Cloud Design Pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/) **@meow**
- [Bad practice thường gặp trong HTML](https://we-build-vn.slack.com/archives/C16AY670U/p1625156702380700) **@Ralph**
 - [Track sai số trong dữ liệu của Gitlab cache](https://we-build-vn.slack.com/archives/C16AY670U/p1625047076361200) **@xluffy** 
 - [Google nói gì về cách xây dựng thị trường game](https://we-build-vn.slack.com/archives/C16AY670U/p1625463621408400) **@huytd**