Все данные и модели остаются локально, а функция «Модели для каждой машины» подбирает оптимальные модели под доступное оборудование. Агент работает сразу после установки без Ollama и отдельного сервера моделей, поддерживает работу с Excel, PDF, Chrome и другими приложениями.
tags: #утилиты #ии #безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2👍2⚡1
Вы научитесь создавать Dockerfile, собирать и запускать образы, работать с Docker Compose, Registry и GitLab CI/CD. Отдельно разберёте внутреннее устройство контейнеров, namespaces, cgroups, capabilities, сети, volumes, multistage-сборки и особенности работы с приложениями на Ruby, PHP, Python, Go и Java.
tags: #обучение #docker
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3⚡2👍2🔥1
pgrep недостаточно: между проверкой и запуском остаётся race condition. flock позволяет синхронизировать процессы через файловую блокировку, причём ядро само снимет её после завершения процесса.Самый простой вариант — заблокировать специальный файл через файловый дескриптор. Второй экземпляр сразу завершится, если первый ещё работает.
#!/usr/bin/env bash
exec 9>/run/myapp-sync.lock
if ! flock -n 9; then
echo "Задача уже выполняется" >&2
exit 1
fi
echo "Начинаем синхронизацию..."
sleep 30
echo "Синхронизация завершена"
Блокировка может быть не общей для всего скрипта. Например, несколько задач разрешено выполнять одновременно, но один и тот же сервер нельзя обрабатывать параллельно. Теперь
deploy server-01 и deploy server-02 могут работать одновременно, а два процесса для server-01 не пересекутся.#!/usr/bin/env bash
host="$1"
lock="/run/myapp-${host}.lock"
exec 9>"$lock"
if ! flock -n 9; then
echo "$host уже обрабатывается" >&2
exit 2
fi
echo "Deploy: $host"
ssh "$host" "deploy.sh"
echo "Done: $host"
flock умеет не только мгновенно отказываться от занятого ресурса. Можно заставить процесс ждать определённое время, что удобно для очередей фоновых задач.#!/usr/bin/env bash
exec 9>/run/report.lock
if ! flock -w 60 9; then
echo "Не удалось получить блокировку за 60 секунд" >&2
exit 1
fi
echo "Получили lock, выполняем задачу"
./generate-report.sh
flock даёт Bash нормальную межпроцессную синхронизацию без ps, pgrep, PID-файлов и ручной обработки «зависших» lock-файлов. Особенно полезно для cron-задач, deploy-скриптов, миграций, backup и любых job, которые не должны выполняться одновременно.tags: #bash #автоматизация #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍6🔥2👨💻1
Она удаляет временные файлы, кэши, остаточные данные приложений и помогает анализировать использование диска, управлять автозагрузкой, службами и программами. Все сканирование и очистка выполняются локально, без рекламы, навязанного ПО и подписок.
tags: #утилиты #безопасность #полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥6👍4⚡2
Он реализует Unified Harness Protocol и объединяет разные агентские среды под единым интерфейсом с поддержкой сессий, потоковой передачи, файлов, артефактов и отмены задач. Можно переключаться между разными harness и моделями, сохраняя собственную инфраструктуру и API-ключи.
tags: #утилиты #ии #docker
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5⚡3🔥1
Вы разберётесь, как код проходит путь от синтаксиса до машинных инструкций, изучите устройство ОС, calling convention, syscall и ассемблер в Go. Также освоите
unsafe, runtime, reflect, debug и профилирование CPU, памяти и блокировок для поиска узких мест.tags: #обучение #go #оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3👍2👨💻1
nodeAffinity можно привязать Pod к собственным меткам узлов и использовать их как механизм автоматического размещения: например, отправлять тяжёлые задачи только на машины с NVMe, определённым типом сети или специальным системным ПО.Вместо жёсткой привязки к имени конкретного сервера добавляем метку, описывающую его возможность. Если узлы изменятся, Pod продолжит работать без изменения манифеста.
kubectl label node worker-01 storage.nvme=true
kubectl label node worker-02 storage.nvme=true
kubectl label node worker-03 storage.nvme=false
requiredDuringSchedulingIgnoredDuringExecution превращает метку в обязательное условие планирования. Kubernetes не разместит Pod на узле, который ему не соответствует.apiVersion: v1
kind: Pod
metadata:
name: fast-worker
spec:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: storage.nvme
operator: In
values:
- "true"
containers:
- name: worker
image: my-worker:latest
Можно описать несколько допустимых условий. Например, Pod может работать либо на узле с NVMe, либо на узле с локальным SSD. Это позволяет сохранить гибкость кластера, не привязывая workload к конкретному железу.
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: storage.nvme
operator: In
values: ["true"]
- matchExpressions:
- key: storage.local
operator: In
values: ["true"]
tags: #k8s #devops #полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2👍2🔥2❤1👨💻1
Он работает как MITM-прокси с журналами и расширенным поиском, позволяет перехватывать, редактировать и повторно отправлять HTTP-запросы. Встроенный HTTP-клиент, поддержка областей и проектное хранение данных упрощают ручное тестирование и анализ запросов.
tags: #утилиты #безопасность #сети
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2⚡1🔥1
Она преобразует запросы на естественном языке в управляемые и проверяемые действия, объединяя агентов, MCP-инструменты, визуальные рабочие процессы и аудит операций. Платформа поддерживает роли и права доступа, ручное подтверждение действий, журналирование и управление уязвимостями.
tags: #утилиты #ии #безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4⚡3🔥3👍1
Вы научитесь работать с алгоритмами и структурами данных, синхронизировать процессы и потоки, обрабатывать прерывания и управлять памятью ядра. Полученные навыки помогут участвовать в проектах, связанных с разработкой и развитием Linux.
tags: #обучение #linux #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥2👨💻1
import sqlite3
import time
db = sqlite3.connect("jobs.db", isolation_level=None)
db.execute("""
CREATE TABLE IF NOT EXISTS jobs (
id INTEGER PRIMARY KEY,
payload TEXT NOT NULL,
status TEXT NOT NULL DEFAULT 'pending',
created_at REAL NOT NULL
)
""")
db.execute("""
INSERT INTO jobs (payload, created_at)
VALUES (?, ?)
""", ("deploy server-01", time.time()))
while True:
with db:
job = db.execute("""
SELECT id, payload
FROM jobs
WHERE status = 'pending'
ORDER BY id
LIMIT 1
""").fetchone()
if not job:
break
db.execute(
"UPDATE jobs SET status = 'running' WHERE id = ?",
(job[0],)
)
try:
print(f"Выполняем: {job[1]}")
# здесь выполняется реальная задача
time.sleep(2)
db.execute(
"UPDATE jobs SET status = 'done' WHERE id = ?",
(job[0],)
)
except Exception:
db.execute(
"UPDATE jobs SET status = 'failed' WHERE id = ?",
(job[0],)
)
• Задача сначала записывается на диск, поэтому перезапуск процесса не уничтожает очередь.
• Состояния
pending, running, done и failed позволяют восстановить состояние автоматизации после сбоя.• SQLite поддерживает транзакции, блокировки и WAL, поэтому для небольших локальных job-очередей отдельный брокер сообщений может быть избыточен.
tags: #python #автоматизация #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4⚡3👨💻2👍1
В комплекте есть Podman, Docker и LXC, полноценная виртуальная машина Alpine Linux через QEMU и аппаратное ускорение на совместимых устройствах. Также доступны графический X11-рабочий стол, встроенный терминал, SSH, проброс портов и USB, общий доступ к папке загрузок и резервное копирование контейнеров.
tags: #утилиты #android #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4❤2⚡1
Агенты помогают структурировать заметки, искать и связывать информацию, обрабатывать записи встреч, управлять почтой и календарём. Диспетчер автоматически выбирает подходящего агента или навык под задачу, а собственных агентов можно создавать под конкретные рабочие процессы.
tags: #утилиты #ии #obsidian
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4⚡2🔥1
Вы освоите SELECT, фильтрацию, группировку, JOIN, подзапросы, DDL и DML, а также функции для работы с текстом, числами и датами. Отдельно разберёте оконные функции, представления, триггеры, нормализацию и применение SQL на бизнес-кейсах и тестовых заданиях.
tags: #обучение #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2👍1👨💻1
realpath() → сравнение префикса → open() имеет race condition: между проверкой и открытием путь может измениться через symlink. Системный вызов openat2() позволяет передать ядру правила разрешения пути и выполнить проверку непосредственно во время открытия.RESOLVE_BENEATH не позволяет разрешённому пути выбраться выше переданного directory FD через ../. Это полезно для архиваторов, файловых API, sandbox'ов и серверов, которые принимают путь от пользователя.#define _GNU_SOURCE
#include <linux/openat2.h>
#include <sys/syscall.h>
#include <fcntl.h>
#include <unistd.h>
struct open_how how = {
.flags = O_RDONLY,
.resolve = RESOLVE_BENEATH,
};
int root = open("/srv/data", O_PATH | O_DIRECTORY);
int fd = syscall(
SYS_openat2,
root,
"reports/2026/result.json",
&how,
sizeof(how)
);
RESOLVE_NO_SYMLINKS заставляет ядро отклонять symlink на любом участке пути. Это намного надёжнее ручной проверки отдельных компонентов пути.struct open_how how = {
.flags = O_RDONLY,
.resolve = RESOLVE_BENEATH | RESOLVE_NO_SYMLINKS,
};
int fd = syscall(
SYS_openat2,
root,
"uploads/user/file.txt",
&how,
sizeof(how)
);С
RESOLVE_IN_ROOT переданный directory FD становится виртуальным корнем именно для этого открытия. Даже абсолютный путь внутри операции интерпретируется относительно него.struct open_how how = {
.flags = O_RDONLY,
.resolve = RESOLVE_IN_ROOT | RESOLVE_NO_SYMLINKS,
};
int root = open("/srv/app", O_PATH | O_DIRECTORY);
int fd = syscall(
SYS_openat2,
root,
"/config/settings.json",
&how,
sizeof(how)
);openat2() переносит контроль безопасности путей из пользовательского кода прямо в ядро. Для файловых сервисов и sandbox'ов это позволяет избавиться от хрупких комбинаций realpath(), проверок ../ и борьбы с symlink race.tags: #linux #безопасность #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥3👨💻1
Модуль показывает связи между хостами, проблемы, трафик, состояние работоспособности и географические данные, используя обнаруженные через LLDP/CDP соединения. Всё работает непосредственно внутри Zabbix без дополнительного сервера, а одни и те же данные можно использовать для карт, графиков, таблиц и информационных панелей.
tags: #утилиты #zabbix #мониторинг
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡4❤4👍2🔥1
Он поддерживает выполнение команд, передачу файлов по SFTP, синхронизацию каталогов, переадресацию портов и сбор сведений о состоянии системы. Для контроля доступа используются белые и чёрные списки команд, ограничения локальных и удалённых путей, а секреты передаются через переменные окружения.
tags: #утилиты #ии #ssh
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥2⚡1
Вы научитесь управлять пользователями и доступом, настраивать серверные сети, программное обеспечение, файловые и почтовые сервисы. Также разберёте корпоративные шлюзы, отказоустойчивые кластеры, балансировку между провайдерами и контейнерную виртуализацию.
tags: #обучение #linux #полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥4👍2👨💻1
PID 1 и получает специальные правила обработки сигналов. Для приложений, которые порождают дочерние процессы, это может приводить к зомби-процессам и некорректному завершению. Docker умеет решить это через встроенный init.Флаг
--init добавляет небольшой init-процесс внутрь контейнера. Он становится PID 1, принимает сигналы и собирает завершившиеся дочерние процессы.docker run --init \
--name worker \
my-worker:latest
Для сервисов, которые запускают subprocess'ы, эту настройку можно закрепить непосредственно в
compose.yaml. Тогда поведение не зависит от того, кто и как запускает контейнер.services:
worker:
image: my-worker:latest
init: true
stop_grace_period: 30s
После запуска можно посмотреть дерево процессов внутри контейнера. Это особенно полезно при отладке graceful shutdown и приложений, которые запускают внешние команды.
docker exec worker ps -eo pid,ppid,stat,cmd
docker stop --time 30 worker
--init полезен не только для «красивого завершения» контейнера. Если приложение создаёт дочерние процессы, встроенный init берёт на себя обязанности PID 1 и помогает корректно обрабатывать сигналы и reaping дочерних процессов без установки полноценного systemd внутри контейнера.tags: #docker #devops #полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🐳3🔥2👍1
Он отслеживает сетевые соединения, блокирует трекеры и вредоносное ПО и позволяет задавать глобальные или индивидуальные правила для приложений. Также поддерживает защищённый DNS через DoH и DoT и полный запрет сетевой активности при необходимости.
tags: #утилиты #безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍2⚡1
Исправления автоматически собираются, а после проверки добавляются в
CLAUDE.md и становятся постоянной памятью между сессиями. Анализ истории также находит повторяющиеся задачи и предлагает превращать их в переиспользуемые команды, а исправления внутри навыков помогают улучшать их работу.tags: #утилиты #ии #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥3⚡2