Covid support projects và Committee meeting
Điểm tin
1) Tuần vừa rồi nhóm committee của WeBuild có diễn ra một buổi họp ngắn để tổng kết tình hình hoạt động của cộng đồng sau hơn 3 tháng không gặp nhau. Kể từ ngày có WeBuild weekly roundup mà thông tin chung sau một tuần được tổng hợp lại một cách tương đối, cung cấp thêm góc nhìn cho member WeBuild.
Là một trong những người tổng hợp tin tức, tôi ước gì có cái tool để bookmark mấy cái thread nhiều reactions lại để tôi khỏi phải kéo cái random dài ngoằng.
2) Các kênh ở Discord đang dần đi vào hoạt động với nhiều member mới tham gia, đặc biệt là cụm golang, frontend và … java. Chào mừng tất cả các bạn.
3) Tuần vừa rồi tại channel #devtools ở Slack mấy anh em lại quay trở lại thảo luận câu chuyện về editor, nvim và vscode. Không phủ nhận sự tinh giản của vim và emacs nhưng ai rồi cũng trở về sử dụng vscode thôi :go:
4) Sau khi nói chuyện với một vài nhóm làm dự án hỗ trợ VN trong giai đoạn Covid, tụi mình nhận ra nhu cầu về engineer resource đang cấp thiết. Vì thế thành viên WeBuild nếu bạn nào tự tin về kĩ năng
Node.js backend
React Frontend (react native)
Devops (k8s)
và đặc biệt là sẵn lòng dành quỹ thời gian buổi tối/ cuối tuần để đóng góp vào các project cần giúp đỡ thì ping admin @huydx nhé.
Editor's Pick
1) Job queue & cronjob, context & solution
Build bằng tool: Nhanh & phù hợp khi cần 1 queuing task (redis list, rabbitmq). Với ngữ cảnh này có thể dùng luôn chính database.
Tự code: Phù hợp nhu cầu custom tính năng cho cronjob.
Tuy nhiên, job queue không được khuyến khích tự build vì sẽ tốn nhiều thời gian để quản lý và chỉnh sửa schedule, retry hoặc delay. Sử dụng những framework dành riêng cho từng ngôn ngữ sẽ giúp build cronjob hiệu quả (Ruby, Python, .NET hoặc Go)
Sau khi quen với cách các lib/tool hoạt động, việc custom cronjob theo nhu cầu sử dụng hoặc viết lại một số tính năng sẽ dễ dàng hơn.
Kafka, hay Apache Kafka là 1 event streaming software (là 1 queue). Mỗi event được xem như 1 todo. Sau khi có todo, worker/consumer xử lý từng event và phân bổ vào hệ thống/ module cần thiết.
Kafka hoạt động theo cơ chế publish-subscribe model. Bên public dữ liệu sẽ gọi Kafka là producer và bên subscribe khi nhận dữ liệu theo topic thì sẽ gọi là consumer.
Khi producer produce ra 1 event, event này sẽ được add vào Kafka để consumer xử lý. Mỗi event khi gửi tới Kafka node đều được lưu trữ tại nơi gọi là topic. Việc phân chia event thành topic giúp quản lý logic xà xử lý dữ liệu tốt hơn. Do topic đa phần có kích cỡ rất lớn, mỗi topic sẽ được phân bổ thành nhiều partitions. Tuy sẽ khó hơn trong việc xử lý logic, nhưng partitions sẽ cho phép consumer thực hiện subscribe song song với từng topic cụ thể.
tooling & tips
Work-life separation @huytd
Sparse Checkout @huytd
The Woke Salary Man @hieu.huynh
Trong iTerm, two finger left-right swipe = change tab @stronglong
Chrome built-in DNS tại chrome://setting/security @An Nguyen
Ở Vim's insert mode, hotkeys Ctrl+O có thể chạy lệnh bất kỳ trong Visual Mode @dan
Dùng
to_timestamp(<field>)
để convert unix timestamp về readable timestamp trong SQL @huytd
crypto updates
Tuần này hem có crypto updates như thường lệ, nhưng mà nhìn chung alt coin đang pump. Tokenization is everywhere.
Nhiều sản phẩm NFT games ra đời và cá nhân team mình cũng đang tham gia. Cuối tuần vừa rồi, nhờ bạn @monodyle ngồi phát cho cái logo và đây là thành quả: https://cypherarts.co. Dự án này giúp các indie artist NFT hoá các tác phẩm của mình và bày bán ở các platform khác nhau.
Vui một tí, nhưng điều bên dưới này đang diễn ra