Pull to refresh
0
0
Iryna Spirydonava @irishaspir

Solution Architect

Send message

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

Reading time4 min
Views3.5K

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

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

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

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments3

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

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


Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments9

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

Reading time7 min
Views15K

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

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

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

Читать далее
Total votes 20: ↑18 and ↓2+16
Comments20

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

Reading time6 min
Views8.4K

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

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

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

Reading time5 min
Views220K

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

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

Читать далее
Total votes 242: ↑232 and ↓10+222
Comments300

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

Reading time7 min
Views13K

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

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments14

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

Reading time8 min
Views17K

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

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

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

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

Reading time4 min
Views12K

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


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


Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments2

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

Reading time8 min
Views70K

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

Читать далее
Total votes 28: ↑27 and ↓1+26
Comments3

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

Reading time6 min
Views6.4K

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

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments6

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

Reading time23 min
Views47K

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


image

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments6

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

Reading time2 min
Views18K

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

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

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments13

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

Reading time4 min
Views6K
Что такое Terms of Use, почему владельцам онлайн-проектов, приложений и мобильных игр не обойтись без пользовательского соглашения и как правильно составить этот документ.

image

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

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

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

Reading time7 min
Views33K

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

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

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

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

Reading time4 min
Views9.8K

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

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

Читать далее
Total votes 29: ↑20 and ↓9+11
Comments42

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

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

Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments8

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

Reading time14 min
Views25K


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


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

Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments23

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

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

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

Под катом я расскажу про архитектуру нашего аналитического хранилища и покажу, каким образом мы производим загрузку, обработку и трансформацию данных.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments8

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

Reading time4 min
Views2.5K
Сегодня решили обсудить тему информационной безопасности. Публикуем перевод статьи Kunal pandey, обнаруживаем уязвимости и работаем на опережение!

Введение


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

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity