Как стать автором
Обновить
2
0
Константин Кривохижин @Krivohizhin

Архитектор ПО

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

Быстрее, больше, сильнее: фреймворки Python с параллельной обработкой данных

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

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

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

Топ-10 книг для продакт менеджера

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

Что стоит почитать Product Manager'у в 2023 году? Составил подборку из 10 полезных книг, которые должны быть в библиотеке как начинающего, так и опытного продакта. Для тех у кого совсем мало времени по каждой книге прикрепил ссылку на краткое содержание.

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

Полезные, смешные, нелепые: репозитории GitHub, которые вас удивят

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

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

Пустой «дзен-репозиторий», хранилище самых глупых требований к паролю и скриптовый язык на основе Python в стиле Дональда Трампа (а также многие другие интересные и даже полезные штуки) ждут вас под катом.

Читать далее
Всего голосов 38: ↑35 и ↓3+32
Комментарии12

Как подключить платежный шлюз на примере Сбера

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

Привет, меня зовут Евгений Думчев, я разработчик в DD Planet. Сегодня хочу поделиться опытом подключения платежного шлюза Сбера, чем мы занимались в рамках одного из проектов. Кажется, это будет полезная история, ведь в нынешние непростые времена многие из нас задумываются о том, чтобы открыть свой «маленький свечной заводик» – какой-нибудь небольшой бизнес на черный день. Тортики там печь, платы паять, в общем, что-нибудь, что бы обеспечило дополнительный доход. Раньше для коммерции подобных сайд-проектов не требовалось ничего, кроме условного Пейпала (к тому же он расширял географию продаж). А теперь волей-неволей приходится задумываться об отечественных решениях для проведения оплат.

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

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

Python Дайджест: как обновиться с Python 3.4 до Python 3.11, если pip уже сломан

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



Python Дайджест собирает IT-новости уже 9 лет, рассказывает о концепциях, проектах, релизах. Кодовая база за это время мало изменилась и уже деградировала. Более 5 лет не хватало сил и времени, чтобы привести проект в актуальное состояние. Django с 1.9 обновилась уже до 4.1 версии, Python 3.4 не актуален, да даже обновить пакет через pip не получается, потому что сломан.


В 4 частях расскажу от первого лица, как 9-летний проект из состояния outdated вернулся в actual состояние и снова набрал 100 баллов в PageSpeed.


Начну с обновления до актуального Python и Django.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии5

Учимся тестированию с помощью Bootstrap

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

Ознакомительное руководство по использованию Bootstrap для создания веб-страниц и тестирования. Здесь вы узнаете, из чего состоит фреймворк Bootstrap, какие есть варианты его установки и использования, а также как именно с его помощью можно создавать веб-страницы и тестировать их.
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Комментарии9

Как привлекать и удерживать пользователей на финтех-проектах

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

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

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

Российский Kubernetes, какой он? Знакомимся с платформой Deckhouse

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

Исследование Statista в России показывает, что около 60% компаний применяют технологию оркестрации контейнеров в рамках своей инфраструктуры. При этом самостоятельная разработка на Open Source для решения этой задачи значительно повышает требования к скиллам команды и характеризуется высокой стоимостью. Другой вариант — облачные PaaS-сервисы, но они зачастую имеют ограниченный набор инструментов, а зарубежные платформы ушли с российского рынка.


Есть ли сегодня в России аналоги западным платформам контейнеризации? Мы решили изучить этот вопрос и пригласили директора по развитию Deckhouse компании «Флант» Артёма Кожокина, чтобы подробно расспросить про их платформу оркестрации контейнеров.


Ниже — ключевые тезисы нашей встречи, а полную расшифровку митапа можно почитать здесь.


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

Как мы выбирали технологию для фронтенда и что из этого вышло

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

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

Читать далее
Всего голосов 5: ↑2 и ↓3-1
Комментарии49

VS Code, python, контейнеры — как обуздать эту триаду и разрабатывать внутри контейнера

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

Как пользоваться VS Code в полную силу


image


Это небольшой туториал о настройке VS Code для работы с python. Здесь вы не увидите каких-то божественных откровений — тут будет просто мой опыт о том, как сделать свою работу/хобби немного комфортнее и почему я пришел именно к такой конфигурации.

Читать дальше →
Всего голосов 59: ↑57 и ↓2+55
Комментарии18

Устройство онлайн-МФО

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

Для написания этой статьи я использую опыт, свой и своей команды, создания с нуля POS-продукта в МФК, создания кредитного брокера, а также написания МКК с нуля на заказ.

Статья будет полезна тем, кто собирается запускать собственную МФО, переходить с оффлайн работы на онлайн или хочет повысить эффективность своей компании. 

В этой статье коснусь только продуктов по кредитованию физических лиц. Кредитование юридических лиц - отдельная интересная история.

Также в этой статье не касаюсь технических аспектов, структуры, интеграций и тд. 

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

Массовая незаконная электронная подпись или мина замедленного действия: Формат МинЦифры №472

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

1 «А был ли мальчик?»

Многие и помногу подписывают документы электронной подписью (ЭП), рассчитывая, что их подпись законная. «Законная» не в смысле «сошлась математика» или «нет сомнений в сертификате подписанта». «Законная» - в смысле соответствия закону, как минимум основному по электронной подписи: 63-ФЗ "Об электронной подписи".

