Практика Shadowing: Build a Real-Time Leaderboard on AWS with DynamoDB - Изучайте разговорный английский с YouTube

C1
⏸ Пауза
Did you know that every match weekend, millions of people playing fantasy soccer get re-ranked within minutes of the final whistle?
96 предложений
Если предложения слишком короткие или длинные, нажмите Edit, чтобы их изменить.
1
Did you know that every match weekend, millions of people playing fantasy soccer get re-ranked within minutes of the final whistle?
2
Your striker scores twice, and before the highlights even air, your rank has jumped thousands of places.
3
Think about what that takes.
4
Millions of scores, reshuffled again and again, always in perfect order.
5
Ask any engineer how, and you'll get one word back.
6
Redis.
7
A cash to babysit A cluster to pay for One more thing that can fall over at 2 in the morning
8
We're skipping all of it Today, we build a real-time leaderboard on AWS where the database does the ranking itself Live boards,
9
daily and weekly rankings percentiles,
10
history and the entire ranking engine is one clever sort key We'll walk the diagram piece by piece and at the end,
11
there's a free, hands-on lab where you build every bit of it yourself.
12
Let's start with the hard part.
13
A leaderboard has one job that's harder than it looks, keeping thousands of scores in order all the time.
14
Sort them on every page load, and you're resorting the same data thousands of times a second, slow and expensive.
15
The trick is to never sort at read time at all.
16
So we store every score in Amazon DynamoDB, a serverless database that keeps rows physically ordered by their sort key.
17
Ordered ascending, smallest first.
18
Which is exactly the wrong direction for a leaderboard.
19
So we flip the scores upside down.
20
When a player scores 4,000, we subtract it from a fixed ceiling, 6 nines, and store the result as a sort key.
21
Now, the best player has the smallest key, and ascending order becomes highest score first.
22
Two small details make it bulletproof.
23
We pad the number with zeros so it sorts correctly as text.
24
And we glue the player's ID onto the end, so two identical scores can never collide.
25
The table itself is keyed by player.
26
One row per player, per board.
27
So updating your score is a single write.
28
Then we add a global secondary index.
29
A second, automatically maintained view of the same data, grouped by board and sorted by that inverted score.
30
That index is the leaderboard Read it top-down, and the ranking is already done The live board never stops moving, though The moment scores change,
31
yesterday's top 10 is gone forever So we add a second,
32
smaller table for history A snapshot table that freezes the top 50 Who ranked where,
33
at what moment Before a single line of code touches these tables, we decide who's allowed to That's IAM,
34
one execution role, shared by every function we're about to build With exactly two abilities Access to our tables,
35
and permission to write logs Five functions, same job description One role covers them all
36
Now the backend Five AWS Lambda functions Small pieces of Python that only run when called, and cost nothing in between
37
Each one does a single job The first takes score submissions
38
It writes your score to three boards at once The all-time board, today's daily board, and this week's weekly board
39
And it plays fair It only overwrites your old score if the new one is higher The second reads the board
40
One query against that inverted index, the top 25 rows, stamped rank 1 through 25
41
A few milliseconds and no sorting anywhere The third answers the question every player actually cares about Where do you rank?
42
It counts how many players sit above you in the index Adds one, and that's your rank
43
Turn that into a percentile against the whole board Because top 8% sounds a lot better than rank 200.
44
The fourth is the historian.
45
On request, it copies the current top 50 into the snapshot table, stamped with the moment it was taken.
46
And the fifth works for us.
47
A simulator that invents dozens of players, names, countries, scores, so we can test the system under load without recruiting real gamers.
48
It batch writes up to 90 rows in one shot More than Lambda's default 3 second timeout can survive
49
So we raise its timeout to 10 Five functions, but a browser can't call a Lambda directly So we put Amazon API Gateway in front
50
A REST API with five routes Submit a score, read the board, check a player,
51
take a snapshot, run the simulator Each route uses proxy integration The whole HTTP request goes straight to the function,
52
and the function shapes the whole response.
53
And every route allows cores, cross-origin requests, because our dashboard will live at a different address than the API,
54
and browsers block that unless the API explicitly allows it.
55
Deploy it to a production stage, and the whole backend sits behind one public URL.
56
Last piece, something for humans One small EC2 instance running Ubuntu With two doors open Web traffic for visitors,
57
SSH for us On it,
58
Nginx A web server built to hand out static files fast Serving a one-page dashboard A tiny config file tells
59
that page the backend's URL No framework,
60
no build step One HTML file and Nginx And quietly watching all of it CloudWatch.
61
Every one of the five functions streams its logs there.
62
That's the second half of the role we created.
63
When a score doesn't show up, that's the first place we look.
64
Now the payoff.
65
Open the instances public IP in a browser.
66
The dashboard loads.
67
Empty.
68
Click Seed Data, and the simulator floods the table.
69
Refresh.
70
There's the board.
71
Sorted top to bottom, avatars, country flags, the query time on screen reading just milliseconds.
72
Flip to daily.
73
Weekly.
74
Click a player.
75
Rank, percentile, games played.
76
No cache to warm, no cluster to babysit The database never sorted anything The scores were born sorted
77
Step back and count the pieces
78
Two DynamoDB tables A live board that sorts itself And one for history One shared IAM role Five Lambda functions Submit,
79
query, stats, snapshot, simulate One API gateway front door with five routes One EC2 instance serving the dashboard,
80
and CloudWatch logging every run.
81
And when nobody's playing, the serverless half costs nothing.
82
Functions and tables bill by use, not by the hour.
83
You've watched it come together on a diagram, but this design really sticks the moment the board lights up in your own browser, running on your own build.
84
So we made that free.
85
Two kinds of hands-on labs.
86
First, five mini labs.
87
IAM, DynamoDB, Lambda, API Gateway, and EC2.
88
Each a short, focused rep on one service from this video.
89
Then the capstone, a real AWS account where you build this exact system, the role, the two tables with the inverted index,
90
all five functions, the five API routes, the dashboard.
91
Then seed it and watch your own leaderboard sort itself.
92
The links are below.
93
If this one clicked, subscribe.
94
This video is part of a free AWS Crash Course, and more builds like it are on the way.
95
Tell us in the comments which system you want us to design next.
96
See you in the next one.

