RSS
Pages: 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41
[>] Внутри антивируса для сайтов Вирусдай — Часть 1
habra.14
habrabot(difrex,1) — All
2015-06-24 17:30:02


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

[1]: https://habrastorage.org/files/c0f/d95/768/c0fd957680fb4c2aa4f750cff6141986.png
[2]: https://virusdie.ru/
[3]: http://habrahabr.ru/post/261039/#habracut

[>] Маленькие радости структурированных метаданных
habra.14
habrabot(difrex,1) — All
2015-06-24 17:30:02


Несколько дней назад я помогал в проекте интеграции [Ultima Businessware][1] и другой учетной системы. Кроме прочего, я хотел получить список того, что должно синхронизироваться в системе не только «из головы», но и каким-то объективным способом. Что получилось — под катом. [Читать дальше →][2]

[1]: http://www.ultimabusinessware.com/
[2]: http://habrahabr.ru/post/260897/#habracut

[>] Релиз CrystaX NDK 10.2
habra.14
habrabot(difrex,1) — All
2015-06-24 17:30:02


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

[1]: https://www.crystax.net/android/ndk
[2]: http://habrahabr.ru/post/261049/#habracut

[>] Антивирусы под прицелом: большая дыра в ESET и атака на Касперского
habra.14
habrabot(difrex,1) — All
2015-06-24 17:30:02


[![][1]][2] Месяц июнь оказался богат на новости, посвященные компроментации двух лидеров российского рынка антивирусного ПО. Первую из этих историй [рассказала][3] сама «Лаборатория Касперского», не без юмора назвав отчёт Duqu Bet и как бы намекая на [израильское происхождение][4] атакующих. Однако два дня назад появились более серьезные материалы на ту же тему: издание Intercept опубликовало очередное откровение Сноудена, в котором рассказывается, что американские и британские спецслужбы ещё в 2008 году «отчитались о проделанной работе» по взлому анивирусных продуктов Касперского. Согласно этим документам, британская GCHQ [изучала][5] продукты ЛК для того, чтобы помешать антивирусам выявлять атаки спецслужб. А американская NSA [искала уязвимости][6] в антивирусе для того, чтобы следить за пользователями благодаря высоким привилегиям доступа, которые получает защитное ПО на компьютерах своих пользователей. [Читать дальше →][7]

[1]: https://habrastorage.org/files/c67/0be/37c/c670be37c9974d89a1818996b21a5e89.jpeg
[2]: http://habrahabr.ru/company/pt/blog/261075/
[3]: https://blog.kaspersky.co.uk/kaspersky-statement-duqu-attack/
[4]: http://top.rbc.ru/technology_and_media/10/06/2015/557871cb9a794767160bd44b
[5]: https://firstlook.org/theintercept/document/2015/06/22/gchq-warrant-renewal/
[6]: https://firstlook.org/theintercept/document/2015/06/22/kaspersky-user-agent-strings/
[7]: http://habrahabr.ru/post/261075/#habracut

[>] Turing’s Cathedral: происхождение цифровой вселенной
habra.14
habrabot(difrex,1) — All
2015-06-24 17:30:02


Привет, хабр! Хочу рассказать про одну отличную, но в русскоязычном сегменте пока еще малоизвестную книгу — Turing’s Cathedral. [![][1]][2] [![][3]][4] Она описывает события сороковых-пятидесятых годов XX века, коими сопровождалась разработка и строительство первых в мире электронных цифровых компьютеров общего назначения. Но историей и устройством этих машин (ENIAC, EDVAC и так далее) уже давно [никого не удивишь][5], особенность же этой книги в том, что автор попытался максимально полно воссоздать происходящие в то время события — все мелкие детали, мнения, задумки и решения людей, вовлеченных в этот проект. Для этого он собрал все, до чего смог дотянуться — книги, статьи, мемуары, письма, технические отчеты, отладочные листинги, вахтенные журналы, личные записки, дневники и многое другое. Лично на рубеже веков провел десятки интервью с очевидцами тех событий и родственниками тех, кого уже не было в живых к тому моменту. Получилась уникальная ситуация — Дайсону удалось реализовать наверное последнюю возможность получить достоверную и не публиковавшуюся ранее информацию из первых рук. В итоге получился этакий эпохальный труд, дающий современному человеку возможность погрузиться в ту эпоху, когда понятия “программист” как такового не существовало, а принципы построения вычислительной техники, лежащие в основе практически всех используемых в настоящий момент устройств, еще только начинали формироваться. [Читать дальше →][6]

[1]: https://habrastorage.org/files/804/cf3/1f5/804cf31f53d74aa7964a05465c9b2803.jpg
[2]: https://habrastorage.org/files/c67/db0/5d3/c67db05d342e42388a59ff9708d1b8a4.jpg
[3]: https://habrastorage.org/files/eca/c68/e9a/ecac68e9a4ee4aef93321305ec6d2218.jpg
[4]: https://habrastorage.org/files/e85/5f2/179/e855f21790354422a80d80cda91f5193.jpg
[5]: http://habrahabr.ru/company/1cloud/blog/246787/
[6]: http://habrahabr.ru/post/261033/#habracut

[>] Майский Python Meetup: машинное обучение и куда класть исходники
habra.14
habrabot(difrex,1) — All
2015-06-24 17:30:02


Всем привет! Мы хотим поделиться с вами записями выступлений с предыдущего Python Meetup. В этот раз мы обсуждали полезность сохранения исходного кода с Григорием Петровым и особенности применения машинного обучения с Андрем Гриненко. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/ab8/bbb/21f/ab8bbb21fa1a4b3f8c30680c7dcedd0f.jpg
[2]: http://habrahabr.ru/post/261051/#habracut

[>] Программаное обеспечение Samsung способно намеренно отключать Windows Update
habra.14
habrabot(difrex,1) — All
2015-06-24 19:30:02


Именно это обнаружил Патрик Баркер (Patrick Barker) в ходе расследования инцидента с лэптопом Samsung. Как [пишет][1] в своем блоге Патрик, через форум [Sysnative][2] к нему обратился пользователь ноутбука Samsung, у которого возникла странная проблема с работой сервисов Windows Update. В ходе исследования системы на предмет вирусов, специалист, который, между прочим, является [Microsoft MVP][3], выявил исполняемы файл, ответственный за отключение службы обновления. К своему удивлению им оказался файл с недвусмысленным названием Disable\_Windowsupdate.exe и цифровой подписью компании Samsung. [Читать дальше →][4]

