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

Audit database P2 - Các dạng audit chuẩn trong Oracle.

Trong bài viết lần trước mình đã giới thiệu về khái niệm và một số loại audit trong cơ sở dữ liệu (https://viblo.asia/p/audit-database-p1-1Je5E8pGlnL). Trong bài viết này mình sẽ giới thiệu cụ thể các loại audit trong Oracle và một số ví dụ trong phiên bản Oracle 11g Cơ sở dữ liệu sẽ ghi ...

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

Function references in Kotlin

Hàm tham chiếu Hàm tham chiếu là một trong những cải tiến tuyệt vời mà chúng ta có được với Kotlin. Bạn đã biết rằng Kotlin hỗ trợ các chức năng như là một type, có nghĩa là bạn có thể lưu một hàm trong một biến, sử dụng nó như là một đối số chức năng, hoặc thậm chí làm cho một hàm trả về một hàm ...

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

Redis database và cơ chế ghi file lên Disk

1. Redis tổng quan Redis là một hệ quản trị dữ liệu phát triển lưu trữ database dưới dạng key-value. Redis hỗ trợ nhiều dạng cấu trúc dữ liệu như: Hash, Set, Sorted Set, List, String. Redis lưu trữ dữ liệu key-value trên RAM với tốc độ truy cập rất nhanh, ngoài ra Redis cũng có cơ chế lưu dữ liệu ...

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

Rails Database Best Practices

Làm việc trên một dự án Oldish Rails, tôi đã gặp một code cần phải refactor với ActiveRecord. Tôi cũng đã dành thời gian tăng tốc các trang với chậm / nhiều truy vấn vào database. Giữa hai kinh nghiệm đó, tôi cảm thấy cảm hứng để viết lên một số best practice về Cơ sở dữ liệu về "Back to Basics" ...

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

Kinh nghiệm khi làm việc với Vim

Bài viết này mình sẽ tổng hợp một vài kinh nghiệm, lời khuyên hoặc 1 vài tricks mà mình đang dùng khi code Vim. Mình rất thích VIM. Lý do tại sao thì bạn có thể đọc ở bài viết này. Bạn cũng có thể tham khảo một vài tricks khi làm việc với VIM và Tmux ở bài viết này 0. Không bao giờ đặt 1 ...

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

JavaScript Tips, Tricks and Best Practices

Trong bài viết này mình sẽ chia sẻ một số thủ thuật JavaScript vô cùng hữu ích mà lập trình viên JavaScript cần biết. Chú ý là tất cả các đoạn code trong bài viết này đều được chạy test trên phiên bản Google Chrome version 30, được sử dụng Javascript Engine V8 (V8 3.20.17.15). Đừng quên từ khóa ...

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

Adding Continuous Integration to a Swift project

Sử dụng phương pháp CI giúp cho hệ thống luôn đảm bảo là build được và chạy đúng (do phải pass qua toàn bộ test case). Mặt khác các công đoạn test sẽ được hệ thống CI server thực hiện tự dộng giúp cho ta có thể dễ dàng biết được tình trạng của một branch, một commit nào đó và không cần lấy source ...

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

Sử dụng mã hóa UTF-8 với PHP và MySQL

Đối với một lập trình viên PHP hay MySQL, mọi thứ có vẻ khá dễ dàng và thoải mái khi làm việc với dữ liệu chỉ gồm các ký tự tiếng Anh. Cho đến khi bạn vướng vào sự rắc rối của mã hóa UTF-8 trong xử lý ngôn ngữ không phải tiếng Anh. Nói sơ lược về mã hóa UTF-8 thì đây là một kiểu mã hóa ký tự của ...

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

Giải Pháp MultiDex Cho Giới Hạn 64k Trong Dalvik

Hầu hết các nhà phát triển android đều biết một sự thật buồn - Dalvik virtual machine của Android đã được sử dụng bởi các ứng dụng và một vài service của hệ thống có một giới hạn lớn - single .dex file (bytecode được chạy bởi Dalvik VM) có một giới hạn 64k (chính xác 65536 methods). Con số ...

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

Gửi email cho một triệu user

I. Lời nói đầu Giả sử bạn cần gửi email tới tất cả các users trong hệ thống. Vì vấn đề chi phí, ta cần phải sử dụng Transactional email thay vì dùng Marketing email . Ban đầu, mọi việc diễn ra suôn sẻ vì số lượng users chỉ tầm vài trăm đến vài nghìn người. Nhưng nếu bạn có lượng users ...

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