eldr-io
eldr-io
  • Видео 12
  • Просмотров 48 727
Build real-time modern web apps with Go, WebSockets and HTMX
#golang #htmx #websockets #tutorial #programming
In this video I create a sample modern web application that uses WebSockets in Golang and HTMX to display an autoupdating Hardware Monitor showing data about what is happening on the device.
The full source code is available on Github, see the pinned comment below!
github.com/sigrdrifa/go-htmx-websockets-example
Просмотров: 10 274

Видео

How I structure my Haskell Projects
Просмотров 1 тыс.21 день назад
#haskell #coding #tutorial #project #structure #programming #testing In this video I walk you through how I structure my real Haskell applications including the testing tools, build tools, folder structure and more. The github repo for this video is here: github.com/sigrdrifa/haskell-project-structure My NVIM (neovim) config: github.com/sigrdrifa/nvim
Practical Concurrency in Go - GoRoutines, Mutexes, Channels and more
Просмотров 3,7 тыс.Месяц назад
#golang #coding #concurrency #threads #tutorial #programming In this video I give some examples of writing concurrent programs in Go, using an example of writing a simple Currency Exchange that fetches currency exchange rates. We start by running it with no concurrency, then we implement goroutines fetching in parallel and finally we create a worker pool of threads and channels to enqueue work ...
Mock Web APIs with Testcontainers in Go
Просмотров 2,1 тыс.Месяц назад
#golang #coding #testing #integration #api #tutorial In this video I show you can spin up custom docker images using Testcontainers automatically in your integration tests, and I show how you can easily spin up a custom web API inside the container to integration your code. This is a great way to make your integration tests do almost anything, you have the power of Docker at your fingertips and...
Test your Go code with Testcontainers
Просмотров 3,6 тыс.Месяц назад
#coding #golang #programming #testing #tutorial #testcontainers #mysql In this video we will be looking at one of my favourite integration test virtualisation frameworks: testcontainers - and how to use it with Go. We programmatically spin up a MySQL database and configure it, all within Golang tests and connect a simple example MySQL database client to it. Testcontainers is an open source fram...
Pointers in Go - Don't be scared!
Просмотров 3,8 тыс.Месяц назад
#golang #coding #tutorial #pointers In this video I give an introduction to how Pointers work in Golang, how you declare them and use them, but also when you should use them and when you shouldn't! People are often scared of pointers or find them difficult to understand, so hopefully this will help!
How to test Go applications - the right way!
Просмотров 3,3 тыс.2 месяца назад
In this video I give a live-coding tutorial of how I test my Golang applications using Behaviour-driven testing and Dependency Injection! #golang #coding #testing #tutorial
Dependency injection in Go - a pattern you should be using!
Просмотров 4,7 тыс.3 месяца назад
In this video I provide an example of using Dependency injection in Go as well as describing some of the benefits of using it! #golang #coding #dependencyinjection #tutorial
Querying Youtube stats with Go (Code-along tutorial)
Просмотров 7313 месяца назад
In this video I live-code a simple Golang script for querying the RUclips Data API v3 to fetch stats about subscribers and view counts on this channel. Let me know if you enjoy this kind of format!
How to structure your Go projects
Просмотров 9 тыс.3 месяца назад
In this video I walk through how I structure all of my Golang projects, explaining the directory structure, the source files, where I put unit and integration tests, as well as some key tooling that I use like Makefiles and mockery. Link to golang-project-structure repo: github.com/golang-standards/project-layout Link to tutorial weatherman source code: github.com/sigrdrifa/weatherman-tutorial ...
Start using this Go design pattern.. Consumer Interfaces!
Просмотров 5 тыс.3 месяца назад
In this video, I give you an explanation and show a simple example of Consumer (client) interfaces in Golang, explaining why they work the way they do and what the benefits are. This video assumes that you know basic Go and mentions some other design patterns like Dependency Injection (let me know if you want a video on that). I'm really enjoying Golang lately and hope to use this channel to cr...

