Your backend is too complicated
68,358
Published 2024-05-12
Thanks to CodeCrafters for sponsoring this video! Level up your coding skills:
ihh.dev/codecrafters
Check out the code:
github.com/isaacharrisholt/youtube/tree/main/039-g…
Resources:
Gleam: gleam.run/
Gleam OTP library: hexdocs.pm/gleam_otp/
Wisp web framework: hexdocs.pm/wisp/wisp.html
PokeAPI: pokeapi.co/
__________________________________________
Check out my other socials!
🎮 Discord ▶ discordapp.com/invite/bWrctJ7
🐦 Twitter ▶ twitter.com/IsaacHarrisHolt
🖥️ Portfolio ▶ ihh.dev/
📝 Blog ▶ isaacharrisholt.com/
__________________________________________
Timestamps:
00:00 - Your challenge
00:53 - Project overview
01:13 - The type system
02:14 - Decoding
04:07 - Concurrency
05:47 - Long running processes
08:36 - The battle manager
#gleam #softwareengineer
All Comments (21)
-
ERRATA: 5:19 - `task.try_await` doesn't protect you from the task crashing, only from timeouts. The correct way to avoid crashing the host process would be to use a supervisor. `try_await` will, however, return an error if the process EXITS with an exit code. If the process panics or is killed, the host process will crash. 9:11 - Yes, yes. It's POLYNOMIAL, not exponential.
-
I love how the answer to too many programming language is always more programming languages.
-
How to be a fresh backend developer? It's simple, just: Migrate from PHP/Python/Perl to Go Migrate from Go to Rust Migrate from Rust to Gleam
-
"Your backend is too complicated" -> "I'm going to skip explaining this bit because it's too complicated for this video" xD
-
How many GIFs do you want to use in your video? Isaac: Yes
-
It really seems to me that Gleam is the truth. 1. High-level feel with GC 2. Functional but simple 3. Strongly and Statically typed, Custom types (Variants and Records), Generics 4. Errors as values 5. Exhaustiveness 6. Built-in Scalability due to the Beam I like that
-
Just as a sidenote, the discord community for gleam is great too :)
-
exactly what I need right now?? great video!
-
I'm glad someone is doing some videos with gleam!! Would love to see some more about the gleam OTP and concurrency. Also some simple web dev stuff like how do I connect it to a postgres db etc
-
great examples and great logic. love this.
-
Does it have pattern matching comparable to Rust’s? (Object destructuring and exhaustive enum pattern matching)
-
I still don't get the `use` syntax. I've tried to understand it through the documentation and more but I just can't get to understand what it does and when it works. It said something about returning the value of the function that was a parameter or something like that and I really don't get how to use it. It seems like a great feature but I just can't wrap my head around it.
-
Love the sponsor, really cool idea. Seems more useful for experienced programmers than those leetcode style platforms.
-
Anyone know what font and color theme is being used in the text editor at around 1:30 ?
-
I have one question, is the play_button / triangle ligature in your font this: "|>" ? edited: I read the code, it seems like it is... I was confused how to make that for a moment haha
-
What's the font and the color scheme used here? It looks exquisit and I need it.
-
that video had alot to unpack, too much for my brain, that's complex, grug brain can't get all of it, 50% was over my head, time to re watch this, keep this good work up
-
Like the difference betwen Salsa on 1 and Salsa on 2 is almost impercetible to the music deaf, what makes backend so different from front end?
-
Interesting, this seems like rust except without the rough edges and running on BEAM. Ill be sure to give it a try
-
Heck yeah, Gleam!