Golang Юниор
4.87K subscribers
200 photos
6 videos
239 links
Канал для начинающих изучать язык программирования Go. Юниоры или Junior - Вперед.

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


@viktorreh
@anothertechrock

Чат: https://t.iss.one/+UA9kQbQdpFxmZGY6
Download Telegram
Открываем серию бесплатных практических вебинаров на тему «Разработка ПО как в BigTech: 6 секретных практик»

Приходите на первый урок «Изучаем методы трассировки программ: логирование» от OTUS и узнайте секреты профессиональных разработчиков!

На вебинаре мы:

☑️ рассмотрим самые полезные библиотеки и их различия;
☑️ научимся выбирать, в каком случае какую библиотеку лучше использовать;
☑️ разберемся, в чем отличие logrus и zap от fmt и стандартной log и как ими пользоваться.

Занятие пройдёт 14 марта в 20:00 мск в рамках курса «Golang Developer. Professional». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!


👉Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись.
🔥1
⚡️ Apache Kafka Learning Resources Repository

Учебные материалы по Apache Kafka. Этот репозиторий создан как централизованный ресурс для всех, кто хочет изучить или углубить свои знания об Apache Kafka, независимо от уровня их опыта.

▪️ Github
▪️ Kafka-go
6😁1
👣 Как сделать обработку ошибок в веб-приложениях на Go удобной.

В статье описан довольно элегантный паттерн обработки ошибок, при написании REST,gRPC и других сервисов на Go.

📌Читать

@golangprofi
👎21❤‍🔥1
Комбинация сумм II

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

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

Каждое число из списка кандидатов должно содержаться в конечном подсписке из ответов ровно один раз.

Результирующий ответ не должен содержать в себе дубликатов.

Пример:

Ввод:
candidates = [10,1,2,7,6,1,5], target = 8
Вывод: [
[1,1,6],
[1,2,5],
[1,7],
[2,6]
]

Ввод: candidates = [2,5,2,1,2], target = 5
Вывод: [
[1,2,2],
[5]
]

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

Решение
🥰1🎉1
👣 Service

Начальный набор для создания веб-сервисов на Go с использованием возможностей Kubernetes.

Проект регулярно обновляется и использует минимальные зависимости, реализует чистый код и следует лучшим практикам программирования на Go.

▪️Github
▪️Docs

@golangprofi
😁3
Задача: Взлом замка

Условие: даётся замок, состоящий из четырёх вращающихся дисков, на каждом из которых имеется 10 цифр: от 0 до 9. При этом за раз можно перемещать только одно колесо и на одно значение.

Изначально замок находится на значении «0000».

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

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

Пример:

Ввод:
deadends = ["0201","0101","0102","1212","2002"], target = "0202"
Вывод:
6
Объяснение:
последовательность, открывающая замок: "0000" -> "1000" -> "1100" -> "1200" -> "1201" -> "1202" -> "0202".

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

Пишите свое решение в комментариях👇
👍62
This media is not supported in your browser
VIEW IN TELEGRAM
🎩 Enola Holmes

OSINT
инструмент, написанный на Go, который не поддерживает сбор и анализ информации по опреленном никнейму в сети.

Благодаря данному методу сбора можно построить цепочку всех упоминаний в интернете, в соц сетях, на сайтах и формумах.

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

▪️Github
👍4🎉1
🤯6🔥3
👣 Clink - это HTTP-клиент со множеством конфигураций для Go, разработанный с учетом простоты использования, расширяемости и надежности.

Он поддерживает различные функции, такие как автоматическая обработка запросов, ограничение скорости запросов и другие, что делает его идеальным как для простых, так и для сложных HTTP-запросов.

go get -u github.com/davesavic/clink

▪️Github
▪️Примеры
👍2
Добавьте в свое портфолио кейс по решению задачи с микросервисной архитектурой бесплатно и всего за пару часов

На практическом уроке «Масштабируемая архитектура для систем обработки платежей».

На вебинаре:

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

Занятие пройдёт 24 апреля в 20:00 мск в рамках курса «Microservice Architecture». Доступна рассрочка на обучение!

Чтобы посетить открытый урок, зарегистрируйтесь: ссылка

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

package main

import "fmt"

func reverse(arr [6]int) {
for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
arr[i], arr[j] = arr[j], arr[i]
}
}

func main() {
arr := [...]int{5: 0}
for i := 1; i < 5; i++ {
arr[i] = i + 1
}
reverse(arr)
fmt.Println(arr)
}

Решение
🤡6👍1
🖥 DBChaos

Проведите стресс-тестирование своей базе данных с помощью заранее заданных запросов.

Библиотека поможет найти медленные и неэффективные запросы, которые мешают работе.

go install github.com/adaptive-scale/[email protected]

▪️Github
👍1