ฝึกพูดภาษาอังกฤษด้วยเทคนิค Shadowing จากวิดีโอ: You are wasting memory

กำลังสร้างบทเรียน...
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!

บริบทและพื้นฐาน

ในวิดีโอนี้ ผู้บรรยายได้อธิบายเกี่ยวกับการจัดการหน่วยความจำในโปรแกรม C โดยเฉพาะอย่างยิ่ง การให้ความสนใจกับวิธีที่โครงสร้างข้อมูลจะถูกจัดเก็บในหน่วยความจำ ข้อมูลดังกล่าวเกี่ยวข้องกับขนาดของข้อมูล เช่น จำนวนไบต์ที่แต่ละประเภทข้อมูลใช้ และการจัดตำแหน่งของข้อมูลในหน่วยความจำ ทำให้ผู้ฟังเข้าใจวิธีการที่โปรแกรมเมอร์สามารถประหยัดหน่วยความจำได้ และลดการใช้งานที่ไม่จำเป็น ดังนั้นการเรียนรู้ภาษาจากวิดีโอนี้จึงไม่เพียงแต่ช่วยให้เข้าใจการเขียนโปรแกรม แต่ยังช่วยเสริมศักยภาพการสื่อสารภาษาอังกฤษในชีวิตประจำวันได้อีกด้วย

5 วลีสำคัญสำหรับการสื่อสารประจำวัน

  • Take a look at this C code - มองไปที่โค้ด C นี้
  • The structure became 16 bytes - โครงสร้างกลายเป็น 16 ไบต์
  • Each box can hold exactly one byte - กล่องแต่ละกล่องสามารถถือไบต์ได้อย่างแม่นยำ
  • Save memory, we can move our characters close together - เพื่อประหยัดหน่วยความจำ เราสามารถย้ายตัวอักษรของเราเข้ามาใกล้กัน
  • Use the packed attribute - ใช้คุณสมบัติ packed

คู่มือการฝึกพูดตามขั้นตอน

การฝึก shadowspeak จากวิดีโอนี้มีขั้นตอนที่เหมาะสมดังนี้:

  1. ฟังวิดีโอ: เริ่มต้นด้วยการฟังวิดีโอครั้งแรกเพื่อทำความเข้าใจเนื้อหาโดยรวม และพยายามจับใจความสำคัญจากบทสนทนา
  2. พยายามพูดตาม: หลังจากฟังครั้งแรก ลองพูดตามแต่ละประโยคที่ผู้บรรยายพูด โดยสามารถหยุดและเริ่มใหม่ได้
  3. วิเคราะห์โครงสร้าง: สังเกตการใช้คำและโครงสร้างประโยค เช่น วลีที่ใช้บ่อยในโปรแกรมมิ่ง และการใช้งานคำศัพท์ทางเทคนิค
  4. บันทึกเสียง: บันทึกเสียงของคุณขณะพูดตาม เพื่อใช้ในการเปรียบเทียบกับเสียงของผู้บรรยาย และทำความเข้าใจการออกเสียงให้ถูกต้อง
  5. ทำความเข้าใจเนื้อหา: สุดท้าย ให้กลับไปทำความเข้าใจเนื้อหาทั้งหมดอีกครั้ง เช่น ได้นำเสนอการประหยัดหน่วยความจำไว้ในโครงสร้างอย่างไร

การใช้เทคนิค shadow speech เหล่านี้จะช่วยให้คุณพัฒนาทักษะการพูดภาษาอังกฤษได้อย่างมีประสิทธิภาพ ทั้งยังสร้างความมั่นใจในการสื่อสารเกี่ยวกับประเด็นทางเทคนิคและทั่วไปได้ดียิ่งขึ้นในการ เรียนภาษาอังกฤษจากยูทูป ของคุณ.

เทคนิค Shadowing คืออะไร?

Shadowing เป็นเทคนิคการเรียนรู้ภาษาที่ได้รับการรับรองทางวิทยาศาสตร์ พัฒนาขึ้นสำหรับการฝึกนักแปลมืออาชีพ วิธีการนี้เรียบง่ายแต่ทรงพลัง: คุณฟังเสียงภาษาอังกฤษจากเจ้าของภาษาและพูดตามทันที — เหมือนเงาที่ตามผู้พูดด้วยช่วงเวลาห่าง 1-2 วินาที การวิจัยแสดงว่าเทคนิคนี้ปรับปรุงความแม่นยำในการออกเสียง ทำนองเสียง จังหวะ การเชื่อมเสียง การฟังเข้าใจ และความคล่องแคล่วในการพูดได้อย่างมีนัยสำคัญ