Ежегодный отчетный хабрапост — 2016


Когда год назад в отчетном посте мы писали, что 2016 год будет непростым, то, конечно, и не подозревали, насколько окажемся правы. Тут уж не о простоте приходится говорить, а о вызовах планетарного масштаба, если считать Intel планетой, что, в принципе, так и есть. В прошедшем году произошла, пожалуй, самая грандиозная реорганизация в истории Intel (по крайней мере, в XXI веке): были закрыты, сокращены или переориентированы несколько крупнейших направлений деятельности компании, сокращены тысячи сотрудников по всему миру. В России закрыты два из трех офисов разработки Intel, остался лишь один — в Нижнем Новгороде. По сравнению с такими тектоническими сдвигами любая другая движуха, включая Хабраблог и подведение его годовых итогов, кажется незначительной, но традиции — они как раз затем, чтобы их соблюдать.
Читать дальше →
Ежегодный отчетный хабрапост — 2016
Source: habrahabr

Про Z-оrder и R-дерево

image

Индекс на основе Z-order кривой в сравнении с R-деревом имеет массу преимуществ, он:

  • реализован как обычное B-дерево, а мы знаем что
  • страницы B-дерева имеют лучшую заполняемость, кроме того,
  • Z-ключи сами по себе более компактны
  • B-дерево имеет естественный порядок обхода, в отличие от R-дерева
  • B-дерево быстрее строится
  • B-дерево лучше сбалансировано
  • B-дерево понятнее, не зависит от эвристики расщепления/слияния страниц
  • B-дерево не деградирует при постоянных изменениях

Впрочем, у индексов на основе Z-order есть и недостаток — сравнительно низкая производительность :). Под катом мы попробуем разобраться с чем связан этот недостаток и можно ли что-то с этим сделать.
Читать дальше →
Про Z-оrder и R-дерево
Source: habrahabr

[Перевод — recovery mode ] Сторонние приложения, которые используют Google Hangouts API, перестанут работать после 25 апреля 2017 года

Когда Google запустил мессенджеры Allo и Duo, было сказано, что Hangouts останется кросс-платформенным чатом для корпоративных пользователей. И сейчас настало время изменений, которые помогут следовать выбранному курсу. Обновление Google Hangouts FAQ раскрывает дату отключения API, которое произойдет в конце апреля этого года. Фактически, это означает, что любое стороннее приложение, которое интегрировано с Google Hangouts, перестанет работать в течение нескольких месяцев.
Читать дальше →
[Перевод — recovery mode ] Сторонние приложения, которые используют Google Hangouts API, перестанут работать после 25 апреля 2017 года
Source: habrahabr

С чего начать внедрение Hadoop в компании

Алексей Еремихин ( alexxz )


Я хочу навести порядок в головах, чтобы люди поняли, что такое Hadoop, и что такое продукты вокруг Hadoop, а также для чего не только Hadoop, но и продукты вокруг него можно использовать на примерах. Именно поэтому тема — «С чего начать внедрение Hadoop в компании?»


Структура доклада следующая. Я расскажу:

  • какие задачи я предлагаю решать с помощью Hadoop на начальных этапах,
  • что такое Hadoop,
  • как он устроен внутри,
  • что есть вокруг него,
  • как Hadoop применяется в Badoo в рамках решения задач с первого пункта.

Читать дальше →
С чего начать внедрение Hadoop в компании
Source: habrahabr

Классы на JS с protected, множественным наследованием, геттерами/сеттерами и примесями

Привет, Хабр!

Начну с того, что мне надоела убогость классов и наследования в JavaScript! Просидев тысячи часов над крупным JS-проектом, это стало для меня просто очевидным. Особенно когда переключаешься с бэкенда с использованием Yii2, на фронтенд. Ведь в Yii2 и php есть настоящие классы, настоящие protected/private поля, есть trait, всякие dependency injection и behavior. И вот сразу после всех этих штук, создаёшь такой файл NewClass.js для того чтобы написать какой-нибудь класс, и понимаешь, что в JavaScript ничего этого нет. И даже более того, классы можно писать сотнями разных способов — прототипное/функциональное наследование, ES6 классы, и разные сахара с использованием внешних библиотек. Тут я сказал себе — «хватит это терпеть!».

Читать дальше →
Классы на JS с protected, множественным наследованием, геттерами/сеттерами и примесями
Source: habrahabr

