Gorilla: быстрая, масштабируемая in-memory time-series база данных

Автор: admin от 18-05-2017, 17:15, посмотрело: 34

Это перевод обзора статьи «Gorilla: A fast, scalable, in-memory time series database» Pelkonen et al. VLDB 2015


Чуваки из фейсбука сделали высокопроизводительный движок для мониторинговых данных. Мне понравился обзор этой статьи в блоге "The morning paper" — особенно про алгоритмы сжатия, и вот перевод.


Стиль — авторский.


Количество ошибок на одном из серверов Facebook зашкаливало.

Категория: Программирование

 

Разбиение слов на элементы таблицы Менделеева

Автор: admin от 18-05-2017, 17:00, посмотрело: 21

Разбиение слов на элементы таблицы Менделеева


(Полный исходный код лежит тут)


Сидя на пятичасовом занятии по химии, я часто скользил взглядом по таблице Менделеева, висящей на стене. Чтобы скоротать время, я начал искать слова, которые мог бы написать, используя лишь обозначения элементов из таблицы. Например: ScAlEs, FeArS, ErAsURe, WAsTe, PoInTlEsSnEsS, MoISTeN, SAlMoN, PuFFInEsS.

Категория: Программирование

 

Создание Web API приложения с использованием .NET Core + MongoDB .NET Driver

Автор: admin от 18-05-2017, 16:50, посмотрело: 16

Как вы уже знаете, MongoDB — это одно из наиболее развитых, open-source NoSQL решений, которое представляет собой документо-ориентированную базу данных, является кросс-платформенным, а также обеспечивает высокую производительность, доступность и простоту масштабирования.

В современных open-source веб-приложениях использование NoSQL решений получило свою популярность в связи с их нереляционным поведением. В данной статье шаг за шагом мы реализуем простое ASP.NET Core Web API приложение «записной книжки», которое будет поддерживать операции CRUD применимо к коллекции в MongoDB.

Категория: Программирование

 

Построение модульной архитектуры приложения на Forwarding-декораторах (авторский перевод)

Автор: admin от 18-05-2017, 12:50, посмотрело: 22

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

Однако есть один подход, который именно в PHP можно встретить довольно редко. Он включает использование нативного наследования и позволяет патчить код «более лучше»(с). Мы называем этот способ “Forwarding Decorator”. Нам он представляется достаточно эффективным, и, кстати, эффектным тоже, хотя последнее не так важно в продакшене.

Как автор оригинальной англоязычной статьи "Achieving Modular Architecture with Forwarding Decorators", опубликованной на SitePoint, я представляю вам авторскую версию перевода.

Категория: Программирование

 

Гейзенбаг 2017 Piter: Call for Testing

Автор: admin от 18-05-2017, 10:40, посмотрело: 32

Гейзенбаг 2017 Piter: Call for TestingСтарший инструктор Дуайт Т. Барнс (Half-Life) о конференции по тестированию Гейзенбаг 2017 Piter: «… Как твоё имя, солдат? Представляешь, твоё имя каким-то мистическим образом попало наверх списка продвинутой тренировки! И я попрошу тебя… а ну тащи своё тело вниз на тренировочную зону и отрапортуй полковнику Шарпу!… До Гейзенбаг 2017 Piter осталось три недели — все взводы уже оформили бейджики и вовсю полируют штиблеты. А тебя-то где носит? На конференции будут все: спецы по автоматическому и нагрузочному тестированию, тимлиды, разработчики. 17 докладов в 3 треках за один день — это тебе не мышку щелкать. Ветераны доложат о новых боевых приемах практического и хардкорного тестирования на реальных проектах.»

Давайте посмотрим, что будет ждать вас на месте.
Гейзенбаг 2017 Piter: Call for Testing

Учитывая мнения участников Гейзенбаг 2016 Moscow, мы поддали жару и увеличили количество технически сложных, глубоких и необычных докладов. Для вашего удобства мы прикрутили к каждому докладу индикацию хардкорности, чтобы вы точно знали, где раздают РПГ, а где — мастер-класс по бою монтировкой. Для тех, кому до Питера не добраться, мы делаем онлайн-трансляцию с возможностью задавать «вопросы из зала» во время докладов и смотреть интервью со спикерами в перерывах между сессиями.

