Читать дальше →
User
Управление виртуальными машинами Azure с помощью PowerShell
6 min
13KPowerShell – это очень мощный инструмент, нужно только знать, как его правильно применять. Важно также отметить, что несколько сейчас PowerShell предоставляет функционал больший, чем использование графических элементов управления: всё, что можно выполнить из графического интерфейса, можно реализовать при помощи командлетов PowerShell. Наоборот это правило не работает. В случае с Microsoft Azure с помощью PowerShell вы можете сделать все теже действия, что и через портал управления, кроме создания самой подписки. Применение Azure PowerShell позволяет контролировать и автоматизировать развертывание рабочих нагрузок и управлениями ими. В этой статье мы поговорим о том, как можно использовать Azure PowerShell для управления виртуальными машинами.


+8
Файловая система Linux полностью на tmpfs — скорость без компромиссов
4 min
124KПредыстория
Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.
Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.
Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
+65
Кофе как источник вдохновения
9 min
23K
В один прекрасный день захотелось самому себе дома делать эспрессо. Кофе играет важную роль в поддержании моей работоспособности. Речь идет скорее о вкусе напитка и привычке попивать кофе во время размышлений, чем о волшебно-бодрящем действии кофеина. Долгое время я варил кофе в турке и горя не знал. Ну как не знал. Не знал, пока не пришел черед действительно сложного и напряженного проекта. Сразу выяснилось — одной чашки маловато для поддержания достаточного уровня производительности. Душа требовала около трех порций в день.
Вот тут-то и начались сложности. Ничем типа «фууу растворимый кофе» я никогда не болел. Периоды этого нелюбимого многими суррогата и натурального кофе совершенно безболезненно чередовались в моей жизни ранее, но вечно продолжаться так не могло. Оказалось, что если пить растворимый кофе по несколько чашек в день, от него реально начинает тошнить. С заварным дела обстояли не лучше…
+28
«Идеальный шторм» и как это лечится
7 min
146KПривет, Хабр!
Broadcast storm (широковещательный шторм) – это такой ночной кошмар сетевиков, когда в считанные секунды парализуется передача полезного трафика во всей сети ЦОД. Как это происходит и о чем надо было раньше думать – в нашем сегодняшнем посте.


Broadcast storm (широковещательный шторм) – это такой ночной кошмар сетевиков, когда в считанные секунды парализуется передача полезного трафика во всей сети ЦОД. Как это происходит и о чем надо было раньше думать – в нашем сегодняшнем посте.

+18
Солнечное затмение с воздуха и из космоса
5 min
28K
Фото: Павла Алексеева.
В то время, как большинство жителей России разрывало последние дискеты и демонстрировало небу свои флюорографии, я несся над Норвежским морем на высоте 11 км со скоростью 750 км/ч и пытался удержать в руках всю фототехнику, которую опрометчиво набрал в полет. В мордовском поселке Рузаевка радиолюбитель R4uab наводил антенну со своего гаража на спутник Роскосмса "Метеор-М №2". Астронавт Саманта Кристофоретти парила в невесомости Международной космической станции, пытаясь запечатлеть редкое астрономическое явление. И все только для того, чтобы мы могли увидеть затмение иначе чем просто яркий месяц в небе.
+65
MSBuild — в Open Source на github
2 min
19KTranslation
Сегодня мы особенно рады сообщить что MSBuild (наверное, самая часто используемая и самая таинственная по документированности — прим. перев.) — теперь доступен на github и мы вносим его в список .NET Foundation! The Microsoft Build Engine (MSBuild) — это платформа для построения приложений. Вызывая msbuild на вашем проекте или решении, вы можете организовывать и собирать свои продукты в окружениях, где нет установленной MS Visual Studio. Например, MSBuild используется чтобы собирать такие Open Source проекты, как .NET Core Libraries и .NET Core Runtime.

Ядро, библиотеки, миграция на Mac/Linux, msbuild… Еще немного и я поверю в выход на github MS Visual Studio.