VulnHub: Слепая эксплуатация и Брайнфак в DC416 Basement



Продолжаем разбор CTF с конференции DefCon Toronto’s. Задания предоставлены командой VulnHub, за что им огромное спасибо. А мы рассмотрим DC416 Basement.

Ниже, вы можете ознакомиться с предыдущим райтапом:

Читать дальше →
VulnHub: Слепая эксплуатация и Брайнфак в DC416 Basement
Source: habrahabr

Чистая архитектура в Python: пошаговая демонстрация (часть 1)

Примечание переводчика

Данная статья является переводом. Дословный перевод занял 35 страниц А4 в ворде. Планирую разбить её на 5-6 частей. Думаю, данная тема должна быть полезна многим программистам, желающим писать свои web-приложения лучше и чище. Так же статья полезна тем, кто хочет научиться писать web-приложения с методологией TDD с применением именно модульных тестов, а не интеграционных, как это обычно делалось в тех статьях, что попадались мне на глаза. Если где-то использованы неверные термины или перевод кажется слишком машинным — напишите мне в личку, вряд ли это гугл-транслятор, скорее всего дело в моей косноязычности и посредственном знанием английского языка.

Год назад мой друг Roberto Ciatti познакомил меня с концепцией, которую Роберт Мартиным называет чистой архитектуры. Дядя Боб много говорит об этой концепции на конференциях и написал о ней очень интересные статьи. «Чистая архитектура» представляет собой способ структурирования системы программного обеспечения, набор соглашений (нечто большее чем строгие правила) о различных слоях и ролях их участников.

Как он ясно выражается в посте, метко названным «Чистая архитектура» (перевод на хабре), идея этого подхода не нова, строится на множестве концепций, которые проталкивались многими разработчиками программного обеспечения в течение последних 3-х десяти лет.

Читать дальше →
Чистая архитектура в Python: пошаговая демонстрация (часть 1)
Source: habrahabr

Чистая архитектура в Python: пошаговая демонстрация. Часть 1

Примечание переводчика

Данная статья является переводом. Дословный перевод занял 35 страниц А4 в ворде. Планирую разбить её на 5-6 частей. Думаю, данная тема должна быть полезна многим программистам, желающим писать свои web-приложения лучше и чище. Так же статья полезна тем, кто хочет научиться писать web-приложения с методологией TDD с применением именно модульных тестов, а не интеграционных, как это обычно делалось в тех статьях, что попадались мне на глаза. Если где-то использованы неверные термины или перевод кажется слишком машинным — напишите мне в личку, вряд ли это гугл-транслятор, скорее всего дело в моей косноязычности и посредственном знанием английского языка.

Год назад мой друг Roberto Ciatti познакомил меня с концепцией, которую Роберт Мартин называет чистой архитектурой. Дядя Боб много говорит об этой концепции на конференциях и пишет о ней очень интересные статьи. «Чистая архитектура» представляет собой способ структурирования системы программного обеспечения, набор соглашений о различных слоях и ролях их участников, нечто большее, чем строгие правила.

Как он уже говорил в своей статье «Чистая архитектура» (перевод на хабре), идея самого подхода не нова, она строится на множестве концепций, которые продвигались многими разработчиками программного обеспечения в течение последних 3-х десяти лет.

Читать дальше →
Чистая архитектура в Python: пошаговая демонстрация. Часть 1
Source: habrahabr

[Из песочницы] Мыслим в стиле React

image

Перевод туториала официальной документации библиотеки React.js.

Мыслим в стиле React

React, на наш взгляд, это лучший способ построить большое, быстрое веб-приложение с помощью JavaScript. По нашему опыту в Facebook и Instagram, приложение на React также очень хорошо масштабируется.

Одно из многих замечательных свойств React — это принцип «Как вы проектируете приложение, также вы и создаете его». В этом туториале вы пройдете весь мыслительный процесс проектирования и создания приложения React, отображающего таблицу данных для поиска товара.

Читать дальше →
[Из песочницы] Мыслим в стиле React
Source: habrahabr

Дайджест свежих материалов из мира фронтенда за последнюю неделю №244 (2 — 8 января 2017)

Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы и интересные материалы из области фронтенда.

Читать дальше →
Дайджест свежих материалов из мира фронтенда за последнюю неделю №244 (2 — 8 января 2017)
Source: habrahabr