Luyện nói tiếng Anh bằng Shadowing qua video: You are wasting memory

Đang tạo bài học...
1
Take a look at this C code and tell me what the output of that printf will be.
2
If you said 12, you are correct, and that's because each integer is 4 bytes wide.
3
Now, what happens if I add a character to the structure?
4
You probably already know that a character has a size of 1 byte, but if we run this program, we can see that the structure became 16 bytes.
5
This happens because of memory alignment.
6
You can imagine memory as a row of numbered boxes, where each number represents an address.
7
Each box can hold exactly one byte.
8
We know that on 64-bit machines an integer is usually four bytes.
9
For it to be aligned, its address must be a multiple of its size.
10
If a value is not aligned, on some architectures and older computers, working with it might be slower.
11
But how is the structure represented in memory by the compiler?
12
The structure is represented as a series of consecutive values, each starting at a specific padding from the beginning of of the structure.
13
The padding is needed so that each value is correctly aligned.
14
As you can see here, the value D would occupy only one byte, but three extra bytes are added so that the value C is correctly aligned.
15
If we add another character at the end of the structure, another 3 bytes of padding are added because the whole structure must be aligned to the alignment of the structure itself,
16
which is the maximum alignment between the members of the structure.
17
This way, when creating an array of this structure, the first member is always correctly aligned.
18
So to save memory, we can move our characters close together
19
so that only 2 bytes of padding are added making the whole thing 16 bytes instead of 20, while keeping everything correctly aligned.
20
We can check that in C as well.
21
As you can see, this code represents what was shown in the previous images.
22
Now take a look at the output of this.
23
If we move E, like this, the output changes.
24
Now if you want to ignore alignment and remove padding for some reason, you can use the packed attribute like this on GCC and CLang and the compiler will not insert any padding,
25
as you can see here from this output, but note that on some architectures this might make the code slower.
26
So in conclusion, if you don't wanna waste memory over padding, remember to place your structural members correctly.
27
Bye!

Bối cảnh & Nền tảng

Trong video này, người nói khám phá một vấn đề quan trọng trong lập trình C, đặc biệt liên quan đến việc tối ưu hóa bộ nhớ. Người nói đã trình bày cụ thể về cấu trúc và cách mà bộ nhớ được phân bổ cho các kiểu dữ liệu trong lập trình. Điều này không chỉ mang lại cái nhìn sâu sắc về kỹ thuật lập trình mà còn giúp nâng cao khả năng giao tiếp bằng tiếng Anh qua việc hiểu và sử dụng các thuật ngữ chuyên ngành.

5 Cụm từ hàng đầu cho giao tiếp hàng ngày

  • Hãy xem xét mã C này - Giới thiệu về lập trình C và cách mà các giá trị được lưu trữ.
  • Kết quả của printf sẽ là 12 - Giải thích cách tính toán kích thước bộ nhớ của kiểu dữ liệu.
  • Cấu trúc trở thành 16 byte - Phân tích vấn đề căn chỉnh bộ nhớ.
  • Bạn có thể sử dụng thuộc tính packed - Hướng dẫn cách loại bỏ bộ đệm trong cấu trúc.
  • Ghi nhớ để đặt các thành phần cấu trúc của bạn đúng cách - Lời khuyên cuối cùng về việc tối ưu hóa bộ nhớ.

Hướng dẫn từng bước để thực hành Shadowing

Để cải thiện kỹ năng nói và phát âm của bạn qua video này, hãy áp dụng phương pháp shadowing tiếng anh. Bắt đầu bằng cách lắng nghe video và tập trung vào những gì người nói trình bày. Dưới đây là một số bước để bạn có thể thực hành hiệu quả:

  1. Nghe nhiều lần: Nghe đoạn video để nắm bắt ngữ điệu và cách phát âm của người nói.
  2. Lặp lại theo từng câu: Dùng kỹ thuật shadow speak và bắt chước lời nói của người nói, chú ý đến từng âm thanh.
  3. Ghi âm lại: Ghi âm giọng nói của bạn khi thực hành. So sánh với video để thấy được sự khác biệt và cải thiện.
  4. Phân tích phát âm: Tập trung vào những điểm khó khăn trong phát âm và tìm cách điều chỉnh cho đúng.
  5. Sử dụng phần mềm shadowing: Sử dụng ứng dụng hỗ trợ để theo dõi tiến trình của bạn và nhận phản hồi về cải thiện phát âm tiếng anh chuẩn.

Bằng cách áp dụng những bước này vào thực tế, bạn có thể dần nâng cao khả năng giao tiếp của mình và không còn cảm thấy ngại ngùng khi sử dụng tiếng Anh trong nhiều tình huống khác nhau.

Phương Pháp Shadowing Là Gì?

Shadowing là kỹ thuật học ngôn ngữ có cơ sở khoa học, ban đầu được phát triển cho chương trình đào tạo phiên dịch viên chuyên nghiệp và được phổ biến rộng rãi bởi nhà đa ngôn ngữ học Dr. Alexander Arguelles. Nguyên lý cốt lõi đơn giản nhưng cực kỳ hiệu quả: bạn nghe tiếng Anh của người bản xứ và lặp lại to ngay lập tức — như một "cái bóng" (shadow) đuổi theo người nói với độ trễ chỉ 1–2 giây. Khác với luyện ngữ pháp hay học từ vựng bị động, Shadowing buộc não bộ và cơ miệng phải đồng thời xử lý và tái tạo ngôn ngữ thực tế. Các nghiên cứu khoa học xác nhận phương pháp này cải thiện đáng kể phát âm, ngữ điệu, nhịp điệu, nối âm, kỹ năng nghe và độ lưu loát khi nói — đặc biệt hiệu quả cho người luyện IELTS Speaking và muốn giao tiếp tiếng Anh tự nhiên như người bản ngữ.