Тёмный

How To Create Your Own Link Shortener In Rust (beginner-friendly project) 

Oliver Jumpertz
Подписаться 1,5 тыс.
Просмотров 3,4 тыс.
50% 1

You probably know tools like Bitly, t.ly, TinyURL, and many more. They are all link (or URL) shorteners, but did you know that their core logic isn't that difficult to implement yourself?
What if you could create your very own link shortener, in Rust, as a perfect learning project and one that actually provides yourself some value?
This is what this video is about. We implement our very own link shortener in Rust and use the following technologies:
- Rust (as our most beloved programming language of choice)
- Axum (as the web server)
- sqlx (as our persistence library without the need for a fully-fledged ORM)
- Prometheus (for metrics)
- Open Telemetry (for tracing and logging)
- And a few more
The best thing about this? When you are done, you can easily containerize the application and deploy it anywhere you like. Only some further setup (depending on where you deploy it), and you can shorten your own links and place them everywhere you like!
----------
🕖 Timestamps:
00:00 Intro
00:44 How our link shortener looks and works
03:02 Setting up the project
15:08 The redirect route
23:06 Creating short links
30:07 Modifying short links
35:00 Collecting and fetching link engagement statistics
46:09 Authentication
57:08 Implementing a retry for creating short links
01:02:03 Outro
----------
❓ Who the hell am I?
Hey, if we haven't met yet, I'm Oliver, and I'm a software engineer. I started programming over two decades ago as a hobby. Nowadays, I design and build huge distributed systems in the video on demand space.
----------
🙌🏻 You can find me here:
My blog: oliverl.ink/blog
My Twitter: / oliverjumpertz

Наука

Опубликовано:

 

16 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 28   
@oliverjumpertzme
@oliverjumpertzme 3 месяца назад
Hey everyone, I've uploaded the source code here, in case you want to look up things: github.com/oliverjumpertz/link-shortener
@oyewodayo
@oyewodayo Месяц назад
Honestly, if you continue building real-world useful applications like this with Rust, you will be entered into the hall of fame. However, I've realized that Rust RU-vidrs often give up too quickly, after just one or two videos.
@oliverjumpertzme
@oliverjumpertzme Месяц назад
I'll never give up. ☺️
@SimonHoiberg
@SimonHoiberg 4 месяца назад
Damn! +60 minutes. This is what I call a packed tutorial. Your videos keep getting better. Awesome work 🔥
@oliverjumpertzme
@oliverjumpertzme 4 месяца назад
Doing m very best, my friend…and trying to somehow keep up with you 😁💛
@oyewodayo
@oyewodayo Месяц назад
Thank you for this video. Please don't stop. Give us more
@oliverjumpertzme
@oliverjumpertzme Месяц назад
Thanks! Don’t worry. Already working on the next one. It just takes a lot of time. 😁
@FlorinPop
@FlorinPop 4 месяца назад
Massive tutorial! Great job Oliver!
@oliverjumpertzme
@oliverjumpertzme 4 месяца назад
Thank you, Florin! 💛
@cereal_learner
@cereal_learner 3 месяца назад
This is a gem of a video ❤ Not only covers the important topics but all the actual things that are needed to productionize the app, thanks!
@user-we2gj9uz7r
@user-we2gj9uz7r 2 месяца назад
Excellent tutorial. Thank you!
@oliverjumpertzme
@oliverjumpertzme 2 месяца назад
Super happy to read that! 💛
@catalinmpit
@catalinmpit 4 месяца назад
Oliver dropping a gem! Nice one! 👏
@oliverjumpertzme
@oliverjumpertzme 4 месяца назад
Catalin, so good to see you! Thank you, my friend 💛💛💛🙏🏻
@dpointeck
@dpointeck 4 месяца назад
I learned more from your video than from the last book I read. what i like is that you go through the topic quickly. it seems like you are the wes bos for rust 🔥 thank you for sharing your knowledge 👍
@oliverjumpertzme
@oliverjumpertzme 4 месяца назад
Wow, thank so so much! 💛
@abdo_omareg
@abdo_omareg 3 месяца назад
Very underrated video! thank you for sharing.
@oliverjumpertzme
@oliverjumpertzme 3 месяца назад
Thank you very very much! ☺️ Doing my best to get more visibility. 💛
@kevinmuhia5915
@kevinmuhia5915 2 месяца назад
Great video. Just came from reading your dev.to "how to read files in rust" article, then your personal blog and now your youtube channel. I like the way you teach and I'll certainly be looking forward to more of your videos. I would really like to know what areas of rust that i should really try to understand so that i can have a solid knowledge of the language. Thanks!
@oliverjumpertzme
@oliverjumpertzme 2 месяца назад
Hey, super happy to read that!
@kenzo3477
@kenzo3477 3 месяца назад
You teach so well🎉. Subscribed
@oliverjumpertzme
@oliverjumpertzme 3 месяца назад
Thank you! 💛🙌🏻
@kaziibrahimkhalil1011
@kaziibrahimkhalil1011 4 месяца назад
At laaasstt tutorials.Incredible work...please keep up this wondeful knowledge sharing...
@oliverjumpertzme
@oliverjumpertzme 4 месяца назад
Will do, thank you! 💛😁
@zakyvids6566
@zakyvids6566 3 месяца назад
Comment down below if you would like Oliver to make vidoes on projects with rust I have subscribed btw and I do have a request can you please make a crashcourse on fundamentals of rust for newcomers and also would love to hear your thoughts on moonbit programming language still under development btw Thankyou so much
@oliverjumpertzme
@oliverjumpertzme 3 месяца назад
Hey! Thank you soooo much! 💛 Haha, let me check that out, oh and btw, I am just sitting in front of my computer, editing a video about a few more advanced fundamentals of Rust ☺️
@omkarmahajan9918
@omkarmahajan9918 3 месяца назад
Hi where do I find source code for this?
@oliverjumpertzme
@oliverjumpertzme 3 месяца назад
Hey, haven't uploaded it to GitHub yet, but come back in a day and I'll have added a link to a GitHub repo here. :)
Далее
You Should Really Know These Traits in Rust
18:36
Просмотров 10 тыс.
Decrusting the axum crate
2:12:27
Просмотров 63 тыс.
Why It (Mostly) Doesn't Matter How You Code In Rust
22:57
Coding a Web Server in 25 Lines - Computerphile
17:49
Просмотров 322 тыс.
These Coding Projects Give You An Unfair Advantage
14:39
Modern All Rust Stack - Dioxus, Axum, Warp, SurrealDB
24:02