RSS
Pages: 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 210
[>] Пешеходный роутинг — новый вызов для OpenStreetMap
habra.15
habrabot(difrex,1) — All
2015-08-27 13:00:04


![][1] Вокруг пешеходной навигации и сообщества открытых карт сложилась интересная ситуация. Пешеходные картографические данные OSM уже уникальны. Ни один поставщик в мире сейчас не способен предоставить такого количества тротуаров, переходов и троп, которое есть у OpenStreetMap. Но вместе с тем до удобного промышленного использования этих данных ещё очень далеко. В результате OSM и его сообществу снова придется пройти испытание на прочность. [Читать дальше →][2]

[1]: https://habrastorage.org/files/f10/0c6/a10/f100c6a108b84044b0d8d4f07e096182.png
[2]: http://habrahabr.ru/post/265249/#habracut

[>] [Из песочницы] Немного о том, как не надо защищать учетные записи в Active Directory
habra.14
habrabot(difrex,1) — All
2014-12-22 15:30:02


Написать этот текст меня побудило периодическое появление на Хабре статей администраторов Windows, авторы которых, на мой взгляд, не очень хорошо понимают, что делают. Последний из таких постов — [о защите служебных учетных записей][1]. Прежде всего хочется сказать следующее — уважаемые коллеги, защита учетных записей — хотя и типовая, но ни в коем случае НЕ простая задача, особенно для среднего системного администратора, не являющегося специалистом по информационной безопасности. Если вам повезло и вы попали в организацию, где все регламенты и процессы разработаны до вас — вам, конечно, будет довольно просто воспользоваться плодами чужого труда. Но если всё, что у вас есть на руках — свежеподнятый (или, что ещё хуже, поднятый не пойми кем и как) домен AD и гугл, не стоит подходить к задаче в стиле «прочитаю Best practices, сделаю как там пишут, и всё будет пучком». [Читать дальше →][2]

[1]: http://habrahabr.ru/post/246189/
[2]: http://habrahabr.ru/post/246447/#habracut

[>] [Перевод] Привязка ресурсов в Microsoft DirectX 12
habra.15
habrabot(difrex,1) — All
2015-08-27 14:00:03


![][1] 20 марта 2014 года корпорация Microsoft объявила на конференции Game Developers Conference о выпуске DirectX\* 12. За счет сокращения избыточной обработки ресурсов DirectX 12 будет способствовать более эффективной работе приложений и снижению потребления электроэнергии, благодаря чему можно будет дольше играть на мобильных устройствах без подзарядки. На конференции SIGGRAPH 2014 специалисты Intel [измерили][2] потребляемую мощность ЦП при запуске простого демо с астероидами на планшете Microsoft Surface\* Pro 3. Демонстрационное приложение можно переключать с API DirectX 11 на API DirectX 12 нажатием кнопки. Это демонстрационное приложение рисует огромное количество астероидов в космосе при фиксированной кадровой скорости. При использовании API DirectX 12 API потребляемая мощность ЦП снижается более чем вдвое по сравнению с DirectX 11\*\*. Устройство работает в менее интенсивном тепловом режиме и способно дольше проработать от аккумулятора. В типичных игровых сценариях всю незадействованную мощность ЦП можно израсходовать на улучшение физики, искусственного интеллекта, алгоритмов поиска путей или других задач с интенсивной нагрузкой на ЦП. Таким образом, игра становится более мощной по функциональности или более экономичной с точки зрения потребления электричества. [Читать дальше →][3]

[1]: https://habrastorage.org/files/198/868/11b/19886811b90c442e874bd27c2a55ceb5.png
[2]: https://software.intel.com/en-us/blogs/2014/08/11/siggraph-2014-directx-12-on-intel
[3]: http://habrahabr.ru/post/265525/#habracut

[>] [Из песочницы] Yet another AOP in .NET
habra.14
habrabot(difrex,1) — All
2014-12-22 16:30:02


У многих .NET разработчиков, использовавших в своей практике WPF, Silverlight или Metro UI, так или иначе возникал вопрос «а как можно упростить себе реализацию интерфейса INotifyPropertyChanged и свойств, об изменениях которых нужно сигнализировать?». Самый простой «классический» вариант описания свойства, поддерживающего оповещение о своем изменении, выглядит так: [Читать дальше →][1]

[1]: http://habrahabr.ru/post/246469/#habracut

[>] GPS: глушилки, спуфинг и уязвимости
habra.15
habrabot(difrex,1) — All
2015-08-27 14:00:03


![][1] _Династия GPS-спуферов за работой_ Я писал, как [угоняли дронов][2], «взламывая» их GPS, наткнулся на замечательного персонажа — Тодда Хампфриса — который не только воспроизвел «угон беспилотника», но и побудил студентов «угнать» яхту. **GPS Spoofing** Spoofing атака на GPS — атака, которая пытается обмануть GPS-приемник, широковещательно передавая немного более мощный сигнал, чем полученный от спутников GPS, такой, чтобы быть похожим на ряд нормальных сигналов GPS. Эти имитировавшие сигналы, изменены таким способом, чтобы заставить получателя неверно определять свое местоположение, считая его таким, какое отправит атакующий. Поскольку системы GPS работают измеряя время, которое требуется для сигнала, чтобы дойти от спутника до получателя, успешный спуфинг требует, чтобы атакующий точно знал, где его цель — так, чтобы имитирующий сигнал мог быть структурирован с надлежащими задержками сигнала. Атака спуфинга GPS начинается, широковещательно передавая немного более мощный сигнал, который указывает корректную позицию, и затем медленно отклоняется далеко к позиции, заданной атакующим, потому что перемещение слишком быстро повлечет за собой потерю сигнальной блокировки, и в этой точке spoofer станет работать только как передатчик помех. Одна из версий захвата американского беспилотника Lockheed RQ 170 в северо-восточном Иране в декабре 2011, это результат такой атаки. Spoofing GPS был предсказан и обсужден в сообществе GPS ранее, но никакой известный пример такой вредоносной атаки спуфинга ещё не был подтвержден. Под катом несколько полезных видео со сценариями атак на GPS, анализ криптографических решений, используемых в навигации, обнаружители глушилок, спуферов, ну и обзор нескольких портативных GPS-глушилок, которые я поразбирал в Хакспейсе. [Читать дальше →][3]

[1]: https://habrastorage.org/files/102/c63/ed3/102c63ed3f7e4de68c9b08e797d749d6.jpg
[2]: http://habrahabr.ru/company/neuronspace/blog/254685/
[3]: http://habrahabr.ru/post/254877/#habracut

[>] Защита переговоров. Антижучки и индикаторы поля
habra.15
habrabot(difrex,1) — All
2015-08-27 14:00:03


![][1] _Примеры найденных жучков (источник фото: Интернет)_ Дело было еще во Владивостоке. Знакомые, владельцы турфирмы, рассказали, что однажды уборщица их спросила: «А почему вечером, когда все уходят, у вас сверху, на шкафу что-то мигает?». Полезли на шкаф, а там — чуть ли не автомобильный аккумулятор и рация, прикрученная синей изолентой. Вот такой суровой бывала дальневосточная прослушка. Я узнал, что компания [detsys.ru][2] проводит у себя бесплатное обучение по пользованию индикаторами поля и попросил у них на недельку три экземпляра антижучков и еще парочку имитаторов сигналов для проверки работоспособности поисковой техники, для того чтобы повозиться с ними в Хакспейсе. Под катом немного исторических примеров прослушки и доступные способы самостоятельной проверки своих помещений. _(Если ваши далекие знакомые сталкивались с обнаружением и, не дай бог, с установкой жучков, поделитесь в комментах)_ [Читать дальше →][3]

