View profile

#223 - Tổng hợp 1000 bài viết từ Grokking Newsletter

Grokking Vietnam
Grokking Vietnam
Chào các bạn độc giả của Grokking Newsletter.
Bắt đầu từ những số newsletter đầu tiên vào tháng 11/2017, tới nay Grokking Newsletter đã trải qua 1 chặng đường dài gần 5 năm. Trong mỗi số newsletter chúng tôi đều cố gắng giới thiệu từ 4-5 bài viết hay. Sau 222 số chúng ta đã có khoảng 1000 bài viết tất cả.
Một trong những khó khăn đối với các độc giả của Grokking Newsletter đó chính là tìm kiếm các bài viết cũ theo những chủ đề mà các bạn đang quan tâm. Vì thế chúng tôi đã khởi động 1 dự án nhằm migrate toàn bộ bài viết của newsletter lên 1 nền tảng mới, Knowledge Graph.
Sau nửa năm với sự tham gia của rất nhiều thành viên Grokking, nay chúng tôi xin chính thức giới thiệu với các bạn Grokking Knowledge Graph: https://knowledge.grokking.org/
Tại website này, chúng tôi đã tổng hợp toàn bộ 1000 bài viết của newsletter từ trước tới nay, ngoài ra các bài viết đều được phân loại, gán nhãn theo từng chủ đề quan trọng. Qua đó chúng tôi hy vọng các bạn có thể dễ dàng tìm kiếm được những bài viết mà mình quan tâm.
Trong tương lai, chúng tôi cũng sẽ tiếp tục bổ sung thêm nhiều nội dung thú vị khác. Rất mong tiếp tục nhận được sự ủng hộ của các bạn.
Mọi ý kiến đóng góp xin gửi về newsletter@grokking.org
Trong số này, chúng ta cùng tìm hiểu về:
  • Phát hiện ảnh tương đồng với Apache Flink tại Pinterest
  • Phát hiện hàng triệu hình ảnh tương tự nhau mỗi ngày bằng Apache Flink trong thời gian thực
  • Sử dụng Mono Repo hay Multi Repo đối với Terraform
  • Bài học từ việc trở thành CTO của một start-up nhỏ
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: Next Permutation
Bài toán cho trước một mảng các số tự nhiên. Yêu cầu sinh ra một mảng số tự nhiên khác là hoán vị tiếp theo theo tứ tự từ điển của mảng ban đầu. 
Ví dụ 1:
Input: [1,2,3]
Output: [1,3,2]
Ví dụ 2:
Input: [1,1,5]
Output: [1,5,1]
Lời giải đề bài tuần trướcAdd Two Numbers II
(by ndaadn)
Đề bài cho 2 số nguyên được biểu diễn bằng Linked List, tính tổng của 2 số và trả lại kết quả cũng là Linked List.
Đề bài khá rõ ràng và không có các các trường hợp mẹo, vậy nên ý tưởng cho bài toán là thực hiện phép tính cộng từ phải qua trái tương tự như cách ta cộng 2 số thông thường. Ta thực hiện giải thuật như sau:
  • Đảo ngược 2 Linked List.
  • Thực hiện cộng từng số hạng một trong mỗi Linked List và lưu kết quả vào một Linked List mới.
  • Đảo ngược và trả về Linked List kết quả.
Độ phức tạp thuật toán là O(N) với N là độ dài lớn nhất của 2 Linked List đề cho.
Trong trường hợp đề bài không cho đảo ngược LinkedList, ta có thể sử dụng đệ quy để giải bài này như sau:
Code & Tools
  • fzf - a general-purpose command-line fuzzy finder.
  • ledger - a powerful, double-entry accounting system that is accessed from the UNIX command-line
Quotes
“The best programs are written so that computing machines can perform them quickly and so that human beings can understand them clearly. A programmer is ideally an essayist who works with traditional aesthetic and literary forms as well as mathematical concepts, to communicate the way that an algorithm works and to convince a reader that the results will be correct.”
― Donald E. Knuth, Selected Papers on Computer Science
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)
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