Как разработчик Golang вы, вероятно, сталкивались с циклами импорта. Golang не допускает циклов импорта, выдавая ошибку компиляции при обнаружении цикла импорта в коде. В статье автор разбирается, как происходит цикл импорта и как с ними бороться.
https://proglib.io/w/406fcd6c
https://proglib.io/w/406fcd6c
У рыбака есть удочка, у программиста — алгоритмы, у дата сайентиста — математика. Но не всем математика книг и курсов по Data Science даётся легко, приходится вспоминать школьные азы: логарифмы, прогрессии, тригонометрию.
Есть мнение, что всё машинное обучение сводится к fit-predict с настройками модели «из коробки». Но модели без математики — это не коробки, а чёрные ящики. Математика — та рентгеновская оптика, которая позволяет в эти ящики заглянуть и выбрать из них нужный. Без неё остаётся копировать чужой код и что-то в нём менять на свой страх и риск — не аналитик, а генератор случайных предсказаний.
Главное правило: никогда не поздно учиться. Даже самому простому. Даже тому, что все вокруг как будто бы понимают. Если сконцентрироваться на задаче, обязательно добьёшься успеха. Понимая это, мы запускаем онлайн-марафон «Базовая математика для Data Science». Этот интенсив поможет в сжатые сроки закрыть пробелы в школьных знаниях и начать свой путь в анализе данных.
Записаться на марафон: https://proglib.io/w/105a5fd5
Специально для подписчиков канала промокод goproglib на 10% до 05.01 18:00
Есть мнение, что всё машинное обучение сводится к fit-predict с настройками модели «из коробки». Но модели без математики — это не коробки, а чёрные ящики. Математика — та рентгеновская оптика, которая позволяет в эти ящики заглянуть и выбрать из них нужный. Без неё остаётся копировать чужой код и что-то в нём менять на свой страх и риск — не аналитик, а генератор случайных предсказаний.
Главное правило: никогда не поздно учиться. Даже самому простому. Даже тому, что все вокруг как будто бы понимают. Если сконцентрироваться на задаче, обязательно добьёшься успеха. Понимая это, мы запускаем онлайн-марафон «Базовая математика для Data Science». Этот интенсив поможет в сжатые сроки закрыть пробелы в школьных знаниях и начать свой путь в анализе данных.
Записаться на марафон: https://proglib.io/w/105a5fd5
Специально для подписчиков канала промокод goproglib на 10% до 05.01 18:00
Библиотека Go-разработчика | Golang pinned «У рыбака есть удочка, у программиста — алгоритмы, у дата сайентиста — математика. Но не всем математика книг и курсов по Data Science даётся легко, приходится вспоминать школьные азы: логарифмы, прогрессии, тригонометрию. Есть мнение, что всё машинное обучение…»
Пример реализации чистой архитектуры в проектах на Go: https://proglib.io/w/be39f8ef
📌 Последовательности и прогрессии
Первое занятие нашего интенсива по математике доступно онлайн! Мы рассмотрели основные понятия о последовательностях и прогрессиях и разобрали несколько ключевых примеров.
https://youtu.be/OjQ75pKKhIw
Пройти весь курс: https://proglib.io/w/9b8b3daa
Первое занятие нашего интенсива по математике доступно онлайн! Мы рассмотрели основные понятия о последовательностях и прогрессиях и разобрали несколько ключевых примеров.
https://youtu.be/OjQ75pKKhIw
Пройти весь курс: https://proglib.io/w/9b8b3daa
YouTube
Последовательности и прогрессии для начинающих
Сайт «Библиотеки программиста»: https://proglib.io
Оставить заявку на курс «Математика для Data Science» можно здесь – https://proglib.io/w/bb13962b
Промокод на скидку 20% – WEB20
Оставить заявку на курс «Математика для Data Science» можно здесь – https://proglib.io/w/bb13962b
Промокод на скидку 20% – WEB20
Достоинства и недостатки Golang глазами Java-разработчика: https://proglib.io/w/4b6bffde
DEV Community
Golang through the eyes of a Java developer - pros and cons
Recently I had to learn the Go programming language and now I want to share my thoughts from the pers...
Kong — синтаксический анализатор командной строки для Go.
Kong стремится поддерживать произвольно сложные структуры командной строки с минимальными усилиями разработчика, для чего командная строка выражается в виде типов Go со структурой и тегами.
https://proglib.io/w/b001ee71
Kong стремится поддерживать произвольно сложные структуры командной строки с минимальными усилиями разработчика, для чего командная строка выражается в виде типов Go со структурой и тегами.
https://proglib.io/w/b001ee71
GitHub
GitHub - alecthomas/kong: Kong is a command-line parser for Go
Kong is a command-line parser for Go. Contribute to alecthomas/kong development by creating an account on GitHub.
Доклад Jaana Dogan на GopherCon 2020 о том, как Go генерирует машинный код. Узнав больше об отладке генерации кода в Go, вы можете понять работу компилятора или проверить, что входит в ваши двоичные файлы.
https://proglib.io/w/810708ae
https://proglib.io/w/810708ae
YouTube
GopherCon 2020: Jaana Dogan - Debugging Code Generation in Go
Have you ever tried to understand how the Go toolchain takes your source code and generates a binary? Have you ever wondered how you can inspect machine code generated from Go source code? Or, have you ever optimized some Go code to later realize Go compiler…
Практика работы с картами в Golang:
- Карты Go: объявление и инициализация
- Типы карт в Go
- Хранение и получение значений карты
- Определение наличия ключа карты
- Итерация по карте
- map[string]interface{} в Go
- Часто задаваемые вопросы о картах Go
- Карты Go: объявление и инициализация
- Типы карт в Go
- Хранение и получение значений карты
- Определение наличия ключа карты
- Итерация по карте
- map[string]interface{} в Go
- Часто задаваемые вопросы о картах Go
Bitfield Consulting
Go maps: declaring and initializing — Bitfield Consulting
What is a Golang map? Why is it useful? How does it compare to a slice? How do you declare a map? How do you initialize a map in Go? Fear not, all these questions are answered in this friendly introduction to one of Go’s most powerful features.
Dateparse — инструмент, предназначенный для работы с разными форматами дат. С помощью сканера для чтения байтов и конечного автомата для поиска формата он позволяет анализировать множество строк даты, не зная заранее формата.
https://proglib.io/w/3b5a55fa
https://proglib.io/w/3b5a55fa
GitHub
GitHub - araddon/dateparse: GoLang Parse many date strings without knowing format in advance.
GoLang Parse many date strings without knowing format in advance. - araddon/dateparse
Структурируем CLI-проект на Go: https://proglib.io/w/1ea7928d
Bencane
How to Structure a Go Command-Line Project - Benjamin Cane
What is the best project structure for Go command-line applications? Where should packages go, and where should my application code start? Let's discuss a layout I have found useful.
Не совсем актуальный по дате, но актуальный по практической значимости материал о том, как рефакторинг помог ускорить программу на Go в 23 раза.
https://proglib.io/w/3f4c6e82
https://proglib.io/w/3f4c6e82
Habr
Рефакторинг программы на Go: ускорение в 23 раза
Привет! Меня зовут Марко, я работаю в Badoo в отделе «Платформы». У нас довольно много всего написано на Go, и зачастую это критичные к производительности системы. Именно поэтому сегодня я...
Concurrency in Go.pdf
4.3 MB
Concurrency in Go
Tools and Techniques for Developers (2017)
Автор: Katherine Cox-Buday
Эта практическая книга демонстрирует лучшие практики и шаблоны, которые помогут вам включить конкурентность в свои системы.
Автор шаг за шагом проведет вас через этот процесс. Вы поймете, как Go выбирает моделирование конкурентности, какие проблемы возникают из этой модели и как вы можете составлять примитивы в этой модели для решения проблем. Изучите навыки и инструменты, необходимые для уверенного написания и реализации конкурентных систем любого размера.
Книга позволит вам:
- Понять, как Go решает фундаментальные проблемы, которые затрудняют правильное выполнение конкурентности.
- Узнать о ключевых различиях между параллелизмом и конкурентностью.
- Сформировать шаблоны с этими примитивами для написания поддерживаемого конкурентного кода.
- Составить из шаблонов серию приемов, которые позволят писать большие распределенные системы.
- Изучить синтаксис примитивов синхронизации памяти Go и многое другое.
Tools and Techniques for Developers (2017)
Автор: Katherine Cox-Buday
Эта практическая книга демонстрирует лучшие практики и шаблоны, которые помогут вам включить конкурентность в свои системы.
Автор шаг за шагом проведет вас через этот процесс. Вы поймете, как Go выбирает моделирование конкурентности, какие проблемы возникают из этой модели и как вы можете составлять примитивы в этой модели для решения проблем. Изучите навыки и инструменты, необходимые для уверенного написания и реализации конкурентных систем любого размера.
Книга позволит вам:
- Понять, как Go решает фундаментальные проблемы, которые затрудняют правильное выполнение конкурентности.
- Узнать о ключевых различиях между параллелизмом и конкурентностью.
- Сформировать шаблоны с этими примитивами для написания поддерживаемого конкурентного кода.
- Составить из шаблонов серию приемов, которые позволят писать большие распределенные системы.
- Изучить синтаксис примитивов синхронизации памяти Go и многое другое.
Gta — инструмент от DigitalOcean, который позволяет найти пакеты, зависимости которых изменились.
Во время сборки или непрерывной интеграции вам не придется собирать каждый пакет, поскольку вы будете знать, какие пакеты (и зависимости) изменились.
Статья с описанием
Репозиторий
Во время сборки или непрерывной интеграции вам не придется собирать каждый пакет, поскольку вы будете знать, какие пакеты (и зависимости) изменились.
Статья с описанием
Репозиторий
Digitalocean
GTA: Detecting affected dependent Go packages | DigitalOcean
Helping millions of developers easily build, test, manage, and scale applications of any size - faster than ever before.
Статья, в которой показан процесс преобразования старого статического сайта в современный динамический с помощью Buffalo (экосистема веб-разработки на Go).
https://proglib.io/w/a876ac01
https://proglib.io/w/a876ac01
Gopher Guides
Converting a Static Site to Buffalo
Get a quick start on how to take a static web site and make it dynamic with Buffalo, a rapid Go web framework. - Authored by Cory LaNou
Пакет
ioutil
будет исключен из версии Go 1.16: https://proglib.io/w/5bf111d1srcbeat
Go's ioutil package to be deprecated in 1.16
New features may get all the coverage, but work on core packages has not stopped.
Structslop — инструмент, который исследует и рекомендует оптимальное расположение полей структуры. Это поможет уменьшить объем оперативной памяти и сделать код более эффективным.
Подробное описание
Репозиторий
Подробное описание
Репозиторий
Medium
Efficient struct packing guided pass for Go
TL;DR: at Orijtech, we’ve developed a static analysis pass called “structslop” that can run through your Go programs and recommend for you…