#4 - Mozilla đã thay đổi thiết kế hạ tầng Firefox như thế nào?
Những bạn trẻ ngày nay có lẽ it biết đến cuộc chiến nảy lửa giữa các trình duyệt vào những năm nửa cuối thập niên 90 của thế kỷ trước.
Phát súng đầu tiên được nổ ra bởi Internet Explorer (IE), một trình duyệt được ra mắt vào năm 1995. Việc IE được tích hợp thẳng vào trong hệ điều hành Windows đã kết liễu số phận của những trình duyệt khác như Netscape khi chiếm tới 95% thị phần vào năm 2000. Thống trị trong suốt gần một thập kỷ, IE bắt đầu gặp những đối thủ đáng gờm khi Mozilla Firefox (2003), Safari (2003), và đặc biệt là Chrome (2008) ra đời. Và dần dần, IE mất đi thế độc tôn của mình và bắt đầu hụt hơi trong cuộc đua giữa các trình duyệt, cuộc đua chỉ là còn cuộc đua song mã giữa Firefox và Chrome.
Ban đầu, thế mạnh của Firefox đến từ hệ thống Add-on giúp các lập trình viên có thể dễ dàng xây dựng các tính năng mở rộng cho trình duyệt. Thế nhưng việc lạm dụng vào hệ thống add-on trở thành một trở ngại khi kiến trúc tập trung khiến cho Firefox cực kỳ tốn ram và CPU khiến cho tốc độ lướt web chậm dần, và Firefox bắt đầu lộ ra điểm yếu ở ngay thế mạnh của mình - khó đổi mới vì ảnh hưởng tới hệ thống add-on đồ sộ.
Tập trung vào tốc độ xử lý, đội ngũ phát triển Chrome đã tận dụng tối đa sức mạnh của phần cứng qua kiến trúc multi-process với mỗi tab được coi như là một chương trình độc lập, cùng với thiết kế UI/UX đơn giản, đã dần chiếm lĩnh hơn 50% thị phần trình duyệt, vươn lên trở thành vị trí số một trong thị trường trình duyệt.
Tưởng chừng như Firefox đã chấp nhận thua cuộc, thì cuối năm nay, chúng ta chứng kiến sự chuyển mình ngoạn mục của Firefox khi tung ra phiên bản mới - Quantum, thay đổi gần như toàn bộ hệ thống kết cấu codebase cũ cũng như kiến trúc hạ tầng, đẩy tốc độ lên nhanh gấp 2 lần phiên bản cũ nhờ những thay đổi khi tận dụng tối đa sức mạnh của các CPU đa nhân, báo hiệu một cuộc chiến mới giữa những gã khổng lồ công nghệ đã quay trở lại.
Cheers,
p/s: Gửi những bạn đang tìm hiểu về về Machine Learning, bạn đã đăng ký tham dự TechTalk của Grokking diễn ra vào tối nay chưa (Wed, 22 Nov 2017)? Anh của công ty IGS Asia sẽ chia sẽ về cách ứng dụng Machine Learning trong HR (như là resume scanning, automated candidate scoring). Xem thêm & đăng ký.
Những Bài Viết Hay
Firefox Quantum nhanh gấp 2 lần bản cũ: Mozilla đã thay đổi thiết kế hạ tầng Firefox như thế nào? — hacks.mozilla.org
Vào giữa tuần trước, Firefox vừa chính thức công bố một phiên bản mới có tên là Firefox Quantum, được đánh giá là nhanh gấp 2 lần so với phiên bản trước đó. Để làm được điều này, đội ngũ kỹ sư tại Firefox đã thực hiện Project Quantum, đưa ra những thay đổi hướng tới việc tận dụng tối đa sức mạnh của phần cứng. Ngoài ra, họ còn tạo ra một ngôn ngữ mới có tên gọi là Rust để tránh data race và một browser engine là Servo giúp hỗ trợ tối đa cho xử lý song song.
Bài viết sau sẽ giải thích kỹ hơn về việc họ đã thực hiện điều đó như thế nào.
Tiêu chuẩn của bạn là gì? – Con Mọt Sách — con-mot-sach.com
Bài viết hay nói về tiêu chuẩn (standard) và sự ảnh hưởng của tiêu chuẩn đến chất lượng công việc của bạn. Khi bạn có tiêu chuẩn cao, bạn sẽ tự khắt khe với chỉnh bản thân mình, và lúc đó chất lượng của sản phẩm bạn làm ra cũng sẽ theo vậy mà đi lên. Cái mà bạn nghĩ là sếp mình “khắt khe, chi li”, thật ra chính là tiêu chuẩn cao đấy!
Một bài viết rất đáng đọc cho tất cả mọi người, không chỉ riêng gì cho dân engineer chúng mình.
Tư duy lập trình 2006 có gì sai?
Trong newsletter số trước, Grokking có giới thiệu về bài viết của tác giả Poul-Henning Kamp (tác giả của Varnish Web Cache) về những điểm không hay về tư duy lập trình 1975 và giới thiệu tư duy lập trình 2006.
Trong số này, mời các bạn đọc 1 bài phản biện đến từ Salvatore Sanfilippo (antirez), tác giả của phần mềm in-memory key-value store nổi tiếng Redis. Bài viết cũng giải thích lý do tại sao Redis không được thiết kế theo mô hình 2006 như Poul đã đưa ra.
Quora dùng những hạ tầng dữ liệu (datastores) gì?
Tại Quora có 1 đội ngũ gọi là Data Platform (Data Infrastructure), họ chịu trách nhiệm đảm bảo các data pipeline luôn hoạt động ổn định, qua đó các data scientist, machine learning engineer có thể phân tích dữ liệu và mang lại những trải nghiệm người dùng tốt hơn. Tại đây, họ sử dụng 3 loại caching data là Pycache, Memcache và Redis cache. Trong đó, Redis không chỉ đơn thuần hoạt động như một cache mà còn được sử dụng như một ground-truth datastore bên cạnh MySQL - ground-truth datastore chính đang được sử dụng tại Quora. Ngoài ra, để xử lý trên một lượng lớn các hàng (row) và cột (column), HBase cũng được sử dụng bên cạnh MySQL.
Chúng ta cùng đọc bài viết sau để tìm hiểu các kỹ sư tại Quora đã làm điều đó như thế nào nhé.
Tin Tức Kĩ Thuật
Mongo ra phiên bản 3.6 giúp cải thiện hiệu suất làm việc nhiều hơn Đọc thêm.
TensorFlow ra mắt phiên bản đặc biệt dành cho mobile và các hệ thống nhúng Đọc thêm.
Elasticsearch, engine mã nguồn mở full text search ra mắt phiên bản 6.0.0 GA Đọc thêm.
SQL Operations Studio, một công cụ hỗ trợ quản lý dữ liệu mới được tung ra bởi Microsoft Đọc thêm.
SQLite ra phiên bản 3.21.0 Đọc thêm.
Sự Kiện Offline
Grokking TechTalk #22: Machine Learning in HR-Tech — www.facebook.com
Bạn có biết ứng dụng Machine Learning vào việc đọc/clean/phân loại resumes như thế nào không? Mời các bạn đến với Grokking TechTalk #22 ở HCMC vào thứ tư, 22/11/2017, nói về ứng dụng Machine Learning của một công ty công nghệ làm về HR Technologies.