
Tìm hiểu lập trình Android bằng cách làm ứng dụng tìm kiếm truyện
Trong bài viết này chúng ta sẽ tạo ra một ứng dụng tìm kiếm sách từ nguồn Open library API và kết quả tìm được sẽ là danh sách quyển sách kèm theo hình ảnh. Đồng thời ta thêm phần giới thiệu, chia sẻ cho bạn bè về sách mà người dùng tâm đắc. Tổng quan về ứng dụng Ứng dụng này sẽ có 2 màn hình, ...

SubSonic Framework: Tạo 1 blog engine (Phần 1)
Bài viết này cho thấy làm thế nào bạn có thể sử dụng ORM subsonic để tạo ra một trang weblog đơn giản. Đối với bất kỳ dự án nào, việc xây dựng Data Access Layer (DAL) luôn là công việc tốn nhiều công sức và thời gian nhất, nhất là khi phải làm việc với cơ sở dữ liệu lớn. Hơn nữa việc tự xây dựng ...

OpenGL part 3.2: MODEL AND VIEW in OpenGL
**I. MODEL Ma trận ** Model được xác định bởi một tập hợp các đỉnh. Tọa độ X, Y, Z của các đỉnh được xác định tương đối so với trung tâm của đối tượng: đó là, nếu một đỉnh là (0,0,0), nó là trung tâm của các đối tượng. Chúng ta có thể di chuyển mô hình này, có thể vì người chơi điều khiển ...

Sử dụng dịch vụ AWS miễn phí với chế độ FreeTier
Bạn đã bao giờ muốn tự mình thử config, cài đặt server sử dụng các dịch vụ của AWS chưa? Có phải bạn băn khoăn vì phí dịch vụ của AWS tương đối cao. Đây là giải pháp cho bạn. Amazon cung cấp cho người dùng chế độ FreeTier, trong đó bạn có thể thử sử dụng một số dịch vụ cơ bản với cấu hình thấp, ...

Using database views for performance wins in Rails
Database views## Một database view là tập hợp các kết quả của một truy vấn được lưu trữ mà người dùng có thể truy vấn giống như đang trong một kết nối cơ sở dữ liệu liên tục. Với rails, model thừa kế từ ActiveRecord::Base sẽ không quan tâm tới đối tượng collection tương ứng là một bảng hay view, ...

Java Thread: notify() and wait()
Để tránh các vấn đề thường gặp với multithreading: Hai hay nhiều thread tranh nhau sử dụng chung tài nguyên - race condition. Thread này chiếm giữ tài nguyên của thread khác yêu cầu đến -> dẫn đến bị tắc nghẽn - deadlock. Các thread khác chiếm hết tài nguyên -> có thread không được ...

Sass-based grid framework - Susy
Nếu là một designer hẳn bạn sẽ biết grid layout luôn là người bạn tốt của chúng ta. Grid layout giúp việc thiết kế, cấu trúc một trang web dễ dàng và hiệu quả hơn cũng như thân thiện với người dùng. Tuy nhiên các vấn đề về sắp xếp làm sao để các thành phần không chèn, đè lên nhau lại là cả vấn ...

Data Migrations in Rails
https://robots.thoughtbot.com/data-migrations-in-rails Bất cứ lúc nào, khi chúng ta cần phải thay đổi dữ liệu thực tế trên môi trường production. Dĩ nhiên tùy chọn đầu tiên xuất hiện trong đầu là sử dụng Rails migration, đặc biệt kể từ khi migration xuất hiện trong các task chính của, data ...

Tối ưu hóa CSS
Tiếp theo phần blog tối ưu hóa code ROR lần trước, lần này mình đề cập đến một vấn đề mà không ít developer thường hay bỏ sót. Một phần có thể tối ưu hóa được, giúp một phần cho trang web chạy nhanh hơn đó chính là CSS. Nhiều lập trình viên thường chỉ chú ý đến việc tối ưu thuật toán, tối ưu xử lí ...

Laravel 5.2 - New Features
Laravel 5.2 đã được phát hành từ ngày, nó có khá nhiều điểm mới so với phiên bản 5.1 như hỗ trợ multiple authentication driver, implicit model binding, simplified Eloquent global scopes, authentication scaffolding, middleware groups, rate limiting middleware, array validation improvements, and ...

