Код в мешке
Відкрити в Telegram
Код в мешке - про кодинг, и не только... Это личная записная книжка https://t.me/joinchat/AAAAAEIy6oGlr8oxqTMS5w
Показати більше268
Підписники
+124 години
+47 днів
+830 днів
Архів дописів
268
Git-конфликт своими руками: что происходит с историей на самом деле #habr
https://habr.com/ru/articles/1053136/
Tags: Git-конфликт, конфликт при merge, конфликт при git pull, как решить конфликт в Git, Git history, merge-коммит., конфликт, git, гит
Author: DanielSyrov
268
Как скачать и настроить среду разработки для 1С: Элемент #habr
https://habr.com/ru/articles/1053126/
Tags: 1с_элемент, среда разработки 1с, установка 1С_Элемент, первый проект в 1С_Элемент, Java для 1С_Элемент, IDE_1С, туториал для 1С-разработчиков, разработка на 1С_Элемент, 1ce-installer.exe, Axiom JDK 17
Author: kron_1C
268
Выйди и зайди нормально: как звонок передается из Wi-Fi на LTE #habr
https://habr.com/ru/companies/vasexperts/articles/1051490/
Tags: handover, epdg, wifi calling, vowifi, ims, pgw, 5g, lte, volte, vas experts
Author: VAS_Experts_Team (VAS Experts)
268
Студенты начали списывать на экзаменах при помощи умных очков с ИИ #habr
https://habr.com/ru/news/1053110/
Tags: студенты, экзамены, списывание, умные очки, искусственный интеллект, вузы
268
Незаменимый офис #habr
https://habr.com/ru/articles/1053102/
Tags: AI-агенты, корпоративный ИИ, LLM, информационная безопасность, проектное финансирование, ЦОД
Author: Akudlay_ru
268
ИИшница для киборга #habr
https://habr.com/ru/articles/1053104/
Tags: ии, искусственный интеллект, боль, слоп
Author: SolidSnack
268
Цикл Junior DevOps #habr
https://habr.com/ru/articles/1053054/
Tags: junior, devops, development, linux, linux-сервер, roadmap, roadmap devops
Author: ProfPearo
268
Как вернуть былую энергию после 40? Тренировки, образ жизни, чек-ап, пептиды #habr
https://habr.com/ru/articles/1053020/
Tags: здоровый образ жизни, пептиды, гормоны, тестостерон, тестостерон после 40 лет, тренировки после 40 лет
Author: Terentew
268
Многоэтапные сборки в Docker: как уменьшить образ с 1,2 ГБ до 50 МБ #habr
https://habr.com/ru/companies/netologyru/articles/1051714/
Tags: docker, multi-stage builds, dockerfile, оптимизация Docker-образа, alpine linux, node.js, контейнеризация, buildkit, distroless, cicd
Author: dungle (Нетология)
268
Как безопасно настроить VPS-сервер и защитить сайт, бот и веб-приложение #habr
https://habr.com/ru/companies/amvera/articles/1052852/
Tags: безопасность веб-приложений, защита сайта, защита от ботов, защита от брутфорса, проверка безопасности сайта, проверка безопасности сервера, защита бота, проверка сайта на безопасность, проверка сайта на уязвимости, программная защита сервера
Author: VadimMichaylov (Amvera)
268
Как дать ИИ-агенту работать с данными и не потерять контроль: безопасный data-join через MCP, вместо создания DataLake #habr
https://habr.com/ru/articles/1052948/
Tags: Data-tools
Author: cyber_river
268
Repost from ServerAdmin.ru
+1
На прошлой неделе читал статью про ansible-cmdb. Понравился инструмент. Раньше про него не слышал. Он довольно просто устроен, особенно для тех, кто знает и регулярно использует Ansible в инфраструктуре. Собственно, ansible-cmdb работает на базе Ansible.
Поясню, для тех, кто не в курсе и не работает с Ansible. У неё есть список хостов, куда она имеет доступ по SSH. Соответственно, с помощью Ansible можно ходить по хостам, что-то там делать, собирать информацию. Ansible-cmdb использует вывод модуля setup, который заходит на хосты и собирает о них информацию в так называемые ansible_facts. A ansible-cmdb берёт эту информацию и оформляет в наглядную html страницу.
Как я уже сказал, если вы уже используете Ansible, вам ничего пояснять и настраивать не надо. Просто берёте файл с инвентарём, проходите по нему модулем setup и строите отчёт примерно так:
# mkdir out
# ansible -m setup --tree out/ all
# ansible-cmdb out/ > overview.html
Теперь расскажу, как собрать информацию о хостах для тех, кто вообще не знаком и не настраивал Ansible. Я не буду рассказывать, как с ней работать, а просто по шагам покажу, как вам собрать информацию со своих хостов, даже если вы не хотите изучать и далее использовать Ansible. Хотя, разумеется, современному админу или девопсу крайне желательно уметь с ней работать.
Настраивать всё буду в Debian 12. Рекомендую использовать для этого отдельную виртуалку или контейнер. Ставим необходимые пакеты:
# apt install python3-pip ansible
У ansible-cmdb есть собранный deb пакет. Я изначально использовал его. Но так и не смог заставить работать. Я не знаю, что там за версия python нужна, но у меня постоянно были какие-то ошибки в коде. Залез в репозиторий, в Issues, увидел там похожие ошибки и решение в виде установки через pip, а не из пакета.
Поставил в итоге следующим образом. Это не рекомендованный способ, но для демонстрации работы и простоты делаю так. Когда разберётесь и решите, что вам этот инструмент нужен, устанавливайте и запускайте его через venv. А пока ставим:
# pip install ansible-cmdb --break-system-packages
# ln -s /usr/bin/python3 /usr/bin/python
Теперь нам нужно подготовить конфигурацию ansible. Добавляю минимальную конфигурацию в файл ~/.ansible/ansible.cfg
[defaults]
home = ~/.ansible/
inventory = ~/.ansible/inventory.yaml
remote_user = root
gather_facts = True
private_key_file = ~/.ssh/id_ed25519
host_key_checking = False
И создаю так называемый инвентарь ~/.ansible/inventory.yaml в терминологии Ansible со списком серверов, для которых будем делать отчёт.
all:
hosts:
Debian12-VPS:
ansible_host: 127.0.0.1
ansible_port: 22
Debian12-CT:
ansible_host: 10.20.1.24
ansible_port: 22
Ubuntu24-CT:
ansible_host: 10.20.1.21
ansible_port: 22
Передаю в переменную конфигурацию Ansible:
# export ANSIBLE_CONFIG="$HOME/.ansible/ansible.cfg"
Создаю сертификат, по которому буду подключаться к хостам:
# ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "$(whoami)@$(hostname)_$(date -I)"
Копирую его на хосты в authorized_keys:
# ssh-copy-id root@127.0.0.1
# ssh-copy-id root@10.20.1.24
# ssh-copy-id root@10.20.1.21
Проверяю, видит ли ansible хосты в инвентаре, всё ли верно настроено:
# ansible -i inventory.yaml all --list-hosts
Debian12-VPS
Debian12-CT
Ubuntu24-CT
Всё в порядке, собираем факты:
# mkdir ~/.ansible/out
# ansible -m setup --tree ~/.ansible/out all
Если всё в порядке, и в директории появились текстовые файлы с информацией о хостах, то строим по ним html страничку:
# ansible-cmdb ~/.ansible/out > overview.html
Копируем overview.html к себе на компьютер и смотрим браузером. Получили наглядный список, где в выпадающем списке подробная информация о хостах.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #ansible268
Repost from ServerAdmin.ru
Я привык для установки python приложений использовать либо пакетный менеджер системы apt, либо пакетный менеджер самого python – pip. Это устаревший подход, который имеет много недостатков. Через пакетный менеджер обычно доступны только наиболее популярные приложения. Их список ограничен. А через pip напрямую ставить неудобно, так как это ломает совместимость с приложениями, установленными через apt. Если уж хочется использовать pip, то надо запускать его в изолированном окружении, что тоже создаёт некоторые неудобства в дальнейшем использовании приложений.
Решил разобраться с этой темой. В настоящий момент в deb системах, в частности, Debian и Ubuntu, для установки python приложений лучше использовать pipx. Он позволяет автоматически устанавливать приложения в изолированном окружении, которые вызываются нативно из командной строки, но при этом не конфликтуют с системными пакетами. Сам pipx живёт в базовом репозитории:
# apt install pipx
# pipx ensurepath
# source ~/.profile
Далее его можно использовать для установки приложений. Покажу на недавнем примере с ansible-cmdb. Он получится показательным для раскрытия темы. Его можно поставить через pipx:
# pipx install ansible-cmdb
Но работать установленный таким образом ansible-cmdb не будет. Это связано с тем, что собранный пакет очень старый и не умеет работать в виртуальном окружении, которое создаёт pipx. Последний создаёт символьные ссылки с именем приложения, а сами приложения размещает отдельно в виртуальном окружении. А ansible-cmdb ищет свои ресурсы по жёстко привязанным путям к тому месту, откуда его запустили. С современным приложениями такой проблемы не будет.
В связи с этим нам понадобится ещё одно приложение для работы с пакетами и виртуальными окружениями python – uv. Он, как и pipx, работает в изолированном окружении и не пересекается с системными пакетами. Если pipx используют для установки готовых приложений, то uv для установки зависимостей и создания виртуальных окружений.
Сам uv ставим через pipx:
# pipx install uv
Пример установки зависимостей через uv:
# uv pip install -r requirements.txt
А теперь возвращаемся к ansible-cmdb и запускаем его в виртуальном окружении через uv:
# uv venv .venv
# source .venv/bin/activate
# uv pip install ansible-cmdb
Проверяем:
# ansible-cmdb --help
Теперь ansible-cmdb будет нормально работать напрямую из консоли. Принципиальной разницы в эксплуатации не будет с тем, что я предложил в своей заметке через:
# pip install ansible-cmdb --break-system-packages
Если это всё используется в отдельной виртуалке или контейнере. Но в целом правильно запускать именно так, как я описал в текущей заметке. Это не будет ломать совместимость с системными пакетами и другими python приложениями.
📌 Резюмирую:
◽️pipx используем для установки современных python приложений;
◽️uv для установки зависимостей, библиотек и создания виртуальных окружений в том числе для запуска старых приложений.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#debian #python268
Repost from Библиотека программиста
🍎 Apple выпустила собственную альтернативу Docker Desktop
Новый инструмент container запускает Linux-контейнеры на Mac без стороннего рантайма.
Каждый контейнер работает в собственной microVM, а не внутри общей Linux-виртуалки. Такой подход даёт лучшую изоляцию и безопасность.Пока это не полноценная замена Docker Desktop (например, Compose ещё не хватает), но для владельцев Mac на M-чипах проект выглядит очень перспективно. 💬 Чем пользуетесь на macOS: ❤️ — Docker Desktop ⚡ — OrbStack 🌚 — Apple container 👍 — Podman / другое 🐸 Библиотека программиста
268
Repost from Библиотека программиста
⚡ Если до сих пор открываете всё через поиск Windows — попробуйте Command Palette
Это один из самых полезных инструментов в PowerToys: запускает приложения, команды, файлы и многое другое прямо с клавиатуры.
А ещё поддерживает расширения, которые добавляют новые возможности буквально в пару кликов 🔗
🐸 Библиотека программиста
268
Repost from Библиотека программиста
🍏 Редкий случай, когда обновление ОС ускоряет старое железо
В iOS 27 Apple не просто добавила новые функции, а переписала часть системных механизмов:
⚡ новый CPU scheduler теперь работает даже на iPhone 11;
🔎 Spotlight, Mail и Photos получили полностью новый поисковый движок — новые данные индексируются почти сразу.
По данным Apple:
— запуск приложений — до 30% быстрее;
— AirDrop — до 80% быстрее;
— синхронизация фото — до 70% быстрее.
🐸 Библиотека программиста
268
Repost from Библиотека программиста
🖥 PostgreSQL 19 Beta 1 уже доступна
Самое время проверить, переживут ли ваши миграции и тесты следующий мажорный релиз.
Финальная версия ожидается осенью, а сейчас можно заранее найти несовместимости, проверить производительность и подготовить проекты к обновлению.
💬 На какой версии PostgreSQL сейчас ваши проекты:
❤️ — 18
👍 — 17
🌚 — 16 или старше
🐸 Библиотека программиста
268
Repost from Библиотека программиста
🎬 Где ломаются архитектуры ИИ-агентов и как этого избежать: запись урока от Proglib.Academy и cloud․ru
Proglib.аcademy вместе с cloud․ru провели вебинар, где разобрали реальные боли проектирования автономных систем. Вы просили запись встречи — она уже в открытом доступе!
Что внутри:
— критерии выбора между одним агентом и мультиагентной системой;
— разбор популярных архитектурных ошибок;
— реальные ограничения современных ИИ-агентов;
— практические рекомендации по проектированию агентных систем.
👉 Посмотреть запись можно тут:
● VK
● YouTube
268
Repost from Библиотека программиста
🔥 Два GitHub-трюка, которые экономят кучу времени
Просто замените в URL репозитория
hub → diagram — и вместо дерева файлов получите интерактивную карту проекта.
Второй трюк — github → gitingest. Он превращает весь репозиторий в один структурированный текст, который удобно анализировать через LLM.
Если часто изучаете чужой код — добавляйте в закладки 💡
🐸 Библиотека программиста268
Как безопасно настроить VPS-сервер и защитить сайт, бот и веб-приложение #habr
https://habr.com/ru/companies/amvera/articles/1052852/
Tags: безопасность веб-приложений, защита сайта, защита от ботов, защита от брутфорса, проверка безопасности сайта, проверка безопасности сервера, защита бота, проверка сайта на безопасность, проверка сайта на уязвимости, программная защита сервера
Author: VadimMichaylov (Amvera)
