Giới thiệu về Active Resource trong Rails

Active Resource Active Resource giúp quản lý các kết nối giữa RESTful(Representational State Transfer) web services và các đối tượng nghiệp vụ, làm giảm số lượng code cần viết để ánh xạ đến các tài nguyên. Active Resource ánh xạ model class đến các tài nguyên REST ở xa cũng giống như cách mà ...

Tác giả: Tạ Quốc Bảo viết 13:50 ngày 12/08/2018

Twig trong Template

Giới thiệu Twig là một template engine cho PHP, được sử dụng trong rất nhiều framework khác nhau như Symfony, Drupal8, eZPublish, phpBB, Piwik, OroCRM và được hỗ trợ trong một vài framework khác, có thể kể đến Slim, Yii, Laravel, Codeigniter. Được thiết kế và phát triển dựa trên các nguyên tắc cơ ...

Tác giả: Trịnh Tiến Mạnh viết 13:50 ngày 12/08/2018

Spring - MVC Framework Tutorial (Part 1)

Nguồn : http://www.tutorialspoint.com/spring/spring_web_mvc_framework.htm Spring MVC cung cấp kiến trúc model-view-controller và các thành phần để có thể được sử dụng phát triển các ứng dụng web. Mô hình MVC phân tách các khía cạnh khác nhau của ứng dụng (logic đầu vào, logic business, và giao ...

Tác giả: Trịnh Tiến Mạnh viết 13:50 ngày 12/08/2018

Atlassian UI - Thư viện frontend phù hợp cho những webiste hệ thống hay layout admin

Trong một project, mình có cơ hội làm quen và sử dụng 1 thử viện front-end khá là mới. Đó là Atlassian Mình thấy thư viện này khá phù hợp cho việc dùng trong các website hệ thống hoặc dùng làm layout cho phần admin. Tại thời điểm sử dụng, mình apply thư viện này vào dự án rails, mình có thử ...

Tác giả: Tạ Quốc Bảo viết 13:50 ngày 12/08/2018

Android với xác thực SMS tương tự ứng dụng WhatsApp - Phần 1

Đã có rất nhiều hướng dẫn phát triển hệ thống cho phép người dùng đăng nhập/đăng ký bằng cách thu thập tên người dùng, email và mật khẩu. Nhưng nếu bạn muốn đăng ký một người dùng sử dụng số điện thoại di động của họ như WhatsApp, Viber bằng cách kiểm tra số điện thoại di động của họ để có được ...

Tác giả: Trịnh Tiến Mạnh viết 13:50 ngày 12/08/2018

Làm thế nào để viết một git commit message tốt?

Là một Developer thì git commit message không còn xa lạ gì với các bạn nữa. Tuy nhiên, để viết một git commit message tốt thì không phải ai cũng làm được. Vậy tại sao git commit message tốt lại quan trọng, và làm thế nào để viết một commit message tốt? Tại sao một commit message tốt lại quan ...

Tác giả: Tạ Quốc Bảo viết 13:50 ngày 12/08/2018

Làm thế nào để kiểm tra tài liệu đặc tả yêu cầu của phần mềm (SRS)?

Bài viết được tham khảo từ nguồn: http://www.softwaretestinghelp.com/how-to-test-software-requirements-specification-srs/ Bài trước tôi đã nêu ra định nghĩa về tài liệu đặc tả yêu cầu, tôi nhắc lại để các bạn tiện theo dõi. Tài liệu đặc tả yêu cầu là những yêu cầu chính thức về những gì cần ...

Tác giả: Hoàng Hải Đăng viết 13:50 ngày 12/08/2018

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, ...

Tác giả: Bùi Văn Nam viết 13:50 ngày 12/08/2018

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 ...

Tác giả: Tạ Quốc Bảo viết 13:50 ngày 12/08/2018

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. ...

Tác giả: Bùi Văn Nam viết 13:50 ngày 12/08/2018

[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 ...

Tác giả: Hoàng Hải Đăng viết 13:50 ngày 12/08/2018

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 ...

Tác giả: Trịnh Tiến Mạnh viết 13:50 ngày 12/08/2018

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ác giả: Bùi Văn Nam viết 13:50 ngày 12/08/2018

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 ...

Tác giả: Hoàng Hải Đăng viết 13:50 ngày 12/08/2018

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ác giả: Tạ Quốc Bảo viết 13:49 ngày 12/08/2018

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 ...

Tác giả: Bùi Văn Nam viết 13:49 ngày 12/08/2018

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 ...

Tác giả: Trịnh Tiến Mạnh viết 13:49 ngày 12/08/2018

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 ...

Tác giả: Hoàng Hải Đăng viết 13:49 ngày 12/08/2018

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 ...

Tác giả: Trịnh Tiến Mạnh viết 13:49 ngày 12/08/2018

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 ...

Tác giả: Tạ Quốc Bảo viết 13:49 ngày 12/08/2018