Grokking Newsletter

Share this post

#84 - Làm thế nào để xây dựng một sản phẩm phần mềm tốt?

newsletter.grokking.org

#84 - Làm thế nào để xây dựng một sản phẩm phần mềm tốt?

Grokking Vietnam
Aug 25, 2019
Share this post

#84 - Làm thế nào để xây dựng một sản phẩm phần mềm tốt?

newsletter.grokking.org

Để giúp cải thiện chất lượng nội dung của newsletter, mong bạn dành ít thời gian phản hồi cũng như đóng góp ý tưởng giúp team thông qua link khảo sát hàng tuần ở đây nhé: tại đây.


Những bài viết hay

How to Interview Engineers — triplebyte.com

Không phải những buổi phỏng vấn kỹ thuật nào cũng có những kết thúc tốt đẹp. Chúng ta dễ dàng tìm đọc những phàn nàn từ các ứng viên về quy trình tuyển dụng, phỏng vấn. Từ hơn 900 cuộc phỏng vấn trong suốt 2 năm, tác giả đã rút được những kinh nghiệm, lời khuyên rất hữu ích dành cho những người tham gia phỏng vấn ứng viên. Phỏng vấn một ứng viên không phải là việc dễ dàng, nhưng chúng ta có thể tránh được nhiều vấn đề nếu có một quy trình cẩn thận và chuyên nghiệp.

How to Build a Good Software? — www.csc.gov.sg

Có thể bạn sẽ cảm thấy ngạc nhiên khi biết rằng nguyên nhân cốt lõi của các "bad software" thường ít liên quan đến các lựa chọn kỹ thuật cụ thể mà thường liên quan nhiều đến cách quản lý và phát triển các dự án. Các dự án phần mềm tồi tệ nhất thường tiến hành theo một cách rất riêng.

Tuân thủ các nguyên tắc sau đây khi phát triển một dự án sẽ giúp bạn có một sản phẩm hoàn thiện và tốt hơn.

Service Mesh, API Gateway, Message Queue - when to use what?

Bài viết sau giải thích những cách khác nhau nhằm tổ chức liên lạc giữa các microservice như: Service Mesh, một API Gateway hay một Message Queue. Từ đó bạn có thể chọn lựa được phương án phù hợp cho mình.

Sản phẩm của người Việt

go-advanced: A small Vietnamese Go book compiled by ZaloPay teams. — github.com

Đội ngũ ZaloPay mới public một bộ sách viết bằng tiếng Việt mang tên go-advanced. Sách có 6 chương, bao gồm nhiều level từ cơ bản (basic) đến nâng cao (CGO, web, distributed system). Bên cạnh việc giải thích những khái niệm một cách rất dễ hiểu như: hệ thống phân tán, crawler, search-engine. Ngoài ra, cuốn sách còn kèm theo rất nhiều ví dụ cụ thể theo từng chương, từng chủ đề. Cuốn sách là một nguồn tài liệu tiếng Việt tốt cho các lập trình viên tham khảo.

Sách hay nên đọc

Code by Charles Petzold — www.goodreads.com

Nếu bạn đã từng thắc mắc, điều gì xảy ra bên trong các thiết bị điện tử thì đây là cuốn sách nên đọc.

Tác giả Petzold đã mở ra thế giới điện toán thông qua cách kể chuyện súc tích. Bắt đầu với cơ sở về mã Morse và chữ nổi thông qua hệ thống điện báo, mã vạch, logic boolean, mạch có bộ nhớ, máy von neumann, các thiết bị ngoại vi, thiết bị I/O, giao diện GUI, nói về HTTP và rồi tới thế giới web.

Tất cả được thể hiện qua từng câu chuyện, giúp chúng ta đi sâu vào thế giới điện tử, hiểu sâu hơn về cách các thiết bị hoạt động, giao tiếp, xử lý các tín hiệu.

Đây là cuốn sách chúng ta nên đọc ngay từ khi bắt đầu học lập trình!

Code & Tools

Darkroom: Realtime Image Processing — blog.gojekengineering.com

Darkroom là một ứng dụng Image Proxy tích hợp cả 2 phần là lưu trữ (hiện chỉ có aws S3) và xử lý ảnh (cắt, thay đổi kích thước, xám màu), viết bằng golang. Ban đầu nó được phát triển tại Gojek bởi 1 kĩ sư và 3 thực tập sinh. Tại đây, ứng dụng đã được triển khai với khả năng đáp ứng 500,000 ảnh/phút

  • Everything You Need To Know About Socket.IO

  • Introducing nushell, a new shell, written in Rust

  • Web Scraping 101 in Python

  • Why Generics to Go

Bạn có biết

Kappa Architecture là loại kiến trúc trong đó thay vì sử dụng các database thường dùng như Relational DB hoặc Key-value store như Cassandra, mô hình kiến trúc này sử dụng chủ yếu là các thông tin dạng log dưới hình thức chỉ thêm và không sửa (append-only immutable log) như là hình thức lưu trữ chính.

Có thể xem kiến trúc Kappa như là một phiên bản "không có phần xử lý batch" của kiến trúc Lambda

Tham khảo thêm: http://milinda.pathirage.org/kappa-architecture.com/

QUIZ

Trong các dạng Cohesion dưới đây, dạng nào là nên tránh "nhất" trong lập trình? (chỉ 1 lựa chọn)

A. Coincidental cohesion

B. Logical cohesion

C. Temporal cohesion

D. Sequential cohesion

Submit câu trả lời ở đây: https://links.grokking.org/questions/8

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 — career.vng.com.vn Với lộ trình thiết kế để Fresher được phát triển toàn diện về kiến thức chuyên môn lẫn kỹ năng mềm, VNG sẵn sàng chào đón các bạn trẻ CNTT tài năng ngay cả khi còn ngồi trên ghế nhà trường. Đừng để cơ hội vụt khỏi tầm tay, nắm bắt ngay thông tin mới nhất về Game Development Fresher 2019 nhé!

Quote

When debugging, novices insert corrective code; experts remove defective code.

Richard Pattis

Share this post

#84 - Làm thế nào để xây dựng một sản phẩm phần mềm tốt?

newsletter.grokking.org
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Grokking Vietnam
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing