TGINSIGHT CHAT
DevOps
@DevOPSitsec
ТехнологииПо всем вопросам- @workakkk @itchannels_telegram - 🔥полезные ит-каналы https://t.me/Golang_google - Golang программирование @golangl - golang chat @GolangJobsit - golang channel jobs @golang_jobsgo - jobs РКН: clck.ru/3FmvZA #VRHSZ
Последние посты
Стр. 2 из 84 · 1,008 постов
🖥Быстрый Linux-совет: один терминал вместо десятка окон Хочешь держать несколько терминальных сессий открытыми и не плодить кучу окон? Используй `tmux`. Он позволяет запускать отдельные сессии, делить терминал на панели, отключаться от работы и потом возвращаться к ней с того же места. Например, ты подключился к серверу, запустил долгий процесс и не хочешь потерять его при разрыве SSH. Создаешь сессию: tmux new -s myserver Отключаешься от нее - процесс продолжает работать. Потом можно посмотреть список сессий: tmux ls И вернуться обратно: tmux attach -t myserver tmux превращает один терминал в полноценное рабочее пространство. Сессии, окна, панели, detach, reattach - и ты больше не зависишь от одного открытого терминального окна. #linux#terminal#tmux#devops
Опубликован 26 дней назад
Selectel работает — вы зарабатываете до 20% от чека клиентов Становитесь партнером ведущего независимого провайдера ИТ-инфраструктуры, рекомендуйте качественный сервис и получайте пассивный доход от реферальной программы. Партнером может стать как юридическое, так и физическое лицо. При регистрации в программе до 31 мая вы получите повышенную ставку 20% на 3 месяца. А после этого срока — от 10 до 15% от чека с ежемесячными выплаты без лимитов по сумме и сроку. Ваши рефералы будут довольны. В Selectel 50+ инфраструктурных продуктов, большой выбор комплектующих для серверов и бесплатная техподдержка. Регистрируйтесь в партнерской программе Selectel до 31 мая и получайте 20% от чека ваших рефералов первые 3 месяца: https://slc.tl/uzqv1 Реклама. АО "Селектел". erid:2W5zFHUVYRf
Опубликован 27 дней назад
🖥C# Roadmap: с нуля до профи Практическое руководство по росту в C#-разработке. Материал собран для тех, кто хочет получить инженерную глубину, а не просто накликать CRUD по туториалам. Здесь последовательность изучения, лучшие практики, ресурсы и трезвый разбор того, как работать с ИИ-инструментами и оставаться востребованным. https://github.com/Develp10/Csharp_Roadmap/
Опубликован 28 дней назад
Kubernetes сам по себе ничего не решает. Сила появляется, когда начинаешь правильно его комбинировать Именно связки инструментов превращают кластер в полноценную платформу База, без которой никуда K8s + Docker даёт стандарт оркестрации контейнеров K8s + Terraform автоматизирует поднятие инфраструктуры K8s + Helm убирает боль с деплоем и версиями K8s + ArgoCD закрывает GitOps и делает релизы предсказуемыми Наблюдаемость и безопасность K8s + Prometheus + Grafana дают полный контроль над метриками K8s + Vault решает проблему секретов без костылей K8s + Cilium добавляет нормальную сетевую безопасность и observability K8s + OPA позволяет внедрить policy as code и контролировать всё на уровне кластера Трафик и масштабирование K8s + NGINX Ingress или Envoy дают контроль над L7 трафиком K8s + Istio превращает всё это в полноценный service mesh K8s + KEDA добавляет event-driven scaling, без ручного тюнинга AI и платформенная инженерия K8s + Ollama + KServe позволяют гонять LLM-инференс в проде K8s + Kubeflow закрывает ML пайплайны K8s + Crossplane делает из Kubernetes основу для platform engineering По факту Kubernetes это не инструмент, а каркас И то, во что он превратится, полностью зависит от того, какие связки ты соберёшь
Опубликован 28 дней назад
🖥На Stepik обновили курс «C# с нуля до профи» Представьте: через четыре месяца вы открываете чужой .NET-проект и читаете его как книгу. IServiceCollection не вызывает ступора. async Task<IActionResult> пишется на автомате. Вы точно знаете, почему EF Core сгенерировал именно такой SQL - и как переписать запрос, чтобы он летал. Это не фантазия. Это результат после 16 модулей, в которых каждая концепция объясняется через код и закрепляется практикой. ООП, SOLID, LINQ, async/await, DI, EF Core, ASP.NET Core, Docker, Kubernetes - всё, что казалось магией, станет рабочим инструментом. А бонусом - портфолио проектов: от CLI-утилит и REST API до собственного SaaS с multi-tenancy, JWT и деплоем в Kubernetes под TLS. Скидка - 58% доступна 48 часов: https://stepik.org/a/282984/
Опубликован 28 дней назад
🚀В 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 в целом.
🧩 Визуализация памяти классов в Neovim classlayout.nvim позволяет увидеть, как компилятор размещает поля и выравнивание в структурах и классах C/C++. Просто наведите курсор на тип или переменную, и получите наглядное представление о распределении памяти. 🚀 Основные моменты: - Поддержка структур, классов, объединений и STL типов - Автоопределение флагов компилятора из compile_commands.json - Мгновенный доступ к кэшированным данным - Интеграция с clangd для разрешения типов 📌 GitHub: https://github.com/J-Cowsert/classlayout.nvim #lua
Hashtags
Опубликован 10 мая
Ты лезешь в 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 - это не старт. Это множитель. Если база слабая - он умножит хаос. Если сильная - даст кратный рост. Что бы ты ещё добавил?
Опубликован 9 мая
🖥Linux под капотом: как mknod превращает железо в файлы и почему это магия номер 133 Принцип "всё есть файл" в 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.
Опубликован 7 мая
Вайбкодер после того, как попросили Opus 4.7 отцентрировать div
Опубликован 7 мая
🚀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
Опубликован 7 мая
Audiobookshelf — это бесплатный и открытый сервер для хранения и потоковой передачи аудиокниг и подкастов. Он позволяет организовывать вашу коллекцию, слушать книги в браузере или через мобильные приложения, а также делиться доступом с другими пользователями. 🔹Основные возможности: - Поддержка аудиокниг и подкастов - Автоматическая загрузка метаданных и обложек - Встроенный веб-плеер и мобильные приложения - Многопользовательский доступ с ролями и разрешениями - Прогресс прослушивания синхронизируется между устройствами - Поддержка форматов MP3, M4B и других https://github.com/advplyr/audiobookshelf