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

Cách sử dụng Swagger để kiểm tra API (Laravel) (Phần 1)

Swagger là một framework giúp bạn có thể mô tả lại api của bạn bằng cách sử dụng chung một loại ngôn ngữ giúp cho cả developer và tester đều có thể dễ dàng đọc hiểu, thậm chí học không vững về kiến thức source code. Bạn có thể tưởng tượng nó như việc lên kế hoạch để xây một ngôi nhà. Bạn có thể ...

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

Understanding MySQL binary and non-binary string data types

Có hai loại dữ liệu chuỗi được MySql support và hiểu các đặc điểm của chúng một cách chính xác sẽ cho phép bạn chọn loại dữ liệu thích hợp để phù hợp với các yêu cầu của ứng dụng. Sau khi xem xét các cấu trúc bảng khác nhau được thiết kế bởi những người khác nhau, tôi đã đi đến kết luận rằng ...

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

Tại sao cần xây dựng form với Redux Form ?

Bài viết được dịch từ bài Why build your forms with Redux Form của tác giả Guilherme Gonçalves Để đọc bài viết này, bạn cần có một chút kiến thức căn bản về ReactJs Tiếp đó bạn cần tìm hiểu cơ bản về Redux Form, có thể tham khảo tại: Bắt đầu với Reactjs- Phần 5, Tìm hiểu về ...

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

Bí mật đằng sau thư mục .idea trong Android Studio

Cũng như rất nhiều developers khác, Tôi luôn thấy thư mục .idea của Android Studio là một hộp đen. Tôi biết nó tồn tại, tôi biết .gitignore có xử lý nó nhưng tôi muốn biết chính xác là thư mục nào và tệp nào được xử lý để có thể xử lý các tình huống conflicts với git khi nó xảy ra. Tôi muốn biết ...

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

Design Patterns in Swift: State Pattern

The State Pattern Khi làm việc trong các dự án của mình, có thể bạn đã gặp phải các lớp có trạng thái internal states. Giả sử bạn có một lớp để tải xuống những hình ảnh lớn từ server. Lớp này có thể ở nhiều trạng thái khác nhau: requesting, downloading, processing, saving ... để đặt tên. Trong ...

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

React Context API

Bạn đã bao giờ phải truyền một prop xuống 1 component trong React chỉ với mục đích truyền tiếp nó xuống component con của nó chưa? Đó chính xác là vấn đề mà React Context API cố gắng để cải thiện. Hãy cùng xem ví dụ sau: Chúng ta có một loại dữ liệu là 1 số với giá trị là 10. Chúng ta cần ...

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

Tìm hiểu về play và streaming video với AVKit, AVFoundation trong iOS

Trong quá trình viết ứng dụng iOS, có thể chúng ta sẽ phải đối mặt với các công việc liên quan đến video như tạo video, cắt ghép video, chơi video,… Trong đó, công việc đơn giản nhất liên quan đến video là chơi video trên ứng dụng. Trong bài viết này, tôi sẽ giới thiệu đến các bạn một số ...

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

Tạo Icon cho các ứng dụng iOS với Sketch và Xcode - Phần 2

Đây là bài dịch từ của một chia sẻ trên trang medium.com, bài viết nguồn mời các bạn xem tại đây: https://medium.com/sketch-app-sources/painless-icon-generation-for-ios-apps-with-sketch-and-xcode-part-2-1c33527bcd73 Tổng quan Việc tạo ra các icon cho một ứng dụng iOS có thể mất khá nhiều thời ...

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

Phân biệt chính giữa Python 2.7.x và Python 3.x

Nhiều người dùng Python bắt đầu tự hỏi họ nên bắt đầu phiên bản Python nào. Câu trả lời của tôi cho câu hỏi này thường là bạn cứ dùng cái nào cũng được hoặc bạn đã quen thuộc, sau đó tìm hiểu xem sự khác biệt giữa các phiên bản với nhau như thế nào sẽ thú vị hơn. Cả Python 2.7.x và Python 3.x đều ...

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

Những Regular Expression mà lập trình viên nên biết (P.1)

Mức độ bảo mật của password ^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{8}$ Mã Regex này giúp người dùng đánh giá được mật khẩu mình đặt có đủ mạnh để có thể sử dụng được hay không Kiểm tra địa chỉ Email có hợp lệ hay không ? /[A-Z0-9._%+-]+@[A-Z0-9-]+. ...

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