Ядро, библиотеки, миграция на Mac/Linux, msbuild… Еще немного и я поверю в выход на github MS Visual Studio.
+35
Мониторинг балансов сотовых телефонов, провайдеров — или как никогда больше не забывать вовремя заплатить за телефон и интернет
4 min
21K
Есть мнение о том, что главное рабочее качество настоящего сисадмина — лень. Когда у сисадмина есть сервер и этот сервер предоставляет сервис — обычно админ ставит этот сервис на мониторинг — с тем, чтобы знать о том, что с сервисом все в порядке, узнавать о том, что караул-все-пропало-все-сломалось в числе первых и спать спокойно, зная, что если что-то и случится — то его разбудит алерт, а не звонок недовольного босса.
Но как быть, когда сервер и сервис — не свои собственные, а чужие? Ведь такая ситуация случается сплошь и рядом. Типовая небольшая организация: один-два сайта на хостинге (за которые надо вовремя платить, а зачастую еще и следить за тем, не изменились ли тарифы), пачка доменных имен (которые тоже надо вовремя проплачивать, а то и потерять можно), какое-то количество сотовых телефонов (за балансом которых нужно бы следить), договоры (и, соответственно, учет и взаиморасчеты) с поставщиками городской телефонии, с VOIP-провайдером, да в конце концов — просто с интернет-провайдером для офиса.
Сисадмин обычно за всё это платит не сам, но письма-напоминалки пополнить баланс получает в основном он и именно он будет крайним, если забудет напомнить тем, кто платит. Кто из нас хоть раз в жизни не забывал оплатить что-нибудь такое (например, потому что письмо-напоминалка попала в спам) и оставался без связи, без сайта, без домена, без премии,
+57
Скрипт проверки баланса Мегафон
5 min
20KДоброго времени суток.
В очередной раз столкнулся с проблемой проверки баланса моих многочисленных симок Мегафона для мобильного интернета — автомобиль, дача, iPad, мобильный роутер и.т.д. Проблема в том, что данные симки работают в модемах и иных гаджетах и могут быть не всегда под рукой. Более того, времени и желания постоянно мониторить состояние баланса в разных устройствах, в том числе и удаленных, просто нет. А интернет имеет обыкновенно «заканчиваться» в самый неподходящий момент.
В очередной раз столкнулся с проблемой проверки баланса моих многочисленных симок Мегафона для мобильного интернета — автомобиль, дача, iPad, мобильный роутер и.т.д. Проблема в том, что данные симки работают в модемах и иных гаджетах и могут быть не всегда под рукой. Более того, времени и желания постоянно мониторить состояние баланса в разных устройствах, в том числе и удаленных, просто нет. А интернет имеет обыкновенно «заканчиваться» в самый неподходящий момент.
+4
Вычислите длину окружности
6 min
90KTranslation

