Anthony GG

Anthony GG

Anthony, no bullshit programmer.

► Exclusive tutorials, Mini Courses and projects, Resume and project reviews 👉 thetotalcoder.com
► My amazing Golang course 👉 fulltimegodev.com
► Join my Discord community for free education 👉 discord.com/invite/Ac7CWREe58

For business inquiries:
[email protected]

Пікірлер

  • @peterszarvas94
    @peterszarvas9458 минут бұрын

    'g?' for keymaps, 'a' for new folder or new file in nvimtree

  • @anthonygg_
    @anthonygg_55 минут бұрын

    ❤️

  • @hebozhe
    @hebozhe2 сағат бұрын

    I don't use channels unless something is asynchronous forever. I just sense I'm wasting code harvesting channel results, when mutexes allow for arbitrarily large expansions into accepted containers.

  • @rdubb77
    @rdubb776 сағат бұрын

    Except the market for JS devs is heavily saturated. Thanks bootccamps!

  • @ninilab
    @ninilab8 сағат бұрын

    Not using templ... yet :)

  • @ninilab
    @ninilab8 сағат бұрын

    hide your girl X-D

  • @MaybeBL1TZ
    @MaybeBL1TZ11 сағат бұрын

    i was using templ + htmx with echo or fiber but i guess i'm excited to try it with chi

  • @user-ux4le1tf3y
    @user-ux4le1tf3y12 сағат бұрын

    what theme in vs code are you using?

  • @IIJamesII
    @IIJamesII15 сағат бұрын

    Just subbed. Just a suggestion, a high pass filter (or low cut filter) would help with audio quality. Another option would be to increase the distance of the mic to avoid low frequency 'pops'. Thanks for the content.

  • @JustSomeAussie1
    @JustSomeAussie120 сағат бұрын

    You should install a nerd font so you have proper icons in your neovim. Some of the icons are just showing as question marks

  • @DroidZed
    @DroidZedКүн бұрын

    Finally I found a good config for HTMX, tailwind and go chi. Now I can plug this into my my blog 💜

  • @congdatt
    @congdattКүн бұрын

    Laravel Ultimate version ... bruhhhhh ....

  • @dandogamer
    @dandogamerКүн бұрын

    Are you aiming for this to be horizontally scalable? I love pocketbase but its main downside is that you cant scale it 1. Because db is sqlite but 2. Because the way its architectured in terms of its lifecycle events

  • @anthonygg_
    @anthonygg_Күн бұрын

    You can use msql or something else as well

  • @patrickkdev
    @patrickkdevКүн бұрын

    This is great. Thank you

  • @sudoboink
    @sudoboinkКүн бұрын

    Bro, missed a ton 'cause of exams! This looks 🔥 Gotta catch up and jump in on this.

  • @savage3dgames510
    @savage3dgames510Күн бұрын

    Perfect explanation. Thanks

  • @rusty-neko
    @rusty-nekoКүн бұрын

    "zoom in for the blind homies" thanks soo much bro my eyes are bad it really helped

  • @Snailsxd
    @SnailsxdКүн бұрын

    Why aren't generics being used for the event handler payloads?

  • @anthonygg_
    @anthonygg_Күн бұрын

    You cant.

  • @amlan7502
    @amlan7502Күн бұрын

    Here are timestamps for all the different components - 03:23 🧰 Initial steps include setting up a makefile, initializing a Go module, and organizing project structure. - 05:16 📚 Detailed explanations are given about designing interfaces and structuring code for TCP transport handling. - 07:10 🛠 The presenter emphasizes good coding practices, such as documenting functions and organizing code logically for readability and maintainability. - 13:42 🏆 The tutorial promises to provide in-depth knowledge and skills to distinguish viewers as proficient engineers in Golang development. - 25:19 🤖 The presenter discusses the importance of defining a common interface for different transport types, ensuring flexibility and scalability in the system architecture. - 29:44 🚪 Implementation details include constructing TCP peers, distinguishing between inbound and outbound connections, and organizing code with clarity and documentation. - 30:12 🛠 When building from scratch, providing clear and verbose naming conventions can help avoid issues. - 31:05 🤔 Consider using interfaces for communication channels to maintain flexibility in the implementation. - 35:26 🤝 Handshakes in TCP connections are crucial for establishing trust between peers before further interaction. - 37:11 💡 Implementing handshake functionality through interfaces allows for easy adaptation and customization. - 40:37 🔧 Iterative development with continuous feedback is valuable for refining code and improving understanding. - 49:44 ⚠ Implementing error handling strategies like spam protection can enhance the robustness of peer-to-peer connections. - 55:08 🖥 Consider carefully orchestrating handshake and decoding processes in TCP connections to avoid conflicts. - 01:05:36 🛠 Messages represent arbitrary data sent over a network between two nodes. - 01:07:48 🧠 Creating a custom encoder may be necessary when dealing with non-standard message formats. - 01:11:07 🤔 Consider providing default implementations like "NotEncoder" and "NotDecoder" for users' testing purposes. - 01:15:01 💡 Using a generic message format allows for flexible communication, depending on the platform and payload. - 01:20:28 🔗 Continuing in the next episode, the focus will be on completing the distributed storage system and possibly exploring peer discovery within the library. - 01:39:38 🔍 Addressing errors in network connections is crucial for maintaining the stability of distributed systems. - 01:41:22 🛠 Handling errors gracefully in network operations is essential for robust system behavior. - 01:45:47 🗃 Exploring Content Addressable Storage (CAS) for file storage allows organizing and retrieving data based on its content. - 01:49:20 📁 Developing file storage functionality involves creating structures and methods for storing and retrieving data efficiently. - 01:54:30 🧪 Testing file storage functionalities is essential to ensure they work as expected and handle various scenarios effectively. - 01:58:17 🛠 Designing and testing custom transformation functions for file and folder naming improves organization and efficiency in file storage systems. - 02:11:54 🗃 Storing data in a distributed file system requires careful consideration of how to manage file paths and content. - 02:12:27 🔑 To facilitate file retrieval, it's essential to store the bytes of the content along with the key and hash the content for file naming. - 02:13:11 📄 Introducing a structured data type like a "pad key" can simplify file management by encapsulating path and original key information. - 02:16:56 🔒 Proper file handling includes closing files after use to prevent resource leaks and ensure efficient memory management. - 02:19:36 📝 Wrapping low-level file operations with higher-level functions can enhance code readability and usability. - 02:22:00 🧹 Implementing file deletion functionality is crucial for maintaining a clean and efficient file storage system. - 02:42:48 📁 When deleting files, ensure to remove associated directories to maintain consistency and avoid unexpected behavior. - 02:49:01 🚀 Comprehensive testing, including setup and teardown procedures, is vital for verifying the functionality and reliability of a file storage system. - 02:50:36 🐛 The code needs adjustments to handle default values properly, especially when dealing with interfaces. - 02:51:19 📁 Adding a root directory to the file system requires careful consideration, including default values and error handling. - 02:55:19 🧹 Testing helper functions like tear down and clear can streamline testing and ensure a clean environment for each test run. - 03:07:21 🛠 Regular maintenance tasks like adding new functions and optimizing existing ones contribute to code cleanliness and efficiency. - 03:08:14 🔧 Utilizing helper functions for testing, such as `newStore` and `tearDown`, can simplify test setup and teardown procedures. - 03:13:08 🧪 Testing multiple functionalities in a single test can help ensure comprehensive coverage while maintaining test clarity and efficiency. - 03:19:46 🧐 Ensure expected file names and paths match for proper functionality. - 03:20:49 🚀 Building basic functionalities like read, write, delete, and test for key presence is a solid start. - 03:21:32 💡 Refactor code for better readability and efficiency, such as improving error handling. - 03:22:15 🔒 Expose necessary functionalities as private functions for better code organization. - 03:23:08 📦 Start creating the server structure with required options like listening address and storage root. - 03:24:11 🛠 Configure server options and initialize necessary components like the store. - 03:26:54 🔄 Implement logic for integrating the server with peer-to-peer communication. - 03:28:43 📡 Establish TCP transport and handle listening and accepting connections. - 03:31:33 🤔 Consider encryption for files and plan implementation in upcoming iterations. - 03:43:17 ⚙ Design the server loop for handling incoming messages and user actions. - 03:49:13 🧹 Implement cleanup procedures like closing connections and handling user-initiated stops. - 03:53:54 🛠 Error handling is crucial when closing network connections to ensure proper cleanup and prevent runtime issues. - 03:54:38 🌐 Connecting and exchanging messages between servers is the next step, including peer discovery and gossiping. - 03:55:22 📡 Initial peer connections will be based on a predefined list of bootstrap nodes for simplicity. - 04:02:19 💡 Debugging errors, even if they seem trivial, is an essential part of development and learning. - 04:10:39 🤔 Reflecting on coding practices, like comment punctuation, can prompt interesting discussions but may not significantly impact functionality. - 04:11:09 😅 Embracing mistakes and learning from them is part of the development process, even if they're embarrassing.

  • @fooktu
    @fooktuКүн бұрын

    Do you plan to write tests?

  • @zevo92
    @zevo92Күн бұрын

    I'm not sure if I'm in a bubble or something, but GO seems like its gonna skyrocket. I'm not a big javascript or Java dev, but man is Go smooth and fun. With things like Superkit that make it even more easy, I don't see why would anyone use anything other than Go. GG Anthony, really well played.

  • @newmarketfinder
    @newmarketfinderКүн бұрын

    Beautiful

  • @Zmey5656
    @Zmey5656Күн бұрын

    Thank, is it free? I'd like try

  • @myrachoantonio8832
    @myrachoantonio8832Күн бұрын

    Thanks for the Input Anthony

  • @myrachoantonio8832
    @myrachoantonio8832Күн бұрын

    man this was interesting - but Anthony - what key factors should be your baseline while handling such an assignment - I am job hunting by the way - so such resources are gold mine to me

  • @hisyamsk
    @hisyamskКүн бұрын

    no more gruvbox theme 😥

  • @derekw6811
    @derekw6811Күн бұрын

    Is this your gothkit renamed?

  • @josemauriciocarpioherrera4044
    @josemauriciocarpioherrera4044Күн бұрын

    Can I add a terraform aws ecs or ec2 deployment automation as a contribution?

  • @Vjecni
    @VjecniКүн бұрын

    I just started learning golang few days ago, and this thing now poped on my page. I really find idea of this awesome and will 100% try it out once I advance with a go a little bit. Now, I use a little bit weird stack for my web apps, so its React (sometimes with remix) on frontend, and I would love to have golang on backed. So what I think it would be nice while creating project with superkit is to select if I for example want my app to be go and htmx, go with vue, go with react etc... I think that would actually be nice addition to this. Again just my personal opinion, now I dont know how good idea this would be tho

  • @MarcoDamaceno
    @MarcoDamacenoКүн бұрын

    Go deserves a Rails like framework to skyrocket in usage. Looks promising.

  • @MeghdipKarmakar
    @MeghdipKarmakarКүн бұрын

    Time to get it on par with Laravel, time to write PRs

  • @ashishchotani2458
    @ashishchotani2458Күн бұрын

    Timestamps : (will continue appending as I follow the vid) 35:00 Developing a TCP Connection via TCPTransport between local and remote nodes 56:51 Validating HandShake between local and remote nodes 1:00:53 Handling features of TCP Transport (ListenAddr, Decoder, Handshake) by creating a struct 1:10:28 Captured messages from the remote node in a buffer

  • @mithilesh6793
    @mithilesh6793Күн бұрын

    Hi Ashish, can you help me and provide some resouces about what this project does and how it works I am a beginner in Golang

  • @meni181818
    @meni181818Күн бұрын

    looks promising

  • @greendsnow
    @greendsnowКүн бұрын

    Why not contribute to pocket base instead... I mean... It's already there and open source

  • @anthonygg_
    @anthonygg_Күн бұрын

    Pocketbase is not a framework

  • @bnssoftware3292
    @bnssoftware32922 күн бұрын

    WOW is right! Can it use shadcn?

  • @KennethFeur
    @KennethFeur2 күн бұрын

    I like what I see

  • @yuni_cs
    @yuni_cs2 күн бұрын

    Hi, this project looks amazing and is exactly what we were looking for! will it be open to contributions?

  • @ninilab
    @ninilab2 күн бұрын

    nice idea, similar what another youtuber sells for 200$, but for JS, it's called shipfast, which also includes all sorts of integrations (stripe, tailwind I guess, malgun, magic link for registration, around 20 themes etc.)

  • @BigBrainHacks
    @BigBrainHacks2 күн бұрын

    Nice work my dude! 🤙

  • @masrur_qr
    @masrur_qr2 күн бұрын

    😂😂😂

  • @j.r.r.tolkien8724
    @j.r.r.tolkien87242 күн бұрын

    This is amazing. I'll definitely be using it.

  • @heismyke
    @heismyke2 күн бұрын

    what do you recommed i know before using this new framework superkit

  • @hadesubloysa2705
    @hadesubloysa27052 күн бұрын

    where is hx-target, how did htmx know which node to swap?

  • @hadesubloysa2705
    @hadesubloysa27052 күн бұрын

    oh, htmx default is replacing the one that made the request

  • @social-animal7r
    @social-animal7r2 күн бұрын

    O M G! How to put two likes??

  • @connormc711
    @connormc7112 күн бұрын

    Handler I think should be a procedure and not a function. Retuning an error means server cannot fire and forget like a proc

  • @opencode1
    @opencode12 күн бұрын

    Love your honesty and video man. You are such a great inspiration. What type of headphones do you use please?

  • @anthonygg_
    @anthonygg_2 күн бұрын

    Sony. WH1000xM4

  • @lguedes768
    @lguedes7682 күн бұрын

    Really cool Stuff! Let's get videos on building a SaaS on it? o.o

  • @manee427
    @manee4272 күн бұрын

    awesome idea and tutorial would be great on this with HTMX

  • @azeek
    @azeek2 күн бұрын

    I actually have been playing with thid Templ, golang, htmx, tailwind stuff lately. I'm so exited about this project. I'll definitely try it out

  • @deeplyrics7056
    @deeplyrics70562 күн бұрын

    Very 😢 nice. I like to contribute this kind of project.

  • @khalilollah381
    @khalilollah3812 күн бұрын

    1:13 "zoom in for the blind homies" got me XD

  • @ninilab
    @ninilab2 күн бұрын

    haha was about to write that comment :D