Skip to main content

Posts

Showing posts from February, 2025

[TIL] script cài Rust dùng 20 bytes đầu để nhận biết hệ thống

Cách cài đặt chính thức đươc khuyên dùng tại trang chủ https://www.rust-lang.org/tools/install : curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh nhưng... curl | sh thường bị xem là nguy hiểm, do người dùng thường không kiểm tra nội dung sript. Vậy hãy tải nó về và đọc: $ curl -Lo rustup.sh https://sh.rustup.rs % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 26495 100 26495 0 0 149k 0 --:--:-- --:--:-- --:--:-- 149k Đọc code #!/bin/sh # shellcheck shell=dash # shellcheck disable=SC2039 # local is non-POSIX # This is just a little script that can be downloaded from the internet to # install rustup. It just does platform detection, downloads the installer # and runs it. ... # It runs on Unix shells like {a,ba,da,k,z}sh. đây là 1 file shell code, thậm chí không dùng bash mà dùng dash (POSIX compliant), sử dụng shellcheck để chec...

[TIL] docker COPY không giống lệnh cp

Trong Dockerfile có lệnh (instruction) COPY dùng để copy file, thư mục. Nhưng cách hoạt động hơi khác lệnh cp trên UNIX. cp file destdir khi destdir là 1 thư mục đã tồn tại, cp sẽ copy file file tới destdir/file . Còn COPY thì khác https://docs.docker.com/reference/dockerfile/#copy . Tất nhiên không ai đọc doc của syntax Dockerfile cả! The COPY instruction copies new files or directories from and adds them to the filesystem of the image at the path You can specify multiple source files or directories with COPY. The last argument must always be the destination. If the destination path begins with a forward slash, it's interpreted as an absolute path, and the source files are copied into the specified destination relative to the root of the current build stage. # create /abs/test.txt COPY test.txt /abs/ Trailing slashes are significant. For example, COPY test.txt /abs creates a file at /abs, whereas COPY test.txt /abs/ creates /abs/test.txt. If the destination path does...

Những bất ngờ khi dùng Rust minijinja của tác giả Jinja2

Khi dùng Rust, người dùng thường có cảm giác an toàn: nếu nó compile, nó sẽ chạy đúng. Điều này không viết ở đâu trong tài liệu cả, và chỉ là ảo tưởng của người dùng (hello AI hallucination). minijinja https://github.com/mitsuhiko/minijinja/ là thư viện giống jinja2 của tác giả mitsuhiko, viết cho Rust. Dùng minijinja có syntax giống như Jinja2, đỡ phải học thêm gi mới, thế nhưng, vẫn có những bất ngờ. Code: // cargo add minijinja serde --features serde/derive use minijinja::{Environment, context}; use serde::Serialize; mod models { use serde::Serialize; #[derive(Debug, Serialize)] pub struct Profile { email: String, } pub fn new() -> Profile { Profile{email: "info@debian.com".to_string()} } } #[derive(Debug, Serialize)] struct User { name: String, address: String } fn main() { let mut env = Environment::new(); let user = User{name: "Pikachu".to_string(), address: "Japan".to_string()}; ...

Nâng trình tiếng Anh nghe đọc bằng trình duyệt với Read Aloud

Một vấn đề khi đọc tiếng Anh là nhiều từ mình không biết đọc thế nào như các tên riêng, hay tưởng là có biết thì lại đọc sai, và không thể ngồi tra hết các từ đọc sao cho đúng được... Không hiểu sao: scholar nhìn qua bị đọc là "school-ar" (đúng là /ˈskɑː.lɚ/) instead vì lý do lịch sử được học đọc là "in stid" (đúng là /ɪnˈsted/) hay Nazi không đọc là Na-di mà là /ˈnɑːt.si/. Các trình duyệt hiện đại ngày nay đều hỗ trợ sẵn tính năng đọc (text to speech - TTS) sử dụng engine của hệ điều hành. Firefox reader view Reader view là tính năng có sẵn của Firefox, bấm vào icon hình tờ giấy ở đuôi thanh địa chỉ để bật chế độ này (xem hình tại hướng dẫn trên trang chủ ) . Sau khi chuyển sang reader mode, có thể chọn cho trình duyệt đọc nội dung, sử dụng TTS engine của hệ điều hành. Hệ điều hành như MacOS hay Windows có giọng đọc đủ tốt. Với Linux (như Ubuntu), có thể cài thêm extension Read Aloud để có các giọng đọc chất lượng (bao gồm cả giọng GoogleTranslate), ...

Tặng mã giảm giá khóa học online "học AWS cloud thực hành với terraform"

Tác giả FAMILUG mới public khóa học online học AWS cloud thực hành với terraform, tập trung vào thực hành, kinh nghiệm sử dụng, tiết kiệm cost trên Udemy Thân gửi tặng bạn đọc mã giảm giá FAMILUGAWS202504 Mã sẽ hết hạn ngày 15/5/2025.

[TIL] Phím tắt cho VLC

] : faster [ : slower n : next m : mute Hết.

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG