Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Изучаем Golang
№1. Установка Go, выбор IDE, первая программа
№2. Переменные, константы. Типы. Области видимости. Преобразование типов
№3. Функции (основы)
№4. Функции (advanced)
№5. Условный оператор (if/else). Логические операторы
№6. Циклы (for, for как while). Инкремент. Декремент
№7. Циклы (2). Continue. Break
№8. Switch .. case
№9. Указатели (pointers)
№10. Указатели (2). Usecases
№11. Кастомные типы. Структуры(1)
№12. Методы
№13. Интерфейсы
№14. Структуры (2) Встраивание типов (Embedding)
№15. Массивы (arrays). Слайсы (slices)(1)
№16. Слайсы (slices)(2)
№17. Слайсы (slices)(3)
№18. Мапы (maps)
№19. Concurrency (1). Goroutines. Defer. Panic/Recover
№20. Concurrency (2). WaitGroup. Data Race. Muxtex/RWMutex
№21. Concurrency (3). Nil, Unbuffered, Buffered channels. Deadlock.
№22. Concurrency (4). Select. Graceful shutdown.
№23. Concurrency (5). Context
№24. Concurrency (6). ErrGroup. Канал как Mutex. Промисы на каналах
№25. Concurrency (7). Atomic
№26. Дженерики(Generics)
№27. Пакеты (Packages)
№28. Модули (Modules)
Все видео доступны на youtube
👉 @golang_lib
№1. Установка Go, выбор IDE, первая программа
№2. Переменные, константы. Типы. Области видимости. Преобразование типов
№3. Функции (основы)
№4. Функции (advanced)
№5. Условный оператор (if/else). Логические операторы
№6. Циклы (for, for как while). Инкремент. Декремент
№7. Циклы (2). Continue. Break
№8. Switch .. case
№9. Указатели (pointers)
№10. Указатели (2). Usecases
№11. Кастомные типы. Структуры(1)
№12. Методы
№13. Интерфейсы
№14. Структуры (2) Встраивание типов (Embedding)
№15. Массивы (arrays). Слайсы (slices)(1)
№16. Слайсы (slices)(2)
№17. Слайсы (slices)(3)
№18. Мапы (maps)
№19. Concurrency (1). Goroutines. Defer. Panic/Recover
№20. Concurrency (2). WaitGroup. Data Race. Muxtex/RWMutex
№21. Concurrency (3). Nil, Unbuffered, Buffered channels. Deadlock.
№22. Concurrency (4). Select. Graceful shutdown.
№23. Concurrency (5). Context
№24. Concurrency (6). ErrGroup. Канал как Mutex. Промисы на каналах
№25. Concurrency (7). Atomic
№26. Дженерики(Generics)
№27. Пакеты (Packages)
№28. Модули (Modules)
Все видео доступны на youtube
👉 @golang_lib
👍5
📘️ Gopherlings
Изучайте язык Go, исправляя маленькие ошибки в программах
https://github.com/soypat/gopherlings
👉 @golang_lib
Изучайте язык Go, исправляя маленькие ошибки в программах
https://github.com/soypat/gopherlings
👉 @golang_lib
GitHub
GitHub - soypat/gopherlings: 📘️ Learn Go by fixing tiny incorrect programs
📘️ Learn Go by fixing tiny incorrect programs. Contribute to soypat/gopherlings development by creating an account on GitHub.
👍3
Ребята из DevCrowd проводят исследование Go-разработчиков:
- Какие навыки для go-разработчиков самые важные
- Какие инструменты используются в работе
- Как попадают в профессию и куда из нее уходят
- Полезные для развития каналы, курсы и книги
Проходите опрос, рассказывайте про ваш опыт и помогите сделать исследование максимально охватным. Его результаты будут в открытом доступе, и помогут вам сравнить свои ожидания от Go-разработчиков с рыночными, построить план своего развития, и просто понять, что происходит с индустрией!
👉 Пройти опрос
- Какие навыки для go-разработчиков самые важные
- Какие инструменты используются в работе
- Как попадают в профессию и куда из нее уходят
- Полезные для развития каналы, курсы и книги
Проходите опрос, рассказывайте про ваш опыт и помогите сделать исследование максимально охватным. Его результаты будут в открытом доступе, и помогут вам сравнить свои ожидания от Go-разработчиков с рыночными, построить план своего развития, и просто понять, что происходит с индустрией!
👉 Пройти опрос
👍1
Подборка web-фреймворков для Golang
Beego
Если нужен быстрый запуск API-интерфейсов REST, веб- и серверных приложений в Go, то лучшего варианта не найти. Golang-разработчики зачастую сравнивают Beego с Django в Python. Достоинство Beego — отсутствие необходимости установки сторонних производителей. Это, фактически, полноценный фреймворк Model-View-Controller, причём у него есть собственные библиотеки и встроенный инструмент Bee, который даёт возможность находить изменения кода.
https://github.com/beego/beego
Kit
Инструмент для работы с микросервисами в любом масштабе. Микросервисы часто требуют специализированной поддержки, которую Kit без проблем предоставляет.
https://github.com/go-kit/kit
Echo
Облегчённый, гибкий и расширяемый веб-фреймворк. Позволяет создавать надёжные и масштабируемые RESTful API, имеет встроенное промежуточное ПО и даёт возможность определять своё собственное.
https://github.com/labstack/echo
Fiber
Простой но мощный фреймворк, который был создан на базе Fasthttp — самого быстрого HTTP-движка для Go. Fiber разработали для ускорения работы с нулевым распределением памяти и возможностями производительности. Плюс ко всему, этот фреймворк ещё и компактен, он без проблем позволяет интегрировать сторонние библиотеки с Martini. Fiber обеспечивает необходимую масштабируемость при сокращении накладных расходов.
https://github.com/gofiber/fiber
Fasthttp
Fasthttp обеспечивает быстрый HTTP-сервер и клиент API. Он может обрабатывать более 100 000 запросов в секунду и свыше 1 млн одновременно открытых соединений. Фреймворк рассчитан на относительно низкое потребление памяти и обеспечивает простую поддержку обновления соединения через RequestCtx.Hijack.
https://github.com/valyala/fasthttp
Gorilla
Gorilla практически безупречно работает со всеми повторно используемыми элементами и компонентами HTTP-библиотеки. Её главные достоинства в том, что она предлагает модульность и масштабируемость в качестве основных функций. И проблемы «засорения» устаревшим функционалом в случае Gorilla нет — всё отлично спроектировано.
https://github.com/gorilla/
👉 @golang_lib
Beego
Если нужен быстрый запуск API-интерфейсов REST, веб- и серверных приложений в Go, то лучшего варианта не найти. Golang-разработчики зачастую сравнивают Beego с Django в Python. Достоинство Beego — отсутствие необходимости установки сторонних производителей. Это, фактически, полноценный фреймворк Model-View-Controller, причём у него есть собственные библиотеки и встроенный инструмент Bee, который даёт возможность находить изменения кода.
https://github.com/beego/beego
Kit
Инструмент для работы с микросервисами в любом масштабе. Микросервисы часто требуют специализированной поддержки, которую Kit без проблем предоставляет.
https://github.com/go-kit/kit
Echo
Облегчённый, гибкий и расширяемый веб-фреймворк. Позволяет создавать надёжные и масштабируемые RESTful API, имеет встроенное промежуточное ПО и даёт возможность определять своё собственное.
https://github.com/labstack/echo
Fiber
Простой но мощный фреймворк, который был создан на базе Fasthttp — самого быстрого HTTP-движка для Go. Fiber разработали для ускорения работы с нулевым распределением памяти и возможностями производительности. Плюс ко всему, этот фреймворк ещё и компактен, он без проблем позволяет интегрировать сторонние библиотеки с Martini. Fiber обеспечивает необходимую масштабируемость при сокращении накладных расходов.
https://github.com/gofiber/fiber
Fasthttp
Fasthttp обеспечивает быстрый HTTP-сервер и клиент API. Он может обрабатывать более 100 000 запросов в секунду и свыше 1 млн одновременно открытых соединений. Фреймворк рассчитан на относительно низкое потребление памяти и обеспечивает простую поддержку обновления соединения через RequestCtx.Hijack.
https://github.com/valyala/fasthttp
Gorilla
Gorilla практически безупречно работает со всеми повторно используемыми элементами и компонентами HTTP-библиотеки. Её главные достоинства в том, что она предлагает модульность и масштабируемость в качестве основных функций. И проблемы «засорения» устаревшим функционалом в случае Gorilla нет — всё отлично спроектировано.
https://github.com/gorilla/
👉 @golang_lib
👍6
Паттерны в Golang
Паттерн Builder в Golang
Директор в паттерне Builder в Golang
Паттерн Стратегия в Golang
источник
👉 @golang_lib
Паттерн Builder в Golang
Директор в паттерне Builder в Golang
Паттерн Стратегия в Golang
источник
👉 @golang_lib
👍4
how-to-code-in-go.pdf
2.8 MB
How To Code in Go
Автор: Mark Bates (2021)
Эта книга призвана познакомить вас с написанием программ на языке программирования Go. Вы узнаете, как писать полезные инструменты и приложения, которые можно запускать на удаленных серверах или локальных системах Windows, macOS и Linux для разработки.
👉 @golang_lib
Автор: Mark Bates (2021)
Эта книга призвана познакомить вас с написанием программ на языке программирования Go. Вы узнаете, как писать полезные инструменты и приложения, которые можно запускать на удаленных серверах или локальных системах Windows, macOS и Linux для разработки.
👉 @golang_lib
👍4
DDD в Go: натягивание совы на глобус?
Как-то раз я сидел в баре с давним приятелем, с которым раньше мне довелось поработать на поза-поза-позапрошлой работе. Он из сомневающихся по поводу перехода на Go, ярый приверженец своего нынешнего языка. Хочу сказать, что он делает действительно классные вещи, пишет безупречный код, у него есть, чему поучиться. Но к Go у него отношение не слишком позитивное. Как он сказал: “Go — это *****код (плохой код)”. И в качестве одного из аргументов привел то, насколько, по его мнению, криво в Go реализована обработка ошибок. В чем-то он прав — в моем текущем не самом большом проекте на Go конструкция “if err != nil” встречается 1132 раза.
https://habr.com/ru/companies/constanta/articles/675408/
👉 @golang_lib
Как-то раз я сидел в баре с давним приятелем, с которым раньше мне довелось поработать на поза-поза-позапрошлой работе. Он из сомневающихся по поводу перехода на Go, ярый приверженец своего нынешнего языка. Хочу сказать, что он делает действительно классные вещи, пишет безупречный код, у него есть, чему поучиться. Но к Go у него отношение не слишком позитивное. Как он сказал: “Go — это *****код (плохой код)”. И в качестве одного из аргументов привел то, насколько, по его мнению, криво в Go реализована обработка ошибок. В чем-то он прав — в моем текущем не самом большом проекте на Go конструкция “if err != nil” встречается 1132 раза.
https://habr.com/ru/companies/constanta/articles/675408/
👉 @golang_lib
👍3❤1👎1💯1
Bhagvan_Kommadi_Learn_Data_Structures_and_Algorithms_with_Golang.pdf
5.6 MB
Learn Data Structures and Algorithms with Golang: Level up your Go programming skills to develop faster and more efficient code
Автор: Bhagvan Kommadi (2019)
Golang - один из самых быстроразвивающихся языков программирования. Его скорость, простота и надежность делают его идеальным выбором для создания надежных приложений. В связи с этим возникает необходимость в прочном фундаменте структур данных и алгоритмов на Go, чтобы создавать масштабируемые приложения.
Книга начинается с введения в структуры данных и алгоритмы Go. Вы узнаете, как хранить данные с помощью связанных списков, массивов, стеков и очередей. Далее вы узнаете, как реализовать алгоритмы сортировки и поиска, а также двоичные деревья поиска. Эта книга также поможет вам повысить производительность ваших приложений за счет структурирования типов данных и применения хэш-структур при разработке алгоритмов. Наконец, вы сможете применять традиционные структуры данных для решения реальных задач.
👉 @golang_lib
Автор: Bhagvan Kommadi (2019)
Golang - один из самых быстроразвивающихся языков программирования. Его скорость, простота и надежность делают его идеальным выбором для создания надежных приложений. В связи с этим возникает необходимость в прочном фундаменте структур данных и алгоритмов на Go, чтобы создавать масштабируемые приложения.
Книга начинается с введения в структуры данных и алгоритмы Go. Вы узнаете, как хранить данные с помощью связанных списков, массивов, стеков и очередей. Далее вы узнаете, как реализовать алгоритмы сортировки и поиска, а также двоичные деревья поиска. Эта книга также поможет вам повысить производительность ваших приложений за счет структурирования типов данных и применения хэш-структур при разработке алгоритмов. Наконец, вы сможете применять традиционные структуры данных для решения реальных задач.
👉 @golang_lib
👍3
Советы и рекомендации при работе с дженериками
https://appliedgo.com/blog/a-tip-and-a-trick-when-working-with-generics
👉 @golang_lib
https://appliedgo.com/blog/a-tip-and-a-trick-when-working-with-generics
👉 @golang_lib
👍4
👍4
Погружение в исходные коды Caddy: узнайте, какие архитектурные решения и подходы использовали разработчики второй версии популярного веб-сервера.
https://sourcegraph.com/notebooks/Tm90ZWJvb2s6MTM2Nw==
👉 @golang_lib
https://sourcegraph.com/notebooks/Tm90ZWJvb2s6MTM2Nw==
👉 @golang_lib
👍2
Media is too big
VIEW IN TELEGRAM
Майкл Стапельберг: Почему я написал свой собственный rsync
Я стал философски против использования программ на Си в моем доме, поэтому я заменяю старые программы на Си новыми программами на Go для большего удовольствия, производительности, обучения и безопасности!
В этом докладе вы узнаете больше о том, как работает rsync, а также о том, как и где я запускаю свою собственную реализацию.
rsync - это всего лишь одна часть большой головоломки. Я также (вкратце) расскажу о router7, моем собственном домашнем интернет-маршрутизаторе, который работает на gokrazy, моей собственной платформе Go-приложений (не только) для Raspberry Pi.
источник
👉 @golang_lib
Я стал философски против использования программ на Си в моем доме, поэтому я заменяю старые программы на Си новыми программами на Go для большего удовольствия, производительности, обучения и безопасности!
В этом докладе вы узнаете больше о том, как работает rsync, а также о том, как и где я запускаю свою собственную реализацию.
rsync - это всего лишь одна часть большой головоломки. Я также (вкратце) расскажу о router7, моем собственном домашнем интернет-маршрутизаторе, который работает на gokrazy, моей собственной платформе Go-приложений (не только) для Raspberry Pi.
источник
👉 @golang_lib
👍3🤔2