Библиотека Go-разработчика | Golang
23.3K subscribers
2.08K photos
42 videos
87 files
4.45K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🤔 Вы когда-нибудь путались в «первом» и «последнем» индексах при операциях вроде этой:

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🥱511🤔1
🧠Чему вы бы хотели научиться?

Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?

За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.

👉Опрос по ссылке👈
🥱7👍2
🏃 Самоучитель по Go для начинающих. Часть 3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста

В этом уроке мы создадим и запустим простую программу на Go и на её примере познакомимся с организацией кода и основными функциями.

🔗 Читать статью
🔗 Часть 1
🔗 Часть 2
👍8🔥5
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in the widget
VIEW IN TELEGRAM
🔥6
🤷‍♂️ Никогда такого не было, и вот опять…

Опрос Российской ассоциации электронных коммуникаций говорит о снижении доходов IT-специалистов, тогда как те же аналитики hh.ru отмечают рост медианной зарплаты.

💬 А как поживают ваши доходы?

🥱 — упали, но незначительно
🙏 — упали сильно
🤩 — выросли
🤩110🙏33🥱33🎉4👍3
🧰 Своё кастомное межсервисное взаимодействие с блекджеком и gRPC

Разраб из 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 — Заключение
👍3541
👩‍💻 'Sign in with GitHub' в Go: гайд от Eli Bendersky

Подробное и простое введение в три способа использования 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 в одном и том же процессе и получать к ней доступ по мере необходимости, вот так:

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 прекрасно ладят.
🤔14🔥74👍3😁3
Нина Пакшина, Go-разработчик из компании Лента Онлайн, делится опытом работы с миграциями в Go и проводит сравнительный анализ существующих инструментов.

📌 Правила работы с миграциями, к которым в итоге пришла команда Нины:

☑️ Использовать библиотеку pressly/goose.
☑️ Использовать формат миграций .sql.
☑️ Для версионирования миграций нужно использовать временные метки.
☑️ Накат миграций должен быть частью процесса CI/CD. Миграции должны запускаться на шаге деплоя приложения.
☑️ Откат миграций является нежелательным: для того, чтобы этого не делать, приложение должно поддерживать обратную совместимость между версиями.

👉 Читать
👍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...


Под катом — анонс инструмента и кейсы использования.

👉 Читать
👍25🥱2
📈 Обзор рынка труда в ИТ: III квартал 2023 года

В этой статье обсудим зарплату программистов в III квартале 2023 года, динамику вакансий, тенденции рынка труда в ИТ и многое другое. Присоединяйтесь!

Читать статью
👍31
🎊 Представлен первый релиз-кандидат Go 1.22

📢 Анонс
⬇️ Скачать
👍13🔥8🥱1
👨‍💻Мок-собеседование на позицию сеньор Go-разработчика

Даниил Подольский и Владимир Балун проводят собес сеньор Go-разработчика Антона Зиновьева. Вас ждут две части: общие вопросы и лайв-кодинг.

📺 Смотреть
👍21🔥64
🏃 Самоучитель по Go для начинающих. Часть 4. Переменные. Типы данных и их преобразования. Основные операторы.

В этом уроке мы изучим фундаментальные понятия в программировании: переменные, типы данных и операторы, а также научимся преобразовывать один тип данных в другой.

👉 Читать статью
👉 Часть 1
👉 Часть 2
👉 Часть 3
🥱9👍5🔥2
До Нового года осталось 10 дней, и все традиционно подводят итоги. Пока мы с командой обсуждаем планы на 2024, захотели узнать, улучшилась ли ваша жизнь за 2023 год? Что в ней поменялось? А что осталось прежним?
Anonymous Poll
35%
Жизнь стала лучше (получил(-а) новую работу, переехал(-а))
13%
Это был тяжелый год (потерял(-а) работу, стал(-а) жить хуже)
14%
Ничего не поменялось, из года в год всё стабильно
24%
Я за этот год в своем познании несколько преисполнился(-ась)...
1%
Свой вариант (напишу в комментариях)
13%
Посмотреть результаты
👀 Ответьте на 3 вопроса, чтобы получить вводные занятия, познакомиться с преподавателями и форматом обучения, можно здесь – https://proglib.io/w/6ea6577e

Вас ждут:

1. Лекции «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов

2. Лекции «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ

3. Практические задания после лекций

4. Ссылки на дополнительные материалы для самостоятельного изучения

⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/6ea6577e
😁2🥱21👍1