Pull to refresh
0
0

Пользователь

Send message

Обзор Teleport: организация безопасного доступа для кластеров Kubernetes

Reading time10 min
Views14K

Платформа Kubernetes является одной из самых популярных систем для оркестрации контейнеров. Со временем многие организации полностью переводят свою инфраструктуру и проекты на «рельсы» Kubernetes. Однако здесь возникают вопросы безопасности, связанные с необходимостью контроля – кто и как сможет получать доступ к кластеру Kubernetes. По умолчанию подключиться к кластеру Kubernetes может каждый – для этого достаточно стандартного конфигурационного файла с именем config. Для решения данных проблем безопасности существует продукт под названием Teleport.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments5

Астрофотография в каждый дом

Reading time6 min
Views126K
Думаю у любого человека, интересующегося космосом — возникала идея купить телескоп, чтобы лично все посмотреть.

Однако суровая реальность вечно портит всю малину: в пределах города – все небо засвечено уличным освещением и турбулентность воздуха высокая. Это означает, что либо придется ограничится самыми крупными и яркими объектами (вроде Луны и Юпитера), либо возить телескоп далеко за город.

Возможное решение проблемы — удаленно-управляемые телескопы большого размера и расположенные в горах. Конечно, возможность видеть все своими глазами это не заменит — но астрофотографии полученные таким образом будет трудно превзойти. Именно на этом способе я и хочу остановиться в этой статье.

Пример того, что получилось: галактика Андромеда, M31 на телескопе Т20
Читать дальше →
Total votes 216: ↑215 and ↓1+214
Comments60

Selenium для Python. Глава 5. Ожидания

Reading time3 min
Views178K
Продолжение перевода неофициальной документации Selenium для Python.
Оригинал можно найти здесь.

Содержание:


1. Установка
2. Первые шаги
3. Навигация
4. Поиск элементов
5. Ожидания
6. Объекты Страницы
7. WebDriver API
8. Приложение: Часто Задаваемые Вопросы

5. Ожидания


В наши дни большинство веб-приложений используют AJAX технологии. Когда страница загружена в браузере, элементы на этой странице могут подгружаться с различными временными интервалами. Это затрудняет поиск элементов, если элемент не присутствует в DOM, возникает исключение ElementNotVisibleException. Используя ожидания, мы можем решить эту проблему. Ожидание дает некий временной интервал между произведенными действиями — поиске элемента или любой другой операции с элементом.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments8

Шпаргалка по безопасной сборке Docker-образов

Reading time17 min
Views17K

Каждый контейнер Docker основан на образе, который обеспечивает базу для всего, что вы когда-либо будете развертывать и запускать. Если злоумышленник как-то повлияет на сборку образа и изменит Dockerfile, то сможет совершить навредить вашим системам. Например, добавить вредоносный код, получить доступ к секретным данным сборки или атаковать хост-компьютер. Поэтому защита начинается уже во время подготовки образа, с первой инструкции.

Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Продолжаю рассказывать о безопасности в Docker. Под катом расскажу, как настроить сборку образов, обеспечить безопасность и добавить сканирование в пайплайн.
Читать дальше →
Total votes 53: ↑51 and ↓2+67
Comments7

Как начать писать на Java в VSCode

Level of difficultyEasy
Reading time11 min
Views24K

Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно интегрируется с Spring Framework и знает его особенности.

Тогда зачем пробовать что‑то другое?

Привет, Хабр! Меня зовут Константин Шибков, я Java‑разработчик в CDEK.

В какой‑то мере все Java‑разработчики стали заложниками IDEA. Она так привычна, что нет желания пробовать другое. Ведь всё такое удобное и знакомое за столько лет использования.

Но если у вас есть трудности с доступом к Ultimate версии, а Community вариант не достаточно функционален — самое время попробовать современную альтернативу — Visual Studio Code.

В статье делюсь опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».

Перейти на VSCode
Total votes 65: ↑64 and ↓1+69
Comments59