[1]: http://bsodanalysis.blogspot.com.au/2015/06/samsung-deliberately-disabling-windows.html
[2]: http://www.sysnative.com/forums/
[3]: https://ru.wikipedia.org/wiki/%CD%E0%E8%E1%EE%EB%E5%E5_%F6%E5%ED%ED%FB%E9_%F1%EF%E5%F6%E8%E0%EB%E8%F1%F2
[4]: http://habrahabr.ru/post/261085/#habracut

[>] Программное обеспечение Samsung способно намеренно отключать Windows Update
habra.14
habrabot(difrex,1) — All
2015-06-24 20:00:02


Именно это обнаружил Патрик Баркер (Patrick Barker) в ходе расследования инцидента с лэптопом Samsung. Как [пишет][1] в своем блоге Патрик, через форум [Sysnative][2] к нему обратился пользователь ноутбука Samsung, у которого возникла странная проблема с работой сервисов Windows Update. В ходе исследования системы на предмет вирусов, специалист, который, между прочим, является [Microsoft MVP][3], выявил исполняемы файл, ответственный за отключение службы обновления. К своему удивлению им оказался файл с недвусмысленным названием Disable\_Windowsupdate.exe и цифровой подписью компании Samsung, который хранится в папке C:\\ProgramData\\Samsung. [Читать дальше →][4]

[1]: http://bsodanalysis.blogspot.com.au/2015/06/samsung-deliberately-disabling-windows.html
[2]: http://www.sysnative.com/forums/
[3]: https://ru.wikipedia.org/wiki/%CD%E0%E8%E1%EE%EB%E5%E5_%F6%E5%ED%ED%FB%E9_%F1%EF%E5%F6%E8%E0%EB%E8%F1%F2
[4]: http://habrahabr.ru/post/261085/#habracut

[>] [recovery mode] 5 стажировок для IT-специалистов за рубежом
habra.14
habrabot(difrex,1) — All
2015-06-24 21:00:02


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

[1]: https://habrastorage.org/files/e8c/13b/e6c/e8c13be6cc24448d81a5838c9a5ecc0b.jpg
[2]: http://habrahabr.ru/post/261077/#habracut

[>] PentestBox — портативная сборка популярных security утилит
habra.14
habrabot(difrex,1) — All
2015-06-24 21:00:02


![][1] На сегодняшний день самыми популярными дистрибутивами для тестирования на проникновение являются \*nix-like дистрибутивы: Kali Linux, BlackArch Linux, Pentoo и многие другие. Они могут использоваться как в виртуальной среде, так и в качестве live системы или вообще быть установлены в виде десктопной ОС. Windows пользователи до недавнего времени были обделены (виртуальные машины не берем во внимание) такими сборками, пока не появилась волшебная коробочка — [PentestBox][2]. [Читать дальше →][3]

[1]: https://habrastorage.org/files/79c/e31/b42/79ce31b42a354b90ac778dd59281ebb6.jpg
[2]: https://pentestbox.com/
[3]: http://habrahabr.ru/post/260913/#habracut

[>] Простой алгоритм для поиска всех совпадающих под-текстов в двух текстах
habra.14
habrabot(difrex,1) — All
2015-06-25 04:30:03


По долгу службы мне часто нужно находить все пересечения между текстами (например, все цитаты из одного текста в другом). Я достаточно долго искал стандартное решение, которое бы позволило бы это делать, но найти его мне так и не удалось — обычно решается какая-то совсем или немного другая задача. Например, класс SequenceMatcher из difflib в стандартной библиотеке Питона находит самую длинную общую подпоследовательность в двух последовательностях hashable элементов, а потом рекурсивно повторяет поиск слева и справа от нее. Если в одном из текстов будет более короткая подпоследовательность, которая содержится внутри уже найденной (например, если кусок длинной цитаты где-то был повторен еще раз), он ее пропустит. Кроме того, когда я загнал в него «Войну и мир» и «Анну Каренину» в виде списков слов и попросил для начала найти самую длинную подпоследовательность, он задумался на семь минут; когда я попросил все совпадающие блоки, он ушел и не вернулся (в документации обещают среднее линейное время, но что-то в прозе Льва Толстого, по-видимому, вызывает к жизни worst-case квадратичное). В конечном итоге я придумал свой алгоритм, тем самым наверняка изобретя велосипед, который надеюсь увидеть в комментариях. Алгоритм делает ровно то, что мне нужно: находит все совпадающие последовательности слов в двух текстах (за исключением тех, что в обоих текстах входят в состав более крупных совпадающих последовательностей) и сравнивает «Войну и мир» с «Анной Карениной» за минуту. [Читать дальше →][1]

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

[>] Как оптимизировал работу с MongoDB с помощью устаревшего api или о чем молчит её спецификация…
habra.14
habrabot(difrex,1) — All
2015-06-25 09:30:02


![image][1] Однажды столкнулся с задачей: mongoDb использовался как кэш/буфер между backend на Java и frontend на node.js. Все было хорошо, пока не появилось бизнес требование перебрасывать большие объемы за короткое время через mongoDb (до 200 тыс. записей не более чем за пару минут). Для чего не так важно, важна что задача такая появилась. И вот тут уж пришлось разбираться во внутренностях монги… [Начинаем разбираться по шагам...][2]

[1]: https://habrastorage.org/files/f92/c5c/217/f92c5c217b9f46e9ae721e113cdbaec2.png
[2]: http://habrahabr.ru/post/261105/#habracut

[>] Портирование OpenWRT на новое устройство на примере ASUS DSL N12U
habra.14
habrabot(difrex,1) — All
2015-06-25 11:30:03


Что делать если вашего роутера не оказалось в списке поддерживаемых устройств OpenWRT? Конечно же сделать свой порт. Это можно сделать довольно быстро, если поддержка данной платформы уже реализована. В этой статье я расскажу о процессе портирования прошивки в целом и о моем опыте портирования OpenWRT на ASUS DSL N12U. [Читать дальше →][1]

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

[>] Электронный учитель для незрячих на Arduino
habra.14
habrabot(difrex,1) — All
2015-06-25 13:00:02


![][1] В результате общения с преподавателями из челябинской коррекционной школы №127 для незрячих и слабовидящих детей, мы – сообщество forblind.org – узнали, что для ускорения процесса обучения детей азбуке Брайля было бы полезно создать устройство, способное, на сколько это возможно, заменить преподавателя и позволить ребёнку обучаться самостоятельно, в том числе вне школы. Мы поставили перед собой задачу из доступных и недорогих комплектующих реализовать устройство, которое позволит формировать и озвучивать один символ алфавита Брайля, поддерживая несколько языков и групп символов. [Читать дальше →][2]

[1]: https://habrastorage.org/files/432/a96/ca7/432a96ca763c444fa2f524b973d315d5.jpg
[2]: http://habrahabr.ru/post/261117/#habracut

