Virtual WeBuild Day: Thanks for Joining us
Điểm tin
Cảm ơn mọi người vì đã tham dự Virtual WeBuild Day thứ 7 vừa qua. Dù quá trình streaming vẫn còn trục trặc kỹ thuật, lượng participant vẫn vượt mức mong đợi và kéo dài thời lượng hơn 1 tiếng so với dự kiến 10PM ban đầu 🌚
Để đáp ứng nhu cầu của anh em khác múi giờ, link full record đã có tại Youtube WeBuild 🎙
Hy vọng mọi người có một trải nghiệm vui tại Discord - nơi WeBuild member (mong là) sẽ dành nhiều thời gian hơn sắp tới. Road to more discussion, event & airdrop trong tương lai 🚀
Welcome anh em: http://discord.link/webuild
Editor's Pick
1) Bảo mật thông tin trong hệ thống streaming: Việc cắt nhỏ thời lượng stream, sử dụng gateway stream từ source file hoặc giới hạn các bên truy cập vẫn chưa hoàn toàn tối ưu việc bảo mật cho quá trình stream/restream thông qua streaming URL.
Một comment khá chi tiết đóng góp bởi bạn @Minh Monmen
Convert file mp4 gốc ra hls (dạng playlist m3u8). Bước này nhằm play & seek dễ hơn.
Bảo vệ frontend để chống link bị nhúng iframe hoặc player bằng cors, frame options. Bước này hạn chế việc web khác lợi dụng chiếm bandwidth.
Sử dụng check referer & cookie để tăng cường bảo mật.
Bảo mật download thông qua việc share link. Bước này có thể dùng signature link + check ip + expire time,...etc
Chống các tool download m3u8 trực tiếp trên trình duyệt bằng code js, change link khi play 1 khoảng thời gian.
DRM. Quản lý bảo mật nội dung số
2) Source tổng hợp các link UX/UI và best practice cho Frontend Development - shoutout to bác @Bần Làm Vườn
https://tympanus.net/codrops: Practical implementation/tutorial side
https://www.awwwards.com: Goes bonker on the art, but absolutely horrendous on UX
https://pttrns.com: Mobile UI patterns
https://www.nngroup.com: For UX research/case study
www.goodweb.design: Landing page, filterable by section
Anh chị em có suggest thêm source vui lòng nhắn cho tụi mình hoặc drop vào Discord-frontend nhé.
Khi số lượng người dùng bắt đầu vượt ngưỡng và quá tải hệ thống monolithic - việc sharding database là điều không thể tránh khỏi. Việc sharding một database sẽ gặp nhiều khó khăn cho developer: maintenance, ràng buộc trong application-level code, và xây dựng kiến trúc hệ thống riêng biệt. Trong quá trình sharding database, Notion đã đi qua 3 bước chính:
Sharding data transitively related to block: Sử dụng foreign key để collect data ở 2 db riêng biệt
Partition block data by workspace ID: Sử dụng workspace ID nhằm query chính xác data cần thiết
Capacity planning: Tính toán sức chứa với 480 logical shard, từ 32 database node (physical shard) và 15 logical shard trên mỗi node.
Readings & tips
Facebook Outage: Tóm tắt sự cố sập nguồn của Facebook, nghi vấn liên quan DNS
Makefiles & Envsubst: Thay thế cho Helm & Ksonnet
Sanitizer API: Giảm khả năng attack do string injection
Durov's Channel: Daily Inspiration của Telegram's founder