Grokking Newsletter

By Grokking Vietnam

#223 - Tăng tốc độ Redis bằng compression của DoorDash

#226・
10K

subscribers

233

issues

Subscribe to our newsletter

By subscribing, you agree with Revue’s Terms of Service and Privacy Policy and understand that Grokking Newsletter will receive your email address.

Grokking Vietnam
Grokking Vietnam
Trong số này, chúng ta cùng tìm hiểu về:
  • Khái niệm Architectural decision records
  • Tăng tốc độ Redis bằng compression của DoorDash
  • SQL notebooks của Facebook
  • Lời giải bài Fraction to Recurring Decimal
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: Add Two Numbers II
Tóm tắt: Cho 2 số nguyên được biểu diễn bằng LinkedList, hãy tính tổng của 2 số và trả lại kết quả cũng là LinkedList.
Ví dụ:
l1 = 7 → 2 → 4 → 3
l2 = 5 → 6 → 4
Tổng của hai số là 7243 + 564 = 7807
Biểu diễn bằng LinkedList: 7 → 8 → 0 → 7
Lời giải đề bài tuần trướcFraction to Recurring Decimal
(by phucnh)
Đây là một bài áp dụng cách chia 2 số nguyên. Ta cùng ôn lại cách chia.
Giả sử ta có phân số 4/9, tử số (numerator) là 4, phân số (denominator) là 9, để biểu diễn phân số dưới dạng số thực, ta thực hiện 4 chia 9 như sau:
  1. Phần nguyên = tử số / mẫu số - 4 / 9 = 0, dư 4
  2. Phần thập phân = số dư * 10 / mẫu số
   4 * 10 / 9 = 4, ta có kết quả = 0.4, dư 4
   4 * 10 / 9 = 4, ta có kết quả = 0.44, dư 4
   4 * 10 / 9 = 4, ta có kết quả = 0.444, dư 4
   …
Nếu ta cứ tiếp tục thực hiện phép chia, ta luôn luôn thu được số dư là 4, và phần thập phân là một chuỗi số 4 vô hạn. Theo đề bài, ta cần biểu diễn dưới dạng “0.(4)”.
Bạn đọc có thể thực hiện tương tự để biểu diễn các phân số 1/3, 2/3, 4/333…
Ta nhận thấy, nếu ta gặp số dư lặp lại, ta sẽ được kết quả chia giống với kết quả chia trước đó, và độ dài của số thập phân là vô hạn. Như vậy ta hoàn toàn có thể sử dụng hashmap để kiểm tra xem đã gặp số dư trước đó chưa. Thuật toán được thực hiện như sau: https://pastebin.com/ucpPX8T2
Code & Tools
  • 50projects50days - 50+ dự án web nhỏ sử dụng HTML, CSS, và JS
  • Flutter - một Google’s SDK đa nền tảng để việc xây dựng ứng dụng trên mobile, web, và desktop một cách dễ dàng hơn
Quotes
The most important property of a program is whether it accomplishes the intention of its user.
― C.A.R. Hoare
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)
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