Boldly Go
Boldly Go
  • 121
  • 150 503
Book review: Best book to learn Go on April 1, 2024 #aprilfool
In this first video of April, I review the book Go: A complete Introduction to the Game by Cho Chikun.
Buy your copy of the book (affiliate link): amzn.to/3vEf675
Watch my other April Fools videos: th-cam.com/play/PLR-u4TOp1xsy2NUnopZpA39phfQ0vtsou.html
มุมมอง: 794

วีดีโอ

Go's Naked Returns: Be afraid!
มุมมอง 8926 หลายเดือนก่อน
What are naked returns? And why should you think twice before using them? Bare with me, as this video exposes the full story!
FOSDEM 2024: You're Already Running My Code: How I Became a Go Contributor, and You Can, too
มุมมอง 1.3K7 หลายเดือนก่อน
FOSDEM 2024: You're Already Running My Code: How I Became a Go Contributor, and You Can, too
Open source code roast: ChessImager library reviewed
มุมมอง 7347 หลายเดือนก่อน
Open source code roast: ChessImager library reviewed
How to read a Go stack trace
มุมมอง 7859 หลายเดือนก่อน
How to read a Go stack trace
Two flags to avoid epic failure in your go tests
มุมมอง 4019 หลายเดือนก่อน
Two flags to avoid epic failure in your go tests
How to `go get` a private repo
มุมมอง 2.5K9 หลายเดือนก่อน
How to `go get` a private repo
Go dependencies: To vendor or not to vendor
มุมมอง 6879 หลายเดือนก่อน
Go dependencies: To vendor or not to vendor
Learn the CORRECT way to `go mod init`
มุมมอง 4.5K9 หลายเดือนก่อน
Learn the CORRECT way to `go mod init`
Stop using `go run main.go`
มุมมอง 3.5K9 หลายเดือนก่อน
Stop using `go run main.go`
Making sense of all the confusing print functions
มุมมอง 45910 หลายเดือนก่อน
Making sense of all the confusing print functions
Make your exported error values safer
มุมมอง 58410 หลายเดือนก่อน
Make your exported error values safer
Make your context keys safer with this one simple trick
มุมมอง 45610 หลายเดือนก่อน
Make your context keys safer with this one simple trick
Resume Review: Advice for a first-time job seeker
มุมมอง 58110 หลายเดือนก่อน
Resume Review: Advice for a first-time job seeker
Don't mock slog! There's a much simpler alternative
มุมมอง 1.2K10 หลายเดือนก่อน
Don't mock slog! There's a much simpler alternative
Go Code Roast: Secret Hitler game
มุมมอง 59911 หลายเดือนก่อน
Go Code Roast: Secret Hitler game
Book review: Test-Driven Development in Go by Adelina Simion
มุมมอง 95911 หลายเดือนก่อน
Book review: Test-Driven Development in Go by Adelina Simion
Book Review: 100 Go Mistakes (And How to Avoid Them) by Teiva Harsanyi
มุมมอง 2.5Kปีที่แล้ว
Book Review: 100 Go Mistakes (And How to Avoid Them) by Teiva Harsanyi
Learning to Fuzz (Boldly Go Live replay)
มุมมอง 273ปีที่แล้ว
Learning to Fuzz (Boldly Go Live replay)
Building a Go linter from scratch
มุมมอง 1.6Kปีที่แล้ว
Building a Go linter from scratch
The 10 best Go versions, ranked
มุมมอง 385ปีที่แล้ว
The 10 best Go versions, ranked
Constants can't overflow, and what that means for you
มุมมอง 832ปีที่แล้ว
Constants can't overflow, and what that means for you
Unwrapping Go errors for fun and profit
มุมมอง 1.6Kปีที่แล้ว
Unwrapping Go errors for fun and profit
Writing the perfect resume to land your first Go job
มุมมอง 777ปีที่แล้ว
Writing the perfect resume to land your first Go job
ChatGPT-4 vs ChatGPT-3 vs Golang
มุมมอง 936ปีที่แล้ว
ChatGPT-4 vs ChatGPT-3 vs Golang
I'm officially a Go contributor! From proposal to merged code in the Go project
มุมมอง 1.8Kปีที่แล้ว
I'm officially a Go contributor! From proposal to merged code in the Go project
How to bootstrap GitHub Actions CI for a Go project
มุมมอง 857ปีที่แล้ว
How to bootstrap GitHub Actions CI for a Go project
Use error decorators to simplify your error handling code
มุมมอง 6Kปีที่แล้ว
Use error decorators to simplify your error handling code
How to test filepath.Abs in Go
มุมมอง 404ปีที่แล้ว
How to test filepath.Abs in Go

