
Tránh những gánh nặng trong việc xử lý file uploads
Xử lý file uploads là một công việc khá nhàm chán. Về mặt kỹ thuật, nó là một công việc tương đối đơn giản, các file được gửi đi bằng một POST request và hiện diện bên server dưới dạng biến toàn cục - $_FILES super global. Framework mà bạn lựa chọn trên thực tế còn có thể cung cấp một cách thuận ...

Kotlin for Android: working with collections and data class
Chao xìn tất cả mọi người, hôm nay mình lại quay trở lại với loạt bài viết về Kotlin for android, dạo này mình không còn được làm việc với kotlin nữa vì nhiều lí do, việc ông to Google không đoái hoài gì đến ngôn ngữ này đã làm cho cộng đồng lập trình viên android yêu thích Kotlin khá hoang mang, ...

Làm việc với tag trong Angular2 với ng2-tag-input
Lời mở đầu Hẳn là các bạn không lạ gì angularjs và một số bạn còn lành nghề trong ngôn ngữ này ấy chứ. Chắc hẳn nhiều bạn đã quen thuộc với Angular 1 với sự dễ hiểu và nhiều thư viện hỗ trợ nó và khi bắt đầu với Angular2 thì choáng bởi vì nó khác xa Angular1 từ cú pháp đến cách dùng. Vì thế các ...

Redux cho người mới bắt đầu - Part 3 Middleware
Mở đầu Chào tất cả mọi người, chúng ta lại gặp nhau trong bài viết thứ 3 của series Redux cho người mới bắt đầu sau 1 thời gian rất rất dài (vì đứa viết bài lười quá (yaoming) ). Ở bài viết số 2, chúng ta đã làm thử một ứng dụng To-Do đơn giản. Trong thực tế, ứng dụng của chúng ta còn cần ...

Skinny controllers through refactoring
Controller có thể mất đi kiểm soát khi development. Skinny controller through refactoring - hay có thể hiểu là làm cho controller trong mô hình MVC như rails framework đang áp dụng trở nên đơn giản và đúng vai trò hơn trong việc điều khiển nhận và trả về dữ liệu trên server. Công việc của ...

Rails Service Object
Trong lập trình Rails, chắc hẳn các bạn từng biết đến kiểu thiết kế này rồi chứ fat models, skinny controllers. Ban đầu nó có vẻ khá hợp lý và đơn giản vì chúng ta chỉ cần đưa tất cả logic cần xử lý vào model là xong, đó là việc của model mà quá dễ. Tuy nhiên đôi khi ta gặp những thứ phức tạp hơn, ...

Những thứ mới ở Chrome 56
Như các bạn biết thì thế giới luôn thay đổi và công nghệ thì càng thay đổi nhanh chóng. Chrome giờ đã là browser được sử dụng phổ biến nhất hiện nay. Nó là 1 trình duyệt web tốc độ, nhanh, đơn giản và an toàn được tạo ra dành cho web hiện đại. Chrome luôn được cập nhật để có thể tích hợp được ...

Cấu trúc của các component trong Rails và các cách refactor code với các Ruby object - Part 2
Trong bài viết trước tôi đã trình bày với các bạn về tổng quan cấu trúc cơ bản của một Rails project. Hôm nay tôi sẽ giới thiệu với các bạn các cách refactor code bằng các kĩ thuật với object: Form object, Service object, Query object, Decorator/Presenter, Value object. Trước khi đi sâu vào việc ...

Tổng quan về TDD
Phát triển hướng kiểm thử TDD (Test-Driven Development) là một phương pháp tiếp cận cải tiến để phát triển phần mềm trong đó kết hợp phương pháp Phát triển kiểm thử trước (Test First Development) và phương pháp Điều chỉnh lại mã nguồn (Refactoring). Mục tiêu quan trọng nhất của TDD là hãy nghĩ về ...

Series Hướng Dẫn Lập Trình Ruby on Rails (Phần 5)
Chào các bạn, hôm nay mình sẽ tiếp tục phần 5 của Series Hướng dẫn lập trình Ruby on Rails nhé. Ở phần trước chúng ta đã thực hiện project login_app hoàn thành bước đăng ký User, như vậy là trong db của chúng ta đã lưu thông tin User với name và password bây giờ chúng ta sẽ xây dựng chức năng ...

