Архив за 14 апреля 2014 - 4

Предыстория

Существует красивое решение для создания надёжного недорогого кластера основанное на DRBD + Proxmox VE. Страница в Wiki проекта Proxmox появилась 11 сентября 2009-го года и создана она была CEO компании Martin-ом Maurer-ом.

Кэш на запись и DRBD: почему полезно знать подноготную

С тех самых пор это решение стало очень популярным, и никто не подозревал, что у этого решения есть скрытый подводный камень. В документации про это не пишут, а те, кто сталкивался с последствиями этой проблемы (например, зависание машины при онлайн миграции с одного хоста на другой), списывали всё на «случай». Кто-то грешил на железо, кто-то на Proxmox, а кто-то на драйверы внутри виртуальной машины. Конечно, хотелось бы, чтобы DRBD сам сообщал о своих проблемах, и, как-то подсознательно веришь в то, что он так и делает. Проверяешь /proc/drbd, видишь строку «cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate» и продолжаешь верить что DRBD не причём.
Читать полностью »

image

Привет всем хабражителям!

Наверняка, многим в детстве нравились машинки на радиоуправлении. Да и не только в детстве: я уверена, что и в возрастной категории 30+ найдётся масса любителей лихой езды в миниатюрном масштабе. Вот и я с детства мечтала о такой машинке, однако девочкам обычно дарят не машинки, а кукол, и моя мечта оставалась невоплощённой до недавнего времени. Но теперь я выросла, и простая радиоуправляемая машинка показалась мне достаточно скучной. И в один прекрасный день мне в голову пришла идея, как себя развлечь и заодно модернизировать машинку: я решила организовать её управление со смартфона по каналу WiFi.Читать полностью »

Минимализм удаленного взаимодействия на C++11 Некоторое время назад мной был опубликован пост о создании собственной системы плагинов на C++11 [1]. Где было рассказано о плагинах в рамках одного процесса. Есть желание дать возможность плагинам не зависеть от процесса и компьютера, на котором они исполняются. Сделать межпроцессное и удаленное взаимодействие. Для этого надо решить пару задач: создать наборы Proxy/Stub и предоставить транспорт для обмена данными между клиентом и сервером.

Во многих библиотеках, предназначенных для организации удаленного взаимодействия предлагается некоторый скрипт или утилита для генерации Proxy/Stub из некоторого описания интерфейса. Так, например для libevent [2] при использовании ее части, связанной с RPC, есть скрипт event_rpcgen.py, который из С-подобного описания структур генерирует код для Proxy/Stub, а транспортом уже служит другая часть libevent. Так же gSOAP [3] предоставляет утилиту генерации кода из C++-подобного описания структур данных или из WSDL-описания и имеет свой встроенный транспорт, который можно использовать. gSOAP хороший и интересный продукт и в нем применение утилиты автогенерации кода оправдано, т. к. из C++-подобного описания можно сгенерировать WSDL-описание, которое уже может быть использовано при работе с Web-сервисами из других языков программирования.

Можно найти еще несколько примеров библиотек для построения клиент-серверного взаимодействия. Многие из них будут предлагать использовать те или иные механизмы генерации Proxy/Stub и свой встроенный транспорт.

Как можно взять за основу любой известный транспорт и отказаться от утилит генерации кода Proxy/Stub, возложив эту задачу на компилятор и воспользоваться преимуществами C++11 для создания объектного интерфейса удаленного взаимодействия с минимальными трудозатратами его использования? О принципах и реализации в виде законченного проекта, который может быть использован как библиотека при разработке своего клиент-серверного приложения изложены ниже.
Читать полностью »

Конфигурирование директивы Angular на лету с помощью COLT и Emmet

У Emmet есть классная команда — инкрементировать значение в JS/HTML/CSS с шагом 1, 0.1, 10.
При запуске livecoding сессии COLT и новой фичей рекомпиляциии Angular директив на лету, получается настоящий визуальный редактор прямо в браузере.
Читать полностью »

в 11:04, , рубрики: Без рубрики

image

До старта форума PHDays IV остается совсем немного. Уже определены финалисты соревнований CTF, полным ходом идет формирование программы (части 1 и 2) и подготовительные работы в рамках инициативы PHDaуs Everywhere. Но конечно, этим дело не ограничится и, помимо интереснейших докладов и мастер-классов, гостей форума ждет увлекательная конкурсная программа.Читать полностью »

Так сложилось, что я много вижу разных решений с использованием того или иного шаблона проектирования и все с хитрыми приемами в попытке подогнать под один из шаблонов, будь то MVVM или MVC, или что-н еще.
Предлагаю на обсуждение реализацию нового шаблона, который подойдет на все случаи жизни и, надеюсь, стандартизирует разработку всех разработчиков.
Излагаю кратенько, но конструктивно (дорожу временем).
Читать полностью »

Детьми мы «препарируем» свои игрушки, чтобы посмотреть, как они устроены. Когда вырастаем, у многих из нас привычка копнуть глубже переходит в пристальное «рассматривание» себя и себе подобных, и мы становимся психологами, хирургами или, на худой конец, самоедами. Еще мы готовы вглядываться бесконечно в объекты своей любви и интереса…Сегодня мы предлагаем вам соединить нашу страсть к сканерам и вашу исследовательскую активность. Надеемся, вам понравится.

Итак, это скоростной документный сканер.
Читать полностью »

image
Фотография с тренировочного тура

Всем привет!

Меня зовут Егор, я участник заключительного этапа всероссийской олимпиады школьников 2014. После того как я приехал домой, выспался, я включил свой ноут и захотел почитать на хабре, что написали об олимпиаде, но к сожалению здесь было пусто, собственно, после этого я решил и пост написать. В этом посте я расскажу о впечатлениях и о том, что было на олимпиаде.Читать полностью »

По поручению известного автора Дмитрия Ландэ (например, «Поиск знаний в Internet», Интернетика. Навигация в сложных сетях: модели и алгоритмы) публикую одну из последних его работ.

В настоящее время актуальными являются задачи построения онтологий по определенным областям знаний. Очевидно, построение большой отраслевой онтологии – сложная проблема, которая требует больших ресурсных затрат. В любом случае, определенным этапом построения общих онтологий является построение соответствующих тезаурусов, терминологических онтологий.
Создание сетей терминов на основе анализа текстов
Читать полностью »

Idea Camp: эволюция коммуникаций

Многие учёные склоняются к мысли, что только коммуникативная мутация, или биологическое наследование признаков, без которых невозможно владение языком (устройство речевого аппарата, предполагающее развитую фарингальную полость; развитие речевых зон левого полушария, и особенно лобной доли, обеспечивающей сложные синтаксические построения, и семантических зон правого полушария), закрепляющееся с каждым новым поколением, и развивающие социальные навыки Homo Sapiens, позволило выжить и пережить «соседнюю» ветку — Homo neanderthalensis.

Несмотря на то, что у неандертальцев объём черепной коробки был даже больше, чем у нас с вами (1400—1600 куб. см. и выше), отсутствие развитого речевого аппарата не позволило им выжить в эволюционной борьбе.

Миллионы лет эволюции подарили нам уникальные коммуникативные способности, богатый язык и эмоции.

Мы уверены, что эволюция смартфонов движется по тому же принципу: только те устройства, которые смогут быть наиболее приспособленными к коммуникационным мутациям нашего общества, не вымрут и получат своё дальнейшее развитие.

В рамках Idea Camp мы постарались нащупать направления этого развития, что позволят следующему поколению наших смартфонов расширить коммуникативные (и не только) способности своих владельцев.
О том, как это проходило, читайте под катом.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js