Distributed File Storage In Go – Full Course

preview_player
Показать описание
Learn how to build a decentralized, fully distributed content-addressable file storage system using Go that can handle and stream very large files. This course covers system design, low-level programming, and network protocols, all while building a highly practical and scalable application.

✏️ Course developed by @anthonygg_

⭐️ Contents ⭐️
Chapters:
00:00:00 - Building a Decentralized File Storage System
00:16:47 - Accept and Listen
00:37:13 - Hard Handshakes and Error Handling
01:17:28 - Developing a Custom Decoder for TCP Transport
01:20:38 - Implementing Custom Peer-to-Peer Package
01:39:39 - Fixing a Network Connection Error
02:17:41 - Storing and Retrieving Data
02:20:07 - Removing Files and Folders
02:45:27 - Cleaning up code
03:04:03 - Debugging and Helper Functions in Go
03:23:06 - Implementing File Server Options
03:43:01 - Server Configuration Errors
04:02:08 - Debugging and troubleshooting the program
04:36:42 - Broadcasting File to the Network
04:41:25 - Broadcasting and Encoding Data
04:58:35 - Sending and receiving data messages
05:18:19 - Running the Program
05:35:57 - Storing Messages
06:17:40 - Storing the Data
06:19:42 - Buffering and Broadcasting
06:39:03 - Debugging and file retrieval issues
06:59:01 - Dealing with Streams in the Code
07:18:34 - Learning from Mistakes
07:35:07 - Reading and Writing Files
08:12:00 - Encrypting the File
08:14:16 - Caso de prueba para copy decrypt function
08:34:59 - Encrypting and Decrypting Files
09:14:26 - Implementing Distributed File Server
09:18:09 - Implementing a copy function
09:36:05 - Refactoring for Storing and Retrieving Files
09:56:50 - End of Livestream

🎉 Thanks to our Champion and Sponsor supporters:
👾 davthecoder
👾 jedi-or-sith
👾 南宮千影
👾 Agustín Kussrow
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Justin Hual
👾 Otis Morgan
👾 Oscar Rahnama

--

Рекомендации по теме
Комментарии
Автор

Thank you FreeCodeCamp for adding my video here!

If you have any questions regarding the project, feel free to contact me, happy to help you out. If you like this video, consider subscribing to my YouTube channel.

Good luck everyone.

anthonygg_
Автор

Love him or hate him, he's one of the few people who make videos about real life and complex systems. Most programming youtubers only focus on beginner and meta contents.

cariyaputta
Автор

about 12:10: Accept interfaces, return structs.
1) A compiler optimizes code better when it knows the specific type of the return value;
2) for a variable of a specific type, memory can be statically allocated in the stack, unlike an interface, whose value is dynamically allocated in the heap;
3) other developers find it easier to understand the code;
4) code that calls your function will not perform a type assertion on the returned value, which is unavoidable when returning an interface.

nikolosnik
Автор

Timestamp ⌨ (0:00:00) Morning Update and State of the Industry is wrong.
Thank you for one more excelent course! Watching right now.

LuisHenriqueFedrizze
Автор

I would've appreciated some high level explanation of what we're building. As a beginner who just learned go and wanted to build something meaningful, it sounds cool. Going to give it a shot.

tejasbawa
Автор

Anthony GG is by far the best Principal level engineer out there, which is such a refresher compared to the noobs selling algo and system design courses who don't have an iota of experience as this dude brings in just one video.

croncoder
Автор

I'm watching a video about distributed file storage in Go. The video starts with no big picture discussion. The viewer has no idea what is being worked on or why. Should developers take any time to think and describe their objectives before jumping into code?

JigarGosar
Автор

Awesome i was looking for something similar will for sure watch it and improvise my skills

tejasshah
Автор

I have not watched this video, but from the intro, it sounds like he is showing how to build IPFS I assume? Because IPFS was build using GO if I am not mistaken, cant wait to see this video when I have the time

iqbalibrahim
Автор

I can't believe Jhonny sins is teaching me GO😂

relaxgameing
Автор

31:55

Outbound will only be true when we are Dialing to a peer, why is it set to true for accepting a incoming connection?

dicklong
Автор

The place where we are using goroutene to call startAccept will be a problem as the program will complete and end without waiting for accept, accept loop should be called in the current thread instead of a new goroutene ...

dipanjanm
Автор

OK, some mixed feelings on this one after watching 25% of the whole thing. On the one hand, as a Go newbie, I'm learning a lot and this is something more advanced than the usual tutorial vidoes - which is great. But I miss higher level explanations in this video of why things are done the way they are done. Also the poor usage of tooling like rename refactoring offered by VSC simply annoys me, as it teaches bad practices. Why jump all over the code and rename everything by hand when you have IDE support for that? The project is small and such refactoring already takes a significant amount of time. Testing is another subject - red-green-refactor cycle is what it is because one wants to see test failing first, and then after writing code, the test should pass. Making the test green in a first pass does not confirm the fact, that the test subject is working. An empty test is green from the start :P It just confirms the test is passing. Again, not the best practice.

mrKitke
Автор

Wait, you went right into it completely chaotically without even a design doc or system functionality discussion. No thought to what, how, why, where, etc.
Not the proper way to go about showing stuff. More like showing off.
Put some love into it man and do proper system engineering.

peekmuch
Автор

It's much better if you can add some more details about this project, like tells us what you're going to build and how you'll build to get the idea of project.

vaibhavyadav
Автор

Hey man, great stuff, just curious how many days did you take to implement this

akhileshkumbar
Автор

I saw some of his golang videos, they are amazing

vinayakjaiswal
Автор

Can we distribute compute power the same way or like a compute pool that any user can access

ghstgltch
Автор

little request
hey I am from India i am working as salesforce marketing Developer I know i am not following proper steps because there is lack of guidance for salesforce please make a video of A to z of salesforce Marketing Cloud and all the steps for integration

DeekshantSharma-bzfe
Автор

Haha. Its so interesting. Programming and Automation is good for the soul. ❤❤❤

ChrisControlAutomation
visit shbcf.ru