[1]: https://habrastorage.org/files/b8f/043/7da/b8f0437da8f74a6d86e2e77faa463e73.jpg
[2]: http://www.detsys.ru/catalog/ustrojstva-zashhity-peregovorov/sredstva-obnoruzhenya-kanalov-utechki-informacii/?filter=65,66,67,68
[3]: http://habrahabr.ru/post/265457/#habracut

[>] Высокая готовность облака HP Helion OpenStack
habra.15
habrabot(difrex,1) — All
2015-08-27 15:00:02


При переносе бизнес-критичных приложений в облако необходимо обеспечить их непрерывную работу и защитить их от сбоев на уровне оборудования или программного обеспечения. При использовании классических серверных технологий для высокой доступности используются отказоустойчивые кластеры и резервирование основных компонентов серверов и систем хранения, устраняющее единичные точки отказа. Посмотрим, как высокая доступность реализована в облаке HP Helion OpenStack. [![][1]][2] Высокая доступность в облачной среде HP Helion OpenStack реализуется по трем направлениям: высокодоступные облачные сервисы, отказоустойчивая инфраструктура облака и поддерживающие облачные технологии нагрузки «арендаторов» (tenant) облака, т.е. сервис-провайдеров, предоставляющие услуги облака конечным пользователям. [Читать дальше →][3]

[1]: http://habrastorage.org/files/f2c/d80/94b/f2cd8094b2bb4049a3f012e65a63b18e.png
[2]: http://habrahabr.ru/post/249879/
[3]: http://habrahabr.ru/post/249879/#habracut

[>] «Пришел поесть, а остался учиться в Техносфере». Истории студентов наших образовательных проектов
habra.15
habrabot(difrex,1) — All
2015-08-27 16:30:03


Перед 1 сентября я решил рассказать о наших образовательных проектах — [Технопарке][1] и [Техносфере][2] — с новой точки зрения. О продукте проще и, наверное, правильнее всего судить по отзывам пользователей. Для этой статьи я собрал мнения наших выпускников — «пользователей» Техносферы и Технопарка — и предлагаю их вам «as is». Это ответы на 10 вопросов о наших проектах, которые, как мне кажется, лучше расскажут о них, чем я сам. Ниже — истории о том, как студент пришел в университет поесть пельменей, а остался учиться в Технопарке; о том, что заставляет вставать рано утром в субботу, когда университетских занятий нет; о том, как в Технопарке и Техносфере начинается карьера и как в «большой айтишной каше» найти свою команду.



[Читать дальше →][3]

[1]: http://habrahabr.ru/company/mailru/blog/250219/
[2]: http://habrahabr.ru/company/mailru/blog/253441/
[3]: http://habrahabr.ru/post/265463/#habracut

[>] «Пришел поесть, а остался учиться в Технопарке». Истории студентов наших образовательных проектов
habra.15
habrabot(difrex,1) — All
2015-08-27 18:30:03


Перед 1 сентября я решил рассказать о наших образовательных проектах — [Технопарке][1] и [Техносфере][2] — с новой точки зрения. О продукте проще и, наверное, правильнее всего судить по отзывам пользователей. Для этой статьи я собрал мнения наших выпускников — «пользователей» Техносферы и Технопарка — и предлагаю их вам «as is». Это ответы на 10 вопросов о наших проектах, которые, как мне кажется, лучше расскажут о них, чем я сам. Ниже — истории о том, как студент пришел в университет поесть пельменей, а остался учиться в Технопарке; о том, что заставляет вставать рано утром в субботу, когда университетских занятий нет; о том, как в Технопарке и Техносфере начинается карьера и как в «большой айтишной каше» найти свою команду.



[Читать дальше →][3]

[1]: http://habrahabr.ru/company/mailru/blog/250219/
[2]: http://habrahabr.ru/company/mailru/blog/253441/
[3]: http://habrahabr.ru/post/265463/#habracut

[>] Мой персональный Sony Hack
habra.14
habrabot(difrex,1) — All
2014-12-22 16:30:02


![][1][Взлом Sony Pictures Entertainment ][2]надолго запомнится не столько сложностью атаки, сколько объемом утекших данных. «Все унесли, даже обои отклеили». Как это часто бывает с громкими атаками, всех подробностей мы никогда не узнаем, но уже сейчас понятно, что украсть и копии фильмов, и пароли, и данные социального страхования, и архивы почтовой переписки топ-менеджеров возможно было только по одной причине: плохо лежало. Научиться на опыте SPE непросто: тут антивирусом как страховкой не обойдешься, всю систему менять надо. А так: «ну их-то понятно за что взламывают, а нас, может быть, пронесет». Не пронесет. Ценник на таргетированные атаки [падает ][3]быстрее чем курс рубля: если в 2011 такое могло себе позволить только государство, то сейчас стоимость опустилась до уровня малого бизнеса. Может быть убедительнее будет перейти на личности? Если примерить ситуацию «все украли» на себя, в первую очередь задумаешься о секретных рабочих документах, во вторую – о пикантной переписке в скайпе. Проблема только, что этим все не ограничивается, и в первую очередь преступники могут пустить в ход совсем другую информацию. Позитивный разговор с владельцем компании о методах защиты может начаться и с анализа информации, которую могут украсть лично у него, и как ей могут воспользоваться. Я постарался понять это на своем примере. [Go hack yourself][4]

[1]: http://habrastorage.org/files/c8b/40c/d22/c8b40cd22d5444a1913988960ab58626.png
[2]: http://business.kaspersky.ru/dveri-nastezh-eshhyo-odin-megavzlom-sony/2562/
[3]: http://business.kaspersky.ru/klias2014/1574/
[4]: http://habrahabr.ru/post/246471/#habracut

[>] OTRS 4.0.10. Ставим на Ubuntu + AD + Kerberos + SSO (Часть вторая)
habra.15
habrabot(difrex,1) — All
2015-08-27 20:30:02


Продолжаю повествование о том, как собственно установить сего зверя на Ubuntu и настроить прозрачную доменную авторизацию, плюс о том, как прикрутить некоторые приятные плюшки, доступные в бесплатной версии OTRS. [Часть первая: подготовка системы][1] [Часть вторая: установка и настройка OTRS][2] [Часть третья: исправляем косяки прикручиваем плюшки][3]

#### 6\. Установка и настройка OTRS

Ну вот, система полностью подготовлена, даже более чем и мы с чистой совестью и легким сердцем приступаем к установке непосредственно OTRS.

##### 6\.1. Суть предлагаемого метода и необходимые пакеты

Ставить мы будем последнюю стабильную версию, на данный момент это 4.0.10, на самом деле это не существенно, потому как мы изначально пошли канонически правильным путем и не стали использовать всякие прокладки и костыли типа адамтеров NTLM, SSPI и прочего, а подняли полноценную Kerberos аутентификацию. А за неё в OTRS отвечает модуль _HTTPBasicAuth_, который не претерпел существенных изменений, поэтому описываемый способ будет работать на всех версиях системы начиная как минимум с 3.1.1. В чем собственно суть способа? А вся суть заключается в том, что OTRS вообщем то и не проводит никакой авторизации и аутентификации пользователя, а просто берёт имя залогиневшегося пользователя из переменной окружения _$\_ENV['Remote\_User']_ ищет его в своей базе и если находит, то открывает для него интерфейс Кустомера в залогиненом виде. То есть вся нагрузка по верификации пользователя ложится на плечи Apache, который механизмом Kerberos аутентифицирует пользователя и если ему это удалось, то загоняет его логин в переменную окружения. Откуда его и подхватывает OTRS, считая, что если там что-то есть, то аутентификация уже прошла успешно. Итак, приступим. [Для тех кому интересно, добро пожаловать под кат][4]

