![Boldly Go](/img/default-banner.jpg)
- 121
- 150 503
Boldly Go
Netherlands
เข้าร่วมเมื่อ 23 ธ.ค. 2021
Boldly Go is all about improving your skills with the Go programming language.
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
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
Two flags to avoid epic failure in your go tests
มุมมอง 4019 หลายเดือนก่อน
Two flags to avoid epic failure in your go tests
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`
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
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)
Constants can't overflow, and what that means for you
มุมมอง 832ปีที่แล้ว
Constants can't overflow, and what that means for you
Writing the perfect resume to land your first Go job
มุมมอง 777ปีที่แล้ว
Writing the perfect resume to land your first Go job
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
3 more: 1) no real enums 2) file private variable for a package 3) cgo directives doesn’t work with MSVC
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!
useless, did not help any of these.
If you want to actually explain your problem, I might be able to help.
Go is my go to language, fair enough :)
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.
Thanks! very helpful :)
Thank you for this very useful video!
Your intro is “George Lucas approved” 🤩
Gene Roddenberry just rolled over in his grave! 🤣
Wait….isn’t Gene drifting in space? No grave to roll over in, right? Sorry Gene, no disrespect intended
This is pure gold. Thanks so much for uploading this.
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.
That was perfect, Jonathan... SUBSCRIBED! :D
Why Go doesn’t have proper enum types?
The inability to deallocate memory to make it easier for the garbage collector
Maybe you can elaborate on this a bit. Can you give an example of when you would want to explicitly deallocate memory?
Generally, Http handlers or other large object pointers
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.
Very clear explanation. The historical context is a great help for understanding the options and also for putting old code and advice in context.
You can also `go run URL`! 😃
Thanks
Now there's a second edition of Learning Go :)
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
the resolution on the video makes it difficult to read. However, I am loving the live coding! Thank you for the effort.
lets boldly go where no man has gone before
Thanks. Exactly what I needed.
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
Thank you for your work on the reviews! I really appreciate it! Subscribed!
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.
Great presentation, thank you for sharing your knowledge and code links
I was expecting something about how go run . breaks if you have test files in the package
Can you elaborate on what you mean?
@@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
Ah yes. * in a go run path can cause all kinds of chaos!
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.
the desc is #Literally_me Really insightful. thanks!
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!
LOL
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.
😂
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.
Hi sir, thanks for your book review update. At which chapter is it talking about concurrency ?
I knew but I had to see it anyway! 😄
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
Next video: implementing the game of Go with Go
Nice video, I actually have this book ❤ But I am a bad go player 😂
Good joke, you got me 🙃🙃
This video is pure gold
Encapsulation
Something wrong with the sound. Probably noise reduction is reducting too much.
I've never given a thumbs down before. This will be my first.
Mine, too! I guess some folks just don't understand April Fools Day when it bites them on the nose.
what would be the next live
Up until now Go was a perfect language in my view, but I guess they just had to spoil it with naked return 😢
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 🥂
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!
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.
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?
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.
Great video, got me interested in the book and what do you know the 2nd edition published February 20, 2024.
Thanks so much for this. It covered all my questions and more. An excellent tutorial.