Комментарии

  • @eduardabramovich1216
    @eduardabramovich1216 20 часов назад

    Please make more apps using the Go + HTMX stack.

  • @licriss
    @licriss День назад

    Just started my first project using stack and was stuck on what I should put in Lib vs App and this way fits my intuition perfectly and such a clean and well organised delivery with just the right amount of infomation that was useful to me right now, thanks!!

  • @vb_gh
    @vb_gh День назад

    Thank you very much for making my requested video 🙏🏽. This is a good and clear real life use case. I would also like to ask for another video about what are the differences using json.Marshal or json.Unmarshal and json. Encoder or json.Decoder in go. I know they both are used to convert go types to json and vice versa. But I don't know why and where to use one over the other. A video with some vivid/concrete examples of why and where to use each or reply to this comment could help me understand. Thank you in advance 🙏🏽.

  • @user-pj2uu2pj1r
    @user-pj2uu2pj1r День назад

    what is the editor?

  • @anantmishra6783
    @anantmishra6783 День назад

    wow, co pilot is really really annoying!

  • @pdigonzelli
    @pdigonzelli 3 дня назад

    Amazing. One suggestion is you have to speak a little slowy.

  • @SU3D3
    @SU3D3 6 дней назад

    Simply Lovely! 陽 🕯

  • @celestial8610
    @celestial8610 8 дней назад

    like the content. but the voice its like indian accent forced to native english woman using AI.

  • @bryanngen5572
    @bryanngen5572 8 дней назад

    Don’t stop making videos. You're actually really good at it.

  • @georgecrisan9499
    @georgecrisan9499 10 дней назад

    the example at 10:30 cannot be correct, the error is caused by the fact that there is no Currency item in the currencies map with key 'usd' at the time the go routine outside of the waiting group is running. If you add a 'usd' currency in the code above the error is gone and it prints the rates when it has the record whenever the thread has a chance to run. Also at 22:40 you say let's close the resultChan but the code below has close(currencyChan). The question is why closing only one? why not both or why any at all?

  • @iPha1L
    @iPha1L 16 дней назад

    Any chance you could make a video regarding installing NVIM and Neovide with your config?

  • @ademolakolawole3407
    @ademolakolawole3407 17 дней назад

    Amazing!!!

  • @frankjansson7563
    @frankjansson7563 17 дней назад

    I've been wanting to get started with Go these videos are really enjoyable. I enjoy your Non Go videos to. Keep spreading the joy of coding :)

  • @mathandemotion
    @mathandemotion 18 дней назад

    that go context video would be helpful for me

  • @WhatNameHere
    @WhatNameHere 19 дней назад

    How do you make your lualiine common for nvim tree and the buffer?

  • @daniellanciotti8908
    @daniellanciotti8908 19 дней назад

    is it me , or the code editor pointer is so smooth ??

  • @buddy.abc123
    @buddy.abc123 19 дней назад

    Use your real voice please. We have AI fatigue. Will catch you on the next one 👍🏾

  • @bassamsaleh8034
    @bassamsaleh8034 19 дней назад

    Thanks for sharing but Context, context. Everyone in golang is using it. Video on context with real life example would be cool

  • @MartinAndrasi
    @MartinAndrasi 20 дней назад

    Hello, whats the editor and plugins? Is it neovim with mouse plugin or ?

    • @eldr-io
      @eldr-io 20 дней назад

      Hey, it's neovide. Check the pinned comment for the config

  • @hashomi0596
    @hashomi0596 20 дней назад

    the content is great, but why are you using AI voice changer or generator? Are you human? If not, then god help us.

  • @AnoniChocolateMoose
    @AnoniChocolateMoose 20 дней назад

    I highlighy doubt this video

  • @deathdefier45
    @deathdefier45 20 дней назад

    Years since I've seen the rot13 haha

  • @nihirzala
    @nihirzala 20 дней назад

    Is this fedora os ??

    • @eldr-io
      @eldr-io 20 дней назад

      Hey, yes, I change around a lot but this video is on fedora 40 (Gnome)

    • @nihirzala
      @nihirzala 19 дней назад

      @@eldr-io I am using the arch 😶 & get alot nightmares with it.

  • @justafreak15able
    @justafreak15able 20 дней назад

    your just wasting your time and skill on making AI generated videos. Make it your own and make a portfolio out of it.

  • @ahmedschhaider4762
    @ahmedschhaider4762 20 дней назад

    thank you, really helpful

  • @deathdefier45
    @deathdefier45 20 дней назад

    You're awesome <3 thank you for this

  • @ryanlog
    @ryanlog 20 дней назад

    Enough with that girly voice bro... it clearly sounds like a guy's voice trying to disguise as a girl with that AI-generated image Man up and face your audience

  • @jucazac8926
    @jucazac8926 20 дней назад

    I actually think append is allocating, since we know nothing about b's capacity. Am I wrong?

  • @CodePulse
    @CodePulse 20 дней назад

    Wow you seem very knowledgeable

  • @baronbeans5001
    @baronbeans5001 21 день назад

    Love your tutorials. I would really love one on context please

  • @Cathal-zb4lu
    @Cathal-zb4lu 21 день назад

    These videos are fantastic but i think she's an AI generated image and voice lol

    • @deathdefier45
      @deathdefier45 20 дней назад

      You can hear the keystrokes sometimes

    • @kapzsisag
      @kapzsisag 20 дней назад

      seems like a voice changer maybe? her voice glitches out sometimes like at 26:47

    • @javierflores09
      @javierflores09 19 дней назад

      @@deathdefier45 that can be edited in for the effect, I know the person on the thumbnails is definitely AI generated, however I don't know if the voice is. Maybe a voice changer

    • @user-qk4tx9jc4m
      @user-qk4tx9jc4m 19 дней назад

      Thats what I thought at first moment, but it works. Look at you and me!😂😂

    • @satyayuga0
      @satyayuga0 9 дней назад

      Voice is real, but picture is obviously AI generated

  • @majidmohamadi5353
    @majidmohamadi5353 21 день назад

    Very nice, GJ

  • @OvidiuIspas
    @OvidiuIspas 21 день назад

    Sorry for the somewhat untelated question, but what cursor is that? I also suppose the wm is hyprland? It would be really awesome so share your dotfiles, or why not, a future video of your setup! Thanks in advance!

    • @cg219
      @cg219 20 дней назад

      I second all of this

    • @brivism
      @brivism 20 дней назад

      Looks like default cursor animation in neovide

    • @OvidiuIspas
      @OvidiuIspas 20 дней назад

      @@brivismthanks for replying, yep it looks like that’s what it was!

    • @eldr-io
      @eldr-io 20 дней назад

      Hey, yea I use neovide, check the pinned comment for the config! As for WM, I change a lot and some times I'm on Hyprland, Cosmic or GNOME. This video is on gnome on fedora 40 :)

  • @davidherbert6359
    @davidherbert6359 21 день назад

    So Wonderful presentation and git thank you. Nice to see latest HTMX used. I learn so much in a simple and non over whelming way. I am most definitely Subscribed respect to u. Keep on maybe templ/HTMX/auth next pls.

  • @chrisj21b
    @chrisj21b 21 день назад

    I'm gonna enjoy it very very much

  • @keerthes
    @keerthes 21 день назад

    How much will it take for a beginner to learn ?

    • @eldr-io
      @eldr-io 21 день назад

      It depends how much of a beginner you are but if you follow along with the tutorial you should be able to get to the same point of having a HTMX webapp that shows realtime data updates. It could be benificial for you to also watch my videos on structuring Golang projects, pointers in Go and practical concurrency in Go :) hope that helps!

  • @eldr-io
    @eldr-io 21 день назад

    Hey guys, The source code for this video tutorial is here: github.com/sigrdrifa/go-htmx-websockets-example and my NVIM config is here: github.com/sigrdrifa/nvim Thanks for watching!

  • @veronez9846
    @veronez9846 22 дня назад

    one of the bests videos about concurrency.

  • @joshbassett
    @joshbassett 22 дня назад

    Fantastic, more Haskell videos please 😃

  • @lev2590
    @lev2590 23 дня назад

    Is just the thumbnail ai generated or the whole video 💀

    • @dkkogmaw1311
      @dkkogmaw1311 3 дня назад

      Whole video 🥱 ppl are just already to lazy and uncreative to make own vids

  • @anassbenhalima7004
    @anassbenhalima7004 24 дня назад

    WWE want more go videos

  • @user-vv9lz2ik2t
    @user-vv9lz2ik2t 25 дней назад

    You sound just like my brother

  • @Linuxhype
    @Linuxhype 25 дней назад

    Cool thanks for this!

  • @eldr-io
    @eldr-io 25 дней назад

    The github repo for this video is here: github.com/sigrdrifa/haskell-project-structure My NVIM (neovim) config: github.com/sigrdrifa/nvim Thanks for watching!

  • @Idiotcodes
    @Idiotcodes 25 дней назад

    Arnt u an ai 👀🤭

  • @rajmajumdar5253
    @rajmajumdar5253 25 дней назад

    Wow, never thought you also do Haskell. 👍 For what operations do you think Haskell is best for?

    • @eldr-io
      @eldr-io 25 дней назад

      I use Haskell for all sorts of things, I like how the type system and limited side effects make it much easier to write bug-free code. Some use cases where I think it shines are webservers, CLI tools, parser implementations, machine learning and anything that can benefit from being run in parallel!

    • @SU3D3
      @SU3D3 6 дней назад

      #Haskell is the greatest I have been programming in Haskell for 30 years! 👀 🕯

  • @AnandKumar-dc2bf
    @AnandKumar-dc2bf 27 дней назад

    Thanks for ur videos pls make more and more golang videos please.....

  • @jub0bs
    @jub0bs 28 дней назад

    This is a good video. In my own training course, I motivate the need for concurrency with a very similar programme: it fetches data from multiple APIs initially in a sequential manner, which is unnecessarily slow; hence the idea to consume each API in a dedicated goroutine, which promises a significant speedup. Go is so nice for workloads that benefit from concurrency! One coding mistake slipped in the video, though. At 7:10, the call to wg.Done should really be put in a deferred statement at the top of the function started as a goroutine. Otherwise, if currency.FetchCurrencyRates returns a non-nil error, wg.Done won't be called. Not such a big deal here, since, in that case, the function panics and the whole programme terminates. However, if the function didn't panic (and instead returned the error to the caller, say), you would get a deadlock, which the runtime may or may not detect.

  • @manishbadgotra
    @manishbadgotra Месяц назад

    You really are a Good teacher 💯 btw Love from India ❤