viblo.asia viblo.asia

6 điều rút ra khi làm việc ở dự án lớn

Nhân dịp dự án của mình mới được giải "Best Project Of The Year" của công ty, ngày hôm nay mình xin phép trao đổi 1 chút kinh nghiệm và những bài học rút ra trong quá trình làm dự án. Mặc dù sản phẩm chưa release nhưng đến thời điểm này có thể coi là thành công do đảm bảo được tiêu chí kiên quyết là hoàn thành công việc, làm vừa lòng...

viblo.asia viblo.asia

Join vs Subquery: The Problem Of MySQL Query Optimizer?

Câu chuyện muôn thuở của MySQL và được nêu đi nêu lại ở các blog khác nhau, là sự so sánh giữa Join và Subquery. Căn bản thì tất cả đều đi đến một kết luận chung, đó là MySQL có cơ chế hỗ trợ Join, khiến nó nhanh hơn Subquery, và do vậy chúng ta nên dùng Join, hạn chế dùng Subquery. Vậy cụ thể nguyên lý ở đây là gì, và có phải lúc nào Join...

viblo.asia viblo.asia

Microservices

Bài viết sau dịch từ một bài báo của Martin Fowler Microservices Định nghĩa một kiểu kiến trúc mới Kiến trúc dịch vụ siêu nhỏ-"Microservice Architecture" phát triển nhanh chóng trong nhiều năm gần đây nhằm mô tả cách thiết kế phần mềm ứng dụng mà các dịch vụ có thể triển khai một cách độc lập. Mặc dù không có định nghĩa rõ ràng...

viblo.asia viblo.asia

Laravel and PHP Magic Methods

Theo kết quả survey của trang sitepoint.com, Laravel vượt trội hoàn toàn so với các Framework khác của PHP về sự phổ biến. Nên nhớ rằng Laravel là một framework mới, rất mới so với Zend hay Symfony. Vậy điều gì đã làm cho Laravel trở nên nổi bật như vậy? Đã có rất nhiều bài viết của Viblo phân tích về sự tuyệt vời của Laravel, trong đó phải kể...

viblo.asia viblo.asia

Liskov Substitution Principle

Tiếp nối loạt bài viết dịch cuốn sách "Agile Software Development, Principles Patterns and Practices", ngày hôm nay, chúng ta đến với nguyên tắc thức ba trong thiết kế linh hoạt, đó là LSP - Liskov Substitution Principle. Nguyên tắc thay thế Liskov - Liskov Substitution Principle Nguyên lý của OCP dựa trên hai thành phần chính là trừu tượng (abstraction) và đa hình...

viblo.asia viblo.asia

Sử dụng CDN để giảm tải cho Server

Câu chuyện bắt đầu Gần đây, tôi có tham dự một lớp học Rails của các sinh viên năm thứ 4 ngành công nghệ thông tin. Trong buổi học đó, sinh viên tìm hiểu về thư viện Bootstrap của Twitter. Có 2 cách để import thư viện vào trong trang web, 1 là sử dụng 1 đường link ở "tận đẩu tận đâu" như thế này. <link rel="stylesheet" type="text/css"...

viblo.asia viblo.asia

Xây dựng Blog Cá Nhân Với Jekyll

Dạo gần đây thì mình bắt đầu đọc sách nhiều hơn, và có xu hướng muốn dịch cũng như phân tích những gì mình đọc được. Để giới thiệu những gì mình biết, những trang blog kiểu như https://viblo.asia là quá đủ để mình diễn. Tuy nhiên thì mình vẫn thích cái gì đó của riêng mình, sau này tha hồ thay đổi. Chí ít là giao diện sẽ không bị...

viblo.asia viblo.asia

React Data Flow

Cơ bản về React Ở bài viết trước về React, Introduction to ReactJS, tôi đã giới thiệu 2 đặc điểm chính của React, đó là virtual DOM và one-way data binding. Nếu như virtual DOM cung cấp 1 cách tiếp cận hoàn toàn mới để làm việc với HTML DOM thì one-way data binding lại là 1 phương thức quản lý luồng dữ liệu rất dễ hiểu và dễ quản lý. Trong bài viết...