⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
Нерйросети t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javanoscript: t.me/javanoscriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: 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://news.1rj.ru/str/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://news.1rj.ru/str/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://news.1rj.ru/str/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://news.1rj.ru/str/addlist/BkskQciUW_FhNjEy
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
Нерйросети t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javanoscript: t.me/javanoscriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: 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://news.1rj.ru/str/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://news.1rj.ru/str/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://news.1rj.ru/str/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://news.1rj.ru/str/addlist/BkskQciUW_FhNjEy
❤2
Трюки для ускорения Docker-образов на проде
Контейнеры — сердце современных приложений. Но тяжёлые образы = медленные деплои и высокие затраты. Как ускорить образы без боли?
⸻
Мультистейдж билды — must have
Используй multi-stage builds, чтобы собрать приложение в одном контейнере, а продакшн-образ сделать минимальным:
Минимизируй базовые образы
Выбирай облегчённые базовые образы:
• alpine вместо ubuntu
• distroless для максимальной безопасности и минимального веса
Оптимизируй порядок слоёв
Чем выше изменяемость — тем ниже слой:
• Сначала COPY go.mod, npm package.json, установка зависимостей
• Потом COPY . . с кодом проекта
Это позволяет кэшировать большую часть слоёв даже при частых изменениях кода.
Чисть за собой
Всегда удаляй временные файлы и зависимости для сборки:
Сжимай образы
Используй docker-slim — он автоматически оптимизирует образ, удаляя всё ненужное:
Как применять и чего избегать
• В продакшне старайся держать образы <100MB
• Не добавляй лишние пакеты “на всякий случай”
• Проверяй образы на уязвимости: trivy image your-app:tag
#devops #девопс
Контейнеры — сердце современных приложений. Но тяжёлые образы = медленные деплои и высокие затраты. Как ускорить образы без боли?
⸻
Мультистейдж билды — must have
Используй multi-stage builds, чтобы собрать приложение в одном контейнере, а продакшн-образ сделать минимальным:
# Сборка
FROM golang:1.22 as builder
WORKDIR /app
COPY . .
RUN go build -o app
# Продакшн
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/app .
CMD ["./app"]Минимизируй базовые образы
Выбирай облегчённые базовые образы:
• alpine вместо ubuntu
• distroless для максимальной безопасности и минимального веса
Оптимизируй порядок слоёв
Чем выше изменяемость — тем ниже слой:
• Сначала COPY go.mod, npm package.json, установка зависимостей
• Потом COPY . . с кодом проекта
Это позволяет кэшировать большую часть слоёв даже при частых изменениях кода.
Чисть за собой
Всегда удаляй временные файлы и зависимости для сборки:
RUN apt-get install -y build-essential && \
make build && \
apt-get remove --purge -y build-essential && \
apt-get autoremove -y && \
apt-get cleanСжимай образы
Используй docker-slim — он автоматически оптимизирует образ, удаляя всё ненужное:
docker-slim build --http-probe my-app:latestКак применять и чего избегать
• В продакшне старайся держать образы <100MB
• Не добавляй лишние пакеты “на всякий случай”
• Проверяй образы на уязвимости: trivy image your-app:tag
#devops #девопс
👍8❤4🔥2
Forwarded from DevOps
This media is not supported in your browser
VIEW IN TELEGRAM
Zev 🔍
Это помощник для работы с терминалом на естественном языке.
Он помогает быстро находить нужные команды и сохранять их в избранное, а его простой и понятный интерфейс делает освоение терминала доступным даже для новичков.
📌 Github
@DevopsDocker
Это помощник для работы с терминалом на естественном языке.
Он помогает быстро находить нужные команды и сохранять их в избранное, а его простой и понятный интерфейс делает освоение терминала доступным даже для новичков.
pip install zev📌 Github
@DevopsDocker
❤4👍2👎1🔥1
Forwarded from DevOps
👾 eBPF вместо прокси: новый подход к масштабированию в Kubernetes.
Инженеры WSO2 предложили нестандартное решение для scale-to-zero в Kubernetes — отказ от прокси в пользу eBPF. Они создали прототип, где eBPF-программа на уровне XDP перехватывает пакеты, инициируя масштабирование сервисов без промежуточного слоя.
🧑💻 Как это работает?
— eBPF-драйвер отслеживает запросы к остановленным сервисам, временно блокируя их и запуская масштабирование
— После готовности POD запрос проходит напрямую, минуя прокси
— Подход работает для любых TCP-сервисов, включая базы данных
Преимущества:
— Работает для любых TCP-сервисов (не только HTTP)
— Снижение latency на 30-50% по сравнению с прокси-решениями
— Полная совместимость с существующими сетевыми политиками
— Поддержка даже stateful-сервисов вроде PostgreSQL
🔗 Ссылка - *клик*
@devopsitsec
Инженеры WSO2 предложили нестандартное решение для scale-to-zero в Kubernetes — отказ от прокси в пользу eBPF. Они создали прототип, где eBPF-программа на уровне XDP перехватывает пакеты, инициируя масштабирование сервисов без промежуточного слоя.
🧑💻 Как это работает?
— eBPF-драйвер отслеживает запросы к остановленным сервисам, временно блокируя их и запуская масштабирование
— После готовности POD запрос проходит напрямую, минуя прокси
— Подход работает для любых TCP-сервисов, включая базы данных
Преимущества:
— Работает для любых TCP-сервисов (не только HTTP)
— Снижение latency на 30-50% по сравнению с прокси-решениями
— Полная совместимость с существующими сетевыми политиками
— Поддержка даже stateful-сервисов вроде PostgreSQL
🔗 Ссылка - *клик*
@devopsitsec
👍7❤6🥰1
@devopsitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🥰1
🐧 Как работает Linux: за кулисами ядра!
Поговорим про базу!
Linux — это не просто операционная система, это целый мир, в котором ядро управляет всем: от запуска программ до работы устройств.
▪ Ядро (Kernel)
Главное «сердце» системы. Оно управляет:
• процессором
• памятью
• устройствами
• сетью
• файловыми системами
▪ Процессы и потоки
Каждое ваше приложение — это процесс. Ядро решает, когда и какой процесс получит доступ к CPU, создавая ощущение параллельной работы.
▪ Системные вызовы
Программы не обращаются напрямую к железу — они используют системные вызовы (syscalls), чтобы попросить ядро выполнить задачи: открыть файл, отправить данные по сети и т.д.
▪ Безопасность и права доступа
Каждый файл и процесс имеют владельца и права. Это ключ к безопасности: ни один пользователь не может трогать чужие файлы без разрешения.
▪ Модули ядра
Linux умеет «подгружать» драйверы на лету. Например, подключили новую флешку — ядро сразу добавляет модуль для работы с ней.
💡 Факт:
Именно ядро Linux стоит за Android, серверами Google, суперкомпьютерами и миллиардами устройств по всему миру.
Linux — это не просто ОС. Это симфония процессов и устройств под управлением ядра, которая делает возможным всё — от работы веб-сайтов до запуска ракет 🚀
#Linux #Kernel #DevOps #ОС #Технологии
Поговорим про базу!
Linux — это не просто операционная система, это целый мир, в котором ядро управляет всем: от запуска программ до работы устройств.
▪ Ядро (Kernel)
Главное «сердце» системы. Оно управляет:
• процессором
• памятью
• устройствами
• сетью
• файловыми системами
▪ Процессы и потоки
Каждое ваше приложение — это процесс. Ядро решает, когда и какой процесс получит доступ к CPU, создавая ощущение параллельной работы.
▪ Системные вызовы
Программы не обращаются напрямую к железу — они используют системные вызовы (syscalls), чтобы попросить ядро выполнить задачи: открыть файл, отправить данные по сети и т.д.
▪ Безопасность и права доступа
Каждый файл и процесс имеют владельца и права. Это ключ к безопасности: ни один пользователь не может трогать чужие файлы без разрешения.
▪ Модули ядра
Linux умеет «подгружать» драйверы на лету. Например, подключили новую флешку — ядро сразу добавляет модуль для работы с ней.
💡 Факт:
Именно ядро Linux стоит за Android, серверами Google, суперкомпьютерами и миллиардами устройств по всему миру.
Linux — это не просто ОС. Это симфония процессов и устройств под управлением ядра, которая делает возможным всё — от работы веб-сайтов до запуска ракет 🚀
#Linux #Kernel #DevOps #ОС #Технологии
👍10❤4
🔁 CI/CD и Kubernetes: как внедрить лучшие практики контейнеров
☸️ Пример манифеста для Kubernetes
🛡 Безопасность, ограничение ресурсов, probes — всё в боевом шаблоне.
---
### 🛠 Пример CI-пайплайна (GitLab CI)
⚡ Использует:
- BuildKit для кэширования и ускорения сборки
-
- Тестирует контейнер перед пушем
- Пушит только из
📌 На заметку
- Используй
- В CI сканируй образы через Trivy, Grype или Snyk
- Для прода лучше использовать
🧠 Контейнер — это артефакт, который живёт дальше: в k8s, CI/CD, observability. Поэтому его здоровье — это здоровье всего DevOps-процесса.
☸️ Пример манифеста для Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-deployment
spec:
replicas: 3
selector:
matchLabels:
app: your-app
template:
metadata:
labels:
app: your-app
spec:
containers:
- name: app
image: yourrepo/app:latest
resources:
limits:
memory: "512Mi"
cpu: "1000m"
requests:
memory: "256Mi"
cpu: "500m"
securityContext:
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
runAsNonRoot: true
capabilities:
drop:
- ALL
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 10
periodSeconds: 20
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
🛡 Безопасность, ограничение ресурсов, probes — всё в боевом шаблоне.
---
### 🛠 Пример CI-пайплайна (GitLab CI)
stages:
- build
- test
- push
variables:
DOCKER_BUILDKIT: 1
build:
stage: build
image: docker:latest
services:
- docker:dind
noscript:
- docker build --target production -t yourrepo/app:$CI_COMMIT_SHA .
- docker tag yourrepo/app:$CI_COMMIT_SHA yourrepo/app:latest
test:
stage: test
image: yourrepo/app:$CI_COMMIT_SHA
noscript:
- ./run_tests.sh
push:
stage: push
noscript:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin
- docker push yourrepo/app:$CI_COMMIT_SHA
- docker push yourrepo/app:latest
only:
- main
⚡ Использует:
- BuildKit для кэширования и ускорения сборки
-
multi-stage Dockerfile - Тестирует контейнер перед пушем
- Пушит только из
main📌 На заметку
- Используй
opa-gatekeeper или Kyverno для валидации безопасности в Kubernetes - В CI сканируй образы через Trivy, Grype или Snyk
- Для прода лучше использовать
immutable теги, например yourrepo/app:1.4.23🧠 Контейнер — это артефакт, который живёт дальше: в k8s, CI/CD, observability. Поэтому его здоровье — это здоровье всего DevOps-процесса.
👍7🔥4
Forwarded from DevOps Docker
Расширенный_гайд_по_Docker_для_DevOps_специалистов_1_2.pdf
391.1 KB
• как устроен Docker изнутри
• как упаковать любое приложение в контейнер
• как запускать десятки сервисов одной командой
• как дебажить, оптимизировать и защищать контейнеры
• как не сойти с ума с volumes, networks и образами
Сохраняй и делись с коллегами, чтобы не потерять
@DevopsDocker
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥2
Файловые системы \ FS \ sfdisk \ e2label \ mkfs \
предоставляющая возможность журналирования с целью
сохранения данных и возможность быстро перезагружать
систему после некорректного завершения ее работы
не поддерживающая функцию журналирования
iso9660 - появилась из файловой системы High Sierra (была стандартом для компакт-дисков)
и может содержать расширения Rock Ridge для обеспечения возможности
использования длинных имен файлов и других функций (полномочия доступа
к файлу, права собственности и ссылки)
эффективной работы с USB-накопителями
с большими файловыми системами и средами с высокой производительностью
носители MS-DOS, например старые дискеты
в файловые системы Windows (с двойной загрузкой или на сменных носителях)
Slackware и других операционных системах Linux
данных и используемая на многих Live CD Linux
когда оперативная память временно недоступна
и SunOS от корпорации Sun Microsystems
если файловым системам нужно обмениваться файлами
с более старыми системами Windows (с двойной загрузкой или на сменных носителях)
размер которой может расширяться до многих терабайт данных,
а скорость передачи данных в которой исчисляется гигабайтами в секунду
(например в /etc/fstab монтирование по метке)
поиск поврежденных блоков
и добавляет разделу метку
umount /mnt/image - отмонтмровать /mnt/image
ext3 - Наиболее распространенная файловая система Linux, предоставляющая возможность журналирования с целью
сохранения данных и возможность быстро перезагружать
систему после некорректного завершения ее работы
ext2 - Файловая система, предшествующая ext3, не поддерживающая функцию журналирования
iso9660 - появилась из файловой системы High Sierra (была стандартом для компакт-дисков)
и может содержать расширения Rock Ridge для обеспечения возможности
использования длинных имен файлов и других функций (полномочия доступа
к файлу, права собственности и ссылки)
jffs2 - Журналируемая файловая система для флэш-носителей, созданная для эффективной работы с USB-накопителями
jfs - Файловая система, используемая на IBM в OS/2 Warp и настроенная на работу с большими файловыми системами и средами с высокой производительностью
msdos - Может использоваться для монтирования файловых систем на устаревшие носители MS-DOS, например старые дискеты
ntfs - Может быть полезна, когда есть необходимость передавать файлы в файловые системы Windows (с двойной загрузкой или на сменных носителях)
reiserfs - Журналируемая файловая система, иногда используемая по умолчанию на SUSE, Slackware и других операционных системах Linux
squashfs - Запакованная файловая система, предназначенная только для чтения данных и используемая на многих Live CD Linux
swap - Используется на разделах подкачки для временного хранения данных, когда оперативная память временно недоступна
ufs - Популярная файловая система операционных систем Solaris и SunOS от корпорации Sun Microsystems
vfat - Расширенная файловая система FAT (VFAT), которая полезна, если файловым системам нужно обмениваться файлами
с более старыми системами Windows (с двойной загрузкой или на сменных носителях)
xfs - Журналируемая файловая система для среды с высокой производительностью, размер которой может расширяться до многих терабайт данных,
а скорость передачи данных в которой исчисляется гигабайтами в секунду
sfdisk - программа для работы с таблицей разделов жесткого дискаsfdisk -d /dev/sda > sda-table - Выполняет резервное копирование таблицы разбиения в файл sfdisk /dev/sda < sda-table - Восстанавливает таблицу разбиения из файлаsfdisk -d /dev/sda | sfdisk /dev/sdb - Копирует таблицу разбиения с одного диска на другойfdisk - программа для работы с таблицей разделов жесткого диска (устарела)e2label /dev/sda2 - посмотреть метку второго разделаe2label /dev/sda2 my_lable_name - назначить метку my_lable_name второму разделуfindfs LABEL=my_lable_name - ищем раздел по метке (например в /etc/fstab монтирование по метке)
mkfs -t ext3 /dev/sdb1 - Создает файловую систему ext3 на разделе sba1mkfs -t ext3 -v -c /dev/sdb1 - Расширенная команда, выполняющая также поиск поврежденных блоков
mkfs.ext3 -с /dev/sdb1 - Создает файловую систему ext3 на разделе sba1mkfs.ext3 -с -L mypartition /dev/sdb1 - Создает файловую систему ext3 на разделе sba1 и добавляет разделу метку
dd if=/dev/scd0 of=name_file.iso bs=2048 - извлекаем образ iso с cd/dvd dd if=/dev/zero of=my_disk count=2048000 - Создаем заполненный нулями файл объемом 1 Гбайтdu -sh my_disk - Проверяем размер виртуальной файловой системыmkfs -t ext3 my_disk - Создаем файловую систему на mydiskmkdir /mnt/image - создаем пустой каталогmount -o loop my_disk /mnt/image - монтируем my_disk в пустой каталог cd /mnt/image - переходим в каталог /mnt/imagemkdir test - создаем каталог test cp /etc/hosts - копируем /etc/hosts в текущий каталогcd .. - переходим на уровень выше (выходим из текущего каталога)umount /mnt/image - отмонтмровать /mnt/image
👍5❤4👎1
Forwarded from Machinelearning
Moonshot AI пополнил свое семейство Kimi моделью Kimi-Dev-72B, специализированной для программирования и разработанной для решения задач инженерии ПО. Она, как заявляют разработчики, особо эффективна в исправлении ошибок и написании тестов.
Ее сила в том, что она не просто пишет код, а имитирует мышление программиста, учитывая последствия изменений и проверяя их в автоматизированных тестах.
Специализация Kimi-Dev-72B состоит из 2 ролей: BugFixer (исправление ошибок) и TestWriter (написание тестов).
Эти роли работают в тандеме: BugFixer находит файлы, требующие правок, и предлагает код, который устраняет баг, а TestWriter создает тесты, которые должны провалиться без исправления и пройти после него. Обе роли используют одинаковый двухэтапный процесс — сначала локализация файла, затем редактирование кода.
Модель училась на данных с GitHub: миллионы задач и коммитов из реальных проектов. За основу взяли базовую Qwen 2.5-72B, которую дообучали на ~150 млрд. токенов, тщательно фильтруя данные, чтобы исключить тестовые наборы SWE-bench.
В процессе обучения с подкреплением, модель получала награду только если все тесты в Docker проходили успешно. Также применяли «умные» подсказки, отсеивая заведомо сложные задачи, и постепенное усложнение, добавляя сложные примеры по мере прогресса.
Kimi-Dev показала рекордные 60,4% на тесте SWE-bench Verified среди open-source решений.
В будущем планируется интеграция с IDE, CI/CD, чтобы сделать модель частью ежедневного рабочего процесса разработчиков.
@ai_machinelearning_big_data
#AI #ML #LLM #KimiDev #MoonshotAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3👍2
Книга: «Изучаем OpenTelemetry: современный мониторинг систем»
OpenTelemetry сегодня – это отраслевой стандарт сбора и передачи данных телеметрии, а также набор инструментов, позволяющий интерпретировать подаваемые системой сигналы о своем состоянии. Основатели проекта Тед Янг и Остин Паркер создали руководство изучению OpenTelemetry для всех, кто хочет глубоко разобраться в наблюдаемости.
Что внутри?
✔ Настройка и диагностика OpenTelemetry.
✔ Лучшие практики наблюдаемости для Kubernetes, AWS Lambda и других облачных сервисов.
✔ Как инструментировать свои сервисы и библиотеки с помощью OpenTelemetry.
Выведите мониторинг на новый уровень с книгой «Изучаем OpenTelemetry»! 🚀
🖇 Ссылка на книгу
erid: 2VtzqxBKJ86
OpenTelemetry сегодня – это отраслевой стандарт сбора и передачи данных телеметрии, а также набор инструментов, позволяющий интерпретировать подаваемые системой сигналы о своем состоянии. Основатели проекта Тед Янг и Остин Паркер создали руководство изучению OpenTelemetry для всех, кто хочет глубоко разобраться в наблюдаемости.
Что внутри?
✔ Настройка и диагностика OpenTelemetry.
✔ Лучшие практики наблюдаемости для Kubernetes, AWS Lambda и других облачных сервисов.
✔ Как инструментировать свои сервисы и библиотеки с помощью OpenTelemetry.
Выведите мониторинг на новый уровень с книгой «Изучаем OpenTelemetry»! 🚀
🖇 Ссылка на книгу
erid: 2VtzqxBKJ86
❤3💩3
Forwarded from Machinelearning
FlexTok - метод токенизации изображений, который преобразует 2D-изображения в упорядоченные 1D-последовательности переменной длины.
Его цель - сократить объем данных, необходимых для обучения генеративных моделей, и при этом оставить достаточную информацию для качественной реконструкции и генерации.
В отличие от традиционных подходов, где число токенов фиксировано и зависит только от размера изображения, FlexTok подстраивается под сложность контента: простейшая сцена может кодироваться несколькими токенами, а сложная - десятками и сотнями .
FlexTok, это по сути, пайплайн из 3 компонентов: ViT‑энкодер, квантование регистров и маскирование внимания:
ViT‑энкодер с набором «регистровых» токенов читает латентные представления VAE‑GAN и конденсирует их в 1D-последовательность до 256 регистров .
Затем, с помощью FSQ‑квантования, каждый регистр дискретизируется в код из заранее определенного словаря размером ~64 000.
На этом этапе применяется "nested dropout": во время обучения случайно обрезаются последние токены, чтобы модель научилась упорядочивать информацию от грубых форм к деталям.
Параллельно применяется авторегрессионная маска внимания: каждый токен в цепочке видит только те, что были до него, и не знает о тех, что идут после. Это заставляет модель генерировать изображения шаг за шагом, от первого токена к последнему, и упрощает ей задачу прогнозирования следующих элементов.
Декодер в FlexTok - это модель rectified flow, которая на вход берет укороченные токены и слегка зашумленные латенты VAE и учится предсказывать тот шум, который нужно убрать, чтобы вернуть исходное представление.
Чтобы обучение шло быстрее и давало более точные результаты, добавляют REPA‑Loss: он сравнивает промежуточные признаки с векторами из DINOv2‑L. Благодаря этому даже при очень жесткой компрессии (от 1 до 256 токенов), FlexTok успешно восстанавливает детали изображения.
FlexTok легко встраивается в текстово‑ориентированные модели и может улучшить соответствие изображения описанию, даже если число токенов меняется. К тому же его адаптивная токенизация применима не только к картинкам, но и к аудио или видео.
@ai_machinelearning_big_data
#AI #ML #Tokenizer #Flextok #Apple
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
📊 Лучшие базы данных — и где они уместны
1. PostgreSQL — универсальная реляционная БД
→ бизнес-приложения, аналитика, геоданные (PostGIS), JSON + SQL в одном
2. SQLite — встраиваемая БД без сервера
→ мобильные приложения, локальное хранение, CLI-инструменты, тесты
3. MySQL / MariaDB — быстрые SQL-БД для веба
→ сайты, CMS, WordPress, стартапы с LAMP-стеком
4. MongoDB — документо-ориентированная NoSQL
→ JSON‑подобные данные, прототипы, быстро меняющиеся схемы
5. Redis — in-memory key-value store
→ кеширование, очереди, счётчики, real-time метрики
6. ClickHouse — колоночная аналитическая БД
→ аналитика, лог-системы, BI‑дашборды, миллиарды строк — за миллисекунды
7. Neo4j — графовая БД
→ социальные графы, связи между сущностями, рекомендации
8. TimescaleDB — time-series над PostgreSQL
→ телеметрия, мониторинг, временные ряды, IoT
9. Cassandra — масштабируемая распределённая NoSQL
→ high-availability, терабайты данных, логика без JOIN-ов
10. DuckDB — аналитика в памяти, как SQLite для данных
→ локальный OLAP, ML‑воркфлоу, быстрые data pipelines
#databases #backend #dev #sql #nosql
1. PostgreSQL — универсальная реляционная БД
→ бизнес-приложения, аналитика, геоданные (PostGIS), JSON + SQL в одном
2. SQLite — встраиваемая БД без сервера
→ мобильные приложения, локальное хранение, CLI-инструменты, тесты
3. MySQL / MariaDB — быстрые SQL-БД для веба
→ сайты, CMS, WordPress, стартапы с LAMP-стеком
4. MongoDB — документо-ориентированная NoSQL
→ JSON‑подобные данные, прототипы, быстро меняющиеся схемы
5. Redis — in-memory key-value store
→ кеширование, очереди, счётчики, real-time метрики
6. ClickHouse — колоночная аналитическая БД
→ аналитика, лог-системы, BI‑дашборды, миллиарды строк — за миллисекунды
7. Neo4j — графовая БД
→ социальные графы, связи между сущностями, рекомендации
8. TimescaleDB — time-series над PostgreSQL
→ телеметрия, мониторинг, временные ряды, IoT
9. Cassandra — масштабируемая распределённая NoSQL
→ high-availability, терабайты данных, логика без JOIN-ов
10. DuckDB — аналитика в памяти, как SQLite для данных
→ локальный OLAP, ML‑воркфлоу, быстрые data pipelines
#databases #backend #dev #sql #nosql
🔥9❤3👍2
🧠 Linux: заморозка процесса без SIGSTOP
Обычно чтобы «заморозить» процесс, мы шлём ему
🔥 Процесс «замораживается» полностью: 0% CPU, не отвечает на запросы, но не убивается, не выгружается из памяти и можно *в любой момент разморозить*:
📦 Используется в Kubernetes, Docker и systemd — а теперь можешь и ты 😉
Обычно чтобы «заморозить» процесс, мы шлём ему
SIGSTOP, но есть способ *поставить его на паузу без сигнала* и без потери контроля:
# Приостановить выполнение команды, удерживая её в foreground через SIGTSTP
sleep 9999
^Z # (Ctrl+Z) — ставит в фон и останавливает
# А теперь хитрость: "fg" + "Ctrl+Z" снова — это цикл управления процессом вручную
# Но можно сделать изолированную паузу через cgroups:
cgcreate -g freezer:/pause
cgclassify -g freezer:/pause <PID>
echo FROZEN > /sys/fs/cgroup/freezer/pause/freezer.state
🔥 Процесс «замораживается» полностью: 0% CPU, не отвечает на запросы, но не убивается, не выгружается из памяти и можно *в любой момент разморозить*:
echo THAWED > /sys/fs/cgroup/freezer/pause/freezer.state
📦 Используется в Kubernetes, Docker и systemd — а теперь можешь и ты 😉
🔥8❤3🥰1
⚡️ Cовет дня Linux: быстрое повторное использование аргумента
В терминале Bash есть удобный трюк:
Пример:
🔁 !$ → подставит new_folder, не нужно печатать дважды.
Полезно, если:
— работаешь с длинными путями
— устанавливаешь и сразу запускаешь что-то
— копируешь, а потом переходишь в каталог
https://www.youtube.com/shorts/-jxuwHWeKnA
В терминале Bash есть удобный трюк:
!$ вставляет последний аргумент предыдущей команды.Пример:
mkdir new_folder
cd !$
🔁 !$ → подставит new_folder, не нужно печатать дважды.
Полезно, если:
— работаешь с длинными путями
— устанавливаешь и сразу запускаешь что-то
— копируешь, а потом переходишь в каталог
https://www.youtube.com/shorts/-jxuwHWeKnA
👍11❤4