Golang Юниор @golangprofi Channel on Telegram

Golang Юниор

@golangprofi


Канал для начинающих изучать язык программирования Go. Юниоры или Junior - Вперед.

Контент нашего канала состоит из:
- туториалы
- вопросы с собесов
- тесты на знания Go

@anothertechrock

Чат для обсуждения задач: https://t.me/+UA9kQbQdpFxmZGY6

Golang Юниор (Russian)

Приветствуем всех желающих начать изучение языка программирования Go! Канал 'Golang Юниор' – это идеальное место для тех, кто только начинает свой путь в программировании. Здесь вы найдете полезные туториалы, интересные вопросы с собеседований, а также тесты на знания Go.

Если вы считаете себя Junior или Юниором в мире программирования, то этот канал именно для вас! У нас вы сможете не только углубить свои знания, но и расширить круг общения с единомышленниками. Не стесняйтесь задавать вопросы и делиться своим опытом – здесь вас поймут и помогут.

Присоединяйтесь к нашему каналу 'Golang Юниор' и начните свой путь к профессионализму в программировании! Для обсуждения задач и вопросов также доступен наш чат: https://t.me/+UA9kQbQdpFxmZGY6

Golang Юниор

13 Nov, 17:05


👣 Как работать с часовыми поясами и синхронизировать время в вашем приложении на стороне сервера с помощью Go?

💡 Если ваше приложение используется пользователями по всему миру, у вас может возникнуть проблема с синхронизацией времени из за разных часовых поясов. В этом гайде рассказывается, как адаптировать ваше ПО под несколько часовых поясов.

🔗 Ссылка: *клик*

👉 Golang Юниор | #golang

Golang Юниор

13 Nov, 13:01


Хотите создавать масштабируемую и отказоустойчивую микросервисную архитектуру?

19 ноября в 20:00 мск приглашаем на открытый вебинар, где вы узнаете, как применять ключевые стратегии Circuit Breaker, Retry и Load Balancing для повышения стабильности систем.

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

👨‍💻🛠👨🏻‍💻 Вебинар будет полезен разработчикам, архитекторам и DevOps-инженерам, которые хотят повысить производительность своих микросервисов, внедрив современные решения для автоматического масштабирования и балансировки.

🔴 Регистрируйтесь прямо сейчас и получите скидку на курс «Software Architect»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Golang Юниор

06 Nov, 16:24


👣 Video Transcoding Service

Масштабируемый сервис транскодирования (конвертация видеофайлов из одного кодека или формата в другой.) видео, созданный с использованием Golang, Gin, AWS, Pulumi, MongoDB и Redis.

git clone https://github.com/yourusername/video-transcoding-service.git
cd video-transcoding-service


#golang

▪️ Github

👉 Golang Юниор | #golang

Golang Юниор

06 Nov, 12:15


Какой самый больной вопрос для IT-команд? Тестирование микросервисов!

Откройте все секреты! Как повысить отказоустойчивость и управлять взаимодействиями между сервисами?

👨‍💻🛠👨🏻‍💻 На открытом уроке мы разберем всё: от юнит-тестов до тестов производительности.

Присоединяйтесь к бесплатному вебинару 7 ноября в 20:00 мск и получите практические инструменты для работы с микросервисами. А еще скидку на обучение на курсе «Software Architect»!

🔴 Регистрируйтесь прямо сейчас и получите доступ к лучшим практикам тестирования в распределённых системах

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Golang Юниор

04 Nov, 10:34


👣 go-backend-clean-architecture-chi

Проект чистой архитектуры Go Backend с Chi (стандартный net/http), MongoDB, JWT Authentication Middleware, Test и Docker.
#golang

▪️Github

👉 Golang Юниор | #golang

Golang Юниор

28 Oct, 10:34


👣 Операции со слайсами в Go

Будет полезно начинающим гоферам;
здесь наглядно показывается, как работают слайсы, какие они имеют методы и как взаимодействуют с разными функциями

📎 Go slice tricks

👉 Golang Юниор | #golang

Golang Юниор

15 Oct, 15:18


👩‍💻 Пакет unique в Go 1.23 — хороший способ оптимизировать ваши ресурсы

👉 Golang Юниор | #golang

Golang Юниор

15 Oct, 11:15


Какие брокеры использовать, чтобы обеспечить асинхронную связь между микросервисами?

Узнайте на открытом практическом уроке «Брокеры сообщений: RabbitMQ и Kafka» от OTUS, где мы узнаем:

что такое брокеры сообщений и как они помогают в архитектуре микросервисов
основные различия между RabbitMQ и Kafka, включая их архитектурные подходы
как развернуть и настроить RabbitMQ и Kafka для ваших приложений
практическое использование обоих брокеров на реальных примерах в live demo

🗓 Встречаемся 24 октября в 20:00 мск в преддверии старта курса «Microservice Architecture». Все участники вебинара получат специальную цену на обучение и консультацию от менеджеров OTUS!

➡️ Ссылка для регистрации

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Golang Юниор

14 Oct, 15:34


⚡️ Выпущен Go-HTML 1.0

Go-HTML предоставляет платформу для программирования интерактивных компонентов пользовательского интерфейса с использованием Go (вместо JavaScript) для веб-приложений.

##golang #htmx #javascript #программирование #релиз #webdev

Go-HTML может использовать компоненты Templ.

- https://go.dev/
- https://htmx.org/
- https://templ.guide/

▪️ Github

👉 Golang Юниор | #golang

Golang Юниор

14 Oct, 11:30


Хотите узнать, как использовать Patroni для управления высокодоступными кластерами PostgreSQL?

Ждем вас на открытом вебинаре 24 октября в 20:00 мск, где мы разберем:

- что такое Patroni и как он помогает обеспечить высокую доступность для PostgreSQL;
- основные компоненты и архитектуру Patroni;
- настройку и конфигурацию Patroni для работы с PostgreSQL;
- примеры использования Patroni для управления кластером PostgreSQL;
- практические советы по оптимизации и мониторингу работы кластера.

👨‍💻🛠👨🏻‍💻 Урок для DevOps-инженеров, системных администраторов, backend-разработчиков и тимлидов, стремящихся обеспечить высокую доступность PostgreSQL.

Спикер Андрей Поляков — старший разработчик в Unlimint.

Встречаемся в преддверии старта курса «Highload Architect». Все участники вебинара получат специальную цену на обучение! Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Golang Юниор

14 Oct, 09:31


Enola Holmes

Это усовершенствованная версия утилиты Sherlock и современный CLI-инструмент, написанный на Go, который позволяет находить учетные записи в социальных сетях по имени пользователя.

go install github.com/theyahya/enola/cmd/enola@latest

▪️ Github

👉 Golang Юниор | #golang

Golang Юниор

27 Sep, 14:20


Задача: Ежедневная температура

Условие: дается массив, в котором содержатся на температуры за определенный день. Необходимо вернуть массив, такой что будет содержать на i-ой позиции количество дней, которое необходимо выждать, чтобы наступил день теплее. Если такой ситуации не случается, то на i-ой позиции установить 0.

Пример:

Ввод:
temperatures = [73,74,75,71,69,72,76,73]
Вывод: [1,1,4,2,1,1,0,0]

Ввод: temperatures = [30,40,50,60]
Вывод: [1,1,1,0]

Решение

Пишите свое решение в комментариях👇

Golang Юниор

27 Sep, 10:19


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

Понимая это, Яндекс Лицей запустил годовую онлайн-программу по одному из самых популярных языков программирования — Go. Все задания разработаны специалистами из индустрии, а потому акцент в них сделан на практике. Во время обучения вы разберётесь, как писать понятный и конкурентный код, познакомитесь с системой контроля версий Git, а также начнёте проектировать микросервисы.

Что ещё?
- Учиться можно онлайн и в комфортном темпе.
- Чтобы начать обучение, не нужно проходить вступительные испытания.
- Обучение полностью бесплатное.

Программа подойдёт подросткам 13-20 лет. Подайте заявку до 30 сентября и учитесь у лучших!

Golang Юниор

12 Sep, 17:39


Что выведет код ?


package main

import (
"fmt"
)

func printChannel(ch chan int) {
for {
select {
case num := <-ch:
fmt.Printf("%d ", num)

}
}
}

func main() {
ch := make(chan int)
go printChannel(ch)
for i := 0; i < 5; i++ {
ch <- i
}

}


Ответ

Golang Юниор

12 Sep, 13:28


📣Как сделать верификацию пользователя в системе с помощью телеграмм-бота?

Узнайте на открытом вебинаре 18 сентября в 20:00 мск, где мы разберем:

- как реализовать потоко-независимый тип map;
- как создать и настроить телеграмм-бота для постоянного ожидания пользователей;
- как использовать web-socket и каналы для верификации пользователя.

Встречаемся в преддверии старта курса «Go (Golang) Developer Basic». Все участники вебинара получат специальную цену на обучение!

➡️Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/bTU0/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Golang Юниор

28 Aug, 13:27


Задача: Идеальное число

Условие: идеальное число - это положительное целое число, которое равно сумме делителей этого же числа, за исключением самого числа.

Необходимо проверить входное число на идеальность.

Пример:

Ввод:
num = 28
Вывод: true
Объяснение: 28 = 1 + 2 + 4 + 7 + 14

Ввод: num = 7
Вывод: false

Решение

Пишите свое решение в комментариях👇

Golang Юниор

28 Aug, 08:32


Что выведет код?

package main

var m = make(map[any]any)

func foo[T any](x T) {
type K struct{}
m[K{}] = x
}

func main() {
foo(123)
foo(true)
println(len(m))
}


Ответ

Golang Юниор

19 Aug, 21:32


👣 Roboden-game

Создать RTS, которая бы хорошо работала в браузере с помощью #golang, сложная задача, но возможная.

Игра написана с использованием движка Ebitengine и даже доступна в Steam.

•Github
•Проект

#ebitengine #gamedev #golang

Golang Юниор

13 Aug, 05:39


⭐️ Две структуры с одинаковыми полями могут иметь разный размер.

Это явление известно как "padding", понятие, заимствованное из языка C++, но применимое и в Go.

Рассмотрим приведенный выше пример.

Структуры A и B имеют совершенно одинаковые поля, но если просто переставить порядок полей, то структура A станет в два раза больше.

Она увеличивается до 32 байт, в то время как структура B остается меньше - 16 байт.

Golang Юниор

12 Aug, 15:50


🔍Хотите углубить свои знания в области backend и блокчейн-разработки?

☄️А теперь представьте, что вы уверенно пишете код на Rust как для классического backend, так и для блокчейн-систем. Вы востребованы и получаете хорошие офферы в финтехе.

Хотите это реализовать? Присоединяйтесь к открытому вебинару «Backend vs Blockchain на Rust» 14 августа в 20:00 мск и сделайте прыжок в будущее! На занятии мы разберём:

- принципы работы блокчейн-систем;
- различия между смарт-контрактами и классическим backend;
- примеры кода и сравнение разработки на Rust для backend и блокчейн.

Спикер Кирилл Федченко — опытный разработчик на нескольких языках.

➡️ Встречаемся в рамках курса «Rust Developer. Professional». Все участники вебинара получат специальную цену на обучение! Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие

Golang Юниор

23 Jul, 17:43


🖥 Как базы данных выполняют SQL-запросы?

Процесс выполнения SQL-запросов в базе данных включает в себя несколько компонентов, взаимодействующих между собой. Хотя конкретная архитектура различных систем баз данных может отличаться, ниже описана общая последовательность действий.

1. Оператор SQL запускается в клиентской программе и передается по сети на сервер базы данных.

2. Когда сервер базы данных получает SQL-оператор, реляционный движок начинает его обработку. Сначала синтаксический анализатор проверяет правильность оператора. Затем он преобразует оператор в дерево запросов, которое представляет собой внутреннюю структуру данных.

3. Оптимизатор запросов просматривает дерево запросов и определяет наиболее эффективный способ выполнения SQL-оператора, создавая план выполнения.

4. План выполнения передается исполнителю запроса, который использует его для координации получения или изменения данных в соответствии с запросом SQL. Для доступа к данным исполнитель взаимодействует с движком хранилища.

5. Движок хранилища использует методы доступа - протоколы чтения и записи данных, наиболее эффективные для выполнения различных операций.

6. При чтении данных менеджер буферов проверяет, кэшированы ли нужные данные в памяти, и при необходимости извлекает их с диска. Это ускоряет последующий доступ.

7. При записи данных со вставкой или обновлением менеджер транзакций следит за тем, чтобы изменения происходили атомарно и сохраняли целостность базы данных.

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

