
Sử dụng Ajax/JavaScript với Rails
1 Giới thiệu về Ajax Đầu tiên chúng ta sẽ tìm hiểu hoạt động của trình duyệt (browser) như thế nào khi chúng ta vào một trang web bất kì. Khi bạn gõ địa chỉ trang web vào thanh địa chỉ vào thanh địa chỉ của browser và ấn phím enter lúc đó browser sẽ tạo một yêu cầu (request) tới server. Kết quả ...

Tìm hiểu về json web token (JWT)
JSON Web Token là gì? JSON Web Mã (JWT) là một chuẩn mở (RFC 7519) định nghĩa một cách nhỏ gọn và khép kín để truyền một cách an toàn thông tin giữa các bên dưới dạng đối tượng JSON. Thông tin này có thể được xác minh và đáng tin cậy vì nó có chứa chữ ký số. JWTs có thể được ký bằng một thuật ...

Design Pattern - Abstract Factory
Tiếp theo bài viết Design Pattern - Factory, chúng ta sẽ tiếp tục tìm hiểu sâu hơn về các cách sử dụng khác của Factory với Ruby. Parameterized Factory Một vấn đề lập trình viên thường gặp phải đó là việc phải mở rộng chuơng trình của mình để tương thích với nhiều yêu cầu hoặc nhiều loại data, ...

Regex ăn xâu kiểu greedy và lazy
Trong quá trình làm việc với String tôi có gặp một bài toán nhỏ là làm thế nào để loại bỏ hết các xâu con nằm trong dấu đóng mở ngoặc của một xâu bất kỳ VD: Công ty (((CT))) trách nhiệm hữu hạn (TNHH) => Công ty trách nhiệm hữu hạn Điều đầu tiên tôi nghĩ đến là sử dụng regular expression ...

Phong cách làm việc với khách hàng Nhật - 3 lời khuyên cho nhân viên mới
Chào các bạn. Cũng vừa sang tháng 4, cũng là lúc ở bên nhật các công ty cũng đến mùa tuyển dụng. Tôi rất ấn tượng với 1 bức thư của 1 vị giám đốc đọc trước các nhân viên mới vào công ty của ông. Bức thư như sau: Xin chào các bạn nhân viên mới. Tôi muốn các bạn nhận thức được rằng "Bạn tồn tại vì ...

Các bước cơ bản xác định và fix performance bugs
Trong lập trình đôi khi chúng ta gặp phải các bug liên quan đến performance, chiếm nhiều tài nguyên CPU, thời gian sử lý chậm, gây lag v.v... Chúng thường là các bug khó chịu và tốn nhiều thời gian để sử lý. Khi gặp những lỗi như vậy đòi hỏi chúng ta cần có một chiến lược hợp lý để có thể có những ...

PHP Exceptions
Trong bài viết này chúng ta cùng tìm hiểu về PHP Exceptions. Những khái niệm được sử dụng trong nhiều ứng dụng lớn, có thể mở rộng, trong các ứng dụng hướng đối tượng và các frameworks thì việc bắt được các Exception trong quá trình develop là điều cực kì tốt. Ví dụ đơn giản về exception Ví dụ ...

20 bước để có layout website hoàn hào (Phần 2)
11. làm sắc nét các chi tiết Để tránh pixel mờ, cố gắng thiết lập sự tương phản bằng giữa đường kẻ và nền hoặc màu nền Bên cạnh bất kỳ xem xét thẩm mỹ có một số điều phổ biến mà có thể tránh được để tạo ra một mảnh sạch sẽ và chính xác của công việc. Một số điều bạn nên chú ý tìm kiếm khi ...

Dùng gem Twilio để sử dụng SMS Verify tài khoản đăng nhập bằng số điện thoại (Phần 2)
Sau khi tạo Model, View, Controller để thực hiện việc lưu mã Pin ở Phần 1. Thì ở phần cuối này chúng ta sẽ khởi tạo một mã pin và gửi nó qua SMS. Viết method cho việc chúng ta post một số điện thoại để thực hiện việc sign_up Đối với bước này, chúng ta cần tạo một action trong controller để ...

Các mã nguồn mở tốt nhất để làm website bán hàng thương mại điện tử (TMĐT)
Thương mại điện tử bao gồm bất kỳ loại hình kinh doanh, hoặc giao dịch thương mại, có liên quan đến việc chuyển đổi thông tin Internet giữa các mạng máy tính khác nhau. Thương mại điện tử cho phép người tiêu dùng trao đổi hàng hóa và dịch vụ mà không có rào cản về thời gian hay khoảng cách. ...