Звучит как задание на первой неделе курса по C++. Но это только на первый взгляд. Сложности возникают уже на первых этапах решения задачи. Предлагаю рассмотреть несколько подходов.
Студент: Как вам такой вариант?
#include <math.h>
float CalcCircumference1(float d)
{
return d * M_PI;
}
Преподаватель: Да, этот код может нормально откомпилироваться. А может и нет.
+123
Построение диаграмм и графов в Doxygen
9 min
65K
Данная статья входит в получившийся цикл статей о системе документирования Doxygen:
- Документируем код эффективно при помощи Doxygen
- Оформление документации в Doxygen
- Построение диаграмм и графов в Doxygen
Она завершает цикл статей о системе документации Doxygen. На этот раз статья посвящена построению различных диаграмм и графов в Doxygen. В ней мы рассмотрим основные их виды, различные способы их настройки и оформления, а также приведём ряд примеров и советов по их использованию.
+23
Подробнее о протоколе Mail.Ru Агент
4 min
19KНа Хабре уже писали о том, как устроен Mail.Ru Агент. На данный момент официальной документации к протоколу в открытом доступе нет, поэтому приходится исследовать устройство опытным путем. В этой статье я рассмотрю отправление форматированных текстовых сообщений и создание и отправление сообщений в конференцию.
+25
Правильное увеличение размера диска в виртуальной машине
3 min
151KНе претендуя на полноту, все же считаю, что это может пригодиться системным администраторам.
Увеличение размера диска в виртуальной машине происходило при следующих вводных: формат файла виртуалки qcow2, виртуальная машина использует lvm и ext4, root partition находится в extended partition. Действо обычно происходит ночью, когда нагрузка минимальна и даунтайм не сильно давит на нервы. Хотя при работе с highload-проектами адреналина всё равно выделяется достаточно, чтобы 10 раз подумать, перед тем, как что-либо делать. Поэтому перед началом процесса, лучше отключить систему оповещения по СМС, чтобы не пугать коллег сообщениями типа «Server down» среди ночи.
Увеличение размера диска в виртуальной машине происходило при следующих вводных: формат файла виртуалки qcow2, виртуальная машина использует lvm и ext4, root partition находится в extended partition. Действо обычно происходит ночью, когда нагрузка минимальна и даунтайм не сильно давит на нервы. Хотя при работе с highload-проектами адреналина всё равно выделяется достаточно, чтобы 10 раз подумать, перед тем, как что-либо делать. Поэтому перед началом процесса, лучше отключить систему оповещения по СМС, чтобы не пугать коллег сообщениями типа «Server down» среди ночи.
+10
Создание пакетов APK x86 и ARM APK с помощью компилятора Intel® и GNU gcc
5 min
11KTranslation
Существуют устройства Android на процессорах с архитектурами наборов инструкций (ISA) ARM или x86. Различные архитектуры наборов инструкций не имеют двоичной совместимости, поэтому приложение, содержащее нативный код, должно содержать нативные библиотеки для каждой архитектуры. Одним из механизмов распространения таких приложений являются так называемые «толстые» пакеты приложений Android («толстые» APK).
В этой статье содержатся пошаговые инструкции по созданию такого «толстого» пакета APK, включающего независимые от архитектуры файлы для виртуальной машины Dalvik (Dalvik, 2013), а также библиотеки для разных архитектур. В статье описывается сборка нативной библиотеки приложения x86 с помощью Intel Integrated Native Developer Experience (INDE).
В этой статье содержатся пошаговые инструкции по созданию такого «толстого» пакета APK, включающего независимые от архитектуры файлы для виртуальной машины Dalvik (Dalvik, 2013), а также библиотеки для разных архитектур. В статье описывается сборка нативной библиотеки приложения x86 с помощью Intel Integrated Native Developer Experience (INDE).
+11
Введение в fetch
5 min
311KTranslation
Прощай, XMLHttpRequest!
fetch()
позволяет вам делать запросы, схожие с XMLHttpRequest (XHR). Основное отличие заключается в том, что Fetch API использует Promises (Обещания), которые позволяют использовать более простое и чистое API, избегать катастрофического количества callback'ов и необходимости помнить API для XMLHttpRequest.+25
Звуковые отпечатки: распознавание рекламы на радио
5 min
34KИз этой статьи вы узнаете, что распознавание даже коротких звуковых фрагментов в зашумленной записи — вполне решаемая задача, а прототип так вообще реализуется за 30 строчек кода на Python. Мы увидим, как тут помогает преобразование Фурье, и наглядно посмотрим, как работает алгоритм поиска и сопоставления отпечатков. Статья будет полезна, если вы сами хотите написать подобную систему, или вам интересно, как она может быть устроена.
+28
Dagaz: Пинки здравому смыслу (часть 3)
10 min
18K
– Мессир, я вновь обращаюсь к логике, – заговорил кот, прижимая лапы к груди, – если игрок объявляет шах королю, а короля между тем уже и в помине нет на доске, шах признается недействительным.
Михаил Булгаков «Мастер и Маргарита»
«Мат королю!» — многие из нас впитали эти слова с молоком матери. Сама концепция шаха (и мата) кажется очевидной людям знакомым с Шахматами с детства, но так ли она проста на самом деле? После лёгкой разминки с превращениями фигур, я предлагаю заняться действительно сложными вопросами.
+25
Ошибка в формуле проверки условия Делоне
3 min
24KВведение
Ранним воскресным утром я уже третий день сидел за отладкой программы для триангуляции результата лазерного сканирования. Лазерный скан представляет из себя набор трехмерных точек. В результате работы программы нужно объединить точки в непересекающиеся полигоны, таким образом создав модель поверхности. Функцию за функцией я пересчитывал на листочке и, наконец, добрался до функции проверки выполнения условия Делоне. По всей видимости, ошибка затаилась где-то в ней. При детальном разборе оказалось, что формула, указанная в огромном количестве книг про триангуляцию Делоне, не всегда дает верный результат. Подробности под катом.