[1]: http://habrahabr.ru/post/264617/
[2]: http://habrahabr.ru/post/265537/
[3]: http://habrahabr.ru/post/265541/
[4]: http://habrahabr.ru/post/265537/#habracut

[>] Типичные исправления после обновления Windows Store приложений с версии 8 до 8.1
habra.14
habrabot(difrex,1) — All
2014-12-22 16:30:02


![][1] Переводя свои приложения на платформу 8.1, я обнаружил, что это довольно несложное занятие, которое не требует особых усилий. После перевода зачастую возникают типовые предупреждения, возникшие в результате несоответствия платформ. Разумеется, эти предупреждения желательно исправить. Рассмотрим самые популярные исправления? [Да, рассмотрим их вместе!][2]

[1]: //habrastorage.org/files/997/35d/f9a/99735df9aa7744e68b156c2ea7cc8d3f.jpg
[2]: http://habrahabr.ru/post/246435/#habracut

[>] [Из песочницы] Квантовая онлайн-песочница от Google
habra.14
habrabot(difrex,1) — All
2014-12-22 17:00:02


![][1] _(возможно вы уже видели эту картинку, хотя странно, что на хабре так мало материалов по квантовой информатике) _ Спасибо гениальным инженерам Google, теперь мы все дружно можем превратить наши настольные ПК в квантовые компьютеры. Ну, хорошо, не совсем так: подразумевается лишь моделирование работы квантового компьютера на его младшем собрате путем запуска веб-приложения для Chrome. [Quantum Computing Playground][2] позволяет прогонять известные квантовые алгоритмы (такие как алгоритм Гровера, Шора) и писать собственных квантовые программы. За исключением непосредственного приобретения квантового компьютера — что, несмотря на заявления D-Wave, вряд ли когда-нибудь удастся — решение от Google является наиболее удачным шагом в сторону популяризации квантового зверя. Если хочется лично встать на первую ступеньку вычислений будущего, это тот самый шанс. У вас есть дети? Вы обязаны посадил их в эту песочницу как минимум на шесть часов, чтобы они научились всем тонкостям квантовых вычислений. [Читать дальше →][3]

[1]: //habrastorage.org/files/fc7/c0b/c3e/fc7c0bc3e87e4e90a884128e427905e7.jpg
[2]: http://www.quantumplayground.net/#/home
[3]: http://habrahabr.ru/post/246483/#habracut

[>] Уязвимости публичных терминалов: как взломать велопрокат и поликлинику
habra.14
habrabot(difrex,1) — All
2014-12-22 17:30:02


В этом году Москву охватила настоящая велосипедная лихорадка. Количество станций велопроката было увеличено с 79 до 150, а услугами аренды воспользовались 90 тыс. человек. Пока двухколесные друзья отдыхают на зимних каникулах, расскажем об уязвимостях терминалов для оплаты аренды велосипедов, которые поставили под угрозу безопасность персональных данных и электронных кошельков пользователей, а также заставили задуматься о новой парадигме атак на корпоративные сети. [![image][1]][2] Платежные и информационные терминалы сегодня функционируют на улицах, в торговых центрах, в аэропортах, в поликлиниках, в метро. Большинство таких устройств работает на базе Windows, в режиме так называемого киоска, который позволяет запускать на компьютере одно основное полноэкранное приложение, заданное администратором. Функциональность терминала существенно расширяется, если выйти из режима киоска в операционную систему. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/a9d/8c4/745/a9d8c47455f9c9cd7c1573fc3e8867c9.jpg
[2]: http://habrahabr.ru/company/pt/blog/246449/
[3]: http://habrahabr.ru/post/246449/#habracut

[>] [Из песочницы] Qt + MVP + QThread. Строим свой велосипед
habra.14
habrabot(difrex,1) — All
2014-12-22 18:00:03


![image][1] Всем добрый день! Недавно передо мной встала довольно интересная задача, сделать интерфейс пользователя для общения с одной железкой. Связь с ней осуществлялась посредством COM-порта. Так как работа предполагалась с системой реального времени (эта самая железка) в операционной системе Windows, для того, чтобы GUI не тормозил, было решено работу с COM-портом вынести в отдельный поток. Так как требования к самой системе постоянно менялись, для минимизации и ускорения исправлений также было решено писать используя паттерн проектирования MVP. В качестве среды разработки был выбран Qt. Просто потому, что мне нравится данная среда и ее возможности. Так и получилась связка Qt+MVP+Qthread. Кому интересно, что из этого всего вышло и по каким граблям я ходил, прошу под кат. [Читать дальше →][2]

[1]: http://habrastorage.org/files/2de/85d/ad8/2de85dad86c8462985e2aa2d96108263.png
[2]: http://habrahabr.ru/post/246445/#habracut

[>] [Перевод] Руководство по виртуализации PCI DSS. Часть 2
habra.14
habrabot(difrex,1) — All
2014-12-22 23:30:03


**Стандарт:** Стандарт безопасности данных PCI (PCI DSS) **Версия:** 2.0 **Дата:** Июнь 2011 **Автор:** Специальная группа по Виртуализации Совет Стандартов Безопасности PCI **Дополнительная информация:** Руководство по виртуализации PCI DSS [Руководство по виртуализации PCI DSS. Часть 1][1]

#### **3 Риски виртуализированных сред**

Хотя виртуализация и дает определенное количество функциональных и оперативных преимуществ, переход к виртуальной среде не снижает риски, существующие в физических системах, а также может привнести и новые уникальные риски. Следовательно, существует ряд факторов, которые следует учитывать при создании виртуальных технологий, включая, но не ограничиваясь, теми, которые определены ниже. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/230965/
[2]: http://habrahabr.ru/post/246433/#habracut

[>] [Перевод] Обзор альтернатив Proof of Work. Часть 1. Proof of Stake
habra.15
habrabot(difrex,1) — All
2015-08-27 22:00:02


_Продолжаем переводить крутые статьи с сайта [Bytecoin.org][1]. Сегодня — «[Alternatives for Proof of Work, Part 1: Proof Of Stake][2]» Рэя Паттерсона (Ray Patterson). Также читайте перевод «Краткой истории эволюции proof-of-work в криптовалютах»: [часть 1][3] и [часть 2][4]._ ![][5]

## Критика Proof of Work

Как мы все помним, Proof of Work родился в далеком 1993 году в семье криптографов; родители прочили ему карьеру [защитника от DoS и спама][6]. Однако в 2008 году ему поступило заманчивое [предложение][7] от некоего анонима с япоским акцентом: стать основой для распределенного сервера меток времени. Схема представлялась простой: узлы сети «голосуют» за свою версию истории транзакций, вкладывая свои мощности в вычисление «редких» хешей. Версия, получившая большинство голосов, принимается другими узлами в качестве эталонной. Важным моментом было обеспечение большой суммарной мощности сети: для защиты от потенциального злоумышленника с его потенциальными 51% ресурсов. Однако изначальная концепция PoW подразумевала небольшие задания, которые должен выполнить клиент, чтобы получить доступ к ресурсам сервера. В рамках такой модели защиты от DoS даже небольшие мощности клиента не помешают добропорядочному использованию ресурса, а большие просто не требовались. Поэтому мотивация для работы майнеров была реализована просто: «натурой», биткоинами, т.е. фактически деньгами. И это все изменило. [Читать дальше →][8]

[1]: https://bytecoin.org
[2]: https://bytecoin.org/blog/proof-of-stake-proof-of-work-comparison/
[3]: http://habrahabr.ru/post/263769/
[4]: http://habrahabr.ru/post/264067/
[5]: https://habrastorage.org/files/603/a4e/1d7/603a4e1d7cbc4d31af9e8341d19d6aef.jpg
[6]: http://www.hashcash.org/papers/pvp.pdf
[7]: http://bitcoin.org/bitcoin.pdf
[8]: http://habrahabr.ru/post/265561/#habracut

[>] 220 000 учетных записей iCloud скомпрометированы с помощью бэкдора для прошедших джейлбрейк iOS-устройств
habra.15
habrabot(difrex,1) — All
2015-08-28 01:00:03


[![][1]][2] Китайское издание WooYun [сообщило][3] о компрометации 220 000 учетных записей iCloud. При этом злоумышленникам не пришлось обходить механизмы защиты iOS — доступ к учетным записям iCloud осуществлялся с помощью зловредного твика для устройств, прошедших процедуру джейлбрейка. [Читать дальше →][4]

[1]: https://habrastorage.org/files/fca/98e/320/fca98e3204c649fc920ff5d7043d3d4f.jpg
[2]: http://habrahabr.ru/company/pt/blog/265547/
[3]: http://www.wooyun.org/bugs/wooyun-2015-0136806
[4]: http://habrahabr.ru/post/265547/#habracut

[>] [Перевод] Ад визуализации 1.1 — Решения и заключение
habra.14
habrabot(difrex,1) — All
2014-12-23 12:00:03




* [Книга 1: Обзор][2]
* [Книга 2: Проблемы][3]
* **Книга 3: Решения**
* [Книга 4: Заключение][4]

Теперь самое интересное! Здесь я представлю вам некоторые решения, которые я нашел во время своего исследования. Надеюсь, они дадут вам общее представление о том, как оптимизировать игровые ресурсы с точки зрения процесса визуализации. [Читать дальше →][5]

[1]: //habrastorage.org/files/f3d/7ec/2c2/f3d7ec2c25d84489ab61f7d04211187f.png
[2]: http://habrahabr.ru/post/245713/
[3]: http://habrahabr.ru/post/245823/
[4]: #IV
[5]: http://habrahabr.ru/post/246133/#habracut

[>] Слиты логи одного из управлений «Роспотребнадзора»
habra.15
habrabot(difrex,1) — All
2015-08-28 01:30:02


![][1]

### TL;DR

Роспотребнадзор зеркалирует трафик внутри своего учреждения. Собственно, утечка логов сотрудников одного из управлений — [ссылка на логи][2].

### Интро

В очередной рабочий день, без видимой на то причины и без «темных» помыслов в голове. Делая то, что должен был делать по рабочим моментам я наткнулся на один очень интересный линк, который уж больно меня заинтересовал и заставил рыться в нем глубже, чем на самом деле нужно было. Да, вы поняли меня абсолютно правильно — это были логи Squid Analysis Report Generator'a (кор. SARG), некоей системы для чтения в удобном виде зеркалированного трафика сотрудников собственно этого управления. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/031/e4a/ea6/031e4aea6715aa9af11e1ef479fa5299.jpg
[2]: http://report.86.rospotrebnadzor.ru/sarg/
[3]: http://habrahabr.ru/post/265585/#habracut

[>] Учебник по языку программирования D. Часть 4
habra.14
habrabot(difrex,1) — All
2014-12-23 12:00:03


Четвертая часть перевода [D Programming Language Tutorial][1] от [Ali Çehreli][2]. [Читать дальше →][3]

[1]: http://ddili.org/ders/d.en/index.html
[2]: http://ddili.org/AliCehreli_resume.html
[3]: http://habrahabr.ru/post/243687/#habracut

[>] NW.js (Node-Webkit) + Рутокен = RutokenJS (Начало)
habra.15
habrabot(difrex,1) — All
2015-08-28 05:00:02


Решил создать модуль ([addon][1]) [NW.js][2] для работы с Рутокенами и поделиться с сообществом кодом, а так же пригласить вас поучаствовать в открытом проекте. Суть идеи в том, чтобы можно было использовать все возможности Рутокена в NW приложении с помощью чистого и понятного JavaScript, а также этот модуль может быть использован в Node.JS или io.js. На данный момент реализованы функции PKCS#11

* fnInitialize (использует: _C\_GetFunctionList, C\_Initialize_)
* fnCountSlot (использует: _C\_GetSlotList_)
* fnGetSlotInfo (использует: _C\_GetSlotInfo_)
* fnGetTokenInfo (использует: _C\_GetTokenInfo_)
* fnGetMechanismList (использует: _C\_GetMechanismList_)

[Читать дальше →][3]

[1]: https://nodejs.org/api/addons.html
[2]: http://nwjs.io/
[3]: http://habrahabr.ru/post/265575/#habracut

[>] Ёжик во фрактальном тумане
habra.14
habrabot(difrex,1) — All
2014-12-23 13:00:02


Эта статья — последняя из серии моих хабрастатей о фракталах. В хабрастатье [«Рисуем картинки с помощью кривой Гильберта»][1] рассказывалось о котёнке по имени Гав, в хабрастатье [«Кош на комплексной плоскости»][2] — о перетекании фракталами в горизонт, в хабрастатье [«Ночь фракталов»][3] — об алгоритме времени убегания. В этой статье пойдёт речь о ёжике в тумане и, конечно же, о коте. ![][4] [Читать дальше →][5]

[1]: http://habrahabr.ru/post/135344/
[2]: http://habrahabr.ru/post/126869/
[3]: http://habrahabr.ru/post/240417/
[4]: //habrastorage.org/files/60d/b86/6b9/60db866b931b48489e392bc3f2b445bb.png
[5]: http://habrahabr.ru/post/230009/#habracut

[>] ReactOS Tech Talk на факультете ВМК МГУ
habra.14
habrabot(difrex,1) — All
2014-12-23 13:30:03


18 декабря 2014 года на ежемесячном научно-практическом семинаре «Технологии разработки и анализа программ», организуемом Институтом системного программирования (ИСП) Роcсийской академии наук (РАН), Алексей Брагин выступил с докладом "[Операционная система Реактос][1]". Предлагаем всем желающим к просмотру видеозаписи и слайды с мероприятия.




[Читать дальше →][2]

[1]: http://habrahabr.ru/company/reactos/blog/246113/
[2]: http://habrahabr.ru/post/246525/#habracut

[>] Как я патчил Zabbix
habra.14
habrabot(difrex,1) — All
2014-12-23 14:00:02


На днях, у меня наконец-то дошли руки до обновления Zabbix. С момента прочтения статьи [Вышел Zabbix 2.2][1] в соответствующем блоге, я не мог дождаться, когда же в Gentoo размаскируют версию 2.2. Практически не было такого нововведения в этой версии, которое бы мне не было интересно и полезно в «быту». Это и мониторинг VMware, и ускорение системы, и улучшения в LLDP, короче практически каждый пункт. Шли месяцы, а версии 2.2 не было даже в замаскированных. Иногда я откладываю текучку в сторону и занимаюсь чем-нибудь «параллельным» относительно срочных и важных задач и работ. В этот раз я вспомнил о желании обновить Zabbix до версии 2.2. Проверил в маскированных\*, ну наконец-то, есть 2.2.5 Ну все, переходим, прошел уже год с момента выпуска, версия stable'е не бывает, так что что бы ни случилось, решим. [Но все оказалось не так просто, как хотелось бы...][2]

[1]: http://habrahabr.ru/company/zabbix/blog/201500/
[2]: http://habrahabr.ru/post/240169/#habracut

[>] Считаем сетевой трафик с помощью netflow и lightsquid
habra.14
habrabot(difrex,1) — All
2014-12-23 18:30:02


Однажды в нашем небольшом офисе понадобилось настроить систему учёта трафика под linux. Бегло просмотрев готовые решения, я решил использовать что-то попроще. Погуглив, [мне понравился подход][1] использовать самописный скрипт, который бы конвертировал статистику netflow в squid-совместимый лог, который затем можно анализировать чем угодно. Готовый скрипт, гуляющий по гуглу, я использовать не стал, т.к. он использует ipcad, которой отсутствует в debian и ubuntu. Написал свой вариант, использующий любой netflow сенсор и flow-tools в качестве коллектора. Скрипт постепенно усложнялся и, в итоге, вырос в небольшую систему учёта трафика. Архив этого удовольствия весит около 50кб, при этом:

* устанавливается с помощью deb для дистрибутивов, основанных на debian или с помощью собственного инсталлятора для остальных
* умеет считать интернет-трафик на маршрутизаторе по всем ip v4 протоколам и портам
* умеет ограничивать доступ не прописанным пользователям
* вместо голой статистики ip-адресов netflow умеет детализировать отчёты с помощью dig и squid
* умеет выборочно блокировать трафик
* имеет веб-интерфейс для управления пользователями и группами пользователей
* настраивается немногим сложнее lightsquid, который использует в работе
* не использует промежуточный лог access.log, собственный парсер конвертирует статистику netflow напрямую в отчёт lightsquid

![][2] [Заинтересованных прошу под кат.][3]

[1]: https://www.google.ru/search?&q=netflow%20lightsquid
[2]: //habrastorage.org/files/a45/696/0d1/a456960d14f141cd911f2b736808a2be.png
[3]: http://habrahabr.ru/post/232719/#habracut

[>] [Перевод] Учебник по языку программирования D. Часть 5
habra.14
habrabot(difrex,1) — All
2014-12-23 18:30:02


Пятая часть перевода [D Programming Language Tutorial][1] от [Ali Çehreli][2]. В этой части переведена глава Logical Expressions. Материал главы рассчитан на новичков.

1. [Часть 1][3]
2. [Часть 2][4]
3. [Часть 3][5]
4. [Часть 4][6]

[Читать дальше →][7]

[1]: http://ddili.org/ders/d.en/index.html
[2]: http://ddili.org/AliCehreli_resume.html
[3]: http://habrahabr.ru/post/226071/
[4]: http://habrahabr.ru/post/226565/
[5]: http://habrahabr.ru/post/243595/
[6]: http://habrahabr.ru/post/243687/
[7]: http://habrahabr.ru/post/244525/#habracut

[>] Security Meetup в офисе Mail.Ru Group — как это было
habra.14
habrabot(difrex,1) — All
2014-12-23 21:30:04


![][1] Всем привет! Меня зовут Ира, я выпускающий редактор в журнале Хакер. В начале декабря я побывала на [Security Meetup][2] в офисе Mail.Ru Group и хочу поделиться впечатлениями. Митап был посвящен программам bug bounty. Первый доклад сделала по видеосвязи представительница авторитетного международного хакерского сообщества [HackerOne][3]. Она рассказала о том, как компаниям организовать собственную программу bug bounty c помощью этого сервиса, а пентестерам прокачать навыки и заработать денег. HackerOne — это вещь! Во-первых, он облегчает жизнь представителем компаний:

* можно быстро и легко донести информацию о проведении bug bounty до целевой аудитории (ведь если сайт по продаже, к примеру, наборов для вышивания, разместит у себя на главной странице баннер о bug bounty, то отклика от пентестеров он может не дождаться)
* не надо думать о том, как вознаграждения дойдут до пользователей, финансовые вопросы берет на себя HackerOne

Во-вторых, этот сервис защищает пентестеров от несправедливости со стороны компаний. Если хакер найдет уязвимость, а фирма не захочет за нее заплатить, то вмешается администрация HackerOne и решит конфликт между двумя сторонами. [Читать дальше →][4]

[1]: //habrastorage.org/files/250/45e/436/25045e436b204733883a4befcdaec5f0.jpg
[2]: http://habrahabr.ru/company/xakep/blog/243377/
[3]: https://hackerone.com/ru/
[4]: http://habrahabr.ru/post/246249/#habracut

[>] [recovery mode] ABAP: Выборка значений справочных значений по их ключам БЫСТРО
habra.14
habrabot(difrex,1) — All
2014-12-23 21:30:04


Написал не так давно метод для выборки во внутреннюю таблицу справочных значений по их ключам с помощью создания динамической программы. К сожалению, исходный код приложить не получится, так как начальство запретило это делать. Так что ограничусь общим описанием теории. К примеру есть у нас внутренняя таблица:

DATA:
begin of it_BUKRS occurs 0,
BE type T001-BUKRS,
BENAME type T001-BUTXT,
end of it_BUKRS
.


В таблице заполнено поле **BE **и нам нужно выбрать из **T001 **значение **BUTXT **по соответствующему **BE **и заполнить поле **BENAME**. Как это нужно сделать «правильно» (т.е. с минимальными затратами памяти и максимально быстро). [Читать дальше →][1]

[1]: http://habrahabr.ru/post/244615/#habracut

[>] [Перевод] Состояние экосистемы Common Lisp на 2015 год
habra.15
habrabot(difrex,1) — All
2015-08-28 07:30:04


От переводчика: _Мне часто доводилось слышать, что в Common Lisp библиотеки из 80ых, и других вобще нет, а множество его пользователей представляет собой 3.5 профессоров, работающих над искусственным интеллектом в катакомбах DARPA и не имеющих даже близкого представления о повседневных задач рядового программиста. Данная статья хорошо показывает, что хоть вы и можете наткнуться на старые библиотеки, но использовать стоит лишь современные аналоги, что существующие библиотеки развиваются и постоянно появляются новые. Автор этой статьи, [Fernando Borretti][1], является активным контрибьютором в экосистему Common Lisp'а, автор более 30 библиотек, большинство из которых предназначены для веб-разработки. Проходящий мимо читатель получит общее представление о состоянии дел в Common Lisp, интересующийся сможет понять что ему необходимо чтобы попробовать написать код и какие библиотеки взять для пробной задачки, а опытный разработчик узнает о самых последних разработках, поймет, библиотеками в каких направлениях он сможет помочь сообществу и получит несколько советов о том, как отвечать на вопросы новичков, чтобы не убить в них интерес к этой замечательной технологии. Поехали!_ [Читать дальше →][2]

[1]: http://eudoxia.me
[2]: http://habrahabr.ru/post/265589/#habracut

[>] [recovery mode] ABAP: Выборка справочных значений по их ключам из таблиц БД
habra.14
habrabot(difrex,1) — All
2014-12-23 22:00:04


Написал не так давно метод для выборки во внутреннюю таблицу справочных значений по их ключам с помощью создания динамической программы. К сожалению, исходный код приложить не получится, так как начальство запретило это делать. Так что ограничусь общим описанием теории. К примеру есть у нас внутренняя таблица:

DATA:
begin of it_BUKRS occurs 0,
BE type T001-BUKRS,
BENAME type T001-BUTXT,
end of it_BUKRS
.


В таблице заполнено поле **BE **и нам нужно выбрать из **T001 **значение **BUTXT **по соответствующему **BE **и заполнить поле **BENAME**. Как это нужно сделать «правильно» (т.е. с минимальными затратами памяти и максимально быстро). [Читать дальше →][1]

[1]: http://habrahabr.ru/post/244615/#habracut

[>] Работа с цветом в vim
habra.15
habrabot(difrex,1) — All
2015-08-28 08:00:03


Казалось бы текстовый редактор не предназначен для работы с цветовыми палитрами, обычно для этого используют специальные программы, одной из неплохих программ подобного рода, например, является GPick. Специализированные программы для редактирования html в лучшем случае предлагают простой диалог для выбора цвета из списка или цветового круга. Но vim и здесь демонстрирует выдающиеся качества — расширяемость, универсальность и способность работать без мыши, с одной клавиатурой.  [Читать дальше →][1]

[1]: http://habrahabr.ru/post/265579/#habracut

[>] OTRS 4.0.10. Ставим на Ubuntu + AD + Kerberos + SSO (Часть третья)
habra.15
habrabot(difrex,1) — All
2015-08-28 08:00:03


Третья часть статьи по установки и настройке OTRS на UbuntuServer в среде MS AD. Теперь поговорим об исправлениях различных косяков и прикручивании полезных плюшек. Первые две статьи более меняться не будут, а все остальны мои наработки будут дописываться в эту статью, получится такой неплохой howto. [Часть первая: подготовка системы][1] [Часть вторая: установка и настройка OTRS][2] [Часть третья: исправляем косяки прикручиваем плюшки][3] [Как обычно, кому интересно, добро пожаловать под кат][4]

[1]: http://habrahabr.ru/post/264617/
[2]: http://habrahabr.ru/post/265537/
[3]: http://habrahabr.ru/post/265541/
[4]: http://habrahabr.ru/post/265541/#habracut

[>] Как подружить JavaFX и Spring Boot
habra.15
habrabot(difrex,1) — All
2015-08-28 08:00:03


![][1] Не так давно появился такой замечательный фреймворк как Spring Boot, без которого я уже не представляю себе разработку на Java. Освещая неосвещенное, хочу рассмотреть интеграцию Spring Boot и всех его «плюшек» с JavaFX 2. Всех заинтересованных приглашаю под кат. [Принять приглашение][2]

[1]: https://habrastorage.org/files/356/25b/6a9/35625b6a9d1243b6b1998caf7f0b9ef0.png
[2]: http://habrahabr.ru/post/265511/#habracut

[>] [Из песочницы] Минимализм в криптографии, или схема Even–Mansour
habra.15
habrabot(difrex,1) — All
2015-08-28 13:30:04






Израильские ученые Шиман Ивэн (Shimon Even) и Ишэй Мансур (Yishay Mansour) еще в 1997 году задались вопросом: **насколько минимальной конструкцией может обладать стойкий блочный шифр**? Под минимальностью они подразумевали число конструктивных элементов в схеме шифра, а под стойкостью — любую (формально верную) оценку снизу сложностей атак на этот шифр. Как говорится, под катом — описание минимального (и по сей день) блочного шифра с доказуемой стойкостью. [Каков же он?][1]

[1]: http://habrahabr.ru/post/265607/#habracut

[>] [Из песочницы] Основы Urho3D
habra.15
habrabot(difrex,1) — All
2015-08-28 14:00:04


С удивлением обнаружил, что на Хабре отсутствует информация о таком замечательном движке как Urho3D. Поэтому спешу исправить это досадное упущение. В этой вводной статье я постараюсь заострить внимание на тех вещах, которые пригодятся новичкам сразу же, но в тоже время не буду залезать в глубокие дебри, чтобы сходу не перегрузить большим объемом информации. ![image][1]

## Что это за зверь?

