
Lỗ hổng web: kỹ thuật SQL Injection
**1. Khái niệm ** Sql Injection (SQLi) là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp, Sql Injection có ...

Cách tạo pull-to-refresh control
Trong bài viết này tôi muốn hướng dẫn cách sử dụng "Pull to refresh" control khi làm iPhone App. control mới này làm tôi rất chú ý và rất muốn custom nó. Hãy cùng xem cách hoạt động của nó nhé. Tiêu đề Label hiển thị khi kéo xuống(pull down) Hình nên hiệu ứng khi bạn thả tay ra ...

HỌC TIẾNG ANH HIỆU QUẢ MÀ KHÔNG TỐN SỨC
Các bạn đã mất bao lâu học tiếng anh để giao tiếp cơ bản được với người nước ngoài? , Hầu hết chúng ta được tiếp cận tiếng anh từ những ngày còn ngồi trên ghế nhà trường, tính đến giờ này cũng phải ngót ngét chục năm nhưng không hẳn ai cũng nói trôi chảy với người nước ngoài đến thời điểm này và ...

Block, Proc và Lambda trong Ruby
I. Block, Lambda và Proc là gì? Ruby là một ngôn ngữ với một tập hợp các tính năng mạnh mẽ - các tính năng mạnh mẽ nhất được cho là Blocks, Procs, và Lambdas. Nói tóm lại, các tính năng này cho phép bạn chuyển mã lệnh vào một method và thực thi mã đó tại một thời gian sau đó (khi method chứa mã ...

Cách tạo animation cho 3D character sử dụng Kinect
Lời mở đầu ** Chắc hẳn ai đã từng làm Unity cũng đã kinh qua việc dùng Animation với 3D character. Đã bao giờ bạn hỏi làm cách nào để tạo ra animation cho nhân vật 3D? Thông thường, để nắm được cách tạo animation cho nhân vật 3D, bạn cần phải nắm vững mô hình skeleton chung, rồi sử dụng phần mềm ...

Tìm hiểu một vài cách Refractor trong Controller
Tìm hiểu một vài cách Refractor trong Controller I. Giới thiệu Tiếp nối phần trước kỹ thuật Refractor model trong sách Rails Antipatterns, trong phần này chúng ta sẽ tập trung tìm hiểu một vài kỹ thuật Refractor được áp dụng trong Controller. Controller là 1 trong 3 thành phần cơ bản của ...

Upload nhiều files với DropzoneJS và Carrierwave
1. DropzoneJS là gì## DropzoneJS là một thư viện javascript cho phép upload nhiều file thông qua AJAX. Ngoài ra, thư viện này còn hỗ trợ tính năng kéo thả file và tính năng xem trước file ảnh đã upload. 2. Cài đặt## Bạn thêm gem sau vào Gemfile: gem "dropzonejs-rails" gem "carrierwave" ...

IOS Virtual private networks (VPN)
OVERVIEW Secure access to private corporate networks is available in iOS and OS X using established industry-standard virtual private network (VPN) protocols. Out of the box, iOS and OS X support Cisco IPSec, L2TP over IPSec, and PPTP. iOS also supports IKEv2. If your organization supports one ...

Open-Closed Principle
Tiếp nối loạt bài viết dịch cuốn sách "Agile Software Development, Principles Patterns and Practices", ngày hôm nay, chúng ta đến với nguyên tắc thức hai trong thiết kế linh hoạt, đó là OCP. Nguyên tắc đóng mở - Open-Closed Principle Dutch Door - (danh từ) Một cánh cửa được chia làm hai ...

Typehead.js - AutoComplete Suggestion
Trong bài viết này tối sẽ giới thiệu cách tạo một công cụ gợi ý tìm kiếm sử dụng Jquery. Các bạn có thể dễ dàng và nhanh chóng tìm kiếm được trên google nhiều công cự để làm gợi ý tìm kiếm trên google. Có rất nhiều thư viện cũng như jquery plugins. Nhưng trong bài này tôi xin giới thiệu Twitter ...

Giới thiệu Default method trong Java 8
Java 8 mới được ra mắt với nhiều cải tiến so với các phiên bản gần đây. Một trong những thay đổi lớn nhất là khái niệm về interface, chúng ta đều biết rằng từ phiên bản 7 về trước, java không cho phép viết định nghĩa (definition) 1 method trong interface mà chỉ cho phép miêu tả nó (declaration), ...

Hướng dẫn sử dụng Predicate(vị ngữ) trong java 8
Trong toán học, một Predicate thường được hiểu là một giá trị Boolean hàm P:X ? {true, false}. Được gọi là vị ngữ trên X. Một cách không chính thống, một vị ngữ là đúng hay sai phụ thuộc vào các biến của nó. Nó có thể được coi như là 1 thao tác hay một hàm trả về giá trị đúng hoặc sai Trong Java ...

Những trở ngại sẽ gặp phải khi triển khai TDD (Phần 2)
Bài viết sau dịch từ 1 blog trên trang http://qiita.com/ TDDを行った時にぶつかった7つの壁 Bài dịch này là phần 2 cũng là phần cuối của bài. Bạn có thể đọc phần 1 tại đây Mặc dù nếu là người review code thì sẽ hiểu mã kiểm thử, tuy nhiên cùng một đoạn mã kiểm thử, những thành viên khác nhau sẽ có những ...

Javascript ES6 – Khi jS không còn là đồ chơi
Việc sử dụng Javascript trong quá trình phát triển các ứng dụng web là rất phổ biến. Hầu như không có ứng dụng web nào có thể bỏ qua ngôn ngữ này. Trong các sản phẩm được code dựa trên PHP, Java hay .Net hiện nay thì Javascript chủ yêu vẫn là một thứ “đồ chơi” nhằm bổ sung các hiệu ứng ...

Zsh 1 Trình shell vô đối (Phần 2)
Trong phần trước Zsh 1 trình shell vô đối (phần 1), mình đã giới thiệu với các bạn về Zsh và 1 số tính năng độc đáo của chương trình này. Trong phần này, mình xin tiếp tục giới thiệu 1 số chức năng độc đáo khác của Zsh . 7. Command/Process substitution (thay thế lệnh) Thực ra cái này dịch ...

Cơ bản về Typeahead.js Autocomplete Suggestion và Bloodhount
Typeahead.js phiên bản cải tiến bao gồm công cụ gợi ý Bloodhound có thể tìm kiếm và sắp xếp dữ liệu của bạn. Typeahead Js là công cụ tìm kiếm tương tự như google, facebook, twitter, gmail tự động gợi ý. Nó hoàn thành chuỗi đầy đủ khi bạn gõ. Bạn cần JQuery Typeahead JS Plugin Bloodhound ...

TreeView in ios
Sau 1 tháng OT trả góp dòng dã, hnay mới lại nâng mông lên nghiên cứu monthly report tháng này. Làm project củ chuối này thấy có cái treeview khá là hay bên bê sang đây cho ae tham khảo và học tập. Khi xem qua treeview này cảm giác khá kì công và hiệu ứng cũng khá đẹp. Ae nào custom đc cho dễ dùng ...

sự khác nhau của == , ===, eql?, equal? trong so sánh và sự khác nhau của << & += trong việc nối string
1.Sự Khác Nhau Của == , ===, Eql?, Equal? Trong So Sánh Điểm giống nhau cơ bản giữa chúng là chúng đều dùng để so sánh và trả về giá trị là true hoặc false. == — generic equality: So sánh có cùng giá trị hay không. Đây là cách so sánh phổ biến và cơ bản nhất trong hầu hết các ngôn ngữ ...

Mysql stored procedure
I. MySQL: Stored Procedure là gì? Stored Procedure được định nghĩa như một tập các khai báo sql được lưu trữ ngay trong cơ sở dữ liệu (database) và sau đó, được triệu gọi bởi một program, một trigger hay thậm chí là một stored procedure khác. Stored Procedured cho phép truyền tham số. ...

Sử dụng layout trong ruby on rails
1. Giới thiệu Layout được sử dụng phổ biến nhằm giảm bớt sự lặp lại của các đoạn code view dùng chung. Mô hình thông thường của layout có dạng: <%= render "shared/header" %> Hello World <%= render "shared/footer" %> Tuy nhiên mô hình này khá dài dòng và khó khăn trong ...