Pull to refresh
30
0.2
Евгений Казанов @evgenyk

User

Send message

Безопасность первична: сетевое взаимодействие и привилегии контейнеров в Docker

Reading time8 min
Views3.5K

Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Продолжаю рассказывать о безопасности в Docker. В новой статье поговорим о сетевом взаимодействии контейнеров, правильном управлении привилегиями и ограничении потребления системных ресурсов.

Поделюсь, почему не стоит использовать bridge docker0 и network namespace хоста, чего не стоит делать при монтировании каталогов и многими другими советами. Придерживайтесь наших рекомендаций и сделайте работу с Docker еще более защищенной!
Читать дальше →
Total votes 31: ↑30 and ↓1+35
Comments0

Префиксы is, has, can, should… в нейминге переменных и функций

Level of difficultyEasy
Reading time5 min
Views18K

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

Читать далее
Total votes 67: ↑63 and ↓4+68
Comments54

YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 2

Reading time10 min
Views3.2K

Привет, Хабр! В прошлой части я рассказал, как автоматизировать простую нарезку YouTube-видео на Shorts, добавить туда текст и размытый фон. Сегодня займемся более комплексной задачей — генерацией вертикальных видео на основе записи с геймплеем и текстом. В тексте узнаете, как генерировать аудио с помощью библиотеки Bark и настроить анимацию ASCII-маскота. Подробнее — под катом.
Читать дальше →
Total votes 32: ↑32 and ↓0+42
Comments4

Чек-лист по разработке облачных приложений. Часть 1

Level of difficultyEasy
Reading time10 min
Views2.2K

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

Посмотреть чек-лист
Total votes 6: ↑5 and ↓1+6
Comments4

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

Reading time17 min
Views14K

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

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

Что нужно знать, чтобы успешно пройти System Design Interview

Reading time16 min
Views31K

Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.

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

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

Читать далее
Total votes 47: ↑45 and ↓2+52
Comments26

Встречают по README — что нужно знать о документации

Level of difficultyEasy
Reading time6 min
Views8.8K
image

Сокращение времени на поиск информации — задача, о которой говорят непростительно мало. Эту задачу должны решать отдельные разработчики и, в целом, компании. Например, CloudMTS предоставляет материалы, чтобы пользователи быстро освоились и успешно работали в облаке. База знаний, с которой можно самостоятельно изучать облачные сервисы, это хорошее подспорье для беспроблемной миграции.

Проводя аналогию дальше, знакомство с новой разработкой может упросить файл README — базовый компонент документации. 

Должны ли разработчики писать документацию? Как это часто бывает, однозначного ответа на этот вопрос нет.

Сегодня поговорим об инструментах для сборки и работы с README, а также обсудим тему документации.
Читать дальше →
Total votes 19: ↑19 and ↓0+22
Comments4

SOLIDно знать…

Level of difficultyEasy
Reading time7 min
Views5.4K

SOLID. Принципы и Паттерны. Паттерны и Принципы.
Что может быть ближе друг другу чем эти субстанции ?! Эта статья проведет параллель между ними, она не собирается объяснить суть каждой, вместе или отдельно, а желает показать как одна другой помогает.
То есть, статья в некотором роде перекрестный бой между паттернами и SOLID принципами.

Читать далее
Total votes 15: ↑8 and ↓7+5
Comments21

Принципы SOLID, только понятно

Level of difficultyEasy
Reading time6 min
Views54K

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

Изучить принципы
Total votes 79: ↑65 and ↓14+58
Comments94

Без холивара «переписать все на Go»: проблема переносимости в Python и ее решение

Level of difficultyMedium
Reading time19 min
Views15K

На скриптовых языках удобно разрабатывать… И на этом удобство заканчивается. Вне машины разработчика начинаются проблемы. Особенно если вы пишете какой-то прикладной тулинг — cli-утилиты, вспомогательные приложения в вашем SDK и прочее. Вы даже не можете рассчитывать на то, что у пользователя будет pip, чтобы он смог поставить все ваши зависимости, вам все нужно организовать самостоятельно.

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

Если вам покажется, что в чем-то я ошибаюсь, добро пожаловать в комментарии. Буду рад услышать любые альтернативные точки зрения. Кроме, как я уже отметил в заголовке, рекомендации переписать все на Go/Rust/You name it :) Этот холивар мы уже проходили.

Читать далее
Total votes 70: ↑70 and ↓0+78
Comments34

ГАЙД по python стеку для Data Science инженеров

Level of difficultyEasy
Reading time7 min
Views10K

Data science - это область, которая занимается изучением и анализом больших объемов данных, чтобы находить в них полезные закономерности, делать прогнозы или принимать решения на основе фактов. Самым популярным языком программирования для data science является Python. Библиотеки pyhton, о которых пойдет речь: NumPy, SciPy, Pandas, Matplotlib. Статья написана для новичков, которые хотят узнать о python стеке для data science.

Подробнее
Total votes 15: ↑12 and ↓3+11
Comments4

Классифицируем клиент-серверное взаимодействие от А до Kafka

Level of difficultyEasy
Reading time9 min
Views2.5K

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

Читать далее
Total votes 22: ↑20 and ↓2+19
Comments3

Телеграм-каналы для айтишников

