Machine state và cách dùng trong rails
I. Tổng quan về machine state Machine state là một biểu đồ trạng thái. Nói dễ hiểu hơn, nó là cách để kiểm soát các trạng thái theo điều kiện tương ứng. Ví dụ bạn có một tập các trạng thái khác nhau, tùy thuộc vào điều kiện và trạng thái hiện tại, bạn sẽ có các hành động khác nhau trong thời ...
Agile và văn hóa Việt Nam
Bên lề bài viết Tôi có cơ hội được làm việc với một khách hàng người Nhật trong một thời gian khá dài. Bác ấy là một người khá đặc biệt, và có phần hơi "Tây" so với những thuyết giáo và phong cách vốn là đặc điểm đặc biệt của người Nhật. Bác đã đi làm hơn 20 năm trong nghành phần mềm, tuy ...
Ý nghĩa của typography trong thiết kế
So với màu sắc và hình khối, typography hay cách sử dụng chữ trong sáng tạo đôi khi bị nhiều designer xem nhẹ. Vậy liệu một yếu tố đơn giản như font chữ có thể làm thay đổi ý nghĩa của câu chữ và toàn bộ thiết kế? Chắc chắn rồi! Lựa chọn một kiểu chữ phù hợp có thể đem đến hiệu quả mạnh mẽ khi nhấn ...
Xin đừng đánh nhau với Framework
Xin bắt đầu bằng câu chuyện rùa và thỏ. Phiên bản 1: Như mọi người đã biết, rùa thắng thỏ vì rùa rất chăm chỉ, chậm và chắn chắn. Sau khi thua rùa, thỏ ta rất cay cú nói với thỏ con: "Đời cha đã thua rùa vì không chăm chỉ, đời con, con nhất định phải lấy lại danh dự cho nhà Thỏ, không ...
Mobile Testing: Hướng dẫn tổng quát khi test apps trên Mobile
Một số hoặc tất cả các loại kiểm thử sau đây có thể được thực hiện tùy thuộc vào yêu cầu kiểm tra mobile của bạn Functional testing - Kiểm thử chức năng Performance testing - Kiểm thử hiệu suất Security testing - Kiểm thử bảo mật Usability testing - Kiểm thử tính khả dụng Compatibility ...
Strip vs Squish
Sample " hello world " . strip = > "hello world" " hello world " . squish = > "hello world" What's difference? Strip Ruby method Returns the string, remove white spaces only at the leading and trailing Squish Rails method Returns the string, ...
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 2)
Ẩn dữ liệu (hiding data) và đóng gói thông tin (encapsulation) Kể cả đối với object composition của ngôn ngữ C, bằng việc tách biệt việc define và implement của header file chúng ta vẫn có thể ẩn những thông tin bên trong kiểu dữ liệu trừu tượng. Tuy nhiên, sau này người ta đã dần dần hỗ ...
Let Build Single Page App - Part III
In Part II we have built API end point that needed for implementing authentication system. In this part we'll be focusing on building user interface using that end point with ReactJS. As usual you can find source code here. Now without any further ado lets get started. Routing Configuration ...
Google Firebase - Phần 2
Như bài giới thiệu trước mình đã chia sẻ về Google Firebase một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu. Các bạn có thể xem lại ở đây: ...
Sử dụng Firebase trong việc đăng nhập và xác thực đăng ký thành viên
Theo thông tin từ hội nghị Google I/O 2016. Firebase đã đưa ra bản mới với nhiều nâng cấp. Chúng ta sẽ làm demo để chạy thử một ứng dụng đơn giản và dễ dàng cùng với firebase sử dụng email và password để xác thực người dùng VIDEO DEMO Đặc điểm của firebase Firebase cùng với những đặc ...
TÌm hiều về các length unit phổ biến trong CSS
CSS hiện đang sử dụng một số đơn vị khác nhau cho độ dài của element. Một số thuộc tính CSS sử dụng đến đơn vị độ dài như: awidth, height, margin, padding, font-size, line-height... Đợn vị độ dài có thể chia ra làm 2 loại: đơn vị tương đối (relative) và đơn vị tuyệt đối (absolute). Một số đơn vị độ ...
Responsive design testing
1 - Responsive là gì? Sống trong thời đại công nghệ phát triển như ngày nay, yêu cầu của con người ngày càng khắt khe hơn, họ đòi hỏi một trang web không chỉ đẹp mà phải chạy mượt mà trên mọi thiết bị: máy tính bảng, iphone, laptop; trên mọi độ phân giải màn hình từ 800×600 đến ...
Laravel và NoSql
Hôm nay mình sẽ chia sẻ cho các bạn làm thế nào để sử dụng laravel với Nosql cụ thể ở đây là MongoDB. Nội Dung Trước tiên chúng ta đi tìm hiểu sơ qua về Laravel và NosSql. So sánh giữa Nosql và Mysql. Tiếp theo là MongoDB. Cuối cùng là cài đặt MongoDB vào Laravel Như thế nào. ...
Laravel Eloquent Technique: Dedicated Query String Filtering
Giới thiệu Với vai trò là Developer, chúng ta hẳn đã rất quen với những form search dữ liệu. Cụ thể là trong các màn hình Admin cần view và filter dữ liệu để dễ dàng cho việc quản lý. Mở đầu cho bài viết tôi xin đưa ra bài toán về quản lý các bài học (Lesson) như sau: Tôi cần một màn hình ...
Hướng dẫn cách vẽ đồ thị bằng HTML5 và CSS3
Mở đầu Vẽ đồ thị hay biểu đồ là một một công việc không hề dễ dàng, đôi khi nó khiến cho các nhà thiết kế website phải bực mình vì quá lằng nhằng và phức tạp đối với những kiểu biểu đồ khác nhau. Thông thường, với một website designer, họ thường tạo chúng bằng các công cụ vẽ vector như Corel, ...
[Android] Sử dụng Tool hỗ trợ thiết kế giao diện đa màn hình trong Android.
I.Giới thiệu Việc thiết kế giao diện trên Android để có thể phù hợp với nhiều kích cỡ màn hình khác nhau sẽ làm các bạn mất khá nhiều thời gian. Mình sẽ hướng dẫn các bạn thực hiện việc thiết kế đó 1 cách nhanh hơn, đơn giản hơn và chính xác hơn. Thay vì các bạn phải vào từng file dimens ...
Sử dụng Bitmasks trong Objective-C
Để biểu diễn nhiều trạng thái của một đối tượng, thay vì sử dụng nhiều biến lưu lại các trạng thái này, người ta sử dụng một biến để lưu lại trạng thái của tất cả. Kĩ thuật này được gọi là "bit masking". Trong lập tình iOS, chắc hẳn khi xây dựng giao diện và làm việc với Auto resizing mask ...
random — Pseudorandom Number Generators (Part II)
Purpose: Implement một vài hàm sinh số ngẫu nhiên Avalable In: Python 1.4 trở lên Module random cung cấp một bộ sinh số ngẫu nhiên (PRNG - pseudorandom number generator) dựa vào giải thuật Mersenne Twister. Ban đầu được phát triển để sinh ra input cho các mô phỏng Monte Carlo, Mersenne ...
Phân trang trong Rails sử dụng Gem Kaminari và tạo select limit load với gem Ransack
1.Giới thiệu Phân trang là một kĩ thuật rất phổ biến và quan trọng trong các trang web lớn,khi mà số lượng các item nhiều. Đó là yếu tố sống còn của website khi mà nó trực tiếp ảnh hưởng đến hiệu năng của hệ thống. Tôi lấy một ví dụ đơn gian nếu chúng ta cần phải load ra 100000 bản ghi tốn mất ...
Hiệu ứng Diderot và cách để vượt qua nó (hay lý do tại sao bạn dễ tiêu tiền vào những thứ không cần thiết)
Chắc hẳn ai trong chúng ta cũng đã từng rơi vào tình huống khi ta mua một món đồ mới và lập tức tìm mua những món đồ khác hợp để đi kèm với nó, chẳng hạn như một chiếc túi xách và đôi giày hợp với chiếc váy mới, hay tấm phủ bàn phím, đế tản nhiệt, túi chống sốc, balo riêng...cho chiếc laptop ...