Задача: Идеальное число
Условие: идеальное число - это положительное целое число, которое равно сумме делителей этого же числа, за исключением самого числа.
Необходимо проверить входное число на идеальность.
Пример:
Ввод: num = 28
Вывод: true
Объяснение: 28 = 1 + 2 + 4 + 7 + 14
Ввод: num = 7
Вывод: false
Решение
Пишите свое решение в комментариях👇
Условие: идеальное число - это положительное целое число, которое равно сумме делителей этого же числа, за исключением самого числа.
Необходимо проверить входное число на идеальность.
Пример:
Ввод: num = 28
Вывод: true
Объяснение: 28 = 1 + 2 + 4 + 7 + 14
Ввод: num = 7
Вывод: false
Решение
Пишите свое решение в комментариях👇
👍4
Что выведет код?
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))
}
Ответ🗿11
Вакансии для Golang-разработчиков за последние 14 дней:
✓ Golang разработчик Гибрид/офис (Москва), Полная занятость
✓ Backend Developer Удалёнка (Москва), от 3000$
✓ Golang Blockchain Engineer Удалённо, от 450 000 до 525 000 ₽
✓ Backend Golang-разработчик Удалёнка, 2500–5500 $
✓ Go Developer.Удалёнка, 4 000 – 5 600 $
#подборка #go
✓ Golang разработчик Гибрид/офис (Москва), Полная занятость
✓ Backend Developer Удалёнка (Москва), от 3000$
✓ Golang Blockchain Engineer Удалённо, от 450 000 до 525 000 ₽
✓ Backend Golang-разработчик Удалёнка, 2500–5500 $
✓ Go Developer.Удалёнка, 4 000 – 5 600 $
#подборка #go
Чувствуете, что ваш Go-код тормозит под нагрузкой?
Приглашаем на открытый урок «Golang: когда многопоточность работает против вас». Узнайте, почему горутины и каналы иногда оборачиваются узкими местами и как это исправить.
Наш эксперт разберет внутренний планировщик Go, покажет типичные проблемы производительности и научит искать «тормоза» в конкурентном коде. Вы получите готовые паттерны оптимизации, которые ускорят ваши сервисы без лишних гаджетов.
📅 Встречаемся 16 сентября в 20:00 МСК. Открытый урок проходит в преддверие старта курса «Golang Developer. Professional».
👉 Запишитесь на открытый урок → https://vk.cc/cPnpPA
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Приглашаем на открытый урок «Golang: когда многопоточность работает против вас». Узнайте, почему горутины и каналы иногда оборачиваются узкими местами и как это исправить.
Наш эксперт разберет внутренний планировщик Go, покажет типичные проблемы производительности и научит искать «тормоза» в конкурентном коде. Вы получите готовые паттерны оптимизации, которые ускорят ваши сервисы без лишних гаджетов.
📅 Встречаемся 16 сентября в 20:00 МСК. Открытый урок проходит в преддверие старта курса «Golang Developer. Professional».
👉 Запишитесь на открытый урок → https://vk.cc/cPnpPA
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Восстановить 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-адреса в любом порядке.
Пример:
Ввод:
Вывод:
Ввод:
Вывод:
Решение задачи
Пишите свое решение в комментариях👇
Сложность: Средняя
Условие задачи: Рабочий 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"]
Решение задачи
Пишите свое решение в комментариях👇
👍5❤1
This media is not supported in your browser
VIEW IN TELEGRAM
👣 Huh.
Huh: простая, мощная библиотека для создания терминальных форм (написана на Go).
▪️Github
@golangprofi
Huh: простая, мощная библиотека для создания терминальных форм (написана на Go).
▪️Github
@golangprofi
😱4
Список интересных Go проектов
1. DDosify — Performance Testing Platform
DDosify - это хороший инструмент, если вы хотите проверить, как поведет себя ваше приложение при большом количестве пользователей, обращающихся к нему со всего мира.
2. Kopia — Cross-platform Backup Tool
Kopia предлагает удобный и простой способ создания копий зашифрованных и сжатых данных и сохранения в облачном хранилище.
3. Traefik — Reverse Proxy And Load Balancer
Traefik довольно популярен, поэтому вы, возможно, уже знакомы с ним. Это хороший инструмент для самостоятельной настройки прокси для ваших микросервисов.
4. Httpx — HTTP Toolkit
С помощью Httpx можно регулярно отправлять запросов для получения данных о веб-сайтах. Мне нравится использовать его для проверки работоспособности моих сайтов и приложений.
5. Evcc — Extensible EV Charge Controller
Evcc - это многоязычный контроллер для электромобилей на Go.
1. DDosify — Performance Testing Platform
DDosify - это хороший инструмент, если вы хотите проверить, как поведет себя ваше приложение при большом количестве пользователей, обращающихся к нему со всего мира.
2. Kopia — Cross-platform Backup Tool
Kopia предлагает удобный и простой способ создания копий зашифрованных и сжатых данных и сохранения в облачном хранилище.
3. Traefik — Reverse Proxy And Load Balancer
Traefik довольно популярен, поэтому вы, возможно, уже знакомы с ним. Это хороший инструмент для самостоятельной настройки прокси для ваших микросервисов.
4. Httpx — HTTP Toolkit
С помощью Httpx можно регулярно отправлять запросов для получения данных о веб-сайтах. Мне нравится использовать его для проверки работоспособности моих сайтов и приложений.
5. Evcc — Extensible EV Charge Controller
Evcc - это многоязычный контроллер для электромобилей на Go.
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый клиент Golang Redis, который выполняет автоматическую конвейерную обработку и поддерживает кэширование на стороне клиента.
package main
import (
"context"
"github.com/redis/rueidis"
)
func main() {
client, err := rueidis.NewClient(rueidis.ClientOption{InitAddress: []string{"127.0.0.1:6379"}})
if err != nil {
panic(err)
}
defer client.Close()
ctx := context.Background()
// SET key val NX
err = client.Do(ctx, client.B().Set().Key("key").Value("val").Nx().Build()).Error()
// HGETALL hm
hm, err := client.Do(ctx, client.B().Hgetall().Key("hm").Build()).AsStrMap()
}
▪️ Github
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🤔1😱1
Вакансии для Golang-разработчиков за последние 14 дней:
✓ Golang Software Engineer. Удалённо, 6000–7000
✓ Backend Developer Удалёнка, 250 000–400 000 ₽
✓ Backend Golang-разработчик Удалённо, от 2500 до 5500 $
✓ GO Engineer Удалённо, 6000–7000 $
✓ Golang разработчик Удалённо/гибрид (Ульяновск/Краснодар), 150–230 т.р.
✓ Golang Developer (architect) Удалённо, 4 000–6 000 $
✓ Golang Backend Удалённо (МСК), 350–400 т.р.
✓ Golang Backend Developer Удалёнка (РФ), 280–350 т.р.
✓ Golang + Blockchain Software Engineer Удалённо, 6000–7000 USD
✓ Golang Blockchain Engineer Удалённо, 6 000–7 000 USD
#подборка #go
✓ Golang Software Engineer. Удалённо, 6000–7000
✓ Backend Developer Удалёнка, 250 000–400 000 ₽
✓ Backend Golang-разработчик Удалённо, от 2500 до 5500 $
✓ GO Engineer Удалённо, 6000–7000 $
✓ Golang разработчик Удалённо/гибрид (Ульяновск/Краснодар), 150–230 т.р.
✓ Golang Developer (architect) Удалённо, 4 000–6 000 $
✓ Golang Backend Удалённо (МСК), 350–400 т.р.
✓ Golang Backend Developer Удалёнка (РФ), 280–350 т.р.
✓ Golang + Blockchain Software Engineer Удалённо, 6000–7000 USD
✓ Golang Blockchain Engineer Удалённо, 6 000–7 000 USD
#подборка #go
📘 На Stepik вышел курс — «Golang - микросервисная архитектура, проектирование API»
Уже знакомы с Go и хотите перейти на следующий уровень? Этот курс — именно то, что нужно, чтобы прокачать свои навыки.
• Полный путь от сетевых протоколов до Kubernetes: HTTP/REST, gRPC, RabbitMQ и Kafka, PostgreSQL, Redis, Docker, Prometheus + Grafana
• Практика на реальных кейсах: проектируем API, пишем микросервисы, покрываем тестами, выкатываем CI/CD
• 180+ интерактивных заданий с автопроверкой — код прямо в браузере, в любое удобное время
• Итоговый pet-project: к финалу курса у вас будет рабочая мини-экосистема из нескольких сервисов
🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn
🚀 Прокачайте Golang с пользой и удовольствием. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов
👉 Пройти курс на Stepik
Уже знакомы с Go и хотите перейти на следующий уровень? Этот курс — именно то, что нужно, чтобы прокачать свои навыки.
• Полный путь от сетевых протоколов до Kubernetes: HTTP/REST, gRPC, RabbitMQ и Kafka, PostgreSQL, Redis, Docker, Prometheus + Grafana
• Практика на реальных кейсах: проектируем API, пишем микросервисы, покрываем тестами, выкатываем CI/CD
• 180+ интерактивных заданий с автопроверкой — код прямо в браузере, в любое удобное время
• Итоговый pet-project: к финалу курса у вас будет рабочая мини-экосистема из нескольких сервисов
🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn
🚀 Прокачайте Golang с пользой и удовольствием. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов
👉 Пройти курс на Stepik
Stepik: online education
Golang — микросервисная архитектура, проектирование API
Этот курс позволит вам освоить основы микросервисной архитектуры для разработки backend сервисов на языке golang.
модель OSI
tcp/ip
udp
http/https
принципы solid
Стандартная библиотека net/http
фреймворки Gin, Echo, Fiber
микросервисная архитектура…
модель OSI
tcp/ip
udp
http/https
принципы solid
Стандартная библиотека net/http
фреймворки Gin, Echo, Fiber
микросервисная архитектура…
🦦 Otter
Самая быстрая библиотека golang in-memory cache, основанная на алгоритме
Внутри используется хеш таблица, которая имеет мьютекс на каждый бакет
Также исрользуется несколько трюков для избегания частых локов политики вытеснения: при чтении используются wait-free буфферы, которые иногда могут терять данные, но так как главная задача кеша - хранить наиболее частые элементы, то потери незначительны + реализация mpsc очереди при записи, которая значительно превосходит каналы по перфомансу и принцип из статьи bp-wrapper, который коротко можно назвать "batch, batch, batch" aka кеш не обновляет политику мгновенно, а только после наполнения небольшого буффера.
Самая быстрая библиотека golang in-memory cache, основанная на алгоритме
S3-FIFO
. Раюотает во много раз быстрее, чем Ristretto.Внутри используется хеш таблица, которая имеет мьютекс на каждый бакет
+ seq lock
для чтения + каждый бакет помещается в две кеш линии, что предотвращает false sharing
и это намногооо быстрее map с мьютексом и sync.Map. Также исрользуется несколько трюков для избегания частых локов политики вытеснения: при чтении используются wait-free буфферы, которые иногда могут терять данные, но так как главная задача кеша - хранить наиболее частые элементы, то потери незначительны + реализация mpsc очереди при записи, которая значительно превосходит каналы по перфомансу и принцип из статьи bp-wrapper, который коротко можно назвать "batch, batch, batch" aka кеш не обновляет политику мгновенно, а только после наполнения небольшого буффера.
go get -u github.com/maypok86/otter
▪️Github