RSS
Pages: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ... 210
[>] Как веб-сервер Cowboy и мессенджер Kato помогают друг другу: Немного про Erlang и open source
habra.14
habrabot(difrex,1) — All
2014-12-10 13:00:02


[![image][1]][2] Большая часть сервисов и продуктов, которыми все мы пользуемся каждый день, были построены с применением открытых технологий (open source). Например, сотрудниками Facebook были созданы «открытые» инициативы [Cassandra][3] и [React][4], а в последнее время даже такие апологеты «закрытости» как Microsoft, который ранее пытался уничтожить движение open source, начали открывать свои разработки (корпорация из Редмонда [сделала открытым][5] ядро платформы .NET). При создании мессенджера Kato был использован открытый инструмент для обработки запросов с очень высокой интенсивностью — язык программирования и виртуальная машина Erlang. Эту платформу используют многие популярные проекты и компании (примеры — Amazon, Goldman Sachs, RabbitMQ, WhatsApp, Whisper). Существует крупное сообщество разработчиков, пишущих Erlang-библиотеки. С помощью одной из них, веб-сервера Cowboy, был создан мессенджер [Kato][6] — сегодня мы расскажем об истории этого open source проекта подробнее. [Читать дальше →][7]

[1]: http://habrastorage.org/getpro/habr/post_images/dc8/9d3/c95/dc89d3c95ea311653f922ae7ff7cc4a1.jpg
[2]: http://habrahabr.ru/company/kato/blog/245471/
[3]: http://en.wikipedia.org/wiki/Apache_Cassandra
[4]: https://github.com/facebook/react
[5]: http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx
[6]: https://kato.im/
[7]: http://habrahabr.ru/post/245471/#habracut

[>] Научно-исследовательское программное обеспечение в ВУЗах Великобритании
habra.14
habrabot(difrex,1) — All
2014-12-10 13:00:02


От переводчика В этой заметке коротко о том:

* сколько исследователей пользуется научно — исследовательским программным обеспечением (ПО) в ВУЗах Великобритании?
* какое именно ПО используется?
* сколько исследователей разрабатывает свое исследовательское ПО, сколько является просто пользователями исследовательского ПО, как это зависит от дисциплины, их пола и других факторов?
* какая компьютерная операционная система выбирается разработчиками и пользователями исследовательского ПО?

