Bài viết của Hoàng Hải Đăng

Giới thiệu Framework OCMock

1. Giới thiệu Nếu search key word 'mock object' trên github bạn sẽ nhận được 1 list các thư viện, và khi chọn mục objective C bạn sẽ thấy thư viện OCMock đầu tiên với hơn 1000 sao. Trong bài viết này tôi sẽ giới thiệu với các bạn thư viện OCMock dùng để viết Mock cho iOS. 2. Yêu cầu Có ...

Tác giả: Hoàng Hải Đăng viết 13:04 ngày 12/08/2018 chỉnh sửa

Tìm hiểu về grape API và active model serializers

I. Các khái niệm? 1. Grape API Grape là một REST-like API micro-framework cho Ruby. Nó được thiết kế để chạy trên Rack hoặc bổ sung cho mô hình ứng dụng web hiện có như Rails và Sinatra bằng việc cung cấp một DSL đơn giản để dễ dàng phát triển các RESTful API Cài đặt: Thêm dòng này vào ...

Tác giả: Hoàng Hải Đăng viết 13:03 ngày 12/08/2018 chỉnh sửa

Spring 4 +Hibernate. P2 Config relationship for entity

Trong kì trước chúng ta đã tìm hiểu về cách sử dụng entity cho việc cấu hình thiết lập database. (https://viblo.asia/sondv/posts/lA7GKnn5MKZQ) Trong bài viết này tôi sẽ trình bày về cách tạo ràng buộc giưa các entity. Quan hệ 1 - 1 . Để cấu hình ràng buộc quan hệ 1:1 trong entity , bạn có thể sử ...

Tác giả: Hoàng Hải Đăng viết 13:03 ngày 12/08/2018 chỉnh sửa

Tips và tricks khi làm việc với Ruby on Rails

Đã đến lúc cần phải sử dụng terminal, chức năng tiện ích trong Ruby on Rails hiệu quả hơn. Nếu bạn là một người dùng terminal lâu năm thì hãy bỏ qua phần này. Với một người mới chạm tay vào command line thì việc tìm lại được câu lệnh mình gõ hoặc được gõ bởi một pro ra hướng dẫn cho mình quả ...

Tác giả: Hoàng Hải Đăng viết 13:03 ngày 12/08/2018 chỉnh sửa

Giới thiệu Lumen - Microframework Của Laravel

Laravel là framework mới ra đời nhưng đã nhanh chóng trở thành số 1 trong số các PHP framework. Laravel mang rất nhiều những ưu điểm các các framework hiện đại từ các ngôn ngữ khác như Rails / Spring. Tuy vậy Laravel vẫn có một nhược điểm và số lượng module dùng tương đối lớn, dẫn đến tốc độ không ...

Tác giả: Hoàng Hải Đăng viết 13:03 ngày 12/08/2018 chỉnh sửa

Tìm hiểu mô hình TDD (Test - Driven Development) và cách áp dụng

I. Giới thiệu Trong bài viết này mình xin thảo luận cùng các bạn về đề tài làm thế nào để implement code theo TDD. Mình xin trình bày bài viết theo hướng thực tế áp dụng TDD trong project mình đang tham gia hơn là một bài viết giới thiệu về lý thuyết TDD. Các bạn có thể tham khảo về lý thuyết TDD ...

Tác giả: Hoàng Hải Đăng viết 13:03 ngày 12/08/2018 chỉnh sửa

Network socket - Implementation client (iOS)/server (MacOS)

1. What is network socket Is an endpoint of an inter-process communication across a computer network A socket that has been connected to another socket. Within the operation system and the applicatio that created a socket, a socket is referred to by a unique integer value called socket ...

Tác giả: Hoàng Hải Đăng viết 13:03 ngày 12/08/2018 chỉnh sửa

Validate dữ liệu và Kiểu Dữ Liệu trong code first

Làm thế nào để sử dụng các attributes Tất cả các thuộc tính được viết ngay trước property/class/function với số 0 hoặc nhiều tham số bắt buộc theo sau bởi một danh sách các thông số được đặt tên tùy chọn. Các thuộc tính StringLength, ví dụ, có một tham số bắt buộc: MaximumLength ...

Tác giả: Hoàng Hải Đăng viết 13:03 ngày 12/08/2018 chỉnh sửa

làm game tương tác người máy sử dụng Kinect trong Unity

Lời mở đầu **Ở bài trước, tôi đã giới thiệu với các bạn cách tạo animation cho nhân vật và xuất ra định dạng file để có thể sử dụng trong game engine Unity. Ở bài này, tôi muốn giới thiệu một ứng dụng khác của Kinect trong việc làm game, nó sẽ được sử dụng như một đạo cụ, phương thức để người ...

Tác giả: Hoàng Hải Đăng viết 13:03 ngày 12/08/2018 chỉnh sửa

Làm sao để kéo thả một View trong android?

Drag/drop framework trong android được hỗ trợ từ android 11 trở lên, cho phép người dùng có thể kéo thả các view dễ dàng. Nó bao gồm 3 thành phần quan trọng: Lớp Drag event. Lớp Drag listeners. Helper methods Process của nó được chia làm 4 trạng thái khác nhau đó là: Start: Nó được bắt ...

Tác giả: Hoàng Hải Đăng viết 13:03 ngày 12/08/2018 chỉnh sửa