Guide to Creating Custom UIView

Trong bài viết này, mình sẽ hướng dẫn lưu ý khi tạo custom UIView sử dụng autolayout mà không cần Nib/Storyboard. Why custom UIView? Chúng ta tạo custom view khi mà những control trong UIKit không đủ để ta thực hiện công việc của mình. Custom view là tập hợp của nhiều view khác cùng với custom ...

Tác giả: Bùi Văn Nam viết 17:41 ngày 12/08/2018

Một số điều cần biết về React

Local state là một phần không thể thiếu khi nói đến React class Counter extends React.Component { constructor(props) { super(props); this.state = { counter: 0 }; } render() { return ( <div> Counter: {this.state.counter} <button ...

Tác giả: Trịnh Tiến Mạnh viết 17:41 ngày 12/08/2018

Thẻ <picture> và ứng dụng

1. Giới thiệu thẻ <picture> Thẻ <picture> cung cấp phương thức để khai báo nguồn ảnh giúp tối ưu việc load ảnh cho các kích thước màn hình khác nhau. Các web developer sẽ không còn cần CSS hay thủ thuật JavaScript để tối ưu hình ảnh trong các design responsive. Và nó cũng giúp tối ưu ...

Tác giả: Tạ Quốc Bảo viết 17:41 ngày 12/08/2018

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

Click link trong TextView

Trong lập trình sự kiện trong Android chắc các bạn gặp nhiều đoạn TextView mà có chưa link trang web hay là số điện thoại trong đó mà người dùng có thể click vào được, hay phức tạp hơn là 1 hashtag như kiểu facebook. Các bạn đều biết các kỹ sư lập trình đều sử dụng Spannable để gắn thuộc tính cho ...

Tác giả: Bùi Văn Nam viết 17:41 ngày 12/08/2018

20 Laravel Eloquent Tips and Tricks

Bài dịch từ trang laravel-news.com Có vẻ như Eloquent ORM trong Laravel có cơ chế hoạt động đơn giản, nhưng bên cạnh đó có những tính năng không phải ai cũng biết. Trong bài viết này, tôi sẽ chỉ cho bạn một vài thủ thuật hay ho. Đừng làm thế này: $article = Article::find($article_id); $art ...

Tác giả: Bùi Văn Nam viết 17:41 ngày 12/08/2018

GraphQL for dummies - Part 1 Introduction

GraphQL một cái tên được nhắc tới rất nhiều trong thời gian gần đây. Thực sự thì GraphQL không "mới", nó được Facebook tạo ra và sử dụng trong các dự án nội bộ từ năm 2012, đến năm 2015 thì trở thành open-sourced và được phát triển như một standard. Sau khi ra mắt GraphQL đã ngay lập tức được ...

Tác giả: Tạ Quốc Bảo viết 17:41 ngày 12/08/2018

Tạo ứng dụng đọc các loại mã vạch với Mobile Vision API

Chào các bạn! Đến hẹn lại phải lên, hôm nay mình sẽ hướng dẫn các bạn tạo một ứng dụng đọc mã vạch sử dụng Google Play Services. Trước hết bạn cần tạo một project Android mới, cách tạo rất cơ bản mình xin phép không nêu chi tiết ở đây. Cấu hình thư viện thông qua build.gradle Chúng ta sẽ sử ...

Tác giả: Trịnh Tiến Mạnh viết 17:41 ngày 12/08/2018

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

Một vài vấn đề về Active Record Associations (phần 3)

Phần này chúng ta sẽ tìm hiểu chi tiết về: has_many Khi ta khai báo một has_many association, sẽ có 17 hàm liên quan đến association này: collection collection<<(object, ...) collection.delete(object, ...) collection.destroy(object, ...) collection=(objects) collection_singular_ids colle ...

Tác giả: Tạ Quốc Bảo viết 17:41 ngày 12/08/2018

Một số lưu ý khi viết CSS

Sử dụng Class để định dạng CSS, không nên dùng Id Chúng ta đã biết #id trong CSS là để chỉ đích danh một element, nó giống như số chứng minh thư của bạn, mỗi người dùng một cái, không có hai người nào có chung số CMT. Còn .class thì khác, nó để nhóm những elements có đặc điểm chung để xử lý luôn ...

Tác giả: Trịnh Tiến Mạnh viết 17:41 ngày 12/08/2018

DataDog - Cài đặt và cấu hình cho rails application

Ở phần trước mình đã giới thiệu về những điều tuyệt vời từ DataDog mang lại. Sang phần tiếp theo này, mình sẽ hướng dẫn cài đặt agent của DataDog và config cho rails application 1. Cài đặt Agent Truy cập vào https://app.datadoghq.com/signup và đăng ký tài khoản theo các bước sau: Bước 1 : ...

Tác giả: Bùi Văn Nam viết 17:41 ngày 12/08/2018

Một vài chia sẻ về sử dụng Map trong Java

Có lẽ mọi người đã quá quen thuộc với Java, cũng như cách sử dụng Map trong Java. Nhưng sau đây, tôi xin chia sẻ các cách mà tôi hay sử dụng Map trong Java để giúp tăng tốc độ xử lý process, cũng như source code trành phức tạp, rườm rà. Sau đây, tôi sẽ chia sẻ với các bạn các phương pháp tôi hay ...

Tác giả: Tạ Quốc Bảo viết 17:41 ngày 12/08/2018

[NodeJs][React] Học cách làm app bằng NodeJs với React (Phần 3)

Như phần trước ta đã tạo được user thông qua ReactJs, Nodejs và Mongo DB. Giờ phần này ta là tiếp theo ta thực hiện việc kiểm tra và đăng nhập Đăng nhập Tiếp tục với file user.js là làm hàm kiểm tra đăng nhập như sau validateSignIn: function(username, password,callback) { ...

Tác giả: Bùi Văn Nam viết 17:41 ngày 12/08/2018

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

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

Sync Data from MongoDB to Elasticsearch with Transporter

Giới thiệu MongoDB là gì? MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở thuộc NoSQL. Nó được thiết kế theo kiểu hướng đối tượng, các bảng trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ liệu lưu trữ trên bảng không cần tuân theo một cấu trúc nhất định nào cả (điều này rất ...

Tác giả: Tạ Quốc Bảo viết 17:41 ngày 12/08/2018

Hướng dẫn xây dựng API đơn giản với Nodejs và Mysql, kết hợp frontend dùng reactjs

Bài này sẽ nói về cách build một ứng dụng sử dụng ReactJs với phần server sử dụng API build bằng Nodejs. Phần build server API Nodejs các bạn xem chi tiết tại bài sau Hướng dẫn xây dựng API đơn giản với Nodejs và Mysql Khởi tạo project Requirement Nodejs 6.x Mysql 5.x ReactJs 16.x ...

Tác giả: Trịnh Tiến Mạnh viết 17:41 ngày 12/08/2018

Hiểu nhanh về Blockchain trong 10 phút

Lời người dịch Bài viết được dịch từ các ý chính của bài viết gốc tiếng Nhật. http://www.mermirai.com/entry/0409_blockchain Bài viết mang tính chất dẫn dắt người đọc từ con số không vào thế giới Blockchain một cách đơn giản. Muốn có những hiểu biết sâu sắc về Blockchain bạn cần tìm hiểu thêm ...

Tác giả: Tạ Quốc Bảo viết 17:41 ngày 12/08/2018

Mở một Activity bằng CÁCH MỚI - LINH HOẠT hơn

Việc mở nhiều Activity và pass Data để thực hiện một công việc nào đó, nó không còn xa lạ gì với những Android Developer. Nhưng nếu cứ thực hiện liên tục 1 công việc lặp đi lặp lại sẽ thật buồn chán, tất nhiên sẽ có nhiều phản biện rằng: cách đó là tốt rồi. Điều này sẽ được đề cập từ từ được không ...

Tác giả: Trịnh Tiến Mạnh viết 17:41 ngày 12/08/2018