Автостопом по HashiCorp Vault

Level of difficultyMedium
Reading time13 min
Views11K

Оффтоп

Наш рассказ — это гид автостопщика, некое summary тех вещей, которых нам не хватало при знакомстве с Vault. В нем мы сделаем несколько остановок: поговорим в целом про управление секретами, о том, почему мы рекомендуем именно Vault; рассмотрим, как Vault работает; поделимся лайфхаками по работе с секретами и болью о том, чего нам не хватает в продукте.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments2

Code review в Gitlab CE: если Merge request approvals нет, но очень хочется

Reading time5 min
Views34K


Одной из самых нужных функций, которой нет в бесплатной версии GitLab, является возможность голосования против обнуления репозитория контролировать Merge request (MR), используя обязательный code review.

Сделаем минимальный функционал сами — запретим Merge, пока несколько разработчиков не поставят «палец вверх» на MR.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments41

Python Testing с pytest. Начало работы с pytest, Глава 1

Reading time24 min
Views210K

Вернуться Дальше


Я обнаружил, что Python Testing с pytest является чрезвычайно полезным вводным руководством к среде тестирования pytest. Это уже приносит мне дивиденды в моей компании.

Chris Shaver
VP of Product, Uprising Technology


Читать дальше →
Total votes 31: ↑22 and ↓9+13
Comments2

Ускоряем прохождение iOS UI-тестов. Часть 1. Запуск тестов без сборки проекта

Reading time6 min
Views5.6K

Хабр, привет!

Меня зовут Борис. Я Mobile AQA lead в Vivid Money.

Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.

Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.

В рамках этой статьи мы разберем такие этапы:

- зачем ускорять время прохождения UI-тестов;

- что такое Test runner, и какие они бывают;

- что нужно для прогона тестов без компиляции проекта;

- делимся опытом, как это помогает нам.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments0

Ansible + Grafana Loki: Настраиваем отправку уведомлений в чат после логина на сервер по SSH

Level of difficultyMedium
Reading time19 min
Views11K

Не задумывались ли вы когда-нибудь над тем, чтобы знать о каждом входе на ваши сервера? Меня охватила такая же паранойя: а вдруг, когда я сплю, на мой сервер заходит домовой и творит там ужасы? Хотя логин на наши сервера и запрещен по паролю, а SSH-ключи есть только у меня, в любом случае это вызывает большие опасения.

В этой статье мы развёрнем через Terraform несколько серверов в Yandex.Cloud, а затем при помощи Ansible настроим необходимый софт на каждом сервере. У нас будет основной сервер c Loki (система агрегирования логов) и Grafana (инструмент для визуализации данных), на серверах, которые мы хотим отслеживать, будет установлен Promtail (агент для сбора и отправки логов). Мы разберёмся с тем, как отслеживать входы на сервер, а затем в удобном формате отправлять об этом уведомления в чат с помощью вышеуказанных сервисов.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments26

Шаблоны тест-кейсов по API, тест-кейсы по идемпотентности

Reading time4 min
Views65K

Привет всем, я, Надежда Дудник, главный инженер по тестированию в СБЕРе, а ещё ментор по тестированию ПО.

Как два года введу блог по тестированию, помогаю начинающим специалистам по тестированию развивать хард скиллы, дополнительно сочиняю тесты для закрепления знаний по основам тестирования и не только.

В рамках своего блога я поделилась информацией как составлять тест-кейсы по бэкенду, и захотелось также поделиться этой информацией здесь.

Хочу вам рассказать о важности написания тест-кейсов по API, а именно про стратегию составления тест-кейсов по бэку (backend), где результатом будет являться хорошо структурированный тест-кейс.

На работе я постоянно провожу ревью тестовых моделей по бэку, даю обратную связь, чтобы было качественное тестовое покрытие согласно требованиям.

Как вы знаете, что каждый тест состоит из предусловий, шагов и ожидаемых результатов.

