Standing Desk chỉ là phong cách làm việc thời thượng?
Rõ ràng rằng việc sử dụng standing desk đã trở thành dấu hiệu của một văn phòng làm việc sành điệu. Bất kỳ một công ty khởi nghiệp có lòng tự trọng nào mà tuyên bố sức khỏe của nhân viên là mối ưu tiên hàng đầu cũng đang chạy theo phong trào này. Và các công ty lớn cũng không đứng ngoài cuộc - ...
How does a relational database work (Part 2)
Bài trước chúng ta đã nói về B tree, và sơ qua về B+ Tree, bài viết này sẽ giới thiệu tiếp về B+ Tree và một số khái niệm về databases khác B+ Tree index Với một B+ Tree có cấu trúc: chỉ node thấp nhất (lowest nodes - hay còn gọi là lá) mới lưu trữ thông tin (vị trí của các hàng trong bảng ...
Tạo realtime Multiplayer game sử dụng Google play Game Services trong unity
Trong những bài viết trước đây, tôi đã đề cập nhiều đến việc tạo ra những Multiplayer game trong Unity. Nhưng tất cả những bài viết đó, tôi đã đề cập về việc sử dụng PUN (Photon Unity Networking) hỗ trợ Network interface, Matchmaking. Tình cờ, tôi xem qua một tutorial trên mạng và biết được Google ...
Giới thiệu những platform mạng xã hội (So sánh sơ qua giữa Phpfox với SocialEngine
Trong hẳn chúng ta không ai biết đến các trang mạng xã hội nổi tiếng như Facebook, Twitter, Google Plus,... Những trang mạng xã hội này giúp cho mọi người đều có thể kết nối được với nhau. Như vậy những website kiểu mạng xã hội sẽ là một nơi giúp mọi người gắn kết với nhau cũng như là môi trường ...
Elasticsearch trong Rails với gem Chewy
Elasticsearch cung cấp một phương thức index và truy vấn mạnh mẽ theo chuẩn RESTfull, được xây dựng nên nền thư viện Apache Lucene. Hiện tại, thư viện hỗ trợ các phương thức tìm kiếm vô cùng hiệu quả, gọn nhẹ và dễ tùy chỉnh, có thể tìm kiếm với bộ mã UTF-8. Việc giao tiếp với thư viện ...
Giới thiệu về Java RMI(Remote Method Invocation)
Lập trình đối tượng phân tán là một vấn đề nóng bỏng của công nghệ phân tán phần mềm ngày này. Java là ngôn ngữ đi tiên phong với RMI(Remote Method Invocation), một kỹ thuật cài đặt các đối tượng phân tán vô cùng hiệu vô cùng hiệu quả và linh động Thông thường các chương trình của chúng ta được ...
Sử dụng gem WebsocketRails để xây dựng ứng dụng thời gian thực
1. Giới thiệu WebSockets là một kỹ thuật Reverse Ajax mới hơn Comet, cho phép các kênh giao tiếp song song hai chiều và hiện đã được hỗ trợ trong nhiều trình duyệt (Firefox, Google Chrome và Safari). Gem WebsocketRails là một cài đặt trên Rails của WebSockets, cho phép ta xây dựng ứng dụng thời ...
The Art of Readble Code (Part III)
Knowing What to Comment V. Sử dụng comment một cách hợp lý Mục tiêu của phần này là giúp bạn nhận ra rằng những nơi nào bạn cần đặt comment. Bạn có thể nghĩ mục tiêu của việc comment là giải thích những gì đoạn code làm nhưng thực ra nó chỉ là một phần nhỏ của nó . **KEY IDEA : Mục ...
[CakePHP] Xuất dữ liệu ra Excel sử dụng thư viện PHPExcel (p3)
Tiếp phần 2, ở bài này tôi sẽ trình bày thêm một số nội dung về PHPExcel để hoàn thiện demo của mình. Chèn ảnh Ảnh là một đối tượng khác nên cần phải khởi tạo đối tượng PHPExcel_Worksheet_Drawing trước khi đưa vào một trang excel, đối tượng sau khi được khởi tạo thì có thể thiết lập những ...
Refractoring bằng AntiPatterns trong Rails
Refractoring bằng AntiPatterns trong Rails 1. Giới thiệu Trong quá trình phát triển ứng dụng, refractor luôn là công đoạn được ưu tiên hàng đầu để tối ưu các đoạn code, tăng khả năng maintain, dễ đọc, giảm độ phức tạp và tăng tính mở rộng cho hệ thống sau này AntiPatterns là các cách ...
Gọi Web API không đồng bộ & Cài đặt Callback trong Android
Nguồn http://www.justinmccandless.com/blog/Now+in+Android%3A+Asynchronous+Web+API+Calls http://www.justinmccandless.com/blog/Setting+Up+a+Callback+Function+in+Android Lý do dịch 2 bài này Một ngày chủ nhật đẹp trời, bỗng dưng trong đầu mình muốn hiểu về Callback trong Android hoạt động ...
Tổng hợp các cách sử dụng validation trong Rails
Tham khảo : http://guides.rubyonrails.org/active_record_validations.html Validates là các thao tác kiểm tra dữ liệu trước khi lưu 1 object vào DB. Ta cần biết khi các method nào sẽ gọi validate trong Rails. Các method dưới đây sẽ gọi validate : create create! save save! update ...
How to custom uICollectionViewLayout
Creating Custom Collection View Layouts Bước đầu tiên để custom collection view layout là tạo ra một class kế thừa từ UICollectionViewLayout , trong bài viết này sẽ đặt tên là FGCollectionViewLayout . Bạn hãy chắc chắn rằng ngôn ngữ bạn chọn là Swift Tiếp theo bạn cần cấu hình cho layout ...
Tìm hiểu về Database class trong CI (phần 1)
Tổng Quan CI cung cấp cho người phát triển một class để giúp chúng ta dễ dàng hơn trong việc thao tác với cơ sở dữ liệu đó chính là database class. Database class có đầy đủ tính năng - "full-featured", nó hỗ trợ cả câu lệnh truy vấn truyền thống và Active Record. Các chức năng mà database ...
My shortlist of Ruby gems
There are always gems for anything, but sometimes there are too many gems for a thing I need, so what gems to choose. Ruby Toolbox is a nice place for that purpose, but it is not always convenience looking there. I also do not want to remember a (long) list of frequence use gems. Therefore, ...
LibGDX Tutorial 6: Điều khiển chuyển động
Trong bài viết trước, chúng ta đã biết làm thế nào để xử lý chạm đa điểm và các cử chỉ trên màn hình càm ứng. Ngày nay, hầu hết các thiết bị di động có khả năng phát hiện chuyển động rất chính xác, mà LibGDX hoàn toàn hỗ trợ. Trong ví dụ này, chúng ta sẽ xem xét làm thế nào để xử lý các chuyển ...
Sử dụng Select2 để thay thế select boxes
Select2 là công cụ khá tốt để tùy biến select box, nó hỗ trợ việc tìm kiếm, tagging, lấy dữ liệu từ nguồn khác ... Để sử dụng Select2, bạn cần chèn file JavaScript và CSS của nó vào trang web của bạn. Bạn có thể tải chúng về từ đây https://github.com/select2/select2/tags , copy vào thư mục dist và ...
Memory Managerment In Objective C/ Swift
I - About Application memory management is the process of allocating memory during your program’s runtime, using it, and freeing it when you are done with it. In Objective-C, it can also be seen as a way of distributing ownership of limited memory resources among many pieces of ...
Setting up Sublime text for rails development
Khi bắt đầu với một ngôn ngữ lập trình mới, việc lựa chọn text editor để sử dụng và tùy chỉnh cài đặt chúng làm sao để mang lại một công cụ tiện ích nhất giúp chúng ta trong việc lập trình chở nên nhanh chóng và dễ dàng là điều rất quan trọng. Và như tựa đề, bài viết này sẽ giới thiệu và trình bày ...
Đồng bộ dữ liệu Core Data với Parse Service (Phần 1 + 2)
(Ghi chú: gộp phần 1 và 2, update Swift 2.0, update product entity & service class) Ở trong bài viết trước tôi đã trình bày về cách tạo 1 ứng dụng lưu dữ liệu trực tiếp lên Parse Service, việc này giúp cho dữ liệu luôn được đồng bộ giữa nhiều thiết bị, tuy nhiên việc này có hạn chế là ...