+26
Перезапуск демона на PHP без потери соединений к нему
13 min
20K
Изначально он был написан на Си, как и все остальные демоны в нашей компании. Однако мы столкнулись с тем, что существенная часть процессорного времени (около 10%) тратилась, по сути, впустую: это запуск интерпретатора и загрузка «ядра» нашего фреймворка. Поэтому, чтобы иметь возможность инициализировать интерпретатор и наш фреймворк только один раз, было принято решение переписать демон на PHP. Мы назвали его Phprocksyd (по аналогии с Phproxyd — PHP Proxy Daemon, демоном на Си, который у нас был до этого). Он принимает запросы на запуск отдельных классов и делает fork() на каждый запрос, а также умеет сообщать о статусе исполнения каждого из запусков. Такая архитектура во многом похожа на модель веб-сервера Apache, когда вся инициализация делается один раз в «мастере» и «дети» занимаются уже именно обработкой запроса. В качестве дополнительной «плюшки» мы получаем возможность включить opcode cache в CLI, который будет правильно работать, поскольку все дети наследуют ту же область общей памяти, что и мастер-процесс. Чтобы уменьшить задержки при обработке запроса на запуск, можно делать fork() заранее (prefork-модель), но в нашем случае задержки на fork() составляют около 1 мс, что нас вполне устраивает.
+30
Яндекс.Перевод в оффлайне. Как компьютеры научились хорошо переводить
11 min
41KСегодня в App Store вышло обновленное приложение Яндекс.Перевода для iOS. Теперь в нем есть возможность полнотекстового перевода в офлайн-режиме. Машинный перевод прошел путь от мейнфреймов, занимавших целые комнаты и этажи, до мобильных устройств, помещающихся в карман. Сегодня полнотекстовый статистический машинный перевод, требовавший ранее огромных ресурсов, стал доступен любому пользователю мобильного устройства – даже без подключения к сети. Люди давно мечтают о «вавилонской рыбке» – универсальном компактном переводчике, который всегда можно взять с собой. И, кажется, мечта эта постепенно начинает сбываться. Мы решили, воспользовавшись подходящим случаем, подготовить небольшой экскурс в историю машинного перевода и рассказать о том, как развивалась эта интереснейшая область на стыке лингвистики, математики и информатики.

«Это все делает машина», «Электронный мозг переводит с русского на английский», «Робот-билингва» – такие газетные заголовки увидели читатели ликующей прессы 8 января 1954 года. А днем ранее, 7 января, научный компьютер IBM 701 принял участие в знаменитом Джорджтаунском эксперименте, переведя около шестидесяти русских фраз на английский. «Семьсот-первый» использовал словарь из 250 слов и шесть синтаксических правил. И, конечно же, очень тщательно подобранный набор предложений, на которых проводилось тестирование. Вышло настолько убедительно, что восторженные журналисты со ссылками на ученых заявляли о том, что через несколько лет машинный перевод почти полностью заменит классический «ручной».

«Это все делает машина», «Электронный мозг переводит с русского на английский», «Робот-билингва» – такие газетные заголовки увидели читатели ликующей прессы 8 января 1954 года. А днем ранее, 7 января, научный компьютер IBM 701 принял участие в знаменитом Джорджтаунском эксперименте, переведя около шестидесяти русских фраз на английский. «Семьсот-первый» использовал словарь из 250 слов и шесть синтаксических правил. И, конечно же, очень тщательно подобранный набор предложений, на которых проводилось тестирование. Вышло настолько убедительно, что восторженные журналисты со ссылками на ученых заявляли о том, что через несколько лет машинный перевод почти полностью заменит классический «ручной».
+74
Information
- Rating
- 4,024-th
- Location
- Кызыл, Тува (Тувинская Респ.), Россия
- Registered
- Activity
Specialization
Software Developer, Application Developer
Senior
From 150,000 ₽
Python
C++
Linux
Docker