Итак, обзор докладов с группировкой по тематике:

Категория: Программирование » Веб-разработка

 

Ruby on Rails соглашение. Часть II

Автор: admin от 18-05-2017, 09:45, посмотрело: 27

Ruby on Rails соглашение. Часть II

Соглашение над конфигурацией


Один из ранних девизов Rails звучал так: «Ты не красивая и уникальная снежинка». Девиз гласил, что отказываясь от индивидуальности можно обойти решение тривиальных проблем и добиться более быстрого прогресса в областях, которые действительно значимы.

Кого волнует, в каком формате описываются ваши первичные ключи в базе данных? Действительно ли это важно, если речь идет о «id», «postId», «posts_id» или «pid»? Достойно ли это решение постоянного обсуждения? Нет.

Категория: Программирование » Веб-разработка

 

Почему программисты не могут программировать

Автор: admin от 18-05-2017, 09:20, посмотрело: 38

Я был недоверчив, когда прочитал это наблюдение у Реджинальда Брейтуэйт:


Как и у меня, у автора возникают проблемы с тем фактом, что 199 из 200 претендентов на каждое задание программирования не могут писать код вообще. Повторяю: они не могут писать никакого кода вообще.

Категория: Программирование

 

Готовимся к собеседованию по PHP: Всё, что вы хотели узнать об интерфейсах, совместимости сигнатур и не побоялись узнать

Автор: admin от 17-05-2017, 22:05, посмотрело: 33

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

Казалось бы — что может быть проще интерфейса? "Как бы класс, но и не класс, нельзя создать экземпляр, скорее контракт для будущих классов, содержит в себе заголовки публичных методов" — не правда ли, именно такими словами вы чаще всего отвечаете на собеседовании на дежурный вопрос о том, что такое интерфейс?

Однако не всё так просто, как может показаться начинающему программисту на PHP. Привычные аналогии не работают, руководство по языку вводит вас в заблуждение, в коде таятся неожиданные «подводные камни»…

Три предыдущие части:


  • Готовимся к собеседованию по PHP: ключевое слово «static»

  • Готовимся к собеседованию по PHP: псевдотип «callable»

  • Готовимся к собеседованию по PHP: Всё об итерации и немного про псевдотип «iterable»

Проверьте себя: всё ли вы знаете об интерфейсах в PHP?

Категория: Программирование

 

Подробнее об одном новшестве в свежей версии SObjectizer

Автор: admin от 17-05-2017, 14:30, посмотрело: 36

Когда мы начали рассказывать про свой OpenSource акторный фреймворк для C++ на Хабре, мы пообещали описывать некоторые особенности деталей реализации SObjectizer-а. Одна из новых фич, которая была реализована в недавно вышедшей версии 5.5.19, отлично подходит для такого рассказа. Кроме того, она интересна еще и тем, что нам пришлось взглянуть на сценарии использования SObjectizer с совершенно другой стороны. Можно даже сказать, что один из наших шаблонов оказался разорванным.


Речь идет о возможности SObjectizer-а выполнять все свои действия на одной единственной рабочей нити. Начиная с версии 5.5.19 использовать Actor- и Publish/Subscribe модели можно даже в однопоточном приложении. Понятное дело, что акторы должны будут работать в режиме кооперативной многозадачности, но в каких-то случаях именно это и требуется.


А где может потребоваться использовать акторов в однопоточном приложении?

Категория: Программирование

 

Автоматизация тестирования: кто должен этим заниматься, кому это нужно и как меняется эта область

Автор: admin от 17-05-2017, 13:35, посмотрело: 36

В IT все происходит стремительно, и полгода-год — достаточный срок для кардинальных перемен. Это применимо и к автоматическому тестированию. Чтобы узнать, как изменился этот сегмент и отношение самих тестировщиков к своей профессии, поговорим с двумя опытнейшими специалистами в этой области — Игорем Хролом и Илари Хенриком Эгертером.

Автоматизация тестирования: кто должен этим заниматься, кому это нужно и как меняется эта область

Категория: Программирование » Веб-разработка