Как стать автором
Обновить
-1
0
Игорь @Koroset

Системный аналитик

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

JSON Schema. Быть или не быть?

Время на прочтение14 мин
Количество просмотров116K
Архитектура: искусство делать излишнее необходимым.

Фредерик Кислер

Ни для кого давно уже не секрет, что для любого web-сервиса на протоколе SOAP с сообщениями в формате XML верным и проверенным временем решением является предварительная разработка XML Schema (xsd-схемы), описывающей типы данных и структуру XML сообщений. При этом подходе у разработчиков существует явное преимущество: у них есть строгие стандартизированные правила по структуре сообщений, которые заданы в схеме, число правил конечно, и они позволяют автоматизировать проверку любого нового сообщения в формате XML.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+21
Комментарии36

Ваша карта не будет бита: как добавить Impact Map, CJM и USM в документ и не пострадать

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

Наверняка у многих бизнес-аналитиков есть цель использовать особые артефакты: Impact Map, CJM (Customer Journey Map), USM (User Story Map). Особые, т. к. не так часто они встречаются в бизнес-требованиях, и даже бывалый аналитик может с непривычки растеряться, если не создаёт их каждый день. 

Меня зовут Ирина, я ведущий бизнес-аналитик с более чем пятилетним опытом. Сейчас работаю в X5 Tech в направлении “Цепочки поставок”.

В статье описываю общие принципы построения Impact Map, CJM и USM и вариации их использования не только на примере своих рабочих кейсов, но и на бытовых примерах (буквально на жареной картошке и строительстве дома). Для опытных специалистов разобранные примеры пополнят копилку насмотренности. А для новичков в бизнес-анализе статья будет полезна с точки зрения постижения азов.

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

Как аналитику работать с задачами на интеграции — пошаговая инструкция

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

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

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

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

«Мы от Лобачевского». Нижегородская математика для тех, кто не силён в математике

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

Николай Лобачевский и в 2024 году может сотворить нечто неожиданное. Так, он подарил российским математикам новую дату — их профессиональный праздник уже с этого года начнут отмечать 1 декабря. Именно в этот день в 1792 году родился Лобачевский, один из первооткрывателей новой геометрической системы — неевклидовой.

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

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

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

От платформы к коробочным продуктам: анализ архитектуры Tarantool

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


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

Но так было не всегда: за 15 лет Tarantool прошел большой путь, на котором были как успехи, так и подводные камни.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+29
Комментарии0

Системное мышление на практике: переход от монолита к микрофронтендам и обратно

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

Меня зовут Олег, я уже 20 лет работаю в ИТ и в основном на Enterprise-проектах. Сейчас работаю в Альфа-Банке на проекте Альфа-Онлайн и хочу поделиться своим видением управления сложностью на больших проектах.

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

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

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

Квантовые вычисления и язык Q# для начинающих

Время на прочтение13 мин
Количество просмотров78K
Возможно, вы узнали о выпуске пакета средств квантовой разработки Quantum Development Kit и подумали, что это звучит безумно круто… а потом вспомнили, что про квантовую механику почти ничего не знаете. Но ничего страшного. Через 30 минут вы будете знать о кубитах, суперпозиции и квантовой запутанности достаточно, чтобы написать свою первую программу и, что более важно, неплохо понимать, что она делает.

Читать дальше →
Всего голосов 50: ↑48 и ↓2+46
Комментарии21

Как успешно пройти собеседование на Technical Product Manager в Тинькофф? Личный опыт

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

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

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

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

Основы Linux (обзор с практическим уклоном)

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

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

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

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

Читать далее
Всего голосов 59: ↑55 и ↓4+68
Комментарии44

Убираем JavaScript. Как при помощи htmx красиво использовать HTML и уменьшить объем кода

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

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

Читать далее
Всего голосов 16: ↑11 и ↓5+10
Комментарии24

System Design. Общие принцип прохождения интервью по проектированию ИТ-систем

Время на прочтение9 мин
Количество просмотров46K
image Привет, Хаброжители! Мы весьма рады, что вы решили изучить особенности интервью по проектированию ИТ-систем вместе с нами. Из всех технических интервью именно на этом задают самые сложные вопросы. Претенденту предлагается спроектировать архитектуру программной системы: новостной ленты, поиска Google, системы мгновенных сообщений и т. д. Задачи такого рода наводят ужас, ведь у них нет единственно верных решений. Они обычно отличаются масштабностью и расплывчатостью. Допускаются свободные и неясные формулировки без стандартного или правильного ответа.