Вопрос 1. Если в постановлении или приказе госОргана про документы с ЭП явно не сказано, что требуется подпись «в соответствии с 63-ФЗ», то означает ли это, что такая подпись может противоречить требованиям 63-ФЗ, но быть допустимой?

Рассмотрим ситуацию, когда в постановлении или приказе госОргана явно есть ссылка на 63-ФЗ. Например, МинТруд приказ № 578н (т.е. речь про ЭП в рамках Трудового Кодекса, т.е. 197-ФЗ) требует ЭП, «сформированные в соответствии с требованиями Федерального закона от 6 апреля 2011 г. N 63-ФЗ "Об электронной подписи" или в полной формулировке:

Читать далее
Всего голосов 22: ↑15 и ↓7+8
Комментарии38

Репликация в PostgreSQL: Write-Ahead Logging (WAL) и Logical Replication

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

Репликация PostgreSQL с опережающей записью (WAL) — ключевая концепция в высоконагруженных архитектурах, поскольку она позволяет создавать высокодоступные и отказоустойчивые системы баз данных.

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

Проектируем дизайн честного кредитного калькулятора

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

Перед вами задача спроектировать калькулятор для банковского сервиса. Рассказываем, с чего начать, какие практики упростят работу пользователя и сделают калькулятор честным.

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

Интернет-цензура и обход блокировок: не время расслабляться

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

Disclaimer: практически всё описанное в статье, не является чем-то принципиально новым или инновационным - оно давно известно и придумано, используется в разных странах мира, реализовано в коде и описано в научных и технических публикациях, поэтому никакого ящика Пандоры я не открываю.

Нередко на Хабре в темах, посвященных блокировкам ресурсов встречаются забавные заявления, вида "Я настроил TLS-VPN, теперь будут смотреть что хочу и цензоры мой VPN не заблокируют", "Я использую SSH туннель, значит все ок, не забанят же они SSH целиком", и подобное. Что ж, давайте проанализируем опыт других стран и подумаем, как же оно может быть на самом деле.

Читать далее
Всего голосов 329: ↑324 и ↓5+319
Комментарии518

[Перевод] Всё о файлах cookie и их безопасности

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

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

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

Примером может служить PHPSESSID: xyjaez1081lze23, lang: en.

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

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

38 лучших CI/CD-инструментов в 2022 году

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

Непрерывная интеграция (CI) и непрерывная доставка (CD) или CI/CD стали неотъемлемой частью подхода к разработке программного обеспечения и тестирования DevOps. Этот подход дает разработчикам возможность непрерывного развертывания кода. Кроме того, ошибки выявляются на ранней стадии, что позволяет избежать проблем с интеграцией из-за частой фиксации исходного кода.

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

В этой статье мы рассмотрим 38 лучших CI/CD-инструментов из представленных на рынке и выделим их основные особенности.

Давайте разберемся!
Всего голосов 27: ↑21 и ↓6+15
Комментарии7

Первое знакомство с требованиями информационной безопасности при разработке ГИС системы

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

Первый и самый логичный вопрос, который возникает, когда видишь этот документ в списке требований от Заказчика.

Изначально пойдем простым путем и поищем определение на просторах интернета.

Как итог – определение Роскомнадзора используется практически везде.

Звучит оно так:

Модель угроз и нарушителя – это «совокупность предположений о возможных угрозах и возможностях нарушителя, которые он может использовать для разработки и проведения атак в рамках разрабатываемой системы».

Теперь разберёмся с основной целью написания документа (оставлю небольшую ремарку: в целом, модель нарушителя – это больше описание «бумажной безопасности»).

Для более точного понимания обратимся к нормативной документации, а именно – методике Федеральной службы по техническому и экспортному контролю (ФСТЭК). Получим следующее определение:

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

Если вы впервые сталкиваетесь с требованиями информационной безопасности, то скорее всего вам будет «очень интересно, но ничего непонятно».

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

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

Памятка и туториал по HTTP-заголовкам, связанным с безопасностью веб-приложений

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


Доброго времени суток, друзья!


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


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


В практической части мы реализуем простое Express-приложение, развернем его на Heroku и оценим безопасность с помощью WebPageTest и Security Headers. Также, учитывая большую популярность сервисов для генерации статических сайтов, мы настроим и развернем приложение с аналогичным функционалом на Netlify.


Исходный код приложений находится здесь.


Демо Heroku-приложения можно посмотреть здесь, а Netlify-приложения — здесь.


Основными источниками истины при подготовке настоящей статьи для меня послужили следующие ресурсы:


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

Риски IT-проектов и IT-команд

Время на прочтение17 мин
Количество просмотров9.3K
Нехорошая ситуация с Nginx — даёт повод вспомнить другие кейсы про неприятности при работе с командами проектов, тем более что исправлять ошибки в оформлении команд — намного сложнее чем ошибки в коде. (кейсы идут — не по «важности» а в порядке вспоминания)
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии21
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Backend Developer, Software Architect
Lead
Python
SQL
OOP
Django
Git
Docker
Nginx
C#
High-loaded systems
Designing application architecture