Как стать автором
Обновить
1
0
Павел @lifestyle

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

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

Как UX-паттерны помогают без затрат повысить конверсию на торговых площадках?

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

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

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

Гексагональная Архитектура и Spring Boot

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

Всем привет!

Хочу рассказать про опыт применения гексагональной архитектуры в одном из наших микросервисов. С чем столкнулся и какие выводы сделал.

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

Паттерны проектирования в автоматизации тестирования

Время на прочтение22 мин
Количество просмотров162K
«Нельзя просто так взять и написать классный тест. Один тест написать можно, но сделать, так чтобы по мере того, как количество этих классных тестов росло, как количество людей, которые пишут эти классные тесты, и вы не теряли ни в скорости, ни во времени...»

Эта мысль красной нитью пойдет сквозь материал под катом, и она, пожалуй, требует пояснения. Статья основана на докладе Николая Алименкова, к которому он подошёл не просто прогретым, а горящим после дискуссии с Алексеем Виноградовым о подходах к написанию тестов: методом прямого кода или при помощи паттернов. Нужны ли какие-то еще паттерны, кроме PageElement, Steps, PageObject?! С чего кто-то решил, что паттерны усложняют код, заставляют нас тратить время на создание ненужных (?) boilerplate-простыней? SOLID вам не угодил? А ведь все они создавались с учётом всего накопленного опыта сообщества разработчиков и они знали, что делают.

Николай xpinjection Алименков – известный Java-разработчик, Java техлид и delivery-менеджер, основатель XP Injection. В настоящее время является независимым разработчиком и консультантом, Agile/XP коучем, спикером и организатором различных конференций

Автоматизация тестирования имеет собственный набор задач, так что существует и набор полезных паттернов проектирования для этой области. В докладе Николай рассказывает обо всех известных паттернах и подробно описывает их с практическими примерами.



В основу этого материала легло выступление Николая Алименкова на конференции Heisenbug 2017 Piter под названием «Паттерны проектирования в автоматизации тестирования». Слайды здесь.
Всего голосов 30: ↑28 и ↓2+26
Комментарии4

Методы организации DI и жизненного цикла приложения в GO

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

Есть несколько вещей, которыми можно заниматься вечно: смотреть на огонь, фиксить баги в легаси-коде и, конечно, говорить о DI — и всё равно нет-нет, да и будешь сталкиваться со странными зависимостями в очередном приложении.
В контексте языка GO, впрочем, ситуация чуть сложнее, поскольку явно выраженного и всеми поддерживаемого стандарта работы с зависимостями нет и каждый крутит педали своего собственного маленького самоката — а, значит, есть что обсудить и сравнить.


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

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

Мой опыт смены ЯП с PHP на Golang

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

Я разработчик и уже много лет в данной профессии. Как таковой я fullstack, но с уклоном в backend. Для меня в кайф возиться с SQL запросом, нежели верстать.

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

ML в животноводстве. Как ГК «Русагро» училось считать поголовье свиней

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

Привет, Хабр! В сентябре мы провели конференцию «Инфраструктура для ML и AI, виды дрифтов ML-моделей, Computer Vision в животноводстве». Обсудили, как разные компании используют машинное обучение в работе, поговорили о трендах и инструментах построения production ML-систем в бизнесе. На митапе было четыре интересных доклада, и мы решили поделиться ими.

В этой публикации расскажем про опыт «Русагро Тех» — как они разрабатывают проекты по видеоаналитике в животноводстве для агрохолдинга ГК «Русагро. Кейсом поделился Павел Ширяев — руководитель группы компьютерного зрения «Русагро Тех».
Позже опубликуем остальные доклады про ML.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии13

Тестовое в Firefly Studios или игра за час

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

Пару недель назад, на меня вышла HR "светлячков" и пригласила поговорить о позиции AI программера в их новую старую игру. Я был несколько удивлен, потому что знаком с парой ребят из студии и знаю, что найм у них сейчас остановлен. Но всегда интересно пообщаться с умными людьми, поэтому отказываться не стал. Первый созвон с HR вышел стандартный, где над чем работал, какие игры шипнул. Не очень понимаю зачем все это было спрашивать, если все это есть на линкедине подробно и с датами. Ну да ладно - видно такая их эйчарская доля по тридцать три раза переспрашивать. Или HR дальше второй страницы просто поленилась почитать.

Забукали время технического интервью. В полдень четверга на встречу приходит сотрудник студии и начинает просматривать резюмешку дальше второй страницы, где натыкается на скрин опенсорсного проекта StoneKingdoms, в который я некоторое время активно комитил. Проект, если что, получил благословение самого Simon Bradbury, так что проблем с правами на использование ресурсов из Stronghold нет. Посыпались вопросы, а что за проект? а как делаете? и что все на lua? а как же плюсы? Где-то на середине разговора к нам подключился другой разработчик "светлячков", с которым мое знакомство началось еще в 2010, когда он помогал восстанавливать исходники Caesar III и просто давал консультации как реализована игровая симуляция. Мы и сейчас иногда общаемся на форуме по ремейкам старых игр.

Как прошел собес...
Всего голосов 30: ↑30 и ↓0+30
Комментарии26

Сборка мусора в JavaScript

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

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

В этой статье мы заглянем под капот этого процесса, поймем, как работает память, и изучим алгоритм сборки мусора.

Погнали собирать мусор!

Собрать мусор
Всего голосов 17: ↑16 и ↓1+15
Комментарии5

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

