Краткий обзор гибридных облаков на OpenStack и трудностей их построения

Массовое внедрение облачных технологий кардинально изменило процесс развертывания новых сервисов в корпоративной ИТ-инфраструктуре. При классическом подходе такой процесс мог растянуться на несколько дней, недель и даже месяцев – требовалось сначала заказать новый сервер, затем доставить и установить его в дата-центре компании, вручную инсталлировать на сервере операционную систему и прикладное ПО, настроить параметры приложения и только после этого можно было запускать на нем новый сервис. При использовании облачных технологий развертывание сервиса занимает несколько часов или минут благодаря порталу самообслуживания, через который системный администратор или владелец сервиса может быстро получить все необходимые для работы сервиса ресурсы (процессоры, оперативную память и дисковую емкость). В этой статье мы расскажем о том, как быстро и безопасно перейти на гибридное облако на базе OpenStack.

Читать дальше →
Краткий обзор гибридных облаков на OpenStack и трудностей их построения
Source: habrahabr

Биологические предпосылки деградации компаний


Современные научные представления говорят о существовании у процессов функционирования человеческого мозга определенных особенностей, которые:

  • на личном уровне подталкивают к прокастинации;
  • в стартапе по мере его успеха и роста приводят к потере прежней творческой «внутренней атмосферы» и нарастанию бюрократии;
  • в больших компаниях приводят к «иерархическому регрессу».


Благодаря этим особенностям мышления человека, среднее время нормальной жизни коммерческих компаний составляет 15 лет, а изначальные «Империи добра», типа Гугл и Яндекс, неумолимо со временем приобретают черты «Империй зла».


Некоторые компании сопротивляются этому, а некоторые даже и не понимают, почему приходит в упадок их внутренняя корпоративная культура. Почему попытки привить хорошие и правильные принципы и практики организации бизнеса не дают ожидаемых результатов…
Читать дальше →
Биологические предпосылки деградации компаний
Source: habrahabr

Сшиваем SSL-сертификаты правильно на bash

Использование SSL-шифрование на сайтах приобретает уже почти обязательный характер: Google с этого года начал агрессивно предупреждать о небезопасном соединении с сайтами, ряд платежных шлюзов требуют безопасное подключение на сайтах (например, Яндекс.Касса). Установка SSL-сертификата на сайт требует достаточно сложной технической настройки веб-сервера (nginx, например). Одним из аспектов этой настройки является использование «сшивания» (stapling) SSL-сертификатов вплоть до корневого для ускорения установления безопасного соединения из браузеров к сайтам.


SSL stapling позволяет сэкономить для нового посетителя сайта 0,1-1 секунду (за счет экономии 1-2 запросов за промежуточными сертификатами с учетом DNS-запросов, установления соединения и получения данных, каждый из запросов может выполняться до 500 мс в случае 95 перцентиля пользователей). По умолчанию, SSL stapling выполняется для всех сертификатов, загруженных в Айри.


Обычно цепочка SSL-сертификатов, которую должен запросить браузер, выглядит следующим образом:

SSL-сертификат сайта — Промежуточный SSL-сертификат [- Промежуточный SSL-сертификат 2] — Корневой SSL-сертификат


Корневые SSL-сертификаты загружены в браузер (в целях избежания их подделки при передачи по сети). Промежуточные SSL-сертификаты могут быть получены из SSL-сертификата сайта («родительский» сертификат, которым подписан данный сертификат, внесен в соответствующем поле данного сертификата). Как это корректно сделать, чтобы сшить все сертификаты и ускорить загрузку сайта в браузере?
Читать дальше →
Сшиваем SSL-сертификаты правильно на bash
Source: habrahabr

[Из песочницы] Среднее арифметическое: физический смысл и визуализация

Переменная величина – атрибут (свойство) системы, меняющий свое числовое значение. Множество значений переменой величины может иметь вид:

65, 59, 62, 63, ...

Человек анализирует числовые данные такого рода и принимает решения. Знание температуры воздуха помогает правильно одеться. Курс валюты говорит покупать ее или продавать.

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