Не будет преувеличением сказать, что Urho3D по возможностям сопоставим с Unity3D и работать с ним так же легко. При этом он бесплатен без каких-либо оговорок (лицензия MIT), доступен для многих платформ (Windows, Linux, Mac OS X, Android, iOS, Raspberry Pi, HTML5), невероятно быстр и легковесен. Позволяет писать игры на AngelScript (синтаксис похож на C#), LUA и C++. Если вы заинтересовались, то добро пожаловать под кат. [Читать дальше →][2]

[1]: https://habrastorage.org/files/8e3/b01/e46/8e3b01e467274dc3a6d0e142519f643d.jpg
[2]: http://habrahabr.ru/post/265611/#habracut

[>] Немецкие спецслужбы делились данными граждан с АНБ в обмен на шпионский софт XKeyscore
habra.15
habrabot(difrex,1) — All
2015-08-28 15:30:03


[![][1]][2] Немецкое издание Die Zeit [получило доступ][3] к документам, свидетельствующим о том, что [Федеральная служба защиты конституции][4] Германии (BfV — Bundesamtes für Verfassungsschutz, главный орган контрразведки страны) предоставляла данные граждан американскому Агентству национальной безопасности в обмен на возможность использования шпионской программы XKeyscore. По данным журналистам, переговоры, предшествовавшие заключению соглашения в апреле 2013 года, продолжались 18 месяцев. В итоге немецкая спецслужба получила доступ к программному обеспечению, однако его уровень был ниже, чем у стран, входящих в группу «пяти глаз» (Five eyes), помимо самих США (Великобритания, Канада, Новая Зеландия, Австралия). В обмен на доступ к программному обеспечению Bfv обязывалась «в максимально возможном объёме предоставлять все данные, относящиеся к миссии АНБ». [Читать дальше →][5]

[1]: https://habrastorage.org/files/744/6f4/e80/7446f4e802cd4a589b86ae0b4dae0672.jpg
[2]: http://habrahabr.ru/company/pt/blog/265623/
[3]: http://www.zeit.de/digital/datenschutz/2015-08/xkeyscore-nsa-domestic-intelligence-agency
[4]: https://ru.wikipedia.org/wiki/%D0%A4%D0%B5%D0%B4%D0%B5%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D1%8B_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D0%B8%D1%82%D1%83%D1%86%D0%B8%D0%B8_%D0%93%D0%B5%D1%80%D0%BC%D0%B0%D0%BD%D0%B8%D0%B8
[5]: http://habrahabr.ru/post/265623/#habracut

[>] Почта РФ кишит уязвимостями
habra.14
habrabot(difrex,1) — All
2014-12-24 00:00:04


Случайно наткнулся на [пост][1] в ЖЖ, который судя по всему, висит без реакции уже третью неделю. По сообщению исследователей некой организации Sokol-Security, используя уязвимости, им удалось добраться до файлов корневого сертификата и его ключа (не сообщается, запаролен он или нет), которым подписываются сертификаты всех отделений Почты РФ. [Читать дальше →][2]

[1]: http://sovtehbez.livejournal.com/1018.html
[2]: http://habrahabr.ru/post/246615/#habracut

[>] PyOpenGL для начинающих и немного новогоднего настроения
habra.14
habrabot(difrex,1) — All
2014-12-24 01:30:03


![image][1] Благодаря своей гибкости и простоте, язык Python позволяет легко и быстро писать целый ряд приложений и утилит. Мною данный язык, в основном, используется для написания небольших скриптов, облегчающих выполнение различных задач, связанных с системным администрированием. Как оказалось, Python можно использовать и для не совсем «традиционных» задач, например, для вывода 3D графики. Об этом и будет мой небольшой предновогодний пост. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/dd5/5e0/133/dd55e0133dbe7d78381b8fe5b56bb911.jpg
[2]: http://habrahabr.ru/post/246625/#habracut

[>] Проверка симулятора The Powder Toy
habra.14
habrabot(difrex,1) — All
2014-12-24 12:00:03


![][1] The Powder Toy является песочницей со свободной физикой, которая имитирует давление и скорость воздуха, тепла, тяжести и бесчисленное количество взаимодействий между различными веществами. Игра предоставляет различные строительные материалы, жидкости, газы и электронные компоненты, которые могут быть использованы для построения сложных машин, оружия, бомб, реалистичной местности и почти всего, что угодно. Вы можете просматривать и воспроизводить тысячи различных сделанных построек. Вот только в игре оказалось не всё так замечательно: для небольшого проекта размером в ~350 файлов было получено довольно много предупреждений статического анализатора. В этой статье будут описаны наиболее интересные места. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/b22/589/97d/b2258997d5c59bcef83381ef300e86be.gif
[2]: http://habrahabr.ru/post/246641/#habracut

[>] Вышла новая версия 14.2 компонентов DevExpress для VCL
habra.14
habrabot(difrex,1) — All
2014-12-24 13:00:04


С выпуском версии 14.2 пакет наших продуктов для VCL традиционно обновился и расширился, пополнившись как совершенно новыми продуктами, так и многочисленными доработками уже существующих. Так, в этом релизе мы готовы порадовать наших пользователей следующими новыми компонентами. Новый компонент Gauge Control — менеджер шкал — предназначен для наглядного отображения данных с помощью элементов, имитирующих стрелочные измерительные приборы, линейные шкалы, а также цифровые секционные табло. Встраивая визуальные элементы друг в друга, можно создавать информационные панели и комбинированные приборы, имитирующие приборные панели реальных устройств и установок. ![image][1] [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/177/2b6/518/1772b6518ae05a8b7dd78f9af0059fe5.png
[2]: http://habrahabr.ru/post/246603/#habracut

[>] Security Week 35: ничего личного, просто бизнес
habra.15
habrabot(difrex,1) — All
2015-08-28 17:30:03


![][1]Индустрия (если ее так можно назвать) новостей инфобезопасности, хотя и редко скатывается до уровня желтой прессы про телезвезд, но все же всегда находится в ожидании какой-то сенсации. Так, самой популярной новостью на Threatpost в прошлом году стала довольно обыденная заметка про [уязвимость в формате PNG][2]. И не уязвимость даже, просто технология сокрытия вредоносного кода в метаданных картинок. А почему? Кто-то (не мы), не разобравшись, анонсировал это как «вы можете заразиться, просто скачав картинку с котиками!!11». Конечно, если обнаружат какую-нибудь супер-дыру, которая позволяет заражать миллионы компьютеров по всему миру с минимальными усилиями, я с удовольствием про нее напишу, но пока таких не предвидится. Со времен червя [Slammer][3], которым можно было заразиться, просто подключив машину на Windows XP к интернету и подождав полчаса, прошло уже много времени, и за просто так современный софт (пока) не дается. Но хочется, знаете ли, чтобы произошло что-то этакое! Чтобы все ахнули и точно сказали, что так жить больше нельзя, и с безопасностью компов, телефонов и холодильников нужно что-то делать. Иначе они все в одночасье могут превратиться в тыкву по воле какого-то злобного маньяка. Весь мир в опасности! Мамма мия! Порка Мадонна! Рибуттати аллета дела пьетра кон соло карта э пенна пер аркивиаре э кондивидере информацьони! Кхм. Эпичный провал в безопасности все же возможен (в тех же холодильниках и прочих IoT, например), но ждать его не стоит. Пока ждем, можно проглядеть вполне рутинные прорехи, на которых одни много зарабатывают, другие — теряют. Без надрыва и особой гениальности, business as usual. В сегодняшней подборке важных новостей: три темы о том, как эксплуатируют довольно банальные уязвимости в IT. Напоминаю правила: каждую неделю редакция новостного сайта [Threatpost][4] выбирает три наиболее значимых новости, к которым я добавляю расширенный и беспощадный комментарий. Все эпизоды сериала можно найти [тут][5]. [Читать дальше →][6]

[1]: https://habrastorage.org/files/032/319/401/0323194011734cb88bb22e4f2317ca4c.jpg
[2]: http://habrahabr.ru/company/kaspersky/blog/246745/
[3]: https://securelist.ru/blog/issledovaniya/8976/slammer-vsyo/
[4]: https://threatpost.ru/
[5]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[6]: http://habrahabr.ru/post/265587/#habracut

[>] [Перевод] Решение задачи «AAAAAA» с Facebook Hacker Cup методом динамического программирования на B-Prolog
habra.14
habrabot(difrex,1) — All
2014-12-24 14:30:03


Есть много материала по решению запутанных задачек на Прологе (например, [страница Hakan Kjellerstrand о B-Prolog][1]). Однако часто приводятся задачи, которые либо создавались для решения вручную (имеют маленькое пространство поиска), либо изначально ориентированы на решение при помощи логического программирования. Я хочу показать мое решение на Прологе задачи AAAAAA с первого раунда Facebook Hacker Cup 2014. Задача имеет достаточно большое пространство поиска и создана с прицелом на решение опытными спортивными программистами на распространенных языках программирования. [Читать дальше →][2]

[1]: http://www.hakank.org/bprolog/
[2]: http://habrahabr.ru/post/246657/#habracut

[>] [Перевод] Именованные параметры в современном C++
habra.14
habrabot(difrex,1) — All
2014-12-24 15:00:03


Из Википедии: "_Именованные параметры в языках программирования означают поддержку указания явных имен параметров в вызове функции. Вызов функции, принимающей именованные параметры, отличается от обычного вызова функции, в котором передаваемые аргументы ассоциируются с параметрами функции лишь только по их порядку в вызове функции_" Давайте посмотрим на пример:

createArray(10, 20); // Что это значит? Что за "10" ? Что за "20" ?
createArray(length=10, capacity=20); // О, вот теперь понятнее!
createArray(capacity=20, length=10); // И наоборот тоже работает.


И еще один пример на выдуманном псевдо-языке:

window = new Window {
xPosition = 10,
yPosition = 20,
width = 100,
height = 50
};


Этот подход особенно полезен для функций с большим количеством опциональных параметров, при вызове которых нужно изменить лишь некоторую часть дефолтных значений. Некоторые языки программирования поддерживают именованные параметры (C#, Objective-C, ...), но не С++. В этом посте мы рассмотрим пару классических способов эмуляции именованных параметров в С++, ну и попробуем придумать что-то новое. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/246663/#habracut

[>] Фишки языка D
habra.14
habrabot(difrex,1) — All
2014-12-24 15:30:05


Очень радует, что на Хабре появляются статьи о языке D. Но, на мой взгляд, переводы хелпа и статей для чуть больше, чем для новичков не дают ничего в плане популяризации языка. Думаю, искушённой публике лучше представлять, пусть более сложные, но какие-то интересные вещи — фишки. Большинство из того, что можно назвать фишками D, есть и в других языках, но многое в D реализовано более эффектно и эффективно, на мой вкус во всяком случае. В D есть много интересного, о чем стоит рассказать, и начну я в этой статье с функций, но не совсем обычных. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/246623/#habracut

[>] Навигация в крупных проектах для Vim и Emacs
habra.15
habrabot(difrex,1) — All
2015-08-28 17:30:03


Из публикаций о Vim и Emacs складывается впечатление, что мало кто использует в них человеческую навигацию по коду. Или же используют вместо нее инструменты вроде ack и ag. А между тем для навигации в этих редакторах есть эффективные инструменты, которые существуют уже не одно десятилетие. Эти инструменты Ctags и Gnu global — они представлены во всех основных серверных Linux-дистрибутивах, так что навигация будет работать даже если разработка ведется на удаленном сервере. Я буду писать большей частью про Emacs, потому что пользуюсь им, но буду давать ссылки на соответствующие плагины для Vim. Главное донести принцип работы и основные возможности инструментов и отговорить вас от неумеренного использования ack, ag и grep. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/265635/#habracut

[>] [Перевод] Конвейер обработки текста в Sphinx
habra.14
habrabot(difrex,1) — All
2014-12-24 17:00:04


Обработка текста в поисковом движке выглядит достаточно простой снаружи, однако на самом деле это сложный процесс. При индексации текст документов должен быть обработан стриппером HTML, токенайзером, фильтром стопслов, фильтром словоформ и морфологическим процессором. А ещё при этом нужно помнить про исключения (exceptions), слитные (blended) символы, N-граммы и границы предложений. При поиске всё становится ещё сложнее, поскольку помимо всего вышеупомянутого нужно вдобавок обрабатывать синтаксис запроса, который добавляет всевозможные спец. символы (операторы и маски). Сейчас мы расскажем, как всё это работает в Sphinx.

# Картина в целом

Упрощённо конвейер обработки текста (в движке версий 2.х) выглядит примерно так: ![][1] Выглядит достаточно просто, однако дьявол кроется в деталях. Есть несколько очень разных фильтров (которые применяются в особом порядке); токенайзер занимается ещё чем-то помимо разбиения текста на слова; и наконец под «и т.д.» в блоке морфологии на самом деле находится ещё по меньшей мере три разных варианта. Поэтому более точной будет следующая картина: ![][2] [А теперь перейдём к деталям][3]

[1]: //habrastorage.org/files/a7e/c78/da8/a7ec78da80c0478990cc94c385f1891a.png
[2]: //habrastorage.org/files/12d/9f1/74f/12d9f174fa5e40438f4d99489315d073.png
[3]: http://habrahabr.ru/post/246679/#habracut

[>] Деплой Java Spring приложения в PaaS-платформу Heroku за 14 минут
habra.15
habrabot(difrex,1) — All
2015-08-28 18:00:02


![][1] Здравствуйте! Продолжаю серию публикаций по проекту Maven/Spring/Security/JPA(Hibernate)/Rest(Jackson)/ Bootstrap(CSS)/ jQuery+plugins ([исходный код на GitHub][2]). Предыдущие публикации:

* [По следам Spring Pet Clinic. Maven/ Spring Context/ Spring Test/ Spring ORM/ Spring Data JPA][3]
* [Тестируем Spring Rest контроллеры: проще, короче, надежнее. Spring Security Test + JSON Matcher][4]
* [Spring Security 4 + CSRF (добавление в Spring проект защиты от межсайтовой подделки запроса)][5]

Заключительная часть проекта: деплой в [облачную PaaS-платформу Heroku][6]




[Читать дальше →][7]

[1]: https://habrastorage.org/files/bec/04a/e86/bec04ae86aa842d997426ceac132e116.jpg
[2]: https://github.com/JavaWebinar/topjava03
[3]: http://habrahabr.ru/post/232381/
[4]: http://habrahabr.ru/post/259055/
[5]: http://habrahabr.ru/post/264641/
[6]: https://ru.wikipedia.org/wiki/Heroku
[7]: http://habrahabr.ru/post/265591/#habracut

[>] [Из песочницы] Настройка сервера и деплоя: rvm, rails, puma, nginx, mina
habra.15
habrabot(difrex,1) — All
2015-08-28 18:00:02




## Предыстория

На создание этой статьи меня толкнула недавняя [публикация о деплое][1]. В приведённой статье описан способ разворачивания проекта на основе rbenv, я же опишу ситуацию с rvm и настройкой upstart.

## Задачи и требования

Итак, дано: простейшее RubyOnRails-приложение. В случае разворачивания своего проекта я ставил перед собой следующие задачи:

* ОС Ubuntu LTS 14.04;
* Веб-сервер Nginx;
* Сервер приложения Puma;
* Использование RVM для установки ruby требуемой версии;
* Автоматический запуск приложения при запуске VPS-сервера, возможность управлять приложением как службой;
* Автоматизация процесса деплоя с помощью mina;

**Почему Ubuntu?** Просто я к ней привык (точнее к её производной — Linux Mint). **Почему puma, а не unicorn или passenger?** О пуме я слышал неплохие отзывы, а у unicron страшненький сайт. Passenger, на мой взгляд, нарушает принцип единственной обязанности — я хочу иметь веб-сервер и приложение-сервер. **Почему RVM?** Я к нему привык — у меня он установлен на локальной машине, хочу его видеть и на production. **Почему mina?** Она действительно проще чем capistrano и при этом быстрее. Скорость достигается за счёт того, что для каждой задачи capistrano создаёт отдельное ssh-соединение. Mina же формирует shell-скрипт и выполняет его в рамках одного соединения. В данном случае задача легко разбивается на 3 этапа:

1. Убедиться, что приложение корректно запускается (пока без автоматизации);
2. Настроить сервер так, чтобы наше rails-приложение работало как полноценная служба;
3. На основе этого настроить автоматизированное разворачивание с помощью mina.

[Читать дальше →][2]

[1]: http://habrahabr.ru/post/265459/
[2]: http://habrahabr.ru/post/265599/#habracut

[>] Так может ли NFC Кольцо Всевластья разблокировать Android-телефон?
habra.14
habrabot(difrex,1) — All
2014-12-24 19:00:03


Короткий ответ — да. Летом прошлого года на кикстартере начался [сбор средств на NFC-кольца][1] ([пост на гиктаймс][2]). Создатели не обещали ничего супер-инновационного, но скомпоновать известные, но не популярные штуки во что-то удобное и привычное — тоже хорошая идея. Неудивительно, что сбор, хотя и прошёл не особо заметно, но всё-таки успешно завершился. Целый год ребята писали письма про свои затруднения, про битвы и победы, про падения и взлёты. ![][3] В итоге, долгожданное письмо, пара недель ожидания, скрашенных Почтой России и отсутствием трекинга, и вот вожделенный конверт у меня в руках. [Читать дальше →][4]

[1]: https://www.kickstarter.com/projects/mclear/nfc-ring
[2]: http://geektimes.ru/post/188470/
[3]: //habrastorage.org/files/b1c/609/6e6/b1c6096e64e84e149896ca90f0917d02.png
[4]: http://habrahabr.ru/post/246611/#habracut

Pages: 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 210