Время на прочтение7 мин
Количество просмотров4K
Сегодня я хотел бы поговорить о стратегиях кэширования для совокупных запросов к часто обновляемым данным, основанным на времени. На предыдущем месте работы я провел немало «мозговых циклов» и с удовольствием поделюсь некоторыми своими находками.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии2

Свежий Google Gemini, GPT-4 и математика

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

Итак, Google всё‑таки решилась выпустить в свет языковую модель Gemini не дожидаясь Нового Года, и, конечно, обещая революцию. Она де превосходит все публично доступные модели, и местами превосходит людей. Отдельной её особенностью является мультимодальность (в частности способность работать с изображениями и видео) в почти реалтайм режиме, чему есть довольно впечатляющие демонстрации.

Давайте же сравним её с флагманом OpenAI/Microsoft — GPT-4, на трудном поле математики.

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

Как работать со словарями данных и оптимизировать запросы в ClickHouse

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

Приветствуем! На связи вновь Глеб Кононенко и Алексей Диков — разработчики из Лиги Цифровой Экономики. Ранее мы уже немного рассказывали про наш опыт работы с распределенными таблицами в ClickHouse в этой статье.

Сегодня хотим поделиться опытом оптимизации запросов и работы со словарями данных. Используемая версия ClickHouse: 23.8.7.24

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

Как мы работаем с ресурсами в веб-приложениях

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

Приложения, созданные на платформе 1С:Предприятие, могут быть развернуты в трёхзвенной архитектуре (Клиент – Сервер приложений – СУБД). Клиентская часть приложения может работать, в частности, как веб-клиент, в браузере. Веб-клиент – это довольно сложный фреймворк на JavaScript, отвечающий за отображение пользовательского интерфейса и исполнение клиентского кода на встроенном языке. Одна из задач, которая стояла перед нами в ходе разработки веб-клиента – это корректная работа с различного рода ресурсами (в первую очередь – их своевременное освобождение).

Мы провели анализ существующих подходов и хотим рассказать вам об этом. Добро пожаловать под кат!

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

SOLID — это несложно. С примерами на Python

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

Привет, Хабр! Меня зовут Павел Корсаков, я python-разработчик в облачном провайдере beeline cloud.

Почти на всех собеседованиях задают вопросы про SOLID: что это такое, зачем нужен, как его применяет кандидат, как понимает принципы из него?

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

Чтобы мой материал не получился очередной статьей про SOLID, я изменю формат подачи и последовательность объяснения принципов. Буду добавлять код небольшими инкрементами и на каждом из них указывать, какие принципы SOLID используются в том или ином случае. 

Читать далее
Всего голосов 25: ↑20 и ↓5+15
Комментарии43

Как мы научили заводчан строить красивые инженерные отчеты из Jupyter Notebook на Python

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

Была у нас тут история, когда легкий перфекционизм помог привести в порядок конструкторскую документацию и регулярно экономить инженерам кучу дней на прохождение бюрократических процедур. В ее основе – создание системы управления расчетными данными и переход от трудночитаемых и трудноинтегрируемых отчетов Mathcad к гибкой связке Jupyter Notebook с Python и Teamcenter. Но основной рассказ будет про то, как преобразовывать и экспортировать математические формулы, таблицы и другие элементы из Jupyter в красивый и удобный вид.

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

Новосибирск глазами айтишника

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

Сибирь известна как центр декоративного медведеводства, точка начала нефтепроводов и крупнейший потребитель пищевого спирта. А как оно там на самом деле? Стоит ли ехать программисту в Новосибирск? Немного истории и инсайдерской информации — без глянца, но и без мрачных тонов. Как один город стремительно обогнал своё время и как время его догнало. 

Читать далее
Всего голосов 71: ↑65 и ↓6+59
Комментарии150

Сервис проверки пользовательских файлов «powered by pytest»: нужно повозиться, но оно того стоит

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

Возникла задача проверки нескольких типов пользовательских документов Excel. Проверка должна покрывать такие аспекты как корректность шаблона (наличие ожидаемых страниц, колонок таблиц) и корректность данных (присутствие обязательных значений, корректность значений точки зрения форматов, отсутствие дубликации, итд).

Пользователю нужно возвращать информацию "что не так с файлом": какую проверку не прошел файл и где конкретно в файле проблемные данные.

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

Давайте посмотрим, как заставить pytest работать внутри сервиса. Это не так тривиально, как может показаться на первый взгляд.

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

Ручная пила для PHP-монолита

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

Привет! Это третья и заключительная часть истории поиска надёжного способа работы с транзакциями в распределённых системах.

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

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

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

Как устроены сети: полезные материалы от сотрудников Selectel

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

Фрагмент из курса «Сети для самых маленьких».

Чтобы стать сетевиком, новичку нужно изучить много теории, разобраться в особенностях профессионального оборудования и других аспектах. Мы в Selectel попросили коллег порекомендовать полезные ресурсы по сетевым технологиям, которые пригодятся на старте. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии8

Моя любимая задача для собеседований по программированию

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

В сети есть уйма постов и видео, где разбираются ответы на вопросы LeetCode. Но обычно рассмотрение в них происходит с позиции соискателя, а не работодателя. В этой же статье я приведу разбор собственной задачи по программированию, которую использовал при приёме людей на работу в Amazon, Google и Microsoft.
Читать дальше →
Всего голосов 131: ↑126 и ↓5+121
Комментарии170
1
23 ...

Информация

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