Как стать автором
Обновить
0
0
Iryna Spirydonava @irishaspir

Solution Architect

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

Как тестировать gradle-плагины

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

Когда я писал свой первый gradle-плагин, я проверял его работоспособность следующим образом:

1. Опубликовал версию n в plugins.gradle.org
2. Проверил опубликованный плагин вручную на тестовом проекте
3. Нашел ошибку/доработал, увеличил версию n=n+1, затем снова пункт 1

Такой вот PDD (Publish Driven Development). Сегодня поговорим о том, как писать эффективные тесты на собственные gradle плагины.

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

Инструменты тестировщика

Время на прочтение15 мин
Количество просмотров141K
Какие инструменты нужны тестировщику? Об этом мы сегодня порассуждаем в этой статье, в основе которой — доклад Юлии Атлыгиной с прошлого Heisenbug. Видеозапись доклада доступна по ссылке.


Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Комментарии9

Проектируем приложение с Redis в качестве хранилища данных. Что? Зачем?

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

Всем привет!. Многие знают что такое Redis, а если вы не знаете, то официальный сайт может ввести вас в курс дела. Большинство знают Redis как кэш и иногда как очередь сообщений. Но что если немножко сойти с ума и попытаться спроектировать целое приложение, используя в качестве хранилища данных только лишь Redis? Какие задачи можно решить с использованием Redis'а?

В этой статье мы и попытаемся ответить на эти вопросы.

Не переключайтесь.

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

Транзакционное юнит-тестирование приложений с БД

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

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

В этой статье я хочу провести обзор разных способов юнит-тестирования приложения с БД и рассказать о способе, который я не видел в русскоязычном сегменте интернета. Статья будет посвящена Python 3, pytest и ORM-фреймворку SQLAlchemy, но методы переносимы на другие инструменты.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии28

Эксперимент Базермана: как мы ежедневно теряем деньги

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

Вы ещё не слышали, как профессор Гарвардской школы бизнеса «наживается» на своих студентах? Тогда вам, наверное, будет интересно узнать о том, как продать 20 долларов за гораздо большую сумму. Скажем, долларов за 200.

Профессор Макс Базерман придумал эксперимент, который демонстрирует необъяснимое иррациональное поведение будущих профессиональных бизнесменов и менеджеров в их родной стихии — управлении проектами. Кстати, в эту же ловушку попадают и топ-менеджеры крупных компаний, с которыми профессор проводит свои семинары.

Читать далее
Всего голосов 191: ↑181 и ↓10+222
Комментарии300

Экономим свое время. Ускоряем создание отложенных постов в Telegram с помощью бота

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

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

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

Умный дом iOS разработчика. Часть 2

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

Эта статья – продолжение моего рассказа про умный дом. Здесь будут конкретные примеры моих девайсов для HomeKit и умного дома Яндекса. Расскажу по каким принципам выбирал и как связывал все вместе.

В итоге получилось примерно такая схема. Есть Homebridge на Raspberry Pi и плагин для него, который помогает прокинуть девайсы в Алису. Остальное уже завязано на то, что придумали производители. Яндекс.Станция управляет устройствами через сервера компаний, то есть при голосовой команде она отправляет запрос на сервер, а он уже отправляет запрос на устройство. Если устройство имеет встроенный WiFi, то подключается к серверу напрямую. А в случае мелких датчиков обычно есть специальный хаб, к которому они подключаются по ZigBee. HomeKit же может управлять устройствами локально, но об этом поговорим далее.

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

Документирование архитектуры: введение

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

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


Как вы рисуете диаграммы для вашего ПО? На какие вопросы они должны ответить? Зачем рисовать что-либо вообще? Давайте разберёмся.


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

5 диаграмм, необходимых для документирования архитектуры решений

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

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

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

Пример архитектуры аналитического решения с использованием платформы Snowflake

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

Всем привет, меня зовут Максим Крупенин, я работаю Data & Analytics Solution Architect в EPAM Systems. За 4 года работы в EPAM мне пришлось поработать в разных проектах, связанных с BI, Big Data, Data warehouse и другими технологиями. В этой статье поделюсь одним из клиентских проектов, где мы реализовали кастомное решение для near real time-аналитики на базе Snowflake. Надеюсь, статья будет полезной, оставляйте фидбек в комментариях.

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

Гайд по тестированию локализации и интернационализации, а также большой и полезный checklist

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

Привет, хабровчане. Сегодня я хочу осветить и обсудить тему локализации (L10N) и интернационализации (I18N). В интернете и, в том числе и на Хабре уже есть полезные и интересные статьи, но часто они дают более-менее общую информацию о подходах, без углубленной информации о том, что и как можно проверить. Я бы хотел с вами поделиться своим опытом, просуммировать кое что из статей, которые вы можете найти в интернете, а также постараюсь описать большой checklist с самыми распространёнными кейсами как для локализации, так и для интернационализации. В чеклистах я буду стараться упоминать только те проверки, которые вы можете сделать сами, без (глубоких) знаний языка новой для вас локали.


image

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

Вытаскиваем данные из Instagram

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

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

Читать далее
Всего голосов 23: ↑20 и ↓3+22
Комментарии19

Разница между QA, QC и тестированием: простая трактовка на примере швейцарского армейского ножа

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

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

Ниже приведено краткое, достаточно упрощенное и возможно излишне дилетантское понимание разницы между этими тремя направлениями.

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

Что такое Terms of Use или Как онлайн-бизнесу избежать проблем с пользователями

Время на прочтение4 мин
Количество просмотров6K
Что такое Terms of Use, почему владельцам онлайн-проектов, приложений и мобильных игр не обойтись без пользовательского соглашения и как правильно составить этот документ.

image

В октябре 2020 года в сети активно обсуждали кейс украинского сервиса онлайн-заказа такси Uklon. Драйвер компании проехал на красный свет и разбил Audi A7 клиента.

Ремонт машины оценили в 360-500 тысяч гривен. В самой компании Uklon отказались нести какую-либо ответственность за инцидент, ссылаясь на пункт 5.2. пользовательского соглашения.
Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии5

Освобождаем свои данные из корпоративного рабства. Концепция личного хранилища

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

Автор программы Mathematica Стивен Вольфрам около 40 лет ведёт цифровой лог многих аспектов профессиональной и личной жизни

Сейчас практически всем стала понятна сущность некоторых интернет-корпораций, которые стремятся получить от людей как можно больше личных данных — и заработать на этом. Они предлагают бесплатный хостинг, бесплатные мессенджеры, бесплатную почту — лишь бы люди отдали свои файлы, фотографии, письма, личные сообщения. Наши данные приносят огромные деньги, а люди стали продуктом. Поэтому техногиганты Google и Facebook — самые крупные корпорации в истории человечества. Это неудивительно, ведь в их распоряжении миллиарды единиц бесплатного «сырья», то есть «пользователей» (кстати, этим словом users называют людей только в двух областях: наркоиндустрии и индустрии программного обеспечения).

Настало время положить этому конец. И вернуть данные под свой контроль. В этом суть концепции личных хранилищ данных (personal data services или personal data store, PDS).
Читать дальше →
Всего голосов 46: ↑40 и ↓6+55
Комментарии92

Ошибки, вода в описаниях, опыт работы: на что на самом деле рекрутеры обращают внимание в резюме разработчиков

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

Летом 2013 известный американский tech-рекрутер Алин Лернер (Aline Lerner) опубликовала в своем блоге материал с анализом факторов, которые оказывают наибольшее влияние на решение о найме разработчика. За период около года Лернер проинтервьюировала около 300 человек на позицию back-end/full-stack разработчика. 

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

Читать далее
Всего голосов 21: ↑12 и ↓9+11
Комментарии42

AWS re:Invent. Главные анонсы первого дня (Part 1)

Время на прочтение12 мин
Количество просмотров4.7K
Сейчас проходит самое вдохновляющее событие в мире облачных технологий — AWS re:Invent. Мы активно конспектировали и собрали выдающиеся новинки, которые были анонсированы вчера в прямом эфире. В качестве спойлера: в конце статьи будет ссылка на русскоязычную twitch-сессию AWS по новинкам re:Invent, которую будут проводить лучшие solution архитекторы Amazon Web Services — присоединяйтесь/послушайте, они зажигательно рассказывают.

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

Почему Kafka такая быстрая

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


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


В статье рассказываем, за счет чего Apache Kafka работает достаточно быстро для современных проектов.

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

Snowflake, Anchor Model, ELT и как с этим жить

Время на прочтение15 мин
Количество просмотров13K
Привет! Меня зовут Антон Поляков, и я разрабатываю аналитическое хранилище данных и ELT-процессы в ManyChat. В настоящий момент в мире больших данных существуют несколько основных игроков, на которых обращают внимание при выборе инструментария и подходов к работе аналитических систем. Сегодня я расскажу вам, как мы решили отклониться от скучных классических OLAP-решений в виде Vertica или Exasol и попробовать редкую, но очень привлекательную облачную DWaaS (Data Warehouse as a Service) Snowflake в качестве основы для нашего хранилища.

С самого начала перед нами встал вопрос о выборе инструментов для работы с БД и построении ELT-процессов. Мы не хотели использовать громоздкие и привычные всем готовые решения вроде Airflow или NiFi и пошли по пути тонкой кастомизации. Это был затяжной прыжок в неизвестность, который пока продолжается и вполне успешно.

Под катом я расскажу про архитектуру нашего аналитического хранилища и покажу, каким образом мы производим загрузку, обработку и трансформацию данных.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+13
Комментарии8

Кража персональных данных пользователя (PII) с помощью вызова API напрямую

Время на прочтение4 мин
Количество просмотров2.5K
Сегодня решили обсудить тему информационной безопасности. Публикуем перевод статьи Kunal pandey, обнаруживаем уязвимости и работаем на опережение!

Введение


Кража персональных данных (PII) пользователя стала для нас обыденным явлением. Злоумышленники находят множество способов получить персональные данные, например, используя XSS- и IDOR-уязвимости, раскрытие конечных точек API (API endpoint) и другое.

Сценарий, который описан в этой статье, мы можем протестировать, просто наблюдая за поведением конечной точки API. В приведенном ниже примере, вызвав API, персональные данные любого пользователя могут быть сохранены в других конечных точках API.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии2
1

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирована
Активность