Скачать приложение

Everything you need to speak fluently

AI PronunciationScore every sentence
IPA PracticeMaster every sound
VocabularyBuild your word bank
Vocab GameLearn while playing

Кому подходит это видео?

Этот материал идеально подойдет тем, кто учит английский и хочет улучшить понимание технической речи, а также практиковать аудирование. Если ты интересуешься IT, cloud-технологиями или просто хочешь усвоить новую лексику в контексте реального примера, видео станет отличным инструментом. Его структура — пошаговое объяснение — поможет не только запомнить слова, но и понять, как они используются в живой речи.

Полезные слова и идиомы

  • Leaderboard — рейтинговая таблица. В видео речь идет о "real-time leaderboard" (онлайн-таблице с актуальными результатами).
  • Serverless — безсерверная архитектура. Например, "serverless database" (база данных, работающая без явного управления серверами).
  • Flip upside down — перевернуть вверх ногами. Здесь: "flip the scores upside down" (инвертировать баллы, чтобы упорядочить таблицу).
  • Batch writes — пакетная запись. Функция "batch writes up to 90 rows" (записывает до 90 строк за один раз).

Как улучшить произношение: фокус на акценте

Спикер использует яркий американский акцент, слегка быстрый, но четкий. Обратите внимание на произношение слов с "th": например, "the" (ði) и "that" (ðæt). Также важно слушать интонацию в вопросах и объяснениях — она подчеркивает важные моменты. Для практики попробуйте shadowing (повторение за спикером): запустите видео, остановите после каждого предложения и повторите его, копируя ритм и акцент. Для этого подойдет любой shadowspeak-сайт или приложение, где можно записать себя и сравнить с оригиналом. Это поможет улучшить произношение и понимание речи на слух.

Также обратите внимание на сокращения, которые часто используются в технической речи: "IAM" (аай-эм) и "Lambda" (ламбда). Практикуйте их произношение, чтобы не терять смысл в быстрой речи. Помните: регулярная работа с такими видео и shadowing-техникой сделает ваше произношение более естественным и уверенным.

Что такое техника Shadowing?

Shadowing — это научно обоснованная техника изучения языка, изначально разработанная для подготовки профессиональных переводчиков и популяризированная полиглотом доктором Александром Аргуэльесом. Метод прост, но эффективен: вы слушаете аудио на английском от носителей языка и немедленно повторяете вслух — как тень, следующая за говорящим с задержкой в 1–2 секунды. В отличие от пассивного прослушивания или грамматических упражнений, Shadowing заставляет мозг и мышцы рта одновременно обрабатывать и воспроизводить реальные речевые паттерны. Исследования показывают, что это значительно улучшает точность произношения, интонацию, ритм, связную речь, понимание на слух и беглость речи — что делает его одним из самых эффективных методов для подготовки к IELTS Speaking и реального общения на английском.