Работая вместе, эти компоненты обеспечивают надежную и эффективную обработку SQL-запросов в системе управления базами данных.

@golangprofi

Golang Юниор

23 Jul, 13:33


🔥Разработчики на Go! Вам нужны экстремальные результаты в разработке?

Присоединяйтесь к нашему открытому онлайн вебинару «Как сделать быстрорастущий сервис с помощью трейсинга».

Вы узнаете, как реализовать трейсинг для отслеживания выполнения запросов и выявления проблем. Мы покажем вам инструменты для анализа трейсов и наглядно рассмотрим работу сервиса под нагрузкой. Вы увидите, как с помощью трейсинга можно найти и устранить узкие места, даже если уже есть логирование.

🗣Спикер — DevOps-инженер в нескольких крупных проектах, опытный разработчик и преподаватель.

Встречаемся онлайн 25 июля в 20:00 мск. Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок:

➡️ РЕГИСТРАЦИЯ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Golang Юниор

15 Jul, 21:26


👣 Go + gRPC + GORM + SQLite + GIN + Swagger

gRPC - это система удалённого вызова процедур (RPC) с открытым исходным кодом, первоначально разработанная в Google в 2015 году. Она имеет открытый исходный код и используется для коммуникаций с архитектурой клиент-сервер.

gRPC может использовать буферы протоколов в качестве определения интерфейса lang

▪️Github

Golang Юниор

07 Jul, 10:09


👣 errtrace - это экспериментальный пакет на Go для отслеживания пути возврата ошибки, трассировка возврата.

Если трассировка стека отслеживает путь кода, который привел к ошибке, то трассировка возврата отслеживает путь кода, который ошибка прошла, чтобы добраться до пользователя. Часто это один и тот же путь, но в Go они могут различаться, поскольку ошибки - это значения, которые могут передаваться между горутинами (например, с помощью каналов).

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

▪️Github

Golang Юниор

02 Jul, 12:53


Восстановить IP

Сложность: Средняя

Условие задачи: Рабочий IP-адрес состоит ровно из четырех целых чисел, разделенных одиночными точками. Каждое целое число находится в диапазоне от 0 до 255 (включительно) и не может содержать начальных нулей.

Например, "0.1.2.201" и "192.168.1.1" являются допустимыми IP-адресами, но "0.011.255.245", "192.168.1.312" и "[email protected] " являются недопустимыми IP-адресами.
Учитывая строку s, содержащую только цифры, верните все возможные действительные IP-адреса, которые могут быть сформированы путем вставки точек в s. Вам не разрешается изменять порядок или удалять какие-либо цифры в s. Вы можете вернуть действительные IP-адреса в любом порядке.

Пример:

Ввод:
s = "25525511135"
Вывод:
["255.255.11.135","255.255.111.35"]

Ввод:
s = "0000"
Вывод:
["0.0.0.0"]

Решение задачи

Пишите свое решение в комментариях👇

Golang Юниор

02 Jul, 08:45


⁉️ Хотите научиться писать эффективные интеграционные тесты на Go?

Тогда ждём вас на практическом уроке от OTUS, где вы вместе с опытным экспертом:

- посмотрите, какое место в пирамиде тестирования занимают интеграционные тесты;
- узнаете, зачем их писать;
- напишете несколько тестов на практике;
- получите ответы на все возникающие вопросы.

Встречаемся 2 июля в 20:00 мск в преддверии старта курса «Golang Developer. Professional». Все участники вебинара получат специальную цену на обучение!

➡️ Пройдите короткий тест прямо сейчас, чтобы не пропустить бесплатный урок: РЕГИСТРАЦИЯ

Golang Юниор

01 Jul, 21:24


👣 SGSG - Svelte + Go + SQLite + gRPC

Это полнофункциональное приложение с открытым исходным кодом, в основе которого лежат два основных принципа: ПРОИЗВОДИТЕЛЬНОСТЬ и ПРОСТОТА. Идея заключается в том, что вы можете взять этот шаблон и использовать его для создания собственного проекта и он будет очень хорошо масштабироваться.

Кроме того, это не очередной шаблон для разработчиков. В нем есть все, что нужно для запуска в продакшен: конфигурация Nginx, развертывание Docker, GitHub Actions, логирование Grafana и т. д.

▪️Github

4,769

subscribers

161

photos

2

videos