[Перевод] Семь отличных ускорителей сайтов для Linux и Unix

«Производительность веб-проектов» — это, с точки зрения пользователя, скорость, с которой страницы загружаются и отображаются браузером. Что даёт повышение скорости работы некоего сайта? На самом деле – много всего. Здесь и увеличение продаж, и повышение лояльности клиентов, и улучшение впечатлений пользователей от работы с ресурсом. Скорость, с которой веб-ресурс реагирует на запросы, особенно важна для тех пользователей, которые сидят на медленных каналах связи или занимаются веб-серфингом со смартфонов или планшетов.

Читать дальше →
[Перевод] Семь отличных ускорителей сайтов для Linux и Unix
Source: habrahabr

Firebase: прощание с иллюзиями

Маркетинг стал частью мира разработки. По количеству звездочек на GitHub определяют, какое из похожих друг на друга решений круче, а по количеству твитов можно спрогнозировать, какая технология будет развиваться в ближайшие полгода. В таких условиях мы рискуем стать жертвами хайпа. Я — стал: моё представление о Firebase расходилось с реальностью настолько сильно, что понимание области применения технологии стало для меня настоящим откровением. Я хочу поделиться этим пониманием и тем, как всё-таки использовать Firebase правильно.


Читать дальше →
Firebase: прощание с иллюзиями
Source: habrahabr

Производительность сети малой латентности InfiniBand на виртуальном кластере HPC HUB

areas


Моделирование сложных физических процессов в наши дни рассматривается как важная технологическая возможность многими современными компаниями. Широко используемым сейчас подходом для создания вычислителей, способных рассчитывать сложные модели, является создание кластерных систем, где вычислительный узел представляет собой сервер общего назначения, подключенный к сети малой латентности и управляемый своей собственной ОС (как правило, из семейства GNU/Linux).


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


Поддержка сети малой латентности виртуализационными решениями представляет собой отдельную сложную проблему. Для прикладных программ в большинстве случаев современная виртуализация на основе KVM приводит к минимальным потерям вычислительной мощности (<1%). Однако специализированные тесты сетей малой латентности показывают накладные расходы от виртуализации не более 20% на операциях синхронизации.
Читать дальше →
Производительность сети малой латентности InfiniBand на виртуальном кластере HPC HUB
Source: habrahabr

[Из песочницы] Внедрение Docker для небольшого проекта в Production

image


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

Тем кому это интересно добро пожаловать под кат. Читать дальше →
[Из песочницы] Внедрение Docker для небольшого проекта в Production
Source: habrahabr

Пора играть честно, Microsoft

image


Проблема автоматической принудительной замены установленного по умолчанию браузера на Edge при обновлении операционной системы до Windows 10 хорошо известна и о ней уже много было сказано. Я воздерживался от комментариев на эту тему, но и моё терпение кончилось.


Microsoft неоднократно ловили на использовании грязных приёмов в борьбе с конкурентами, но сейчас я хочу сказать о том, как подобное поведение создаёт проблемы для пользователей — обычных людей, использующих современные технологии в повседневной жизни. Как подобная ситуация отражается на них?
Читать дальше →
Пора играть честно, Microsoft
Source: habrahabr

[Перевод] Async/await это шаг назад для JavaScript'a?


В конце 2015 года я услышал об этой паре ключевых слов, которые ворвались в мир JavaScript, чтобы спасти нас от promise chain hell, который, в свою очередь, должен был спасти нас от callback hell. Давайте посмотрим несколько примеров, чтобы понять, как мы дошли до async/await. Читать дальше →
[Перевод] Async/await это шаг назад для JavaScript’a?
Source: habrahabr

Обзор Android Shortcuts

С версии ОС Android 7.1 (API 25) Google предлагает нам новый механизм работы с приложениями — Android Shortcuts. Мы написали краткий обзор этой фичи, созданной для удобства пользователей.

image

Общий обзор


В переводе с английского «shortcut» — кратчайший путь, такое название хорошо отражает основное предназначение шорткатов. Они позволяют нам попасть в какую-то определенную точку приложения и выполнить конкретное действие всего за пару нажатий. Шорткаты неплохо смотрятся, например, если пользователю надо:

• выбрать заранее определенный маршрут в навигаторе;

• начать беседу с другом в мессенджере;

• продолжить игру с последней точки сохранения.
Читать дальше →
Обзор Android Shortcuts
Source: habrahabr

[Из песочницы] Создание зашифрованной флешки Kali Linux Encrypted Persistence

1. Создание загрузочной флешки


Для записи образа используйте программу Rufus. Выберите устройство, на которое будет распакован образ, далее выберите iso-образ системы и из выпадающего списка выберите DD-образ.

image


После развертывания образа структура разделов флешки примет следующий вид:

image
Читать дальше →
[Из песочницы] Создание зашифрованной флешки Kali Linux Encrypted Persistence
Source: habrahabr

Расширения Entity Framework 6, о которых вы могли и не знать

Многие программисты делают записи, описывают трудности, красивые и не очень решения, с которыми приходится сталкиваться по долгу службы. Это может быть собственный технический блог, рабочая вики, или даже обычный блокнот — суть одна. Постепенно, из маленьких Evernote-заметок может вырасти целая статья на Хабр. Но время идет, перемена места работы сулит изменения в стеке разработки, да и технологии не стоят на месте (кстати, EF Core уже пару месяцев как в версии 1.1). С другой стороны, Entity Framework 6 был и остается «рабочей лошадкой» для доступа к данным в корпоративных приложениях на стеке .net, не в последнюю очередь благодаря своей стабильности, низкому порогу входа и широкой известности. Поэтому, я надеюсь, статья всё еще окажется кому-то полезной.

Содержание:

  1. Database First без EDMX
  2. Работа с отсоединенными графами
  3. Модификация SQL. Добавление табличных указаний
  4. Кэширование данных за пределами времени жизни DbContext
  5. Retry при ошибках от SQL Server
  6. Подменяем DbContext, изолируемся от реальной БД
  7. Быстрая вставка

Читать дальше →
Расширения Entity Framework 6, о которых вы могли и не знать
Source: habrahabr

[Перевод] Рефакторинг салона видеопроката на JavaScript

Моя книга по рефакторингу в 1999 году начиналась с простого примера расчёта и форматирования чека для видеомагазина. На современном JavaScript есть несколько вариантов рефакторинга того кода. Здесь я изложу четыре из них: рефакторинг функций верхнего уровня; переход к вложенной функции с диспетчером; используя классы; трансформация с применением промежуточной структуры данных.


Много лет назад, когда я писал книгу по рефакторингу, я начал с (очень) простого примера рефакторинга кода, который вычислял счёт для клиента за прокат видеофильмов (в те дни нам нужно было ходить в салон для этого). Недавно я размышлял об этом примере, в частности, как бы он выглядел на современном JavaScript.


Любой рефакторинг подразумевает улучшение кода в определённом направлении, в том, которое соответствует стилю программирования команды разработчиков. Пример в книге был на Java, а Java (именно в то время) подразумевала определённый стиль программирования, объектно-ориентированный стиль. Однако с JavaScript есть гораздо больше вариантов, какой стиль выбрать. Хотя вы можете придерживаться Java-подобного объектно-ориентированного стиля, особенно с ES6 (Ecmascript 2015), не все сторонники JavaScript одобряют этот стиль. Многие действительно считают, что использовать классы Очень Плохо.
Читать дальше →
[Перевод] Рефакторинг салона видеопроката на JavaScript
Source: habrahabr