• Дизайн города, основанный на данных. Лекция в Яндексе

      Под катом вы найдёте расшифровку лекции Андрея karmatsky. Он долгое время руководил службой дизайна геоинформационных сервисов Яндекса, а затем основал компанию Urbica, которая занимается анализом и обработкой городских данных. Андрей рассказывает о примерах того, как подход, ориентированный на данные, помогает улучшать городские сервисы. Лекция прошла в рамках мероприятия «Data & Science: город».


      Большая часть слайдов — тоже под катом.

      Читать дальше →
      • +66
      • 14.3k
      • 3
    • 7 способов использования синего в цветах вашей фирмы

        image

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


          Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

          Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).


          Содержание



          Читать дальше →
        • Выбор MQ для высоконагруженного проекта

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

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

            Если микросервис перестает отвечать на запросы в результате аварии, его клиенты должны быть мгновенно перенаправлены на резервный. Для управления потоком запросов часто используют так называемые очереди сообщений (message queues).

            Недавно используемая нами очередь перестала нас устраивать по параметрам отказоустойчивости и мы заменили ее. Ниже мы делимся нашим опытом выбора.
            Читать дальше →
          • Инфраструктура онлайн игры

              image


              Здравствуйте, меня зовут Александр Зеленин, и я на дуде игрец веб-разработчик. Полтора года назад я рассказывал о разработке онлайн игры. Так вот, она немного разрослась… Суммарный объём исходного кода превысил «Войну и мир» вдвое. Однако в данной статье я хочу рассказать не о коде, а об организации инфраструктуры проекта.

              Неужели всё так сложно?
            • Мониторинг инженерной инфраструктуры в дата-центре. Часть 1. Основные моменты

                Часть 1. Мониторинг инженерной инфраструктуры в дата-центре. Основные моменты.
                Часть 2. Как устроен мониторинг энергоснабжения в дата-центре.
                Часть 3. Мониторинг холодоснабжения на примере дата-центра NORD-4.
                Часть 4. Сетевая инфраструктура: физическое оборудование.

                Статью про устройство мониторинга в дата-центре мы обещали еще в сентябре. Тема обширная, одной статьей тут не отделаться, поэтому решили сделать серию постов. Начнем с базовых моментов, о которых важно помнить при проектировании и настройке мониторинга. Затем подробно остановимся на основных инженерных системах (энергоснабжение и холодоснабжение) и расскажем про инструменты для их мониторинга.

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

                В комментариях можно попробовать повлиять на редакторскую политику и предложить для рассмотрения интересные именно для вас аспекты мониторинга.



                С организационными моментами вроде разобрались, приступим к азбуке мониторинга в редакции DataLine :). Итак, сегодня речь пойдет о концептуальных вещах, которые нужно учитывать на этапе проектирования, внедрения и настройки системы мониторинга. Сабж рассмотрим на примере нашего мониторинга, построенного на базе Nagios и Cacti.
                Читать дальше →
              • Горизонтальное масштабирование. Что, зачем, когда и как?

                  Александр Макаров

                  Александр Макаров ( SamDark )


                  Здравствуйте! Я Александр Макаров, и вы можете меня знать по фреймворку «Yii» — я один из его разработчиков. У меня также есть full-time работа — и это уже не стартап — Stay.com, который занимается путешествиями.

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

                  Что такое масштабирование, вообще? Это возможность увеличить производительность проекта за минимальное время путем добавления ресурсов.

                  Обычно масштабирование подразумевает не переписывание кода, а либо добавление серверов, либо наращивание ресурсов существующего. По этому типу выделяют вертикальное и горизонтальное масштабирование.
                  Читать дальше →
                • Мой домашний дата-центр

                    Это не очередная статья о том, как какой-то «эконом» решил поставить сервер у себя в квартире и разместить веб-сайт дома, потому, что он ошибочно подумал, что это будет дешевле, чем в дата-центре. Без резервирования питания и каналов, без создания нужной климатической среды для эксплуатации серверного оборудования. С огромными счетами за электричество и недовольным провайдером Интернет, который не подписывался поставлять канал за «100 рублей» для сервера или стойки серверов :)

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



                    И первый из них и, пожалуй, самый достойный — домашний дата-центр проекта ve2cuy, организованный канадским IT-специалистом Alain Boundreault дома, не столько с целью экономии, сколько с целью воплощения различных custom-built решений, улучшения собственных навыков, ну и просто потому, что ему это было интересно и он это мог. Мое мнение — очень круто, неплохой workshop, не всегда подобные инфраструктуры могут быть настолько продуманы в реальных ЦОДах. И в добавок, это действительно экономические эффективное решение, полноценно удовлетворяющее потребности его создателя. Давайте с ним познакомимся? Alain Boundreault уже стал известным на YouTube и недавно выложил видео-экскурсию по своему домашнему дата-центру, оцените его работу сами:

                    Читать дальше →
                  • Как научить веб-приложение говорить на 100 языках: особенности локализации



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

                      Идея написания этой статьи возникла после MoscowJS митапа, на котором я говорил о том, как происходит процесс локализации в компании Badoo. Но в этой статье я бы хотел рассказать немного подробнее об особенностях локализации на примере веб-приложений, о том, какие существуют решения для локализации и почему в Badoo пошли своим путем. Всем неравнодушным — добро пожаловать под кат.
                      Читать дальше →
                      • +48
                      • 16.8k
                      • 5
                    • Разработка электроники: от идеи до устройства



                      Сейчас намного проще найти финансирование для своего проекта, проводятся стартап-аллеи, краудфандинговые платформы пестрят новинками. Ардуино приблизило мечтателей к заветной славе. IoT технологии взяли свое и IT фирмы поняли, что не кодом единым можно жить. Не редкое явление, когда hardware проектом руководят люди, которые несколько далеки от электроники. И еще чаще они думают, что жизненный цикл software-проекта аналогичен жизненному циклу hardware-проекта. Увы, это не так.
                      Читать дальше →
                    • Текстовая трансляция HighLoad++ 2016. День второй


                        Трансляция окончена. HighLoad++ закрыта. Спасибо всем, кто делал, смотрел, читал, комментировал. Её просмотрели больше 25 000 человек, прочитали больше 6 000.

                        Сегодня в этом посте весь день будет вестись текстовая трансляция конференции HighLoad++ 2016, проходящей в Сколково 8 ноября. HighLoad++ — это более 200 экспертов высочайшего класса с докладами о высоконагруженных сервисах, проблемах работы с ними и вопросах администрирования. Более 15 залов, плотный график, честный и полезный опыт спикеров — HighLoad++ умеет собирать крутые темы, задавать тон дискуссии и всё на одном дыхании.

                        Если вы хотите смотреть видео из главного зала и включения из мобильной студии Хабрахабра, то вам на страницу спецпроекта. Если почитать онлайн и поообщаться в кооментариях — под кат.


                        Читать дальше →
                      • Работа каскада Хаара в OpenCV в картинках: теория и практика



                          В прошлой статье мы подробно описали алгоритм распознавания номеров (ссылка), который заключается в получении текстового представления на заранее подготовленном изображении, содержащем рамку с номером + небольшие отступы для удобства распознавания. Мы лишь вскользь упомянули, что для выделения областей, где содержатся номера, использовался метод Виолы-Джонса. Данный метод уже описывался на хабре (ссылка, ссылка, ссылка, ссылка). Сегодня мы проиллюстрируем наглядно то, как он работает и коснёмся ранее необсужденных аспектов + в качестве бонуса будет показано, как подготовить вырезанные картинки с номерами на платформе iOS для последующего получения уже текстового представления номера.
                          Читать дальше →
                        • Каково оно учить JavaScript в 2016

                          • Translation


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

                          — Это теперь называется Front-End инженер, но да, я — именно он. Я работаю с вебом в 2016. Визуализации, музыкальные плееры, летающие дроны, которые играют в футбол, все что угодно. Я только что вернулся из JsConf и ReactConf, так что я знаю новейшие технологии для создания веб-приложений.

                          — Круто. Мне нужно создать страницу, которая отображает последние действия со стороны пользователей, так что мне просто нужно получить данные от REST и отобразить их в какой-то фильтруемой таблице, ну и обновлять её, если что-то изменится на сервере. Я думал, может быть, использовать JQuery для извлечения и отображения данных?

                          — О, Мой Бог! Нет! Никто больше не использует JQuery. Ты должен попробовать React: это — 2016!
                          Читать дальше →
                        • Как управлять гигантами Vol.3: полный цикл жизни проекта

                            image

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

                            Читать дальше →
                          • Строим свой full-stack на JavaScript: Основы

                            • Tutorial

                            Строим свой full-stack на JavaScript: Основы



                            В мире JavaScript очень легко набрать свой стек технологий, используя набор небольших пакетов, каждый из которых решают свою конкретную проблему. И это хорошо, c одной стороны, а с другой стороны, у вас особо нет выбора — фреймворки которые выполняют широкий спектр задач в JavaScript не популярны.


                            В этом цикле статей я хочу поделиться своим практическим опытом построения JS стека.


                            Читать дальше →
                          • Дайджест материалов о email-рассылке: Полезные руководства из мира электронной почты

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


                              Читать дальше →
                            • Вышел официальный HTTP клиент для Yii 2

                                Команда Yii выпустила официальное расширение-клиент HTTP. Написано почти целиком Павлом Климовым. До последнего времени не было тегнуто как релиз из за несовместимости с PSR-7, хотя уже много где использовалось. После долгих обсуждений было решено выпускать без PSR-7. К нему, возможно, вернутся в 2.1.x.


                                Выполнение HTTP запроса выглядит вот так:


                                use yii\httpclient\Client;
                                
                                $client = new Client();
                                $response = $client->createRequest()
                                    ->setMethod('post')
                                    ->setUrl('http://example.com/api/1.0/users')
                                    ->setData(['name' => 'John Doe', 'email' => 'johndoe@domain.com'])
                                    ->send();
                                if ($response->isOk) {
                                    $newUserId = $response->data['id'];
                                }

                                https://github.com/yiisoft/yii2-httpclient

                              • Пакет-географ – первая рабочая версия

                                  Прежде всего хотел бы поблагодарить за более, чем 80 звёзд на GitHub, которые мне дали читатели Хабра по результатам предыдущего поста. И это несмотря на то, что репозиторий был почти пустой, а ссылка была неочевидна. На лицо полезность этого пакета!


                                  Для тех, кто пропустил первый пост, маленькое повторение. Если у Вас в приложении есть что-то вроде:


                                  Читать дальше →
                                • МЕГА Accelerator — взгляд в будущее. Монологи участников

                                    Не так давно закончился МЕГА Accelerator — проект для поиска и воплощения инновационных идей по улучшению покупательского опыта гостей МЕГИ, реализованный IKEA Centres Russia совместно с компанией GVA LaunchGurus Несколькопредложенных решений уже доступны для тестирования посетителям в торговых центрах МЕГА, так что пора не только подвести итоги, но и поговорить о перспективах, которые новые технологические возможности открывают перед ритейлом.

                                    Читать дальше →
                                  • Разведка и инженерное дело: 3D-модели зданий, развязок и карьеров по фото



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

                                      Чтобы понять, насколько хорошую точность можно получить в архитектуре и инженерных изысканиях подобного рода, мы решили отснять свой 11-этажный офис и создать 3D-модель. В конце работы мы получили модель здания и замерили по ней пару окон. Потом пошли и измерили эти же окна в реальном мире — среднее расхождение было в пределах сантиметра, максимум — двух.

                                      Кстати, в чём-то похожая задача была у одного из наших партнёров — нужно было снять карьер площадью 470 Га и:
                                      1. Определить объёмы выработки породы.
                                      2. Подсчитать объём склада продукции.
                                      3. Получить поверхность для уточнения уровня гидроотвала.
                                      4. Получить 3D-модель всей территории.



                                      Часть маршрутов

                                      Её решили с помощью беспилотника, длинных гвоздей, GPS-приёмника и двух пачек пластиковых тарелок за 5 рублей за штуку.
                                      Читать дальше →