#Собес #bash
🤔 Как посчитать количество строк в файле?
Для подсчёта строк в файле используйте:
Эта команда выведет количество строк в файле.
👉 Новости 👉 База вопросов
Для подсчёта строк в файле используйте:
wc -1 file.txt
Эта команда выведет количество строк в файле.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#статьи
😊 Построение масштабируемых мультиарендных приложений на Go
Статья, описывает стратегии разработки SaaS-приложений с поддержкой мультиарендности на языке Go, основанные на опыте создания бэкенда для Atlas Cloud
Тык сюда
👉 Новости 👉 База вопросов
Статья, описывает стратегии разработки SaaS-приложений с поддержкой мультиарендности на языке Go, основанные на опыте создания бэкенда для Atlas Cloud
Тык сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😵 franz-go — полнофункциональный клиент Apache Kafka на Go, покрывающий все версии протокола с 0.8.0 до современных. Проект выделяется среди аналогов поддержкой транзакций, Exactly-Once-Semantics и всех механизмов аутентификации.
Инструмент имеет продуманный API с акцентом на идиоматичный Go-код: контексты, variadic-опции и минимум накладных расходов. Здесь нет обёрток над C-библиотеками, а производительность достигается за счёт отказа от лишних горутин там, где это возможно. Для администрирования кластера есть отдельный пакет kadm, а интеграция с прометеем и другими системами мониторинга реализована через хуки.
🤖 GitHub
👉 Новости 👉 База вопросов
Инструмент имеет продуманный API с акцентом на идиоматичный Go-код: контексты, variadic-опции и минимум накладных расходов. Здесь нет обёрток над C-библиотеками, а производительность достигается за счёт отказа от лишних горутин там, где это возможно. Для администрирования кластера есть отдельный пакет kadm, а интеграция с прометеем и другими системами мониторинга реализована через хуки.
🤖 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵💫 Gotd — мощная Go-библиотека для работы с Telegram MTProto API. Проект предлагает низкоуровневый доступ к методам Telegram с полной поддержкой MTProto 2.0, позволяя разработчикам создавать как пользовательских клиентов, так и ботов.
Библиотека генерирует код на основе официальной документации Telegram, что обеспечивает актуальность и соответствие спецификациям. Реализация включает в себя механизмы для безопасной аутентификации, работу с прокси и обработку обновлений. Проект активно развивается и уже используется в нескольких известных инструментах для работы с Telegram.
Гитхаб
👉 Новости 👉 База вопросов
Библиотека генерирует код на основе официальной документации Telegram, что обеспечивает актуальность и соответствие спецификациям. Реализация включает в себя механизмы для безопасной аутентификации, работу с прокси и обработку обновлений. Проект активно развивается и уже используется в нескольких известных инструментах для работы с Telegram.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #bash
🤔 Как переместить файлы в Bash?
Чтобы переместить файл, используйте
Команда
👉 Новости 👉 База вопросов
Чтобы переместить файл, используйте
mv
:mv source_file destination_directory/
Команда
mv
также используется для переименования:mv old_name.txt new_name.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
🤓 jwtk — мощный CLI/TUI‑инструмент для работы с JWT на Go
Нужно быстро декодировать, проверить или сгенерировать JWT‑токен в терминале? Попробуй jwtk от Hanashiko.
Что умеет:
🟠 Декодирует JWT с подсветкой
🟠 Проверяет подписи (HS256/RS256)
🟠 Генерирует токены с настройкой claims и сроков
🟠 Создаёт RSA‑ключи (
🟠 Имеет удобный TUI‑интерфейс (
Особенности:
🔵 Поддержка файлов (
🔵 Без внешних зависимостей
🔵 Поддержка HS256 и RS256
Установка:
1⃣ AUR:
2⃣ Из исходников:
Подходит для:
1⃣ Отладки токенов
2⃣ CI/CD пайплайнов
3⃣ Тестирования API
Лёгкий, но функциональный инструмент без лишних зависимостей.
Гитхаб
👉 Новости 👉 База вопросов
Нужно быстро декодировать, проверить или сгенерировать JWT‑токен в терминале? Попробуй jwtk от Hanashiko.
Что умеет:
genkeys
)jwtk tui
)Особенности:
--secret
, --keyfile
)Установка:
yay -S jwtk
git clone https://github.com/Hanashiko/jwtk.git
cd jwtk && go mod tidy && go build -o jwtk
sudo mv jwtk /usr/local/bin
Подходит для:
Лёгкий, но функциональный инструмент без лишних зависимостей.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#новости
😎 Вышел Git 2.50
Вот основные обновления:
1. Новый уровень работы с cruft packs
- Git хранит неиспользуемые (невидимые) объекты в специальных “cruft packs”.
- Раньше управлять ими было сложно: чтобы добавить или объединить объекты, нужно было всё перепаковывать, что занимало много времени и места.
- Теперь появился флаг
- Исправлена важная ошибка: раньше такие объекты могли случайно удаляться раньше времени — теперь это под контролем.
2. Быстрее для больших репозиториев — многослойные битмапы
- В больших проектах Git создаёт специальные “карты” (bitmaps), чтобы быстро понимать, какие объекты нужны для определённых коммитов.
- Новая версия поддерживает “инкрементальные” битмапы для multi-pack index — можно добавлять новые данные быстро, не пересоздавая всю структуру.
3. Новый движок слияния ORT
- Старый движок
- Это упростит разработку, повысит скорость merge и уменьшит количество ошибок.
4. Улучшения в утилитах и команде cat-file
- Теперь можно фильтровать объекты по типу, например, быстро получить только “деревья” (tree) с помощью
- Команда для удаления reflog стала интуитивной: вместо сложных параметров просто пишем
5. Больше контроля над сетевыми соединениями
- Добавлены настройки для TCP Keepalive, теперь можно гибко управлять поведением Git в нестабильных сетях.
6. Меньше Perl — проще тестировать и собирать
- Git ещё больше избавился от зависимостей на Perl: тесты и документация теперь проще и стабильнее, особенно на системах без Perl.
7. Работа с разреженными (sparse) репозиториями стала удобнее
- Команды вроде
8. Косметические улучшения
- При ребейзе (rebase -i) названия коммитов теперь оформляются как комментарии — так ясно, что это просто для ориентира.
9. Быстрее клонируем через bundle-uri
- Git стал лучше справляться с ускоренным клонированием через *.bundle: теперь клиент правильно учитывает все ссылки, ускоряя загрузку репозитория.
Git 2.50 — это не просто исправление багов, а реальное ускорение и упрощение работы для всех, кто ведёт большие проекты, часто сливает ветки и заботится о “чистоте” репозитория. Новые команды делают жизнь проще, а старые баги — ушли в прошлое.
Почитать про все обновления
👉 Новости 👉 База вопросов
Вот основные обновления:
1. Новый уровень работы с cruft packs
- Git хранит неиспользуемые (невидимые) объекты в специальных “cruft packs”.
- Раньше управлять ими было сложно: чтобы добавить или объединить объекты, нужно было всё перепаковывать, что занимало много времени и места.
- Теперь появился флаг
--combine-cruft-below-size
: можно легко объединять мелкие cruft packs в один, постепенно “чистить” репозиторий. - Исправлена важная ошибка: раньше такие объекты могли случайно удаляться раньше времени — теперь это под контролем.
2. Быстрее для больших репозиториев — многослойные битмапы
- В больших проектах Git создаёт специальные “карты” (bitmaps), чтобы быстро понимать, какие объекты нужны для определённых коммитов.
- Новая версия поддерживает “инкрементальные” битмапы для multi-pack index — можно добавлять новые данные быстро, не пересоздавая всю структуру.
3. Новый движок слияния ORT
- Старый движок
recursive
полностью удалён: теперь слияния (`merge`) обрабатывает только быстрый и надёжный ORT.- Это упростит разработку, повысит скорость merge и уменьшит количество ошибок.
4. Улучшения в утилитах и команде cat-file
- Теперь можно фильтровать объекты по типу, например, быстро получить только “деревья” (tree) с помощью
--filter='object:type=tree'
. - Команда для удаления reflog стала интуитивной: вместо сложных параметров просто пишем
git reflog delete <branch>
.5. Больше контроля над сетевыми соединениями
- Добавлены настройки для TCP Keepalive, теперь можно гибко управлять поведением Git в нестабильных сетях.
6. Меньше Perl — проще тестировать и собирать
- Git ещё больше избавился от зависимостей на Perl: тесты и документация теперь проще и стабильнее, особенно на системах без Perl.
7. Работа с разреженными (sparse) репозиториями стала удобнее
- Команды вроде
git add -p
теперь не требуют полной загрузки содержимого — удобно при работе с огромными проектами.8. Косметические улучшения
- При ребейзе (rebase -i) названия коммитов теперь оформляются как комментарии — так ясно, что это просто для ориентира.
9. Быстрее клонируем через bundle-uri
- Git стал лучше справляться с ускоренным клонированием через *.bundle: теперь клиент правильно учитывает все ссылки, ускоряя загрузку репозитория.
Git 2.50 — это не просто исправление багов, а реальное ускорение и упрощение работы для всех, кто ведёт большие проекты, часто сливает ветки и заботится о “чистоте” репозитория. Новые команды делают жизнь проще, а старые баги — ушли в прошлое.
Почитать про все обновления
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🛞 Outrig — Observability-инструмент для Go
Outrig — это open-source инструмент для разработчиков на Go, позволяющий:
🟠 В реальном времени искать по логам
🟠 Отслеживать goroutines
🟠 Следить за переменными и метриками рантайма
Всё работает локально — никакие данные не покидают вашу машину.
Поддержка: macOS и Linux (Windows — скоро)
Идеален для дебага, мониторинга и глубокого понимания поведения Go-приложений.
Гитхаб
👉 Новости 👉 База вопросов
Outrig — это open-source инструмент для разработчиков на Go, позволяющий:
Всё работает локально — никакие данные не покидают вашу машину.
Поддержка: macOS и Linux (Windows — скоро)
Идеален для дебага, мониторинга и глубокого понимания поведения Go-приложений.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Как скопировать файлы в Bash?
Чтобы скопировать файл, используйте команду
Для копирования папки используйте
👉 Новости 👉 База вопросов
Чтобы скопировать файл, используйте команду
ср
:cp source_file destination_file
Для копирования папки используйте
-r
:cp -r source_directory destination_directory
Please open Telegram to view this post
VIEW IN TELEGRAM
🤷♂1
#полезное
😘 if err != nil остаётся с нами
Команда Go официально закрыла тему синтаксического сахара для обработки ошибок:
https://go.dev/blog/error-syntax
👉 Новости 👉 База вопросов
Команда Go официально закрыла тему синтаксического сахара для обработки ошибок:
https://go.dev/blog/error-syntax
«В обозримом будущем команда Go прекращает работу над синтаксическими изменениями языка, связанными с обработкой ошибок. Мы также закроем все открытые и новые предложения, касающиеся преимущественно синтаксиса обработки ошибок, без дальнейшего рассмотрения.»
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
#полезное
👍 Gollama — терминальный менеджер для Ollama-моделей. Этот инструмент с TUI-интерфейсом упрощает работу с локальными LLM: от сортировки по размеру и квантованию до редактирования Modelfile прямо в терминале. Горячие клавиши позволяют быстро запускать модели, выгружать их из памяти или копировать на удалённые серверы через функцию "spit".
Инструмент имеет интеграцию с LM Studio для автоматического создания симлинков и расчёт потребления vRAM под разные контексты. Проект активно развивается: недавно добавили поддержку Hugging Face-моделей в калькуляторе памяти.
Гитхаб
👉 Новости 👉 База вопросов
Инструмент имеет интеграцию с LM Studio для автоматического создания симлинков и расчёт потребления vRAM под разные контексты. Проект активно развивается: недавно добавили поддержку Hugging Face-моделей в калькуляторе памяти.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес #bash
🤔 Что означает S? в Bash?
-
-
Пример:
👉 Новости 👉 База вопросов
$?
содержит код завершения последней команды:-
0
- успешное выполнение.-
1
и другие - ошибка.Пример:
ls / nonexistent_folder
echo $? # Выведет 2 (ошибка)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😊 konf — простая и гибкая библиотека для работы с конфигурациями в Go!
Она поддерживает загрузку конфигурации из различных источников, включая файлы, переменные окружения, флаги и облачные сервисы (AWS, Azure, GCP). Библиотека позволяет отслеживать изменения конфигураций, а также уведомлять об этих изменениях через нотификаторы. Конфигурационные источники можно легко менять, что делает её удобной для различных приложений, требующих гибкости в настройке.
Гитхаб
👉 Новости 👉 База вопросов
Она поддерживает загрузку конфигурации из различных источников, включая файлы, переменные окружения, флаги и облачные сервисы (AWS, Azure, GCP). Библиотека позволяет отслеживать изменения конфигураций, а также уведомлять об этих изменениях через нотификаторы. Конфигурационные источники можно легко менять, что делает её удобной для различных приложений, требующих гибкости в настройке.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😬 Построение анализатора разделов диска на Go
Задумывались ли вы, что происходит, когда вы запускаете
Прежде чем писать код, нужно понять, что именно мы будем парсить. Каждый диск начинается с таблицы разделов, которая сообщает операционной системе, как диск разбит на части
Читать статью
👉 Новости 👉 База вопросов
Задумывались ли вы, что происходит, когда вы запускаете
fdisk -l
или открываете "Управление дисками" в Windows? Эти утилиты считывают необработанные данные с диска, чтобы отобразить информацию о разделах.Прежде чем писать код, нужно понять, что именно мы будем парсить. Каждый диск начинается с таблицы разделов, которая сообщает операционной системе, как диск разбит на части
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😐 Быстрая альтернатива файлообменникам — Gokapi
Gokapi — это минималистичный, self-hosted сервис для временного обмена файлами, написанный на Go. Его цель — быть лёгкой и приватной заменой таким сервисам, как WeTransfer.
Возможности:
🟠 Загрузка и скачивание файлов через веб-интерфейс
🟠 Временное хранение (срок жизни настраивается)
🟠 Одноразовые или многоразовые ссылки
🟠 Поддержка паролей
🟠 Простота установки — бинарник и всё
Без лишнего функционала, без регистрации, без отслеживания — только удобный и быстрый обмен файлами.
Гитхаб
👉 Новости 👉 База вопросов
Gokapi — это минималистичный, self-hosted сервис для временного обмена файлами, написанный на Go. Его цель — быть лёгкой и приватной заменой таким сервисам, как WeTransfer.
Возможности:
Без лишнего функционала, без регистрации, без отслеживания — только удобный и быстрый обмен файлами.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Forceu/Gokapi: Lightweight selfhosted Firefox Send alternative without public upload. AWS S3 supported.
Lightweight selfhosted Firefox Send alternative without public upload. AWS S3 supported. - Forceu/Gokapi
❤1
#Собес #bash
🤔 Разница между одинарными и двойными кавычками в Bash
Одинарные кавычки
👉 Новости 👉 База вопросов
Одинарные кавычки
' '
предотвращают интерпретацию переменных и команд, а двойные " "
позволяют их подставлять.VAR="world"
echo 'Hello $VAR' # Выведет: Hello $VAR
echo "Hello $VAR" # Выведет: Hello world
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️🔥 RuleGo — легковесный rule-движок на Go для гибких систем. Когда бизнес-логика становится слишком сложной для хардкода, а традиционные workflow-движки кажутся громоздкими, этот проект предлагает элегантное решение. Инструмент позволяет описывать правила обработки данных в виде JSON-цепочки с компонентами, которые можно пересобирать на лету без перезапуска приложения.
Проект имеет поддержку edge-вычислений — движок стабильно работает даже на Raspberry Pi с потреблением памяти около 19MB. Встроенные компоненты для HTTP, MQTT и JavaScript-трансформаций делают его идеальным для IoT-сценариев, а визуальный редактор RuleGo-Editor упрощает конфигурирование.
Гитхаб
👉 Новости 👉 База вопросов
Проект имеет поддержку edge-вычислений — движок стабильно работает даже на Raspberry Pi с потреблением памяти около 19MB. Встроенные компоненты для HTTP, MQTT и JavaScript-трансформаций делают его идеальным для IoT-сценариев, а визуальный редактор RuleGo-Editor упрощает конфигурирование.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Фреймворк, который позволяет писать логику состояния приложения на чистом Go, с хранением всех данных в памяти или на диске, не беспокоясь о масштабируемости и доступности
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
📞 Вы неправильно используете интерфейсы в Go — архитектурные запахи: неверные абстракции
Интерфейсы играют ключевую роль в архитектуре программного обеспечения. Их сила заключается в способности абстрагировать реализацию.
Одной из часто обсуждаемых тем на собеседованиях у разработчиков являются принципы SOLID. Интерфейсы покрывают большую часть практической реализации этих принципов. Например, чтобы следовать принципу открытости/закрытости или инверсии зависимостей, вам потребуется интерфейс.
Запомните простое правило: если вы хотите скрыть детали реализации от вызывающей стороны (клиента), скорее всего, вы будете использовать интерфейс.
Следовательно, если вы хотите абстрагировать один пакет от другого, интерфейс — подходящий инструмент.
Теперь давайте разберёмся, с какими проблемами использования интерфейсов мы сталкиваемся в Go-приложениях
Читать статью
👉 Новости 👉 База вопросов
Интерфейсы играют ключевую роль в архитектуре программного обеспечения. Их сила заключается в способности абстрагировать реализацию.
Одной из часто обсуждаемых тем на собеседованиях у разработчиков являются принципы SOLID. Интерфейсы покрывают большую часть практической реализации этих принципов. Например, чтобы следовать принципу открытости/закрытости или инверсии зависимостей, вам потребуется интерфейс.
Запомните простое правило: если вы хотите скрыть детали реализации от вызывающей стороны (клиента), скорее всего, вы будете использовать интерфейс.
Следовательно, если вы хотите абстрагировать один пакет от другого, интерфейс — подходящий инструмент.
Теперь давайте разберёмся, с какими проблемами использования интерфейсов мы сталкиваемся в Go-приложениях
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1