Michael Lubinsky's homepage

Programming, Math and Physics

View My GitHub Profile

Best book: Learning Go: An Idiomatic Approach to Real-world Go Programming 2nd Edition by Jon Bodner https://www.amazon.com/_/dp/1098139291

https://github.com/dariubs/GoBooks

https://habr.com/ru/articles/786826/ 100 GO interview questions

https://tour.ardanlabs.com/tour/eng/list

How I write HTTP services in Go: https://grafana.com/blog/2024/02/09/how-i-write-http-services-in-go-after-13-years/ https://news.ycombinator.com/item?id=39318867

https://bitfieldconsulting.com/golang/tao-of-go

Build web site with go:

https://lets-go-further.alexedwards.net/

https://lets-go.alexedwards.net/

https://www.sethvargo.com/things-im-excited-for-in-go-1-21/ whats new?

https://habr.com/ru/companies/ru_mts/articles/755580/ Go 1.21 - whats new?

https://habr.com/ru/companies/selectel/articles/747738/ URL shortener

https://habr.com/ru/companies/yadro/articles/747308/

https://habr.com/ru/companies/yadro/articles/743378/

https://reliability.substack.com/p/go-for-internal-services

https://bitfieldconsulting.com/books/love-bundle . Book

https://earthly.dev/blog/top-3-resources-to-learn-golang-in-2021/

https://habr.com/ru/company/ispring/blog/560032/

https://tdom.dev/go-in-production. Go in production: web frameworks and sql

https://news.ycombinator.com/item?id=28196962

https://www.ardanlabs.com/blog/2020/09/using-python-memory.html. Go + Python

https://go101.org/article/101.html

https://news.ycombinator.com/item?id=22892639 Go to write production-grade back end services

https://habr.com/ru/company/lamoda/blog/495344/

https://habr.com/ru/post/547350/

https://github.com/rgaryaev/pspservice

https://www.pilosa.com/ Pilosa

https://www.pilosa.com/docs/latest/architecture/

https://github.com/RoaringBitmap/RoaringFormatSpec

https://www.practical-go-lessons.com

https://rytisbiel.com/2021/03/06/darker-corners-of-go/

Chess engine in GO

https://habr.com/ru/company/timeweb/blog/533642/

Book

https://www.digitalocean.com/community/books/how-to-code-in-go-ebook

https://www.amazon.com/dp/B08BFXNTFF. Graph algorithms

https://tour.golang.org/welcome/1 Go playground

https://play.golang.org/p/Irqxm0okfkt . Go playgrounds

http://notes.eatonphil.com/interpreting-go.html Go internals

https://habr.com/ru/post/496846/ memory

https://ewanvalentine.io/

https://github.com/x899/algorithms

Go has block-level scoping.

= means “assign the existing identifier to this value”.

:= means “create a new identifier”.

https://blog.golang.org/gos-declaration-syntax

https://www.youtube.com/watch?v=0c-1KJwSMCw

https://www.imdb.com/title/tt7349950/ Go 1.13

https://ftp.osuosl.org/pub/fosdem/2020/UB2.252A/stateofgo.mp4 Go 1.14

Style Guide

https://github.com/uber-go/guide/blob/master/style.md go style guide

«https://news.ycombinator.com/item?id=21225401»

Go channel

https://habr.com/ru/post/490336/

Go and databases

https://henvic.dev/posts/go-postgres/

https://github.com/nakabonne/tstorage

https://notes.eatonphil.com/database-basics.html implementing SQL DB from scratch https://news.ycombinator.com/item?id=22850817 discussion

https://habr.com/ru/post/466459/ https://github.com/houqp/sqlvet

https://johnpili.com/golang-sqlite-simple-example/. SQLite

https://conroy.org/introducing-sqlc https://github.com/kyleconroy/sqlc https://habr.com/ru/company/oleg-bunin/blog/461935/ . Postgres SQL

https://github.com/jmoiron/sqlx

SQX, a way to build flexible database models in Go https://stytch.com/blog/open-sourcing-sqx-a-way-to-build-flexible-database-models-in-go/

https://news.ycombinator.com/item?id=37360249

SQL parser : https://golang.works-hub.com/learn/lets-build-a-sql-parser-in-go-2cce1

## Go

https://lets-go.alexedwards.net/

https://github.com/Pungyeon/clean-go-article

https://github.com/hoanhan101/ultimate-go

https://github.com/quii/learn-go-with-tests

https://quii.gitbook.io/learn-go-with-tests/

https://github.com/ardanlabs/gotraining

https://go101.org/article/101.html

news.ycombinator.com/item?id=17061713 How to start go project in 2018

http://golang-book.ru/

https://habr.com/ru/post/456194/ . go structures

https://habr.com/ru/company/otus/blog/465613/

https://github.com/darshanime/notes/blob/master/golang.org

https://freshman.tech/golang-guess

https://getstream.io/blog/go-1-11-rocket-tutorial/

https://github.com/hliyan/learn-golang

https://milapneupane.com.np/2019/07/06/learning-golang-from-zero-to-hero/

http://www.go-gazelle.com/issues/learn-go-by-building-a-guessing-game-clear-is-better-than-clever-geth-1-9-0-more-187822

https://news.ycombinator.com/item?id=19218097

https://getstream.io/blog/how-a-go-program-compiles-down-to-machine-code/

https://povilasv.me/go-memory-management/

https://blog.learngoprogramming.com/a-visual-guide-to-golang-memory-allocator-from-ground-up-e132258453ed

https://about.sourcegraph.com/go/gophercon-2018-allocator-wrestling/

Go Chess

https://zserge.com/posts/carnatus/

Docker

https://habr.com/ru/post/461279/ Docker https://habr.com/ru/post/460535/ Docker Go https://habr.com/ru/post/455812/ Go+gRPC+go-micro+Docker

https://ewanvalentine.io/microservices-in-golang-part-2/

https://github.com/enocom/gopher-reading-list https://github.com/golang/go/wiki/Learn https://golangbot.com/ https://golangnews.com/ https://blog.gopheracademy.com/ https://gophercises.com/ https://deadbeef.me/2018/01/go-gotchas https://bluxte.net/musings/2018/04/10/go-good-bad-ugly/ https://www.353.solutions/py2go/index.html https://play.golang.org/p/gtqcuN3U7X https://leanpub.com/api-foundations https://www.reddit.com/r/golang/comments/7ci423/golang_design_patterns/ https://hackernoon.com/the-beauty-of-go-98057e3f0a7d https://blog.learngoprogramming.com/go-functions-overview-anonymous-closures-higher-order-deferred-concurrent-6799008dde7b

http://benhoyt.com/writings/learning-go/ https://rakyll.org/ https://ops.tips/blog/minimal-golang-makefile/

https://remy.io/blog/simple-tools-to-improve-your-go-code/ https://www.reddit.com/r/golang/comments/79wf23/where_can_i_learn_about_code_structure_and/

https://github.com/radicalrafi/algorithms

https://news.ycombinator.com/item?id=17772077 . What new in Go 1.11

https://dzone.com/articles/why-we-switched-from-python-to-go-part-2 https://medium.com/@shijuvar/building-high-performance-apis-in-go-using-grpc-and-protocol-buffers-2eda5b80771b https://news.ycombinator.com/item?id=16512954 https://news.ycombinator.com/item?id=16500998

Data Science

https://blog.chewxy.com/2017/11/02/go-for-data-science/

Error Handling

https://habr.com/ru/articles/745876/ Обработка ошибок в go в 2023 г https://peter.bourgon.org/blog/2019/09/11/programming-with-errors.html https://blog.golang.org/go1.13-errors

https://news.ycombinator.com/item?id=17765413 https://blog.golang.org/errors-are-values https://scene-si.org/2017/11/13/error-handling-in-go/ https://mijailovic.net/2017/05/09/error-handling-patterns-in-go/ https://golangbot.com/error-handling/ https://www.reddit.com/r/golang/comments/7bpvua/go_error_handling_is_really_confusing_me/ https://habr.com/ru/company/mailru/blog/463063/ . Interface

Go Web

https://habr.com/ru/post/489740/ . HTTP

https://news.ycombinator.com/item?id=20704993 https://github.com/thewhitetulip/web-dev-golang-anti-textbook https://ryanmccue.ca/how-to-create-restful-api-golang-standard-library/ https://news.ycombinator.com/item?id=17174106 https://www.amazon.com/Cloud-Native-programming-Golang-microservice-based-ebook/dp/B072J4BWX1 https://www.jtolio.com/2017/01/writing-advanced-web-applications-with-go/ https://medium.com/@quintinglvr/golang-guide-a-list-of-top-golang-frameworks-ides-tools-e7c7866e96c9 https://github.com/kataras/iris - Web framework in Go https://aahframework.org/why-aah.html - Web framework in Go https://medium.com/@MarinescuEdwar1/top-6-web-frameworks-for-go-as-of-2017-23270e059c4b

https://hackernoon.com/10-things-i-learned-making-the-fastest-site-in-the-world-18a0e1cdf4a7 https://hackernoon.com/measuring-web-performance-its-really-quite-simple-adeda8f7f39e https://medium.freecodecamp.org/high-performance-apps-multiplexing-debouncing-system-fonts-and-other-tricks-37c6fd3d7b2d

https://itnext.io/building-a-web-http-server-with-go-6554029b4079

package main

import (
	"fmt"
	"net/http"
)

func main() {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "This is a website server by a Go HTTP server.")
	})

	http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "Hello World! I'm a HTTP server!")
	})

	fs := http.FileServer(http.Dir("static/"))
	http.Handle("/static/", http.StripPrefix("/static/", fs))

	http.ListenAndServe(":3001", nil)
}

localhost:3001
localhost:3001/hello
localhost:3001/static