Интервью по проектированию ИТ-систем широко практикуются в компаниях, так как навыки общения и решения задач, которые можно проверить на этом этапе, необходимы в повседневной работе программиста. Ответы претендента оцениваются с учетом того, как он анализирует расплывчатую задачу и какие шаги он предпринимает для ее решения. При этом во внимание принимается то, как он объясняет свои идеи, обсуждает их с другими, оценивает и оптимизирует систему.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+12
Комментарии16

Race condition в веб-приложениях

Время на прочтение7 мин
Количество просмотров33K
TL;DR В статье описываются непопулярные трюки с race condition, которые обычно не используют в атаках такого типа. По итогу исследований мы сделали свой фреймворк для атак racepwn.

Вася хочет перевести 100 долларов, которые есть у него на счету, Пете. Он переходит на вкладку переводов, вбивает Петин ник и в поле с количеством средств, которые необходимо перевести — цифру 100. Далее, нажимает на кнопку перевода. Данные кому и сколько отправляются на веб-приложение. Что может происходить внутри? Что необходимо сделать программисту, чтобы все работало корректно?
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии10

Назад к микросервисам вместе с Istio. Часть 1

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


Прим. перев.: Service mesh'и определённо стали актуальным решением в современной инфраструктуре для приложений, следующих микросервисной архитектуре. Хотя Istio может быть на слуху у многих DevOps-инженеров, это довольно новый продукт, который, будучи комплексным в смысле предоставляемых возможностей, может потребовать значительного времени для знакомства. Немецкий инженер Rinor Maloku, отвечающий за облачные вычисления для крупных клиентов в телекоммуникационной компании Orange Networks, написал замечательный цикл материалов, что позволяют достаточно быстро и глубоко погрузиться в Istio. Начинает же он свой рассказ с того, что вообще умеет Istio и как на это можно быстро посмотреть собственными глазами.

Istio — Open Source-проект, разработанный при сотрудничестве команд из Google, IBM и Lyft. Он решает сложности, возникающие в приложениях, основанных на микросервисах, например, такие как:
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии7

Security микросервисов с помощью Spring, OAuth2, JWT и Service Account

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

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

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

Безопасность REST API от А до ПИ

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

Введение


Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат кри­тичес­кие уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.

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

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

JSON-RPC? Возьмите хитрый REST

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


Уверен, что заголовок вызвал здоровую реакцию — “ну опять началось…” Но позвольте завладеть вашим вниманием на 5-10 минут, и я постараюсь не обмануть ожидания.


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


Для того, чтобы была ясность в том, что такое RPC, предлагаю рассматривать стандарт JSON-RPC 2.0. C REST ясности нет. И не должно быть. Все, что нужно знать о REST — он неотличим от HTTP.

Читать дальше →
Всего голосов 52: ↑41 и ↓11+30
Комментарии118

Что не так с GraphQL

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

В последнее время GraphQL набирает всё большую популярность. Изящный синтаксис запросов, типизация и подписки.


Кажется: "вот оно — мы нашли идеальный язык обмена данными!"...


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


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

Читать дальше →
Всего голосов 91: ↑88 и ↓3+85
Комментарии132

Как жить-то, когда нет целевой архитектуры?

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

Кажется в кино кризис — хороших фильмов один на сотню. Могу предложить один сюжет — психологический триллер. Сценарий для него будет начинаться со строк: «Была у нас одна легаси-система. Монолитная. И задумали мы провести миграцию...»

Читать далее
Всего голосов 25: ↑24 и ↓1+26
Комментарии5

Написать Telegram клиент — легко

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


Чем отличается Telegram от других популярных мессенджеров? Он — открытый!
Другие мессенджеры тоже имеют API, но почему-то именно телеграм известен как наиболее открытый из самых популярных?


Начнем с того, что у Telegram действительно полностью открытый клиентский
код. К сожалению, мы не видим комиты каждый день прямо на GitHub, но у нас есть код под открытой лицензией. Архитектура Telegram подразумевает, что и Bot и API имеет практически такие же методы — https://core.telegram.org/methods.


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

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

Новый MTProto-прокси сервер от Telegram

Время на прочтение5 мин
Количество просмотров161K
Прокси-сервер является посредником между клиентом и сервером. Для обхода ограничений прокси-сервер должен быть установлен там, где нет ограничений доступа к требуемой информации, при этом не должно быть таковых ограничений и между клиентом и прокси-сервером.

image

Обновлённая поддержка прокси-серверов в клиентах Telegram


  • Новый MTProto-прокси. Работает с родным для Telegram протоколом MTProto
  • Открытый исходный код сервера на GitHub
  • Docker-образ на DockerHub
  • В мобильных клиентах появилась возможность добавлять несколько прокси-серверов каждого типа. Пользователь может выбрать наиболее подходящий
Читать дальше →
Всего голосов 106: ↑98 и ↓8+90
Комментарии261
1
23 ...

Информация

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

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

Systems Analyst
Lead