Golang

Материал из Artem Aleksashkin's Wiki
Перейти к навигации Перейти к поиску

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