AppUpdater
При разработке macOS-приложений добавление автообновлений через Sparkle и похожие фреймворки часто превращается в боль: куча зависимостей, сложная конфигурация, лишняя тяжеловесность.
На GitHub нашёлся AppUpdater — компактная опенсорсная библиотека, которая использует GitHub Releases для тихих обновлений macOS-приложений.
Проект переработан на базе классического AppUpdater: убрали зависимость от PromiseKit и полностью перешли на async/await, код стал современнее и проще в поддержке.
Поддерживает SwiftUI: буквально несколько строк кода — и у тебя есть проверка обновлений, загрузка и автоматическая установка. Также есть мультиязычные release notes.
Встроена настройка прокси, что решает частые проблемы с доступом к GitHub API из Китая, плюс есть проверка кодовой подписи, чтобы обновления были безопасными.
По сравнению с тяжёлыми решениями вроде Sparkle это более подходящий вариант для инди-разработчиков: минимальные затраты — и при этом надёжная и безопасная доставка обновлений.
✅ GitHub
➡️ GitHub Ready | #урок
При разработке macOS-приложений добавление автообновлений через Sparkle и похожие фреймворки часто превращается в боль: куча зависимостей, сложная конфигурация, лишняя тяжеловесность.
На GitHub нашёлся AppUpdater — компактная опенсорсная библиотека, которая использует GitHub Releases для тихих обновлений macOS-приложений.
Проект переработан на базе классического AppUpdater: убрали зависимость от PromiseKit и полностью перешли на async/await, код стал современнее и проще в поддержке.
Поддерживает SwiftUI: буквально несколько строк кода — и у тебя есть проверка обновлений, загрузка и автоматическая установка. Также есть мультиязычные release notes.
Встроена настройка прокси, что решает частые проблемы с доступом к GitHub API из Китая, плюс есть проверка кодовой подписи, чтобы обновления были безопасными.
По сравнению с тяжёлыми решениями вроде Sparkle это более подходящий вариант для инди-разработчиков: минимальные затраты — и при этом надёжная и безопасная доставка обновлений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
git init- Инициализировать новый Git-репозиторий.git clone- Клонировать удаленный репозиторий на вашу локальную машину.git status- Проверить текущее состояние рабочей директории.git add- Постановка изменений для следующей фиксации.git commit- Записать внесенные изменения и создать снимок.git push- загрузить локальные изменения в удаленный репозиторий.git pull- Получение и объединение изменений из удаленного репозитория.git branch- список, создание или удаление веток.git checkout / git switch- переключение между ветками или коммитами.git merge- Интеграция изменений из одной ветки в другую.git diff- просмотр различий между рабочим каталогом и областью хранения.git log- отображение хронологического списка коммитов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤2🔥2
mlocati/php-extension-installer
Полезная утилита, которая решает вечную боль сборки PHP-образов.
Позволяет ставить расширения одной строчкой, без
Работает с Alpine и с Debian.
Сам подтягивает системные зависимости, поддерживает PECL-пакеты и умеет кэшировать слои.
По сути — "composer install" для PHP-расширений.
{GitHub}
Сравни, как было бы без него:
➡️ GitHub Ready | #урок
Полезная утилита, которая решает вечную боль сборки PHP-образов.
Позволяет ставить расширения одной строчкой, без
apt, apk и docker-php-ext-install.
FROM php:8.3-fpm
# Подтягиваем готовый установщик расширений из образа mlocati
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
# Одной командой ставим всё нужное
RUN set -eux; \
install-php-extensions \
intl \
pdo_pgsql \
opcache \
gd \
redis \
xdebug
Работает с Alpine и с Debian.
Сам подтягивает системные зависимости, поддерживает PECL-пакеты и умеет кэшировать слои.
По сути — "composer install" для PHP-расширений.
{GitHub}
Сравни, как было бы без него:
FROM php:8.3-fpm
# Системные зависимости для intl, pdo_pgsql, gd
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
libicu-dev \
libpq-dev \
libjpeg-dev \
libpng-dev \
libwebp-dev \
libfreetype6-dev \
pkg-config \
git \
ca-certificates; \
rm -rf /var/lib/apt/lists/*
# Конфигурация и сборка расширений из исходников
RUN set -eux; \
docker-php-ext-install -j"$(nproc)" \
gd \
intl \
pdo_pgsql \
opcache
# PECL-расширения
RUN set -eux; \
pecl install redis; \
pecl install xdebug; \
docker-php-ext-enable redis xdebug
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
[Git] Какой командой можно сделать ресет изменений, не потеряв их?
Чтобы отменить изменения и при этом не потерять их в Git, можно использовать команду
1. git reset --soft
Эта команда откатит последний коммит, но все изменения останутся в области подготовленных изменений (staging area), так что их можно будет заново закоммитить:
Здесь HEAD^ указывает на последний коммит, от которого нужно сделать откат. Если хотите откатить несколько коммитов, можно использовать HEAD~N, где N — количество коммитов для отката.
2. git reset --mixed
Эта команда откатит последний коммит и вернет изменения в рабочую директорию, но они будут убраны из staging area. То есть файлы останутся изменёнными, но их придётся снова добавлять командой git add перед коммитом:
Флаг --mixed также используется по умолчанию, поэтому его можно опустить.
3. git restore для работы с отдельными файлами
Если вы хотите снять изменения только с определённых файлов, не трогая весь коммит, используйте команду git restore:
🔸Перенос файла из staging area в рабочую директорию (убрать из подготовленных изменений):
🔸Отмена всех изменений в файле (возврат к состоянию из коммита):
Эти команды удобны, если нужно отменить изменения по отдельным файлам или управлять состоянием рабочей директории без потерь.
Чтобы отменить изменения и при этом не потерять их в Git, можно использовать команду
git reset с флагом --soft или --mixed, или команду git restore. Вот основные варианты:1. git reset --soft
Эта команда откатит последний коммит, но все изменения останутся в области подготовленных изменений (staging area), так что их можно будет заново закоммитить:
git reset --soft HEAD^
Здесь HEAD^ указывает на последний коммит, от которого нужно сделать откат. Если хотите откатить несколько коммитов, можно использовать HEAD~N, где N — количество коммитов для отката.
2. git reset --mixed
Эта команда откатит последний коммит и вернет изменения в рабочую директорию, но они будут убраны из staging area. То есть файлы останутся изменёнными, но их придётся снова добавлять командой git add перед коммитом:
git reset --mixed HEAD^
Флаг --mixed также используется по умолчанию, поэтому его можно опустить.
3. git restore для работы с отдельными файлами
Если вы хотите снять изменения только с определённых файлов, не трогая весь коммит, используйте команду git restore:
🔸Перенос файла из staging area в рабочую директорию (убрать из подготовленных изменений):
git restore --staged <имя_файла>🔸Отмена всех изменений в файле (возврат к состоянию из коммита):
git restore <имя_файла>Эти команды удобны, если нужно отменить изменения по отдельным файлам или управлять состоянием рабочей директории без потерь.
❤2
Какой командой отправить изменения в удаленный репозиторий?
Чтобы отправить изменения в удалённый репозиторий, используется команда:
Полный синтаксис:
Примечания:
Если вы работаете с новым репозиторием или веткой, может потребоваться задать удалённую ветку для отслеживания:
Чтобы отправить изменения в удалённый репозиторий, используется команда:
git pushПолный синтаксис:
git push <remote> <branch><remote> — имя удалённого репозитория (например, origin).<branch> — имя ветки, в которую нужно отправить изменения (например, main или master).Примечания:
Если вы работаете с новым репозиторием или веткой, может потребоваться задать удалённую ветку для отслеживания:
git push --set-upstream origin <branch>👍5❤1😁1
awesome-ai-for-science
В научных исследованиях чаще всего выматывают не сами эксперименты, а бесконечное чтение статей, бесконечная чистка данных и нескончаемые презентации для отчетов.
На GitHub нашлась отличная подборка Awesome AI for Science — это систематизированный список инструментов и ресурсов, показывающий, как ИИ применяется на всех этапах научной работы.
Внутри — десятки категорий: управление литературой, анализ данных, превращение статей в постеры, автоматизация экспериментов и многое другое. Есть и специализированные инструменты для биологии, химии, физики и других областей.
В коллекции есть, например, Paper2Poster, который автоматически превращает научные статьи в постеры, MinerU — мощный инструмент для парсинга документов, и The AI Scientist — система для полностью автоматизированных исследований.
Также собраны современные научные статьи, датасеты, вычислительные фреймворки и образовательные материалы. По сути, это полный toolchain для AI-ассистированного ресерча. Определенно стоит сохранить.
➡️ Cсылка на GitHub
➡️ GitHub Ready | #урок
В научных исследованиях чаще всего выматывают не сами эксперименты, а бесконечное чтение статей, бесконечная чистка данных и нескончаемые презентации для отчетов.
На GitHub нашлась отличная подборка Awesome AI for Science — это систематизированный список инструментов и ресурсов, показывающий, как ИИ применяется на всех этапах научной работы.
Внутри — десятки категорий: управление литературой, анализ данных, превращение статей в постеры, автоматизация экспериментов и многое другое. Есть и специализированные инструменты для биологии, химии, физики и других областей.
В коллекции есть, например, Paper2Poster, который автоматически превращает научные статьи в постеры, MinerU — мощный инструмент для парсинга документов, и The AI Scientist — система для полностью автоматизированных исследований.
Также собраны современные научные статьи, датасеты, вычислительные фреймворки и образовательные материалы. По сути, это полный toolchain для AI-ассистированного ресерча. Определенно стоит сохранить.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁15👍1
Mem0 — это платформа которая добавляет интеллектуальную долгосрочную память к AI агентам и ассистентам. Вместо того чтобы агент забывал контекст после каждого разговора, Mem0 сохраняет и учится из истории взаимодействий. Работает с любой LLM: Claude, GPT, Llama, DeepSeek.
Что важно:
➡️ Работает с любой LLM — подключи Claude, GPT, локальные модели через Ollama➡️ Персонализация — система адаптируется к каждому пользователю на основе истории➡️ Self-hosted опция — развёртываешь у себя, полный контроль над данными
Ссылка на репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Задание: найди ошибку.
У тебя есть код и история коммитов. На проде вылез баг: пользователи больше не могут залогиниться. Всё ломается тихо — без падений, но авторизация просто не работает.
Выглядит вот так:
git log --oneline
f9a3c12 fix login
7a2b17a refactor user flow
c1f23b8 update styles
ea9d331 auth tweak
b1192e0 add error handler
81ac002 upd
А вот часть кода из auth.go в последнем коммите:
func Login(user string, pass string) bool {
if user == "" || pass == "" {
return false
}
// временно убрал проверку, потом верну
// if !checkCredentials(user, pass) {
// return false
// }
return true
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
lsv
При работе с файлами в терминале обычно используют ls и cd, но они показывают только список. Чтобы посмотреть содержимое файла или быстро перейти по каталогам, приходится постоянно вводить команды, что не очень эффективно.
На GitHub нашёлся open-source инструмент lsv — трёхпанельный файловый браузер для терминала. Слева показывается родительский каталог, по центру текущий, справа идёт живой предпросмотр выбранного файла.
Управление полностью с клавиатуры. Конфигурация через Lua: темы, хоткеи, правила предпросмотра. Можно подключать внешние инструменты (например, bat, glow) для цветного рендеринга контента.
Поддерживаются файловые операции (создание, переименование, удаление), мультивыбор с копированием и вставкой, закладки для быстрого перехода по каталогам, командная панель и автодополнение.
Превью легко кастомизируется: glow для Markdown, viu для картинок, hexyl для бинарников и т.д. Конфиг гибкий.
Устанавливается через Cargo, работает на Windows, macOS и Linux, есть готовые шаблоны конфигурации из коробки.
➡️ Cсылка на GitHub
➡️ GitHub Ready | #урок
При работе с файлами в терминале обычно используют ls и cd, но они показывают только список. Чтобы посмотреть содержимое файла или быстро перейти по каталогам, приходится постоянно вводить команды, что не очень эффективно.
На GitHub нашёлся open-source инструмент lsv — трёхпанельный файловый браузер для терминала. Слева показывается родительский каталог, по центру текущий, справа идёт живой предпросмотр выбранного файла.
Управление полностью с клавиатуры. Конфигурация через Lua: темы, хоткеи, правила предпросмотра. Можно подключать внешние инструменты (например, bat, glow) для цветного рендеринга контента.
Поддерживаются файловые операции (создание, переименование, удаление), мультивыбор с копированием и вставкой, закладки для быстрого перехода по каталогам, командная панель и автодополнение.
Превью легко кастомизируется: glow для Markdown, viu для картинок, hexyl для бинарников и т.д. Конфиг гибкий.
Устанавливается через Cargo, работает на Windows, macOS и Linux, есть готовые шаблоны конфигурации из коробки.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Merge Request и Pull Request, в чем разница?
Pull Request (относится к Open Source продуктам, на открытой платформе типа GitHub).
-> Я вот тут ваш продукт усовершенствовал, заберите-ка то, чего я наделал.
Merge Request (внутри компании, на закрытой платформе типа GitLab).
-> Я вот сделал правки, хочу свою ветку залить к вам в основную (master / main).
➡️ GitHub Ready | #урок
Pull Request (относится к Open Source продуктам, на открытой платформе типа GitHub).
-> Я вот тут ваш продукт усовершенствовал, заберите-ка то, чего я наделал.
Merge Request (внутри компании, на закрытой платформе типа GitLab).
-> Я вот сделал правки, хочу свою ветку залить к вам в основную (master / main).
Please open Telegram to view this post
VIEW IN TELEGRAM
Promptomatix
При работе с prompt’ами больше всего выматывает не придумывание, а бесконечный перебор вариантов. Поменял одно слово — результат стал хуже, добавил фразу — логика поехала. В итоге куча времени уходит на ручной тюнинг и пробу-ошибку.
Случайно на GitHub попался Promptomatix — фреймворк от Salesforce AI Research, выложенный в open source. Его цель как раз в том, чтобы избавиться от этой ручной возни с оптимизацией prompt’ов.
Он анализирует требования задачи, автоматически генерирует тренировочные данные и на основе фидбэка итеративно правит prompt, пока не выйдет на лучший результат.
Поддерживает несколько провайдеров моделей, включая OpenAI и Anthropic. Есть и CLI, и API для интеграции в проекты.
Также есть подробные Jupyter-туториалы — от базового использования до продвинутой кастомизации. Можно начать быстро через командную строку, а потом углубиться.
Если ты разрабатываешь LLM-приложения или уже устал вручную полировать prompt’ы, этот автоматизированный подход точно стоит попробовать.
➡️ Cсылка на GitHub
➡️ GitHub Ready | #урок
При работе с prompt’ами больше всего выматывает не придумывание, а бесконечный перебор вариантов. Поменял одно слово — результат стал хуже, добавил фразу — логика поехала. В итоге куча времени уходит на ручной тюнинг и пробу-ошибку.
Случайно на GitHub попался Promptomatix — фреймворк от Salesforce AI Research, выложенный в open source. Его цель как раз в том, чтобы избавиться от этой ручной возни с оптимизацией prompt’ов.
Он анализирует требования задачи, автоматически генерирует тренировочные данные и на основе фидбэка итеративно правит prompt, пока не выйдет на лучший результат.
Поддерживает несколько провайдеров моделей, включая OpenAI и Anthropic. Есть и CLI, и API для интеграции в проекты.
Также есть подробные Jupyter-туториалы — от базового использования до продвинутой кастомизации. Можно начать быстро через командную строку, а потом углубиться.
Если ты разрабатываешь LLM-приложения или уже устал вручную полировать prompt’ы, этот автоматизированный подход точно стоит попробовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
📚 Physics.Math.Code — самое полезное сообщество физиков, математиков, инженеров и разработчиков:
@physics_lib 👨🏻💻
▪️ Актуальная и самая нужная литература по техническим предметам, программированию и IT
▪️ Видеоуроки по физике, математике и программированию
▪️ Обсуждения и разборы интересных задач
💡 Что почитать по статистике, чтобы начать её понимать?
📚 Подборка по математике для поступающих в ВУЗы
🌀 Подборка: 20 книг по алгоритмам и структурам данных
🐧 Подборка по Linux: 40 книг
@physics_lib 👨🏻💻
▪️ Актуальная и самая нужная литература по техническим предметам, программированию и IT
▪️ Видеоуроки по физике, математике и программированию
▪️ Обсуждения и разборы интересных задач
💡 Что почитать по статистике, чтобы начать её понимать?
📚 Подборка по математике для поступающих в ВУЗы
🌀 Подборка: 20 книг по алгоритмам и структурам данных
🐧 Подборка по Linux: 40 книг
🔥5👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤2👍2😁2
Cosmos — world models для физического AI и робототехники
Cosmos — это платформа для разработки world models: базовые модели, токенайзеры, пайплайны для видео. Предназначена для ускорения разработки физического AI для робототехники и автономных систем. Генерируй видео, предсказывай движения, обучай агентов на симуляциях.
Что важно:
Ссылка на репозиторий
Cosmos — это платформа для разработки world models: базовые модели, токенайзеры, пайплайны для видео. Предназначена для ускорения разработки физического AI для робототехники и автономных систем. Генерируй видео, предсказывай движения, обучай агентов на симуляциях.
Что важно:
➡️ World models для физического AI — модели которые понимают законы физики и движение➡️ Генерация видео — из текста или условия получаешь видео с предсказанными движениями➡️ Для робототехники и автономного вождения — обучай агентов на симуляциях вместо реальности
Ссылка на репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Awesome local LLM
Если хочешь развернуть большую языковую модель локально, легко утонуть в куче инструментов и гайдов. То Ollama, то vLLM, плюс десятки фреймворков для дообучения. В итоге сложно понять, за что браться и какой стек вообще рабочий.
Случайно наткнулся на GitHub-проект Awesome local LLM. По сути, это энциклопедия по запуску LLM локально. Подборка очень полная и при этом хорошо структурирована, помогает быстро разложить весь стек по полочкам.
Внутри есть разделы по inference-платформам, inference-движкам, UI, самим языковым моделям, инструментам для разработки и ещё с десяток категорий. Плюс советы по выбору железа и полезные туториалы.
У каждого проекта указано количество GitHub Stars и короткое описание, так что можно быстро оценить популярность и понять, для чего он нужен. Также собраны обучающие ресурсы, включая YouTube-гайды и обзоры железа.
Если планируешь собирать локальное окружение под LLM или ищешь open source инструменты под конкретные задачи, эту подборку точно стоит сохранить.
👋 Cсылка на GitHub
➡️ GitHub Ready | #урок
Если хочешь развернуть большую языковую модель локально, легко утонуть в куче инструментов и гайдов. То Ollama, то vLLM, плюс десятки фреймворков для дообучения. В итоге сложно понять, за что браться и какой стек вообще рабочий.
Случайно наткнулся на GitHub-проект Awesome local LLM. По сути, это энциклопедия по запуску LLM локально. Подборка очень полная и при этом хорошо структурирована, помогает быстро разложить весь стек по полочкам.
Внутри есть разделы по inference-платформам, inference-движкам, UI, самим языковым моделям, инструментам для разработки и ещё с десяток категорий. Плюс советы по выбору железа и полезные туториалы.
У каждого проекта указано количество GitHub Stars и короткое описание, так что можно быстро оценить популярность и понять, для чего он нужен. Также собраны обучающие ресурсы, включая YouTube-гайды и обзоры железа.
Если планируешь собирать локальное окружение под LLM или ищешь open source инструменты под конкретные задачи, эту подборку точно стоит сохранить.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Отсортировали их для вашего удобства и выложили в телеграм-каналы по категориям:
Всё лучшее про IT бесплатно — уже на Базе
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
OctoFriend — это open source кодинг-ассистент который работает с любой LLM: GPT-5, Claude 4, локальные модели через Ollama. Главная фишка — переключаешься между моделями прямо в чате если одна застряла.
Что важно:
➡️ Работает с любой LLM — OpenAI-compatible, Anthropic-compatible, локальные модели через Ollama➡️ Меняй модели на ходу — если GPT зависла, переключись на Claude, не теряя контекст➡️ MCP серверы — подключай Linear, вики, и другие инструменты для расширенного функционала
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2