User
Мониторинг докер-хостов, контейнеров и контейнерных служб
Я искал self-hosted мониторинговое решение с открытым кодом, которое может предоставить хранилище метрик, визуализацию и оповещение для физических серверов, виртуальных машин, контейнеров и сервисов, действующих внутри контейнеров. Опробовав Elastic Beats, Graphite и Prometheus, я остановился на Prometheus. В первую очередь меня привлекли поддержка многомерных метрик и несложный в овладении язык запросов. Возможность использования одного и того же языка для графических изображений и уведомления сильно упрощает задачу мониторинга. Prometheus осуществляет тестирование по методу как черного, так и белого ящика, это означает, что вы можете тестировать инфраструктуру, а также контролировать внутреннее состояние своих приложений.
Multiseat на компьютере с ОС Debian

libsodium: Public-key authenticated encryption или как я расшифровал сообщение без закрытого ключа
Ошибки в проекте дата-центра, которые вы ощутите только на этапе эксплуатации
Мы отобрали самые горькие ошибки в проектах дата-центров, с которыми мы столкнулись за восемь лет проектирования, строительства и эксплуатации дата-центров. Открываем хит-парад.

Как научиться оценивать задачи, если не умеешь: 4 фактора сложности
Позднее, конечно, я обнаружил, что по теме прогнозов написано несколько умных книжек, которые в сумме с некоторым опытом делают оценку задач хоть и неблагодарным, но и небезнадёжным занятием. Самым удобным способом, конечно, является оценка по аналогии: когда ты уже делал нечто подобное, ты довольно точно знаешь, каких усилий эта задача потребует. Но как быть в ситуации, когда опыта сравнительно немного или аналогии брать неоткуда, а оценить все же хочется?
В одной из команд, где я работал, мы придумали оригинальный метод для предварительной оценки задач. Метод синтезирует некоторые известные из литературы приёмы, но в приведённой форме, пожалуй, никем не описан. Концепция была следующей: объективность (связь с измеримыми показателями); интегрируемость с Agile; повторяемость; быстрота оценки (меньше 0.5% от объема задачи); доступность для начинающих разработчиков. Я буду рад обсудить нашу идею и не исключаю, что кому-то из Хабрааудитории она придётся по душе.
Полное практическое руководство по Docker: с нуля до кластера на AWS
Содержание
- Вопросы и ответы
- Введение
- 1.0 Играем с Busybox
- 2.0 Веб-приложения и Докер
- 3.0 Многоконтейнерные окружения
- 4.0 Заключение
Вопросы и ответы
Что такое Докер?
Определение Докера в Википедии звучит так:
программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.
Ого! Как много информации.
Лучшие эмуляторы игровых консолей для Linux

Представляю третью часть подборки по эмуляторам игровых приставок. В первой части собраны наиболее популярные эмуляторы под Android. Во второй части — эмуляторы под Windows. А сейчас — эмуляторы приставок под Linux. Как и в предыдущих двух частях, здесь собраны проверенные временем и пользователями программы.
Если в подборку случайно что-то не попало, пишите об этом в комментариях. Пропущенный эмулятор будет добавлен в основной материал.
20+ Моих любимых AngularJS помощников
Перейдем к списку.
В начале я бы хотел ознакомить вас с тремя, на мой взгляд, лучшими AngularJS инструментами для тестирования:
1. Karma

Karma один из моих любимых AngularJS инструментов для тестирования. Он обеспечивает идеальную среду для тестирования, что позволяет протестировать приложение в реальных браузерах и реальных устройствах, таких как телефоны и планшеты.
Чем меньше, тем лучше — о возможностях языков программирования
Существует много языков программирования, и новые продолжают появляться всё время. Лучше ли они тех, что уже существовали раньше? Очевидно, что на этот вопрос невозможно ответить, пока не будет дано чёткое определение что же такое «лучше» в отношении языков программирования.
Если вы посмотрите на исторические тренды, то заметите один из путей сделать лучший язык программирования — определить какую-нибудь избыточную возможность в уже существующем языке и спроектировать новый язык без неё.
«Совершенство достигается не тогда, когда нечего добавить, а тогда, когда нечего убрать»
Антуан де Сент-Экзюпери
В этой статье вы увидите несколько примеров возможностей различных языков программирования, которые уже общепризнанны избыточными и ещё несколько других, которые имеют те же черты и могут когда-нибудь быть отнесены к той же группе.
У вас нет высыпаний? Будут

Он спросил:
– Женя, привет. (wave) Вопрос к тебе, как мега лайв хакеру. Сколько времени нужно спать, что бы мозг отдохнул и можно было плодотворно работать? Умные будильники сильно помогают?
Я ответил, а потом подумал, ведь и парочке сотен человек с Хабра тоже пригодится хоть один пунктик из вычитанных мною ранее советов, ведь «так как никто не слушает, приходится повторять»:
Пишем ХабраКвест на ASP.NET Core и Angular2
Результат:
— сорсы на гитхабе для тех, кому интересно посмотреть на исходники
— линк на квест для тех, кому интересно что получилось или потратить свое время на еще один логический квест.

