Хабрахабр:
Уже едва ли кто-либо в мире сомневается, что будущее персональных компьютеров заключается в их мобильности. По крайней мере, всего лишь за последний год появилось сразу несколько альтернатив существующим мобильным платформам, которые, по заявлению их создателей, предназначены быть, как минимум, альтернативами сегодняшним грандам ? Android и iOS. Так, в начале прошлого года стало известно об открытом проекте Tizen, объединившем под крылом Intel и Linux Foundation ранее погибшие Meego и LiMo. Затем, ближе к концу года, усилились слухи о проекте Mozilla Boot to Gecko, которыя и была продемонстрирована на WMC 2012 в виде уже работающей системы на смартфоне. И вот, наконец, Canonical ? производитель одного из самых популярных Linux-дистрибутивов ? представив недавно свой продукт для мобильности пользователей Ubuntu For Android, объявила, что к концу 2013 закончит разработку своей мобильной платформы, специально предназначенной для смартфонов и планшетов. Узнать подробности
Привет Хабравчанам! В этой статье я хочу рассказать о том, как налажена интеграция с платформой 1С в моей организации. Побудило меня это сделать практически полное отсутствие технической информации на эту тему. Читая различные статьи и доклады на тему связки 1С с какой-либо информационной системой, раз за разом убеждаешься, что все они носят маркетинговый, демонстрационный характер, и никогда ? технический, отражающий проблему и суть ее решения. Предупреждаю, что способ ни в коем случае не претендует на универсальность. Поскольку самих конфигураций 1С существует немало, а информационных систем, языков и платформ ? еще больше, то количество возможных комбинаций огромно. Моя цель ? продемонстрировать одно из возможных решений. Читать дальше →
Создавая новый проект на Django, ты в очередной раз лезешь изменять конфигурации своего web-сервера. И вроде бы ничего страшного, да только конфигурации ты меняешь уже чаще, чем выгуливаешь свою собаку. Как-то не правильно? Согласен (собака, думаю, тоже не возражает). Выход ? виртуальный хостинг. Изучив пару статей в Интернете, ты забиваешь конфигурации своих сайтов в httpd-vhosts.conf. И какое-то время даже радуешься этому. Проходит время и на локальном хосте у тебя уже не два с половиной сайта, а десятки проектов (пусть даже небольших). И, открывая в очередной раз httpd-vhosts.conf, чтобы добавить какую-нибудь опцию, ты начинаешь думать ?А был ли мальчик??, действительно ли ты создавал этот сайт? Ведь в такой окрошке из проектов уже нелегко что-либо отыскать. А если еще учесть, что половина проектов взаимодействует с web-сервером при помощи модуля mod_python, а другая ? при помощи модуля mod_wsgi, например, тогда вообще становится грустно работать. Да и жить тоже становится грустно (а уж как ваша собака то у дверей грустит). Тут я попробую рассказать, как сделать виртуальный хостинг более дружелюбным, а заодно и как настроить вышеупомянутые модули (mod_python и mod_wsgi). Я не думаю, что открываю Америку своими соображениями на этот счет. Но, буду рад, если кому-нибудь мои примеры помогут уменьшить время, потраченное на настройку данной конфигурации, и провести его с большей пользой для себя (или для своей собаки). Читать дальше →
Доброго всем хабрадня! Сегодня я хочу рассказать об одном из методов синхронной и асинхронной загрузки изображения из сети. Чтобы статья была не скучной, загруженные изображения мы попробуем каким-либо образом обработать средствами Qt. Как будем загружать? Для загрузки изображений мы будем использовать QNetworkAccessManager и QEventLoop, а так же немного мета-объектов. Загружать будем по HTTP изображение в любом формате, из поддерживаемых Qt. Ну, ещё будем обрабатывать редиректы. Как обрабатывать-то будем? Есть замечательный класс QGraphicsEffect с подклассами. Но мы с ними работать в рамках данной статьи не будем, смиритесь! И я даже объясню почему. К примеру, в Qt 4.8.0 эти эффекты ведут к крашу приложения в Mac OS X 10.7.+, а в Qt 4.7.4 в той же системе они вообще не работают. Уж не знаю, как так вышло, но багу в багтрекере Qt я поставил. Значит, будем создавать свой класс для обработки изображений. Он будет у нас уметь слудющее: Переводить изображение в оттенки серого Колоризировать (как это по русски-то сказать?) Добавлять тень Менять прозрачность Вращать вокруг центра Квадратизировать Квадратизировать со скруглением углов Как бонус, научимся считывать пользовательские цвета в формате #RRGGBBAA Сразу отмечу, что полный код тестового проекта можно скачать на гитхабе, ссылка в конце статьи. Поехали!
Приветствую, коллеги. Вопрос автоматических сканеров безопасности стоит весьма остро на ?корпоративном? рынке услуг. Конечно, кому же хочется проверять тысячи хостов вручную? Поскольку спрос рождает предложение, вы можете найти их на любой вкус, цвет и бюджет. Они призваны решать одни и те же цели: комплайнс-менеджмент. Тем самым сэкономить корпорации огромное количество денег при массовой стандартизации PCI DSS и подобным стандартам. Они все такие разные, но все же у них есть одна общая черта: полнейшая анархия и разброд в формате отчетов, результатов инвентаризации и контента для обновления. Как каждая группа программистов придумала, так и было сделано. Такая ситуация привод к тому, что сравнить сканеры безопасности становится чрезвычайно трудоемко. А разговора о том, что бы использовать накопившиеся за время использования продукта ?А? данные при переходе на продукт ?Б? не может быть и речи. Как же: куда не сунься, везде ?коммерческая тайна? да ?интеллектуальная собственность?. Решение, уважаемый мой читатель, очевидно: стандартизация входных и выходных форматов на всех этапах деятельности сканера. Именно это и описано в стандарте Open Vulnerability and Assessment Language (OVAL?) Читать дальше →
Интересный плагин Collusion за авторством Mozilla (выпущенный, видимо, для ненавязчивой популяризации инструмента Do Not Track) позволяет в реальном времени посмотреть историю своего серфинга в интернете и увидеть, какие сайты успевают мимоходом установить свои cookie, даже без, собственно, их посещения и связь между ними. История посещений выглядит на интерактивный граф, строящийся в реальном времени (причём добавлены некие motion-эффекты, поддерживается перетаскивание) ? для наглядности обозначения сайта используется его favicon. Аддон оставляет свой значок в правом нижнем углу браузера, клик по которому и вызывает страницу с ним. Вот так у меня выглядит граф после посещения Хабра: Также есть любопытная особенность ? граф можно экспортировать в JSON-формате. {"jid1-f9uj2thwoam5gq-at-jetpack":{"referrers":{},"visited":true},"habrahabr.ru":{"referrers":{},"visited":true},"adriver.ru":{"referrers":{"habrahabr.ru":[22449,"text/html"]},"visited":false},"imageshack.us":{"referrers":{"habrahabr.ru":[39478,"image/jpeg"]},"visited":false},"tns-counter.ru":{"referrers":{"adriver.ru":[39583,"image/gif"]},"visited":false},"yandex.ru":{"referrers":{"habrahabr.ru":[49528,"image/png"]},"visited":false}} Скачать аддон и посмотреть как он выглядит (даже без установки ? сделан как SVG-графика) можно тут.
В позавчерашнем выпуске ?Mozilla Hacks Weekly? увидал гиперссылку ?Morris.js?, пошёл по ней, почитал, порадовался ? а теперь и вам поведаю. Morris ? это легковесный джаваскрипт (всего-то 3052 байта после миниатюризации) с открытым исходным кодом (распространяемым по упрощённой лицензии BSD), который для работы требует jQuery и Rapha?l и строит с их помощью графики на простой сетке горизонтальных линий, наподобие такого: По оси абсцисс откладывается время, по оси ординат ? какие-нибудь зависящие от времени значения. (Morris изначально разрабатывался для сайта, показывающего общее число автомашин той или иной марки в Великобритании, так что для него естественно, что ось абсцисс ? это ось времени.) Графики реагируют на мышь: вспучиваются точки, соответствующие указанному мышью моменту во времени, и подле них появляются подсказки. Достоинство скрипта ? простота API. Приведённый мною пример создаётся вот таким вызовом: // поквартальные данные, тонкие линии, цвета их заданы в явном виде Morris.Line({ element: 'quarterly', data: [ {q: '2009 Q3', a: 100, b: 75}, {q: '2010 Q2', a: 75, b: 50}, {q: '2010 Q3', a: 75, b: 50}, {q: '2011 Q1', a: 50, b: 25}, {q: '2011 Q3', a: 50, b: 25}, {q: '2011 Q4', a: 75, b: 50}, {q: '2012 Q2', a: 100, b: 75} ], xkey: 'q', ykeys: ['a', 'b'], labels: ['Series A', 'Series B'], lineColors: ['#167f39','#044c29'], lineWidth: 2 }); Читать дальше →
Отписаться от этой рассылки