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

Nodejs - require, exports and module.exports

Node là framework hỗ trợ run JS code ở bên server. Để hỗ trợ nhiều hơn trong việc object hóa, Nodejs sử dụng 3 keywork đó là: require("path/to/file/js") module.exports exports 3 từ khóa tên được sử dụng rất nhiều trong nodejs, mục đích của 3 từ khóa trên là để việc object hóa một file ...

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

Debugging with Pry and Tricks when binding

Trong bài này, mình sẽ giới thiệu về pry - một loại REPL và cách cài đạt và sử dụng nó để gỡ lỗi của chương trình REPL là từ viết tắt của Read Eval Print Loop (hiểu nôm na là: Đọc - Đánh giá - In - Lặp) và nó biểu diễn môi trường máy tính như màn hình console trong Linux shell nơi bạn có thể gõ ...

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

[Git] - Sử dụng ssh với các tài khoản Git khác nhau

Trong quá trình làm dự án đôi lúc chúng ta phải sử dụng các tài khoản Git khác nhau cho từng dự án. Github quy định mỗi ssh key chỉ được gắn cho một tài khoản. Bài viết nhỏ sẽ note lại chi tiết các bước để sử dụng ssh với các tài khoản git khác nhau. 1. Tạo folder để chứa source code 2. Từ folder ...

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

MVI for Reactive programming in Android (P1)

1. Giới thiệu Chào các bạn hôm nay mình xin giới thiệu về MVI (Model-View-Intent), một partern mới nhất của Android. Nó được lấy cảm hứng từ cycle.js của André Staltz (một framework xây dựng reactive applications trên javascript) hay Redux js là một thư viện Javascript giúp tạo ra thành một lớp ...

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

Rails 5.1 form_with

form_tag và form_for đã "hơi cũ" (soft deprecated) và chúng sẽ được thay thế bởi form_with trong tương lai. Nếu bạn muốn biết thêm về form_with, bạn có thể check thông tin về nó tại issue #25197 này, kiểm tra pull request implement helper này, và thử với một vài test project. Ở bài viết này, mình ...

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

[JavaScript] Some mysteries may make you confused!

Trong quá trình làm việc với JS, tôi đã từng nhiều lần gặp những đoạn code khá hay ho thú vị mà có lẽ chỉ trong JS mới có. Có thể là 1 work-through độc đáo, cũng có thể chỉ là 1 đoạn code kỳ lạ. Bài viết này tôi xin tổng hợp lại những trường hợp đã gặp và cho là nó sẽ hữu ích đối với mọi người! ...

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

10 thủ thuật thú vị và hữu dụng trong JavaScript

Trong bài viết này mình sẽ chia sẻ cho các bạn 10 thủ thuật thú vị và hữu dụng trong JavaScript , các mẹo và thủ thuật sau đây có thể sẽ giúp các bạn giảm số lượng code phải viết đồng thời tối ưu đoạn code của bạn 1, Convert sang kiểu Boolean bằng toán tử !! Đôi khi chúng ta phải kiểm tra xem ...

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

Xây dựng một Single Page App đơn giản

Single Page App đang dần trở thành một xu hướng trong việc phát triển ứng dụng Web, cứ nhìn vào việc google hay facebook cũng đang áp dụng nó vào sản phẩm của mình là biết =)). Mình cũng là người mới bắt đầu tìm hiểu về nó bài viết này mang tính giới thiệu cho nhưng người đang quan tâm đến SPA và ...

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

Tạo file PDF trong Java, sử dụng Flying Saucer và Thymeleaf

Chắc hẳn các bạn đã quá quen thuộc với các file định dạng PDF. Nào là CV, các văn bản đặc tả spec, các công văn, báo cáo, các vé điện tử .v.v.v Điều đó đặt ra yêu cầu các ứng dụng web phải có khả năng xuất file PDF với format nào đó phù hợp với từng yêu cầu của hệ thống chức năng. Bài viết hôm nay ...

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

Những thứ dường như có vẻ giống nhau trong SQL

Trong SQL có nhiều câu lệnh sẽ khiến bạn không khỏi tò mò rằng: "Vì sao người ta tạo ra chúng trong khi trước đó đã có những thứ tương tự rồi nhỉ ?". Nay mình lượm nhặt và tổng hợp lại vài thứ như vậy vừa để chia sẻ cũng như giữ làm chút của riêng =)). 1. TRUNCATE và DELETE các cậu có phải anh em? ...

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