Проектирование высоконагруженных сервисов уже не является таинственным мастерством, которым владеют лишь просвещенные сэнсеи. Сегодня для этого существуют вполне устоявшиеся практики, которые комбинируются и видоизменяются в зависимости от особенностей компании и ее бизнеса. Мы хотим рассказать о наших лучших методиках и инструментах создания высоконагруженных сервисов.
Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке приложений для мобильной платформы Sailfish OS. В данной статье речь пойдет об использовании датчиков устройства под управлением Sailfish OS. Читать дальше ->
Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке приложений для мобильной платформы Sailfish OS. В данной статье речь пойдет об использовании датчиков устройства под управлением Sailfish OS. Читать дальше ->
Как говорится, по традиции, раз в год, мы в Яндекс.Погоде выкатываем что-нибудь новенькое. Сначала это был Метеум — традиционный прогноз погоды с помощью машинного обучения, затем наукастинг — краткосрочный прогноз осадков на основе метеорологических радаров и нейронных сетей. В этом посте я расскажу вам о том, как мы сделали глобальный прогноз погоды и построили на его основе красивые погодные карты.
Сперва пару слов про продукт. Погодные карты — способ узнавать погоду, очень популярный на западе и пока что не очень популярный в России. Причиной тому является, собственно, сама погода. Из-за особенностей климата наиболее населенные регионы нашей страны не подвержены внезапным погодным катаклизмам (и это хорошо). Поэтому интерес к погоде у жителей этих регионов скорее бытовой. Так, людям в центральной России важно знать, например, какая погода будет в Москве в выходные или что в четверг в Питере будет дождь. Такую информацию проще всего узнать из таблицы, в которой будет дата, время и набор погодных параметров.
Знаю, он не идеальный, но по крайней мере я попытаюсь рассказать, как его к этому приблизить.
В одну заметку всё не войдёт, поэтому сначала план:
Постановка задачи — описание той конфигурации проектов с которой мы будем работать, целей и проблем
Как настроить мавен для разработки в рамках нашей задачи
Как настроить CI/CD (билды, релизы, деплоймент)
Нерешенные проблемы
Задача
Итак, начнем с постановки задачи. Предположим у нас есть группа людей (компания, фирма, кружок), которые разрабатывают проекты на Java. При этом у них есть как проекты с открытым кодом (OSS), так и проекты с закрытым кодом. Проекты, назовём их внутренние, разрабатываются независимо друг от друга, но между ними есть зависимости. Что хочется:
Централизованное управление зависимостями на внешние библиотеки
Знаю, он не идеальный, но по крайней мере я попытаюсь рассказать, как его к этому приблизить.
В одну заметку всё не войдёт, поэтому сначала план:
Постановка задачи — описание той конфигурации проектов с которой мы будем работать, целей и проблем
Как настроить мавен для разработки в рамках нашей задачи
Как настроить CI/CD (билды, релизы, деплоймент)
Нерешенные проблемы
Задача
Итак, начнем с постановки задачи. Предположим у нас есть группа людей (компания, фирма, кружок), которые разрабатывают проекты на Java. При этом у них есть как проекты с открытым кодом (OSS), так и проекты с закрытым кодом. Проекты, назовём их внутренние, разрабатываются независимо друг от друга, но между ними есть зависимости. Что хочется:
Централизованное управление зависимостями на внешние библиотеки
Когда время заканчивается, разработчики выдохлись, а загадочные проблемы продолжают появляться, иногда требуются нестандартные решения. Когда вам любой ценой нужно завершить проект, то на кону стоит всё… В паре классических статей, изначально опубликованных в дружественном журнале Game Developer magazine, мы изучили несколько потрясающих примеров таких решений из реальной жизни. Эти нестареющие шедевры можно прочитать здесь (перевод на Хабре) и здесь.
Gamasutra ещё раз решила рассмотреть эту тему. Мы собрали со всей игровой индустрии необычные решения необычных проблем. Те, кто поделился с нами этими решениями, могут и не гордиться такими «исправлениями», но на самом деле гордиться им стоит. Им удалось выпустить игру, они ничего не испортили и, что важнее всего, никто ничего не заметил. По крайней мере, до этой статьи.
Насладитесь изобретательностью, подивитесь бесстрашию, научитесь на ошибках своих предшественников, и самое важное — выпускайте работающие игры, и тоже в срок. Читать дальше ->
В этой статье представлены три небольшие истории, которые произошли в нашей практике: в разное время и в разных проектах. Объединяет их то, что они связаны с сетевой подсистемой Linux (Reverse Path Filter, TIME_WAIT, multicast) и иллюстрируют, как глубоко зачастую приходится анализировать инцидент, с которым сталкиваешься впервые, чтобы решить возникшую проблему… и, конечно, какую радость можно испытать в результате полученного решения. Читать дальше ->
В моём углубленном курсе компиляторов прошлой осенью мы провели некоторое время, изучая дерево исходников LLVM. Миллион строк кода на C++ выглядят пугающе, но я нахожу это интересным упражнением, и, по крайней мере, некоторые студенты с этим согласны, и я подумал, что я попытаюсь написать что-то подобное. Мы будем использовать LLVM 3.9, но предыдущие (и, возможно, будущие) релизы не сильно отличаются. Читать дальше ->
Выпущено программное обеспечение, которое позволяет сделать из Raspberry Pi3 сетевой JTAG программатор для САПР Altera Quartus Prime. Это решение позволяет удаленно загружать FPGA Altera/Intel и даже вести удаленную отладку с помощью инструмента SignalTap. Далее расскажу,
как использовать это ПО. Читать дальше ->
Привет, Хабр! Данная задача возникла у меня с проблемой, которая заключалась в создании робота для авторизации в Instagram, который бы делал за меня лайки. Всю задачу не напишу, напишу только часть реализации в виде настройки необходимого инструментария на удаленном сервере.
WEB — тестирование — это объемная и неоднозначная сфера, которая может заключаться в решении задач не только в плане тестирования WEB — приложений, но и, к примеру, в плане построения парсеров, роботов IoT и ботов работы с социальными сетями и все это используя только JavaScript!
Возможно, что вам не нравится словосочетание «тестирование», возможно, отчасти, из-за того, что это словосочетание заключает в себе более интересные вещи, которые, к примеру, позволят нам написать бота, способного авторизироваться в Instagram, Facebook и совершать там ряд действий от нашего лица и в одно и то же время нудно заниматься наблюдением, как выполняется наш фронтенд, но тестирование имеет смысл и уже стандартизировано сообществом W3C и продолжает развиваться.
Только пользователи привыкли к гигантским облакам от корпораций, как появилось маленькое, уютное и «домашнее» облако — Microsoft Azure Stack. Осенью мы представили свой новый инструмент, который позволит построить собственное облако с сервисами Azure в собственном дата-центре. В рамках поддержки нового продукта 30 ноября состоится конференция «Платформа цифрового бизнеса», а пока мы разберем, чем примечателен Azure Stack, и немножко погрузимся в кодинг.
Подробности – под катом
Нас часто спрашивают, умеет ли статический анализатор кода PVS-Studio выявлять утечки памяти (memory leaks). Чтобы много раз не писать похожие тексты в письмах, мы решили дать подробный ответ в блоге. Да, PVS-Studio умеет выявлять утечки памяти и других ресурсов. Для этого в PVS-Studio реализовано несколько диагностик и в статье будут продемонстрированы примеры обнаружения ошибок в реальных проектах. Читать дальше ->
Hamster Marketplace — это децентрализованная торговая площадка для уникальных гаджетов и производителей инди-электроники. Мы надеемся, что платформа станет родным домом для тех, кто не может выдержать маркетинговой конкуренции с производителями-гигантами уровня Apple или Samsung. Также Hamster Marketplace поможет тем, кто теряется за информационным шумом, создаваемым множеством перекупщиков и производителями из Китая, которые штампуют безликие реплики популярных устройств. Целевая аудитория Hamster Marketplace — это гики и любители инноваций, причём по обе стороны виртуального прилавка. Мы будем одинаково рады как покупателям, которые ищут необычные вещи, так и инди-производителям — вчерашним стартапам с Kickstarter, Indiegogo и других краудфандинговых платформ по всему миру.
Сейчас Hamster Marketplace выходит на краудфандинговый сбор средств через продажу токенов. Но что отличает нас от собственных клиентов в лице инди-производителей? В первую очередь — опытная команда. CEO проекта, Денис Булавин, уже имеет опыт в создании производственной линии нишевого электротехнического продукта и работе с крупными ритейлинговыми сетями. Опыт основателя подкрепляется мощной командой, что вкупе с пониманием потребностей аудитории и производителей выгодно выделяет проект.
Как говорят, дьявол кроется в деталях. Сегодня мы не будем рассказывать о глобальной стратегии Hamster Marketplace, прогнозах или продвигать какие-то идеи. Вместо этого мы расскажем о, наверное, самой важной детали любого размещения токенов. При этом другие проекты старательно избегают этой темы, ограничиваясь общими фразами и техническими данными о типе смарт-контракта. Мы поговорим об особенностях нашего токена HMT, а именно о том, чем же он отличается от токенов других проектов и что мы для этого сделали. Читать дальше ->
Hamster Marketplace — это децентрализованная торговая площадка для уникальных гаджетов и производителей инди-электроники. Мы надеемся, что платформа станет родным домом для тех, кто не может выдержать маркетинговой конкуренции с производителями-гигантами уровня Apple или Samsung. Также Hamster Marketplace поможет тем, кто теряется за информационным шумом, создаваемым множеством перекупщиков и производителями из Китая, которые штампуют безликие реплики популярных устройств. Целевая аудитория Hamster Marketplace — это гики и любители инноваций, причём по обе стороны виртуального прилавка. Мы будем одинаково рады как покупателям, которые ищут необычные вещи, так и инди-производителям — вчерашним стартапам с Kickstarter, Indiegogo и других краудфандинговых платформ по всему миру.
Сейчас Hamster Marketplace выходит на краудфандинговый сбор средств через продажу токенов. Но что отличает нас от собственных клиентов в лице инди-производителей? В первую очередь — опытная команда. CEO проекта, Денис Булавин, уже имеет опыт в создании производственной линии нишевого электротехнического продукта и работе с крупными ритейлинговыми сетями. Опыт основателя подкрепляется мощной командой, что вкупе с пониманием потребностей аудитории и производителей выгодно выделяет проект.
Как говорят, дьявол кроется в деталях. Сегодня мы не будем рассказывать о глобальной стратегии Hamster Marketplace, прогнозах или продвигать какие-то идеи. Вместо этого мы расскажем о, наверное, самой важной детали любого размещения токенов. При этом другие проекты старательно избегают этой темы, ограничиваясь общими фразами и техническими данными о типе смарт-контракта. Мы поговорим об особенностях нашего токена HMT, а именно о том, чем же он отличается от токенов других проектов и что мы для этого сделали. Читать дальше ->
Hamster Marketplace — это децентрализованная торговая площадка для уникальных гаджетов и производителей инди-электроники. Мы надеемся, что платформа станет родным домом для тех, кто не может выдержать маркетинговой конкуренции с производителями-гигантами уровня Apple или Samsung. Также Hamster Marketplace поможет тем, кто теряется за информационным шумом, создаваемым множеством перекупщиков и производителями из Китая, которые штампуют безликие реплики популярных устройств. Целевая аудитория Hamster Marketplace — это гики и любители инноваций, причём по обе стороны виртуального прилавка. Мы будем одинаково рады как покупателям, которые ищут необычные вещи, так и инди-производителям — вчерашним стартапам с Kickstarter, Indiegogo и других краудфандинговых платформ по всему миру.
Сейчас Hamster Marketplace выходит на краудфандинговый сбор средств через продажу токенов. Но что отличает нас от собственных клиентов в лице инди-производителей? В первую очередь — опытная команда. CEO проекта, Денис Булавин, уже имеет опыт в создании производственной линии нишевого электротехнического продукта и работе с крупными ритейлинговыми сетями. Опыт основателя подкрепляется мощной командой, что вкупе с пониманием потребностей аудитории и производителей выгодно выделяет проект.
Как говорят, дьявол кроется в деталях. Сегодня мы не будем рассказывать о глобальной стратегии Hamster Marketplace, прогнозах или продвигать какие-то идеи. Вместо этого мы расскажем о, наверное, самой важной детали любого размещения токенов. При этом другие проекты старательно избегают этой темы, ограничиваясь общими фразами и техническими данными о типе смарт-контракта. Мы поговорим об особенностях нашего токена HMT, а именно о том, чем же он отличается от токенов других проектов и что мы для этого сделали. Читать дальше ->
Hamster Marketplace — это децентрализованная торговая площадка для уникальных гаджетов и производителей инди-электроники. Мы надеемся, что платформа станет родным домом для тех, кто не может выдержать маркетинговой конкуренции с производителями-гигантами уровня Apple или Samsung. Также Hamster Marketplace поможет тем, кто теряется за информационным шумом, создаваемым множеством перекупщиков и производителями из Китая, которые штампуют безликие реплики популярных устройств. Целевая аудитория Hamster Marketplace — это гики и любители инноваций, причём по обе стороны виртуального прилавка. Мы будем одинаково рады как покупателям, которые ищут необычные вещи, так и инди-производителям — вчерашним стартапам с Kickstarter, Indiegogo и других краудфандинговых платформ по всему миру.
Сейчас Hamster Marketplace выходит на краудфандинговый сбор средств через продажу токенов. Но что отличает нас от собственных клиентов в лице инди-производителей? В первую очередь — опытная команда. CEO проекта, Денис Булавин, уже имеет опыт в создании производственной линии нишевого электротехнического продукта и работе с крупными ритейлинговыми сетями. Опыт основателя подкрепляется мощной командой, что вкупе с пониманием потребностей аудитории и производителей выгодно выделяет проект.
Как говорят, дьявол кроется в деталях. Сегодня мы не будем рассказывать о глобальной стратегии Hamster Marketplace, прогнозах или продвигать какие-то идеи. Вместо этого мы расскажем о, наверное, самой важной детали любого размещения токенов. При этом другие проекты старательно избегают этой темы, ограничиваясь общими фразами и техническими данными о типе смарт-контракта. Мы поговорим об особенностях нашего токена HMT, а именно о том, чем же он отличается от токенов других проектов и что мы для этого сделали. Читать дальше ->
Недавно к команде Skyeng присоединился Александр Макаров, давний участник core team фреймворка Yii. Я не мог пропустить такой инфоповод и отправился в Воронеж, чтобы порасспросить Сашу про жизнь в мире open source, перспективы участия в разработке свободного ПО и совмещение такой разработки с полной ставкой. Читать дальше ->
Недавно к команде Skyeng присоединился Александр Макаров, давний участник core team фреймворка Yii. Я не мог пропустить такой инфоповод и отправился в Воронеж, чтобы порасспросить Сашу про жизнь в мире open source, перспективы участия в разработке свободного ПО и совмещение такой разработки с полной ставкой. Читать дальше ->
Недавно к команде Skyeng присоединился Александр Макаров, давний участник core team фреймворка Yii. Я не мог пропустить такой инфоповод и отправился в Воронеж, чтобы порасспросить Сашу про жизнь в мире open source, перспективы участия в разработке свободного ПО и совмещение такой разработки с полной ставкой. Читать дальше ->