Находитесь в поиске нормальной вакансии?
Вы уже подумали за вас и у нас есть канал вам в помощь.
Сохраняйте, чтобы не потерять
Вы уже подумали за вас и у нас есть канал вам в помощь.
Сохраняйте, чтобы не потерять
❤4🔥2
#туториал
Нужно найти какой-то файл?
Нет, не find!
🔎 Утилита locate используется для поиска файлов, расположенных на машине пользователя или на сервере, опираясь на собственную БД.
Обновление БД происходит автоматически, +- раз в сутки или командой updatedb.
locate txt
Ищем все файлы, имена которых содержат «txt». Опа, меньше чем за секунду команда нашла все подходящие файлы, а find потратил бы гораздо больше времени.
locate '*txt' — Ищем файлы, которые оканчиваются на «txt»
Посчитаем общее количество файлов, которые нашлись: locate -ic '*txt'
(-i — не смотрим на регистр, -с — вывести общее количество найденных файлов)
Углубимся немного и заюзаем strace.
В папке tmp создадим пустой файл: > hello.txt
locate *txt
Ничего не вывел 🤔
Мы вызываем внешнюю команду locate, которую вызывает интерпретатор. И тут всплывает подстановка имен файлов, то есть Globbing.
🧑🎓 После того, как интерпретатор обнаружил символ «*», интерпретатор попытался сделать подстановку Globbing. При вызове команды locate она получила в качестве аргументов, результат этих подстановок. Запускаем:
strace -e execve locate *txt
Получаем:
execve("/usr/bin/locate", ["locate", "hello.txt"], 0x7ffe242252d8 /* 27 vars */) = 0
Опция e и аргумент execve сообщают strace, что отслеживаются только системные вызовы execve.
execve() выполняет программу, заданную параметром filename
Возвращаемся к выводу от strace и видим, что locate получила в качестве аргумента hello.txt
И теперь locate будет искать файлы именно по этому шаблону, а не по тому, что мы ожидали, когда писали *txt. Поэтому ничего не вывелось, когда запустили locate *txt
Чтобы этого не происходило ⚠️ всегда используйте кавычки для ожидаемого результата.
locate '*txt'
Нужно найти какой-то файл?
Нет, не find!
🔎 Утилита locate используется для поиска файлов, расположенных на машине пользователя или на сервере, опираясь на собственную БД.
Обновление БД происходит автоматически, +- раз в сутки или командой updatedb.
locate txt
Ищем все файлы, имена которых содержат «txt». Опа, меньше чем за секунду команда нашла все подходящие файлы, а find потратил бы гораздо больше времени.
locate '*txt' — Ищем файлы, которые оканчиваются на «txt»
Посчитаем общее количество файлов, которые нашлись: locate -ic '*txt'
(-i — не смотрим на регистр, -с — вывести общее количество найденных файлов)
Углубимся немного и заюзаем strace.
В папке tmp создадим пустой файл: > hello.txt
locate *txt
Ничего не вывел 🤔
Мы вызываем внешнюю команду locate, которую вызывает интерпретатор. И тут всплывает подстановка имен файлов, то есть Globbing.
🧑🎓 После того, как интерпретатор обнаружил символ «*», интерпретатор попытался сделать подстановку Globbing. При вызове команды locate она получила в качестве аргументов, результат этих подстановок. Запускаем:
strace -e execve locate *txt
Получаем:
execve("/usr/bin/locate", ["locate", "hello.txt"], 0x7ffe242252d8 /* 27 vars */) = 0
Опция e и аргумент execve сообщают strace, что отслеживаются только системные вызовы execve.
execve() выполняет программу, заданную параметром filename
Возвращаемся к выводу от strace и видим, что locate получила в качестве аргумента hello.txt
И теперь locate будет искать файлы именно по этому шаблону, а не по тому, что мы ожидали, когда писали *txt. Поэтому ничего не вывелось, когда запустили locate *txt
Чтобы этого не происходило ⚠️ всегда используйте кавычки для ожидаемого результата.
locate '*txt'
👍11❤4
🧑🎓😎 Еще одна серия с мероприятия OFFZONE 2023.
Здесь собираются безопасники, разработчики, инженеры, исследователи, преподаватели и студенты из десятков стран мира. В центре внимания — только хардкорный технический контент по кибербезопасности.
Деобфускация и анализ клиентского JavaScript‑кода для обнаружения DOM‑based XSS
Основная цель доклада — описание нового, разработанного докладчиком, автоматизированного метода анализа JavaScript‑кода, использующего статический и динамический анализ, а также сравнение результатов его работы с существующими автоматизированными сканерами веб‑уязвимостей
Смотреть
Здесь собираются безопасники, разработчики, инженеры, исследователи, преподаватели и студенты из десятков стран мира. В центре внимания — только хардкорный технический контент по кибербезопасности.
Деобфускация и анализ клиентского JavaScript‑кода для обнаружения DOM‑based XSS
Основная цель доклада — описание нового, разработанного докладчиком, автоматизированного метода анализа JavaScript‑кода, использующего статический и динамический анализ, а также сравнение результатов его работы с существующими автоматизированными сканерами веб‑уязвимостей
Смотреть
👍5❤4
HyperDX — помогает инженерам быстрее понять, почему прерывается продакшн, с помощью централизованных журналов, метрик, трассировок и исключений в одном месте. Крутая опенсорсная альтернатива Datadog и New Relic, удобная для разработчиков.
Что включено
🕵️ End to end корреляция от сеанса браузера к журналам и трассировкам всего за несколько кликов
🔥 Высокая производительность благодаря Clickhouse
🔍 Интуитивно понятный полнотекстовый поиск и синтаксис поиска свойств
🤖 Автоматическая кластеризация шаблонов событий
📈 Панель мониторинга событий без сложного языка запросов
🔔 Настройка оповещений
🔭 Нативная Open Telemetry
Вы можете начать с развертывания полного стека с помощью Docker Compose:
docker compose up -d
После этого можно перейти на https://localhost:8080 чтобы получить доступ к UI HyperDX.
Что включено
🕵️ End to end корреляция от сеанса браузера к журналам и трассировкам всего за несколько кликов
🔥 Высокая производительность благодаря Clickhouse
🔍 Интуитивно понятный полнотекстовый поиск и синтаксис поиска свойств
🤖 Автоматическая кластеризация шаблонов событий
📈 Панель мониторинга событий без сложного языка запросов
🔔 Настройка оповещений
🔭 Нативная Open Telemetry
Вы можете начать с развертывания полного стека с помощью Docker Compose:
docker compose up -d
После этого можно перейти на https://localhost:8080 чтобы получить доступ к UI HyperDX.
❤10
🤔 Очередной #дайджест по DevOps
➡️ Kube FM — подкаст про Kubernetes, новейшие инструменты и тенденции
➡️ Вы платите слишком много — сокращение затрат на ведение журнала Cloudwatch на 80% благодаря Firehose, S3 и Athena
➡️ Как быстрее выполнять запросы Loki metric с более точными результатами — делаем пользователей Grafana счастливее с помощью повышения производительности
➡️ Мониторинг AWS Lambda — полное руководство по Serverless подходу
➡️ Terraform Evolution — как мы безопасно отделили дюжину сервисов от монолита
➡️ Kube FM — подкаст про Kubernetes, новейшие инструменты и тенденции
➡️ Вы платите слишком много — сокращение затрат на ведение журнала Cloudwatch на 80% благодаря Firehose, S3 и Athena
➡️ Как быстрее выполнять запросы Loki metric с более точными результатами — делаем пользователей Grafana счастливее с помощью повышения производительности
➡️ Мониторинг AWS Lambda — полное руководство по Serverless подходу
➡️ Terraform Evolution — как мы безопасно отделили дюжину сервисов от монолита
❤23🔥18🥰13👏11👍8
Вопрос по Linux
#вопросы_с_собеседований
Что такое системные вызовы? Зачем они нужны и как они работают? Какие системные вызовы знаешь?
...............................................................................................................
Системный вызов — это то, посредством чего код приложения, выполняющегося в пользовательском режиме, запрашивает службу, предоставляемую кодом, который выполняется в режиме ядра.
read - чтение из файлового дескриптора.
open - открывающий и по возможности создающий файл или устройство
close - закрыть файловый дескриптор
access - проверка пользовательских привилегий для этого файла
mmap - служит для отображения предварительно открытого файла (например, с помощью системного вызова open()) в адресное пространство вычислительной системы
#вопросы_с_собеседований
Что такое системные вызовы? Зачем они нужны и как они работают? Какие системные вызовы знаешь?
...............................................................................................................
👍13🔥4
25 сентября прошла масштабная конференция Yandex Scale. В программе предполагалось 30+ докладов на 6 тем/направлений:
➖ Infra + K8s
➖ Serverless
➖ Digital Workplace
➖ ML
➖ Data Platform
➖ Security
Здесь мы рассмотрим полное выступление из ветки Infra + K8s (остальные не забудем, ожидайте😊😇)
#мероприятие
➖ Infra + K8s
➖ Serverless
➖ Digital Workplace
➖ ML
➖ Data Platform
➖ Security
Здесь мы рассмотрим полное выступление из ветки Infra + K8s (остальные не забудем, ожидайте😊😇)
#мероприятие
❤5🔥3
😎🥷 Разбираемся с Microcks Docker Extension
Microcks — это облачный опенсорсный Kubernetes-инструмент для макетирования и тестирования API.
🔹 Симуляция API или микросервиса на основе набора описательных ресурсов (спецификаций или контрактов)
🔹 Валидация соответствия приложения и API путем проведения контрактного тестирования
Уникальность Microcks — он предлагает единый и согласованный подход для всех видов запросов/ответов к API (REST, GraphQL, gRPC, SOAP) и API и event-driven API.
Зачем запускать Microcks в качестве Desktop-расширения для Docker?
Благодаря бесшовной интеграции возможностей контейнеризации Docker разработчикам больше не нужно ориентироваться в сложных настройках или бороться с проблемами совместимости. Разработчики могут без особых усилий настраивать и развертывать Microcks в существующей среде Docker, без необходимости править большие конфиги.
Подробнее читаем тут
#обучалка
Microcks — это облачный опенсорсный Kubernetes-инструмент для макетирования и тестирования API.
🔹 Симуляция API или микросервиса на основе набора описательных ресурсов (спецификаций или контрактов)
🔹 Валидация соответствия приложения и API путем проведения контрактного тестирования
Уникальность Microcks — он предлагает единый и согласованный подход для всех видов запросов/ответов к API (REST, GraphQL, gRPC, SOAP) и API и event-driven API.
Зачем запускать Microcks в качестве Desktop-расширения для Docker?
Благодаря бесшовной интеграции возможностей контейнеризации Docker разработчикам больше не нужно ориентироваться в сложных настройках или бороться с проблемами совместимости. Разработчики могут без особых усилий настраивать и развертывать Microcks в существующей среде Docker, без необходимости править большие конфиги.
Подробнее читаем тут
#обучалка
🔥22❤3
👷♂️🏗️ Контейнеризованная платформа автоматизации Ansible
Эта штука может устанавливать и запускать контейнеризованные авто-контроллеры, Ansible automation hub и Event-Driven службы Ansible на одном или нескольких базовых узлах RHEL с архитектурой x86_64 и ARM64. Для этого не требуется Kubernetes, поскольку она использует собственный RHEL podman поверх RHEL-хоста.
Преимущества
🔹 упрощенный процесс установки
🔹 многоуровневый подход к установке
🔹 контейнеризированный подход к сервисам
🔹 защита «из коробки» с использованием rootless Podman контейнеров
🔹 стартовая площадка для улучшенных функций в будущем
🔹 согласование подхода к поддерживаемым платформам развертывания и опциям
Читать статью
#гайд
Эта штука может устанавливать и запускать контейнеризованные авто-контроллеры, Ansible automation hub и Event-Driven службы Ansible на одном или нескольких базовых узлах RHEL с архитектурой x86_64 и ARM64. Для этого не требуется Kubernetes, поскольку она использует собственный RHEL podman поверх RHEL-хоста.
Преимущества
🔹 упрощенный процесс установки
🔹 многоуровневый подход к установке
🔹 контейнеризированный подход к сервисам
🔹 защита «из коробки» с использованием rootless Podman контейнеров
🔹 стартовая площадка для улучшенных функций в будущем
🔹 согласование подхода к поддерживаемым платформам развертывания и опциям
Читать статью
#гайд
🤩27🔥6❤1👍1
🧑🎓😎 Еще одна серия с мероприятия OFFZONE 2023
Здесь собираются безопасники, разработчики, инженеры, исследователи, преподаватели и студенты из десятков стран мира. В центре внимания — только хардкорный технический контент по кибербезопасности.
Эксплуатация уязвимостей HTTP Request Splitting
В своем докладе Сергей расскажет об уязвимостях HTTP Request Splitting / CRLF Injection в проксировании HTTP‑запросов пользователя между веб‑серверами. Будут освещены методы обнаружения подобных уязвимостей при автоматическом сканировании и варианты их эксплуатации на примере популярных багбаунти-программ
Смотреть
#видео
Здесь собираются безопасники, разработчики, инженеры, исследователи, преподаватели и студенты из десятков стран мира. В центре внимания — только хардкорный технический контент по кибербезопасности.
Эксплуатация уязвимостей HTTP Request Splitting
В своем докладе Сергей расскажет об уязвимостях HTTP Request Splitting / CRLF Injection в проксировании HTTP‑запросов пользователя между веб‑серверами. Будут освещены методы обнаружения подобных уязвимостей при автоматическом сканировании и варианты их эксплуатации на примере популярных багбаунти-программ
Смотреть
#видео
❤3👍3🔥2
#вопросы_с_собеседований
Простенький вопрос, который часто предлагают вначале собеса
Представлен вывод команды top. Что означает каждая запись в выводе?
top - 10:44:36 up 91 days, 19:29, 7 users, load average: 0,00, 0,02, 0,05
Tasks: 156 total, 1 running, 155 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,0 us, 1,5 sy, 0,0 ni, 96,9 id, 0,0 wa, 0,0 hi, 0,0 si, 1,5 st
KiB Mem : 12137392 total, 6227844 free, 1117728 used, 4791820 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 10090148 avail Mem
top — утилита
10:44:36 — время системы
up — сколько система работает с момента последнего запуска
7 user — количество авторизованных юзеров в системе
load average: 0.00, 0.02, 0.05 — параметр средней нагрузки на систему за период времени 1 минута, 5 минут, 15 минут
156 total — всего процессов в системе
1 running — количество процессов в работе
155 sleeping — ожидание процесса или сигнала
0 stopped — количество приостановленных процессов сигналом STOP или выполнение трассировки
0 zombie — количество зомби-процессов, которые завершили своё выполнение, но присутствующие в системе, чтобы дать родительскому процессу считать свой код завершения.
Простенький вопрос, который часто предлагают вначале собеса
Представлен вывод команды top. Что означает каждая запись в выводе?
top - 10:44:36 up 91 days, 19:29, 7 users, load average: 0,00, 0,02, 0,05
Tasks: 156 total, 1 running, 155 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,0 us, 1,5 sy, 0,0 ni, 96,9 id, 0,0 wa, 0,0 hi, 0,0 si, 1,5 st
KiB Mem : 12137392 total, 6227844 free, 1117728 used, 4791820 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 10090148 avail Mem
👍11❤6🔥5🥰5🎉2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💼🖥️ Топ лучших бирж фриланса и платформ для программистов
Где начинающему разработчику найти работу и получить первый коммерческий заказ? В этом могут помочь фриланс-биржи и human-cloud платформы. Но какие именно — расскажем в статье.
📌 Полезные материалы по теме:
🧒 Как найти работу junior-разработчику: 5 самых неочевидных способов
👍 Тесты на собеседовании: как к ним подготовиться и получить оффер
📝 Как правильно составить сопроводительное письмо программисту
🔍 ТОП-12 джоб-сайтов: где программисту разместить резюме и найти работу
🤖 40 сервисов на базе AI, которые помогут найти работу в 2023 году
💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ
🗺️ Как программисту искать (и найти) работу за границей в 2023 году
🔝 Подборка полезных материалов для улучшения профиля на LinkedIn и не только
💾 Список каналов «Библиотеки программиста» с вакансиями
🤩Понравился пост? Проголосуйте за нас, чтобы мы могли публиковать сторис (требуется премиум).
Где начинающему разработчику найти работу и получить первый коммерческий заказ? В этом могут помочь фриланс-биржи и human-cloud платформы. Но какие именно — расскажем в статье.
📌 Полезные материалы по теме:
🧒 Как найти работу junior-разработчику: 5 самых неочевидных способов
👍 Тесты на собеседовании: как к ним подготовиться и получить оффер
📝 Как правильно составить сопроводительное письмо программисту
🔍 ТОП-12 джоб-сайтов: где программисту разместить резюме и найти работу
🤖 40 сервисов на базе AI, которые помогут найти работу в 2023 году
💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ
🗺️ Как программисту искать (и найти) работу за границей в 2023 году
🔝 Подборка полезных материалов для улучшения профиля на LinkedIn и не только
💾 Список каналов «Библиотеки программиста» с вакансиями
🤩Понравился пост? Проголосуйте за нас, чтобы мы могли публиковать сторис (требуется премиум).
❤4👍4🔥2
Подборка лучших статей «Библиотеки программиста» за сентябрь: сохраняй в заметки, чтобы не пропустить #самыйсок
🐧📖 ТОП-10 книг по Linux в 2023 году
🧩🧠 Тест на сообразительность: 3 захватывающие головоломки, чтобы развлечься и потренировать мозг
🎮 Идеальный подарок геймеру: Xbox vs PlayStation vs Nintendo Switch vs Steam Deck
📊 Как я входил в IT? Результаты опроса «Библиотеки программиста»
🔝 Приоритизация задач по методу MoSCoW: как за 5 минут научиться грамотно расставлять приоритеты
🐧📖 ТОП-10 книг по Linux в 2023 году
🧩🧠 Тест на сообразительность: 3 захватывающие головоломки, чтобы развлечься и потренировать мозг
🎮 Идеальный подарок геймеру: Xbox vs PlayStation vs Nintendo Switch vs Steam Deck
📊 Как я входил в IT? Результаты опроса «Библиотеки программиста»
🔝 Приоритизация задач по методу MoSCoW: как за 5 минут научиться грамотно расставлять приоритеты
❤7🥰3👍1
📚 ТОП-8 книг по DevOps в 2023 году
Список из 8 лучших книг, которые должны быть в библиотеке каждого начинающего и продвинутого DevOps-специалиста.
Читать статью
#книги
Список из 8 лучших книг, которые должны быть в библиотеке каждого начинающего и продвинутого DevOps-специалиста.
Читать статью
#книги
👍8❤3🔥3