Так же вы найдёте и ссылку на файл с «сырыми» и детальными результатами исследований, такими как список исследованных университетов, число опрошенных человек от каждого университета, область их работы и так далее. Это будет особенно полезным для тех кто пожелает самостоятельно проанализировать результаты. ![][1] Данная заметка является переводом публикации «Невозможно проводить исследования без программного обеспечения — отметили 7 из десяти исследователей Соединённого Королевства» (англ. [It's impossible to conduct research without software, say 7 out of 10 UK researchers][2]) автора Саймон Хитрик (анг. [Simon Hettrick][3]), в которой он коротко рассказал о результатах статистического исследования программного обеспечения используемого в научных исследованиях нескольких университетов Соединённого Королевства. Саймон является заместителем директора института программной совместимости (анг. [Software Sustainability Institute][4]), от имени которого Университет Эдинбурга и проводил данные исследования (англ. The University of Edinburgh on behalf of the Software Sustainability Institute). Этот литературный перевод с английского на русский. Если будут советы (или видите ошибку), то прошу мне о них сообщать. После публикации этого перевода, я пришлю Саймону ссылку на эту публикацию (разрешение автора на перевод и использование диаграмм из его отчёта у меня уже есть). Благодарности (англ. асknowledgements): Я хотел бы поблагодарить Саймона Хитрика из поддерживаемого EPSRC [Института программной совместимости][5] за его помощь в подготовке материала (англ. I would like to acknowledge the assistance of Simon Hettrick from the EPSRC supported [Software Sustainability Institute][6]"). Далее по тексту — перевод поста Саймона Хитрик.

----

Никто не знает сколько программного обеспечения (ПО) используется в научных исследованиях. Посмотрите в любую лабораторию и вы обнаружите как стандартное, так и специально написанное ПО, которое используется во всех дисциплинах и исследователями всех уровней. Программное обеспечение явно является фундаментальным компонентом исследований, но мы не можем подтвердить это без доказательств. И этот недостаток доказательств является причиной, по которой мы провели исследование используемого научно — исследовательского ПО в пятнадцати университетах группы Рассела (анг. [Russell Group][7] — прим. переводчика). [Читать дальше →][8]

[1]: //habrastorage.org/files/e69/741/24e/e6974124eab84b2e8b8c6bac72710336.png
[2]: http://www.software.ac.uk/blog/2014-12-04-its-impossible-conduct-research-without-software-say-7-out-10-uk-researchers
[3]: http://www.software.ac.uk/about/people/simon-hettrick
[4]: http://www.software.ac.uk
[5]: http://software.ac.uk/
[6]: http://software.ac.uk/
[7]: http://en.wikipedia.org/wiki/Russell_Group
[8]: http://habrahabr.ru/post/245171/#habracut

[>] [Из песочницы] Occlusion Culling и LOD для Unity Indie
habra.14
habrabot(difrex,1) — All
2014-12-10 15:00:07


Доброго времени суток! В качестве хобби ковыряю движок Unity. Хобби явно некоммерческое, поэтому особой нужды в Pro-версии не испытываю. Pro, конечно же, посурьезнее Indie, но для разработки, например, под Android/iOS возможностей второй вполне хватает. За исключением одной – оптимизации и связанного инструментария. Раскидистая клюква, созданная силами движка имеет полторы — две тысячи треугольников. Высокополигональный замок/машинка заставляют картинку в среднем телефоне шизофренически подергиваться, а красивый шейдер для воды — надолго застыть в позе роденовского мыслителя. Ясно, что при появлении в кадре пары — тройки таких объектов, все будет жутко глючить и тормозить. В Pro есть крайне нужная штука, называется [Occlusion Culling][1]. Кратко – отрисовываются только объекты, попадающие в поле зрения камеры (скриншоты под катом). Посмотрел опять на стоимость Pro, почесал затылок, обиделся и ушел сначала искать, а потом и писать костыли. [Читать дальше →][2]

[1]: http://docs.unity3d.com/Manual/OcclusionCulling.html
[2]: http://habrahabr.ru/post/245489/#habracut

[>] Чтение SVG в C++
habra.14
habrabot(difrex,1) — All
2014-12-10 21:30:03


При выборе формата хранения или обмена векторными 2D изображениями, SVG один из главных претендентов, благодаря открытости и распространенности. При всех его достоинствах, авторы, на мой взгляд, чрезмерно увлеклись удобством и гибкостью при создании документов, что привело к большой вариативности и избыточности, а, следовательно, и сложностью чтения. Кроме того, ради компактности были изобретены разные грамматики, встроенные внутрь XML, что тоже добавило головной боли программистам. Сейчас есть несколько C/C++ библиотек, которые могут загрузить SVG и отрисовать его в растр, но это только малая часть возможных применений SVG в приложениях. Я разработал C++ библиотеку, которая должна взять на себя реализацию большинства нюансов спецификации, предоставляя данные SVG в удобном виде. [Читать дальше →][1]

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

[>] Совместное редактирование. Часть 1
habra.15
habrabot(difrex,1) — All
2015-08-17 19:30:02


Добрый день. Последний год я занимаюсь в проекте [«МойОфис»][1] вопросами совместного редактирования (collaboration). Оглядываясь назад, могу констатировать, что это непростая и очень интересная задача. Поэтому я хотел бы подробно рассказать о ней и дать ответы на следующие вопросы:

1. Какие существуют подходы к обеспечению совместного редактирования?
2. Насколько они сложны в реализации?
3. Можно ли взять готовую библиотеку и использовать ее в своем проекте?
4. Можно ли вести разработку без оглядки на совместное редактирование?

![][2] Для того чтобы подробно и аргументированно ответить на них, необходимо написать довольно много материала, поэтому статей будет несколько, присаживайтесь поудобнее, мы начинаем. [Читать дальше →][3]

[1]: http://myoffice.ru/product-apps.html
[2]: https://habrastorage.org/files/d74/4bf/679/d744bf679da84829916a5cb71ab694e6.jpg
[3]: http://habrahabr.ru/post/264923/#habracut

[>] Test lab v.8 — лаборатория, построенная на базе реальных корпоративных сетей
habra.15
habrabot(difrex,1) — All
2015-08-17 21:30:03


![][1] Разрабатывая лаборатории «Test lab» мы стараемся охватить практически все области ИБ: безопасность сетей, ОС и приложений. Участникам предлагается выполнить эксплуатацию различных уязвимостей, связанных с работой сетевых компонентов и криптографических механизмов, ошибками конфигурации и кода, а также с человеческим фактором. Участники, выступающие в роли пентестеров, пытаются эксплуатировать их, и, в случае удачи, получают доступ к серверам и рабочим станциям, каждый из которых содержит токен. Победителем считается участник, первым собравший все токены. Работа в лаборатории осуществляется на основе методики «серый ящик»: перед началом исследования предоставляется информация об инфраструктуре «Test lab» в виде схемы и описания деятельности виртуальной компании. Собирая пентестеров со всего мира, мы разрабатываем лаборатории «Test lab» для различных мероприятий, таких как всероссийский конкурс ПрофИТ-2013, ZeroNights'13, PHD IV.

##

В предыдущей лаборатории «Test lab v.7», запущенной 01 мая 2015 г, приняло участие более 2000 участников из 73 стран мира. Большиноство активных участников были из России, Украины, США, Германии и Китая. По мнению пентестеров, наиболее интересные задания были свзаны с эксплуатацией уязвимостей веб-приложений, в то время как брутфорс не представлял особого интереса и реализовывался в последнюю очередь, несмотря на то, что по мировой статистике уязвимости, связанные с использованием нестойких паролей, являются одной из основных причин компрометации корпоративных сетей. [Читать дальше →][2]

[1]: https://habrastorage.org/files/334/b59/ff9/334b59ff98cc41eab560006749203e93.png
[2]: http://habrahabr.ru/post/264805/#habracut

[>] Разработка интерактивных систем на OpenFrameworks: Интерактивный звук
habra.14
habrabot(difrex,1) — All
2014-12-10 21:30:03




> Про настройку и визуализацию музыки с помощью openFrameworks мы
>
> [недавно рассказывали][1]
>
> . К сожалению русскоязычной информации по фреймворку OpenFrameworks достаточно мало. Для заполнения этого вакуума — начинаем серию публикаций лекций, что были прочитаны в Екатеринбурге в Институте математики и механики им. Н.Н.Красовского (УрО РАН) Денисом Переваловым.
>
>
>
>
>
> В этой лекции будут рассказаны теоретические основы цифрового звука, и показан пример создания интерактивного приложения по генерации звука на базе захвата изображения с камеры.

**Что такое цифровой звук, и звук вообще?** ![][2] Звук, _в широком смысле_ — упругие волны, продольно распространяющиеся в среде и создающие в ней механические колебания; _в узком смысле_ — субъективное восприятие этих колебаний специальными органами чувств животных или человека. Как и любая волна, звук характеризуется амплитудой и частотой. [Цифровой звук][3]

[1]: http://habrahabr.ru/post/244265/
[2]: //habrastorage.org/files/bbf/08b/720/bbf08b720c2c43229255baaf48ba3fba.jpg
[3]: http://habrahabr.ru/post/245481/#habracut

[>] Задачи вступительного экзамена в ШАД 2014
habra.15
habrabot(difrex,1) — All
2015-08-17 23:00:03


![][1] При поступлении в ШАД проверяются знания в рамках общей программы, включающей базовые разделы высшей алгебры, математического анализа, комбинаторики, теории вероятностей, а также основы программирования. Под катом подробно разобраны задачи вступительного экзамена в ШАД 2014 года. Внимание! Пост довольно объёмный, поэтому устраивайтесь поудобнее, вооружайтесь карандашом, если нужно, доставайте чай с печеньем. Убедитесь, что сделали все дела на вечер! Велика вероятность, что рассматриваемые ниже задачи поглотят ваш разум на несколько часов, а кому-то помешают вовремя лечь спать. Во всяком случае сегодняшний вечер обещает быть интересным. Добро пожаловать под кат **↓** [Читать дальше →][2]

[1]: https://habrastorage.org/files/f72/4c2/13b/f724c213b2b44f83bcb36c4c0de16016.png
[2]: http://habrahabr.ru/post/264941/#habracut

[>] Asterisk Manager Interface в диалплане
habra.15
habrabot(difrex,1) — All
2015-08-18 00:30:02


Как и все АSTERISK'еры я не раз сталкивался с проблемой того, что на PBX существует несколько транков, которые используются для исходящей связи. И как у многих, у моих заказчиков тоже часть этих транков является основными, а остальные играют роль резервных, на случай падения/занятости/чего-либо еще первых. [Читать дальше →][1]

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

[>] Test lab v.8 — пентест-лаборатория, построенная на базе реальной корпоративной сети
habra.15
habrabot(difrex,1) — All
2015-08-18 04:00:02


![][1] Разрабатывая лаборатории «Test lab» мы стараемся охватить практически все области ИБ: безопасность сетей, ОС и приложений. Участникам предлагается выполнить эксплуатацию различных уязвимостей, связанных с работой сетевых компонентов и криптографических механизмов, ошибками конфигурации и кода, а также с человеческим фактором. Участники, выступающие в роли пентестеров, пытаются эксплуатировать их, и, в случае удачи, получают доступ к серверам и рабочим станциям, каждый из которых содержит токен. Победителем считается участник, первым собравший все токены. Работа в лаборатории осуществляется на основе методики «серый ящик»: перед началом исследования предоставляется информация об инфраструктуре «Test lab» в виде схемы и описания деятельности виртуальной компании. Собирая пентестеров со всего мира, мы разрабатываем лаборатории «Test lab» для различных мероприятий, таких как всероссийский конкурс ПрофИТ-2013, ZeroNights'13, PHD IV.

##

В предыдущей лаборатории «Test lab v.7», запущенной 01 мая 2015 г, приняло участие более 2000 участников из 73 стран мира. Большиноство активных участников были из России, Украины, США, Германии и Китая. По мнению пентестеров, наиболее интересные задания были свзаны с эксплуатацией уязвимостей веб-приложений, в то время как брутфорс не представлял особого интереса и реализовывался в последнюю очередь, несмотря на то, что по мировой статистике уязвимости, связанные с использованием нестойких паролей, являются одной из основных причин компрометации корпоративных сетей. [Читать дальше →][2]

[1]: https://habrastorage.org/files/334/b59/ff9/334b59ff98cc41eab560006749203e93.png
[2]: http://habrahabr.ru/post/264805/#habracut

[>] Open source сервер онлайн-чатов на Java
habra.15
habrabot(difrex,1) — All
2015-08-18 05:00:02


![][1] Онлайн-чаты (или онлайн-консультанты) сегодня есть на многих сайтах. Кто-то ими активно пользуется, кто-то терпеть не может, а кто-то иногда открывает шутки ради. Для желающих развернуть свой собственный сервер чатов расскажу об open source решении [Live Chat Engine][2]. [Читать дальше →][3]

[1]: https://habrastorage.org/files/a62/d24/c35/a62d24c353834b4e80498064018633ee.png
[2]: https://github.com/edolganov/live-chat-engine
[3]: http://habrahabr.ru/post/264865/#habracut

[>] Когда размер имеет значение
habra.15
habrabot(difrex,1) — All
2015-08-18 12:30:02






Иногда встречаются задачи, для которых уменьшение размера приложения, а точнее, правильный баланс между размером и производительностью, является даже более приоритетным, чем скорость его выполнения. Такого рода проблемы существуют, в частности, при разработке для встраиваемых (embedded) систем. Для них приложения «затачиваются» под конкретный тип процессора с очень ограниченным размером памяти, а значит размер нашего приложения будет напрямую влиять на стоимость конечного продукта. Кроме того, можно добавить больше функциональности и улучшить качество самого кода. Компиляторы Intel обычно отдают предпочтение производительности и слабо заботятся о размере получаемого на выходе приложения. По умолчанию, фокус на максимальную скорость. Задача разработчика заключается в умении найти правильный баланс между скоростью выполнения приложения и используемыми оптимизациями компилятора, и его размером. В компиляторе Intel C/C++ имеется целый ряд возможностей, позволяющий контролировать этот баланс и делать размер приложения более приоритетным, чем его производительность. Давайте рассмотрим эти возможности. [Читать дальше →][1]

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

[>] Авторизация узла Пандоры
habra.14
habrabot(difrex,1) — All
2014-12-10 23:00:03


После статьи о [системе доверия][1], как и после статьи о [Пандоре][2], мне снова пишут люди. Особенно приятно, когда практикующие программисты задают конкретные вопросы. Чтобы в личной переписке не повторяться, я решил написать цикл статей об алгоритмах. Сегодня поговорим о 3-х (уже реализованных в коде) механизмах авторизации: _хэш-загадке_, которая ограждает от DoS-атак, _электронной подписи_, которая идентифицирует узел-собеседник, и _картинке-загадке_, которая отсеивает спамеров и ботов. ![][3] Поговорим о запланированных: бан-листе, системе штрафов, а также ускоренной авторизации по сеансовому ключу после обрыва связи. Для начала взглянем на общую диаграмму сеанса связи: [Смотреть диаграмму][4]

[1]: //habrahabr.ru/post/245111/
[2]: //habrahabr.ru/post/164149/
[3]: //habrastorage.org/files/2d8/d4e/569/2d8d4e569bb0457c9ea231c324bd0d3f.jpg
[4]: http://habrahabr.ru/post/245483/#habracut

[>] Отлов и обработка исключений в Yii2
habra.15
habrabot(difrex,1) — All
2015-08-18 13:00:03


В Yii2 по-умолчанию все Exception обрабатываются, за это отвечает специальный обработчик. Если при обработке запроса возникает нехорошая ситуация (например, пришли некорректные данные от клиента), то можно выбросить исключение. Обработчик сформирует человекообразный ответ. Интересно, что в таком случае ошибка “Warning: Uncaught exception” в лог ошибок не выводится. Может создаться впечатление, что все исключения перехватываются средствами фреймворка. Но это не так. На наш проект некоторое время назад натравили средство мониторинга (в нашем случае New Relic), которое информацию обо всех выброшенных исключениях отображает в ошибках (именно как “Warning: Uncaught exception”), считает эти исключения необработанными. С этим надо было что-то делать. Ниже расскажу о схеме обработки исключений, которую в итоге выбрал. Вполне возможно, что кому-то это еще пригодится. [Читать дальше →][1]

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

[>] Стартовал краудсорсинговый перевод OWASP Testing Guide 4.0 на 30 языков (в т. ч. и на русский)
habra.14
habrabot(difrex,1) — All
2014-12-11 02:30:02


![image][1] Сегодня в твиттере проекта [OWASP][2] появилась [запись][3], приглашающая всех желающих присоединиться к переводу [OWASP Testing Guide 4.0][4]. Присоединиться к переводу можно [здесь][5]. [Что за OWASP такой и немного подробнестей][6]

[1]: http://habrastorage.org/files/0a0/4c1/e59/0a04c1e5905740ec85aa238514fbba12.jpg
[2]: https://www.owasp.org/index.php/Main_Page
[3]: https://twitter.com/owasp/status/542694851041832960
[4]: https://www.owasp.org/index.php/OWASP_Testing_Project
[5]: https://crowdin.com/project/owasp-testing-guide-40
[6]: http://habrahabr.ru/post/245537/#habracut

[>] Использование замыканий и функций высших порядков в Delphi
habra.14
habrabot(difrex,1) — All
2014-12-11 11:00:04


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

[1]: http://habrahabr.ru/post/243721/
[2]: http://habrahabr.ru/post/244945/#habracut

[>] ASH Viewer
habra.14
habrabot(difrex,1) — All
2014-12-11 14:00:04


**Предыстория (2008 г.)** По работе часто приходилось разбираться с производительностью серверов БД Oracle. После выхода Oracle 10g задача по мониторингу и диагностике проблем с производительностью значительно упростилась – с помощью истории активных сессий ([Active Session History, ASH][1]) стало возможно узнать, что происходило с БД в прошлом, что творится на сервере в данный момент, и даже прогнозировать, что будет происходить с нагрузкой в будущем. Но, во-первых, процесс миграции на новую версию достаточно длительный, и некоторые заказчики продолжали использовать старые версии. А во-вторых, средства визуализации истории активных сессий от Oracle, которые имелись в наличии:

* Требовали некоторых телодвижений по их установке и настройке – это Oracle Enterprise Manager Console (DB Console) или Oracle Enterprise Manager Grid Control (сейчас Oracle Enterprise Manager Cloud Control). DB Console из моей (и не только) практики требовал для установки применения очень сильных админских заклятий. Также в целях экономии ресурсов не все хотят ставить на сервера БД дополнительные сервисы или разворачивать на своей площадке отдельную инфраструктуру для мониторинга;
* Обладали рядом архитектурных недостатков. К примеру, в случае зависания сервера БД доступ к информации из истории активных сессий посредством Oracle Enterprise Manager Console становился невозможным, и оперативно выяснить, что «что-то пошло не так» (с) было практически нереально;
* Отсутствовала функциональность в части сохранения данных мониторинга и последующего его анализа на своей площадке.

Из сторонних бесплатных средств, похожая функциональность была реализована в утилите [ASHMON][2] за авторством Kyle Hailey. Но функционал был только для просмотра, и работала она под одну платформу – Windows. В общем, после рассмотрения всех доступных на тот момент вариантов, было принято волевое решение собирать свой «велосипед» из подручных материалов. ![][3] [Читать дальше →][4]

[1]: http://www.oracle.com/technetwork/issue-archive/2013/13-jan/o13dba-1871177.html
[2]: http://datavirtualizer.com/ash-masters/ashmon/
[3]: //habrastorage.org/files/5f6/5ea/1fd/5f65ea1fd954491499c0a9ee1a0337dd.png
[4]: http://habrahabr.ru/post/245507/#habracut

[>] Заявлен релиз Go 1.4
habra.14
habrabot(difrex,1) — All
2014-12-11 17:00:03


[Blog Post][1] [Release Notes][2] [Дистрибутив][3]

###### Значимые нововведения для разработчиков на языке:

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

[1]: https://blog.golang.org/go1.4
[2]: https://golang.org/doc/go1.4
[3]: https://golang.org/dl/
[4]: http://habrahabr.ru/post/245603/#habracut

[>] [Из песочницы] Роскомнадзор сам нарушает 152 ФЗ РФ?
habra.14
habrabot(difrex,1) — All
2014-12-11 19:30:04


Началось все с того, что управляющая компания прислала мне пароль. Мой новый сгенерированный пароль из 20 символов в открытом виде. Не тот, который она сама для меня сгенерировала год назад для первого входа. ![image][1] [Читать дальше →][2]

[1]: http://i.imgur.com/v116RCm.png
[2]: http://habrahabr.ru/post/245635/#habracut

[>] Стартовал краудсорсинговый перевод OWASP Testing Guide 4.0 на 30+ языков (в т. ч. и на русский)
habra.14
habrabot(difrex,1) — All
2014-12-11 21:00:04


![image][1] Сегодня в твиттере проекта [OWASP][2] появилась [запись][3], приглашающая всех желающих присоединиться к переводу [OWASP Testing Guide 4.0][4]. Присоединиться к переводу можно [здесь][5]. [Что за OWASP такой и немного подробнестей][6]

[1]: http://habrastorage.org/files/0a0/4c1/e59/0a04c1e5905740ec85aa238514fbba12.jpg
[2]: https://www.owasp.org/index.php/Main_Page
[3]: https://twitter.com/owasp/status/542694851041832960
[4]: https://www.owasp.org/index.php/OWASP_Testing_Project
[5]: https://crowdin.com/project/owasp-testing-guide-40
[6]: http://habrahabr.ru/post/245537/#habracut

[>] Простая система событий — нестандартный подход
habra.14
habrabot(difrex,1) — All
2014-12-11 22:00:02


Данная заметка является логическим продолжением поста [«SMessage — Простая и предсказуемая система событий для Unity»][1]. Пользователь [erlioniel][2] описал два подхода к построению собственной системы сообщений: с использованием перечислений и классов-сообщений. В своей заметке я хочу рассказать о возможном пути смешения этих подходов и о велосипеде, который может из этого получиться. [Ненормальное программирование][3]

[1]: http://habrahabr.ru/post/245353/
[2]: http://habrahabr.ru/users/erlioniel/
[3]: http://habrahabr.ru/post/245487/#habracut

[>] Deephack: хакатон по глубокому обучению с подкреплением, или как мы улучшали алгоритм Google Deepmind
habra.15
habrabot(difrex,1) — All
2015-08-18 13:30:02


С 19 по 25 июля проходил хакатон [Deephack][1], где участники улучшали алгоритм обучения с подкреплением на базе Google Deepmind. Цель хакатона — научиться лучше играть в классические игры Atari (Space Invaders, Breakout и др.). Мы хотим рассказать, почему это важно и как это было. Авторы статьи: Иван Лобов [IvanLobov][2], Константин Киселев [mrKonstantin][3], Георгий Овчинников [ovchinnikoff][4]. Фотографии мероприятия: Мария Молокова, Политехнический музей. Почему хакатон по обучению с подкреплением это круто:

* Это первый в России хакатон с использованием глубокого обучения и обучения с подкреплением;
* Алгоритм Google Deepmind — одно из последних достижений в области обучения с подкреплением;
* Если вас интересует искусственный интеллект, то эта тема — очень близка к этому понятию (хотя мы сами и не хотели бы называть это ИИ).

![][5] [Читать дальше →][6]

[1]: http://deephack.me/
[2]: http://habrahabr.ru/users/ivanlobov/
[3]: http://habrahabr.ru/users/mrkonstantin/
[4]: http://habrahabr.ru/users/ovchinnikoff/
[5]: https://habrastorage.org/files/65d/7a7/969/65d7a7969f204cedab1a6d54427fdc4b.png
[6]: http://habrahabr.ru/post/264871/#habracut

[>] [Из песочницы] Генератор отчетов ActivityManager. Очередной велосипед, но в профиль
habra.14
habrabot(difrex,1) — All
2014-12-11 22:00:02


**ActivityManager** — это менеджер формирования отчетов, базирующийся на замене шаблонных строк. Основными особенностями ActivityManager являются:

* Независимость от источника данных: поддерживаются все СУБД, для которых существуют провайдеры .Net, и не только;
* Формирование шаблонов без использования COM: все отчеты формируются непосредственно в XML;
* Поддержка форматов отчетов ods, odt, docx, xlsx. Независимость от наличия текстового процессора на конечном компьютере пользователя: эта особенность вытекает из предыдущей;
* Наличие механизмов пред-обработки данных: изменение формата представления ФИО, денежных сумм, целых, вещественных чисел и дат, в том числе и возможность изменения падежа, в котором должны быть представлены конечные данные;
* Наличие механизмов пост-форматирования данных;
* Простота использования и расширения благодаря наличию редактора конфигурации отчетов и простой плагинной архитектуре.

Конфигурацию отчета при помощи ActivityManager можно условно разделить на 3 части: выборка данных, их обработка и непосредственно формирование отчета. Подробную информацию по каждому из этапов смотри в соответствующих разделах. [Много текста][1]

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

[>] Представляем Hub 1.0 — коннектор для командных продуктов JetBrains
habra.15
habrabot(difrex,1) — All
2015-08-18 14:30:03


Привет, Хабр! Сегодня мы рады представить совершенно новый продукт в линейке JetBrains — Hub 1.0. Он служит единой точкой входа для наших командных продуктов: баг-трекера _YouTrack_, инструмента для код-ревью _Upsource_, а в скором времени и нашего сервера непрерывной интеграции _TeamCity_. Hub абсолютно бесплатен и по умолчанию поставляется с лицензией для неограниченного количества пользователей. ![image][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/75e/3ac/5d5/75e3ac5d54a040a68d53946200bd0fd3.png
[2]: http://habrahabr.ru/post/264943/#habracut

[>] Медиана: точно, иногда точно и почти точно
habra.15
habrabot(difrex,1) — All
2015-08-18 16:00:02


Если пройтись по коллегам и спросить сколько у них сотовых телефонов, то окажется, что в среднем их около 2.5, но при этом у подавляющего большинства их не больше одного. Тут возникает сразу множество вопросов начиная от того, почему их вдруг не целое число и как же все-таки оценить сколько телефонов в среднем у человека. ![][1] Для таких целей подойдет оценка медианы. То есть такая статистика, что половина значений выборки меньше, а половина больше. Другими словами: упорядочим значения выборки ![X=(x1,..., xn)][2] по порядку ![(x[1], ..., x[n])][3] и выберем среди них с порядковым номером ![floor(n/2)][4]. У такой оценки есть несколько преимуществ. Она менее подвержена влиянию ошибочных данных, значение всегда будет из того множества, что встречалось в выборке, но есть и неприятные недостатки, главный из них, это сложность подсчета, даже для довольно распространенных распределений не существует общей формулы расчета (точнее есть, но ее сложно применить на практике, смотрите [Распределение порядковой статистики][5]). [Читать дальше →][6]

[1]: https://habrastorage.org/files/30b/26e/f8d/30b26ef8d5094390bd40d5bb624b7eba.png
[2]: http://tex.s2cms.ru/svg/X%3D(x1%2C...%2C%20xn)
[3]: http://tex.s2cms.ru/svg/(x%5B1%5D%2C%20...%2C%20x%5Bn%5D)
[4]: http://tex.s2cms.ru/svg/floor(n%2F2)
[5]: https://ru.wikipedia.org/wiki/%CF%EE%F0%FF%E4%EA%EE%E2%E0%FF_%F1%F2%E0%F2%E8%F1%F2%E8%EA%E0
[6]: http://habrahabr.ru/post/264987/#habracut

[>] Статистические задачи идентификации сетевых структур
habra.15
habrabot(difrex,1) — All
2015-08-18 20:00:02


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




В условиях статистической природы исходных данных возникает задача идентификации сетевых структур. Лекция, которую мы выбрали для вас сегодня, посвящена недавнему развитию этой темы в рамках теории одновременной проверки многих статистических гипотез (multiple decision statistical procedures, multiple test procedures). Такой подход позволяет разработать методы оценки статистической неопределенности сетевых структур и выделить оптимальные и устойчивые статистические процедуры идентификации. Оказывается, что сетевые структуры, построенные по вероятностям совпадения знаков, оказываются предпочтительными перед структурами, построенными по классическим корреляциям Пирсона. В рассказе рассмотрены приложения результатов к анализу фондовых рынков. Доклад был прочитан на факультете компьютерных наук, открытом при поддержке Яндекса в Вышке. Лектор [Валерий Калягин][1] — доктор физико-математических наук, [ординарный профессор][2] НИУ ВШЭ. Заведует кафедрой прикладной математики и информатики и лабораторией алгоритмов и технологий анализа сетевых структур НИУ ВШЭ в Нижнем Новгороде. Под катом — полная расшифровка лекции. [Читать дальше →][3]

[1]: http://www.hse.ru/org/persons/930360
[2]: http://www.hse.ru/info/collegium
[3]: http://habrahabr.ru/post/265029/#habracut

[>] Установка Archlinux на телефон с Android во второй раздел SD или просто подпапку системной карты памяти
habra.14
habrabot(difrex,1) — All
2014-12-11 23:30:03


![image][1] Привет всем. Тут уже была [статья][2] на тему Botbrew, где в целом описано что это такое и что это дает. Вкратце:

> Проект BotBrew призван решить многие проблемы с установкой Linux-софта, которые только могут возникнуть у пользователя, и подготовить систему Android к принятию инородных для нее приложений.

Обычный, классический Botbrew имеет свой репозиторий, но в нем мало пакетов, что грустно. Тем, кто действительно хочет беспредельничать, понравится Borbrew-Basil, который использует дебиановский репозиторий [emdebian][3]. Однако, с ним нынче тоже все грустно, так как

> As of July 2014, updates to the Emdebian distributions ceased. There will be no further updates and no further stable releases.

Получается, что даже те, кто когда-то поставил себе emdebian, нынче в пролете. Данный пост будет о том, как поставить на рутованный телефон [Archlinux][4], но не как обычно в loop образ, а на родную файловую систему Android или второй раздел SD. Предполагается, что имеется рутованный телефон с установленным busybox, включенной отладкой по USB и утилита adb на основном компьютере. [Читать дальше →][5]

[1]: http://habrastorage.org/getpro/habr/post_images/fbc/b6c/2af/fbcb6c2af37f61457195b8e27a03d3d8.jpg
[2]: http://habrahabr.ru/company/xakep/blog/208518/
[3]: http://www.emdebian.org/
[4]: http://archlinuxarm.org
[5]: http://habrahabr.ru/post/221543/#habracut

[>] 6-й санкт-петербургский Perl-воркшоп и хакатон Saint Perl 2014
habra.14
habrabot(difrex,1) — All
2014-12-12 00:30:02






В декабре Perl празднует свой 27-й день рождения. А мы традиционно проводим приуроченный к этой славной дате очередной, шестой уже по счёту, [Saint Perl][1]. В этом году он состоится 20-21 декабря. [Читать дальше →][2]

[1]: http://event.yapcrussia.org/saintperl6/
[2]: http://habrahabr.ru/post/245639/#habracut

[>] Детекторы углов
habra.14
habrabot(difrex,1) — All
2014-12-12 01:00:03


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

* Введение
* Свойства особых точек
* Детекторы углов
* Moravec
* Harris
* Shi-Tomasi
* Förstner
* SUSAN
* Trajkovic
* FAST
* CSS
* Детектор, основанный на глобальных и локальных свойствах кривизны
* CPDA
* Выводы

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

[1]: //habrastorage.org/files/223/0aa/554/2230aa5547674590b5410071da4bb24a.jpg
[2]: http://habrahabr.ru/post/244541/#habracut

[>] Документируем ошибки в Doxygen
habra.15
habrabot(difrex,1) — All
2015-08-18 20:00:02


![][1] В этой статье речь пойдет о проверке системы документирования doxygen. Этот известный и широко используемый проект, по имеющему основания заявлению разработчиков, ставший фактически стандартом для документирования программного обеспечения, написанного на языке C++, еще не был проверен PVS-Studio. Doxygen просматривает исходный код программ и генерирует по нему документацию. Пришло время нам заглянуть в его исходники и посмотреть, что сможет найти PVS-Studio. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/318/608/cc2/318608cc20b96b6895a5ba1207b00c7b.png
[2]: http://habrahabr.ru/post/265025/#habracut

[>] Установка, настройка и тестирование Fedora 21 Workstation на личном или игровом компьютере
habra.14
habrabot(difrex,1) — All
2014-12-12 03:00:03


![][1] 9-го декабря вышла новая Fedora 21 Workstation, которую по совокупности параметров можно назвать «самым свежим и стабильным» Линукс-десктопом. За время использования и тестирования Fedora я проникся к этой платформе глубокой симпатией и хочу поделиться этим теплом и знаниями о ней с вами. В течение года я наблюдал за её работой в качестве рабочего и игрового места в разных ситуациях — от станций с «умирающим» железом до нового игрового ноутбука Asus G750JM с Nvidia Optimus. Собранные заметки получились несколько шершавыми, старающимися охватить одновременно и новичков в Линуксе, и опытных пользователей с разработчиками. Прошу простить. Хочу донести большой объем информации в одной статье: и по общей настройке и установке Федоры, и по технологии Nvidia Optimus на ноутбуках, wi-fi с проприетарными драйверами, о настройке симпатичных шрифтов в Java и IDE от JetBrains, запуску игр в Steam на дискретной видеокарте, о результатах сравнительного тестирования игр, графики и браузеров между Федорой и Windows 8.1, и даже об установлении одного «абсолютного» рекорда. Хочу отметить, что свежие десктопные Линуксы также отличаются качественной поддержкой дисплеев высокого разрешения с хорошей отрисовкой шрифтов и оконных элементов, предоставляют высочайшую степень различных персональных настроек, «хаков» и возможностей оперирования с приложениями. Всё это позволяет не только значительно повысить эффективность своей работы, но и сделать это с комфортом для глаз. [Читать дальше →][2]

[1]: //habrastorage.org/files/7f3/362/b71/7f3362b7109f44f0aa05dda11570b075.png
[2]: http://habrahabr.ru/post/245651/#habracut

[>] Светофоры тоже можно взломать
habra.15
habrabot(difrex,1) — All
2015-08-19 06:00:03


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

[1]: https://habrastorage.org/files/19c/c4b/f6f/19cc4bf6f1e6499e896e1303add9c2c8.png
[2]: http://habrahabr.ru/post/264647/#habracut

[>] Как растаращить class-файл
habra.14
habrabot(difrex,1) — All
2014-12-12 09:00:03


![][1]Обычно при компиляции Java-файла получаются .class-файлы примерно того же размера, что и исходник. Меня заинтересовало, можно ли по небольшому исходнику сделать .class-файл, который больше, сильно больше исходника. Можно поискать какие-то короткие конструкции языка, которые компилируются в длинные цепочки байткода, но линейный прирост меня не устраивал. Я сразу подумал про компиляцию finally-блоков: про неё уже [писали на Хабре][2]. Если вкратце, то для каждого finally-блока при непустом try-блоке создаётся минимум два варианта в байткоде: для случая нормального завершения try-блока и для случая завершения с исключением. В последнем случае исключение сохраняется в новую локальную переменную, выполняется код finally, затем исключение достаётся из локальной переменной и перебрасывается. А что если внутри finally снова разместить try-finally и так далее? Результат превзошёл все ожидания. [Читать дальше →][3]

[1]: //habrastorage.org/files/318/23d/27b/31823d27b8b6404386b1fb2811933e2d.gif
[2]: http://habrahabr.ru/post/212759/
[3]: http://habrahabr.ru/post/245333/#habracut

[>] Макросы в haxe: выполняем код прямо во время компиляции (и это нормально)
habra.14
habrabot(difrex,1) — All
2014-12-12 13:00:04


![][1]В [предыдущей статье][2] я немного рассказал про haxe — простой и удобный язык общего назначения. Однако, кроме простоты и понятности, есть в нём и вещи глубокие — такие, как концепция макросов — кода, который выполняется в процессе компиляции. Почему в haxe нет традиционных Си-подобных макросов и какие возможности нам отрывают haxe-макросы, и пойдёт речь в статье. [Читать дальше →][3]

[1]: //habrastorage.org/files/cb0/198/fb8/cb0198fb8c874476b3f46e96c9299943.png
[2]: /post/243199/
[3]: http://habrahabr.ru/post/245617/#habracut

[>] No cON Name CTF 2014 Final
habra.14
habrabot(difrex,1) — All
2014-12-12 14:00:04


С 30 октября по 1 ноября в Барселоне проходила международная конференция по информационной безопасности _No cON Name 2014_, в рамках которой уже второй раз проводился финал соревнований «_Capture The Flag_». Команда университета Иннополис BalalaikaCr3w приняла участие в этом соревновании и заняла первое место. Под катом наш рассказ о том, как это было, несколько примеров заданий и благодарности тем, кто нам в этом помог. ![][1] _CTF-зона во время финала_ [Читать дальше →][2]

[1]: //habrastorage.org/files/bb0/ac7/277/bb0ac727781e4d19a59cd47da365b7db.jpg
[2]: http://habrahabr.ru/post/245011/#habracut

[>] [Из песочницы] Атака на архиваторы. Скрываемся в одном архиве от трех программ
habra.15
habrabot(difrex,1) — All
2015-08-19 13:30:02


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

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

[>] [Из песочницы] Vim FileStyle: проверяем открытый файл на соответствие настройкам Vim
habra.14
habrabot(difrex,1) — All
2014-12-12 16:00:04




### **Зачем это нужно**

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

* Пробелы или табуляция
* Длина строки

Несоблюдение приведенных выше параметров стиля _разными_ людьми в пределах одного файла ведет с следующим проблемам:

* Изрезанность кода
* Необходимость горизонтального скроллинга

Часто такие проблемы возникают из-за того, что новый человек, вошедший в проект, не настроил редактор корректно, и это остается незамеченным вплоть до того момента, как становится нужно сравнить разные версии одного и того же файла. ![][1] Чтобы сразу при открытии файла видеть подобные проблемы, я написал небольшой плагин. [Читать дальше →][2]

[1]: //habrastorage.org/files/13e/f9f/7cd/13ef9f7cdac74689991ef6d713ffc100.png
[2]: http://habrahabr.ru/post/245691/#habracut

[>] [Из песочницы] Создание бота-тестера для match-3 игры
habra.15
habrabot(difrex,1) — All
2015-08-19 14:00:03


В процессе работы над match-3 проектом рано или поздно обязательно встает вопрос — как оценивать сложность созданных уровней и общий баланс игры? Даже при большом количестве тестеров в команде, собрать подробную статистику по каждому уровню (а в современных играх их сотни) просто нереально. Очевидно, что процесс тестирования нужно как-то автоматизировать. Ниже рассказ о том, как мы это сделали в нашей инди-матч3-игре, над которой сейчас заканчиваем работать. (Осторожно — портянка!) [Читать дальше →][1]

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

[>] Перенос ОС Windows на другой компьютер средствами ОС Linux
habra.14
habrabot(difrex,1) — All
2014-12-12 16:00:04


После прочтения статьи [«Фривольное клонирование ОС MS Windows XP / Server 2003 своими руками, средствами GNU/Linux»][1] возникло естественное желание дополнить ее в соответствии с реалиями конца 2014 года. В общем, проблема разворачивания той или иной версии Windows состоит из двух частей — во-первых, нужно скопировать данные разделов с эталонного ПК на новый, и, во-вторых, надо обеспечить загрузку Windows на изменившемся оборудовании.

### MBR и таблица разделов

Начнем с копирования данных. Какие же данные нам нужно скопировать? Для Windows XP это MBR (446 байт в начале диска, основная таблица разделов и завершающая сигнатура 55AAh), данные о расширенных разделах и собственно данные системного раздела Windows. Для Vista и Windows 7 добавляется еще и 100-мегабайтный системный раздел (GPT не рассматриваем). При этом нужно помнить, что первый раздел в Windows XP по-умолчанию начинается с сектора 63, а в Windows Vista/7 — с сектора 2048. Естественно, все операции мы будем проводить на незапущенной Windows, загрузившись с [System Resque CD][2]. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/244893
[2]: http://www.sysresccd.org/SystemRescueCd_Homepage
[3]: http://habrahabr.ru/post/245663/#habracut

[>] От математики к обобщенному программированию
habra.14
habrabot(difrex,1) — All
2014-12-12 19:00:07


Здравствуйте! Всего месяц назад в издательстве Addison-Wesley вышла книга [Александра Степанова][1] — русско-американского учёного в области IT — [«From Mathematics to Generic Programming»][2]. Наверняка многие знакомы с его работой [«Начала программирования»][3], выходившей в 2011 году в «Вильямсе». [Читать дальше →][4]

[1]: https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD%D0%BE%D0%B2,_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D0%B8%D1%87_(%D1%83%D1%87%D1%91%D0%BD%D1%8B%D0%B9)
[2]: http://www.amazon.com/Mathematics-Generic-Programming-Alexander-Stepanov/dp/0321942043/ref=sr_1_1?s=books&ie=UTF8&qid=1418387078&sr=1-1&keywords=From+Mathematics+to+Generic+Programming&pebp=1418387077905
[3]: http://www.ozon.ru/context/detail/id/6279127/#tab_comments
[4]: http://habrahabr.ru/post/245709/#habracut

[>] WiFi Pineapple Mark V: черный ящик для беспроводного перехвата
habra.14
habrabot(difrex,1) — All
2014-12-12 19:00:07


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

#### Описание устройства

**WiFi Pineapple** — это продукт предприимчивых американцев, которые заказали у китайцев Wi-Fi роутер с двумя беспроводными интерфейсами и одним проводным, написали под него прошивку на базе OpenWRT и напичкали утилитами для взлома\\перехвата и анализа трафика. У устройства 3 сетевых интерфейса (2 беспроводных с возможностью работы в режиме монитора и 1 проводной ), 1 USB порт для флешки\\3-4G модема\\GPS-треккера и слот для microSD карт. Так же на корпусе устройства есть набор тумблеров, сочетание которых позволяет запускать устройство с пакетом заранее присвоенных выбранному сочетанию команд, что сокращает время предварительной настройки, если задача является типовой и регулярной. [Читать дальше →][2]

[1]: //habrastorage.org/files/c71/853/dad/c71853dad0c6412788e940146a86754e.jpg
[2]: http://habrahabr.ru/post/245717/#habracut

[>] [Из песочницы] Concurrency структуры в .net. ConcurrentDictionary изнутри
habra.14
habrabot(difrex,1) — All
2014-12-12 22:30:02


Все началось с одного собеседования, которое и натолкнуло меня к написанию данной статьи. Довольно большая часть разработчиков на платформе .Net не понимает базовые вещи, хотя и использует их повседневно, например lock-ом оборачивают все методы, использующие ConcurrentDictionary, хотя можно было бы обойтись обычным Dictionary<>. В науке существуют 3 основных способа реализации конкурентных структур данных: • Lock-free структуры данных; • Fine-grained блокировка; • Transactional memory implementation(транзакционная память); ConcurrentDictionary<TKey, TValue> — это thread-safe аналог Dictionary<TKey, TValue>. В его основе лежит, так называемый Fine-grained блокировка. [Читать дальше →][1]

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

[>] [Из песочницы] Какой цикл быстрее? Тестируем 1С
habra.14
habrabot(difrex,1) — All
2014-12-12 22:30:02


Занимаюсь программированием 1С уже несколько лет, и тут посетила мысль — _«А не пройти ли какой-нибудь обучающий курс, вдруг в знаниях есть какие-то пробелы, о которых раньше даже и не подозревал»?_ Сказано-сделано. Сижу, слушаю курс, дохожу до циклических операторов и тут вторая мысль — _«А какой цикл быстрее»?_ Надо бы проверить. Итак, я нашел _пять способов_, как можно организовать цикл средствами 1С. [Читать дальше →][1]

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

[>] Поиск наилучшей последовательности просмотра списка 250 лучших фильмов с помощью языка Wolfram Language (Mathematica)
habra.14
habrabot(difrex,1) — All
2014-12-13 02:30:03






_Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно [здесь][1] (архив, ~76 МБ)._

### Введение

Некоторое время назад, если быть точным — 515 дней, вышел пост Маттиаса Одисио (Matthias Odisio) под названием “[Random and Optimal Mathematica Walks on IMDb’s Top Films][2]” (Случайные и оптимальные блуждания _Mathematica_ по списку 250 лучших фильмов по версии IMDB). В нем рассказывается о том, каким образом можно получить оптимальную последовательность просмотра фильмов из соответствующего [списка][3], основанную на близости жанров фильмов и близости постеров фильмов с точки зрения цвета. [Читать дальше →][4]

[1]: http://goo.gl/YJzAUc
[2]: http://blog.wolfram.com/2013/07/15/random-and-optimal-mathematica-walks-on-imdbs-top-films/
[3]: http://www.imdb.com/chart/top
[4]: http://habrahabr.ru/post/245735/#habracut

[>] Пофессиональная подготовка в области практической ИБ: «Корпоративные лаборатории». Новый набор
habra.15
habrabot(difrex,1) — All
2015-08-19 15:00:02


![image][1]

> ####

Открыт набор в новые группы «Корпоративных лабораторий» — уникальной в России и СНГ программы подготовки в области практической безопасности от компании PENTESTIT. Уникальность «Корпоративных лабораторий» заключается в симбиозе формата обучения, качества материала и специализированных ресурсов, на которых производится обучение. Помимо сильнейшей практической подготовки, программа включает интересные курсы-вебинары, по уровню сравнимые с материалом профессиональных конференций по практической безопасности. Дата начала обучения: 11.10.2015 г. Отсуствите обязательного согласования программы с различными инстансами позволяют производить акутализацию материала с каждым набором, таким образом «Корпоративные лаборатории» включают на момент начала обучения наиболее современные техники и инструменты поиска и эксплуатации уязвимостей, а также самые эффективные инструменты защиты. [Читать дальше →][2]

[1]: https://habrastorage.org/files/025/cba/dc5/025cbadc52f7469da65e4e903d25fb41.png
[2]: http://habrahabr.ru/post/264827/#habracut

[>] Выразительный JavaScript: Формы и поля форм
habra.14
habrabot(difrex,1) — All
2014-12-13 08:00:02




#### Содержание



* [Введение][1]
* [Величины, типы и операторы][2]
* [Структура программ][3]
* [Функции][4]
* [Структуры данных: объекты и массивы][5]
* [Функции высшего порядка][6]
* [Тайная жизнь объектов][7]
* [Проект: электронная жизнь][8]
* [Поиск и обработка ошибок][9]
* [Регулярные выражения][10]
* [Модули][11]
* [Проект: язык программирования][12]
* [JavaScript и браузер][13]
* [Document Object Model][14]
* [Обработка событий][15]
* [Проект: игра-платформер][16]
* [Рисование на холсте][17]
* [HTTP][18]
* [Формы и поля форм][19]
* Проект: Paint
* Node.js
* Проект: веб-сайт по обмену умениями
* [Песочница для кода][20]

_I shall this very day, at Doctor’s feast, My bounden service duly pay thee. But one thing!—For insurance’ sake, I pray thee, Grant me a line or two, at least. Mephistopheles, in Goethe's Faust_ Формы были кратко представлены в предыдущей главе в качестве способа передачи информации, введённой пользователем, через HTTP. Они были разработаны в вебе до появления JavaScript, с тем расчётом, что взаимодействие с сервером происходит при переходе на другую страницу. Но их элементы являются частями DOM, как и остальные части страницы, а элементы DOM, представляющие поля формы, поддерживают несколько свойств и событий, которых нет у других элементов. Это делает возможным просматривать и управлять полями ввода из программ JavaScript и добавлять функциональности к классическим формам или использовать формы и поля как основу для построения приложения. [Читать дальше →][21]

[1]: http://habrahabr.ru/post/240219/
[2]: http://habrahabr.ru/post/240223/
[3]: http://habrahabr.ru/post/240225/
[4]: http://habrahabr.ru/post/240349/
[5]: http://habrahabr.ru/post/240813/
[6]: http://habrahabr.ru/post/241155/
[7]: http://habrahabr.ru/post/241587/
[8]: http://habrahabr.ru/post/241776/
[9]: http://habrahabr.ru/post/242609/
[10]: http://habrahabr.ru/post/242695/
[11]: http://habrahabr.ru/post/243273/
[12]: http://habrahabr.ru/post/243277/
[13]: http://habrahabr.ru/post/243311/
[14]: http://habrahabr.ru/post/243815/
[15]: http://habrahabr.ru/post/244041/
[16]: http://habrahabr.ru/post/244405/
[17]: http://habrahabr.ru/post/244545/
[18]: http://habrahabr.ru/post/245145/
[19]: http://habrahabr.ru/post/245731/
[20]: http://eloquentjavascript.net/code
[21]: http://habrahabr.ru/post/245731/#habracut

[>] CPU vs GPU. Distance field
habra.14
habrabot(difrex,1) — All
2014-12-13 09:30:03


![][1]Привет всем. Я уже однажды писал про Distance Field, и приводил реализацию «эвристическим» кодом дающую неплохую скорость: [habrahabr.ru/post/186482/][2]

#### Зачем он нужен?

DField можно применять:

* Для значительного повышения качества шрифтов
* Для эффектов например горения контура. Один из эффектов я приводил в своей предыдущей статье
* Для эффекта «metaballs» но в 2д и для любых сложных шейпов. (возможно я когда-нибудь приведу пример реализации этого эффекта)
* А в данный момент DField мне нужен для качественного сглаживания углов и удаления мелких деталей.

И если в первых двух случаях мы можем заранее вычислить DField, то для других эффектов нам нужно просчитывать его в реальном времени. В статье будет рассмотрен наиболее популярный, я бы сказал классический Chamfer distance (CDA) с кучей картинок, объясняющих принцип его работы, а так же рассмотрен двухпроходный алгоритм на GPU. Оба алгоритма [реализованы в демонстрационных программах на FPC][3]. [Читать дальше →][4]

[1]: //habrastorage.org/files/699/ff7/4e5/699ff74e5715436c9b7ee44a814690e2.png
[2]: http://habrahabr.ru/post/186482/
[3]: https://sourceforge.net/projects/dfsamples/
[4]: http://habrahabr.ru/post/245729/#habracut

[>] В поисках аналога функций первого порядка в СУБД Caché
habra.15
habrabot(difrex,1) — All
2015-08-19 18:00:02


Пост написан в дополнение к статье [Декларативная разработка на Caché][1].

[2, 3, 5, 7, 11, 13, 17].forEach(function(i) {
console.log(i);
});


Как делать такое в Caché с помощью [COS][2]? Под катом несколько упражнений на заданную тему. [Читать дальше →][3]

[1]: http://habrahabr.ru/company/intersystems/blog/212671/
[2]: http://docs.intersystems.com/cache201512/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS
[3]: http://habrahabr.ru/post/264983/#habracut

[>] Профессиональная подготовка в области практической ИБ: «Корпоративные лаборатории». Новый набор
habra.15
habrabot(difrex,1) — All
2015-08-19 18:00:02


![image][1]

> ####

Открыт набор в новые группы «Корпоративных лабораторий» — уникальной в России и СНГ программы подготовки в области практической безопасности от компании PENTESTIT. Уникальность «Корпоративных лабораторий» заключается в симбиозе формата обучения, качества материала и специализированных ресурсов, на которых производится обучение. Помимо сильнейшей практической подготовки, программа включает интересные курсы-вебинары, по уровню сравнимые с материалом профессиональных конференций по практической безопасности. Дата начала обучения: 11.10.2015 г. Отсуствите обязательного согласования программы с различными инстансами позволяют производить акутализацию материала с каждым набором, таким образом «Корпоративные лаборатории» включают на момент начала обучения наиболее современные техники и инструменты поиска и эксплуатации уязвимостей, а также самые эффективные инструменты защиты. [Читать дальше →][2]

[1]: https://habrastorage.org/files/025/cba/dc5/025cbadc52f7469da65e4e903d25fb41.png
[2]: http://habrahabr.ru/post/264827/#habracut

[>] Внедряем StyleCop в MSBuild
habra.15
habrabot(difrex,1) — All
2015-08-19 21:30:03


Всё чаще возникают задачи автоматизации разных процессов в рамках CI. Поковырявшись с MSBuild, я всё больше убеждаюсь, что это довольно мощный инструмент. При желании, им много чего можно сделать. Однако ни в рунете вцелом, ни конкретно на хабре я не нашёл статей по нему и решил позаполнять этот пробел по мере сил и наличия свободного времени. Итак, сегодня мы будем готовить

## StyleCop

Задача: реализовать тотальную принудительную проверку кода (C#) на соответствие правилам оформления. Условие: тотально, принудительно. Т.е. весь код, попадающий на сборку, должен быть проверен в обязательном порядке. В случае обнаружения нарушений — build error и вперёд, рефакторить. Инструменты: [StyleCop][1], MSBuild (TFS или TeamCity — неважно). [Читать дальше →][2]

[1]: http://stylecop.codeplex.com/
[2]: http://habrahabr.ru/post/265081/#habracut

Pages: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ... 210