Level of difficultyEasy
Reading time4 min
Views6.1K

Привет, дорогие читатели Хабра! Меня зовут Катерина, я занимаюсь переводами технических статей. Моя основная тема - Python, но, бывает, перевожу также статьи по другим технологиям и по тестированию.

Я уже опубликовала на Хабре подборки моих любимых ресурсов по Python и QA. Сегодня я набросала список Телеграм‑каналов по самым разным технологиям.

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

Читать далее
Total votes 19: ↑2 and ↓17-15
Comments5

Безопасность в Docker: от правильной настройки хоста до демона

Reading time12 min
Views15K

Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Помогаю клиентам обеспечивать защиту инфраструктуры и участвую в разработке новых решений компании в сфере ИБ. И сейчас я начала больше погружаться в тему разработки и изучать лучшие практики по обеспечению безопасности приложений.

Все больше компаний используют контейнеры в разработке сервисов. Популярность технологии объяснима: с помощью контейнеров можно легко упаковать приложение вместе со всеми зависимостями в один образ. Его разработчики могут передавать между собой с уверенностью, что приложение запустится на любой платформе. Однако эта же популярность контейнеров приводит к рискам: в контейнерах широко распространена эксплуатация уязвимостей, которые во многом возникают из-за неаккуратного использования инструмента.

Сегодня сложно представить современное приложение без технологий контейнеризации. Поэтому я решила подробно изучить вопросы безопасности в этом направлении и собрала рекомендации, как лучше подойти к работе с Docker-платформой. Подробности под катом!
Читать дальше →
Total votes 63: ↑63 and ↓0+68
Comments3

Топовые подходы к решению алгоритмических задач

Reading time11 min
Views21K

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

Читать далее
Total votes 13: ↑13 and ↓0+16
Comments10

Вы должны перестать вручную писать Dockerfile'ы

Level of difficultyMedium
Reading time3 min
Views53K

Вы тоже устали вручную заполнять Dockerfile и docker-compose.yaml под каждый новый проект?

Я всегда задумывался, применяю ли я известные best practices, когда пишу конфиг для Docker, и не занесу ли я случайно какие-нибудь уязвимости, вручную заполняя конфиг-файлы.

Что же, теперь мне больше не придется беспокоиться об этом, благодаря добрым людям из Docker, которые недавно реализовали инструмент для этого - docker init .

Интересно, как экономить время и быстро генерировать конфиги, даже если вы не профи в Docker? Прошу под кат.

Читать далее
Total votes 74: ↑71 and ↓3+76
Comments66

Безопасная разработка: обзор основных инструментов

Level of difficultyEasy
Reading time5 min
Views1.9K

Привет! Меня зовут Иван, я инженер по кибербезопасности в достаточно крупной компании и автор курса «Специалист по информационной безопасности: веб-пентест». В этой сфере я уже около шести лет. 

Сейчас занимаюсь тестированием безопасности приложений, архитектурой и внедрением решений безопасности, проектированием проектов и много чем ещё, в том числе пентестами.

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

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

Как прорешать тысячу задач на Leetcode за триста дней

Reading time4 min
Views26K
Привет, меня зовут Мэнси Эгэрвэл, я контент-менеджер в компании Favtutor. Недавно я добралась до отметки в тысячу решенных задач на Leetcode, и подумала, что хорошо бы поделиться своим опытом с другими.

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



Однако, если взглянуть на статистику за 2022 год, то там не обнаружится почти ничего. Как можно видеть, произошли серьезные перемены!



Ниже вы найдете несколько уроков, которые я вынесла для себя, и ошибок, которых следует избегать, чтобы не тратить зря время и силы.
Читать дальше →
Total votes 14: ↑11 and ↓3+13
Comments15

Что можно сделать на личном веб-сайте

Level of difficultyMedium
Reading time6 min
Views21K

Blot просто берёт и превращает папку в сайт. Текстовые файлы в папке автоматически становятся веб-страницами на сайте

Мы уже упоминали десяток способов, как использовать личный VPS в минимальной конфигурации за 130 рублей. Это облачное хранилище для файлов, архив для бэкапов, почтовый сервер, игровой сервер и т. д. На него можно поставить практически любой софт: 0,5 ГБ оперативной памяти хватит для запуска большинства linux-приложений (без GUI).

И веб-сервер с личным сайтом и блогом — одно из таких приложений. Почему нет? За доллар в месяц вложение в личный бренд и технологическую независимость окупится многократно.
Читать дальше →
Total votes 49: ↑32 and ↓17+27
Comments32

Как развернуть сайт c помощью Terraform

Reading time6 min
Views7.5K


Привет, Хабр! В этой инструкции я покажу, как развернуть сайт в Kubernetes c помощью Terraform. Разберу интеграцию CRaaS с Managed Kubernetes, которая сократит ручную настройку и поможет публиковать образы контейнеров всего в несколько кликов.

Дисклеймер: мы не будем c нуля разбирать особенности работы с Terraform. Если вы не работали с этим инструментом, изучите сначала материал «Как развернуть свое приложение в Kubernetes».
Читать дальше →
Total votes 27: ↑26 and ↓1+34
Comments9
1
23 ...

Information

Rating
2,009-th
Location
Висагинас, Литва, Литва
Date of birth
Registered
Activity