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

Android - Custom view - Làm chủ onMeasure

Custom view không chỉ về phương thức onDraw(), onMeasure() cũng quan trọng không kém và sau đây mình sẽ giới thiệu về nó… Nếu Bạn đã từng xây dựng ứng dụng với custom view trước đây, bạn có thể thường không phải override onMeasure, nhưng dù sao điều đó cũng phải một ý tưởng tồi: việc ...

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

Kiểm thử phi chức năng là gì?

Testing được chia thành 2 loại: Kiểm thử chức năng Kiểm thử phi chức năng Kiểm thử chức năng là gì? Kiểm thử chức năng, như tên cho thấy, là xác nhận tất cả các chức năng của hệ thống. Nó đánh giá ứng dụng và xác nhận liệu ứng dụng có đang hoạt động theo yêu cầu hay không. Các loại Kiểm ...

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

Google sẽ giới thiệu gì tại sự kiện Google I/O 2018 sắp tới

Google I/O là một sự kiện thường niên dành cho giới lập trình và phát triển phần mềm được Google tổ chức. Chúng ta hãy cùng điểm qua xem sự kiện năm nay có những sản phẩm thú vị gì sắp xuất hiện. Hệ điều hành Android P Bản preview của Android P được giới thiệu từ đầu năm, bản kế tiếp sẽ trình ...

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

Grouping results using aggregation in Elasticsearch

I. Introduction Elasticsearch là một công cụ tìm kiếm mạnh mẽ được xây dựng trên nền tảng của Lucene. Nó có API rất rõ ràng và đơn giản để lập chỉ mục dữ liệu và tìm kiếm/truy xuất dữ liệu. Nhưng đằng sau API này có rất nhiều tính năng có thể giúp bạn cải thiện và thao tác các kết quả tìm kiếm ...

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

Nâng cao đánh giá sprint với trò chơi tàu cao tốc

Tôi thường sử dụng các trò chơi sáng tạo như một bổ sung hữu dụng cho buổi đánh giá sprint.Chúng giúp cho khách hàng hiểu rõ hơn và do đó cải tiến sản phẩm. Một trong những trò chơi yêu thích của tôi là tàu tốc độ. Trò chơi tàu tốc độ khám phá nỗi đau và công việc của người dùng. Trung tâm của ...

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

Define color With iOS 11 Color Assets

Hầu hết các dev lựa chọn define trong code, dưới một cái tên nào đó. Điều này giải quyết vấn đề sử dụng trong code của bạn, nhưng không thực sự hữu ích nếu bạn sử dụng Storyboards và XIB, nơi bạn cần tiếp tục chọn màu theo cách thủ công. Trên iOS 11 sẽ giải quyết vấn đề đó cho bạn. if ...

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

Giới thiệu Constraint Layout 1.1

Như các bạn đã biết Constraint Layout giúp chúng ta đơn giản đi rất nhiều trong việc tạo các layout, giao diện phức tạp và bạn có thể xây dựng hầu hết giao diện bạn muốn bằng cách tinh chỉnh trên UI Editor có trên Android Studio. Nó thường được mô tả và mạnh mẽ hơn rất nhiều với RelativeLayout. Với ...

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

instance_eval, class_eval và module_eval trong Ruby

instance_eval Thêm các phương thức cho một instance hay class, module một cách "tốc hành" ("on-the-fly") là một pattern khá phổ biến trong Ruby(activerecord, activesupport, ...) Để thực hiện điều đó, chúng ta có thể dùng các phương thức BasicObject#instance_eval, Module#class_eval, ...

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

Chuyển link url trong text thành button

Trong 1 đoạn chat nhiều lúc chúng ta thường hay đính kèm theo url để gửi cho bạn bè nhưng chúng ta lại không muốn nó hiển thị trực tiếp vì thường các link đó quá dài -> Do đó mình có ý tưởng chuyển các url đó thành các button cho thân thiện. Mình đã hướng dẫn ở 1 bài viblo trước đây ...

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

Xây dựng một Blockchain đơn giản nhất với Ruby & Rails

Hello ! Xin chào ! Ok ! Bạn đã click vào bài viết này , vậy thì có lẽ bạn - cũng giống như tôi - cũng đã ít nhất nghe về, cũng như có hứng thú với sự phát triển khủng khiếp trong thời gian gần đây của tiền ảo. Và có thể bạn cũng sẽ muốn tìm hiểu về Blockchains - một trong những công nghệ nền tảng ...

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