Под катом описан полный процесс от создания проекта до его развертывания.
10 ошибок, приводящих к оверинжинирингу ПО
1. Инженерам виднее
Мы, инженеры, считаем себя умнейшими людьми. Ну, поскольку мы создаём разные штуки. И эта ошибка часто приводит к оверинжинирингу. Если вы спланировали и построили 100 модулей — Бизнес всегда попросит у вас 101-ый, о котором вы никогда не задумывались. Если вы соберётесь с силами и решите 1000 проблем — они придут к вам и выложат на стол 10 000 новых. Вы считаете, что у вас всё под контролем, а на самом деле вы даже не представляете, в каком направлении вас завтра поведёт дорога.

За мои 15 лет работы программистом я ещё ни разу не видел, чтобы Бизнес выдал законченные и стабильные раз и навсегда требования к ПО. Они всегда меняются, расширяются. И это природа бизнеса, а не ошибки людей, управляющих им.
Мораль: Казино (бизнес) всегда побеждает.
Эффективное использование Github

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.
Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).
Содержание
- Трюки с URL
- Горячие клавиши
- Тикеты и пулл-реквесты
- Github markdown
- Аккаунт
- Работа с репозиториями
- Поиск кода
- Командная строка и Github
- User scripts
- Github-вандализм
- Дополнительные Github-ресурсы
- Полезные ссылки
Shake Detector для Android на RxJava

Вступление
Началось все с того, что была поставлена задача отменять последнее действие в приложении при встряхивании устройства. Но как понять, что случилось это самое встряхивание? Через пару минут изучения вопроса стало ясно, что надо подписываться на события от акселерометра и дальше пытаться как-то определить, что устройство встряхнули.
Обнаружились и готовые решения. Все они были довольно похожи, но в чистом виде они меня не устраивали, и я написал собственный «велосипед». Это был класс, который подписывался на события от сенсора и менял свое состояние по мере их поступления. Потом пару раз я и мои коллеги подкручивали шестеренки этого велосипеда, и в результате он стал напоминать нечто из «Безумного Макса». Я пообещал, что, как выдастся свободное время, приведу это безобразие в порядок.
И вот, читая недавно статьи по RxJava, я вспомнил про эту задачу. «Хм, — подумал я, — RxJava выглядит очень подходящим инструментом для такого рода проблем». Не откладывая в долгий ящик, взял и написал решение на RxJava. Результат меня поразил: вся логика заняла 8 (восемь!) строк! Я решил поделиться своим опытом с другим разработчикам. Так появилась на свет эта статья.
Надеюсь, этот простой пример поможет принять решение тем, кто размышляет о применении RxJava в своих проектах.
Статья ориентирована на читателей, имеющих базовый опыт разработки под Android. Исходный код готового приложения можно посмотреть на GitHub.
Приступим!
Эволюция маркетинга: от маленького интернет-магазина до гипермаркета

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

Действительно, многие бомбардировщики не возвращались на базу. А на тех, что уцелели, оставалось множество пробоин на крыльях и хвосте. Любые улучшения защиты корпуса самолета могли спасти не одну сотню жизней пилотов.
Командование предположило: усиления брони требуют те части самолета, на которых наблюдалось больше всего пробоин. Однако то, что казалось очевидным, было ошибочным. В действительности, места пробитые снарядами напротив демонстрировали наиболее крепкие части корпуса. Ведь с этими пробоинами самолет оставался достаточно цел, чтобы долететь до базы.
Обнаруживший ошибку математик Абрахам Вальд позже, на базе статистических методов, не только выделил наиболее уязвимые места воздушных кораблей, но и рассчитал возможную длинну полета с определенными типами повреждений корпуса.
Систематическая ошибка выживших — это склонность фокусироваться на одной группе данных («выживших»), игнорируя или не имея данных по другой («погибших»).
Матрица: революция. Часть вторая — ESP8266

В своей статье я обещал показать вам наше светлое будущее в техногенном окружении, цитата: «В общем, будет интересно, как говорится, оставайтесь с нами». Выполняю своё обещание и представляю беспрецедентное решение для рынка IoT за $2 на ESP8266.
Документация — основа игры

Конкурс по программированию на JS: Классификатор слов (о ходе тестирования)
Английская версия этого поста размещена на GitHub.
Протестировать 312 решений
Большое спасибо всем участникам! Мы получили 603 решения от 312 участников. Поскольку мы принимаем к тестированию самое последнее из присланных в срок решений, то протестировать надо 312 решений. Это был неожиданный результат. Надеюсь, это немного объясняет, почему это занимает так много времени.
Создание арканоида на чистом JavaScript с нуля. CANVAS
Желание воплотилось в виде 7 уроков, которые я бы и хотел представить ниже.
Information
- Rating
- 3,590-th
- Location
- Россия
- Registered
- Activity