#111 - Sẵn sàng cho thay đổi nghiệp vụ với Hexagonal Architecture
Những bài viết hay
Ready for changes with Hexagonal Architecture — netflixtechblog.com
Mỗi một quyết định về design đều cần đặt trong một hoàn cảnh nhất định, luôn cần cân nhắc cả yêu cầu kĩ thuật & nghiệp vụ. Mới đây team Engineer tại Netflix đã xây dựng một ứng dụng với yêu cầu đặt ra là cần xử lý nhiều Business Domains, phải tích hợp được nhiều service và protocols khác nhau, các data source có thể thay đổi, đồng thời lại phải sẵn sàng cho việc thay đổi nghiệp vụ.
Điều này khiến họ quyết định chọn Hexagonal Architecture để xây dựng ứng dụng này, cùng đọc để tìm hiểu thêm.
Allocation efficiency in high-performance Go services — segment.com
Ngày nay, hầu hết các ngôn ngữ / runtime đều hỗ trợ quản lí bộ nhớ tự động - giúp loại bỏ phần lớn lượng lỗi (memory-leak bugs) trong khi phát triển. Tuy nhiên, với những ứng dụng hiệu năng cao thì đây lại là một câu chuyện khác. Trong bài viết, các tác giả tại Centrifuge, chia sẻ cách họ xây dựng một ứng dụng Go hiệu năng cao và tối ưu hoá việc quản lí bộ nhớ.
Write testable code by writing generic code — blog.nelhage.com
Kiểm thử là quá trình tốn nhiều thời gian & công sức trong cả quá trình phát triển phần mềm. Để một dự án có hiệu quả cao thì hẳn việc code sao cho dễ dàng kiểm thử là điều quan trọng, nó giúp rút ngắn thời gian kiểm thử & sửa lỗi.
Có ý kiến cho rằng để việc test được đơn giản hơn thì nên viết code tổng quát sẽ giúp tập trung vào những test case chính.
Điều này có thực sự đúng khi mà nhiều lỗi chỉ xuất hiện ở một số trường hợp nhất định (code chi tiết) ?
Can you crush your workload while working from home? — dev.to
Dịch bệnh đang diễn biến hết sức phức tạp, làm việc tại nhà được xem như là một giải pháp tình thế. Tuy nhiên làm việc tại nhà thường không mang lại hiệu quả vì rất nhiều thứ có thể xen vào khi bạn đang làm việc ví dụ trẻ con, thú cưng, việc nhà... Ngoài ra còn có nhiều cám dỗ khác như Tivi, Youtube, Facebook... Bài viết sau đưa ra những lời khuyên và gợi ý hữu ích để nâng cao hiệu suất khi làm việc tại nhà.
Góc Database
Why Graph Will Win - TerminusDB Community — medium.com
Program = Algorithm + Data Structure
Công thức huyền thoại này hẳn là không xa lạ gì với dân lập trình. Trong rất nhiều bài toán, chỉ cần xác định đúng cấu trúc dữ liệu là có thể giải quyết hơn phân nửa bài toán đó rồi.
Ở quy mô lớn hơn, việc lựa chọn database cũng tương tự. Khi ra quyết định chọn một dòng database, bạn đồng thời cũng đang lựa chọn cách thức bạn mô tả vấn đề của mình thành các "đối tượng", hay các khoá/giá trị, các loại quan hệ tương ứng, ....
Một trong những quan điểm được đưa ra bởi Kevin Freeney - tác giả bài blog này đó là Graph Database sẽ giúp cho việc mô tả vấn đề dưới dạng các đối tượng và quan hệ của nó một cách tự nhiên và gần gũi với lối tư duy của con người nhiều hơn, do đó, anh sẵn sàng cược là 20 năm nữa, Graph Database sẽ là loại database chiếm ưu thế.
Bạn có đồng ý với quan điểm này?
Tin tức khác:
Code & Tools
Tin tức khác
This week sponsor
Ascenda is a global innovator in loyalty management, established 2014 and headquartered in Singapore with offices across Asia, Europe and the Americas. With a team of 80 full-time employees, we enable over 50 major financial services and travel brands worldwide with rewards technology, loyalty marketing, advisory and customer servicing.
We believe that nothing should stand in the way of brands who aim to deliver extraordinary moments for their customers. That’s why our solutions are beautifully simple to manage, easy and rapid to deploy, and always delivering exceptional value. In a world of increasingly complex enterprise software and proliferating buzzwords, we strip away the noise and take a fresh, practical approach to loyalty management.
Visit ascendaloyalty.com for more information and current job openings.
Góc tuyển dụng
Quote
Every programmer is an author.
― Sercan Leylek
Để 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 tại đây nhé.