Cơ bản về Exception trong Ruby
Exception là một khái niệm không lạ trong Ruby, có thể bạn đã từng sử dụng nó nhưng có chắc bạn biết chính xác Exception là gì hay tại sao nó lại hữu dụng. Nếu chưa, hy vọng bạn sẽ tìm thấy câu trả lời sau khi đọc bài viết này. Exception là gì? Exception dịch sang tiếng việt là ngoại lệ, là ...

Nguyên lý SOLID cho thanh niên code "cứng"
Trong quá trình học, hầu như các bạn sinh viên đều được học một số khái niệm OOP cơ bản như sau: Abstraction Encapsulation Inheritance Polymophirsm Những khái niệm này đã được dạy khá rõ ràng, và hầu như những buổi phỏng vấn nào cũng có những câu hỏi liên quan đến khái niệm này. Vì 4 khái ...

Real Device Vs Emulator Testing: Ultimate Showdown
Thử nghiệm thiết bị thật: Thử nghiệm trên thiết bị thật cho phép bạn chạy các ứng dụng di động và kiểm tra chức năng của nó. Kiểm thử thiết bị thật đảm bảo rằng ứng dụng của bạn sẽ hoạt động thông suốt trên thiết bị của khách hàng. Emulators: Emulator là một chương trình cho phép thiết bị ...

Làm sao để lựa chọn dịch vụ Cloud
Đừng quá lo lắng, trông có vẻ khó nhưng thực ra nó đơn giản hơn rất nhiều so với nó . Mỗi nhà cung cấp điện toán đám mây đang hướng tới mẫu khách hàng và cách sử dụng khác nhau. Với tôi, tôi nhóm các nhà cung cấp điện toán đám mây theo loại như phía dưới. Và tôi sẽ giải thích mục đích của mỗi loại ...

RESTFUL Web API Standards
1. API là gì? API là chữ viết tắt của Application Programming Interface (giao diện lập trình ứng dụng), nó là các cổng giúp các hệ thống có thể giao tiếp với nhau. Ví dụ khi bạn muốn lấy danh sách bạn bè trên Facebook thì đương nhiên bạn không thể nào truy vấn vào dữ liệu của Facebook được mà ...

Sử dụng select, reject, detect, collect hay inject
Hôm rồi làm task sau đẩy pull, mình có gặp một comment là thay vì dùng map thì chuyển sang dùng inject. Lúc ấy, cũng không rõ tại sao lại phải dùng thay thế như vậy. Vì thực sự khi làm mình rất ít khi dùng inject. Hồi sau mò lên bác google search các kiểu xem nó khác nhau như nào, tại sao phải dùng ...

Sử dụng gem Makara cho cơ sở dữ liệu nhân rộng
Hầu hết các trang web lớn hiện giờ, để tăng tốc độ truy xuất cơ sở dữ liệu, đều có sử dụng mô hình cơ sở dữ liệu nhân rộng _ database replication. Bao gồm một cơ sở dữ liệu master và nhiều cơ sở dữ liệu mở rộng gọi là slave. Master và slave cùng chia sẻ data và schema và luôn giữ trạng thái thống ...

UmbrellaJS là sự thay thế của bạn cho jQuery
Bài viết có tham khảo nguồn UmbrellaJS is Your Alternative to jQuery. Các thư viện mã nguồn mở jQuery đã chiếm ưu thế phát triển web trong nhiều năm qua, nó vẫn là một trong những mã nguồn đáng tin cậy nhất cho JavaScript . Nhưng bây giờ, chúng ta có một thư viện mới tên là UmbrellaJS ...

Các loại service trong AngularJS
Trong AngularJS có nhiều loại service. Và mỗi loại thì đều có cách dùng của nó. Tại sao chúng ta lại quyết định chọn A thay vì B. Với tính chất này thì nên dùng service nào. Kiểu như vậy. Cùng điểm qua một lượt các loại service trong Angular nhé. Provider, Factory, Service, Constant, Decorator, ...

Dynamic Dependant Select Box using JQuery Ajax Example
Hello cả nhà, hôm nay mình xin mạn phép đề cập đến một chủ đề trong Laravel đó là làm thế nào để tạo một select box động. Sao lại gọi là động? Mình ví dụ thế này, khi bạn cập nhật thông tin cá nhân, sẽ có rất nhiều ô input cho bạn chọn. Nếu bạn đã chọn countries (đất nước) thì ở ô cities(thành ...