#87 - Learning the hard way: Microservices
Những bài viết hay
Learning the hard way: Microservices — itnext.io
Xây dựng một hệ thống trên nền kiến trúc Microservice không phải là một việc dễ dàng. Đôi khi chúng ta mất rất nhiều năm, công sức và rồi nhìn lại thấy có những vấn đề mà chúng ta đã vô tình bỏ qua. Trong bài viết sau, tác giả chia sẻ lại những bài học giá trị mà họ đã bỏ lỡ trong quá trình 3 năm xây dựng một hệ thống. Hy vọng với những ai cũng đang trên con đường tương tự có thể từ đó rút ra những bài học cho riêng mình và né tránh những lỗi lầm không đáng có.
Understanding Closures in JavaScript — medium.com
Trong Javascript một khái niệm không dễ tiếp thu đó là closure nhưng rất quan trọng vì nếu không hiểu rõ về nó thì chúng ta rất khó làm việc với Javascript. Hầu hết các bài viết chỉ giải thích ở mức độ function context nhưng thực tế thì nó không chỉ như vậy. Đọc bài viết của Aphinya Dechalert tìm hiểu rõ hơn về closure.
SQL Planning: Parser & Optimizer — medium.com
Một số distributed database được xây dựng với sự kết hợp của phần cú pháp SQL và hệ thống lưu trữ dưới dạng key-value, có thể kể đến như Cockroach DB, TiDB, …
Trong bài viết này giúp làm rõ một số vấn đề sau:
Cách thức câu SQL query được chuyển đổi thành cú pháp key-value.
Quá trình phân tích câu query thành cây cú pháp trừu tượng.
Quá trình tối ưu hóa câu query trước khi được thực thi.
Làm thế nào một Distributed database (như TiDB) xử lý quá trình này.
Một bài viết chất lượng tới từ team ZaloPay.
Google Interview Problems: Ratio Finder — medium.com
Các câu hỏi phỏng vấn của Google luôn là những bài toán hấp dẫn và đầy thách thức. Trong bài viết sau, mời bạn cùng thử sức với bài "Ratio Finder". Bài viết được viết bởi tác giả từng làm việc tại Google với nhiều năm kinh nghiệm phỏng vấn các ứng viên. Trong bài viết cũng đưa ra những lời khuyên hữu ích cho ứng viên trong quá trình chuẩn bị và đi phỏng vấn.
Bạn có biết
Đối với các ứng dụng web front-end trước đây sử dụng jQuery, khi một ứng dụng càng phức tạp thì việc tổ chức code logic, code thao tác DOM cũng ngày càng trở nên rối rắm. SegregatedDOM là một trong các pattern thuộc kiểu (Separation of Concerns) có thể sử dụng để giúp tổ chức code tốt hơn bằng cách nhóm những code logic thao túng DOM vào những class độc lập với code logic.
Sách hay nên đọc
Code review là một bước không thể thiếu trong quy trình xây dựng phần mềm. Tài liệu này của Google Engineering đưa ra những lời khuyên hữu ích dành cho quá trình code review mà các bạn nên tham khảo.
Code & Tools
Kubernetes operator for managing the lifecycle of Apache Flink applications. — github.com
Kubernetes Operator là một trình quản lý và điều khiển ứng dụng trên nền tảng Kubernetes.
Learn regex the easy way — github.com
Regular expression (regex) là một công cụ rất hữu hiệu, tuy nhiên để hiểu và sử dụng nó cũng không phải chuyện dễ dàng.
Tin tức khác
Nếu bạn tò mò muốn biết thị phần các trình duyệt thay đổi như thế nào từ năm 1996 tới nay, mời bạn cùng xem đoạn video ngắn sau đây nhé.
Sự kiện trong tuần
Grokking Workshop #07: Build a Rest API Server with Nodejs — www.facebook.com
Sáng thứ 7 ngày 21/09/2019, team Grokking có tổ chức workshop: Build a Rest API Server with Nodejs nhằm mục tiêu giúp cho các bạn tìm hiểu và tham gia vào quá trình phát triển API sử dụng NodeJS.
Đăng ký tham gia tại đây: http://bit.ly/2Kupfct
Grokking Workshop #08: Postgres Intermediate — www.facebook.com
Nhằm mục tiêu giới thiệu thêm nhiều tính năng của PostgeSQL mà các bạn dev chưa sử dụng qua hoặc chưa tìm hiểu sâu như explain query, các loại index và cách sử dụng hiệu quả, window function, cách để handle locking. Team Grokking tổ chức buổi workshop: Postgres Intermediate để giúp các bạn có thể xử lý vấn đề với postgres nhanh hơn, operation một cách dễ dàng hơn và giảm đi những khó khăn mang lại hiệu quả cho công việc liên quan tới PostgreSQL.
Các bạn có thể đăng ký tham gia Workshop tại đây: http://bit.ly/2Kupfct
This week sponsor
Được thành lập từ năm 2004, VNG Corporation là một trong những công ty Internet Công Nghệ hàng đầu tại Việt Nam, được vinh danh là start-up kỳ lân đầu tiên của Việt Nam tính đến thời điểm hiện tại. VNG nuôi dưỡng hệ sinh thái dịch vụ đa dạng như trò chơi trực tuyến, nền tảng kết nối, tài chính, thanh toán, dịch vụ đám mây… Với sứ mệnh “thay đổi Internet để thay đổi cuộc sống người Việt”, VNG không ngừng cải tiến và hoàn thiện hơn các sản phẩm giúp người dùng có những trải nghiệm ấn tượng và tốt đẹp.
VNG hiện có 3 văn phòng tại Việt Nam (Hồ Chí Minh, Hà Nội, Đà Nẵng) và 3 văn phòng tại các nước Thái Lan, Singapore, Myanmar.
Góc tuyển dụng
Game Development Fresher 2019 — career.vng.com.vn VNG Fresher là chương trình Ðào Tạo & Tuyển Dụng do VNG tổ chức dành cho sinh viên năm cuối tại các trường Ðại học tại Việt Nam
Quote
The best way to get the right answer is not to ask a question; it’s to post the wrong answer.
Cunningham’s Law