[>] Мегафон + мобильные рассылки = мошенничество?
habra.14
habrabot(difrex,1) — All
2015-06-25 13:30:02


Всем привет, решил написать пост чтобы вы были предупреждены о новой схеме мошенничества. Есть такая услуга: 3g-интернет имени компании Мегафон, которой я уже давно (около трех лет) активно пользуюсь. Поскольку пользуюсь активно, то деньги туда докладываю постоянно, а иногда и больше, чем нужно. Последний номер покупался вместе с 4G модемом, который используется в роутере, поэтому СМС я не вижу — их при желании всегда надо смотреть отдельно. А теперь сама история. Месяц назад внезапно обнаружил, что счет в минусе, хотя условия использования подразумевают такую ситуацию только при использовании доверительного платежа. При просмотре СМС обнаружилось, что я был подписан на около 10 мобильных рассылок по 30 рублей в день каждая. [Читать дальше →][1]

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

[>] Percona XtraDB Cluster пробрасываем ip клиента
habra.14
habrabot(difrex,1) — All
2015-06-25 13:30:02


![image][1] Доброго времени суток. На хабре много писали ([поиск][2]) про то, как поднять MySQL кластер на основе решения Percona XtraDB Cluster. Но вот на днях ко мне подошёл программер и попросил сделать так, чтобы в MySQL можно было назначать хосты пользователям для разграничения доступа. Тут я вспомнил, что ip-то там отображаются далеко не клиентские, тут всё и началось :). В интернете было найдено решение аж 2009 года, которое заключалось в использовании tproxy патча, iproute2 и iptables, но это решило проблему частично, и только в пределах той машины где стоит haproxy, но что если мы хотим ещё и читать из разных мест? Вот что было сделано: [Читать дальше →][3]

[1]: https://habrastorage.org/files/f6f/2d2/d48/f6f2d2d482664315a1ec8d4e688641c8.png
[2]: http://habrahabr.ru/search/?q=percona
[3]: http://habrahabr.ru/post/261103/#habracut

[>] [Перевод] О собеседованиях (от Эрика Липперта)
habra.14
habrabot(difrex,1) — All
2015-06-25 16:00:03




этого блога, что прекратилось после ухода Липперта из Microsoft. Конечно же, нет ничего лучше чтения оригинала, но я решил для разнообразия перевести что-нибудь из недавних постов Эрика. Надеюсь, будет интересно.



Ранее, я повторно опубликовал две свои старые статьи (оригиналы: [раз][1], [два][2] — прим. перев.), касающиеся процесса технических собеседований. Полагаю, что мог бы описать более подробно, как провожу собеседования и на что при этом обращаю внимание. Вот мои главные цели:

* не нанимать плохих работников;
* нанимать хороших работников;
* оставить кандидата с положительным впечатлением о компании.

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

[1]: http://ericlippert.com/2015/06/04/its-not-magic/
[2]: http://ericlippert.com/2015/06/01/writing-code-on-whiteboards-is-hard/
[3]: http://habrahabr.ru/post/261011/#habracut

[>] [Из песочницы] Как я получил доступ к «бесконечным» лайкам в Instagram и ВК
habra.14
habrabot(difrex,1) — All
2015-06-25 16:00:03


Сегодня днем я заметил, что мой одногруппник скучно кликал по дисплею. Подойдя ближе, я увидел, что он выполняет задания, чтобы заработать баллы и на них накрутить себе лайки в Instagram. Мне эта идея показалась очень бредовой. Вечером, когда я пришел домой, решил подробнее рассмотреть эти приложения с заданиями и скачал парочку на свой iPhone. [Читать дальше →][1]

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

[>] Захват пакетов в Linux на скорости десятки миллионов пакетов в секунду без использования сторонних библиотек
habra.14
habrabot(difrex,1) — All
2015-06-25 17:30:02


Моя статья расскажет Вам как принять 10 миллионов пакетов в секунду без использования таких библиотек как Netmap, PF\_RING, DPDK и прочие. Делать мы это будем силами обычного Линукс ядра версии 3.16 и некоторого количества кода на С и С++. ![][1] Сначала я хотел бы поделиться парой слов о том, как работает pcap — общеизвестный способ захвата пакетов. Он используется в таких популярных утилитах как iftop, tcpdump, arpwatch. Кроме этого, он отличается очень высокой нагрузкой на процессор. Итак, Вы открыли им интерфейс и ждете пакетов от него используя обычный подход — bind/recv. Ядро в свою очередь получает данные из сетевой карты и сохраняет в пространстве ядра, после этого оно обнаруживает, что пользователь хочет получить его в юзер спейсе и передает через аргумент команды recv, адрес буфера куда эти данные положить. Ядро покорно копирует данные (уже второй раз!). Выходит довольно сложно, но это не все проблемы pcap. Кроме этого, вспомним, что recv — это системный вызов и вызываем мы его на каждый пакет приходящий на интерфейс, системные вызовы обычно очень быстры, но скорости современных 10GE интерфейсов (до 14.6 миллионов вызовов секунду) приводят к тому, что даже легкий вызов становится очень затратным для системы исключительно по причине частоты вызовов. Также стоит отметить, что у нас на сервере обычно более 2х логических ядер. И данные могут прилететь на любое их них! А приложение, которое принимает данные силами pcap использует одно ядро. Вот тут у нас включаются блокировки на стороне ядра и кардинально замедляют процесс захвата — теперь мы занимаемся не только копированием памяти/обработкой пакетов, а ждем освобождения блокировок, занятых другими ядрами. Поверьте, на блокировки может зачастую уйти до 90% процессорных ресурсов всего сервера. Хороший списочек проблем? Итак, мы их все геройски попробуем решить! [Читать дальше →][2]

[1]: https://habrastorage.org/files/0a7/541/d6f/0a7541d6ffe84bcbb881752bd97b6d27.JPG
[2]: http://habrahabr.ru/post/261161/#habracut

[>] Отчет о саммите Google RISE и сервисах для обучения детей программированию
habra.14
habrabot(difrex,1) — All
2015-06-25 18:30:02


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

[1]: https://habrastorage.org/files/a17/362/913/a173629131a84a0b8d9d00eadf080e46
[2]: http://habrahabr.ru/post/261093/#habracut

[>] [Перевод] 5 способов вычисления чисел Фибоначчи: реализация и сравнение
habra.14
habrabot(difrex,1) — All
2015-06-25 19:00:02




#### Введение

