Pull to refresh
0
@masdimaread⁠-⁠only

User

Send message

Проектирование API: почему для представления отношений в API лучше использовать ссылки, а не ключи

Reading time14 min
Views6.8K
image Привет, Хабр!

У нас выходит долгожданное второе издание книги "Веб-разработка с применением Node и Express".

В рамках исследования этой темы нами была найдена концептуальная статья о проектировании веб-API по модели, где вместо ключей и значений базы данных применяются ссылки на ресурсы. Оригинал — из блога Google Cloud, добро пожаловать под кат.
Читать дальше →

Агрегаты в БД — многомерные суперагрегаты

Reading time4 min
Views4.5K

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

Сегодня мы рассмотрим более сложный вариант, который зачастую начинается со слов "А заказчик захотел…" и приводит нас к иерархичным агрегатам в нескольких одновременных разрезах, которые позволяют нам в СБИС практически мгновенно строить оперативные отчеты в подсистемах организации торговли, бухгалтерского учета и даже управления активными продажами.

Читать далее

Математик-пенсионер, «хакнувший» лотерею

Reading time11 min
Views124K

Любитель головоломок


Джеральд Селби всегда любил загадки: там, где другие видели лишь шум, он стремился найти порядок и гармонию. Работая на фабрике Kellogg's по производству овсяных хлопьев, он занимался анализом материалов для увеличения срока годности продукции. Однажды, изучая хлопья других компаний, Джерри наткнулся на странную последовательность символов на обороте коробки General Mills. Вместо даты и фабрики-производителя там был отпечатан загадочный код. Джерри решил расшифровать его: взяв несколько коробок завтраков Kellogg's и General Mills, он начал сравнивать их влажность, сообразив, что хлопья с примерно одинаковой влажностью должны иметь близкие даты производства. Делая записи на бумаге, он выявил некоторые закономерности. Вскоре ему удалось расшифровать всё, что позволило определить место, дату и время изготовления. В более агрессивной сфере бизнеса «взлом» секретов конкурентов мог бы обернуться огромной выгодой, но не в производстве овсяных хлопьев, поэтому руководство восприняло его открытие без энтузиазма.
Читать дальше →

Мифы о найме людей с инвалидностью: опыт SAP

Reading time7 min
Views7.9K
image

Мы на Хабр Карьере решили поднять одну важную тему — найм людей с инвалидностью в ИТ. Несправедливо считается, что у таких сотрудников низкая эффективность, что они плохо мотивированы и с трудом встраиваются в команду. Чтобы понять, как с этим обстоят дела в российском ИТ (есть ощущение, что не очень), хотим пообщаться с компаниями и специалистами.

Начать решили с компании SAP — оказалось, что им есть, чем поделиться. В компании организована стажировка для студентов с инвалидностью. Ребята рассказали, с какими мифами об инклюзивном найме они столкнулись в процессе подготовки проекта и поделились историями двух самых смелых стажёров. А ещё составили небольшой чек-лист, который поможет преодолеть неуверенность перед наймом в команду специалистов с инвалидностью.

25+ сервисов, которых боятся ваши конкуренты

Reading time9 min
Views77K

Врага надо знать в лицо. А в digital-маркетинге нужно знать, какую тактику он применяет и какие результаты получает. Анализ конкурентов полезен на любом этапе развития бизнеса. Если вы только начинаете (или планируете) продвижение в интернете, вы можете узнать:

Читать далее

Книга «Секреты Python Pro»

Reading time7 min
Views9.2K
image Привет, Хаброжители! Код высокого качества — это не просто код без ошибок. Он должен быть чистым, удобочитаемым и простым в сопровождении. Путь от рядового питониста к профи не прост, для этого вам нужно разбираться в стиле, архитектуре приложений и процессе разработки. Книга «Секреты Python Pro» научит проектировать ПО и писать качественный код, то есть делать его понятным, сопровождаемым и расширяемым.

Дейн Хиллард — профессиональный питонист, — с помощью примеров и упражнений он покажет вам как разбивать код на блоки, повышать качество за счет снижения сложности и т. д. Только освоив основополагающие принципы, вы сможете сделать так, чтобы чтение, сопровождение и переиспользование вашего кода не доставляло проблем ни вам ни вашим коллегам.
Читать дальше →

Почему в InVision затаскивают микросервисы обратно в монолит

Reading time7 min
Views24K

Прим. перев.: автор этой статьи — Ben Nadel, сооснователь и главный инженер InVision App Inc. Миссию своей команды, поддерживающей серверную инфраструктуру компании, он сам характеризует как «advocate for the users», т.к. её главная цель — гарантировать пользователям InVision «получение опыта, который они заслуживают». Его опыт — яркая иллюстрация того, что микросервисы не серебряная пуля.

