Golang: различия между версиями

Материал из Artem Aleksashkin's Wiki
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
(не показано 15 промежуточных версий этого же участника)
Строка 10: Строка 10:
* [https://habr.com/ru/articles/670974/ Собеседование Golang разработчика (теоретические вопросы), Часть II. Что там с конкурентностью?]
* [https://habr.com/ru/articles/670974/ Собеседование Golang разработчика (теоретические вопросы), Часть II. Что там с конкурентностью?]
** [https://gobyexample.com/waitgroups Go by Example: WaitGroups]
** [https://gobyexample.com/waitgroups Go by Example: WaitGroups]
 
* Книга 100 ошибок Go и как их избежать ISBN:978-5-4461-2058-1
 
* [https://habr.com/ru/articles/490336/ Анатомия каналов в Go]
* [https://dzen.ru/a/ZT37Gzpya2uEvz9L #3 Аксиомы каналов в Go]
* [https://habr.com/ru/articles/743266/ Про планировщик] P, M, G
* [https://habr.com/ru/articles/457728/ Про MAP]
* [https://www.youtube.com/watch?v=eOyxRI8FQm4 Вопрос по Golang на миллион долларов]
* [https://www.youtube.com/watch?v=10LW7NROfOQ GoLang Slice в деталях, простым языком]
* [https://www.youtube.com/watch?v=P_SXTUiA-9Y Как на самом деле устроен тип Map в Golang? | Golang под капотом]
* [https://www.youtube.com/watch?v=ZTJcaP4G4JM Как на самом деле устроены каналы в Golang? | Golang channels internals]
* https://gobyexample.com/generics
* https://go.dev/doc/tutorial/generics


= Roadmap =
= Roadmap =
Строка 171: Строка 180:
= Private repo =
= Private repo =
<pre>
<pre>
git config --global --add url."artem@repo.aleksashkin.net:".insteadOf "https://repo.aleksashkin.net/"
git config --global --add url."artem@artem2.aleksashkin.net:projects/repo/docker/repos/core".insteadOf "https://repo.aleksashkin.net/core"
export GOPRIVATE=repo.aleksashkin.net
export GOPRIVATE=repo.aleksashkin.net/core
</pre>
 
and https://repo.aleksashkin.net/core?go-get=1 should return (error fix go: errors parsing go.mod: go.mod unrecognized import path "repo.aleksashkin.net/core": parse https://repo.aleksashkin.net/core?go-get=1: no go-import meta tags ())
 
also check this https://pkg.go.dev/rsc.io/go-import-redirector
<pre>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;
&lt;meta name=&quot;go-import&quot; content=&quot;repo.aleksashkin.net/core git https://repo.aleksashkin.net/core&quot;&gt;
&lt;meta http-equiv=&quot;refresh&quot; content=&quot;0; url=https://pkg.go.dev/repo.aleksashkin.net/core.git&quot;&gt;
&lt;/head&gt;
&lt;body&gt;
Redirecting to docs at &lt;a href=&quot;https://pkg.go.dev/repo.aleksashkin.net/core.git&quot;&gt;pkg.go.dev/repo.aleksashkin.net/core.git&lt;/a&gt;...
&lt;/body&gt;
</pre>
 
Should work after
<pre>
git clone https://repo.aleksashkin.net/core
git clone artem@artem2.aleksashkin.net:projects/repo/docker/repos/core
go get repo.aleksashkin.net/core
</pre>
</pre>

Текущая версия от 14:34, 23 сентября 2024

Roadmap

  • Go
    • GO CLI
    • Variables, Constants, Types, Function, Packages, etc
    • Array & Slices
    • Pointers, Structures, Methods
    • Interface
    • GoRutine, Channel, Buffer, Select, Mutex
    • Defer, Error, Panic, Recover
  • Go Modules
    • Learn Go dependecy management tool
    • semantic versioning
    • Version, scripts and other Properties
  • SQL fundamentals
    • Basic Sql Syntax
  • General Development Skills
    • GIT
    • HTTP/HTTPS
    • Data Structures and Algorithms
    • Scrum, Kanban or other project strategies
    • Basic Authentication, OAuth, JWT, etc
    • SOLID, YAGNI, KISS
  • CLI
    • cobra
    • urfave/cli
  • Web Frameworks + Routers
    • Echo
    • Beego
    • Gin
    • Revel
    • Chi
  • ORMs
    • Gorm
    • Xorm
  • Databases
    • Relational
      • PostgreSQL
      • MySQL
      • SQL Server
      • CockrachDB
      • MariaDB
    • NoSQL
      • MongoDB
      • Redis
      • Apache Cassandra
      • RavenDB
      • CouchDB
    • Search Engines
      • ElasticSearch
      • Solr
      • Sphinx
    • Cloud Databases
      • Azure CosmosDB
      • Amazon DynamoDB
  • Caching
    • GCache
    • Distributed Cache
      • Go-Redis
      • GoMemcache
  • Logging
    • Log Frameworks
      • Zap
      • Logrus
      • ZeroLog
    • Distributed Tracing
      • Jaeger
    • Log Management System
      • Sentry.io
      • loggly.com
  • Real-Time Communication
    • Melody
    • Centrifugo
  • API Clients
    • REST
      • Gentelman
      • GRequests
      • Heimdail
    • GraphQL
      • gqlgen
      • graphql-go
  • Testing
    • Unit Testing
      • Frameworks, Assertion
        • Testify
        • Ginkgo
        • GoMega
        • GoCheck
      • Mocking
        • GoMock
      • Behavior Testing
        • GoDog
        • GoConvey
        • GinkGo
      • Integration Testing
        • Testify
        • GinkGo
      • E2E Testing
        • Selenium
        • Endly
  • Good to Know Libraries
    • Validator
    • Glow
    • GJson
    • Authboss
    • Go-Underscore
  • MicroServices
    • Message-Broker
      • RabbitMQ
      • Apache Kafka
      • ActiveMQ
      • Azure Service Bus
    • Building event-driven
      • Watermill
      • Message-Bus
    • Frameworks
      • rpcx
      • Go-kit
      • Micro
    • RPC
      • Protocol Buffers
      • gRPC-Go
      • gRPC-gateway
      • twirp
  • Task Scheduling
    • gron
    • jobrunner
  • Go Patterns
    • Creational
    • Structural
    • Behavioral
    • syncronization
    • Concurrency
    • Messaging
    • Stability

Уроки

Private repo

git config --global --add url."artem@artem2.aleksashkin.net:projects/repo/docker/repos/core".insteadOf "https://repo.aleksashkin.net/core"
export GOPRIVATE=repo.aleksashkin.net/core

and https://repo.aleksashkin.net/core?go-get=1 should return (error fix go: errors parsing go.mod: go.mod unrecognized import path "repo.aleksashkin.net/core": parse https://repo.aleksashkin.net/core?go-get=1: no go-import meta tags ())

also check this https://pkg.go.dev/rsc.io/go-import-redirector

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="go-import" content="repo.aleksashkin.net/core git https://repo.aleksashkin.net/core">
<meta http-equiv="refresh" content="0; url=https://pkg.go.dev/repo.aleksashkin.net/core.git">
</head>
<body>
Redirecting to docs at <a href="https://pkg.go.dev/repo.aleksashkin.net/core.git">pkg.go.dev/repo.aleksashkin.net/core.git</a>...
</body>

Should work after

git clone https://repo.aleksashkin.net/core
git clone artem@artem2.aleksashkin.net:projects/repo/docker/repos/core
go get repo.aleksashkin.net/core