Phát triển game dựa trên game engine đa nền tảng cocos2d-x (P1)
Theo như tiêu đề bài viết, đây sẽ là 1 series tập trung vào việc phát triển game dựa trên game engine đa nền tảng cocos2d-x. Đối tượng bài viết hướng tới là những lập trình viên bắt đầu tiếp cận với cocos2d-x và cả những người đã tìm hiểu và sử dụng qua nền tảng này. Vì vậy level sẽ được nâng dần ...

Chương 1: Bắt đầu với Selenium IDE
Kiểm thử tự động đang dần trở lên phổ biến trong những năm qua do các đội không có thời gian hay tiền bạc để đầu tư vào đội kiểm thử lớn để đảm bảo các ứng dụng làm việc như họ mong muốn. Người phát triển cũng muốn chắc chắn rằng code họ viết làm việc như họ muốn. Jason Huggins cũng thấy được vấn ...

Tạo Và Sử Dụng Module Trong Ruby on Rails
Chào các bạn, như bài viết trước mình cũng có 1 bài viết giới thiệu về Ruby on Rails, bài biết hôm nay mình lại tiếp tục với chủ đề với tạo và sử dụng Module như thế nào trong Ruby on Rails. Trong Ruby on Rails với tính linh hoạt của module nên nó được sử dụng khá nhiều trong các dự ...

Tìm hiểu về movie Maker trên android - Phần 2
Tiếp tục ở phần 1 Ở phần này mình sẽ giới thiệu tạo ra video đơn giản nhất và viết demo hướng dẫn Mục tiêu Tạo ra video demo với zoom hình ảnh đầu vào Add audio sau khi có video Xuất ra video cuối cùng với thời lượng bằng thời lượng video tạo ra ban đầu (cho dù audio add vào có độ dài hơn) ...

Những điều cần biết về java.util.concurrent trong lập trình đa luồng
Viết code đa luồng vừa làm việc tốt vừa bảo vệ được các ứng dụng trước các lỗi là khó khăn, đó là lý do mà chúng ta có java.util.concurrent . Tôi sẽ giới thiệu các class của java concurrent: CopyOnWriteArrayList , BlockingQueue , ConcurrentMap đã đáp ứng các yêu cầu lập trình multithread như ...

Một số kĩ thuật tối ưu tốc độ Swift
1. Khởi động whole module optimization Ở Xcode7 thì chúng ta có thể khởi động Whole Module Optimization trong build setting để có thể tối ưu tốc độ của Swift. Đối với cấp độ None hoặc Fast thì trình biên dịch làm việc với từng file source một. Khi định nghĩa các generic function trong ...

Tìm hiểu 2D graphic trong android qua ví dụ
Có 2 cách phổ thông nhất để vẽ 2d lên android: Vẽ tới một Canvas Vẽ tới một view Canvas là gì? Theo ý mình hiểu thì nó kiểu như một cái để mình vẽ lên chẳng hạn như bảng, giấy hoặc bất cứ thứ gì mà khi mình cầm bút or phấn vẽ lên đó thì có thể nhìn thấy. Có giấy phải cung cấp bút mới vẽ ...

LibGDX Tutorial 10: Scene2D Phần 2 - Sử dụng các Actions
Phần tiếp theo của Scene2D tutorial, chúng ta sẽ xem làm thế nào để các Actors hoạt động được sử dụng các Actions. Hãy nhìn vào một ví dụ: package com . thinhhung . game ; import com . badlogic . gdx . ApplicationListener ; import com . badlogic . gdx . Gdx ; import com . badlogic . ...

Làm sao để cân bằng giữa công việc và cuộc sống
Làm việc trong ngành Công nghệ thông tin (CNTT) là một nghề thú vị, hấp dẫn nhưng cũng có rất nhiều áp lực. Có đôi khi chúng ta phải chấp nhận sự "cạnh tranh" không mong muốn giữa thời gian dành cho công việc và thời gian dành cho cuộc sống gia đình mình. Vậy bạn đã có cách nào để có thể điều ...

Giới thiệu về Jenkins: Một Open Source Continuous Integration Server
Jenkins là một máy chủ tích hợp liên tục có thể mở rộng. Nó build và test phần mềm của bạn một cách liên tục và theo dõi sự thi hành và trạng thái của các remote jobs. Nó giúp cho team members và users thường xuyên có được code chạy ổn định. Cài đặt Jenkins Trong bài viết này tôi sử dụng ...