
The Quality of Software Design - Part 1
The Quality of Software Design ~Kỳ 1~ Part 0. Preface Hãy cùng suy nghĩ về chất lượng của thiết kế phần mềm. “Thiết kế phần mềm” cụ thể nói đến công việc như thế nào nhỉ? Xác định Requirement Definition, tạo Functional Specification, tạo Architecture, quyết định Class Structure, ...

Giới thiệu về Createjs-SoundJS - thư viện chơi nhạc No JQuery
Bài này mình viết giới thiệu về thằng SoundJs mà mình đã từng có dịp dùng qua. Ngày gặp nhau, đó là ngày khách hàng dự án bên mình kêu về vấn đề muốn tối ưu hóa peformance cho dự án, cụ thể là việc dần dần loại bỏ các thư viện dependency JQuery và tìm các thư viện thay thế. Và thế là mình gặp ...

Phá mã cổ điển
Dạo gần đây tôi có thử sức với Matasano's crypto challenges (cryptopals.com). Về cơ bản đây là tập hợp các thử thách về mã hóa, mật mã; trong đó người chơi sẽ cố gắng hoàn thành các bài tập thực hành về mã hóa (bao gồm cài đặt các thuật toán mã hóa thông dụng, phá mã) từ cổ điển cho đến hiện đại. ...

[Android TV] Phần 5: Tạo một danh sách(mục lục) các trình duyệt.
Hôm nay, chúng ta tiếp tục tìm hiểu phần 5 trong series bài dịch về Android TV. Phần này chúng ta sẽ đề cập đến vấn đề Catalog Browser Một ứng dụng phục vụ phương tiện truyền thông được chạy trên nền TV devices cần được yêu cầu cấp quyền cho phép người dùng được duyệt các nội dung, dịch vụ của ...

PHP Traits
Một vấn đề thường xuyên nảy sinh trong quá trình chúng ta muốn sử dụng kế thừa (extends) trong PHP thì chúng ta chỉ có thể kế thưa duy nhất từ một class cha mà thôi. Đây cũng là yếu điểm lớn nhất của extends, bởi vì, đôi khi việc kế thừa từ nhiều class khác nhau đem đến rất nhiều lời ích. Chúng ta ...

Giới thiệu về Promise trong Javascript
Xin chào, nếu đã từng lập trình với Javascript, hẳn bạn đã có đôi lần nghe nói / sử dụng callback. Và với sự phát triển như hiện nay của Javascript, thì có một vấn đề cực kỳ nhức nhối đã được thể hiện với callback của Javascript, đó là callback hell. Dưới đây là ví dụ (yaoming) Và để giải ...

Tăng tốc website với Google Pagespeed và Nginx
Trong bài viết này, tôi sẽ mô tả cách làm thế nào tối ưu hóa cho web server Nginx để cài thiện hiệu năng, tăng tốc cho nó. Trong khi Nginx tự nó đã nổi tiếng như một trong các máy chủ web nhanh nhất và dễ mở rộng nhất, vẫn còn có nhiều cách khác nhau để cải thiện hiệu suất hơn nữa cho Nginx . Một ...

