📌 Основные тезисы:
🔹Linux и macOS являются наиболее часто используемыми ОС
🔹Команда Go считает, что эксперимент с шаблонами проектов (gonew) решает критические проблемы для Go-разработчиков и снижает порог входа/внедрения
🔹VS Code — самая популярная IDE. GoLand отстает от популярного редактора чуть больше, чем на 10%
🔹Go-разработчиков больше интересуют инструменты AI/ML, которые улучшают качество и производительность кода, а не написание кода для самих инструментов
🔹Трое из каждых четырех респондентов работают над Go-проектом, который использует облачные сервисы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍10❤2
s := a[3:7]
Она создает срез из массива
a
, начиная с третьего элемента (с нулевым индексом) и до, но не включая, элемента седьмого элемента.Таким образом, «последний» индекс кажется указывающим за пределы
a
.Вместо того, чтобы напрямую сопоставлять индекс с элементом...
| G | o | p | h | e | r | s | |
^ ^ ^ ^ ^ ^ ^ ^
0 1 2 3 4 5 6 7?
...представьте индексы, как будто они находятся между элементами.
| G | o | p | h | e | r | s |
^ ^ ^ ^ ^ ^ ^ ^
0 1 2 3 4 5 6 7
Тогда срез
a[3:7]
вполне естественно относится к элементам между индексом №3 и индексом №7.#tip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍49🥱5❤1⚡1🤔1
🧠Чему вы бы хотели научиться?
Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?
За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.
👉Опрос по ссылке👈
Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?
За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.
👉Опрос по ссылке👈
🥱7👍2
🏃 Самоучитель по Go для начинающих. Часть 3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста
В этом уроке мы создадим и запустим простую программу на Go и на её примере познакомимся с организацией кода и основными функциями.
🔗 Читать статью
🔗 Часть 1
🔗 Часть 2
В этом уроке мы создадим и запустим простую программу на Go и на её примере познакомимся с организацией кода и основными функциями.
🔗 Читать статью
🔗 Часть 1
🔗 Часть 2
👍8🔥5
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in the widget
VIEW IN TELEGRAM
🔥6
🤷♂️ Никогда такого не было, и вот опять…
Опрос Российской ассоциации электронных коммуникаций говорит о снижении доходов IT-специалистов, тогда как те же аналитики hh.ru отмечают рост медианной зарплаты.
💬 А как поживают ваши доходы?
🥱 — упали, но незначительно
🙏 — упали сильно
🤩 — выросли
Опрос Российской ассоциации электронных коммуникаций говорит о снижении доходов IT-специалистов, тогда как те же аналитики hh.ru отмечают рост медианной зарплаты.
💬 А как поживают ваши доходы?
🥱 — упали, но незначительно
🙏 — упали сильно
🤩 — выросли
🤩110🙏33🥱33🎉4👍3
Разраб из Ozon Tech делится опытом реализации кастомного межсервисного взаимодействия и рассказывает про современные алгоритмы балансировки, настройку канареечного деплоя и многое другое.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20
🎥 Concurrency в Go — барьеры памяти и как устроены атомики под капом: видеогайд от Владимира Балуна
📌 Что внутри:
00:00 — Введение
00:12 — Пример неправильного конкурентного кода
02:16 — Переупорядочевание инструкций компилятором
02:58 — Переупорядочевание инструкций процессором
03:40 — Пример переупорядочевания инструкций
04:32 — Основные операции с памятью
04:46 — Логические барьеры памяти
05:19 — Полный барьер (full barrier)
06:15 — Барьер записи (write barrier)
06:29 — Барьер чтения (read barrier)
07:15 — Acquire barrier
07:31 — Release barrier
07:42 — Внутреннее устройство мьютексов
08:18 — Оптимизации
08:53 — Пример правильного конкурентного кода
11:01 — Заключение
📌 Что внутри:
00:00 — Введение
00:12 — Пример неправильного конкурентного кода
02:16 — Переупорядочевание инструкций компилятором
02:58 — Переупорядочевание инструкций процессором
03:40 — Пример переупорядочевания инструкций
04:32 — Основные операции с памятью
04:46 — Логические барьеры памяти
05:19 — Полный барьер (full barrier)
06:15 — Барьер записи (write barrier)
06:29 — Барьер чтения (read barrier)
07:15 — Acquire barrier
07:31 — Release barrier
07:42 — Внутреннее устройство мьютексов
08:18 — Оптимизации
08:53 — Пример правильного конкурентного кода
11:01 — Заключение
👍35❤4⚡1
Перевод статьи-рассуждения Preslav Rachev о простоте и лёгкости. «Подождите, это ведь одно и то же» — скажете вы. А вот и нет
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Библиотека Go разработчика | Golang
🤔 Python — лёгкий. Go — простой. Простой != легкий
Статья, посвященная симбиозу, который Preslav Rachev и его команда нашли при использования Python и Go.
Не менее интересно читать обсуждение на Hacker News. Присоединяйтесь!
Статья, посвященная симбиозу, который Preslav Rachev и его команда нашли при использования Python и Go.
Не менее интересно читать обсуждение на Hacker News. Присоединяйтесь!
🥱6🌚5👍2
Подробное и простое введение в три способа использования OAuth и поставщика OAuth GitHub из Go для получения Функции «Войти с помощью GitHub» в вашем приложении.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🌚2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📁💡Где программисту взять идеи для портфолио
Портфолио — это классный способ впечатлить работодателей. Поэтому оно должно состоять не только из интересных проектов, но и отражать весь стек технологий, которым вы обладаете.
Однако у большинства айтишников портфолио состоит из похожих проектов, которыми мало кого можно впечатлить. Под катом разбираемся, как собрать классное портфолио, а главное — где взять интересные идеи для пет-проектов.
🔗 Читать статью
🔗 Зеркало
Портфолио — это классный способ впечатлить работодателей. Поэтому оно должно состоять не только из интересных проектов, но и отражать весь стек технологий, которым вы обладаете.
Однако у большинства айтишников портфолио состоит из похожих проектов, которыми мало кого можно впечатлить. Под катом разбираемся, как собрать классное портфолио, а главное — где взять интересные идеи для пет-проектов.
🔗 Читать статью
🔗 Зеркало
👍8🔥3🥱1
🐍 Pygolo 0.2.0: встраивание или расширение Python с помощью Go и наоборот
Ваше Go-приложение может одновременно запускать свою собственную приватную среду выполнения Python в одном и том же процессе и получать к ней доступ по мере необходимости, вот так:
Альтернативно вы можете написать компоненты на Go, которые затем загружаются в Python. В любом случае: Python и Go прекрасно ладят.
Ваше Go-приложение может одновременно запускать свою собственную приватную среду выполнения Python в одном и том же процессе и получать к ней доступ по мере необходимости, вот так:
package main
import "gitlab.com/pygolo/py"
func main() {
Py, err := py.GoEmbed()
defer Py.Close()
if err != nil {
panic(err)
}
// do something useful
}
Альтернативно вы можете написать компоненты на Go, которые затем загружаются в Python. В любом случае: Python и Go прекрасно ладят.
GitLab
0.2.0 · pygolo / py · GitLab
Added 🚀 Features Extend the Python interpreter. See
🤔14🔥7❤4👍3😁3
Нина Пакшина, Go-разработчик из компании Лента Онлайн, делится опытом работы с миграциями в Go и проводит сравнительный анализ существующих инструментов.
📌 Правила работы с миграциями, к которым в итоге пришла команда Нины:
☑️ Использовать библиотеку
☑️ Использовать формат миграций
☑️ Для версионирования миграций нужно использовать временные метки.
☑️ Накат миграций должен быть частью процесса CI/CD. Миграции должны запускаться на шаге деплоя приложения.
☑️ Откат миграций является нежелательным: для того, чтобы этого не делать, приложение должно поддерживать обратную совместимость между версиями.
👉 Читать
📌 Правила работы с миграциями, к которым в итоге пришла команда Нины:
☑️ Использовать библиотеку
pressly/goose
.☑️ Использовать формат миграций
.sql
.☑️ Для версионирования миграций нужно использовать временные метки.
☑️ Накат миграций должен быть частью процесса CI/CD. Миграции должны запускаться на шаге деплоя приложения.
☑️ Откат миграций является нежелательным: для того, чтобы этого не делать, приложение должно поддерживать обратную совместимость между версиями.
👉 Читать
Хабр
В поиске оптимального подхода к миграциям в Go
Привет! Меня зовут Нина, и я Golang разработчик. Недавно перед нами встала задача систематизировать и унифицировать инструменты, используемые для создания миграций в различных Go-сервисах и командах....
👍12🥱2
Команда Go представила инструмент для идентификации «мертвого кода» в вашем проекте:
Под катом — анонс инструмента и кейсы использования.
👉 Читать
$ go install golang.org/x/tools/cmd/deadcode@latest
$ deadcode -help
The deadcode command reports unreachable functions in Go programs.
Usage: deadcode [flags] package...
Под катом — анонс инструмента и кейсы использования.
👉 Читать
go.dev
Finding unreachable functions with deadcode - The Go Programming Language
deadcode is a new command to help identify functions that cannot be called.
👍25🥱2