При выполнении каждого запроса API нам необходимо и важно проверить:

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments14

Insomnia — Инструкция по применению

Level of difficultyEasy
Reading time8 min
Views48K

Автор: Надежда Дудник

Заранее хочу сказать, что мне нравится Postman, просто Insomnia часто используемый инструмент у меня на работе, и важно поделиться информацией о его возможностях.

Содержание:

Читать далее
Total votes 7: ↑6 and ↓1+6
Comments3

Введение в Data classes

Reading time7 min
Views222K

Одна из новых возможностей, появившихся в Python 3.7 — классы данных (Data classes). Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Не смотря на то, что они используют другие механизмы работы, их можно сравнить с "изменяемыми именованными кортежами со значениями по умолчанию".



Введение


Все приведенные примеры требуют для своей работы Python 3.7 или выше

Большинству python-разработчикам приходится регулярно писать такие классы:


class RegularBook:
    def __init__(self, title, author):
        self.title = title
        self.author = author

Уже на этом примере видна избыточность. Идентификаторы title и author используются несколько раз. Реальный класс же будет ещё содержать переопределенные методы __eq__ и __repr__.


Модуль dataclasses содержит декоратор @dataclass. С его использованием аналогичный код будет выглядеть так:


from dataclasses import dataclass

@dataclass
class Book:
    title: str
    author: str
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments19

Самая дешевая заводская панель управления умным домом, которая отлично работает

Level of difficultyHard
Reading time4 min
Views79K

Несколько лет назад уже писал про свои поиски идеальной и недорогой панели управления умным домом (статья собрала 200 закладок), тогда в 2020 году я остановился на недорогом андроид планшете, который перепрошил на чистый андроид для выполнения удаленных команд через ADB.

Программно меня всё устраивало, но вот красиво закрепить планшет на стене без колхоза и дополнительных действий было трудно. Пришлось отдавать его в багетную мастерскую для оформления в рамку, выпиливания в стенках мест под кабель и кнопки, а затем придумывать настенный крепеж, который бы не отваливался при нажатии на экран, а кнопку включения пришлось подпаивать внутри корпуса планшета, чтобы сделать её внешней. К тому же в случае проблем с устройством пришлось бы эти шаги повторять заново.

С тех пор я переехал и не захотел повторять все эти шаги, мне хотелось взять готовое заводское устройство, программно его настроить, отвязать от любых облачных сервисов и просто вставить его в подрозетник или поставить на стол. Переплачивать за панель тоже не хотелось. В итоге таким вариантом стала Sonoff NSPanel.

Выбор пал на NSPanel из‑за цены около 3,5 тысяч рублей, а также возможности установки в подрозетник или покупки настольной подставки — как у меня на фото.

Панель в подрозетник или на стол
Total votes 81: ↑78 and ↓3+99
Comments126

Всё пространство-время дрожит от пульсации гравитационных волн

Reading time12 min
Views62K

Со всех концов Вселенной планеты, звёзды, остатки звёзд и другие массивные объекты вступают в сложный, но по своей сути нестабильный гравитационный танец. Каждая масса искривляет ткань пространства-времени в своей окрестности, а все остальные массы движутся по траектории, определяемой этим искривлённым пространством-временем. Но этот простой акт — движение одной массы через пространство, искривлённое другой массой, — по своей сути нестабилен, поскольку гравитирующие массы, движущиеся через гравитационное поле, сами испускают гравитационное излучение, или гравитационные волны.

В течение 100 лет после создания общей теории относительности эти гравитационные волны оставались незамеченными, пока научная коллаборация LIGO не обнаружила их исходящими от чёрных дыр малой массы (несколько сотен солнечных масс или меньше) на последних стадиях их инспирации и слияния. За время, прошедшее с момента первого обнаружения в 2015 году, было обнаружено ещё около 100 сигналов гравитационных волн, но все они находились на тех же конечных стадиях падения друг на друга по спирали и слияния.

