Множество статей и книг посвящено тому, как правильно проектировать API, но едва ли кто-то затрагивал тему постоянно меняющихся (гибких) API. Динамично развивающаяся компания зачастую выпускает по несколько релизов в неделю, а иногда и в день. При этом для добавления новых функций необходимо постоянно вносить изменения в существующее API. В этой статье мы расскажем о том, как мы в Badoo решаем эту задачу, какие подходы и идеи мы используем в своей работе.
Для начала я должен немного подробнее рассказать о Badoo, чтобы вы понимали, кто работает с нашим API и почему оно так часто меняется.
Я очень не люблю boilerplate. Такой код скучно писать, уныло сопровождать и модифицировать. Совсем мне не нравится, когда тот самый bolierplate перемешан с бизнес-логикой приложения. Очень хорошо проблему описал krestjaninoff еще 5 лет назад. Если вы не знакомы с парадигмой AOP, прочитайте материал по ссылке, он раскрывает тему.
Как на момент прочтения этой статьи, так и сейчас меня не устраивают ни PostSharp ни Spring. Зато за прошедшее время в .NET появились другие инструменты, позволяющие вытащить «левый» код из бизнес-логики, оформить его отдельными переиспользуемыми модулями и описать декларативно, не скатываясь при этом в переписывание результирующего IL и прочую содомию.
Речь пойдет о проекте Castle.DynamicProxy и его применении в разработке корпоративных приложений. Следуй за белым кроликом
2016-06-28 11:52:38
Чаще всего я хожу в кино спонтанно. Внезапно возникает желание оказаться в прохладном тёмном зале, и ...
+ развернуть текстсохранённая копия
Чаще всего я хожу в кино спонтанно. Внезапно возникает желание оказаться в прохладном тёмном зале, и встаёт задача выбора — куда идти и что смотреть. Одно из условий этой задачи — чтобы выйти из дома в течение ближайших пятнадцати минут, в идеале — прямо сейчас.
Мне надоело всякий раз перебирать по многу страниц на сайте Афиши, и я решил сделать сервис, максимально быстро решающий мою проблему.
Привет Хабр! Мы продолжаем знакомить разработчиков с сервисом databoom.
Сегодня мы рассмотрим, как эффективно использовать возможности панели управления databoom для трансформации иерархической структуры, полученной при импорте некоторого стороннего JSON файла в графовую базу данных.
JSON файлы, используемые в видео, хранятся здесь: github.com/Databoom/pub-src
Подробнее познакомиться с сервисом databoom и БЕСПЛАТНО зарегистрироваться можно на сайте databoom.space
Вы наверняка уже слышали про GraphQL, среду выполнения и язык запросов данных с открытым кодом. Про него много говорят в последнее время – в частности, на конференции React Europe, недавно проходившей в Париже, было сделано три выступления про GraphQL. И прочитав этот пост, вы узнаете, почему.
1. Вы уже его используете
Даже если вы впервые слышите о GraphQL, вам интересно будет узнать, что вы пользуетесь им ежедневно последние несколько лет. У Facebook есть миллиард ежедневных активных пользователей, и GraphQL лежит в основе работы соцсети. Если вы используете Facebook, вы используете и GraphQL.
Facebook используют GraphQL с 2012 года – задолго до того, как его код был открыт в прошлом июле. С тех пор наблюдается шквал активности по его поводу, а экосистема вокруг его открытого кода быстро растёт.
2. GraphQL решает реальные задачи, и это заметно
Существование GraphQL радует не только разработчиков на React. Работающие с Angular, iOS и Android также интересуются тем, что GraphQL может им предложить. Причина роста популярности GraphQL в том, что он решает некоторые вполне реальные задачи, с которыми разработчики борются каждый день. Именно поэтому его уже адаптируют такие компании, как Twitter, Intuit и Drupal.
Платформа мобильной разработки Fabric от Twitter уже сделала анонс перехода на GraphQL:
How we productionized GraphQL.js while protecting customer data & site uptime https://t.co/TaTuKVlWAO @GraphQL pic.twitter.com/Goj42tT2ct
— Fabric (@fabric) 7 июня 2016 г.
С тех пор, как мы работаем над Apollo, стеком данных для GraphQL, почти каждый день к нам обращаются компании, жаждущие использовать GraphQL для создания новых продуктов, или даже переписать под него всю свою инфраструктуру.
Читать дальше →