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

Creating an environment for Node.js on Mac

This is my memo for creating an environment for Node.js on Mac Install Homebrew Install nodebrew Install Node.js 1. Homebrew Homebrew is a package manager using for Mac http://brew.sh/index.html We need this to install nodebrew Install Homebrew ・Confirm if the ...

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

Những hiểu biết ban đầu về Nodejs

Ở bài này mình xin giới thiệu về những khái niệm cơ bản trong Node.js. Do mới bắt đầu tìm hiểu nên những kiến thức dưới đây rất cơ bản, có thể gây nhàm chán với những bạn đã có kiến thức với node.js. I. Node.js là gì? Node.js là một nền tảng chạy trên môi trường V8 JavaScript runtime - một ...

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

Realm database

Realm là gì? Realm gồm 2 sản phầm là Realm database và Realm Platform. Trong đó Realm databse là cơ sở dữ liệu mã nguồn mở, miễn phí trên mobile (hiện nay đã hộ trợ Android và iOS, trong tương lai gần sẽ có thêm React Native và Xamarin). Realm Platform hiện mới ra phiên bản Beta hỗ trợ trên ...

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

Giới thiệu về JSLint

Như các bạn đã biết, javascript là một ngôn ngữ rất phổ biến và mạnh mẽ. Việc sử dụng javascript trong thiết kế web là gần như bắt buộc, tuy nhiên khá nhiều trang web hiện nay có hiệu năng chưa tốt mà nguyên nhân lại bắt nguồn chính từ những dòng code JS. Nguyên nhân chính là do chúng ta thiếu ...

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

Android: Multi Touch Example

Bài viết nhằm mục đích hướng dẫn, hỗ trợ nền tảng cơ bản trong phát triển CustomView trên Android Với các ứng dụng cơ bản và thao tác với View hay liên quan đến Image thường rất hay có các sự kiện liên quan đến việc tương tác giữa chúng. Nếu tương tác Image thì gần như không có gì khó khăn hay ...

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