Sử dung gem cells trong rails

Trong ứng dụng rails để gộp và tái sử dụng view nhiều lần, chúng ta thường dùng Partial. Tuy nhiên, khi muốn gộp chung cả logic vào view để tạo một template dùng chung thì qủa thực rất phức tạp. cells sinh ra là để giúp chúng ta giải quyết vấn đề này. 1. Giới thiệu Gem cells cho phép ta đóng ...

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

Thực hành với Semantic UI Framework

Semantic-UI là một frontend css framework cho phép designer và developer có thể chia sẻ UI thông qua một ngôn ngữ chung. Semantic-UI cung cấp các UI dựng sẵn với thiết kế phẳng và kiểu dáng đẹp, là một trong top những framework front-end tốt nhất hiện nay. Phần cài đặt các bạn có thể tham khảo ...

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

Dependency Injection trong iOS với Swinject

DI là gì? Trước đây, tôi đã có 1 bài giới thiệu về DI cho ứng dụng iOS sử dụng Typhoon. Tôi xin phép viết lại đoạn giới thiệu về DI ở đây để các bạn tiện theo dõi. DI - Dependency Injection là 1 design pattern thực thi inversion of control (IoC). Một "injection" là việc đưa một đối tượng ...

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

Ckeditor và Upload ảnh

Mở đầu Bài trước mình đã viết về việc upload ảnh lên flickr. Hôm nay mình xin giới thiệu với các bạn cách chèn ảnh đã upload vào CKeditor. CKeditor là gì? CKEditor (còn gọi là FCKeditor) là một trình soạn thảo mã nguồn mở theo kiểu WYSIWYG (tay làm - mắt thấy) của CKSource. Chương trình này ...

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

[Laravel Framework] Xây dựng trang quản trị web bán hàng - Bài 1 Tạo cơ sở dữ liệu với Migrate

Laravel là 1 framework khá mới, phiên bản đầu tiên được phát hành vào tháng 6/2011, mã nguồn mở, dùng để xây dựng web aplication và được thiết kế theo mô hình MVC. Laravel là 1 trong những framework phổ biến nhất. 1. Cài đặt Để cài đặt được laravel trong ubuntu thì máy của bạn phải cài ...

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

CSRF Protection

1.CSRF là gì? CSRF( Cross- Site Request Fogery) là cách sử dụng quyền chứng thực của người sử dụng với một website. Các ứng dụng web hoạt động theo cơ chế nhận các câu lệnh HTTP từ người sử dụng sau đó thực thi các câu lệnh này.một trang web của một tên miền khác Hacker sử dụng kỹ thuật tấn ...

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

BẠN CÓ ĐANG SỐNG TRONG MỘT CỖ MÁY GIẢ LẬP ? (PHẦN 2)

Bài viết này được dịch từ bài báo khoa học của Nick Bostrom đến từ đại học Oxford, là phần tiếp theo của bài sau đây: Bạn có đang sống trong một cỗ máy giả lập? (PHẦN 1) Hạt nhân của giả thuyết simulation Ý tưởng cơ bản của giả thuyết này có thể được diễn giải một cách khái lược như sau: ...

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

Cấu trúc dữ liệu đệ quy trong Rails

1. Tổng quan Đôi khi bạn cần xây dựng một cấu trúc dữ liệu phân cấp/phân cấp trong Rails. Vì vậy hôm nay tôi sẽ giới thiệu cho các bạn một vài thiết kế đồng thời phân tích điểm mạnh và điểm yếu của mỗi thiết kế. Dưới đây là danh sách 4 mô hình thiết kế cấu trúc dữ liệu đệ quy/phân cấp: ...

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

Eloquent Relationships in Laravel 5.3 (Chap 2)

Index Eloquent Relationships in Laravel 5.3 (Chap 1) Mở đầu Khi có nguyên liệu đầy đủ và một quyển công thức dạy nấu ăn thì chắc chắn bạn sẽ làm được món ăn ngon một cách dễ dàng. Eloquent Relationships trong Laravel cũng thế, khi các bảng đã được nối với nhau, và có hướng dẫn cách truy ...

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

Import và export file excel, csv với Laravel-Excel