Если вы следите за мной в Твиттере, то наверняка заметили, что периодически я публикую победные твиты о возвращении одного из наших микросервисов в InVision обратно в монолит. Обычно эти твиты сопровождаются гифкой, в которой Танос вставляет последний Камень бесконечности в Перчатку бесконечности. Нахожу ее вполне уместной, поскольку воссоединение камней придает Таносу невероятную силу — так же, как воссоединение микросервисов придает силу мне и моей команде. Меня много раз спрашивали, почему я избавляюсь от микросервисов. Настало время поделиться своими мыслями по поводу этого путешествия в мире разработки веб-приложений…

Читать далее

Как строить красивые графики на Python с Seaborn

Reading time7 min
Views189K

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

Есть множество инструментов для визуализации данных, таких как Tableau, Power BI, ChartBlocks и других, которые являются no-code инструментами. Они очень мощные и у них есть своя аудитория. Однако для работы с сырыми данными, требующими обработки, а также качестве песочницы, Python подойдет лучше всего.

Графики на Python

SQL миграции в Postgres. Часть 1

Level of difficultyMedium
Reading time15 min
Views39K

Как обновить значение атрибута для всех записей таблицы? Как добавить первичный или уникальный ключ в таблицу? Как разбить таблицу на две? Как ... 

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

На эти и другие вопросы, возникающие при проведении миграций схемы и данных в PostgreSQL, постараемся дать ответы в виде практических советов.
Читать дальше →

Postgresso 28

Reading time8 min
Views3.9K


Привет всем уже в 21-м году. Надеемся, он будет добрей к нам, чем прошлый. Жизнь продолжается. И мы продолжаем знакомить вас с самыми интересными новостями PostgreSQL. Для разнообразия начну с конференций: этот жанр больше всего пострадал.

Конференции


Организаторы конференций выбирают разные стратегии в условиях карантина. Самый простой — отменить, но лучше чем-то компенсировать.

Nordic PGDay 2021

Отменена. Рассчитывают на Хельсинки в марте 2022. Виртуального варианта не будет, но собираются сфокусироваться на PostgreSQL-треке FOSDEM 2021 в феврале. На сайте написано 2022, но имеется в виду, судя по всему FOSDEM 2021, о котором ниже.

А вот подход Highload++. Бескомпромиссный — никакого онлайна:
Highload++ 2020 (2021)

Конференцию HighLoad++ не стали переносить в онлайн — решили, что она для этого слишком масштабная. Но даты передвинули с 9-10 ноября 2020 г. на 20-21 мая 2021 года. Должна пройти в Москве в «Крокус Экспо 3».

А вот полная противоположность:
FOSDEM 2021

Никакого Брюсселя, в 2021 только онлайн. Не только бесплатно, но и регистрации даже не требуется. Среди участников этой огромной конференции немало докладчиков, известных среди российских постгресистов: Олег Бартунов, Павел Борисов, Алексей Кондратов, Анастасия Лубенникова, Никита Глухов (Postgres Professional), Николай Самохвалов (Postgres.ai), Пётр Зайцев (Percona), Андрей Бородин (Yandex), Олег Иванов (Samsung AI Center, он автор плагина AQO в Postgres Pro Enterprise).
Расписание можно попробовать изучить здесь. Поток PostgreSQL здесь.

PGConf.Online 2021
Читать дальше →

Самая лучшая практика: работа с path в Python

Reading time3 min
Views26K

В последней статье мы использовали рекурсивную функцию размером менее 10 строк для решения проблемы сканирования папок и ранжирования файлов по дате изменения и размеру.

Теперь я подниму планку и покажу, как можно было сделать лучше.

Читать далее

FizzBuzz по-сениорски

Reading time7 min
Views118K

- Добрый день, я на интервью на позицию старшего разработчика.

- Здравствуйте, давайте начнем с небольшого теста, пока я ваше CV смотрю. Напишите программу, которая выводила бы числа от 1 до, скажем, миллиарда, притом если число кратно трем, то вместо числа выводится Fizz, если кратно пяти, то Buzz, а если и трем, и пяти, то FizzBuzz.

Серьезно, FizzBuzz? Задачка для начальной школы, на сениорскую позицию? Ну ладно.

Читать далее

Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком

Reading time9 min
Views158K

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

Читать далее

Как мы роботизировали документооборот крупнейшего европейского ритейлера

Reading time12 min
Views6.9K

