This media is not supported in your browser
VIEW IN TELEGRAM
Kubernetes-кластер состоит из двух основных частей.
Первая - Control Plane. Это мозг системы, который управляет кластером и принимает решения. Вторая часть - Worker Nodes. Это серверы, на которых запускаются контейнеры и реальные приложения.
В Control Plane несколько ключевых компонентов. API Server является точкой входа в кластер - через него проходят все команды и запросы. Scheduler выбирает, на каком узле запускать новые Pod. Controller Manager следит за состоянием системы и автоматически восстанавливает сервисы при сбоях. etcd хранит конфигурацию и текущее состояние всего кластера.
Worker Nodes выполняют приложения.
Pod - это минимальная единица развертывания, внутри которой работают контейнеры. Container Runtime запускает контейнеры на сервере. kubelet является агентом узла и следит за тем, чтобы контейнеры работали как описано в конфигурации. kube-proxy отвечает за сетевое взаимодействие и маршрутизацию трафика внутри кластера.
Если упростить, Control Plane управляет кластером, а Worker Nodes запускают контейнеры и приложения.
Кластер Kubernetes
Control Plane
API Server - точка входа в кластер
Scheduler - назначает Pod на узлы
Controller Manager - поддерживает состояние кластера
etcd - хранилище конфигурации и состояния
Worker Nodes
Pods - минимальная единица развертывания
Container Runtime - запускает контейнеры
kubelet - агент узла
kube-proxy - сеть и маршрутизация
https://www.youtube.com/shorts/OtNY1e4LGts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤6🔥2
10 бесплатных ресурсов, которые светлые головы используют каждый день: must have для IT-специалистов и тех, кто учит ИИ
Знаете, что объединяет фаундеров Airbnb, Stripe и Coinbase, аналитиков Goldman Sachs и инженеров из топовых AI-лабораторий?
Все они пользуются ресурсами, за которые обычные люди готовы платить десятки тысяч долларов. А по факту эти материалы выложены в открытый доступ и абсолютно бесплатны. Я собрал десятку площадок, без которых сегодня сложно представить серьёзное обучение в IT, машинном обучении и анализе данных. Если вы давно собирались прокачать стек, но не знали, с чего начать, сохраняйте подборку в закладки.
1. Harvard CS50
Тот самый курс по Computer Science, с которого начинают первокурсники Гарварда. По итогу можно получить настоящий сертификат с подписью профессора. База алгоритмов, структур данных, C, Python, SQL и веба, на которой потом выстраивается всё остальное, включая ML.
Сайт: cs50.harvard.edu
2. MIT OpenCourseWare
Больше 2500 курсов MIT в открытом доступе. Те же лекции, которые слушают студенты, отдающие за обучение под 80 тысяч долларов в год. Внутри есть отличные потоки по линейной алгебре, теории вероятностей и оптимизации, без которых в современный AI заходить почти бесполезно.
Сайт: ocw.mit.edu
3. Y Combinator Startup School
Тот самый плейбук, по которому YC обучает основателей Airbnb, Stripe и Coinbase. Полезно не только тем, кто запускает свой стартап, но и инженерам, которые хотят понимать, как устроены продуктовые решения и почему ML-команды строят процессы именно так.
Сайт: startupschool.org
4. Berkshire Hathaway Letters
Ежегодные письма Уоррена Баффетта инвесторам с 1977 года. Хедж-фонды перечитывают их каждый год. Для разработчиков и аналитиков это бесплатный курс по тому, как думать о бизнесе, рисках и долгосрочных решениях.
Сайт: berkshirehathaway.com/letters
5. SEC EDGAR
Реальная система отчётности, которой пользуется Уолл-стрит. Можно в режиме реального времени смотреть, что покупают и продают крупнейшие фонды и публичные компании. Идеальный датасет для тех, кто строит финансовые модели или тренирует LLM на корпоративных отчётах.
Сайт: sec.gov/edgar
6. Stanford Online
Курсы Стэнфорда по Computer Science, инженерии и машинному обучению. Те самые лекции, по которым в своё время преподавал Эндрю Ын. Если хочется идти от классической ML-математики к современному deep learning, начинать стоит именно отсюда.
Сайт: online.stanford.edu
7. PubMed Central
Полный архив медицинских исследований от NIH. Журналы берут по 40 долларов за статью, а здесь миллионы работ доступны просто так. Огромный пласт качественных научных текстов, который часто используют для обучения и оценки биомедицинских LLM.
Сайт: ncbi.nlm.nih.gov/pmc
8. World Bank Open Data
Все экономические датасеты Всемирного банка. Те же данные, за которые платят аналитики Goldman Sachs. Идеальная песочница для аналитиков, дата-сайентистов и тех, кто хочет потренироваться на реальных временных рядах.
Сайт: data.worldbank.org
9. OpenLibrary
Бесплатный сервис книг от Internet Archive. Миллионы книг без читательского билета и подписки. Полезно для всех, кто хочет глубоко погружаться в темы, а не ограничиваться обзорными статьями.
Сайт: openlibrary.org
10. Project Gutenberg
Больше 70 тысяч классических книг полностью бесплатно. От Платона до Толстого. Помимо удовольствия от чтения, это ещё и отличный корпус текстов на разных языках для NLP-экспериментов.
Сайт: gutenberg.org
Гарвардское образование стоит около 250 тысяч долларов. MBA обойдётся в 200 тысяч. Подписка на Bloomberg Terminal: 25 тысяч в год. Место в Y Combinator забирает 7% вашей компании. А по факту вы только что получили доступ ко всему этому совершенно бесплатно.
Знаете, что объединяет фаундеров Airbnb, Stripe и Coinbase, аналитиков Goldman Sachs и инженеров из топовых AI-лабораторий?
Все они пользуются ресурсами, за которые обычные люди готовы платить десятки тысяч долларов. А по факту эти материалы выложены в открытый доступ и абсолютно бесплатны. Я собрал десятку площадок, без которых сегодня сложно представить серьёзное обучение в IT, машинном обучении и анализе данных. Если вы давно собирались прокачать стек, но не знали, с чего начать, сохраняйте подборку в закладки.
1. Harvard CS50
Тот самый курс по Computer Science, с которого начинают первокурсники Гарварда. По итогу можно получить настоящий сертификат с подписью профессора. База алгоритмов, структур данных, C, Python, SQL и веба, на которой потом выстраивается всё остальное, включая ML.
Сайт: cs50.harvard.edu
2. MIT OpenCourseWare
Больше 2500 курсов MIT в открытом доступе. Те же лекции, которые слушают студенты, отдающие за обучение под 80 тысяч долларов в год. Внутри есть отличные потоки по линейной алгебре, теории вероятностей и оптимизации, без которых в современный AI заходить почти бесполезно.
Сайт: ocw.mit.edu
3. Y Combinator Startup School
Тот самый плейбук, по которому YC обучает основателей Airbnb, Stripe и Coinbase. Полезно не только тем, кто запускает свой стартап, но и инженерам, которые хотят понимать, как устроены продуктовые решения и почему ML-команды строят процессы именно так.
Сайт: startupschool.org
4. Berkshire Hathaway Letters
Ежегодные письма Уоррена Баффетта инвесторам с 1977 года. Хедж-фонды перечитывают их каждый год. Для разработчиков и аналитиков это бесплатный курс по тому, как думать о бизнесе, рисках и долгосрочных решениях.
Сайт: berkshirehathaway.com/letters
5. SEC EDGAR
Реальная система отчётности, которой пользуется Уолл-стрит. Можно в режиме реального времени смотреть, что покупают и продают крупнейшие фонды и публичные компании. Идеальный датасет для тех, кто строит финансовые модели или тренирует LLM на корпоративных отчётах.
Сайт: sec.gov/edgar
6. Stanford Online
Курсы Стэнфорда по Computer Science, инженерии и машинному обучению. Те самые лекции, по которым в своё время преподавал Эндрю Ын. Если хочется идти от классической ML-математики к современному deep learning, начинать стоит именно отсюда.
Сайт: online.stanford.edu
7. PubMed Central
Полный архив медицинских исследований от NIH. Журналы берут по 40 долларов за статью, а здесь миллионы работ доступны просто так. Огромный пласт качественных научных текстов, который часто используют для обучения и оценки биомедицинских LLM.
Сайт: ncbi.nlm.nih.gov/pmc
8. World Bank Open Data
Все экономические датасеты Всемирного банка. Те же данные, за которые платят аналитики Goldman Sachs. Идеальная песочница для аналитиков, дата-сайентистов и тех, кто хочет потренироваться на реальных временных рядах.
Сайт: data.worldbank.org
9. OpenLibrary
Бесплатный сервис книг от Internet Archive. Миллионы книг без читательского билета и подписки. Полезно для всех, кто хочет глубоко погружаться в темы, а не ограничиваться обзорными статьями.
Сайт: openlibrary.org
10. Project Gutenberg
Больше 70 тысяч классических книг полностью бесплатно. От Платона до Толстого. Помимо удовольствия от чтения, это ещё и отличный корпус текстов на разных языках для NLP-экспериментов.
Сайт: gutenberg.org
Гарвардское образование стоит около 250 тысяч долларов. MBA обойдётся в 200 тысяч. Подписка на Bloomberg Terminal: 25 тысяч в год. Место в Y Combinator забирает 7% вашей компании. А по факту вы только что получили доступ ко всему этому совершенно бесплатно.
👍5❤4🔥4
Митап для тех, кто управляет инфраструктурой
Selectel собирает сисадминов и тех, кто управляет инфраструктурой на традиционный митап с живыми дискуссиями, интерактивом и нетворкингом.
📅 6 мая, 19:00
📍Санкт-Петербург + онлайн
Поговорим про ИИ в управлении инфраструктурой , новые ИИ-инструменты и поделимся своими историями из жизни на открытом микрофоне.
Смотрите программу и регистрируйтесь: https://slc.tl/21io9
Реклама. ООО "Селектел-Лаб". erid:2W5zFHGfz5w
Selectel собирает сисадминов и тех, кто управляет инфраструктурой на традиционный митап с живыми дискуссиями, интерактивом и нетворкингом.
📅 6 мая, 19:00
📍Санкт-Петербург + онлайн
Поговорим про ИИ в управлении инфраструктурой , новые ИИ-инструменты и поделимся своими историями из жизни на открытом микрофоне.
Смотрите программу и регистрируйтесь: https://slc.tl/21io9
Реклама. ООО "Селектел-Лаб". erid:2W5zFHGfz5w
Представлен проект cssDOOM, подготовивший реализацию игры DOOM, использующую для отрисовки только CSS, без применения элемента canvas и WebGL.
Всё что выводится на экран, включая спрайты, текстурированные стены, уровни и эффекты, оформлено через стилизованные при помощи CSS элементы <div>, размещаемые в 3D-пространстве при помощи CSS-свойств "transform" и"transform-style: preserve-3d". Игровая логика написана на JavaScript, используя в качестве эталона оригинальный код игры DOOM, открытый компанией id Software. Наработки проекта опубликованы под лицензией GPLv2.
https://cssdoom.wtf/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4❤2
This media is not supported in your browser
VIEW IN TELEGRAM
👉 Linux - strace: один из самых недооценённых инструментов
Он нужен в тот момент, когда приложение падает, не видит конфиг, не может найти библиотеку или ругается на файл, которого “вроде бы нет”.
Обычно в такой ситуации начинают гадать: путь не тот, прав не хватает, переменная окружения сломалась, сервис запущен не от того пользователя.
Но strace позволяет не гадать.
Он показывает, к каким файлам процесс реально обращается во время работы. Не то, что написано в документации. Не то, что вы предполагаете. А то, что программа делает на самом деле.
И вот тут часто всё становится очевидно: приложение ищет config не в той директории, лезет за библиотекой по старому пути, не может открыть сертификат или получает отказ из-за прав доступа.
Это особенно полезно при отладке сервисов, Docker-контейнеров, странных production-багов и бинарников, у которых нет нормальных логов.
Главная идея простая: когда Linux-программа ведёт себя непонятно, сначала посмотри её системные вызовы.
https://www.youtube.com/shorts/iRnNQWKozSA
Он нужен в тот момент, когда приложение падает, не видит конфиг, не может найти библиотеку или ругается на файл, которого “вроде бы нет”.
Обычно в такой ситуации начинают гадать: путь не тот, прав не хватает, переменная окружения сломалась, сервис запущен не от того пользователя.
Но strace позволяет не гадать.
Он показывает, к каким файлам процесс реально обращается во время работы. Не то, что написано в документации. Не то, что вы предполагаете. А то, что программа делает на самом деле.
И вот тут часто всё становится очевидно: приложение ищет config не в той директории, лезет за библиотекой по старому пути, не может открыть сертификат или получает отказ из-за прав доступа.
Это особенно полезно при отладке сервисов, Docker-контейнеров, странных production-багов и бинарников, у которых нет нормальных логов.
Главная идея простая: когда Linux-программа ведёт себя непонятно, сначала посмотри её системные вызовы.
https://www.youtube.com/shorts/iRnNQWKozSA
👍6❤4🔥3🤔1
Пятница, 17:58.
Вы пишете git push --force. И понимаете, что были не в той ветке.
Дальше два сценария. Первый: холодный пот, звонок тимлиду, испорченные выходные. Второй: git reflog, две команды, всё на месте, идёте домой.
Разница между этими сценариями - этот курс.
Git изнутри. Rebase без страха. Конфликты по алгоритму. Pull Request, code review, защита веток, CI/CD. Три модели ветвления - выберете свою.
Скидка 58%, 48 часов: https://stepik.org/course/284799/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1👍1🥴1🐳1
🔥 Лучшие БЕСПЛАТНЫЕ ресурсы по Linux в 2026 году
1. Linux Foundation Training
https://training.linuxfoundation.org/training/introduction-to-linux/
2. Linux Journey
https://linuxjourney.com
3. Ubuntu Tutorials
https://ubuntu.com/tutorials
4. Red Hat Training Resources
https://developers.redhat.com/learn
5. Документация GNU
https://gnu.org/manual
6. OverTheWire Bandit (Linux-варгеймы)
https://overthewire.org/wargames
7. Книга The Linux Command Line
https://linuxcommand.org/tlcl.php
8. MIT Missing Semester (Linux и CLI)
https://missing.csail.mit.edu
9. Туториалы по Linux от DigitalOcean
https://digitalocean.com/community/tutorials
10. Linux From Scratch
https://linuxfromscratch.org
11. Arch Linux Wiki
https://wiki.archlinux.org
12. Курс по Linux от freeCodeCamp
https://freecodecamp.org/news/tag/linux
13. Linux Survival (интерактивное обучение)
https://linuxsurvival.com
14. NDG Linux Essentials
https://netacad.com/courses/os-it/ndg-linux-essentials
15. Bash Guide (руководство по Bash)
https://tldp.org/LDP/Bash-Beginners-Guide/html
1. Linux Foundation Training
https://training.linuxfoundation.org/training/introduction-to-linux/
2. Linux Journey
https://linuxjourney.com
3. Ubuntu Tutorials
https://ubuntu.com/tutorials
4. Red Hat Training Resources
https://developers.redhat.com/learn
5. Документация GNU
https://gnu.org/manual
6. OverTheWire Bandit (Linux-варгеймы)
https://overthewire.org/wargames
7. Книга The Linux Command Line
https://linuxcommand.org/tlcl.php
8. MIT Missing Semester (Linux и CLI)
https://missing.csail.mit.edu
9. Туториалы по Linux от DigitalOcean
https://digitalocean.com/community/tutorials
10. Linux From Scratch
https://linuxfromscratch.org
11. Arch Linux Wiki
https://wiki.archlinux.org
12. Курс по Linux от freeCodeCamp
https://freecodecamp.org/news/tag/linux
13. Linux Survival (интерактивное обучение)
https://linuxsurvival.com
14. NDG Linux Essentials
https://netacad.com/courses/os-it/ndg-linux-essentials
15. Bash Guide (руководство по Bash)
https://tldp.org/LDP/Bash-Beginners-Guide/html
❤6🔥3👍2🤩1
🔥 5 проектов, которые реально прокачают резюме DevOps / Cloud
Если хочешь не просто «учил теорию», а показать реальные навыки - вот база, с которой уже берут на работу:
Flask + двухуровневая архитектура
https://github.com/prashantgohel321/DevOps-Project-Two-Tier-Flask-App
Разберёшь деплой, контейнеризацию и базовую инфраструктуру
Трёхуровневая архитектура в AWS (EKS + IaC)
https://github.com/LondheShubham153/three-tier-eks-iac
Практика Kubernetes, Terraform и продовой архитектуры
Terraform на Azure
https://github.com/piyushsachdeva/Terraform-Full-Course-Azure
Полный цикл инфраструктуры как кода под Azure
Observability стек (Prometheus + мониторинг)
https://github.com/techiescamp/devops-projects/tree/main/04-prometheus-observability-stack
Метрики, алерты и понимание что происходит в системе
AI + DevOps
https://github.com/iam-veeramalla/ai-assisted-devops
Event-driven autoscaling (KEDA + GKE)
https://github.com/ChimbuChinnadurai/keda-gke-event-driven-autoscaling-demo
Первый шаг в MLOps
https://github.com/iam-veeramalla/first-mlops-project
Сохрани, чтобы не потерять
Если хочешь не просто «учил теорию», а показать реальные навыки - вот база, с которой уже берут на работу:
Flask + двухуровневая архитектура
https://github.com/prashantgohel321/DevOps-Project-Two-Tier-Flask-App
Разберёшь деплой, контейнеризацию и базовую инфраструктуру
Трёхуровневая архитектура в AWS (EKS + IaC)
https://github.com/LondheShubham153/three-tier-eks-iac
Практика Kubernetes, Terraform и продовой архитектуры
Terraform на Azure
https://github.com/piyushsachdeva/Terraform-Full-Course-Azure
Полный цикл инфраструктуры как кода под Azure
Observability стек (Prometheus + мониторинг)
https://github.com/techiescamp/devops-projects/tree/main/04-prometheus-observability-stack
Метрики, алерты и понимание что происходит в системе
AI + DevOps
https://github.com/iam-veeramalla/ai-assisted-devops
Event-driven autoscaling (KEDA + GKE)
https://github.com/ChimbuChinnadurai/keda-gke-event-driven-autoscaling-demo
Первый шаг в MLOps
https://github.com/iam-veeramalla/first-mlops-project
Сохрани, чтобы не потерять
👍9🤔1
🔥 Продвинутый Rust без учебных игрушек
Базу уже прошли? Тогда следующий шаг - production-разработка.
На Stepik идет скидка 60% на продвинутый курс по Rust для тех, кто хочет не просто знать синтаксис, а строить реальные системы.
Внутри: async, unsafe, gRPC, lock-free, observability, Kafka, NATS, axum, tower, CI/CD и канареечный деплой.
Финальный проект - production-ready feed-сервис от архитектуры до релиза.
21 модуль, 84 урока, 400+ проверочных шагов.
Если хотите перейти от маленьких Rust-утилит к коммерческой разработке, сейчас хороший момент зайти: https://stepik.org/a/285608/pay
Базу уже прошли? Тогда следующий шаг - production-разработка.
На Stepik идет скидка 60% на продвинутый курс по Rust для тех, кто хочет не просто знать синтаксис, а строить реальные системы.
Внутри: async, unsafe, gRPC, lock-free, observability, Kafka, NATS, axum, tower, CI/CD и канареечный деплой.
Финальный проект - production-ready feed-сервис от архитектуры до релиза.
21 модуль, 84 урока, 400+ проверочных шагов.
Если хотите перейти от маленьких Rust-утилит к коммерческой разработке, сейчас хороший момент зайти: https://stepik.org/a/285608/pay
❤3👍2👎2🔥2
Coinbase сокращает около 700 человек - это примерно 14% штата.
CEO Coinbase Брайан Армстронг объясняет это просто: компания хочет стать меньше, быстрее и эффективнее, потому что ИИ уже позволяет небольшим командам делать то, для чего раньше требовалось больше людей.
Coinbase не единственная. Технокомпании всё чаще упаковывают сокращения не только в историю про рынок, но и в историю про AI-native операционку.
Похоже, главный эффект ИИ для бизнеса оказался не в красивых демках, а в очень скучной строке P&L: меньше людей, меньше затрат, быстрее выполнение задач.
bloomberg.com/news/articles/2026-05-05/coinbase-to-cut-14-of-workforce-citing-volatile-markets-ai
CEO Coinbase Брайан Армстронг объясняет это просто: компания хочет стать меньше, быстрее и эффективнее, потому что ИИ уже позволяет небольшим командам делать то, для чего раньше требовалось больше людей.
Coinbase не единственная. Технокомпании всё чаще упаковывают сокращения не только в историю про рынок, но и в историю про AI-native операционку.
Похоже, главный эффект ИИ для бизнеса оказался не в красивых демках, а в очень скучной строке P&L: меньше людей, меньше затрат, быстрее выполнение задач.
bloomberg.com/news/articles/2026-05-05/coinbase-to-cut-14-of-workforce-citing-volatile-markets-ai
❤4👍3🖕3🔥1💯1
Функция Аккермана: монстр рекурсии, который ставит в тупик даже самые умные алгоритмы
Если ты когда-нибудь думал, что рекурсия в твоём коде слишком запутанная, то функция Аккермана покажет, что такое настоящая бездна. Это одна из самых известных в математике функций, которая растёт настолько быстро, что обычные представления о больших числа
В чём суть. Берёшь сложение, умножение, возведение в степень, тетрацию и так далее. Все эти операции можно описать через примитивную рекурсию, то есть через простые вложенные циклы. Аккерман показал, что существует функция, которая вычислима, но при этом выходит за пределы примитивной рекурсии. То есть теоретически её посчитать можно, но никакой простой цикл с фиксированной глубиной её не опишет.
Если подставить даже скромные значения, результат становится физически невозможно записать. Например, A(4, 2) уже содержит десятки тысяч цифр. A(4, 3) превосходит количество атомов во Вселенной. А дальше начинается совсем абсурд: значения функции улетают в бесконечность так быстро, что любые попытки их вычислить упираются в стек, память и здравый смысл.
Почему это важно для разработчика и инженера машинного обучения. Функция Аккермана стала классическим тестом для компиляторов и интерпретаторов: на ней проверяют, как язык работает с глубокой рекурсией и хвостовой оптимизацией. Если ты хоть раз ловил StackOverflow на безобидном на вид коде, скорее всего где-то рядом был именно такой паттерн.
В теории сложности и анализе алгоритмов обратная функция Аккермана α(n) появляется в оценках производительности структуры данных «система непересекающихся множеств». Эта функция растёт настолько медленно, что для всех практических входов её значение меньше 5. Поэтому амортизированную сложность операций часто считают почти константной. Получается красивый парадокс: одна из самых быстрорастущих функций даёт нам одну из самых медленнорастущих оценок сложности.
Для тех, кто работает с AI и большими моделями, история Аккермана это напоминание о пределах вычислимости. Современные нейросети отлично аппроксимируют функции, но классы вычислимости и теория рекурсии задают фундаментальные границы того, что вообще может быть посчитано за разумное время. Когда мы рассуждаем о том, может ли LLM «решить» произвольную задачу, стоит помнить, что между «вычислимо» и «практически вычислимо» лежит пропасть, и функция Аккермана это её самый наглядный пример.
Если хочешь поиграться, реализуй её на своём любимом языке и попробуй посчитать A(4, 1). Уже на этом значении большинство интерпретаторов начнут серьёзно страдать, и ты на практике почувствуешь разницу между теоретической вычислимостью и реальностью железа.
Если ты когда-нибудь думал, что рекурсия в твоём коде слишком запутанная, то функция Аккермана покажет, что такое настоящая бездна. Это одна из самых известных в математике функций, которая растёт настолько быстро, что обычные представления о больших числа
В чём суть. Берёшь сложение, умножение, возведение в степень, тетрацию и так далее. Все эти операции можно описать через примитивную рекурсию, то есть через простые вложенные циклы. Аккерман показал, что существует функция, которая вычислима, но при этом выходит за пределы примитивной рекурсии. То есть теоретически её посчитать можно, но никакой простой цикл с фиксированной глубиной её не опишет.
Если подставить даже скромные значения, результат становится физически невозможно записать. Например, A(4, 2) уже содержит десятки тысяч цифр. A(4, 3) превосходит количество атомов во Вселенной. А дальше начинается совсем абсурд: значения функции улетают в бесконечность так быстро, что любые попытки их вычислить упираются в стек, память и здравый смысл.
Почему это важно для разработчика и инженера машинного обучения. Функция Аккермана стала классическим тестом для компиляторов и интерпретаторов: на ней проверяют, как язык работает с глубокой рекурсией и хвостовой оптимизацией. Если ты хоть раз ловил StackOverflow на безобидном на вид коде, скорее всего где-то рядом был именно такой паттерн.
В теории сложности и анализе алгоритмов обратная функция Аккермана α(n) появляется в оценках производительности структуры данных «система непересекающихся множеств». Эта функция растёт настолько медленно, что для всех практических входов её значение меньше 5. Поэтому амортизированную сложность операций часто считают почти константной. Получается красивый парадокс: одна из самых быстрорастущих функций даёт нам одну из самых медленнорастущих оценок сложности.
Для тех, кто работает с AI и большими моделями, история Аккермана это напоминание о пределах вычислимости. Современные нейросети отлично аппроксимируют функции, но классы вычислимости и теория рекурсии задают фундаментальные границы того, что вообще может быть посчитано за разумное время. Когда мы рассуждаем о том, может ли LLM «решить» произвольную задачу, стоит помнить, что между «вычислимо» и «практически вычислимо» лежит пропасть, и функция Аккермана это её самый наглядный пример.
Если хочешь поиграться, реализуй её на своём любимом языке и попробуй посчитать A(4, 1). Уже на этом значении большинство интерпретаторов начнут серьёзно страдать, и ты на практике почувствуешь разницу между теоретической вычислимостью и реальностью железа.
👍8👏3❤2🔥2
Audiobookshelf — это бесплатный и открытый сервер для хранения и потоковой передачи аудиокниг и подкастов. Он позволяет организовывать вашу коллекцию, слушать книги в браузере или через мобильные приложения, а также делиться доступом с другими пользователями.
🔹 Основные возможности:
- Поддержка аудиокниг и подкастов
- Автоматическая загрузка метаданных и обложек
- Встроенный веб-плеер и мобильные приложения
- Многопользовательский доступ с ролями и разрешениями
- Прогресс прослушивания синхронизируется между устройствами
- Поддержка форматов MP3, M4B и других
https://github.com/advplyr/audiobookshelf
🔹 Основные возможности:
- Поддержка аудиокниг и подкастов
- Автоматическая загрузка метаданных и обложек
- Встроенный веб-плеер и мобильные приложения
- Многопользовательский доступ с ролями и разрешениями
- Прогресс прослушивания синхронизируется между устройствами
- Поддержка форматов MP3, M4B и других
https://github.com/advplyr/audiobookshelf
👍5❤1
🚀 Claude Code: от «балуюсь в терминале» до агента в проде
Claude Code уже не просто пишет код. Он рефакторит монорепо, делает code review, катит миграции и ведёт расследования инцидентов.
Разница между «иногда играюсь» и «выжимаю реальные часы экономии» — огромная.
Этот курс закрывает её за 20 практических модулей.
Что соберёшь своими руками:
— кастомные slash-команды и sub-agents
— свои MCP-серверы под твой стек
— хуки и автоматизация ревью
— workflow в GitHub Actions и интеграция в CI/CD
Что получишь на выходе:
• релизы быстрее
• ревью короче
• токены дешевле
• спокойный сон по поводу безопасности
Подойдёт разработчикам, тимлидам, DevOps и архитекторам, которые почувствовали, что Claude Code - почти магия, и хотят довести её до магии на продакшене.
🎓 Курс на Stepik
🔥 Сейчас действует скидка −50%
Хватит играться. Пора выкатывать агента в прод 👉
https://stepik.org/a/285842
Claude Code уже не просто пишет код. Он рефакторит монорепо, делает code review, катит миграции и ведёт расследования инцидентов.
Разница между «иногда играюсь» и «выжимаю реальные часы экономии» — огромная.
Этот курс закрывает её за 20 практических модулей.
Что соберёшь своими руками:
— кастомные slash-команды и sub-agents
— свои MCP-серверы под твой стек
— хуки и автоматизация ревью
— workflow в GitHub Actions и интеграция в CI/CD
Что получишь на выходе:
• релизы быстрее
• ревью короче
• токены дешевле
• спокойный сон по поводу безопасности
Подойдёт разработчикам, тимлидам, DevOps и архитекторам, которые почувствовали, что Claude Code - почти магия, и хотят довести её до магии на продакшене.
🎓 Курс на Stepik
🔥 Сейчас действует скидка −50%
Хватит играться. Пора выкатывать агента в прод 👉
https://stepik.org/a/285842
❤3👍2🔥1🥰1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Вайбкодер после того, как попросили Opus 4.7 отцентрировать div
🤣33🔥3❤1
Принцип "всё есть файл" в Linux часто звучит как маркетинговый слоган, хотя на самом деле это базовое инженерное решение, на котором держится вся система. Жёсткий диск /dev/sda, терминал /dev/tty и даже мышка открываются и читаются точно так же, как обычный текстовый файл. Возникает закономерный вопрос: каким образом физическая железка вообще оказывается в файловой системе?
Вся магия упирается в один привилегированный системный вызов: mknod. На архитектуре x86_64 у него номер 133. Именно он создаёт специальный узел в файловой системе, и именно через него ядро понимает, какой драйвер должен обработать обращение к этому пути.
В отличие от обычного файла, при вызове mknod никто не выделяет блоки на диске. Вместо хранения данных создаётся связка пути с парой чисел: major и minor. Major-номер указывает ядру на конкретный драйвер, а minor-номер уточняет конкретное устройство внутри этого драйвера. Считайте их координатами, по которым ядро бьёт в нужную точку без поиска.
Именно поэтому команда cat /dev/urandom не читает никаких байт с накопителя. Файловая система видит специальный узел, перенаправляет запрос в генератор случайных чисел ядра, и вы получаете бесконечный поток энтропии. На диске при этом не лежит ровным счётом ничего.
Поскольку создание такого узла фактически даёт прямой доступ к драйверу ядра, вызов требует capability CAP_MKNOD. Без прав процесс получит EPERM и быстро поймёт, что раздавать доступ к железу от имени обычного пользователя ядро не собирается. Это дополнительный барьер безопасности поверх обычных прав на файлы.
Ниже пример на C, который полностью клонирует /dev/null. Major-номер 1 в ядре зарезервирован под memory devices, а minor-номер 3 указывает именно на null. Запускать нужно от root.
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/sysmacros.h>
#include <stdio.h>
int main(void) {
// 1 = major number for memory devices
// 3 = minor number for the null device
dev_t dev = makedev(1, 3);
// S_IFCHR creates a character device file
if (mknod("my_null", S_IFCHR | 0666, dev) == -1) {
perror("mknod failed (try running with sudo)");
return 1;
}
printf("Successfully created my_null!\n");
return 0;
}
После компиляции и запуска появится файл my_null, который ведёт себя как исходный /dev/null. Любой вывод, перенаправленный в этот файл, попадёт в тот же самый null-драйвер ядра. Различий в поведении по сравнению с системным /dev/null не будет вообще.
Такой пример хорошо показывает, почему инженеры Unix в своё время свели работу с железом к файловым операциям. Вместо десятков разных API для дисков, терминалов и сети программист получает единый интерфейс read, write, open и close. А вся сложная матчасть по маршрутизации запросов прячется внутри mknod и пары major/minor.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤6🔥2🤔1
Ты лезешь в Kubernetes слишком рано
K8s не сложный сам по себе. Он просто усиливает все твои слабые места. И если база хромает - ты будешь неделями дебажить «магические» проблемы, которые на деле банальны.
Перед тем как трогать Kubernetes, закрой эти вещи:
- Linux. Права, процессы, сеть. Если не понимаешь, что происходит в системе - дальше будет боль.
- Git. Не просто commit и push, а нормальная работа с ветками, ребейзами и конфликтами. Это твоя повседневка в команде.
- Docker. Умение собирать образы, уменьшать их, дебажить контейнеры. Kubernetes без этого - просто чёрный ящик.
- Сети. DNS, порты, балансировка, HTTP vs HTTPS. Половина «проблем Kubernetes» - это на самом деле сеть.
- CI/CD. Любая нормальная система живёт через пайплайны. Build, test, deploy - всё должно быть автоматом.
- Облака. Базовое понимание AWS, GCP или Azure. Если ты не знаешь, как работает compute и IAM - EKS тебя сломает.
- Мышление дебага. Логи, метрики, потом гипотезы. Не наоборот. Это главный скилл, который отличает инженера от новичка.
Kubernetes - это не старт. Это множитель.
Если база слабая - он умножит хаос. Если сильная - даст кратный рост.
Что бы ты ещё добавил?
K8s не сложный сам по себе. Он просто усиливает все твои слабые места. И если база хромает - ты будешь неделями дебажить «магические» проблемы, которые на деле банальны.
Перед тем как трогать Kubernetes, закрой эти вещи:
- Linux. Права, процессы, сеть. Если не понимаешь, что происходит в системе - дальше будет боль.
- Git. Не просто commit и push, а нормальная работа с ветками, ребейзами и конфликтами. Это твоя повседневка в команде.
- Docker. Умение собирать образы, уменьшать их, дебажить контейнеры. Kubernetes без этого - просто чёрный ящик.
- Сети. DNS, порты, балансировка, HTTP vs HTTPS. Половина «проблем Kubernetes» - это на самом деле сеть.
- CI/CD. Любая нормальная система живёт через пайплайны. Build, test, deploy - всё должно быть автоматом.
- Облака. Базовое понимание AWS, GCP или Azure. Если ты не знаешь, как работает compute и IAM - EKS тебя сломает.
- Мышление дебага. Логи, метрики, потом гипотезы. Не наоборот. Это главный скилл, который отличает инженера от новичка.
Kubernetes - это не старт. Это множитель.
Если база слабая - он умножит хаос. Если сильная - даст кратный рост.
Что бы ты ещё добавил?
❤11🔥9👍6🤔2❤🔥1
🧩 Визуализация памяти классов в Neovim
classlayout.nvim позволяет увидеть, как компилятор размещает поля и выравнивание в структурах и классах C/C++. Просто наведите курсор на тип или переменную, и получите наглядное представление о распределении памяти.
🚀 Основные моменты:
- Поддержка структур, классов, объединений и STL типов
- Автоопределение флагов компилятора из
- Мгновенный доступ к кэшированным данным
- Интеграция с clangd для разрешения типов
📌 GitHub: https://github.com/J-Cowsert/classlayout.nvim
#lua
classlayout.nvim позволяет увидеть, как компилятор размещает поля и выравнивание в структурах и классах C/C++. Просто наведите курсор на тип или переменную, и получите наглядное представление о распределении памяти.
🚀 Основные моменты:
- Поддержка структур, классов, объединений и STL типов
- Автоопределение флагов компилятора из
compile_commands.json- Мгновенный доступ к кэшированным данным
- Интеграция с clangd для разрешения типов
📌 GitHub: https://github.com/J-Cowsert/classlayout.nvim
#lua
GitHub
GitHub - J-Cowsert/classlayout.nvim: Neovim plugin to visualize C/C++ class/struct memory layouts using clang
Neovim plugin to visualize C/C++ class/struct memory layouts using clang - J-Cowsert/classlayout.nvim
❤2👍2
🚀 В Linux каждый процесс живёт в своей версии памяти.
Два разных приложения могут одновременно использовать один и тот же адрес, например
Почему так?
Потому что процесс видит не настоящую физическую память, а virtual address space - виртуальное адресное пространство.
Когда программа делает
Если запустить такую программу в двух терминалах, адрес может оказаться одинаковым.
Но это не значит, что процессы пишут в одну и ту же память.
Для каждого процесса ядро и MMU переводят виртуальные адреса в свои физические страницы. Один и тот же виртуальный адрес в процессе A может указывать на один участок RAM, а в процессе B - на другой.
Именно поэтому процессы изолированы друг от друга.
Программа думает:
«Это моя память».
На самом деле Linux говорит:
«Это твоя иллюзия памяти. А куда она реально мапится - решаю я».
Виртуальная память - одна из тех штук, без которых не было бы нормальной изоляции процессов, безопасного multitasking, shared libraries, fork, mmap и современного Linux в целом.
Два разных приложения могут одновременно использовать один и тот же адрес, например
0x555555..., но попадать при этом в совершенно разные места физической RAM.Почему так?
Потому что процесс видит не настоящую физическую память, а virtual address space - виртуальное адресное пространство.
Когда программа делает
malloc, она получает адрес, который выглядит как обычный указатель:
int *x = malloc(sizeof(int));
*x = getpid();
printf("PID %d -> virtual address: %p -> value: %d\n",
getpid(), (void*)x, *x);
Если запустить такую программу в двух терминалах, адрес может оказаться одинаковым.
Но это не значит, что процессы пишут в одну и ту же память.
Для каждого процесса ядро и MMU переводят виртуальные адреса в свои физические страницы. Один и тот же виртуальный адрес в процессе A может указывать на один участок RAM, а в процессе B - на другой.
Именно поэтому процессы изолированы друг от друга.
Программа думает:
«Это моя память».
На самом деле Linux говорит:
«Это твоя иллюзия памяти. А куда она реально мапится - решаю я».
Виртуальная память - одна из тех штук, без которых не было бы нормальной изоляции процессов, безопасного multitasking, shared libraries, fork, mmap и современного Linux в целом.
❤11🔥4👍1🤔1