ความคิดเห็น

  • @metaltyphoon
    @metaltyphoon 3 วันที่ผ่านมา

    3 more: 1) no real enums 2) file private variable for a package 3) cgo directives doesn’t work with MSVC

  • @Technoyote
    @Technoyote 4 วันที่ผ่านมา

    Phew! I think if I encountered that “hybrid struct” type in the wild I’d ask the other team to change their API 😂 Nice video, very helpful!

  • @emotional_stuff
    @emotional_stuff 9 วันที่ผ่านมา

    useless, did not help any of these.

    • @boldlygo
      @boldlygo 9 วันที่ผ่านมา

      If you want to actually explain your problem, I might be able to help.

  • @ilariacorda
    @ilariacorda 12 วันที่ผ่านมา

    Go is my go to language, fair enough :)

  • @ivantsers
    @ivantsers 26 วันที่ผ่านมา

    You saved my life sir, thank you! Jokes aside, this was the only solution that worked for me, and it went much simplier than I expected.

  • @SaraCarvajal23
    @SaraCarvajal23 หลายเดือนก่อน

    Thanks! very helpful :)

  • @higiniofuentes2551
    @higiniofuentes2551 หลายเดือนก่อน

    Thank you for this very useful video!

  • @kerrykreiter445
    @kerrykreiter445 หลายเดือนก่อน

    Your intro is “George Lucas approved” 🤩

    • @boldlygo
      @boldlygo หลายเดือนก่อน

      Gene Roddenberry just rolled over in his grave! 🤣

    • @kerrykreiter445
      @kerrykreiter445 หลายเดือนก่อน

      Wait….isn’t Gene drifting in space? No grave to roll over in, right? Sorry Gene, no disrespect intended

  • @matthew1106
    @matthew1106 หลายเดือนก่อน

    This is pure gold. Thanks so much for uploading this.

  • @bgedney
    @bgedney หลายเดือนก่อน

    There is a giant downside to the second approach. By using io.NopCloser to mock the response body- the Closer will always return a nil error and never error. It essentially mitigates the test of any validation that the body was closed properly. It leaves gaps like a reader isn't reading from a closed body, or a double closed body.

  • @ringthane69
    @ringthane69 หลายเดือนก่อน

    That was perfect, Jonathan... SUBSCRIBED! :D

  • @a0um
    @a0um หลายเดือนก่อน

    Why Go doesn’t have proper enum types?

  • @yjawhar
    @yjawhar 2 หลายเดือนก่อน

    The inability to deallocate memory to make it easier for the garbage collector

    • @boldlygo
      @boldlygo 2 หลายเดือนก่อน

      Maybe you can elaborate on this a bit. Can you give an example of when you would want to explicitly deallocate memory?

    • @yjawhar
      @yjawhar 2 หลายเดือนก่อน

      Generally, Http handlers or other large object pointers

  • @j.r.r.tolkien8724
    @j.r.r.tolkien8724 2 หลายเดือนก่อน

    This is exactly the type of book that I don't like. It doesn't teach patterns, it teaches particular cases. The reader may not learn anything by the end.

  • @fernandoacorreia
    @fernandoacorreia 2 หลายเดือนก่อน

    Very clear explanation. The historical context is a great help for understanding the options and also for putting old code and advice in context.

  • @zyriab5797
    @zyriab5797 2 หลายเดือนก่อน

    You can also `go run URL`! 😃

  • @polymath-403
    @polymath-403 2 หลายเดือนก่อน

  • @JohnDavis_NetSkink_Computing
    @JohnDavis_NetSkink_Computing 2 หลายเดือนก่อน

    Thanks

  • @DiegoSandoval-cs5oo
    @DiegoSandoval-cs5oo 2 หลายเดือนก่อน

    Now there's a second edition of Learning Go :)

    • @boldlygo
      @boldlygo 2 หลายเดือนก่อน

      Yes, there is! I interviewed the author about it over on the Cup o' Go podcast, in case you're interested. cupogo.dev/episodes/go-1-22rc1-next-week-show-analytics-year-in-review-and-chat-with-jon-bodner-author-of-learning-go-2nd-ed

  • @gpltaylor
    @gpltaylor 3 หลายเดือนก่อน

    the resolution on the video makes it difficult to read. However, I am loving the live coding! Thank you for the effort.

  • @Ginto_O
    @Ginto_O 3 หลายเดือนก่อน

    lets boldly go where no man has gone before

  • @leepowelldev
    @leepowelldev 3 หลายเดือนก่อน

    Thanks. Exactly what I needed.

  • @nonefvnfvnjnjnjevjenjvonej3384
    @nonefvnfvnjnjnjevjenjvonej3384 3 หลายเดือนก่อน

    The thing with language books which are intermediate and above have to do with how close they are to the ethos of the language. For example a node book which focuses on streaming and async programming. I remember Eloquent Ruby really fit this bill back in the day. I wonder if there is a Go book which is true to Go's ethos whatever that might be

  • @stoneocelot991
    @stoneocelot991 3 หลายเดือนก่อน

    Thank you for your work on the reviews! I really appreciate it! Subscribed!

  • @theodorealenas3171
    @theodorealenas3171 3 หลายเดือนก่อน

    That's fascinating. What could prevent a problem like the extra Nulls that broke the tests? I've heard some developers write functions that take a few arguments and pass them onto a function that takes a lot of arguments, so I'm thinking maybe this is why they do it, so the tests attach onto the functions that take fewer arguments.

  • @mdrenovac
    @mdrenovac 3 หลายเดือนก่อน

    Great presentation, thank you for sharing your knowledge and code links

  • @jeffreysmith9837
    @jeffreysmith9837 3 หลายเดือนก่อน

    I was expecting something about how go run . breaks if you have test files in the package

    • @boldlygo
      @boldlygo 3 หลายเดือนก่อน

      Can you elaborate on what you mean?

    • @jeffreysmith9837
      @jeffreysmith9837 3 หลายเดือนก่อน

      @@boldlygo Sorry my mistake. It's `go run ./*` that breaks if there are non-go files or *_test.go files. But I forgot why I was using * in the first place. I probably shouldn't do that. `go run .` without the asterisk works fine

    • @boldlygo
      @boldlygo 3 หลายเดือนก่อน

      Ah yes. * in a go run path can cause all kinds of chaos!

  • @thisisreallyme3130
    @thisisreallyme3130 3 หลายเดือนก่อน

    To the viewer: the first 15 minutes have really bad audio -- it's not you). Just enable Transcripts or Closed Captioning and ride it out; eventually audio gets better. :-). Thanks for these.

  • @kqvanity
    @kqvanity 3 หลายเดือนก่อน

    the desc is #Literally_me Really insightful. thanks!

  • @lrajic8281
    @lrajic8281 3 หลายเดือนก่อน

    I heard another deconstruction by a fire-and-brimstone preacher, who said this song was a demon inspired tune. “Hello Darkness” was Art Garfunkel’s friend’s usual greeting. The friend was visually blind. Art would visit him often, answering the “who’s there?” With “I’m Darkness, your old friend.” A good-hearted tease. So the songwriter incorporated that into this song. The writing on the subway hall and walls is typical urban graffiti. The neon light is typical bar neon or stores one would encounter in the city. The hearing but not listening is the typical chatter and noise of the city. Sometimes from the radio, sometimes the street entertainment, sometimes protesters yelling chants. The talking and not listening is a description of noise and people not communicating. Hardly a demon seduction!

    • @boldlygo
      @boldlygo 3 หลายเดือนก่อน

      LOL

  • @AGuyPlayingAGame
    @AGuyPlayingAGame 4 หลายเดือนก่อน

    I watched this while I did the course myself and I have to say your commentary added a lot of useful information. I appreciate the video.

  • @GrzegorzWilczynski
    @GrzegorzWilczynski 4 หลายเดือนก่อน

    😂

  • @KennethFeur
    @KennethFeur 5 หลายเดือนก่อน

    I was really enjoying writing in go until i had to unmarshal complicated json... Maybe with these techniques it will be not so painful, thank you for sharing your knowledge.

  • @senshiougonno7017
    @senshiougonno7017 5 หลายเดือนก่อน

    Hi sir, thanks for your book review update. At which chapter is it talking about concurrency ?

  • @GabrielPozo
    @GabrielPozo 5 หลายเดือนก่อน

    I knew but I had to see it anyway! 😄

  • @craftvscruft8060
    @craftvscruft8060 5 หลายเดือนก่อน

    My favorite feature of Go is the garbage collection, by which I mean that the game pieces are very easy to gather for the next round

  • @ren-g
    @ren-g 5 หลายเดือนก่อน

    Next video: implementing the game of Go with Go

  • @Comradin
    @Comradin 5 หลายเดือนก่อน

    Nice video, I actually have this book ❤ But I am a bad go player 😂

  • @user-ln9kf8ws3r
    @user-ln9kf8ws3r 5 หลายเดือนก่อน

    Good joke, you got me 🙃🙃

  • @cappuccinopapi3038
    @cappuccinopapi3038 5 หลายเดือนก่อน

    This video is pure gold

  • @slaybryn5504
    @slaybryn5504 5 หลายเดือนก่อน

    Encapsulation

  • @deshtechno
    @deshtechno 5 หลายเดือนก่อน

    Something wrong with the sound. Probably noise reduction is reducting too much.

  • @stevenhaffner3299
    @stevenhaffner3299 5 หลายเดือนก่อน

    I've never given a thumbs down before. This will be my first.

    • @boldlygo
      @boldlygo 5 หลายเดือนก่อน

      Mine, too! I guess some folks just don't understand April Fools Day when it bites them on the nose.

  • @yutsacarm8021
    @yutsacarm8021 5 หลายเดือนก่อน

    what would be the next live

  • @charliesta.abc123
    @charliesta.abc123 5 หลายเดือนก่อน

    Up until now Go was a perfect language in my view, but I guess they just had to spoil it with naked return 😢

  • @junodarc1067
    @junodarc1067 5 หลายเดือนก่อน

    I really thank you for showing how to get a private github repo. I've been stuck for hours trying to figure out how but you showed me the way. Cheers 🥂

  • @justomorales7892
    @justomorales7892 6 หลายเดือนก่อน

    Thank you for this tutorial. I tried to follow it as best as possible, but I encountered some problems. You didn't show a copy of the .golangci.toml file so I created a merge request with an empty file and totally messed up my project as I didn't know how to undo that. I was able to cancel the merge requests and create the toml file directly in Gitlab. So I got it working fine on the Gitlab side. However, now I am stuck updating my local machine. I can't do a pull because I get a fatal error: Not possible to fast-forward, aborting. I'll take a look at your other videos and hope to understand all this better. Thank you!

    • @boldlygo
      @boldlygo 5 หลายเดือนก่อน

      You can find a link to the config file I used in the description, although I'm sure it's outdated for use with modern versions. Beyond that, it sounds like git may have gotten into an unexpected state. That's pretty hard to troubleshot without seeing it.

  • @user-cv9xd7sy5x
    @user-cv9xd7sy5x 6 หลายเดือนก่อน

    Nice one thanks! Related question: You talk about the use case of named returns in defer statements. What do you think of modifying the returned error in a defer statement if it is used only for cleanup (e.g. closing file or db connection)? If only cleanup fails, does it make sense to modify the error, and return an error? Or should the error be nil as the main functionality succeeded and should we just log the failed cleanup?

    • @boldlygo
      @boldlygo 6 หลายเดือนก่อน

      I think that depends a lot on the particulars of the code. Quite often I don't care about an error when closing a file or network connection. I've already gotten what I want by the time the error might happen. This is often true of read operations. Other times, the fact of an error when closing a file _is_ critical, and then you absolutely should capture and return such an error. In either case, deferring the close and error handling is often a good approach. Although it can lead to confusing code if the error handling starts to become long or non-obvious.

  • @drwoodard72
    @drwoodard72 6 หลายเดือนก่อน

    Great video, got me interested in the book and what do you know the 2nd edition published February 20, 2024.

  • @andrewkillen7602
    @andrewkillen7602 6 หลายเดือนก่อน

    Thanks so much for this. It covered all my questions and more. An excellent tutorial.