Программистам числа Фибоначчи должны уже поднадоесть. Примеры их вычисления используются везде. Всё от того, что эти числа предоставляют простейший пример рекурсии. А ещё они являются хорошим примером динамического программирования. Но надо ли вычислять их так в реальном проекте? Не надо. Ни рекурсия, ни динамическое программирование не являются идеальными вариантами. И не замкнутая формула, использующая числа с плавающей запятой. Сейчас я расскажу, как правильно. Но сначала пройдёмся по всем известным вариантам решения. Код предназначен для Python 3, хотя должен идти и на Python 2. Для начала – напомню определение: F=1. [Читать дальше →][1]

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

[>] [Перевод] 200 блогов по разработке и проектированию
habra.14
habrabot(difrex,1) — All
2015-06-26 00:30:02


[][1] Привет, Хабр! Мы решили посмотреть на то, как крупнейшие бизнесы и студии делятся своими наработками, и адаптировали подборку технологических блогов. Уверены, что опыт коллег поможет нам всем сделать Хабр еще интереснее. [Читать дальше →][2]

[1]: http://habrahabr.ru/company/friifond/blog/260641/
[2]: http://habrahabr.ru/post/260641/#habracut

[>] [Перевод] Ansible и ChatOps или как управлять 100+ серверами из чата
habra.14
habrabot(difrex,1) — All
2015-06-26 11:00:02


![Ansible и ChatOps при помощи StackStorm, Slack и Hubot][1]

## Что такое ChatOps?