Bài viết này mình sẽ tổng quan ngắn gọn về package Laravel-Excel . Có lẽ không cần phải giải thích nhiều về mục đích của nó, tiêu đề nói tất cả mọi thứ. Về cơ bản, Laravel Excel mang trong mình sức mạnh của PHPExcel, nó bao gồm các tính năng như: importing Excel, CSV to collection, exporting ...

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

Tìm hiểu về Offline.js

Một trong những tính năng của JavaScript là khả năng phát hiện xem 1 trình duyệt được cung cấp là online hoặc offline. Chức năng này được tận dụng một cách dễ dàng thông qua đối tượng navigator được cung cấp bởi trình duyệt của bạn nhưng nếu bạn không phải là 1 fan viết ra những đoạn code ...

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

Gosu - Thư viện game 2D cho Ruby

Stage 1: Make something moves Mở đầu Khi nhắc đến lập trình game thì hầu hết mọi người đều bảo rằng bạn nên học C++ hoặc một nền tảng khá phổ biến là Unity, còn Ruby thì có vẻ như lại là sự lựa chọn cuối cùng mà bất kỳ nhà phát triển game nào cũng sẽ trả lời như vậy. Chính xác, cho đến ...

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

Làm thế nào để có thể custom collection view layout ?

Đã bao giờ bạn không hài lòng với layout mặc định của collection view (flow layout) hay có bao giờ flow layout không thể đáp ứng được yêu cầu về giao diện của bạn? Khi đó bạn cần phải làm gì? Câu trả lời cho bạn là bạn cần phải custom collection view layout. Đây là một ví dụ cho project của ...

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

Sơ lược Object Oriented Design Principles

Chuyện về Object Oriented Design Principles Thời còn mài đít ở giảng đường, hầu hết sinh viên ngành CNTT đều được dạy những khái niệm cơ bản về Object Oriented Programming (OOP) như 4 tính chất của nó khá là rõ ràng. Sau này khi đi phỏng vấn xin việc thì kiểu gì cũng đc hỏi về nó. Thế nhưng cái ...

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

Query trong web api odata

Trong bài viết này mình cùng các bạn tìm hiểu về những query mà có thể thực hiện từ client sử dụng web odata api. Đây chính là điểm mạnh nhất và sự khác biệt lớn nhất mà mình thấy giữa web odata api và web api thông thường. Chúng ta sẽ tạo một project nhỏ về web odata api để demo và tìm hiểu những ...

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

Scheduling of tasks vớithe Android JobScheduler

1.Giới thiệu Scheduling tasks 1.1. Bối cảnh Nếu bạn có một công việc cần hẹn giờ hoạt động ở 1 thời điểm trong tương lai, Nó hoạt động mặc dù ứng dụng của bạn hiện không được sử dụng như báo thức,... Hệ thống android hiện tại cung cấp cho chúng ta 2 cách để làm điều này là: AlarmManager ...

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

Giới thiệu về Content Provider trong Android

Giới thiệu Content provider là một thành phần để quản lý truy cập dữ liệu, nó cung cấp các phương thức khác nhau để các ứng dụng có thể truy cập dữ liệu từ một ứng dụng khác bằng cách sử dụng ContentResolver. Content Provider có thể giúp cho một ứng dụng quản lý quyền truy cập đến dữ liệu được ...

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

Data Binding trong Android

Một thư viện rất đáng giá mà Android M sở hữu: thư viện Data Binding. Thư viện giúp các lập trình viên không phải viết quá nhiều code để “ghép dữ liệu” vào các component trên file layout XML nữa. Nếu bạn nào đã từng lập trình web thì có thể nôm na hiểu thư viện này giống với ...

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

Sử dụng ransack để search trong rails

Chúng ta có một số bất cập khi tự create 1 method search cho App rails. Vậy muốn xử lý search được đơn giản hơn ta nên dùng gem ransack. Bài viết này sẽ nói về cách dùng gem 'ransack' để search trong index: I. Cài đặt Ransack khả dụng với Rails 3.x, 4.0, 4.1 và 4.2. Thêm dòng sau vào ...

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

Một số điểm mới về Migration và Eloquent trong Laravel 5.3

Thay đổi của Eloquent Query Builder trả về một Collection. Trong Laravel 5.2, Query Builder trả về dữ liệu dưới dạng mảng mà mỗi phần tử là một thể hiên của đối tượng stdClass. Điều này đã được thay đổi trong Laravel 5.3, thay vì trả về array, Query Builder bây giờ sẽ trả collection. Đây ...

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