В последнее время все чаще слышно про RPA или Robotic Process Automation. С одной стороны, говорят о его эффективности для банковского сектора и крупных корпораций, с другой — про возможность применять его и в среднем, и даже в малом бизнесе. Недавно на «Хабре» вышел текст про использование RPA в мире — и мы подумали, что хабравчанам также будет интересен наш кейс про крупный проект программной роботизации.

Он был выполнен для одного из крупнейших ритейлеров в РФ и Европе: его магазины можно найти везде: в одной только Москве и области их десятки, а по всей России больше сотни. Это фантастическое количество товаров, поставщиков, поставок — и связанного с ними документооборота, которого с каждым месяцем становится больше и больше.

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

Идеальный сценарий для RPA! А для нас — отличная возможность показать, как он грамотно и продуктивно реализуется.

Читать далее

Виртуальный аналитик — будущее BI?

Reading time10 min
Views6.3K

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

Представьте, что у вас есть контакт в телеграме, которому можно просто отправить голосовое сообщение типа: "Что у нас там с планом продаж в Казани?" или "Сколько мы потратили на смузи транспорт в прошлом месяце?" и он сразу пришлет ответ. Круто?

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

Читать далее

BPMN простым языком

Reading time4 min
Views7.7K

Данный цикл статей предназначен для всех, кто собирается приступить к созданию моделей с использованием BPMN.

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

Зачем люди моделируют бизнес-процессы

Как начать программировать в парах

Reading time6 min
Views9.9K
Привет. Меня зовут Дима Вдовин. В предыдущей статье я излагал теорию о парном программировании и говорил о том, какие плюсы вижу в этом подходе. Сегодня я бы хотел продолжить эту тему и поговорить о том, как начать практиковать парное программирование у себя в команде. Полный перечень всех плюсов есть в предыдущей статье, а тут мы просто тезисно вспомним, что нам дает парное программирование.

  • Обучение и онбординг новичков.
  • Шеринг кода/процессов и обмен опытом.
  • Пара решает проблему быстрее и реже обращаются за помощью.
  • Повышение производительности.
  • Сплочение коллектива.
  • Увеличение скорости ревью.

Последний пункт стоит пояснить отдельно. Так как при работе в паре процесс ревью, фактически, проходит в фоновом режиме, то и часть ошибок отсеивается еще на этапе написания кода. Благодаря этому итераций на ревью становится значительно меньше. Тут хорошо подходит вот эта картинка:


Но давайте начнем с грустного и поговорим о том, что может помешать начать внедрять парное программирование в своей команде.
Читать дальше →

Как умные сети ЦОД помогают крупному банку справляться с кризисом

Reading time8 min
Views1.9K
Привет, Хабр! В этот раз мы расскажем о кейсе использования ADN (autonomous driving networks) в China Construction Bank — одном из крупнейших банков мира.


Читать дальше

Незаменимых нет. 10 опасных конфликтов в бизнесе

Reading time15 min
Views32K
Скажем прямо — бизнес иногда не заморачивается отношениями с персоналом и чётко разделяет вертикаль: есть топы, есть менеджеры среднего звена, есть рядовые сотрудники. И вовсе не обязательно топам слушать, чем живут сотрудники, а сотрудникам просить у топов каких-то мотивированных решений. Каждый делает свою работу на своём месте, компания живёт своей жизнью. Однако именно при таком раскладе копятся причины для типичных корпоративных конфликтов, которые могут значительно повлиять на работу компании, на её доходность и положение на рынке. Каждый такой конфликт бьёт по руководству и по сотрудникам одновременно, снижает степень доверия, рушит всё то, что в компаниях принято называть лояльностью, мотивацией и корпоративной культурой. Культура компании не в жарких корпоративах, она в умении оставаться людьми в любых условиях и уметь разговаривать вне зависимости от уровня руководителя и масштаба компании. 

Так на самом ли деле незаменимых нет? Кто начальник, кто дурак? И токсичен ли угрюмый Java-разработчик, пославший на три буквы продакт менеджера? 


Тысячи компаний, сотни тысяч сотрудников — а грабли у всех одинаковые
Читать дальше →

Расширение кластера PostgreSQL размером 5,7 ТБ и переход с версии 9.6 на 12.4

Reading time5 min
Views8.9K

Фото Ричарда Джекобса на Unsplash

В ноябре 2020 года мы начали крупную миграцию для обновления кластера PostgreSQL с версии 9.6 на 12.4. В этом посте я вкратце расскажу про нашу архитектуру в компании Coffee Meets Bagel, объясню, как даунтайм апгрейда удалось снизить ниже 30 минут, и расскажу про то, что мы узнали в процессе.
Читать дальше →

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Date of birth
Registered
Activity