#108 - Scaling React Server-Side Rendering
Để 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é.
Với mong muốn chia sẻ một góc nhìn về một lĩnh vực chuyên môn đang rất được săn đón trong giới công nghệ ngày nay, Grokking hân hạnh tổ chức webinar #03 với chủ đề "Data Science in Silicon Valley" để các bạn có cơ hội được tìm hiểu thêm về data science và công việc của một data scientist tại Silicon Valley, thông qua những chia sẻ vô cùng quý giá của người trong cuộc.
Tại Webinar lần này, chúng ta sẽ được lắng nghe những chia sẻ từ anh Thụy là Data Scientist có nhiều năm kinh nghiệm giải quyết các bài toán data science tại Uber và anh Lương Hoài Xuân - Software Engineer tại Google.
Thời gian diễn ra sự kiện: 10:00 AM - 12:00 PM ngày 7/3/2020 theo giờ Việt Nam
Các bạn có thể tìm hiểu thêm thông tin về những sự kiện và diễn giả cũng như đăng kí tham gia tại trang event của Grokking.
Đây là chương trình webinar online, các bạn có thể tham gia và giao lưu trực tuyến với các diễn giả.
(Chương trình không thu phí, do số lượng tham gia online rất đông các bạn vui lòng đăng ký để BTC có thể chuẩn bị tốt hơn).
Những bài viết hay
Scaling React Server-Side Rendering — arkwright.github.io
Trong bài viết, tác giả Robert Arkwright đã chia sẻ quá trình mà anh ấy và team của mình đã chia tách hệ thống frontend từ một ứng dụng Java monolith sang React và Redux (theo component-oriented architecture), cùng với những khó khăn và giải pháp mà họ đã sử dụng trong quá trình giải quyết vấn đề mở rộng hệ thống với React's Server-Side Rendering.
Flutter vs React Native: What to choose to build your mobile app in 2020? — www.archisys.co
Nếu nói về sự thay đổi về nền các nền tảng lập trình thì có lẽ các thư viện web hay nền tảng tạo app trên mobile sẽ là những thứ đi đầu hiện nay. Xuất phát từ việc ứng dụng phải chạy được trên nhiều nền tảng khác nhau, các công cụ được phát triển & liên tục được thay đổi để đáp ứng tốt hơn. Ở thị trường open source, chúng ta có PhoneGap, Ionic, React Native và anh chàng mới nổi Flutter.
Trong nhiều năm trở lại đây React Native đã trở thành kẻ dẫn đầu trong thị trường phát triển ứng dụng đa nền tảng. Tuy nhiên vẫn còn những vấn đề cần giải quyết, nhất là về hiệu năng, và kẻ sinh sau đẻ muộn Flutter có đủ ưu thế để vươn lên trong hoàn cảnh này. Cùng so sánh xem đâu sẽ là lựa chọn tốt nhất ở thời điểm hiện tại.
RabbitMQ vs. Kafka: Head-To-Head — medium.com
Là một Software Engineer, bạn sẽ luôn phải đối mặt với những lựa chọn. Quyết định hôm nay sẽ ảnh hưởng rất lớn trong tương lai, do đó cần hiểu rõ những tuỳ chọn chúng ta đang có. Trong trường hợp bạn cần thiết kế hệ thống truyền tải thông tin bất đồng bộ (Asynchronous Messaging), có 2 lựa chọn khả dĩ nhất là Kafka và RabbitMQ. Trong bài viết sau, tác giả Eran Stiller đã đưa ra những khác biệt giữa Kafka và RabbitMQ để giúp bạn có những chọn lựa hợp lý cho từng trường hợp cụ thể.
Góc Database (mới)
Maximizing Disk Utilization with Incremental Compaction — www.scylladb.com
Cassandra là một database sử dụng cấu trúc SSTable để lưu trữ thông tin được ghi. Với mỗi ổ cứng cần để lưu trữ cấu trúc này, dung lượng phải lớn hơn rất nhiều so với dung lượng dự tính vì các phiên bản dữ liệu sẽ được lưu trữ trên các file riêng và sẽ được merge lại với nhau một cách định kỳ hoặc ngay lúc được truy vấn. Đó cũng chính là nhược điểm của cơ chế compact log của SSTable. Với ScyllaDB, họ đã thiết kế cơ chế compact log tốn ít tài nguyên về dung lượng phần cứng hơn gọi là Incremental Compaction Strategy (ICS).
Using Redis as an external scoring source for Elasticsearch
Trong số các dòng database phổ biến hiện tại thì Elastic Search là một lựa chọn gần như hàng đầu khi cần giải quyết các bài toán liên qua đến tìm kiếm như: full-text search, text-based relevance, geo-search, ... Tuy nhiên, tác của của bài viết này đã gặp phải một yêu cầu khó từ phía business đó là phải xây dựng một cơ chế xếp hạng kết quả tìm kiếm một cách đặc thù và dễ thay đổi hơn. Để giải quyết bài toán này, do bản thân Elastic Search chưa đủ đáp ứng, tác giả đã đề xuất ra một phương án đó là tích hợp với Redis. Mời các bạn cùng tham khảo.
Tin tức khác:
Code & Tools
Tin tức khác
Larry Tesler: 'Cha đẻ' tính năng copy-paste vừa qua đời — gizmodo.com
Theo Gizmodo, Larry Tesler có thể không phải là một cái tên quen thuộc như Steve Jobs hay Bill Gates, nhưng những đóng góp của ông có ảnh hưởng lớn và dài lâu đến nền điện toán hiện đại, giúp cho máy tính và điện thoại ngày nay có thể sử dụng một cách dễ dàng hơn.
Larry Tesler sinh năm 1945, tại New York. Ông tốt nghiệp ngành Khoa học máy tính tại đại học Stanford và theo đuổi đam mê nghiên cứu trí tuệ nhân tạo từ thời bấy giờ. Năm 1973, Tesler vào làm việc tại Trung tâm nghiên cứu của Xerox ở Palo Alto (PARC) trước khi đến với Apple vào năm 1980.
Trong 17 năm làm việc tại Apple, Tesler có thời gian giữ vai trò Kỹ sư trưởng, vị trí mà nhà đồng sáng lập Steve Wozniak từng nắm giữ.
Quote
"Programming is the art of doing one thing at a time”
― Michael Feathers