Впервые новый класс сигналов гравитационных волн был замечен совершенно иным способом: учёные следили за работой самых точных природных часов во Вселенной — миллисекундных пульсаров. В серии работ NANOGrav коллаборация представляет убедительные доказательства существования детектируемого гравитационного волнового фона на временных масштабах, в ~10 миллиардов раз превышающих возможности LIGO. Это первое прямое обнаружение такого космического гравитационно-волнового фона, и следующие шаги будут ещё более захватывающими.

Читать далее
Total votes 50: ↑45 and ↓5+62
Comments72

Kubernetes Scheduler в Деталях: Ключевые Концепции. Часть 2

Level of difficultyHard
Reading time13 min
Views5.2K

В мире, где Kubernetes доминирует в управлении контейнеризированными приложениями, один вопрос часто встаёт перед теми, кто стремится понять его внутренние механизмы: 'Как на самом деле работает k8s scheduler?' Эта статья предназначена для развенчания мифов и предоставления чёткого объяснения работы Kubernetes планировщика. Мы исследуем ключевые моменты этого процесса, начиная от того, назначает ли планировщик модули узлам один за другим в очереди или выполняет эту задачу параллельно, и заканчивая более сложными аспектами его работы. Погрузитесь в детали этой сложной, но увлекательной темы вместе с нами, чтобы лучше понять, как Kubernetes оптимизирует размещение подов в вашем кластере

Погружение в Мир Kubernetes Scheduler
Total votes 14: ↑13 and ↓1+17
Comments1

Kubernetes Scheduler в Деталях: Важные Аспекты. Часть 1

Level of difficultyHard
Reading time9 min
Views7.8K

Хотите узнать, как Kubernetes оптимально распределяет ваши контейнеры по нодам и каким образом можно этот процесс настроить или даже модифицировать?

В этой статье мы погружаемся в недра Kubernetes Scheduler — ключевого компонента, отвечающего за эффективное распределение ресурсов в вашем кластере. От базовых принципов и этапов планирования до возможностей расширения с помощью плагинов - здесь вы найдете всё, чтобы стать настоящим экспертом в этой области.
Не пропустите!

Планирую идти от простого к сложному, так что прошу отнестись с пониманием. Если вы уже знакомы с базовыми концепциями k8s scheduler, не стесняйтесь пропустить первую часть и перейти сразу ко 2-й (ссылка будет опубликована позже).

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments1

На Энцеладе есть все необходимые для жизни ингредиенты

Reading time6 min
Views8.7K

Океанический спутник Сатурна Энцелад привлекает всё большее внимание в процессе поисков внеземной жизни в нашей Солнечной системе. Большая часть того, что мы знаем об Энцеладе и его ледяном океане, получена в результате работы миссии «Кассини». Исследование системы Сатурна аппаратом «Кассини» завершилось в 2017 году, но учёные продолжают работать с его данными.

Новые исследования, основанные на данных «Кассини», подкрепляют идею о том, что на Энцеладе есть все химические вещества, необходимые для жизни.

Во время своего полёта «Кассини» обнаружил гейзероподобные шлейфы воды, извергающиеся из ледяной оболочки Энцелада. В 2008 году аппарат совершил близкий пролёт и проанализировал шлейфы с помощью анализатора космической пыли (CDA). CDA показал, что вода в шлейфах содержит интересную смесь летучих веществ, включая углекислый газ, водяной пар и угарный газ. Также были обнаружены следовые количества молекулярного азота, простых углеводородов и сложных органических веществ.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments4

Что будет с мобильными релизами, если улучшать и автоматизировать процессы

Reading time13 min
Views5.8K

Вспоминаем, каким был наш релизный поезд раньше и как круто мы его доработали сейчас. Мы разработали сервис релизов, запустили бета-тесты, придумали, как релизить без участия людей и автоматизировали загрузку сборок в магазины приложений. Про это всё рассказываем в статье.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments0

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Specialist
Intern