Java RMI và ứng dụng phân tán đơn giản
Khái niệm RMI RMI - Remote Method Invocation là một kĩ thuật cài đặt các đối tượng phân tán trong Java. RMI là một phần của bộ J2SDK và là hàm thư viện hỗ trợ các lời gọi phương thức từ xa và trả về giá trị cho các ứng dụng tính toán phân tán. Chúng ta giả sử rằng ngôn ngữ Java được sử dụng ở cả ...

Sử dụng Cloudinary để quản lý ảnh cho ứng dụng của bạn
Cloudinary là gì? Cloudinary là một cloud-based service, nó cung cấp một giải pháp quản lý hình ảnh bao gồm upload, lưu trữ, thao tác, tối ưu hóa và delivery. Với cloudinary bạn có thể dễ dàng upload ảnh lên cloud, tự động thực thi các thao tác với ảnh một cách thông minh mà không cần phải cài ...

Web Scraping with Capybara
Thông thường chúng ta muốn lấy dữ liệu từ một website, chúng ta thường dùng API mà website này cung cấp ví dụ như Twitter có Twitter API, Facebook cũng co Graph API của mình. Những API này thực tế là một đường dẫn URL mà khi request sẽ trả về những loại dữ liệu có thể xư lý (parse) được như JSON ...

Xây dựng ứng dụng ChatApp partI
Khi xây dựng ứng dụng Android, chúng ta thường phải thực hiện các giao tiếp với server như đăng kí, đăng nhập, gửi tin nhắn. NodeJs và SocketIO là một công cụ cực kì đơn giản và hữu ich để xây dựng server. Khi xây dựng các ứng dụng ChatApp hay Push Notification thì NodeJs luôn là lựa chọn đầu tiên ...

Single Table Inheritance trong Rails 4 (Phần 1)
Hôm nay, chúng ta sẽ thực hiện một vài model kế thừa với Active Record. Mặc dù việc này không nên làm lạm dụng thường xuyên nhưng trong một số hoàn cảnh thích hợp thì nó rất hữu ích. Bài viết này sẽ giới thiệu về cách tạo mô hình STI (Single Table Inheritance). I. Điều kiện để có thể thực hiện ...

Use facebook sdk in android
Ngày nay, mạng xã hội facebook có thể coi là một phần không thể thiếu trong các hoạt động của giới trẻ. Khi họ làm việc hay chơi một game, app nào đó đều có xu hướng chia sẻ nó lên trên mạng xã hội để mọi người biết và tham gia cùng. Chính vì vậy bài viết này mình sẽ hướng dẫn các bạn cách sử dụng ...

[Rails] [TDD] Hướng dẫn viết feature testing
Bài viết này hướng dẫn cách viết feature testing cho 1 rails app Vậy feature testing là gì? Định nghĩa chi tiết thì các bạn đọc ở đây nhưng hiểu nôm na thì feature testing nghĩa là thực hiện 1 công việc test cho 1 chức năng (feature) như 1 người test. Để minh họa cho các bạn dễ hiểu, thì ...

Vẽ biểu đồ - đồ thị
Trong mỗi chúng ta, mỗi người đều phải tự quản lý một công việc nào đó, đơn giản như quản lý cá nhân chẳng hạn, và để nhìn một cách tổng quan nhất về tiến trình công việc, bạn cần phải có report dưới dạng biểu đồ (đồ thị). Trong thời đại công nghệ phát triển cao, smart phone rất phổ biến, thì việc ...

Custom View extend ViewGroup
1. Giới thiệu về ViewGroup ViewGroup trong android là một view có thể chứa view khác trong đó. Một ViewGroup có thể chứa một hoặc nhiều child view. Tất cả những Layout Manager cơ bản được cung cấp sẵn như LinearLayout, Relative Layout, Frame Layout đều là những sub class được kế thừa từ View ...

Tìm hiểu về GestureDetector trong Android
1. Giới thiệu Một "Touch Gestures" được xảy ra khi người dùng đặt 1 hay nhiều ngón tay lên màn hình cảm ứng và các ứng dụng giải thích rằng mô hình của Touch Gestures là một sự kiện đặc biệt. Nó tương ứng với mới 2 giai đoạn nhận diện Gestures : Thu thập dữ liệu về các sự kiện chạm ...