Sử dụng RecyclerView
RecycleView là một viewGroup mới được giới thiệu trong Android L ( API 21 ). Đây là một viewGroup có chức năng tương tự như ListView nhưng tỏ ra mạnh mẽ, linh hoạt hơn rất nhiều. ListView chỉ hỗ trợ bạn scroll các item trong listView theo chiều dọc mà không hỗ trợ scroll theo chiều ngang. ...
Làm nhiều hơn việc acceptance test với Capybara và Rspec.
TL;DR Cần thu thập thông tin của các đối tượng search theo keyword trên google => Viết script trên frameword Capybara để làm tự động, thay vì làm bằng tay. Background Như các bạn đã biết (cũng như dành cho các bạn chưa biết :D), đã code là phải có test, mà đã web là phải có acceptance. ...
Đồng bộ với iCloud
iCloud là dịch vụ điện toán đám mây được Apple đưa vào hoạt động từ tháng 10 năm 2011. Cho tới tháng 7 năm 2013, dịch vụ đã có hơn 320 triệu người sử dụng (wiki). Dịch vụ cho phép sao lưu không dây (wireless) dữ liệu và cấu hình của các thiết bị iOS thay vì phải sử dụng iTunes trên Mac hay ...
Elixir cho dân Ruby - Phần 3
Chưa xem phần 2? Xem phần 2 Trong bài viết này tôi giới thiệu cho các bạn về khái niệm function arity, một cách gọi mĩ miều của số lượng argument của hàm. Tại sao arity lại quan trọng trong Elixir? Function Arity là cái tên hoành tá tràng của "Hàm này có bao nhiêu argument". Với ví dụ sau: ...
Building Rails application with EmberJS
Hiện nay, xu thế phát triển chung của các ứng dụng web là phân tách riêng biệt hai phần: Front-end và Back-end để nâng cao hiệu năng hoạt động của web. Phía server (Back-enduery) bao gồm Controller và Model thường chỉ đóng vai trò truy xuất và quản lý dữ liệu vào ra của ứng dụng trong khi phía View ...
Request "lạ"
Nếu là một web developer thì bạn cũng ít nhiều phải đụng chạm tới proxy/load balancer hay app server. Trong rất nhiều thao tác với phần này thì việc thường xuyên kiểm tra log để phát hiện ra những điều bất thường là thao tác không thể bỏ qua. Ngữ cảnh Một khi website/service đã public thì có ...
SO SÁNH MỘT SỐ CÔNG CỤ KIỂM THỬ ỨNG DỤNG WEB
LỜI NÓI ĐẦU Như các bạn biết đã có nhiều bài viết chi tiết về các công cụ kiểm thử rồi, nhưng nội dung dưới đây Tôi sẽ giới thiệu để chúng ta hiểu rõ hơn về “ Các công cụ kiểm thử ứng dụng web” và so sánh chúng với nhau. I . So sánh một số công cụ kiểm thử ứng dụng web ...
Làm ứng dụng AR Location-based trên Android không dùng SDK
Ý tưởng của app này rất đơn giản, bật camera lên, khi bạn xoay camera về hướng nào thì các địa điểm trong thế giới thực sẽ hiện thông tin lên. Lý thuyết Augmented Reality sẽ chuyển đổi toạ độ thực tế thành toạ độ điểm x,y hiển thị trên camera. Trong AR Location-based, toạ độ thực tế chính ...
Quản lý bộ nhớ trong lập trình blackberry
Như đã giới thiệu ở bài trước kiến trúc của blackberry: Vì vậy quản lý bộ nhớ trong lập trình blackberry tương ứng với quản lý bộ nhớ với ngôn ngữ C++, QML (interface) và của QT Framework. Bài viết này tôi sẽ giới thiệu với các bạn cách quản lý bộ nhớ của QTFramework với ngôn ngữ C++. ...
Validate đăng kí user và TDD
Giới thiệu Việc xác thực quá trình đăng kí mới là công việc mà coder nào cũng phải gặp, thậm chí nó quen thuộc đến mức như cầm đũa hàng ngày vậy. Chúng ta có thể thực hiện việc validate ngay trên viewcontroller, tuy nhiên cách này khó test và sẽ khó quản lý nếu có nhiều điều kiện đầu vào. Cách ...
Overview of Android Studio
1.Introduction 1.1 A new integrated development environment Android Studio là một môi trường phát triên tích hợp (IDE) được phát hành bởi Google trong sự kiện Google I/O vào cuối tháng 5 năm 2013. Thương hiệu IDE mới này được thực hiện riêng cho việc phát triển android và có ý định thay thế cho ...
Làm việc với Maps trên iOS 7 với MapKit
MapKit Framework được xây dựng dựa trên data và APIs của Apple Maps, cung cấp cho các iOS developers một cơ chế đơn giản để tích hợp Maps trong các ứng dụng. Yếu tố cốt lõi của MapKit Framework từ điểm nhìn của các app developer là MKMapView class. Class này là subclass của UIView, cung cấp 1 ...
Nhập liệu với JSON Streaming
Tuần vừa rồi tôi khởi động một dự án nho nhỏ để thí nghiệm cách viết một JSON API hoàn chỉnh với Lotus Framework, có một thủ thuật về nhập liệu mà tôi thấy rất hay và muốn chia sẻ với mọi người, thủ thuật tôi gọi là nhập liệu thông qua streaming JSON object. Tôi có viết một gem tên cricos_scrape ...
Các thủ thuật để giấu secret key khỏi source control và ứng dụng với CI trong lập trình Android
Xin chào các bạn. Chắc hẳn mỗi chúng ta đều đã từng phát triển app sử dụng API của bên thứ 3, và chắc mọi người đều biết là hầu hết các API service đều yêu cầu chúng ta phải có 1 API key (secret token) để verify nguồn gốc của các request. Vậy thì tại sao chúng ta lại phải "giấu" API key này khỏi ...
Mẹo để phục hồi mã của một gem về ban đầu
Một trong những thói quen của tôi là hay vọc sâu vào mã nguồn của một gem mà app tôi sử dụng qua lệnh bundle open gem_name rồi thêm vào các dòng debug hay thay đổi để xem cách gem nó hoạt động ra sao. Nhưng khổ nỗi là nếu vọc xong thì phải tháo bỏ các thay đổi về như cũ, cách thường làm là gem ...
Tạo lớp APIClient (Swift 3)
1. Giới thiệu Từ hồi mới bắt đầu làm IOS, thằng nào cũng hỏi mình có biết sử dụng AFNetworking không? Khổ nỗi lúc đó, mình mới chuyển từ làm game sang, rất ít dùng đến lib, đa số tự viết nên lơ tơ mơ không biết chúng nó nói đến cái gì. Dùng anh google tìm hiểu thì mình mới ngộ ra AFNetworking là ...
Elixir cho dân Ruby - Phần 2
Bỏ quả phần 1? Xem phần 1 Trong phần này tôi sẽ giới thiệu về cách cấu trúc code trong Elixir, bắt đầu với biến (variable) và module. Để giúp các bạn độc giả Ruby tôi cũng sẽ cung cấp các ví dụ so sánh với các chức năng tượng tự có trên Ruby. Xin lưu ý, toàn bộ code sẽ được đánh thẳng vào iex ...
Sort, filter in action
Back to basic Hồi học phổ thông, tôi rất ấn tượng với một thằng giải toán bằng định nghĩa. Hắn học chuyên toán tự nhiên, ngồi trên tôi một bàn, quả thực không khó để tôi liếc được bài :D. Một cách giải thật đặc biệt, xuất phát từ định nghĩa cơ bản, trong khi cách giải thông thường là dùng công ...
Jump Start Sinatra 1.a - Sinatra là gì?
Rails rất "magical", để nhảy vào Rails từ Ruby cơ bản sẽ dễ dàng khiến cho bạn hoa mắt, hãy thử với Sinatra để có thể nắm rõ hơn cách một Web hoạt động và nâng cao kỹ năng lập trình bằng Ruby. Chuỗi bài viết này đều được biên dịch từ Jump Start Sinatra bởi Darren Jones . Đây là những gì mà ...
Slim tableview
1.Tản mạn Cách đơn giản nhất để giảm bớt bug là viết code ít đi. Chân lý đó đã được đưa vào một định luật nổi tiếng, hồi phổ thông ai cũng từng kinh qua. e = mc2 Dịch một cách chân phương là error = more code (càng nhiều code càng gây lỗi). Khoảng cách giữa coder và tester phụ thuộc ...