View profile

#230 - Tìm hiểu về WebRTC và cơ chế peer to peer networking

Grokking Vietnam
Grokking Vietnam
Trong số này, chúng ta cùng tìm hiểu về:
  • NGAC Vs RBAC Vs ABAC các cơ chế phân quyền cơ bản
  • Tìm hiểu về WebRTC và cơ chế peer to peer networking
  • Druid, ClickHouse, and Pinot vs data lakes and data warehouses
  • Lời giải bài Minimum Knight Moves
Ngoài ra các bạn vẫn có thể tiếp tục đặt mua ấn phẩm Dijkstra tập 2 tại đây nhé.

Những bài viết hay
Góc Lập Trình
Đề ra tuần này: Find Root of N-Ary Tree
(by phucnh)
Cho một N-ary tree được biểu diễn bởi một list của các nút, ta có giá trị của các nút là duy nhất. Hãy trả về nút gốc của N-ary tree.
Lời giải đề bài tuần trướcMinimum Knight Moves
(by ndaadn)
Đề bài yêu cầu tìm số lần di chuyển nhỏ nhất để quân mã đi từ vị trí (0, 0) tới vị trí (x, y) trên bàn cờ. Nếu ta coi các vị trí mà quân mã có thể di chuyển tới được như các đỉnh của đồ thị, thì ta có thể mô hình hoá bài toán dưới dạng tìm đường đi ngắn nhất giữa 2 đỉnh trong đồ thị không có trọng số (unweighted graph). Duyệt theo chiều rộng (BFS) là cách tiếp cận thông dụng nhất để tìm đường đi ngắn nhất giữa 2 đỉnh trong đồ thị không có trọng số.
Giải thuật dựa trên BFS được thực hiện như sau: https://pastebin.com/eNF9e8rj
Độ phức tạp về thời gian và không gian của cách giải thuật này là O(max(|x|, |y|)^2). Với BFS, để đi được tới đích, ta cần phải duyệt tất cả các vị trí mà quân mã có thể di chuyển được tại vị trí hiện tại. Để dễ hình dung cách tính độ phức tạp của giải thuật, ta có thể vẽ 1 đường tròn với bán kính là (0, 0), (x, y), như vậy các điểm mà quân mã có thể di chuyển tương đương với diện tích của hình bao của đường tròn. Đây là một hình vuông có cạnh bằng max(2|x|, 2|y|).
Số lượng các vị trí sẽ xấp xỉ diện tích của hình vuông, bằng (max(2|x|, 2|y|))^2 (Diện tích của hình vuông bằng bình phương của 1 cạnh).
Ngoài ra, bài toán này có một cách tiếp cận khá thú vị. Bởi bàn cờ có tính chất đối xứng, thay vì sử dụng BFS để duyệt toàn bộ các vị trí xung quanh quân mã, thực tế, ta cho cần duyệt theo 1 hướng (thay vì 4 hướng) như sau:https://pastebin.com/Jt5jf9N2
Với cách tiếp cận trên, độ phức tạp về thời gian và không gian chỉ là O(|x*y|).
Code & Tools
  • Open Metadata - Là một công cụ cung cấp tiêu chuẩn mở cho việc lưu trữ metadata của các tập dữ liệu khác nhau trong một data platform. Open metadata được thiết kế là nơi duy nhất chứa các thông tin cần thiết giúp data users khám phá, tìm kiếm, hiểu chính xác và có được data mà họ cần.
Feedback
Bạn đánh giá nội dung số newsletter này thế nào?
(1 = Rất tệ / 5 = Rất tốt)
👎 1 —— 2 —— 3 —— 4 —— 5 👍 
(Việc đánh giá của các bạn là rất quan trọng, sẽ giúp chúng tôi liên tục cải thiện nội dung newsletter tốt hơn)
Grokking mang lại cho các bạn những kiến thức mới mẻ và hữu ích thông qua:
  • Tech Talk: Là một hoạt động thường xuyên của Grokking từ những ngày đầu thành lập. Tại đây các diễn giả chia sẻ kiến thức xoay quanh Computer Science và Software Engineer. Các buổi Tech Talk đều được record và upload lên kênh youtube của Grokking.
  • Grokking Knowledge Graph: Tập hợp những nguồn kiến thức phong phú với hơn 1000 bài viết chọn lọc, các đầu sách, khóa học, v.v… Các bài viết đều được gán nhãn để giúp bạn đọc dễ dàng tìm kiếm.
  • Webinar: Là chương trình kết nối các kỹ sư Việt Nam và các kỹ sư đang làm việc tại các công ty công nghệ hàng đầu thế giới.
  • Dijkstra: Một ấn phẩm được xuất bản bởi các thành viên của Grokking. Với những bài viết đào sâu vào kỹ thuật và kiến thức khoa học máy tính.
  • Kipalog: Nền tảng chia sẻ kiến thức dành cho các lập trình viên.
  • Newsletter: Những bài viết hay về công nghệ sẽ được gửi tới bạn hàng tuần qua email.
Chúc các bạn sẽ tìm được nhiều điều mới mẻ khi đến với Grokking và xin hẹn gặp lại các bạn vào tuần sau.
Quotes
“Sufficiently advanced trolling is indistinguishable from thought leadership.”
— Hall’s Law
Did you enjoy this issue? Yes No
Grokking Vietnam
Grokking Vietnam

Cảm ơn bạn đã dành thời gian đọc newsletter kỳ này và chúng tôi hi vọng rằng bạn đã khám phá ra một số điều mới mẻ từ các bài viết trên. Các bạn có thể đọc lại các số cũ tại website newsletter.grokking.org

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.
Viet Nam