package main
func oneStep(yield func() bool) {
yield()
}
func f() {
for range oneStep {
print("f ")
recover()
}
}
func g() {
for range 1 {
print("g ")
recover()
}
}
func checkPanic(loop func(), c chan<- struct{}) {
defer func() {
println(recover() != nil)
c <- struct{}{}
}()
defer loop()
panic(123)
}
func main() {
c := make(chan struct{}, 1)
go checkPanic(f, c)
<-c
go checkPanic(g, c)
<-c
}
🔗 Ответ
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔌 go-redis/cache — эффективное кэширование для Golang. Библиотека от создателей go-redis предлагает удобный способ организации двухуровневого кэша с Redis в качестве основного хранилища и локальным кэшем на основе TinyLFU.
Библиотека использует автоматическую сериализацию структур через MessagePack и поддержка распределённых Redis-конфигураций. Также интересно реализован механизм однократного вычисления значения для параллельных запросов через метод Once. Это упрощает работу с горячими ключами, когда несколько goroutines одновременно запрашивают одни и те же данные.
🤖 GitHub
@golang_interview
Библиотека использует автоматическую сериализацию структур через MessagePack и поддержка распределённых Redis-конфигураций. Также интересно реализован механизм однократного вычисления значения для параллельных запросов через метод Once. Это упрощает работу с горячими ключами, когда несколько goroutines одновременно запрашивают одни и те же данные.
🤖 GitHub
@golang_interview
🔧 envconfig — удобное решение для работы с переменными окружения в Go-приложениях. Эта библиотека позволяет легко связывать переменные среды со структурой, поддерживая типы от простых строк до сложных map и пользовательских декодеров.
Достаточно определить структуру с тегами и библиотека сама разберётся с преобразованием значений, дефолтами и обязательными полями. Проект особенно полезен для конфигурации микросервисов, где важно разделять настройки для разных окружений.
🤖 GitHub
@golang_interview
Достаточно определить структуру с тегами и библиотека сама разберётся с преобразованием значений, дефолтами и обязательными полями. Проект особенно полезен для конфигурации микросервисов, где важно разделять настройки для разных окружений.
🤖 GitHub
@golang_interview
This media is not supported in your browser
VIEW IN TELEGRAM
🧑💻 Browsh — браузер для терминала с поддержкой HTML5, JS и даже видео
Browsh — это современный текстовый браузер, который работает прямо в терминале. Он использует headless Firefox и отображает веб‑страницы в виде ASCII‑графики.
🔹 Поддержка HTML5, CSS3, JS, WebGL
🔹 Работает через SSH или Mosh — идеален для слабого интернета
🔹 Можно смотреть YouTube прямо в терминале
🔹 Есть HTTP‑режим и Docker‑образ
🔹 Лёгкий, кроссплатформенный и минималистичный
📦 Установка:
🔗 GitHub
Подходит пользователям со слабыми ПК, для работы по SSH и когда нужен браузер без GUI.
Browsh — это современный текстовый браузер, который работает прямо в терминале. Он использует headless Firefox и отображает веб‑страницы в виде ASCII‑графики.
🔹 Поддержка HTML5, CSS3, JS, WebGL
🔹 Работает через SSH или Mosh — идеален для слабого интернета
🔹 Можно смотреть YouTube прямо в терминале
🔹 Есть HTTP‑режим и Docker‑образ
🔹 Лёгкий, кроссплатформенный и минималистичный
📦 Установка:
brew install browsh # macOS
apt install browsh # Debian/Ubuntu
docker run -it browsh/browsh
🔗 GitHub
Подходит пользователям со слабыми ПК, для работы по SSH и когда нужен браузер без GUI.
🔧 envconfig — удобное решение для работы с переменными окружения в Go-приложениях. Эта библиотека позволяет легко связывать переменные среды со структурой, поддерживая типы от простых строк до сложных map и пользовательских декодеров.
Достаточно определить структуру с тегами и библиотека сама разберётся с преобразованием значений, дефолтами и обязательными полями. Проект особенно полезен для конфигурации микросервисов, где важно разделять настройки для разных окружений.
🤖 GitHub
@golang_interview
Достаточно определить структуру с тегами и библиотека сама разберётся с преобразованием значений, дефолтами и обязательными полями. Проект особенно полезен для конфигурации микросервисов, где важно разделять настройки для разных окружений.
🤖 GitHub
@golang_interview
Route 256 — бесплатные курсы Ozon Tech для качественного роста в профессии.
Курсы длятся 2 месяца. За это время вы исследуете возможности языка микросервисов в условиях работы с высоконагруженными системами.
Чтобы попасть, зарегистрируйтесь и пройдите отборочный контест 3 августа: https://s.ozon.ru/OqI3dtF
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
📂 Проект:
🔎 Что это:
- Инструмент командной строки для навигации по директориям и файлам в стиле
🛠 Основные возможности:
- Быстрый fuzzy‑поиск файлов и папок прямо из терминала
- Простое перемещение и предварительный просмотр содержимого файлов
- Лёгкая установка и запуск — минимум зависимостей
👨💻 Кому пригодится:
- Тем, кто ищет компактный, быстрый file‑manager с fuzzy‑поиском без тяжеловесных UI
- Любителям CLI‑инструментов и поклонникам
✅ Итог:
💡 *Хочешь — могу помочь с примером использования CLI‑инструмента, установить его или интегрировать в твой workflow.*
https://github.com/ashish0kumar/fzfm
@golang_interview
fzfm
— текстовый file‑manager с fuzzy‑поиском от ashish0kumar🔎 Что это:
- Инструмент командной строки для навигации по директориям и файлам в стиле
fzf
— только встроенный интерфейс file‑manager. 🛠 Основные возможности:
- Быстрый fuzzy‑поиск файлов и папок прямо из терминала
- Простое перемещение и предварительный просмотр содержимого файлов
- Лёгкая установка и запуск — минимум зависимостей
👨💻 Кому пригодится:
- Тем, кто ищет компактный, быстрый file‑manager с fuzzy‑поиском без тяжеловесных UI
- Любителям CLI‑инструментов и поклонникам
fzf
, но с интегрированной файловой навигацией✅ Итог:
fzfm
— удобная альтернатива fzf+ls
, но с корпоративным подходом: всё в одном окне, без лишнего GUI, и с фокусом на быструю локальную навигацию.💡 *Хочешь — могу помочь с примером использования CLI‑инструмента, установить его или интегрировать в твой workflow.*
https://github.com/ashish0kumar/fzfm
@golang_interview
📊 Go-Diagrams — создание архитектурных диаграмм через код.
Интересный Go-проект, позволяющий генерировать профессиональные схемы инфраструктуры и взаимодействия сервисов прямо из кода. Синтаксис напоминает популярную библиотеку Diagrams, но работает полностью на Go — без зависимостей от Python.
Библиотека использует декларативное описание компонентов (GCP, AWS, Kubernetes) и их связей, что удобно для документирования проектов и автоматического обновления схем при изменениях архитектуры. Результат экспортируется в Graphviz DOT-формат для последующей визуализации.
🤖 GitHub
@golang_interview
Интересный Go-проект, позволяющий генерировать профессиональные схемы инфраструктуры и взаимодействия сервисов прямо из кода. Синтаксис напоминает популярную библиотеку Diagrams, но работает полностью на Go — без зависимостей от Python.
Библиотека использует декларативное описание компонентов (GCP, AWS, Kubernetes) и их связей, что удобно для документирования проектов и автоматического обновления схем при изменениях архитектуры. Результат экспортируется в Graphviz DOT-формат для последующей визуализации.
🤖 GitHub
@golang_interview
⚡️ Почему лучшие разработчики всегда на шаг впереди?
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://yangx.top/gamedev
Физика: t.me/fizmat
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
📕Ит-книги: https://yangx.top/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://yangx.top/gamedev
Физика: t.me/fizmat
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
📕Ит-книги: https://yangx.top/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
🔬 Go-HEP — библиотеки и инструменты для анализа данных в физике высоких энергий
go-hep — это набор библиотек на языке Go, созданных для упрощения и ускорения HEP-анализа (High Energy Physics). Проект предоставляет всё необходимое, чтобы читать, обрабатывать и визуализировать физические данные — и всё это с помощью удобного, параллельного и надёжного кода на Go.
🧩 Что входит:
• Чтение/запись ROOT-файлов
• Построение гистограмм
• Event loop системы
• Матричные и векторные вычисления
• Нативная реализация на Go без C/C++-биндингов
📚 Документация: доступна через GoDoc
📬 Форум: ~sbinet/[email protected]
💡 Подробнее: [go-hep.org](https://go-hep.org)
🎯 Зачем это нужно:
Анализ данных в HEP требует мощных инструментов. Одно из ключевых условий — это работа с форматом ROOT. Go-HEP предоставляет этот уровень совместимости, позволяя встраивать свои анализы в существующие пайплайны HEP-сообщества.
⚡ Почему Go:
Go даёт:
• высокую скорость
• удобный параллелизм через goroutines
• развитую экосистему и простую поддержку CI/CD
• чистую архитектуру и масштабируемый код
🧠 Go-HEP позволяет физикам сосредоточиться на анализе, а не на инфраструктуре.
🔗 GitHub: github.com/go-hep/hep
📜 Лицензия: BSD-3
🤝 Как помочь: go-hep.org/contributing
#golang #HEP #science #physics #opensource
go-hep — это набор библиотек на языке Go, созданных для упрощения и ускорения HEP-анализа (High Energy Physics). Проект предоставляет всё необходимое, чтобы читать, обрабатывать и визуализировать физические данные — и всё это с помощью удобного, параллельного и надёжного кода на Go.
🧩 Что входит:
• Чтение/запись ROOT-файлов
• Построение гистограмм
• Event loop системы
• Матричные и векторные вычисления
• Нативная реализация на Go без C/C++-биндингов
📚 Документация: доступна через GoDoc
📬 Форум: ~sbinet/[email protected]
💡 Подробнее: [go-hep.org](https://go-hep.org)
🎯 Зачем это нужно:
Анализ данных в HEP требует мощных инструментов. Одно из ключевых условий — это работа с форматом ROOT. Go-HEP предоставляет этот уровень совместимости, позволяя встраивать свои анализы в существующие пайплайны HEP-сообщества.
⚡ Почему Go:
Go даёт:
• высокую скорость
• удобный параллелизм через goroutines
• развитую экосистему и простую поддержку CI/CD
• чистую архитектуру и масштабируемый код
🧠 Go-HEP позволяет физикам сосредоточиться на анализе, а не на инфраструктуре.
🔗 GitHub: github.com/go-hep/hep
📜 Лицензия: BSD-3
🤝 Как помочь: go-hep.org/contributing
#golang #HEP #science #physics #opensource
go-hep.org
Writing HEP software with ease and Go
📚 Best System Design Resources — удобная шпаргалка для интервью и прокачки архитектуры
* 100+ отобранных материалов: курсы, книги, статьи, интервью-чеклисты и блоги инженеров крупных компаний.
* Упор на практику для System Design Interview: есть готовые cheat-sheets от Exponent, ByteByteGo и DesignGuru, а также более 50 типовых задач.
* Секции «Курсы», «Книги», «Теория и алгоритмы», «Кейс-стади» и «Engineering Blogs» помогают быстро закрыть пробелы перед собеседованием.
* Более 2 500★ на GitHub — комьюнити регулярно дополняет подборку.
Полезно, если нужно системно повторить концепции перед FAANG-интервью или собрать личную базу знаний по архитектуре.
📌 Github
* 100+ отобранных материалов: курсы, книги, статьи, интервью-чеклисты и блоги инженеров крупных компаний.
* Упор на практику для System Design Interview: есть готовые cheat-sheets от Exponent, ByteByteGo и DesignGuru, а также более 50 типовых задач.
* Секции «Курсы», «Книги», «Теория и алгоритмы», «Кейс-стади» и «Engineering Blogs» помогают быстро закрыть пробелы перед собеседованием.
* Более 2 500★ на GitHub — комьюнити регулярно дополняет подборку.
Полезно, если нужно системно повторить концепции перед FAANG-интервью или собрать личную базу знаний по архитектуре.
📌 Github