Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.
Исходная информация - http://habrahabr.ru/. Данный дневник сформирован из открытого RSS-источника по адресу http://habrahabr.ru/rss/, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты. По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.[Обновить трансляцию]
При проектировании промышленных приборов, к которым предъявляются повышенные требования по надёжности, я не раз сталкивался с проблемой защиты устройства от неправильной полярности подключения питания. Даже опытные монтажники порой умудряются перепутать плюс с минусом. Наверно ещё более остро подобные проблемы стоят в ходе экспериментов начинающих электронщиков. В данной статье рассмотрим простейшие решения проблемы — как традиционные так и редко применяемые на практике методы защиты. Читать дальше →
Снижаем количество вычислений и продлеваем жизнь мобильного устройства. Допустим, у пользователя открыта страница сайта на которой воспроизводится видео, проигрывается музыка, запущено приложение с 3d-графикой, но в данный момент он не смотрит на нее пользуется другим приложением, просматривает другую вкладку в браузере, или отвлекся на телефонный разговор и т.д., долгом разработчика является улучшить UX и/или продлить жизнь мобильного устройства пользователя. Читать дальше →
В первом случае используется числовое сравнение. Во втором запись * > 10 интерпретируется как замыкание -> $x { $x > 10 }.
Оператор последовательностей выполняет «волшебное» сравнение в зависимости от типа соответствия. Это сравнение называется «умным соответствием» («smartmatching»), и эта концепция появляется во многих местах Perl 6. Примеры: Читать дальше →
Конференция Стачка, которую проводят в славном городе Ульяновске, уже давно полюбилась нашей команде в Microsoft. Не смогли мы пропустить ее и в этом 2015 году, став в очередной раз генеральным спонсоров этой замечательной конференции.
В этом году на Стачку заглянет наш замечательный коллега Лоран Эллербах из европейского офиса Microsoft, который занимает в компании должность ведущего руководителя программ по работе с технической аудиторией. Читать дальше →
Наверняка вам известно, что планеты движутся вокруг солнца по эллиптическим орбитам. Но почему? На самом деле, они двигаются по окружностям в четырёхмерном пространстве. А если спроецировать эти окружности на трёхмерное пространство, они превращаются в эллипсы.
На рисунке плоскость обозначает 2 из 3 измерений нашего пространства. Вертикальное направление – это четвёртое измерение. Планета движется по кругу в четырёхмерном пространстве, а её «тень» в трёхмерном движется по эллипсу.
Что же это за 4-е измерение? Оно похоже на время, но это не совсем время. Это такое особенное время, которое течёт со скоростью, обратно пропорциональной расстоянию между планетой и солнцем. И относительно этого времени планета двигается с постоянной скоростью по кругу в 4 измерениях. А в обычном времени его тень в трёх измерениях двигается быстрее, когда она находится ближе к солнцу. Читать дальше →
Недавно я начал делать очередной проект для мобильных устройств. Его побочным продуктом стало приложение, с помощью которого можно развернуть сетевую базу данных на любимом Android телефоне, планшете и т.п… Предлагаемое решение является сетевым провайдером SQLite базы данных.
Приложение многопользовательское, каждый пользователь имеет свою БД, которая недоступна другим пользователям. Код открытый, лицензия Apache 2.0.
Для демонстрации заявленных возможностей написано простое приложение которое позволяет делать SQL запросы на сервер и получать результаты их выполнения, его код рассмотрим здесь. Время освоения — 10 минут. Для тестирования достаточно одного устройства (если используется два и более, то необходимо WiFi подключение). Поехали!
Хочу поблагодарить Марию за помощь в подготовке иллюстраций.
On the other hand, cheap, rough paper with a beautifully set textblock hanging just so on the page makes those in the know, smile (and those who don’t, feel welcome). It says: We may not have had the money to print on better paper, but man, we give a shit. Giving a shit does not require capital, simply attention and humility and diligence. Giving a shit is the best feeling you can imbue craft with. Giving a shit in book design manifests in many ways, but it manifests perhaps most in the margins.
Должно быть, печать статей из Medium — банальность, но мы хотим сделать этот процесс красивым. Возможно, это дань памяти веку печати на бумаге и отчасти ностальгия (да-да, некоторые из нас когда-то создавали макеты печати страниц Medium, но прошло уже столько времени...). В конце концов, печать станиц относится к адаптивному дизайну. Практических способов применения тысячи, начиная от печати на память и вывешивания в рамочке и заканчивая передаче другу и выполнением последних правок перед публикацией. Должно быть, писатели часто так делают.
Но самая важная причина заключается вот в чем: мы уважаем труд наших писателей.
Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором, постоянно расширяющихся, инструментов разработчика, превратившим браузер в инструмент который вы обязаны иметь. Большинство из вас, вероятно, знакомы со многими его функциями, такими как «живое» редактирование CSS, используя консоль и отладчик. В этой статье мы с вами рассмотрим 15 захватывающих советов и хитростей, которые позволят улучшить вашу производительность еще больше. Читать дальше →
В минувшие выходные в Берлине прошел Media Hack Day — Connected Car. В рамках этого мероприятия несколько команд дизайнеров и разработчиков пытались найти место Интернету в наших автомобилях. В самом деле, сегодня за рулем мы можем рассчитывать лишь на радио и навигацию, а умные технологии вроде CarPlay от Apple и Android Auto только развиваются. При поддержке what3words, Spotify, TomTom, Der Spiegal, Bosch и других партнеров за выходные родилось несколько проектов, которые призваны сделать автомобили умнее. Читать дальше →
Навеяно публикацией «Понимая Docker», небольшой пример костылей вокруг докера для запуска веб-приложений.
Я пробовал разные технологии обвязок, но некоторые (fig) выглядят несколько корявыми для применения, а некоторые (kubernetis, mesos) — слишком абстрактными и сложными.
В моей конфигурации есть несколько машин, на машинах выполняются разнообразные веб-приложения, некоторые из них требуют наличия локального хранилища. В качестве базовой схемы примем конфигурацию из двух фронтендов и одного бекенда, ceph (ФС) обеспечивает роуминг данных для бекенда там, где это необходимо. Читать дальше →
Продолжаем делать полезные и не очень смарт/умные/bluetooth девайсы на ардуино. В предыдущих статьях я рассказывал как сделать bluetooth машинку, bluetooth вольтметр и bluetooth пульт для телевизора, а сегодня речь пойдет о создании более модного, но менее полезного девайса. Этот давайс позволяет постить в instagram показания термометра с указанием точного времени и места производимых замеров температуры. Сначала покажу как это выглядит и работает на видео, а подробное описание будет уже под катом.
Привет, Хабр! Правильнее было бы назвать этот пост «У нас есть классная партнёрская программа и крутой SDK для неё», но не хотелось делать длинный заголовок и сразу раскрывать все карты. Как бы там ни было, в этой публикации мы хотим рассказать про SDK наших сервисов, который каждый из вас может использовать в своих приложениях.
Почтовые рассылки являются эффективным инструментом для повышения продаж и маркетинговой поддержки проектов. Именно поэтому все больше компаний прибегает к использованию соответствующих инструментов для создания и осуществления рассылок.
В нашем сегодняшнем топике мы расскажем о том, как строится инфраструктура подобных сервисов, на примере проекта Pechkin-mail.ru. Читать дальше →
Работа и жизнь постоянно подбрасывают новые задачки, с каждым днём их количество умножается. Будет ли легче? Нет. Это – жизнь. Остается лишь придумывать подходящее решение или брать на вооружение имеющийся опыт. На Хабре не раз публиковались статьи и заметки об эффективной работе, управлении временем и прочих вещах. Некоторые советы я использую, некоторые – не получается. В принципе, более или менее четкий режим дня помогает быть эффективным и бодрым. Но не всегда получается начать день в запланированное время. Одна из причин – в темноте наш головной мозг выделяет гормон сна — мелатонин. Чтобы проснуться легко и быть бодрым нужен свет, который способствует уменьшению количества мелатонина в организме. И тогда просыпаешься бодрым и отдохнувшим. Но осенью и зимой светает поздно, а летом плотные шторы не впускают солнечные лучи в комнату. Да и раньше запланированного тоже вставать не хотелось бы, если говорить про лето. Так что берем тему под контроль и управляем рассветом в собственном доме самостоятельно, по индивидуальному графику, т.е. делаем светобудильник. И вот что получилось:
Недавно мы писали о том, что, несмотря на обилие существующих картографических сервисов, нам пришлось создавать свой. Конечно, мы внимательно оценили функционал имеющихся в то время на рынке систем. Не обошли мы своим вниманием и самый популярный в мире картографический сервис, Google Maps. Оказалось, что ему в этом году исполнилось 10 лет. И мы хотим отдать дань уважения этому проекту, сделав для вас перевод рассказа об истории становления Google Maps. Читать дальше →
Поговорим о том, как «подружить» или настроить Android и RAD Studio XE7 (или Delphi, или C++Builder, или AppMethod).
На самом деле вопрос не очень сложный, но часто поступающие на эту тему вопросы побудили меня написать этот пост. Читать дальше →
Рассмотрим одну нечисловую последовательность, основанную на использовании цепей Маркова в тексте. Следующий символ последовательности будет случайным образом определяться на основе двух предыдущих. Распределение следует шаблону, содержащемуся в исходном тексте.
use v6;
use List::Utils;
my $model-text = $*IN.slurp.lc;
$model-text .=subst(/<[_']>/, "", :global);
$model-text .=subst(/<-alpha>+/, " ", :global);
my %next-step;
for sliding-window($model-text.comb, 3) -> $a, $b, $c {
%next-step{$a ~ $b}{$c}++;
}
my $first = $model-text.substr(0, 1);
my $second = $model-text.substr(1, 1);
my @chain := $first, $second, -> $a, $b { %next-step{$a ~ $b}.roll.key } ... *;
say @chain.munch(80);
После инициализации в коде чётко видны три части. Читать дальше →
Интернационализация (internationalization, а для краткости — i18n, то бишь i, ещё 18 букв и n; по-русски это получится и17я) – такой способ создания приложений, при котором их можно легко адаптировать для разных аудиторий, говорящих на разных языках. Очень легко ошибиться, предполагая, что все ваши пользователи происходят из одной местности и пользуются одним языком – особенно, если вы даже не задумываетесь о том, что предполагаете именно это.
function formatDate(d)
{
// Все же пишут дату, как месяц/день/год. Правда ведь?
var month = d.getMonth() + 1;
var date = d.getDate();
var year = d.getFullYear();
return month + "/" + date + "/" + year;
}
function formatMoney(amount)
{
// Все деньги – это доллары, с двумя знаками после запятой. Ведь так?
return "$" + amount.toFixed(2);
}
function sortNames(names)
{
function sortAlphabetically(a, b)
{
var left = a.toLowerCase(), right = b.toLowerCase();
if (left > right)
return 1;
if (left === right)
return 0;
return -1;
}
// Имена всегда сортируются по алфавиту, не так ли?
names.sort(sortAlphabetically);
}
Героем этого обзора будет скромная система хранения данных DotHill 4824. Наверняка многие из вас слышали, что DotHill в качестве OEM-партнёра производит СХД начального уровня для Hewlett-Packard — те самые популярные HP MSA (Modular Storage Array), существующие уже в четвёртом поколении. Линейка DotHill 4004 соответствует HP MSA2040 с небольшими различиями, которые будут подробно описаны ниже.
DotHill — это классическая СХД начального уровня. Форм-фактор, 2U, два варианта под разные диски и с большим многообразием хостовых интерфейсов. Зеркалируемый кэш, два контроллера, ассиметричный active-active с ALUA. В прошлом году добавился новый функционал: дисковые пулы с трёхуровневым tiering'ом (ярусным хранением данных) и SSD-кэшом.