ChatOps все еще свежее и редкое явление в мире DevOps, когда работа с инфраструктурой переносится в общий чат. Вы можете запускать команды прямо из чата, при этом разработчики/сисадмины видят что происходит в режиме реального времени, могут просматривать историю изменений, запускать свои команды, поддерживать коммуникацию вокруг работы и даже обмениваться опытом. Таким образом информация и рабочий процесс принадлежит всей команде — а это несет в себе много преимуществ. Можно придумать такие вещи как деплой кода или развертывание серверов из чата, просмотр графиков мониторинга, отправку SMS, управление кластерами или просто запуск shell команд. ChatOps может быть высокоуровневым представлением вашей действительно сложной `. Такой подход делает чудеса для улучшения видимости и снижения сложности вокруг процесса развертываний. [Читать дальше →][2]

[1]: https://habrastorage.org/files/aa4/6e3/556/aa46e355610f4f6682a5568d678fec5d.png
[2]: http://habrahabr.ru/post/260917/#habracut

[>] Vim по полной: Компиляция и выполнение чего угодно
habra.14
habrabot(difrex,1) — All
2015-06-26 11:30:02




# Оглавление



1. [Введение][1] (vim\_lib)
2. [Менеджер плагинов без фатальных недостатков][2] (vim\_lib, vim\_plugmanager)
3. [Уровень проекта и файловая система][3] (vim\_prj, nerdtree)
4. [Snippets и шаблоны файлов][4] (UltiSnips, vim\_template)
5. **Компиляция и выполнение чего угодно (vim-quickrun)**
6. Работа с Git (vim\_git)
7. Деплой (vim\_deploy)
8. Тестирование с помощью xUnit (vim\_unittest)
9. Библиотека, на которой все держится (vim\_lib)
10. Другие полезные плагины

Как можно назвать редактор удобным, если он не умеет запускать то, что мы программируем? Особенностью описываемого мной в данной статье плагина, является возможность запуска чего угодно, будь то программный код, plantUML, LaTeX, Less и всего, что можно написать и запустить. Плагин [vim-quickrun][5] может показаться довольно запутанным и сложным, не смотря на прекрасную документацию, потому я решил коротко осветить его в этой статье, дабы вы могли быстрее начать им пользоваться. [Выполнить][6]

[1]: http://habrahabr.ru/post/259701/
[2]: http://habrahabr.ru/post/259725/
[3]: http://habrahabr.ru/post/259995/
[4]: http://habrahabr.ru/post/260591/
[5]: https://github.com/thinca/vim-quickrun
[6]: http://habrahabr.ru/post/261179/#habracut

[>] Модули JavaScript
habra.14
habrabot(difrex,1) — All
2015-06-26 14:00:05


![][1] Это третья публикация по материалам нашей [внутренней конференции Sync.NET][2]. Первая публикация была посвящена [многопоточности в .NET][3], вторая — [реактивным расширениям][4]. При разработке front-end части приложения на языке JavaScript, мы можем столкнуться с рядом традиционных проблем. Все они решаются при помощи модульных подходов. Ниже мы рассмотрим самые популярные подходы для описания модулей в JavaScript, которые существуют на сегодняшний день. [Читать дальше →][5]

[1]: https://habrastorage.org/files/e4d/d83/e0f/e4dd83e0fb274a09a208968eabba295d.jpg
[2]: http://www.nixsolutions.com/ru/blog/pleasure-time/sync-net-1/
[3]: http://habrahabr.ru/company/nixsolutions/blog/260745
[4]: http://habrahabr.ru/company/nixsolutions/blog/261031/
[5]: http://habrahabr.ru/post/261141/#habracut

[>] [Перевод] Использование монад в С++. Часть 2: монада состояния
habra.14
habrabot(difrex,1) — All
2015-06-26 14:30:02


[**Часть 1**][1] **Часть 2** Что вы сделаете, если завтра выиграете в лотерею? Купите спортивную машину, бросите работу и поедете в турне по США? А может быть станете основателем собственной компании, приумножите состояние и купите личный самолёт? Мы все любим делать планы, и чаще всего они опираются на наше финансовое состояние. Такие планы могут быть описаны функцией. К примеру, план покупки машины это:

pair<Car, Cash> buyCar(Cash cashIn)


На входе у нас некоторое количество денег (**Cash**), а на выходе новенькая машина (**Car**) и какое-то количество(не факт, что положительное!) оставшихся финансов (**Cash**).В общем, финансовый план — это функция, которая принимает деньги и возвращает результат, плюс оставшееся количество денег. Он может быть описан шаблоном:

template<class A>
using Plan = function<pair<A, Cash>(Cash)>;


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

template<class A>
Plan<A> got_it(A a)
{
return [a](Cash s) { return make_pair(a, s); };
}


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

[1]: http://habrahabr.ru/company/infopulse/blog/260809/
[2]: http://habrahabr.ru/company/infopulse/blog/260809/
[3]: http://habrahabr.ru/post/261145/#habracut

[>] XMPP отстой
habra.14
habrabot(difrex,1) — All
2015-06-26 19:00:02


У нас было социальное приложение без чата, 2 недели на его разработку и абсолютно никаких знаний о существующих протоколах для реализации IM. Не то что бы это был необходимый набор для того чтобы выстрелить себе в ногу, но в процессе работы это произошло. Несколько раз. — Паша, нам нужно сделать чат. — Да всё просто, у меня тут знакомые использовали XMPP для чата в своём приложении. Какие у нас были требования? Да ничего особенного, простой обмен сообщениями между пользователями, без групповых разговоров. Платформы: веб (с поддержкой работы через вебсокеты), Android, iOS. Создание пользователей должно автоматически производится только нашим серверным приложением. Конечно неплохо было бы иметь отметки о том прочитано сообщение или нет(предполагается, что приложение может быть использовано с разных девайсов), и иметь возможность просмотреть лог чата. В общем стандартный функционал для мгновенного обмена сообщениями в 2015 году. Бонусные баллы начисляются если сервер умеет горизонтально масштабироваться. [Читать дальше →][1]

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

[>] ReactOS — №2 в планах Российского правительства по импортозамещению ПО
habra.14
habrabot(difrex,1) — All
2015-06-26 19:00:02


Российская Федерация совместно со странами БРИКС [исследует возможность][1] отказа от стратегически важного иностранного проприетарного программного обеспечения и его [замены][2] на свободное/открытое ПО. ![image][3] Поскольку эта инициатива может оказаться весьма полезной для дальнейшего развития проекта, Алексей Брагин решил принять в ней участие от лица Фонда Реактос. С октября 2014 года он входит в рабочую группу по операционным системам, организованную Министерством связи и массовых коммуникаций (Минкомсвязь), и активно принимает участие в проходящих в её рамках дискуссиях. В апреле Минкомсвязь проработала вопрос о поддержке разработки независимых технологий в различных категориях (клиентские и мобильные ОС, серверные ОС, системы управления базами данных, пользовательское офисное ПО, средства управления «облачной» инфраструктурой и виртуализацией). Фонд Реактос представил два проекта: пользовательскую операционную систему ReactOS и RosServer — серверную ОС на базе ReactOS. [Читать дальше →][4]

[1]: http://minsvyaz.ru/ru/events/33237/
[2]: http://minsvyaz.ru/ru/events/32967/
[3]: https://habrastorage.org/getpro/habr/post_images/a4c/7bf/ad1/a4c7bfad1aad6fc0efaef889411eed5b.jpg
[4]: http://habrahabr.ru/post/261173/#habracut

[>] Мои маленькие реле: Автополив это магия
habra.14
habrabot(difrex,1) — All
2015-06-27 03:30:05


Сегодня мы будем программировать SDEPROM контроллер для системы автоматизированного полива для сада огорода. ![][1] **Дано:** Скважина с насосом, система труб с электромагнитными клапанами и поливочными насадками, установленные в десяти различных зонах сада. **Требуется:** Обеспечить последовательный запуск полива каждой зоны на заранее установленный период времени от 5 до 30 минут. Последовательность требуется в связи с тем, что скважина не может обеспечить необходимое давление сразу на двух зонах. Предусмотреть возможность применения внешнего блока управления для того, чтобы имелась возможность включать по таймеру, учитывать влажность почвы и т.п. Подкатом вы найдете мегабайты мяса, а также процесс самой медленной прошивки контроллера. Это вам не ПЛИСину по битбангу программировать! [Читать дальше →][2]

[1]: https://habrastorage.org/files/c51/9d4/b56/c519d4b56ee14044a19b8d2bc23ea407.JPG
[2]: http://habrahabr.ru/post/260643/#habracut

[>] [Из песочницы] Настройка MySQL + octopus
habra.14
habrabot(difrex,1) — All
2015-06-27 11:00:02


![][1] В данной статье я бы хотел показать как настроить MySQL для дальнейшего использования gem'a octopus, который используется для шардинга и репликации в Rails — приложениях. Итак, представим, что перед нами стоит задача развернуть три сервера(на первом крутится Rails — приложение, второй нужен для Master'a, третий будет выступать в качестве Slave'a), настроить репликацию между серверами и сделать так, чтобы octopus работал. [Подробности][2]

[1]: http://fc01.deviantart.net/fs36/f/2008/265/b/0/sand_Dolphin_and_octopus_by_ClassyFat.jpg
[2]: http://habrahabr.ru/post/261251/#habracut

[>] Пишем свой упрощенный OpenGL на Rust — часть 1 (рисуем линию)
habra.14
habrabot(difrex,1) — All
2015-07-03 12:00:03


Наверное, мало кто на хабре не в курсе, что такое Rust — новый язык программирования от Mozilla. Уже сейчас он привлекает много интереса, а недавно наконец вышла первая стабильная версия Rust 1.0, что знаменует собой стабилизацию языковых возможностей. Мне всегда импонировали системные ЯП, а уж идея системного языка, предлагающего безопасность превосходящую языки высокого уровня, заинтересовала еще больше. Захотелось новый язык попробовать в деле и, заодно, интересно провести время, программируя что-нибудь увлекательное. Пока думал, что бы такого на расте написать, вспомнился недавний [цикл статей][1] про компьютерную графику, который я лишь бегло просмотрел. А очень интересно было бы попробовать все-таки написать все эти красивости самостоятельно. Вот так и родилась идея этого хобби-проекта, а также данной статьи. Поскольку в оригинальной статье тщательно разжевываются все нюансы, касающиеся программирования непосредственно графической составляющей, то я в своем цикле статей буду сосредотачиваться главным образом на том, что касается непосредственно Rust'а. Постараюсь описать те грабли, на которые довелось наткнуться, а также как решал возникающие проблемы. Расскажу о личных впечатлениях от знакомства с языком. И, конечно, упомяну список ресурсов, которыми пользовался при разработке. Итак, кому интересно, добро пожаловать под кат. Предупреждение: статья написана с позиции новичка и описывает тупые ошибки новичка. Если вы профи раста, возможно, посмотрев на мои потуги, вы захотите меня больно огреть чем-нибудь тяжелым. В таком случае рекомендую воздержаться от ее чтения. ![][2] _Here is the Rust, which i hope to get at the end. (игра слов, Rust по-английски «ржавчина»)_ [Читать дальше →][3]

[1]: http://habrahabr.ru/post/248153/
[2]: https://habrastorage.org/files/b91/b69/e03/b91b69e03d194248ab653a4019314d13.jpg
[3]: http://habrahabr.ru/post/261629/#habracut

[>] Способы передачи финансовых данных #3: протокол Plaza II
habra.14
habrabot(difrex,1) — All
2015-07-03 12:30:01


[![][1]][2] Помимо международных стандартов и протоколов передачи финансовой информации вроде [FIX][3] и [FAST][4], о которых мы рассказывали ранее, на фондовом рынке функционируют и так называемые «нативные» протоколы передачи финансовых данных. Их используют для получения нужной информации как частные торговцы, так и брокерские компании — такие нативные протоколы более функциональны, чем общепринятые стандарты (вроде того же FIX), что привлекает брокеров. Существовавшие в России биржи ММВБ И РТС ныне объединившиеся в «Московскую биржу» также разработали собственные нативные протоколы. Сегодня мы поговорим о проекте протокола Plaza II, который был создан специалистами РТС. [Читать дальше →][5]

[1]: https://habrastorage.org/files/476/fc9/428/476fc94283dd40a084130abf540307d9.png
[2]: http://habrahabr.ru/company/itinvest/blog/261709/
[3]: http://habrahabr.ru/company/itinvest/blog/242789/
[4]: http://habrahabr.ru/company/itinvest/blog/243657/
[5]: http://habrahabr.ru/post/261709/#habracut

[>] Собираем и настраиваем DNS сервер BUNDY (BIND10). Часть 1
habra.14
habrabot(difrex,1) — All
2015-07-03 17:30:06


![][1]Как то незаметно дошли руки все таки потрогать BIND10. Для начала немного истории о данном продукте. Первый релиз BIND10 был представлен консорциумом ISC в феврале 2013. 17 апреля 2014 консорциум ISC выпустил последний релиз BIND10 1.2.0, после это передал все наработки сообществу независимых разработчиков. Данного решение было принято в связи с тем что у консорциума нет ресурсов для разработки двух альтернативных проектов. Поэтому они будут развивать только BIND9, а BIND10 полностью переходит в руки сообщества. Для уменьшения путаницы с BIND9, на GitHub был создан новый проект в который перенесли все наработки консорциума по BIND10 и данный проект получил название Bundy. Ну что же, думаю можно приступать к эксперименту. [Читать дальше →][2]

[1]: https://habrastorage.org/files/535/a6e/66e/535a6e66e73c40fbb9a64d35416e0e72.png
[2]: http://habrahabr.ru/post/261719/#habracut

[>] Антивирусная авантюра Вконтакте
habra.14
habrabot(difrex,1) — All
2015-07-03 19:00:08


![image][1] Многие пользователи социальной сети ВК стали получать уведомления об обнаружении подозрительной активности на своих компьютерах и предложения установить бесплатный антивирус _Cezurity_. ![][2] По клику на ссылку после долгих раздумий браузер предлагает скачать и запустить исполняемый файл вида _Cezurity\_Scanner-67ed0000000000000201.exe_. Что это, пока не ясно… Данная акция, начавшаяся без предупреждения и разъяснения, на первый взгляд выглядит как типичная попытка фишинга и вредоносной модификации странички социальной сети. Неблагозвучное название сервиса, попытка сразу заставить пользователя скачать и запустить исполняемый файл навевают еще больше подозрений. В то же время у «бесплатного антивируса» есть свой сайт и даже официальная страничка в ВК, где он величает себя официальным «антивирусным сервисом» данной соцсети.





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

[1]: https://habrastorage.org/getpro/habr/post_images/6f1/823/c96/6f1823c9696ac1f714ddde501c843463.png
[2]: https://habrastorage.org/files/342/ab5/d37/342ab5d37e9d4b79a3583d101b883b5c.PNG
[3]: http://habrahabr.ru/post/261763/#habracut

[>] Увеличение LVM диска в виртуальной машине на лету
habra.14
habrabot(difrex,1) — All
2015-07-03 20:00:07


Продолжая тему, описанную здесь [habrahabr.ru/post/252973][1], опять пишу про увеличение дисков виртуальных машин. Конфигурация следующая: Гипервизор сервер Supermicro с KVM и libvirt на Ubuntu. Гости — Ubuntu с LVM2. Задача: Увеличить размер системного дисков без выключения/перезагрузки гостевой ОС. В комментариях к предыдущей статье [habrahabr.ru/post/252973/#comment\_8330673][2] [farcaller][3] написал:

> Системный тоже можно на лету отресайзить. Для этого в libvirt есть команда:
>
>
>
> virsh qemu-monitor-command resized-virtual-machine --hmp «block\_resize $DRIVENAME $NEWSIZE»
>
>

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

[1]: http://habrahabr.ru/post/252973/
[2]: http://habrahabr.ru/post/252973/#comment_8330673
[3]: http://habrahabr.ru/users/farcaller/
[4]: http://habrahabr.ru/post/261755/#habracut

[>] [Из песочницы] Четно-нечетная сортировка слиянием Бэтчера
habra.14
habrabot(difrex,1) — All
2015-07-03 22:00:05




### Введение

Алгоритм четно-нечетной сортировки слиянием (odd-even mergesort) был разработан Бэтчером в 1968 году. Алгоритм не слишком популярный и не слишком известный. Однако он достаточно легко параллелится и его реализация не слишком сложна. Лично я узнал о нем когда разбирался с MPI и увидел тестовое задание на coursera: написать сортировку Бэтчера. [Читать дальше →][1]

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

[>] [Перевод] Семь удивительных «возможностей» Javascript
habra.14
habrabot(difrex,1) — All
2015-07-04 03:00:09


За последние несколько месяцев я сделал несколько доработок для `JSHint`, в основном с целью изучить ES6 (я [особенно горжусь][1] тем, как переделано обнаружение областей видимости для переменных). Во время этого процесса я наткнулся на несколько вещей, которые меня удивили — в основном, в ES6, однако есть и кое-что про ES3, что я до этого никогда не использовал.

## Break из любого блока

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

outer: for(var i = 0; i < 4; i++) {
while(true) {
continue outer;
}
}


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

[1]: https://github.com/lukeapage/jshint/commit/08eb4e25962eb71f94c09f79b3b08288b91a7bce
[2]: http://habrahabr.ru/post/261785/#habracut

[>] Vim по полной: Работа с Git
habra.14
habrabot(difrex,1) — All
2015-07-04 13:30:03




# Оглавление



1. [Введение][1] (vim\_lib)
2. [Менеджер плагинов без фатальных недостатков][2] (vim\_lib, vim\_plugmanager)
3. [Уровень проекта и файловая система][3] (vim\_prj, nerdtree)
4. [Snippets и шаблоны файлов][4] (UltiSnips, vim\_template)
5. [Компиляция и выполнение чего угодно][5] (vim-quickrun)
6. **Работа с Git** (vim\_git)
7. Деплой (vim\_deploy)
8. Тестирование с помощью xUnit (vim\_unittest)
9. Библиотека, на которой все держится (vim\_lib)
10. Другие полезные плагины

Часто ли вам приходится использовать Git? В смысле, вы коммитите изменения каждый час или каждые несколько минут? Я делаю это очень часто и не слежу за чистотой репозитория, так как считаю его не более чем журналом изменений, а не произведением искусства. Такой подход требует от редактора хорошей интеграцией с Git, позволяющей в пару нажатий клавиш создать новый коммит, вернуться в прежнее состояние, перейти на другую ветку и так далее. Если вы используете современную среду разработки, в которой реализована интеграция с Git, вам очень повезло, но что делать пользователям редактора Vim? Есть ли плагин, который не просто реализует Vim-команды по тиму _GitCommit_, _GitCheckout_ и _GitBranch_, а предоставляет удобный интерфейс в лучших традициях редактора? [Псс, плагин не нужен?][6]

[1]: http://habrahabr.ru/post/259701/
[2]: http://habrahabr.ru/post/259725/
[3]: http://habrahabr.ru/post/259995/
[4]: http://habrahabr.ru/post/260591/
[5]: http://habrahabr.ru/post/261179/
[6]: http://habrahabr.ru/post/261783/#habracut

[>] Удаленная инъекция Wi-Fi кадров
habra.14
habrabot(difrex,1) — All
2015-07-04 16:30:03


![image][1] Стандарт WiFi 802.11n использует механизм агрегации кадров для уменьшения накладных расходов при передаче данных. Для этого несколько кадров объединяются в один. При этом маркер разделителя кадров передается вместе с данными. Это позволяет сформировать данные, которые при прохождении через WiFi устройство будут интерпретированы им как отдельные кадры. То есть имея контроль над потоком данных передаваемых от сервера клиенту (например при загрузке файла с сервера атакующего) или от клиента к серверу, можно генерировать произвольные пакеты на всех уровнях OSI:

* Пакет с любыми заголовками RadioTap: **Beacon, Probe Request/Respone, Deauthentication**
* L2 уровень: указать **любой MAC адрес** в заголовках пакета, можно производить ARP спуфинг
* L3/L4 уровень: скрафтить **любой TCP/UDP/ICMP пакет с любыми заголовками IP**
* и так далее

Уязвимости подвержены **только открытые сети стандарта 802.11n**. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/69a/7d5/574/69a7d5574321f3d1af4016ac2bdafeef.gif
[2]: http://habrahabr.ru/post/261787/#habracut

[>] [recovery mode] Как примонтировать образ fsa
habra.14
habrabot(difrex,1) — All
2015-07-05 20:00:03


Не знал где это написать, думаю на хабре будет самое место. Везде пишут что **fsarchiver** — замечательная утилита, что может создавать архивы с файловой системой, хорошо их сжимает и т.д. И это действительно так! И самое главное что эти архивы можно деалать на работающих системах. Но вот сегодня выходной день, сервера находятся в другом городе и один из них лег, на системнике лампочка с восклицательным знаком горит красным цветом, а значит тяжелая беда с железками. По удаленке поднять не можем. С сервером конечно разберемся и починим, но надо скорее поднимать сервис на резервной машине. Образы всех серверов конечно мною были заботливо сделаны при помощи замечательной утилиты fsarсhiver. И вот встала задача как достать конфигурационные файлы из fsa-образа. [Подробности][1]

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

[>] Еще одна подборка видеоуроков по Lazarus в Linux
habra.14
habrabot(difrex,1) — All
2015-07-06 04:30:04


Делать было нечего, дело было… и всё. Дело было. Короче, пока практиковался в Lazarus, еще насобирал несколько уроков. Уроки простые, веду их, собсна, я лично, авось кому и пригодится. [Читать дальше →][1]

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

[>] Шифруем и перешифровываем LUKS без потери данных
habra.14
habrabot(difrex,1) — All
2015-07-06 05:30:02




### Введение

Если вы когда-либо задумывались о шифровании данных на дисках уже после того, как у вас накопилось их приличное количество, вы, вероятно, расстраивались, прочитав о необходимости переноса данных перед созданием шифрованного раздела и после. Перенос 500 ГБ туда и обратно не представляет никакой особой трудности, такой объем можно временно загрузить даже в облако, но если речь идет о шифровании 6 винчестеров по 4 ТБ каждый, задача заметно усложняется. По какой-то причине, возможность шифрования и перешифровывания томов LUKS без потери данных (in-place re-encryption) слабо освещена в интернете, хотя для этого есть две утилиты: **cryptsetup-reencrypt**, входящая в состав **cryptsetup** с 2012 года, и сторонняя [**luksipc**][1], появившаяся на год раньше. Обе утилиты выполняют, в общем-то, одно и то же — шифруют раздел, если он не был шифрован, либо перешифровывают уже существующий с другими параметрами. Для своих нужд я воспользовался первой, официальной.

### Как это работает?

Предположим, у вас типичная разметка диска: один раздел, начинается с 1 МиБ (выравнивание для 4КиБ-секторов), заканчивается в конце диска. ![image][2] Заголовок LUKS располагается в начале, перед зашифрованными данными. Для заголовка требуется минимум 2056 512-байтных секторов, т.е. чуть больше 1МиБ. Места перед началом раздела нам явно недостаточно, поэтому сначала нужно уменьшить размер файловой системы с ее конца, чтобы **cryptsetup-reencrypt** перенес блоки правее, в конец диска, освободив таким образом место в начале раздела для LUKS-заголовка. Конечный размер заголовка зависит от длины ключа, количества слотов для парольных фраз и прочих параметров, поэтому я рекомендую быть рачительным и отвести под заголовок 4 МиБ. ![image][3] [Читать дальше →][4]

[1]: http://www.johannes-bauer.com/linux/luksipc/
[2]: https://habrastorage.org/getpro/habr/post_images/1ca/871/2c0/1ca8712c0b653dc4095a2c8337b35539.png
[3]: https://habrastorage.org/getpro/habr/post_images/6ff/27b/df7/6ff27bdf7cabfd97d0275b88ad75fc29.png
[4]: http://habrahabr.ru/post/169983/#habracut

[>] Знакомство с Nim: пишем консольную 2048
habra.14
habrabot(difrex,1) — All
2015-07-06 12:00:05


![][1] Хочется чего-то нового, быстрого, компилируемого, но при этом приятного на ощупь? Добро пожаловать под кат, где мы опробуем язык программирования Nim на реализации очередного клона игры 2048. Никаких браузеров, только хардкор, только командная строка! В программе:

* [Who is the Nim?][2]
* [Как выглядит ООП в Nim][3]
* [Немного C под капотом][4]
* [Создание экземпляров][5]
* [Собственно игра 2048][6] ([github][7])
* [Субъективные выводы][8]

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

[1]: https://habrastorage.org/files/657/f1c/9fd/657f1c9fd89b46f485d3be8fe0e9ad24.jpg
[2]: #who-is-nim
[3]: #oop-in-nim
[4]: #underhood
[5]: #instances
[6]: #2048
[7]: https://github.com/Ostrovski/nim-2048
[8]: #conclusions
[9]: http://habrahabr.ru/post/261801/#habracut

[>] Может ли веб-репортинг не уступать десктопному или немного о DevExpress ASP Reporting 15.1
habra.14
habrabot(difrex,1) — All
2015-07-06 13:30:03


![][1] DevExpress Reporting — продукт от [DevExpress][2], предоставляющий инструменты для быстрой, легкой и удобной работы с отчетами и документами. В недавно вышедшей [версии 15.1][3], о которой [мы уже писали][4] на Хабре, появилось множество улучшений для всех поддерживаемых платформ — WPF, WIN и ASP, и мы предлагаем ознакомиться с наиболее важными из них для ASP-версии. Главная цель, к который мы стремились — чтобы веб-репортинг имел такой же широкий и гибкий набор инструментов для работы с отчетами, как и в WIN-версии. Поэтому в этой статье мы упомянем как о **HTML5/JS Document Viewer** — новом клиентском компоненте для просмотра отчетов, так и о различных улучшениях для уже выпущенного **ASP.NET & MVC Report Designer**. [Читать дальше →][5]

[1]: https://habrastorage.org/files/f06/e70/823/f06e7082302441029c40efce2367568f.png
[2]: https://www.devexpress.com/
[3]: https://www.devexpress.com/Subscriptions/New-2015-1.xml?product=reporting
[4]: http://habrahabr.ru/company/devexpress/blog/259441/#first_unread
[5]: http://habrahabr.ru/post/261879/#habracut

[>] Быстрый security-oriented fuzzing c AFL
habra.14
habrabot(difrex,1) — All
2015-07-06 14:30:02


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

[1]: https://habrastorage.org/files/c16/3ef/195/c163ef195f544d14b76b8cf217d75bbb.jpg
[2]: http://habrahabr.ru/post/259671/#habracut

[>] Алгоритмическая теория информации и случайность индивидуальных объектов
habra.14
habrabot(difrex,1) — All
2015-07-06 16:00:02


Понятие энтропии в середине XX века ввёл [Клод Шеннон][1]. Её можно интуитивно описать как «среднее количестве битов информации в одном значении случайной величины». Но её нельзя применить к индивидуальным объектам (скажем, к тексту романа или ДНК) — где нет ансамбля многих однородных объектов, нет и случайных величин.




В середине 1960-х годов разным людям (Колмогоров, Соломонов, Левин, Чейтин) стало понятно, что можно определять количество информации (сложность) индивидуального объекта как минимальную длину программы, которая этот объект порождает (при естественных ограничениях на язык программирования). Возникла алгоритмическая теория информации, которая оказалась связанной с разными областями: от философских вопросов оснований теории вероятностей (когда мы отвергаем статистические гипотезы?) до комбинаторики (неравенства, связывающие размеры множеств и их проекций) и теории вычислимости. Лекцию, которую мы выбрали для вас сегодня, читал на факультете компьютерных наук Вышки известный математик [Александр Шень][2]. Когда-то он под руководством [Владимира Успенского][3], ученика Колмогорова, защитил диссертацию «Алгоритмические варианты понятия энтропии». [Читать дальше →][4]

[1]: https://en.wikipedia.org/wiki/Claude_Shannon
[2]: https://ru.wikipedia.org/wiki/Шень,_Александр_Ханиевич
[3]: https://en.wikipedia.org/wiki/Vladimir_Andreyevich_Uspensky
[4]: http://habrahabr.ru/post/261761/#habracut

[>] Кибергруппа Hacking Team подверглась масштабному взлому
habra.14
habrabot(difrex,1) — All
2015-07-06 16:00:03


Известная [кибергруппа][1] Hacking Team ([@hackingteam][2]), которая специализируется на разработке и продаже специального шпионского ПО для правоохранительных органов и спецслужб различных государств стала объектом кибератаки, в результате которой для общественности стал доступен архив с 400ГБ различной конфиденциальной информации. В сеть утекла личная переписка Hacking Team с их клиентами, заключенные договора на продажу своих кибер-изделий различным государствам, а также большое количество другой информации, связанной с деятельностью компании. ![][3] В результате утечки стало известно, что к услугам HT прибегали не только государственные структуры, но и частные компании. Также из опубликованных данных видно, что одним из клиентов HT были российские структуры или фирмы. Архив содержит и информацию о наработках кибергруппы (Exploit\_Delivery\_Network\_android, Exploit\_Delivery\_Network\_Windows), а также огромное количество различной поясняющей информации (wiki). [Читать дальше →][4]

[1]: https://en.wikipedia.org/wiki/Hacking_Team
[2]: https://twitter.com/hackingteam
[3]: https://habrastorage.org/files/cb9/ef1/0b0/cb9ef10b00a4441bb1423a3600a0e0fc.png
[4]: http://habrahabr.ru/post/261887/#habracut

[>] Насколько важно видеть URL сайта?
habra.14
habrabot(difrex,1) — All
2015-07-06 19:30:04


Добрый день, хабросообщество! Стал интересен такой вопрос: насколько важно видеть URL сайта? Как-то года 2 назад осенним вечером делал веб-приложение, тестировал всё в популярном и по сей день браузере и обнаружил интересный по своей сути баг. [Читать дальше →][1]

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

[>] [Из песочницы] PostgreSQL и btrfs — слон на маслянной диете
habra.14
habrabot(difrex,1) — All
2015-07-06 21:30:07


Недавно, просматривая [статью на вики][1] про файловые системы, заинтересовался btrfs, а именно его богатыми возможностями, стабильным статусом и главное — механизмом прозрачного сжатия данных. Зная, как легко жмутся базы данных содержащие текстовую информацию, мне стало любопытно уточнить на сколько это применимо в сценарии использования например с postgres. Данное тестирование конечно нельзя назвать полным, ибо задействовано только чтение и то линейное. Но результаты уже заставляют поразмыслить на тему возможного перехода на btrfs в определенных случаях. Но основная цель — узнать мнение сообщества о том, на сколько это разумно и каких подводных камней может таить в себе подход прозрачного сжатия на уровне файловой системы. Для тех, кто не хочет тратить время, сразу расскажу про полученные выводы. БД PostgreSQL размещенная на btrfs c опцией compress=lzo, сокращает объем бд в двое (в сравнении с любыми ФС без сжатия) и при использовании многопоточного, последовательного чтения, значительно сокращает нагрузку на дисковую подсистему. [Читать дальше →][2]

[1]: https://en.wikipedia.org/wiki/Comparison_of_file_systems
[2]: http://habrahabr.ru/post/261921/#habracut

Pages: 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41