Text to speech with Android
Giới thiệu Hôm nay, chúng ta cùng tìm hiểu về text-to-speech với Android. Hay chính là việc chuyển từ chữ sang tiếng nói trong android. Nó giúp cho chúng ta luyện nghe và nói rất nhiều khi chũng ta muốn học một ngôn ngữ mới nào đó. Đối với mỗi máy thì đều có một sỗ ngôn ngữ hỗ trợ sẵn việc đọc ...
Sử dụng Comprehensions trong python
1. Giới thiệu về Comprehensions Python là ngôn ngữ lập trình rất linh hoạt và thanh lịch. Nó cho phép chúng ta làm được rất nhiều việc chỉ với một số ít dòng code. Hơn nữa, cú pháp của Python rất dễ đọc đối với con người, đó là điểm thanh lịch của Python. Trong bài viết này, tôi sẽ giới thiệu ...
Single Responsibility 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 đầu tiên trong thiết kế linh hoạt, đó là SRP. Nguyên tắc một trách nhiệm - Single Responsibility Principle Nguyên tắc được đưa ra bởi Tom DeMarco và ...
Custom View Controller Presentation Transitions
Trong bài viết này mình sẽ hưỡng dẫn các bạn cách custom view controller presentation transition 1. Chuẩn bị Bạn cần chuẩn bị một project về đề tài các món ăn chẳng hạn, nó đơn giản gồm có: - View controller thứ nhất chứa một title khái quát nội dung của project (trong bài này mình đặt tên là ...
Login bằng TweetBook plugin trên Redmine Ruby on Rails
I. Thế nào là Redmine và TweetBook? 1. Redmine Là một ứng dụng web quản lý dự án linh hoạt được viết bằng Ruby on Rails. Muốn thêm chức năng nào đó thì thông thường ta sử dụng các plugin để add vào project. Ở bài viết này chúng ta sẽ tìm hiểu xem làm thế nào để login vào hệ thống bằng các tài ...
Sử dụng NSTimer trong swift
Chào các bạn, trong bài viết này chúng ta sẽ cùng nha tìm hiểu về NSTimer trong Swift bằng cách xây dựng một ứng dụng đếm số nhị phân ( Binary Counter ) Đầu tiên chúng ta sẽ xem qua 1 chút về các thành phần sẽ sử dụng trong project: NSTimer Về cơ bản thì một timer sẽ thực thi vài dòng lệnh ...
Swift 2 Control Flow
Swift là ngôn ngữ lập trình mới được phát triển bởi Apple Inc. với mục đích hỗ trợ lập trình viên trong việc phát triển các ứng dụng chạy trên các hệ điều hành như iOS, OSX và watchOS. Swift được xây dựng dựa trên việc kế thừa các tính năng của 2 ngôn ngữ C và Objective-C. Swift2 Apple mới đây ...
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 ...