Skip to main content

25 posts tagged with "vietnamese"

View All Tags

RESTful với JavaLite và MySQL / SQLite

· 11 min read
Doko
Writer

javalite

1. Giới thiệu

JavaLite là một bộ frameworks (gồm nhiều framework con) dùng để đơn giản hóa một số tác vụ, đầu việc thường làm khi phát triển ứng dụng, thường là web. Bài hướng dẫn sau đây tập trung vào việc tạo một ứng dụng Restful với MySQL / SQLite.

Thủ thuật Timing trong Aegisub

· 4 min read
Doko
Writer

Timing hiểu đơn giản là căn thời gian cho câu phù hợp với mạch nói trong phim. Và tiêu chuẩn của mình là thế này:

  • Không bao giờ được đặt 2 câu do 2 người nói trên cùng 1 frame hoặc cùng 1 style. Cái này gặp trên các file sub trên subscene rất nhiều. Nhưng mình không cho phép. Mỗi câu phải có một line riêng, không có gạch đầu dòng.

Điều quan trọng trong lúc time là câu nói phải phù hợp. Ở đây lấy cái Stand By Me hôm nọ làm ví dụ.

RxJava Legacy (03) - Observable và chuỗi Observer hoạt động ra sao?

· 8 min read
Doko
Writer
info

Đây là bài viết cũ, ở thời điểm hiện tại RxJava 3 đã ra mắt nhưng concept và các khái niệm cơ bản vẫn còn dùng được. Series gốc có thể tìm thấy tại đây.

Cách hoạt động của Observable và chuỗi observer

Chuỗi ObservableObserver rất quan trọng. Cần phải hiểu cách hoạt động của chúng để hiểu được RxJava hoạt động ra sao.

Để bắt đầu, chúng ta lấy một ví dụ đơn giản của đơn giản:

Message Queue với Bull (NodeJS + TypeScript)

· 3 min read
Doko
Writer

Bull là một trong số các thư viện hỗ trợ message queue rất tốt trên NodeJS (bên cạnh RabbitMQ, Kafka, rsmq, agenda,...), và dựa trên Redis để lưu dữ liệu.

Message queue là giải pháp để giải quyết các vấn đề trong công nghệ, thường là backend:

  • Xử lý background.
  • Gửi thông tin theo hàng đợi.
  • Xử lý đồng bộ, concurrency.

Bull là thư viện có thể giúp cả 3 vấn đề trên, và bản thân cũng có 3 thành phần chính:

  • Producer: Thành phần tạo ra các công việc (job) và ném chúng vào queue (hàng đợi).
  • Consumer: Thành phần nhận việc từ queue.
  • Listener: Thành phần lắng nghe các sự kiện diễn ra trong hàng đợi (completed, failed, stalled).

RxJava Legacy (01) - Retro Lambda

· 2 min read
Doko
Writer
info

Đây là bài viết cũ, ở thời điểm hiện tại RxJava 3 đã ra mắt nhưng concept và các khái niệm cơ bản vẫn còn dùng được. Series gốc có thể tìm thấy tại đây.

Java 8+ với rất nhiều tính năng và cú pháp mới được giới thiệu, trong đó có Lambda Expression được sử dụng để viết anonymous class ngắn gọn hơn. Hiện nay Android Studio 3 đã hỗ trợ cú pháp Java 8 gần như hoàn chỉnh (đã hoàn chỉnh ở API 24) nhưng vì lý do nào đó mà các bạn không thể sử dụng Android Studio 3 thì Retrolambda chính là giải pháp.

RxJava Legacy (02) - Immutable

· 8 min read
Doko
Writer
info

Đây là bài viết cũ, ở thời điểm hiện tại RxJava 3 đã ra mắt nhưng concept và các khái niệm cơ bản vẫn còn dùng được. Series gốc có thể tìm thấy tại đây.

Bất biến

Có 2 vấn đề mà lập trình viên luôn luôn phải giải quyết trong quá trình làm việc:

  • Xử lý vấn đề.
  • Giảm thiểu độ phức tạp của công việc.

Cái thứ nhất thì không phải bàn cãi.

TypeScript + CRA 3 + Absolute Import + Electron

· 7 min read
Doko
Writer
info

Lưu ý: Ở thời điểm hiện tại, CRA 3.0 đã hỗ trợ absolute import. Ta không cần phải dùng đến craco để import mà có thể dựa vào src/ làm alias gốc.

Kể từ phiên bản Create React App (CRA 2.0), ta đã có thể tạo project với TypeScript mà không cần dùng đến create-react-app-typescript. Và nhờ có Babel 7 với khả năng hỗ trợ TypeScript mạnh, việc migrate sang TypeScript trở nên dễ dàng hơn rất nhiều.

Tuy nhiên...

Tản mạn về H264 (2/2)

· 17 min read
Doko
Writer

PHẦN IV: MÃ HÓA VIDEO H264

Trước tiên ta cần hiểu quy trình xử lý video. Ở đây có 2 công đoạn chính là encode (mã hóa) và decode (giải mã) video. Được mô tả như sơ đồ dưới đây. Decoder là chương trình / thiết bị có nhiệm vụ giải nén / giải mã video về dạng chưa nén để có thể xem được (uncompressed). Như đã nói ở trên, H264 là một chuẩn nén, chuẩn những cú pháp để xử lý video cho cả 2 quá trình encode và decode. H264 được xây dựng trên nền tảng MPEG2 và MPEG4 trước nó và có nhiều cải tiến.

proc

Tản mạn về H264 (1/2)

· 15 min read
Doko
Writer

Như chúng ta đã biết, sự kết hợp giữa hình ảnh tĩnh và âm thanh theo trình tự thời gian phù hợp được gọi là video / phim (theo tiếng Việt). Và dần dần, video đã trở thành một nền tảng đa phương tiện hữu ích cho đời sống, đặc biệt là phân phối thông tin đại chúng.

Và dù ở dạng nào, video về bản chất vẫn là tập hợp những khung hình tĩnh được kết hợp theo khung thời gian phù hợp, sao cho người xem có cảm giác liền mạch như đang chứng kiến một sự việc động. Video trong máy tính và truyền thông cũng không ngoại lệ, dù ở dạng mã hóa nào (analog – tương tự / hay digital – kỹ thuật số).