Grokking Newsletter - Issue #1
Xin chào các bạn kĩ sư phần mềm và những người đam mê khoa học máy tính!
Cảm ơn các bạn đã gắn bó/tham gia những hoạt động của Grokking trong suốt quãng đường 2 năm thành lập vừa qua.
Hôm nay, Grokking xin được ra mắt các bạn 1 dự án mới - Grokking Newsletter, với mục tiêu tiếp tục chia sẻ các kiến thức, bài viết hay về Khoa Học Máy Tính (Computer Science) và Thiết Kế Phần Mềm (Software Engineering) đến với các bạn thường xuyên hơn và đều đặn hơn.
Số đầu tiên này có thể sẽ chưa đạt được kì vọng của mọi người, chúng mình rất mong sẽ nhận được đóng góp của các bạn để nâng cao chất lượng nội dung hơn nữa. Nếu có góp ý gì các bạn chỉ cần nhấn Reply email, và gửi ngay cho chúng mình nhé. Hoặc nếu các bạn có bài viết hay muốn Grokking feature cũng reply luôn nhé.
Happy Grokking,
grok (v): To understand something thoroughly that it becomes a part of you.
E.g.: “It took me 2 years to grok regular expression, now everything to me is a RegEx”
Những bài viết hay
Binary Indexed Tree (hay Fenwick Tree) trong Data Analytics (Tiếng Việt)
Một bài toán về big data aggregation, được tác giả trình bày chi tiết một hướng giải bằng cách dùng cấu trúc dữ liệu binary indexed tree.
Cho một mảng gồm N số nguyên. Làm sao để (trong thời gian/độ phức tạp tốt):
1- Cập nhật bất kì số nguyên nào của mảng
2- Tính tổng các số trong một khoảng bất kì nào đó (từ phần tử mảng ở vị trí A tới vị trí B chẳng hạn)
Mời các bạn đọc bài của tác giả Linh Tran Tuan để tìm hiểu thêm nhé.
Cấu trúc dữ liệu mới trong Redis: Streams (English)
Redis là một key-value in-memory data structure phổ biến mà chắc hẳn bạn engineer nào cũng biết đến, vì tính dễ xài (single-thread). Mới đây, antirez (Salvatore Sanfilippo) - creator của Redis, đã viết một bài blog giới thiệu về 1 kiểu dữ liệu mới mà anh ấy đang phát triển: streams.
Streams được lấy cảm hứng từ log-based streaming (mà khởi nguồn là Kafka). Bài viết (English) chia sẽ về trải nghiệm, và suy nghĩ của tác giả khi tiếp cận & implement cấu trúc dữ liệu mới này.
Faktory - Background Job System từ tác giả của Sidekiq (English)
Mike Perham, tác giả của Sidekiq (thư viện background worker nổi tiếng trong Ruby/Rails), vừa cho ra đời 1 thư viện background job framework mới, có thể chạy trên mọi ngôn ngữ lập trình.
Faktory được viết hoàn toàn bằng Go, không cần Redis để chạy, và mục tiêu là language-agnostic hơn những thư viện khác.
RacerD - Static Race Detection từ Facebook (English)
RacerD là một static code analysis tool mới được open-source của Facebook, là software sẽ chạy & scan code của bạn để phát hiện các lỗi concurrency error (non-threadsafe, read/write race condition.
Theo như Facebook nói thì RacerD không cần chạy chương trình của bạn, mà dùng một kĩ thuật gọi là symbolic reasoning để quét qua nhiều execution path khác nhau của code bạn 1 cách nhanh chóng.
Sự kiện nổi bật
Hackathon về Blockchain: Vietnam Blockathon — www.facebook.com
Được tổ chức bởi State Bank of Vietnam, Mekong Business Initiatives, Saigon Innovation Hub, Infinity Blockchain Labs and Fintech Club Vietnam. Sự kiện sẽ diễn ra ở Hanoi & Saigon.