Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.
Исходная информация - http://habrahabr.ru/. Данный дневник сформирован из открытого RSS-источника по адресу http://habrahabr.ru/rss/, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты. По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.[Обновить трансляцию]
Представьте себе высокоуровневый язык, в котором не нужно указывать КАК получить результат, вместо этого нужно просто указать ЧТО вы хотите получить. При этом область применения языка не ограничена и язык способен решать те же задачи, что и любой другой высокоуровневый язык, наподобие JAVA. Кажется фантастикой, не правда ли? Однако такой язык есть и называется он PROLOG. Посмотрим как PROLOG справляется с этой задачей на примере загадывания прологу некоторых загадок и попросим PROLOG выдать доказательство теоремы.
Покупка компанией Lenovo части серверного подразделения IBM стала одной из самых громких новостей на IT-рынке за последнее время. Ну а для нас это и вовсе событие номер один в 2015 году. Как обещали ранее, спешим поделиться всей актуальной информацией – под катом находится FAQ с ответами на ваши вопросы.
Бизнес IBM по производству серверов на архитектуре х86 – не первая крупная покупка Lenovo. Это часть нашей глобальной стратегии, которая очень прозрачна: мы последовательно добиваемся целей, укрепляя бренд и делая его всё более глобальным. Например, вспомним 2011 год, когда стояла задача повысить своё присутствие в западноевропейской рознице: тогда был куплен Medion. Понадобилось усилить направление смартфонов – мы заключили сделку с Motorola. Историю с той же IBM и ноутбуками ThinkPad все тоже, конечно же, знают. Читать дальше →
Идея в следующем. Чтобы не было разыменования нулевого указателя, нужно, чтобы не было нулевого указателя. Ваш КО. Так сложилось, что однажды я исправил небольшую проблему в ядре Linux, но это была не текущая ветка ядра, а стабильная. В текущей, на тот момент, эту проблему тоже исправили, но по другому. Читать дальше →
Одним из ключевых моментов в разработке xaml-ориентированных приложений является использование привязок (Bindings). Привязка — это медиатор (посредник), с помощью которого синхронизируются значения свойств между связанными объектами.
Стоит отметить не очевидный, но важный нюанс: хотя привязка так или иначе ссылается на взаимодействующие объекты, она не удерживает их от сборки мусора!
Наследование от класса Binding разрешено, но в целях безопасности кода переопределение метода ProvideValue, который связан с основной логикой работы, не допускается. Это так или иначе провоцирует разработчиков на применение паттерна Converter, который тесно переплетается с темой привязок.
Привязки очень мощный инструмент, но в некоторых случаях их декларирование получается многословным и неудобным при регулярном использовании, например, для локализации. В этой статье мы разберём простой и элегантный способ, делающий код намного более чистым и красивым. Читать дальше →
Этим материалом мы открываем цикл статей, посвященных технологии Shared DAS и ее использованию в ОС GNU\Linux.
В первой статье цикла описывается создание простейшего двух-узлового кластера высокой надежности и создание на его базе отказоустойчивой iSCSI-СХД с ZFS.
Недавно мне было нужно расшифровать карточные данные из считывателя магнитных дорожек. Казалось бы, это просто. Беру ключ и выполняю определенный алгоритм расшифровки. Но не тут-то было.
Оказалось, мои считыватели используют схему известную как DUKPT (Derived Unique Key Per Transaction — Определение Уникального Ключа На Транзакцию). Идея этой схемы состоит в том, что для каждой транзакции (или в нашем случае для каждого проката карты) данные шифруются с использованием ключа вычисленного для отдельного проката карты.
Таким образом, чтобы расшифровать данные, которые были зашифрованы с использованием этой схемы, вы должны уметь вычислять ключ для отдельного проката карты. Процесс вычисления такого ключа (сессионного ключа) далеко не простой. Читать далее
В прошлой публикации я рассказал, как сделать начинку для светобудильника на основе Arduino.
Сегодня же поделюсь описанием другого простого решения. Дело в том, что захотелось создать на 3D-принтере что-то для себя, индивидуальное, личное, не слишком примитивное, и что бы радовало. Была выбрана идея — сделать наручные часы. И польза от них есть, и выглядят необычно. В итоге сделал все на одном дыхании и всего за несколько часов. Получился неплохой аксессуар. Судите сами.
Не так давно в блоге разработчиков этой JavaScript библиотеки появился пост о релизе новой версии за номером 2.3. Обновления это хорошо, спору нет. Но, глядя в окно на позднемартовскую улицу, становится не вполне понятно, что же выбрать: разбираться с новыми доступными возможностями или же вместо этого неторопливо прогуливаться под неокрепшим еще весенним солнцем, отмечая подспудно скорое уже пришествие долгожданного лета и вдыхая жадно всем нутром своим разлитый повсюду запах весны и оживления? Вопрос непростой. Нужно разбираться.
На прошлой неделе Nutanix объявил для региона EMEA (а значит и для России) специальную промо-программу для SMB-сегмента рынка, которая называется Nutanix Discovery Kit.
По этой программе мы предлагаем специальные цены на модели, наиболее интересные для небольшого бизнеса. И эти цены настолько специальны, что позволят познакомиться с технологиями Nutanix даже тем, кто до сих пор считал, что с его-то бюджетами ему «светит» разве что российский серверный самосбор.
Но сперва о том, что же такое Discovery Kit. Читать дальше →
Что можно делать субботней апрельской ночью? Вариантов, конечно, масса, но мы предлагаем еще один — наверняка, самый оригинальный. Всего одну ночь, с 3 на 4 апреля, компания Microsoft при участии Intel устраивает интеллектуальную вечеринку для программистов — хакатон по разработке решений для Интернета вещей на базе платформы Intel® Galileo и облачного сервиса Microsoft Azure. Читать дальше →
Ранее я писал о двух известных сканерах безопасности общего плана rkhunter и CentOS
На “Хабре” так же есть описание организации работы сканера для вебхостинга — maldet. Теперь хотелось бы рассмотреть реализацию приложения для эвристического обнаружения уязвимостей, вирусов и ботнетов для OpenVZ ОС Linux — Antidoto.
Прочитав статью «Вычислите длину окружности», которая, в общем-то, крайне позабавила меня своим стилем, и узнав для себя кое-что новое, я стал несколько сомневаться в достаточной подробности предложенной информации. Всё-таки компиляторов довольно много, систем тоже немало, а в статье как-то навеяно Windows и Visual Studio (на правах ИМХО). Читать дальше →
В предыдущих публикациях мы уже неоднократно рассказывали об утилитах, которые могут быть использованы для работы с нашим облачным хранилищем (1 и 2). В одной из статей мы уже упоминали утилиту Cyberduck — удобный файловый менеджер для MacOS, Linux и Windows, работающий с протоколами FTP, SFTP, WebDAV, OpenStack Swift и AmazonS3. С нашего официального сайта можно также скачать профиль, с помощью которого Cyberduck автоматически конфигурируется для работы с нашим облачным хранилищем.
Пользователи в большинстве своём знакомы с графической версией Cyberduck. Совсем недавно появилась и консольная версия. В этой статье мы расскажем о её возможностях и покажем, как её можно использовать для работы с хранилищем. Читать дальше →
23derevo перед выступлением на Mobius попросил рассказать меня немного о процессе клиентской разработки в Zeptolab.
Начну с того, что мы пишем на C++ и на своём фреймворке, от любого клиентского устройства нам нужен только контекст OpenGL. Дальше мы с нуля строим свой интерфейс, свои контролы и так далее. Соответственно, чтобы взять девелопера в команду, в теории, ему достаточно знать плюсы. На практике это немного не так.
Ветрогенератор, контейнер с батареями, геозонд и базовая станция в Самаре
Примерно 3 года назад мы начали эксперимент по обеспечению базовых станций энергией из источников на месте. Уже через полгода стало понятно, что геозонд для базовых станций — очень полезная вещь в средней полосе, солнечные батареи зеленоградского завода замечательно себя показывают, но главная проблема — не в получении энергии, а в её преобразованиях и накоплении.
Расскажу про сломанные ветряки и то, что мы поняли за три года, и уникальный геозонд для охлаждения стойки с оборудованием связи. Читать дальше →
Достаточно часто встречается необходимость связать вместе несколько разнородных систем, либо обеспечить их синхронизацию. Конечно, случаи бывают разные и уникальные, однако, написание собственного решения, как правило, достаточно затратно, как по времени, так и по ресурсам.
Среди серьезных компании, пожалуй, можно выделить облачные решения от Amazon (SQS) и Microsoft (Service Bus). Однако, несмотря на бурное развитие Public Cloud, такие решения не всегда применимы, что называется On-Premises. Иными словами, есть потребность в таких решениях, но на собственных закрытых площадках. В связи с этим, Microsoft сделали грамотный шаг, сделав доступным Service Bus в Private Cloud, или как минимум на одной машине с установленной Windows 7 и выше. В версии Service Bus 1.0 было доступно управление через PowerShell, а с релизом 1.1 появилась возможность интеграции в консоль Azure Pack.
В этой статье я постараюсь описать процесс настройки Service Bus for Windows Server максимально подробно, в картинках. Так как лучше один раз увидеть процесс полностью, чем несколько раз прочитать по частям в разных источниках.
Когда-то, впервые встретив Unix, я был очарован логической стройностью и завершенностью системы. Несколько лет после этого я яростно изучал устройство ядра и системные вызовы, читая все что удавалось достать. Понемногу мое увлечение сошло на нет, нашлись более насущные дела и вот, начиная с какого-то времени, я стал обнаруживать то одну то другую фичу про которые я раньше не знал. Процесс естественный, однако слишком часто такие казусы обьединяет одно — отсутствие авторитетного источника документации. Часто ответ находится в виде третьего сверху комментария на stackoverflow, часто приходится сводить вместе два-три источника чтобы получить ответ на именно тот вопрос который задавал. Я хочу привести здесь небольшую коллекцию таких плохо документированных особенностей. Ни одна из них не нова, некоторые даже очень не новы, но на каждую я убил в свое время несколько часов и часто до сих пор не знаю систематического описания.
Все примеры относятся к Linux, хотя многие из них справедливы для других *nix систем, я просто взял за основу самую активно развивающуюся ОС, к тому же ту, которая у меня перед глазами и где я могу быстро проверить предлагаемый код.
Обратите внимание, в заголовке я написал «плохо документированные» а не «малоизвестные», поэтому тех кто в курсе прошу выкладывать в комментариях ссылки на членораздельную документацию, я с удовольствием добавлю в конце список. Читать дальше →
Итак, вы работаете на Java с самого её появления? Вы помните те дни, когда она называлась «Oak», когда про ООП говорили на каждом углу, когда сиплюсплюсники думали, что у Java нет шансов, а апплеты считались крутой штукой?
Держу пари, что вы не знали как минимум половину из того, что я собираюсь вам рассказать. Давайте откроем для себя несколько удивительных фактов о внутренних особенностях Java. Читать дальше →
Это третья часть эксперимента по созданию системы распознания мошеннических платежей (antifraud-система). Целью является создание доступного (в плане стоимости разработки и владения) antifraud-сервиса, который позволит сразу нескольким участникам проведения online-платежей – мерчантам, агрегаторам, платежным системам, банкам – снизить риски проведения мошеннических платежей (fraud) через их площадки.
В прошлой части мы сфокусировали внимание на функциональных и нефункциональных требованиях к антифрод-сервису. В этой части статьи рассмотрим программную архитектуру сервиса, его модульную структуру и ключевые детали реализации такого сервиса.