Android 7.0 Nougat có gì mới!!
Mới đây Google vừa release phiên bản Android 7.0 với tên chính thức là Nougat. Vậy chúng ta cùng xem Nougat có gì mới. 1. Hỗ trợ Multi-window Trong Android 7.0 một tính năng rất được mong đợi đã được đưa vào chính là Multi-window (một trong những tính năng đã được phát triển bởi samsung trên ...

Tìm hiểu mã nguồn mở PHP CMS Drupal hướng dẫn tìm hiểu Taxonomy sự độc đáo và tính linh hoạt trong Drupal - bài 4
Tiếp theo loạt bài viết về Drupal : Loạt bài đều nói về Drupal 8 nhé các bạn. Bài 1 Bài 2 Bài 3 Taxonomy là gì? Taxonomy là một hệ thống phân loại nội dung của Drupal, nói đơn giản chúng ta cứ gọi nó là danh mục. Trong đó Vocabulary là cha, là cấp lớn nhất, cấp cao nhất. bên trong ...

48 font "Tattoo" miễn phí dành cho nghệ thuật xăm trổ
Được lấy cảm hứng từ những phông chữ xăm miễn phí mà bạn có thể đưa vào sử dụng trong các thiết kế nghệ thuật cơ thể (Body art) của bạn. Trong những năm gần đây, hình xăm theo phong cách kiểu chữ đã trở thành một ảnh hưởng lớn trên tất cả các lĩnh vực thiết kế - từ thiết kế đồ họa và minh họa ...

Top 10 Most Common Mobile App Design Mistakes
The mobile app market is saturated with competition. Trends turn over quickly, but no niche can last very long without several competitors jumping onto the bandwagon. These conditions result in a high failure rate across the board for the mobile app market. Only 20% of downloaded apps see users ...

Những dấu chân của nhân loại trên con đường đến với lập trình hướng đối tượng (phần cuối)
Những yếu tố làm nên lập trình hướng đối tượng Và như vậy, ta có thể thấy những chức năng cần thiết cho việc hướng đối tượng là : - Kiểu dữ liệu trừu tượng : dữ liệu và xử lí liên quan đến nhau - Kiểu dữ liệu trừu tượng : dữ liệu có thể được ẩn đi - Đối tượng : bản thân dữ liệu tự hiểu ...

Dependency Inversion, Inversion of Control and Dependency Injection
Giới thiệu Chào mọi người, chắc hẳn trong giới lập trình phần mềm của chúng ta, ai cũng ít nhất một lần nghe đến các khái niệm như SOLID , OOP Design , Dependency Inversion hay IoC ... Tuy nhiên không hẳn ai cũng hiểu rõ và thực hành thành công. Theo nhận thức của tôi, rất nhiều kỹ sư phần ...

Chương 2: Locators (tiếp)
Di chuyển phần tử trên trang Như tôi đã đề cập, việc sử dụng giá trị của thuộc tính ID giúp Selenium có thể tìm những phần tử trên trang thậm chí khi nó đã bị di chuyển đến chỗ khác. Click vào nút Random ở Chapter 2 page of the site (bạn có thể làm điều này bằng tay), sau đó chạy script mà ...

NoSQL Database
NoSQL (Not Only SQL) database is a non-relational and largely distributed database management system that's useful for those enterprise which needs to access and analyze extremely high-volume of distributed unstructured data that may be stored remotely on multiple virtual servers in the cloud. ...

React Redux - development notes
Among the JavaScript frameworks React is becoming popular these days. Apparently the ease of maintenance (due to markup and view logic unification), isomorphism (the ability to run on both client and server end) and certainly the concept of virtual DOM is behind it's popularity. JSX is a OOP ...

10 BƯỚC ĐỂ TẠO MỘT GAME
Bài hướng dẫn này sẽ đưa các bạn qua những bước cơ bản để tạo ra được một game, thông qua 10 bước, các bạn sẽ được trải nghiệm quá trình mà game được hình thành. Bước 1: Cơ chế hoạt động cơ bản Giả sử như ta muốn tạo ra một game 2D bắn quái vật như hình dưới đây: Theo các bạn, các cơ ...

Who Knew Adobe CC Could Wireframe?
Wireframing is a major step in designing any user interface whether a website, application or software product. Without distraction in the form of visuals, colours, typography, styles and effects you can be more focused on defining content hierarchy and user experience. Doing low fidelity ...

Tìm hiểu và làm việc với docker container networks (P2)
Trong bài viết trước chúng ta đã tìm hiểu về các loại networking bên trong Docker native. Ở bài viết này chúng ta tiếp tục đi sâu vào các command của Docker Engine CLI giúp tương tác với Docker networks và containers bên trong chúng. Các command đó là: docker network create docker ...

Bộ tài nguyên siêu khủng cho dân thiết kế đồ hoạ - Designer
Đây là bộ tài liệu chất nhất mình từng có. Mình đã tổng hợp lại từ rất nhiều nguồn. Gói Mega này với rất nhiều mockups, logo, hình ảnh, hình nền và phông chữ. Tải về và thưởng thức. Điều tuyệt vời nhất là tất cã đều được sữ dụng với mục đích cá nhân và thương mại. Tổng cộng bộ tài nguyên ...