Как стать автором
Обновить
27
0
Евгений Казанов @evgenyk

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

Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров723

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

Читать далее
Всего голосов 12: ↑11.5 и ↓0.5+11
Комментарии0

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.7K

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

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

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

Читать далее
Всего голосов 18: ↑2 и ↓16-14
Комментарии5

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

Время на прочтение12 мин
Количество просмотров8.8K

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

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

Сегодня сложно представить современное приложение без технологий контейнеризации. Поэтому я решила подробно изучить вопросы безопасности в этом направлении и собрала рекомендации, как лучше подойти к работе с Docker-платформой. Подробности под катом!
Читать дальше →
Всего голосов 47: ↑50.5 и ↓-3.5+54
Комментарии2

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

Время на прочтение11 мин
Количество просмотров16K

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

Читать далее
Всего голосов 10: ↑12.5 и ↓-2.5+15
Комментарии6

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

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров45K

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

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

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

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

Читать далее
Всего голосов 70: ↑71 и ↓-1+72
Комментарии63

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

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

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

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

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

Читать далее
Всего голосов 11: ↑7 и ↓4+3
Комментарии0

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

Время на прочтение4 мин
Количество просмотров25K
Привет, меня зовут Мэнси Эгэрвэл, я контент-менеджер в компании Favtutor. Недавно я добралась до отметки в тысячу решенных задач на Leetcode, и подумала, что хорошо бы поделиться своим опытом с другими.

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



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



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

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

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров20K

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

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

И веб-сервер с личным сайтом и блогом — одно из таких приложений. Почему нет? За доллар в месяц вложение в личный бренд и технологическую независимость окупится многократно.
Читать дальше →
Всего голосов 48: ↑36 и ↓12+24
Комментарии29

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

Время на прочтение6 мин
Количество просмотров6.9K


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

Дисклеймер: мы не будем c нуля разбирать особенности работы с Terraform. Если вы не работали с этим инструментом, изучите сначала материал «Как развернуть свое приложение в Kubernetes».
Читать дальше →
Всего голосов 26: ↑29.5 и ↓-3.5+33
Комментарии9

Зачем забивать гвозди микроскопом, если есть Alpine Linux?

Время на прочтение8 мин
Количество просмотров93K

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


Так я и познакомился с Alpine Linux.


Неожиданное окно


Этот дистрибутив может вам понравиться по следующим причинам:


  • Если вы любите минимализм и инструменты, ориентированные на выполнение поставленной задачи без лишних свистелок и украшений;
  • Если вы заметили, что имеющиеся «мэйнстримные» дистрибутивы немного (?) раздуты и избыточны;
  • Если вы захотели решить имеющуюся задачу простым способом.

Под «мэйнстримом» я подразумеваю тройку CentOS — Debian — Ubuntu (конечно же, ими мир не заканчивается), да простят меня все верующие в эти замечательные дистрибутивы. При их использовании, периодически, на границе восприятия, возникает колкая мысль – «а может быть можно проще?».

Читать дальше →
Всего голосов 84: ↑83 и ↓1+82
Комментарии111

Alpine собирает Docker билды под Python в 50 раз медленней, а образы в 2 раза тяжелей

Время на прочтение4 мин
Количество просмотров64K


Alpine Linux — часто рекомендованный как базовый образ для Docker`а. Вам говорят, что использование Alpine сделает ваши билды меньше, а процесс сборки быстрей.

Но если вы используете Alpine Linux для Python приложений, то он:

  • Делает ваши билды намного медленней
  • Делает ваши образы больше
  • Тратит ваше время
  • И в итоге может стать причиной ошибок в рантайме
Читать дальше →
Всего голосов 61: ↑49 и ↓12+37
Комментарии30

Делаем сервер из Android-телефона

Время на прочтение8 мин
Количество просмотров116K

Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.


image


На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.


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


TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.

За длинной версией под кат
Всего голосов 130: ↑129 и ↓1+128
Комментарии97

Защищаем облако: открытые инструменты для обеспечения безопасности в контейнерах и не только

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.1K

В блоге beeline cloud на хабре уже выходила подборка полезных ресурсов по DevOps и Kubernetes для джунов и прожжённых специалистов. Сегодня продолжим тему облачной безопасности и поговорим об открытых проектах для защиты cloud-инфраструктуры и приложений. В сегодняшнем списке — инструменты для управления политиками доступа и сканеры уязвимостей, позволяющие проверить конфигурацию контейнеров на соответствие лучшим ИБ-практикам.

Читать далее
Всего голосов 8: ↑9 и ↓-1+10
Комментарии0

Микросервис на Python+ FastAPI

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров11K

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

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

В микросервисной архитектуре приложение разбивается на несколько отдельных служб, которые выполняются в отдельных процессах. Существует другая база данных для разных функций приложения, и службы взаимодействуют друг с другом с использованием HTTP, AMQP или двоичного протокола, такого как TCP, в зависимости от характера каждой службы. Межсервисное взаимодействие также может осуществляться с использованием очередей сообщений, таких как RabbitMQ , Kafka или Redis .

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии7

Давайте поговорим о Kubernetes

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров10K

Всем привет! Меня зовут Андрей, я DevOps инженер.

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

На тот момент, мне бы хотелось найти одну большую статью, пусть и не полностью, но достаточно подробно описывающую процессы управления кластером K8s, деплоя и обслуживания приложений в нём.

Примерно такую статью я постарался написать.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии10

Как работает etcd с Kubernetes и без него

Время на прочтение23 мин
Количество просмотров6.8K

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

Этот перевод статьи от learnk8s познакомит вас с принципами работы etcd, чтобы вы могли глубже понять внутреннюю работу Kubernetes и получить дополнительные инструменты для устранения неполадок в вашем кластере. Мы установим и сломаем кластер etcd с тремя нодами и узнаем, почему Kubernetes использует etcd в качестве базы данных.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии2

Как получать приглашения на собесы, если опыта минимум?

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.1K

Недавно осознал, что несколько месяцев ленивых откликов на интересные вакансии ни к чему не привели. Все отклики либо отклоняли, либо помещали в приглашение на работу, а потом ничего не происходило. Поэтому понял, что что-то нужно кардинально менять, а т.к. я слишком крутой разработчик, поэтому работодатель не берет меня только из-за того, что мое оформление профиля на хедхантере слишком неприглядное (нет), то пошел искать статьи именно на темы о том, как можно изменить резюме, чтобы точно позвали на работу. Рассмотрю оформление на Head Hunter, поскольку, думаю, большинство ищет работу именно там

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

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

Разузнать
Всего голосов 16: ↑5 и ↓11-6
Комментарии6

Всё про USB-C: грехи производителей

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров19K

Работая с USB-C, люди то и дело сталкиваются с различными проблемами. Я поспрашивала пользователей на Twitter и Mastodon об их отрицательном опыте работы с USB-C и получила широкий отклик. Помимо этого, в различных сообществах вроде r/UsbCHardware собрано немало информации о явлениях, которые вызывают проблемы при использовании этой технологии.

Текущая статья посвящена обзору допускаемых производителями недочётов в реализации стандарта USB-C и анализу возможных причин этого.
Читать дальше →
Всего голосов 80: ↑79 и ↓1+78
Комментарии97

Аннотировать или да?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.9K

Что такое аннотации типов в Python?

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии58

Безопасность веб-приложений: анализ методов защиты от атак на уровне Backend

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров3.8K

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

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

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

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии2
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Висагинас, Литва, Литва
Дата рождения
Зарегистрирован
Активность