Одна из интегральных характеристик множества значений переменной величины – среднее арифметическое. Посмотрим на него с точки зрения статистики, физики (механики) и эстетики.

Три точки зрения на числовые данные

Читать дальше →
[Из песочницы] Среднее арифметическое: физический смысл и визуализация
Source: habrahabr

Поддержка нестандартного XMPP-протокола с помощью Smack

В одном из недавних проектов мы реализовывали взаимодействие Android-приложения с ejabberd-сервером через кастомизированный XMPP-протокол.


В этой статье приведены примеры как можно отправлять/получать кастомизированные пакеты XMPP-протокола в Android-приложении.


Для работы с XMPP протоколом была выбрана библиотека Smack 4.1.8.
Читать дальше →
Поддержка нестандартного XMPP-протокола с помощью Smack
Source: habrahabr

И снова о рекурсивных запросах

В этой заметке речь пойдет о том, как писать рекурсивные запросы. Тема эта поднималась не раз и не два, но обычно все ограничивается простыми «деревянными» случаями: спуститься от вершины до листьев, подняться от вершины до корня. Мы же займемся более сложным случаем произвольного графа.


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


Для упражнения будем использовать демо-базу, подробно описанную ранее, и попробуем написать в ней запрос для поиска кратчайшего пути из одного аэропорта в другой.

Читать дальше →
И снова о рекурсивных запросах
Source: habrahabr

[Перевод] Интуитивный дизайн против вирусного


Интерфейс Snapchat приводит в замешательство многих пользователей. Не в упрек старшему поколению, прослеживается такая тенденция: люди, перешагнувшие определенный возрастной рубеж, с большим трудом разбираются в самых базовых функциях этого приложения — замене лиц, например. Я уже сбился со счета, сколько людей плакались мне насчет Snapchat. «Ничего не понимаю», — восклицают они. «Почему все так сложно?»


Я здесь, чтобы заявить: непонятный дизайн Snapchat — это не баг, а фича. Как и в случае с Tinder, это дизайн, который ставит своей целью затянуть пользователя и подтолкнуть его к тому, чтобы он делился опытом с окружающими. На самом деле, это одна из ключевых составляющих громкого успеха Snapchat.
Читать дальше →
[Перевод] Интуитивный дизайн против вирусного
Source: habrahabr

Скрипт удаления старых драйверов

Сценарий к статье Павла Чубарова автоматизирующий удаление устаревших драйверов из папки С:windowssystem32DriverStoreFileRepository.


При установке драйверов старые версии сохраняются в системе, данный скрипт удаляет все дубликаты кроме драйвера имеющего самую последнюю дату


Может кому пригодится.
Читать дальше →
Скрипт удаления старых драйверов
Source: habrahabr

[Перевод] JavaScript-тренды, на которые стоит обратить внимание в 2017-м

image


Я решил написать этот материал после того, как увидел твит Дэна Абрамова, за который хочу сказать ему огромное спасибо. Дэн задал своим подписчикам вопрос о самых интересных событиях в мире JavaScript, которые достойны внимания широкой общественности.


Любители JS на вопрос откликнулись, под твитом собралась целая гора ответов. Каждый говорил о том, на что, по его мнению, стоит обратить внимание в 2017-м году. В результате получилась весьма занимательная подборка, из которой я выбрал всё лучшее и добавил пояснения.
Читать дальше →
[Перевод] JavaScript-тренды, на которые стоит обратить внимание в 2017-м
Source: habrahabr

[Из песочницы] Python: коллекции, часть 1: классификация, общие подходы и методы, конвертация

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


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


Вот именно эту проблему я хочу попытаться решить в данном цикле статей – рассмотреть ряд подходов к работе со стандартными коллекциями в Python в сравнении между коллекциями разных типов, а не по отдельности, как это обычно показывается в обучающих материалах. Кроме того, постараюсь затронуть некоторые моменты, вызывающие сложности и ошибки у начинающих.
Читать дальше →
[Из песочницы] Python: коллекции, часть 1: классификация, общие подходы и методы, конвертация
Source: habrahabr