RSS
Pages: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ... 37
[>] [Перевод] Service Locator нарушает инкапсуляцию
habra.15
habrabot(difrex,1) — All
2015-11-03 11:00:03


_Service Locator нарушает инкапсуляцию в статически типизированных языках, потому что этот паттерн нечётко выражает предусловия._ Лошадь уже давно мертва, но некоторые до сих пор хотят на ней поездить, так что я пну эту лошадь ещё раз. Годами я предпринимал попытки объяснить почему [Service Locator это антипаттерн][1] (например, он [нарушает SOLID][2]), но недавно меня осенила мысль, что большая часть моих аргументов фокусировалась на _симптомах_, упуская из внимания фундаментальную проблему. [Читать дальше →][3]

[1]: http://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern
[2]: http://blog.ploeh.dk/2014/05/15/service-locator-violates-solid
[3]: http://habrahabr.ru/post/270005/#habracut

[>] [recovery mode] 10 относительно честных способов взломать почту
habra.15
habrabot(difrex,1) — All
2015-11-03 13:30:04


Как известно, Остап Бендер знал [400 относительно честных способов отъема денег][1]. Мы, к сожалению, таким богатством похвастаться не можем, однако с десяток постараемся набрать. Напомним, [в первой части][2] нашего цикла о защите электронной почты были рассмотрены методы защиты. Вторая часть посвящена взлому. В этой статье мы не только расскажем теорию, но и покажем практику взлома. Методы взлома почты показываются сугубо из академических соображений, и мы не несем ответственности за противоправные действия, совершенные третьими лицами после прочтения данной статьи. Цель статьи — показать пользователям и администраторам возможные варианты взлома, чтобы знать, как от них защититься. Мы проверили описанные в статье методы на наших сотрудниках и полученными результатами были весьма удивлены. Поэтому данную статью можно рассматривать как руководство для администратора по проверке безопасности электронной почты на предприятии. ![][3] [Читать дальше →][4]

[1]: https://www.youtube.com/watch?v=C7GAbrGisEc
[2]: http://habrahabr.ru/company/cybersafe/blog/269513/
[3]: https://habrastorage.org/files/3df/032/0b3/3df0320b362b43b78b6e76e8e3613cca.jpg
[4]: http://habrahabr.ru/post/269829/#habracut

[>] Включение BitLocker на серверах Exchange
habra.15
habrabot(difrex,1) — All
2015-11-03 13:30:04


Оптимальная с точки зрения безопасности архитектура Exchange как для Exchange Server 2013, так и для Exchange Server 2016 рекомендует включать BitLocker на фиксированных дисках с данными, которые хранят файлы баз данных Exchange. Чтобы, настроить шифрование дисков сначала определим: [Читать дальше →][1]

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

[>] Эксплоит на миллион. У нас есть победитель
habra.15
habrabot(difrex,1) — All
2015-11-03 14:00:03


В продолжении [этой статьи][1] стоит упомянуть, что вчера в [твиттере][2] компании Zerodium появилась информация об успешной реализации эксплоита (представляющего из себя непривязанный джейлбрейк) для версий iOS 9.1/9.2b. Неизвестная группа хакеров получила обещанный 1 миллион долларов за эксплоит, который (по условиям баг-баунти) должен позволять злоумышленнику удаленно устанавливать произвольное ПО на устройства под управлением iOS 9, то есть в том числе на новые iPhone 6s и iPad. Кроме того атака должна проходить через браузеры Safari, Chrome, через текстовое или мультимедийное сообщение, bluetooth и NFC. [][3]

[1]: http://habrahabr.ru/company/eset/blog/267357/
[2]: https://twitter.com/Zerodium
[3]: http://habrahabr.ru/post/270065/#habracut

[>] [Перевод] Технические собеседования: советы
habra.15
habrabot(difrex,1) — All
2015-11-03 15:30:02


Привет, Хабр! У команды [Хекслета][1] немало опыта проведения технических собеседований. Мы делились опытом и советами в вебинаре «[Собеседования: взгляд со стороны работодателя][2]». А сегодня публикуем перевод статьи с советами от компании, которая помогает людям готовиться к собеседованиям. От себя хочу добавить, что не смотря на полезность этих советов, если описанный здесь человек — это не вы, то не нужно стараться эмулировать его. [Читать дальше →][3]

[1]: https://ru.hexlet.io/?utm_source=habr&utm_medium=blog&utm_campaign=interview
[2]: https://github.com/Hexlet/webinars/wiki/4-%E2%80%94-%D0%A1%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F:-%D0%B2%D0%B7%D0%B3%D0%BB%D1%8F%D0%B4-%D1%81%D0%BE-%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BE%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8F
[3]: http://habrahabr.ru/post/270057/#habracut

[>] Отчет с Security Meetup 22 октября
habra.15
habrabot(difrex,1) — All
2015-11-03 16:00:07


![image][1] 22 октября в нашем офисе прошел очередной Security Meetup. На встрече было пять докладов, посвященных различным уязвимостям. Были раскрыты такие вопросы, как реверс-инжиниринг в Enterprise и связанные с ним бизнес-процессы (на примере платежной системы Qiwi), небезопасная десериализация данных в PHP, степень надежности двухфакторной аутентификации в мобильных приложениях, работа за деньги на bug bounty, а также возможность атаки с помощью «опасного» видеофайла. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/d47/014/087/d47014087a912a4340159371556c851d.jpg
[2]: http://habrahabr.ru/post/270077/#habracut

[>] [Перевод] Майкл Стоунбрейкер — Hadoop на распутье
habra.15
habrabot(difrex,1) — All
2015-11-03 18:30:02




> ![][1]
>
> [@tsafin — Обладателя
>
> [премии Тьюринга][2]
>
> [Майкла Стоунбрейкера][3]
>
> представлять не надо, он и его студенты из Беркли и MIT создали, по ощущениям, большую часть реляционных и нереляционных баз данных за последние пару десятилетий. Ingress и Postgress, C-Store и Vertica, H-Store и VoltDB – вот лишь малая часть проектов и фирм, на который Майкл и его студенты повлияли напрямую, а ведь еще есть множество форков и деривативов…
>
>
>
>
>
> Т.о. когда он критикует что-то, будь то NoSQL или Hadoop, то индустрии стоит, как минимум, прислушаться, а лучше попытаться измениться.
>
>
>
>
>
> Мне показалось интересной его точка зрения на Hadoop, высказанная в статьях 2012 и 2014 года, и было интересно проследить развитие точки зрения «классика» за такой короткий промежуток времени.
>
>
>
>
>
> Первую статью «Possible Hadoop Trajectories», опубликованную в «Comunications of ACM»
>
>
>
> , Стоунбрейкер написал в мае 2012 года в соавторстве с Джереми Кепнер (Jeremy Kepner), который в тот момент работал как старший технический персонал в
>
> [MIT][4]
>
> , и как исследователь в
>
> [MIT Mathematics Department][5]
>
> и
>
> [MIT Computer Science and AI Lab][6]
>
> . Эта статья, написанная в соавторстве, кажется более дерзкой и задорной, по сравнению со второй, написанной уже им самим двумя годами позже (да и, чего уж там, первая статья написана IMHO в лучшем стиле), но я публикую их в связке, т.к. контекст за прошедшие пару лет сильно изменился, и было бы нечестно по отношению к экосистеме Hadoop/HDFS оставлять это незамеченным.
>
>

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

[1]: https://habrastorage.org/files/b48/c25/465/b48c25465c0e43cf8a23b13ad2d4a72e.png
[2]: http://amturing.acm.org/award_winners/stonebraker_1172121.cfm
[3]: https://en.wikipedia.org/wiki/Michael_Stonebraker
[4]: http://www.mit.edu/
[5]: http://math.mit.edu/
[6]: http://csail.mit.edu/
[7]: http://habrahabr.ru/post/270017/#habracut

[>] [Перевод] Буферы и двоичный ввод и вывод в Perl6
habra.15
habrabot(difrex,1) — All
2015-11-03 19:00:03


В Perl 5, начиная с версии 5.8, неплохо реализована поддержка Unicode – но люди всё равно жаловались на сложности в её использовании. В основном из-за того, что программисту нужно отслеживать, какие строчки были декодированы, а какие надо обрабатывать как двоичные данные. И нет надёжного способа посмотреть на переменные и понять, двоичные это строчки или текстовые. В Perl6 эту проблему решили вводом отдельных типов. В Str хранится текст. Строковые литералы в Perl6 имеют тип Str. Двоичные данные хранятся в объектах Buf. И перепутать их уже нельзя. Конвертация между ними осуществляется при помощи методов encode и decode.

my $buf = Buf.new(0x6d, 0xc3, 0xb8, 0xc3, 0xbe, 0x0a);
$*OUT.write($buf);

my $str = $buf.decode('UTF-8');
print $str;


У обеих операций эффект одинаковый – они выводят в стандартный выходной поток «møþ» и перевод строки. Buf.new(...) принимает список целых от 0 до 255 – байты из которых и строится новый буфер. $\*OUT.write($buf) выводит буфер из $buf в стандартный выходной поток. $buf.decode('UTF-8') декодирует буфер и возвращает объект Str (или падает, если в буфере не содержится допустимая строка в UTF-8). Обратная операция — $Buf.encode($encoding). Str можно вывести просто через print. [Читать дальше →][1]

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

[>] Ещё раз про семь основных методологий разработки
habra.15
habrabot(difrex,1) — All
2015-11-03 21:30:03


Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в [Эдисоне][1]. ![][2] [Читать дальше →][3]

[1]: http://www.edsd.ru/
[2]: https://habrastorage.org/files/e2a/620/d25/e2a620d25bf0417c8b31f2ffd144eab0.jpg
[3]: http://habrahabr.ru/post/269789/#habracut

[>] Эволюция автоматического тестирования в среде 1С: Предприятие
habra.15
habrabot(difrex,1) — All
2015-11-04 01:00:02


До релиза новой версии фреймворка по тестированию “xUnitFor1C” осталось совсем немного, а значит пришло время рассказать о проделанной работе и о том, что ожидает пользователей. Релиз получится действительно мажорным, изменений очень много, и они носят глобальный характер. Но обо всем по порядку.

#### Зачем все перепиливать?

Насколько я понимаю, на момент, когда проект только рождался, основной целью было понять, насколько модульное тестирование может быть востребовано в среде 1С. Понятное дело, что продумывать и выделять уровни абстракций на этапе прототипирования — дело не особо перспективное. Прототип не обладает эластичностью настоящего кода. Прототип — это эксперимент, результаты которого нужно выбрасывать. Далее флаг разработки переходил от одного энтузиаста к другому, при этом базовая архитектура оставалась прежней. С ростом популярности продукта и осознания того, что хотелось бы получить, стало все сложнее вносить изменения. Мне нравится метафора Алана Купера:

> Создание большой программы можно сравнить с постройкой столба из кирпича. Этот столб состоит из тысячи кирпичей, положенных один на другой. Столб может быть выстроен, только если класть кирпичи с большой точностью. Любое отклонение приведет к падению кирпичей. Если кирпич с номером 998 сможет отклонить на пять миллиметров, столб, вероятно, сможет выдержать тысячу кирпичей, но если отклонение на 5-ом кирпиче, столб никогда не станет выше трех десятков.

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

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

[>] Как мы впервые в Украине провели мероприятие по безопасности с размахом
habra.15
habrabot(difrex,1) — All
2015-11-04 22:00:04


_Привет всем ИБ'шникам и хакерам, здесь отчет о HackIT с интересными подробностями._ Наверняка многие слышали о том, что в Украине официально проходит набор в киберполицию на позиции инспектора и спецагента. Так вот, это не случайно. Это мероприятие, которое мы готовили еще с мая 2015, подразумевало собой проведение форума на 3 секции из 21 спикеров и отдельного зала для проведения олимпиады в формате CTF, где 9 лучших по scoreboard награждались призами. Надеюсь данный пост не сочтут за рекламу, т.к. мероприятие уже прошло, а цель публикации — собрать не безраличных людей к кибербезопасности в Украине. ![image][1] Дальше — фото и видео. [Читать дальше →][2]

[1]: https://habrastorage.org/files/e67/908/74e/e6790874e2d3412fa83cc551ab924fdd.jpg
[2]: http://habrahabr.ru/post/270163/#habracut

[>] Анализ AST c помощью паттернов
habra.15
habrabot(difrex,1) — All
2015-11-05 01:00:03


Сейчас я работаю [над senjin/gglsl][1] — библиотекой для программирования шейдеров с помощью Groovy, о которой [недавно писал][2]. Здесь я опишу три подхода к анализу AST (abstract syntax tree), все на примерах под-задач, вытекающих одна из другой и связанных общим контекстом: рекурсивные функции, паттерн Visitor, и паттерн-матчинг. Паттерн-матчинг реализован на Java и [доступен на GitHub][3]. [Читать дальше →][4]

[1]: https://github.com/kravchik/senjin
[2]: http://habrahabr.ru/post/269591/
[3]: https://github.com/kravchik/jcommon/wiki/pattern-matching
[4]: http://habrahabr.ru/post/270173/#habracut

[>] Android и iOS приложения пересылают данные пользователей третьей стороне намного чаще, чем принято считать
habra.15
habrabot(difrex,1) — All
2015-11-05 05:30:03


Проведя анализ 110 приложений (как Android, так и iOS), [команда экспертов][1] сделала вывод, что передача персональных данных пользователей этих приложений третьим лицам происходит достаточно часто. При этом у пользователя, зачастую, просто нет выбора. Как оказалось, подавляющее большинство проверенных приложений предоставляют Google, Apple и третьим лицам такие данные, как e-mail, имена и координаты своих пользователей. В среднем одно приложение Android отсылает данные такого рода по 3,1 адресам (доменам), а iOS приложение делает то же самое для 2,6 адресов (доменов). В некоторых случаях медицинские приложения отсылают поисковые результаты по словам «герпес» или «интерферон» не менее, чем на 5 различных доменов, не уведомляя пользователя о том, что происходит. ![][2] [Читать дальше →][3]

[1]: http://arstechnica.com/security/2015/11/user-data-plundering-by-android-and-ios-apps-is-as-rampant-as-you-suspected/
[2]: https://habrastorage.org/getpro/habr/post_images/b80/710/4ff/b807104ffdc9c4f8c7ff02a1a52eb1a4.png
[3]: http://habrahabr.ru/post/270181/#habracut

[>] Где находиться типу: справа или слева?
habra.15
habrabot(difrex,1) — All
2015-11-05 10:30:06


Как-то увидев очередную статью на Хабре, посвященную для меня совершенно новому и неизведанному языку Go, решил попробовать, что это за зверь и с чем его едят . Конечно, язык имеет много возможностей и достаточно удобен. Но что меня сразу удивило, это отличный от C-подобных языков принцип объявления переменных, а именно тип переменных описывается справа от имени переменной. У меня как человека, практически выросшего на С, это вызывало удивление. Потом я конечно вспомнил Pascal, что там тоже тип переменной был справа. Заинтересовавшись этим вопросом, я попытался разобраться, почему используется тот или иной синтаксис описания типа переменных в этих 2-х языках. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/bfe/77c/bd3/bfe77cbd353f4792ba9a129db04efe8b.jpg
[2]: http://habrahabr.ru/post/270081/#habracut

[>] К тридцатилетию первого C++ компилятора: ищем ошибки в Cfront
habra.15
habrabot(difrex,1) — All
2015-11-05 12:30:03


[![Бьёрн Страуструп][1]][2] _Авторы: Андрей Карпов, Бьёрн Страуструп._ **Cfront** это компилятор для С++, существующий примерно с 1983 года и разработанный Бьёрном Страуструпом. В то время он был известен как «C с классами». Cfront имел полноценный парсер, таблицы символов, строил дерево для каждого класса, функции и т.д. Cfront был основан на CPre. Cfront определял развитие языка приблизительно до 1990г. Многие неясные моменты, имеющие место в С++, связаны с ограничениями реализации Cfront. Причина в том, что Cfront осуществлял трансляцию с C++ в C. Одним словом, Cfront — это священный артефакт для любого C++ программиста. И я просто не мог пройти мимо, не проверив этот проект. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/a67/ff9/3a1/a67ff93a1111469ca360932dfbc0ab4f.png
[2]: http://www.viva64.com/media/images/content/b/0355_CFront/image2.png
[3]: http://habrahabr.ru/post/270191/#habracut

[>] CLion 1.2: еще больше возможностей и преимуществ
habra.15
habrabot(difrex,1) — All
2015-11-05 15:00:03


Сегодня мы хотим рассказать про новый релиз нашей кросс-платформенной IDE для C и C++ — CLion 1.2. Этот релиз вышел буквально на днях, в рамках [апдейта всех десктопных продуктов JetBrains и запуска новой лицензионной модели][1]. Кстати, если у вас уже есть лицензия CLion (купленная до 2 ноября или после запуска новой лицензионной модели), этот апдейт Вы получаете абсолютно бесплатно. Итак, что же внутри?

# Google Test

Одно из главных нововведений этого релиза — поддержка Google Test и возможность запускать тесты прямо из IDE. Для этого в CLion реализованы специальные конфигурации, которые создаются автоматически при запуске теста, файла с тестами, тестового класса или вручную в настройках. В настройках конфигурации указывается, какие тесты запускать, какой при этом таргет вызвать и пр.: [Читать дальше →][2]

[1]: http://habrahabr.ru/company/JetBrains/blog/270003/
[2]: http://habrahabr.ru/post/270185/#habracut

[>] Развёртывание приложений в InterSystems Caché
habra.15
habrabot(difrex,1) — All
2015-11-05 15:30:03


[][1]

## Введение

Итак, вы разработали своё приложение на технологиях InterSystems. Теперь его надо развернуть у клиента и часто не один раз. В процессе разработки у вас появилась инструкция по установке – потому что недостаточно просто импортировать классы, нужно ещё и провести тонкую настройку среды под ваши нужды. Для решения этих задач существует утилита [%Installer][2]. Эта статья о ней. [Читать дальше →][3]

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

[>] Уличная магия в скриптах или что связывает Groovy, Ivy и Maven?
habra.15
habrabot(difrex,1) — All
2015-11-05 15:30:03


После мучений с отладкой сложных MVEL скриптов + MavenClassloader, обнаружил, что механизм динамического разрешения зависимостей есть в языке Groovy. К тому же отладка Groovy скриптов возможна и в Idea и в Eclipse. ![][1] Вы спросите зачем нужно динамическое разрешение зависимостей? Некоторые вещи проще делать так, а некоторые возможно только так.














В публикации вы найдете работающее решение для Groovy в виде одного jar файла, загрузчик классов из репозитариев maven для Java приложения. Узнаем про особенности работы Grape «из коробки». Чтобы не быть голословным и были понятны возможности [Grape][2]… [Читать дальше →][3]

[1]: https://habrastorage.org/files/3f0/ecd/0db/3f0ecd0dbafe402caa35b2a1a88ca7d3.jpg
[2]: http://docs.groovy-lang.org/latest/html/documentation/grape.html
[3]: http://habrahabr.ru/post/270145/#habracut

[>] [Из песочницы] Highload на Java: о чем нужно помнить
habra.15
habrabot(difrex,1) — All
2015-11-05 15:30:03


Highload — это тема одновременно модная и достаточно заезженная, тем более, что нет четкого определения, что же такое «Highload». Для ясности, давайте назовем «Highload» сетевое приложение, которое должно обрабатывать 1000 запросов в секунду. А приложение, обрабатывающее 1 запрос в секунду, соответственно, «не Highload». Мой опыт показывает, что между первым и вторым есть существенная разница в архитектуре, подходах к разработке и проблемах. В этой статье я попытаюсь изложить эти отличия, как я их понимаю. ![image][1] Итак… [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/eae/1e7/fd0/eae1e7fd01584b0509bc3a484b0af3a7.jpg
[2]: http://habrahabr.ru/post/270059/#habracut

[>] [Перевод] Как обнаружить и устранить скрытую переадресацию для мобильных устройств
habra.15
habrabot(difrex,1) — All
2015-11-05 15:30:03


Привет, Хабр! Все мы любим, когда сайт отлично работает на любом устройстве, вне зависимости от размеров экрана, способов управления и взаимодействия. Нередко контент приходится незначительно адаптировать к устройству, на котором его просматривает пользователь: например, оптимизация для небольшого экрана смартфона предполагает изменение изображений и других элементов содержания. Чтобы мобильным посетителям было удобнее, разработчики нередко используют [всплывающую панель навигации][1]. Если такие модификации реализованы должным образом и их цель — повысить удобство, мы не рассматриваем их как нарушение правил Google. То же самое относится к переадресации на сайты для мобильных устройств. Пользователям смартфонов будет удобнее работать не с обычной версией сайта, а с мобильной. Поэтому переадресация, например, с **example.com/url1** на **m.example.com/url1** оправдана. Однако скрытая переадресация мобильных пользователей на посторонние страницы мешает работе и нарушает [рекомендации Google для веб-мастеров][2].



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

[1]: https://developers.google.com/web/fundamentals/layouts/navigation-patterns/navigationdrawer/
[2]: https://support.google.com/webmasters/answer/2721217
[3]: http://habrahabr.ru/post/269951/#habracut

[>] Как нам обустроить альтернативу 1С
habra.15
habrabot(difrex,1) — All
2015-11-05 15:30:03


Поскольку задача написания «аналогов» и «альтернатив» 1С нетривиальная, есть смысл изложить свое видение и ключевые моменты на основе опыта написания своей наколенной поделки. Ну и как бонус услышать критику и вовремя переделать где промахнулся. По факту, на данный момент 1С занимает подавляющий сегмент в нише учетных систем. Это объясняется рядом причин, в том числе и агрессивным маркетингом. Напомню техническую сторону. 1С в общем виде, состоит как бы из двух физически отдельных частей — собственно платформы (ядра, движка) и так называемой конфигурации. Конфигурация — это та часть, где собственно и реализуется прикладная бизнес-логика. Платформа предоставляет персистентное хранилище, бизнес-объекты высокого уровня, всякого рода конструкторы и построители отчетов, и специальный язык программирования. Но сама по себе технологическая платформа, даже с такими возможностями, не имела бы успеха. Поэтому конфигурация поставляется с уже написанной логикой — бухучет, торговля, склад и т.д. с учетом действующего законодательства. Это достаточно объемный труд, но в результате пользователь получает готовое законченное решение. А поскольку код самой конфигурации открыт, то остается возможность, как угодно корректировать бизнес-логику и подстраивать под свой бизнес. Это плюсы. Но есть и масса минусов. Чтобы не описывать тут можно почитать например [здесь][1]. Попыток вытеснить 1С предпринимается великое множество. Большинство проектов пытается переплюнуть плюсы 1С. Тягаться с огромной корпорацией дело малоперспективное. Продукты, писанные на Делфи или .NET, то есть требующие перекомпиляции, вообще неконкурентные, те, кто пытаются прикручивать в качестве DSL движки javascript или VBA выглядят чуть получше, но в любом случает такие решения могут использоваться в основном если есть штатный программист, чего малый бизнес, как правило, позволить себе не может. Попробуем подобраться с другой стороны. Не пытаться переплюнуть достоинства 1С а предложить решения тех проблем где 1С имеет минусы. Поскольку минусы где то уравновешивают плюсы а у нас этих минусов не будет то, даже если у нас не будет плюсов на уровне 1С, сальдо примерно будет такое же. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/244727/
[2]: http://habrahabr.ru/post/270087/#habracut

[>] [Перевод] Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 5 (и последняя)
habra.15
habrabot(difrex,1) — All
2015-11-05 15:30:03


[![][1]][2] В предыдущих статьях мы говорили о том, что такое событийно-ориентированная система бэктестинга, разобрали [иерархию классов][3], необходимую для ее функционирования, обсудили то, как подобные системы [используют рыночные данные][4], а также [осуществляют][5] отслеживание позиций и генерацию приказов на покупку. Кроме того, мы описали [процесс][6] оценки производительности тестируемых стратегий. В сегодняшнем материале будет рассмотрен процесс создания обработчика API брокерской системы для перехода к реальной торговле. **Примечание**: _В качестве примера автор использует API зарубежной компании Interactive Brokers, отсюда названия обсуждаемых модулей (IBExecutionHandler и т.п.). У ITinvest есть собственный [API-интерфейс SmartCOM][7], который может быть использован при создания систем, подобных описываемой._ [Читать дальше →][8]

[1]: https://habrastorage.org/files/ad3/461/7df/ad34617df75b47a19bce3b3fcd7866df.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/270215/
[3]: http://habrahabr.ru/company/itinvest/blog/263097/
[4]: http://habrahabr.ru/company/itinvest/blog/264141/
[5]: http://habrahabr.ru/company/itinvest/blog/266623/
[6]: http://habrahabr.ru/company/itinvest/blog/268929/
[7]: http://www.itinvest.ru/software/smartcom/
[8]: http://habrahabr.ru/post/270215/#habracut

[>] [recovery mode] Скриптование под .NET на JScript
habra.15
habrabot(difrex,1) — All
2015-11-05 15:30:03


Хочу показать простой пример, как просто с помощью стандартных средств подгружать яваскриптовские скрипты и работать с ними. Для простоты эксперимента пусть в скриптах будут опеределяться две функции: **Name()** — возвращает имя скрипта, которое могло бы в реальной игре быть именем бота. **Do(x, y)** — некая функция, которая принимает два числовых аргумента, что-то делает и возвращает результат. В реальной игре она могла бы отвечать за поведение бота. [Читать дальше →][1]

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

[>] Ansible 2.0 beta 2
habra.15
habrabot(difrex,1) — All
2015-11-05 18:00:03


![image][1] О системе управления конфигурациями Ansible мы [уже писали][2] два года назад. Мы активно её используем в собственной практике и внимательно следим за всеми изменениями и обновлениями. Конечно же, мы не могли оставить без внимания следующую новость: [вышла в свет вторая бета-версия Ansible v2.0][3]. Черновой вариант Ansible v2.0 был размещён на GitHub уже давно, а теперь наконец-то появился более или менее стабильный бета-релиз. В этой статье мы расскажем о наиболее значимых нововведениях во второй версии. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/07b/9ae/fb8/07b9aefb84b4863c9161edb0b4bde6df.png
[2]: http://habrahabr.ru/company/selectel/blog/196620/
[3]: https://groups.google.com/forum/m/#!topic/ansible-project/krpeTwi3mpo
[4]: http://habrahabr.ru/post/270209/#habracut

[>] Реализация сортировки в V8 от Google
habra.15
habrabot(difrex,1) — All
2015-11-05 19:00:04


![image][1] Мир javascript развивается с невероятной скоростью: новые стандарты языка, новые фреймворки, и в браузере, и на сервере и в десктопных приложениях и так далее… Но иногда хочется вместо изучения новой супер-фичи погрузиться в какую-то более базовую тему. И погрузиться глубоко, до самых исходников. И в этот момент под моим пристальным взглядом оказалась незаметная строчка «native code», которая так или иначе появляется перед глазами любого JS разработчика в консоли Chrome или Node.js:

[].sort.toString();
"function sort() { [native code] }"


Итак, кому интересно, какая реализация сортировки скрывается в V8 за надписью [native code] — добро пожаловать под кат. [Читать дальше →][2]

[1]: https://habrastorage.org/files/55b/c99/c47/55bc99c47029458e80fe886fdec184e4.png
[2]: http://habrahabr.ru/post/265079/#habracut

[>] [Из песочницы] Про Parboiled
habra.15
habrabot(difrex,1) — All
2015-11-05 19:00:04




#### Часть 1. Почему Parboiled?

Сегодня, в свете бурного роста популярности функциональных языков программирования, всё чаще находят себе применение комбинаторы парсеров — инструменты, облегчающие разбор текста простым смертным. Такие библиотеки, как [Parsec][1] (Haskell) и [Planck][2] (OCaml) уже успели хорошо себя зарекомендовать в своих экосистемах. Их удобство и возможности в своё время подтолкнули создателя языка Scala, Мартина Одерски, внести в стандартную библиотеку их аналог — [Scala Parser Combinators][3] (ныне вынесены в [scala-modules][4]), а знание и умение пользоваться подобными инструментами — отнести к обязательным требованиям к Scala-разработчикам [уровня A3][5]. Эта серия статей посвящена библиотеке [Parboiled][6] — мощной альтернативе и возможной замене для Scala Parser Combinators. В ней мы подробно рассмотрим работу с текущей версией библиотеки — Parboiled2, а также уделим внимание Parboiled1, так как большая часть существующего кода всё ещё использует именно её. **Структура цикла:**

* Часть 1. Почему Parboiled?
* Часть 2. Сопоставление текста
* Часть 3. Извлечение данных
* Часть 4. Суровая действительность

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

[1]: https://wiki.haskell.org/Parsec
[2]: https://bitbucket.org/camlspotter/planck
[3]: https://github.com/scala/scala-parser-combinators
[4]: http://mvnrepository.com/artifact/org.scala-lang.modules
[5]: http://www.scala-lang.org/old/node/8610
[6]: https://github.com/sirthias/parboiled
[7]: http://habrahabr.ru/post/270233/#habracut

[>] Ansible 2.0. Обзор новшеств
habra.15
habrabot(difrex,1) — All
2015-11-05 19:00:04


![image][1] О системе управления конфигурациями Ansible мы [уже писали][2] два года назад. Мы активно её используем в собственной практике и внимательно следим за всеми изменениями и обновлениями. Конечно же, мы не могли оставить без внимания следующую новость: [вышла в свет вторая бета-версия Ansible v2.0][3]. Черновой вариант Ansible v2.0 был размещён на GitHub уже давно, а теперь наконец-то появился более или менее стабильный бета-релиз. В этой статье мы расскажем о наиболее значимых нововведениях во второй версии. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/07b/9ae/fb8/07b9aefb84b4863c9161edb0b4bde6df.png
[2]: http://habrahabr.ru/company/selectel/blog/196620/
[3]: https://groups.google.com/forum/m/#!topic/ansible-project/krpeTwi3mpo
[4]: http://habrahabr.ru/post/270209/#habracut

[>] Изолируем демоны с systemd или «вам не нужен Docker для этого!»
habra.15
habrabot(difrex,1) — All
2015-11-05 19:30:03


В последнее время я вижу, как довольно большое количество людей применяет контейнерную виртуализацию только для того, чтобы запереть потенциально небезопасное приложение внутри контейнера. Как правило, используют для этого Docker из-за его распространенности, и не знают ничего лучше. Действительно, многие демоны первоначально запускаются от имени root, а далее либо понижают свои привилегии, либо master-процесс порождает обрабатывающие процессы с пониженными привилегиями. А есть и такие, которые работают исключительно от root. Если в демоне обнаружат уязвимость, которая позволяет получить доступ с максимальными привилегиями, будет не очень приятно обнаружить злоумышленников, уже успевших скачать все данные и оставить вирусов. Контейнеризация, предоставляемая Docker и другим подобным ПО, действительно спасает от этой проблемы, но также и привносит новые: необходимо создавать контейнер для каждого демона, заботиться о сохранности измененных файлов, обновлять базовый образ, да и сами контейнеры часто основаны на разных ОС, которые необходимо хранить на диске, хотя они вам, в общем-то, и не особо нужны. Что делать, если вам не нужны контейнеры как таковые, в Docker Hub приложение собрано не так, как нужно вам, да и версия устарела, SELinux и AppArmor кажутся вам слишком сложными, а вам бы хотелось запускать его в вашем окружении, но используя такую же изоляцию, которую использует Docker?

### Capabilities

В чем отличие обычного пользователя от root? Почему root может управлять сетью, загружать модули ядра, монтировать файловые системы, убивать процессы любых пользователей, а обычный пользователь лишен таких возможностей? Все дело в [capabilities][1] — средстве для управления привилегиями. Все эти привилегии даются пользователю с UID 0 (т.е. root) по умолчанию, а у обычного пользователя нет ни одного из них. Привилегии можно как дать, так и отобрать. Так, например, привычная команда ping требует создания RAW-сокета, что невозможно сделать от имени обычного пользователя. Исторически, на ping ставили SUID-флаг, который просто запускал программу от имени суперпользователя, но сейчас все современные дистрибутивы выставляют CAP\_NET\_RAW capability, которая позволяет запускать ping из-под любого аккаунта. Получить список установленных capabilities файла можно командой `getcap` из состава libcap.

% getcap $(which ping)
/usr/bin/ping = cap_net_raw+ep


Флаг **p** здесь означает _permitted_, т.е. у приложения есть возможность использовать заданную capability, **e** значит _effective_ — приложение будет ее использовать, и есть еще флаг **i** — _inheritable_, что дает возможность сохранять список capabilities при вызове функции `execve()`. Capabilities можно задать как на уровне ФС, так и просто у отдельного потока программы. Получить capability, которая не была доступна с момента запуска, нельзя, т.е. привилегии можно только понижать, но не повышать. Также существуют биты безопасности (Secure Bits), их три: KEEP\_CAPS позволяет сохранить capability при вызове setuid, NO\_SETUID\_FIXUP отключает перенастройку capability при вызове setuid, и NOROOT запрещает выдачу дополнительных привилегий при запуске suid-программ. [Читать дальше →][2]

[1]: http://man7.org/linux/man-pages/man7/capabilities.7.html
[2]: http://habrahabr.ru/post/270165/#habracut

[>] Ansible 2.0 b2. Обзор новшеств
habra.15
habrabot(difrex,1) — All
2015-11-05 19:30:03


![image][1] О системе управления конфигурациями Ansible мы [уже писали][2] два года назад. Мы активно её используем в собственной практике и внимательно следим за всеми изменениями и обновлениями. Конечно же, мы не могли оставить без внимания следующую новость: [вышла в свет вторая бета-версия Ansible v2.0][3]. Черновой вариант Ansible v2.0 был размещён на GitHub уже давно, а теперь наконец-то появился более или менее стабильный бета-релиз. В этой статье мы расскажем о наиболее значимых нововведениях во второй версии. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/07b/9ae/fb8/07b9aefb84b4863c9161edb0b4bde6df.png
[2]: http://habrahabr.ru/company/selectel/blog/196620/
[3]: https://groups.google.com/forum/m/#!topic/ansible-project/krpeTwi3mpo
[4]: http://habrahabr.ru/post/270209/#habracut

[>] Вышел новый Intercepter-NG [Android Edition] 1.6
habra.15
habrabot(difrex,1) — All
2015-11-05 21:30:04


Сегодня маленький праздник для любителей расширить функциональные возможности своих телефонов и прочих гаджетов, работающих на андроиде. Вышел новый Intercepter-NG [Android Edition] под версией 1.6. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/4af/5e6/265/4af5e62655834b11b118b9f277b9057d.jpg
[2]: http://habrahabr.ru/post/270249/#habracut

[>] [Перевод] Что нового в Fedora 23 Workstation
habra.15
habrabot(difrex,1) — All
2015-11-06 00:00:03


![image][1] Выпущен новый релиз Fedora 23 Workstation. Это надежная, удобная и мощная операционная система направлена на домашних пользователей, любителей, студентов, и разработчиков программного обеспечения. Fedora 23 Workstation включает последний релиз GNOME 3.18 сообщества GNOME. Этот релиз GNOME включает обновления файлового менеджера, нового календаря и Todo приложений. Fedora 23 Workstation — первый релиз Fedora, включающий LibreOffice 5. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/ea7/9ef/87d/ea79ef87db66305e586ee870640a005a.png
[2]: http://habrahabr.ru/post/270253/#habracut

[>] [Из песочницы] Решение задачи кредитного скоринга в студии Microsoft Azure Machine Learning
habra.15
habrabot(difrex,1) — All
2015-11-06 08:30:03




#### Резюме

Предсказать, выплатит клиент банка кредит или нет. Задача была предложена на интернет-турнире, устроенном одним банком. Один из примеров ее решения можно найти [здесь][1]. Наша цель состоит в построении решения на платформе Microsoft Azure. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/204500/
[2]: http://habrahabr.ru/post/270201/#habracut

[>] SWAPY с новым генератором кода
habra.15
habrabot(difrex,1) — All
2015-11-06 13:30:04


![SWAPY][1]SWAPY – графическая утилита для автоматизации UI для pywinauto (Python). В версии [0\.4.7][2] полностью переработан генератор кода. Основные возможности, а также примеры как быстро и просто создать скрипты автоматического тестирования UI, смотрите под катом. [Читать дальше →][3]

[1]: https://habrastorage.org/files/97b/a96/d4c/97ba96d4c55d4e73a6205689cfb98604.png
[2]: https://github.com/pywinauto/SWAPY/releases
[3]: http://habrahabr.ru/post/270247/#habracut

[>] [Перевод] Про Swift, и почему мои большие проекты будут на Objectve-C еще какое-то (возможно долгое) время
habra.15
habrabot(difrex,1) — All
2015-11-06 14:00:02


_От переводчика: C пятницей, дорогие хабровчане! Хочу поделиться сегодня с вами переводом стататьи с небольшого блога о опыте работы с языком Swift. Вряд-ли она претендует на лавры серьезного и скурпулезного анализа, но думаю будет интересна всем, кто задумывался «а не пора ли оправить на свалку истории этот Objective-C._ Когда Apple представила нам Swift, это было круто! Наконец то мы получили next-gen (т. е. модный-скриптоподобный) язык для разработки под яблочные девайсы (но без поддержки приватных членов класса, хм....). Теперь этот [языкДинозавр квадратноскобочный] может отправиться в музей, а мы начнем тыкать эти новые блестящие фичи языка. Безусловно наивно предполагать что язык, которому менее года, будет без тараканов: очевидное некоторое время нужно дать ему на избавление от детских болячек. Именно поэтому я не бросился переписывать все мои проекты на Swift сразу после анонса. ![][1] _Заметили, что птица падает вниз?_ [Но ты-таки взялся за Swift, ведь так?][2]

[1]: https://habrastorage.org/files/5d2/304/cf7/5d2304cf756b4f3d815d8ca0f309fe3e.jpg
[2]: http://habrahabr.ru/post/270291/#habracut

[>] Программа-криптовымогатель шифрует пользовательские файлы в «оффлайне»
habra.15
habrabot(difrex,1) — All
2015-11-06 15:30:04


![][1] Разного рода ransomware, программ-криптовымогателей развелось сейчас довольно много. Некоторые просто блокируют ПК, пока пользователь не заплатит. Иные разновидности такого ПО шифруют файлы, отправляя ключ на сервер, контролируемый мошенниками. Но есть и другие виды криптовымогателей, которые действуют еще более оригинально. Исследователи из компании Check Point недавно [провели анализ][2] работы одной из разновидностей такого рода программ, которая использует альтернативный метод шифрования файлов и предоставления ключа своим создателям. Сама программа — не новая, впервые ее заметили в июне прошлого года. С тех пор автор неоднократно обновлял свое творение (примерно раз в два месяца), криптовымогатель постоянно эволюционирует и совершенствуется. По мнению специалистов по информационной безопасности, этот образец был создан русскоязычными злоумышленниками, и работает это ПО, как правило, с пользователями из России. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/54d/7cc/056/54d7cc0568a482407b84a68acc4e9e30.jpg
[2]: http://blog.checkpoint.com/2015/11/04/offline-ransomware-encrypts-your-data-without-cc-communication/
[3]: http://habrahabr.ru/post/270307/#habracut

[>] [Из песочницы] Создание плагина для Intellij IDEA. Заметки и мелкие советы
habra.15
habrabot(difrex,1) — All
2015-11-06 16:00:04


Полгода назад или около того я загорелся-таки идей написать свой плагин для Intellij IDEA. Согласно задумке, он должен был считать, сколько времени разработчик потратил на проект (всего, за день, за сеанс) и отображать результат на диаграмме. Никакой магии, но такая функция здорово помогла бы мне рассчитывать время работы. ![][1] [И что из этого вышло?][2]

[1]: https://habrastorage.org/files/550/c43/130/550c431301474e55be9c302426770c55.png
[2]: http://habrahabr.ru/post/270309/#habracut

[>] [Перевод] Про Swift, и почему мои большие проекты будут на Objective-C еще какое-то (возможно долгое) время
habra.15
habrabot(difrex,1) — All
2015-11-06 17:00:03


_От переводчика: C пятницей, дорогие хабровчане! Хочу поделиться сегодня с вами переводом стататьи с небольшого блога о опыте работы с языком Swift. Вряд-ли она претендует на лавры серьезного и скурпулезного анализа, но думаю будет интересна всем, кто задумывался «а не пора ли оправить на свалку истории этот Objective-C._ Когда Apple представила нам Swift, это было круто! Наконец то мы получили next-gen (т. е. модный-скриптоподобный) язык для разработки под яблочные девайсы (но без поддержки приватных членов класса, хм....). Теперь этот [языкДинозавр квадратноскобочный] может отправиться в музей, а мы начнем тыкать эти новые блестящие фичи языка. Безусловно наивно предполагать что язык, которому менее года, будет без тараканов: очевидное некоторое время нужно дать ему на избавление от детских болячек. Именно поэтому я не бросился переписывать все мои проекты на Swift сразу после анонса. ![][1] _Заметили, что птица падает вниз?_ [Но ты-таки взялся за Swift, ведь так?][2]

[1]: https://habrastorage.org/files/5d2/304/cf7/5d2304cf756b4f3d815d8ca0f309fe3e.jpg
[2]: http://habrahabr.ru/post/270291/#habracut

[>] Вперед, на поиски палиндромов
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:07


Не так давно на Хабре была статья про [codebattle от hexlet.io][1]. Ну и затянуло же нас с друзьями, это как наркотик! Вроде пытаешься на работу отвлечься, а руки прям сами тянутся зайти на сайт, и все мысли — об оптимизации решений. И вот однажды попалась мне задачка, звучала она так: «The decimal number 585 is 1001001001 in binary. It is palindromic in both bases. Find n-th palindromic number». А если по-русски, то так: «десятичное число 585 в двоичном виде выглядит как 1001001001. Оно является палиндромом в обеих системах счисления. Найдите n-ый подобный палиндром». Она совсем не сложная и решена была быстро.

function is_palindrome($num) {
return $num == strrev($num);
}
function solution($num) {
$count = $i = 0;
while($count<$num) {
$i++;
// Проверяем по порядку все числа, являются ли они палиндром в десятичном и двоичном виде
if (is_palindrome($i) && is_palindrome(decbin($i))){
$count++;
}
}
return $i;
}


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

[1]: http://habrahabr.ru/company/hexlet/blog/269613/
[2]: http://habrahabr.ru/post/270325/#habracut

[>] Неофициальный инсталлятор Firebird 3.0 Release Candidate 1
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:07


![][1] Несколько дней назад исходные коды первого релиз-кандидата версии Fiebird 3.0 были зафиксированы в репозитории Firebird Project. Обычно проходит несколько недель с момента фиксации исходного кода до выпуска официального инсталлятора, поэтому мы в [IBase.ru][2] выпускаем неофициальный инсталлятор, [Читать дальше →][3]

[1]: https://habrastorage.org/files/539/e86/a27/539e86a27eb94cc8a8b9bc330b580c48.gif
[2]: http://ibase.ru
[3]: http://habrahabr.ru/post/270333/#habracut

[>] Резюме программиста: как сделать его удобным?
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:07


Наша команда занимается разработкой продукта для поиска удаленных разработчиков. По смыслу это не аналог upWork (ex-oDesk), а скорее, Uber: сервис за минимальное время находит на проект программиста, подходящего по локации, языку, компетенциям и стоимости. ![][1] Разработчики на входе в систему проходят очень серьезную процедуру тестирования и подтверждения своего профессионального опыта: таким образом на базе сервиса формируется коммьюнити топ-разработчиков, предпочитающих работать удаленно и открытых к новым проектам. Мы делаем продукт для программистов, которым можно доверить ключевые проекты, так как площадки для фрилансеров, исполняющих маленькие непрофильные задачи существуют в достаточном количестве. Обладая большим опытом «селекции» разработчиков, мы систематизировали свои знания и столкнулись с задачей идеального профиля программиста, по-настоящему удобного не только нам, но и широкой аудитории. Итак… [Читать дальше →][2]

[1]: https://habrastorage.org/files/12b/c93/4ad/12bc934ad7ef45429d2a5dfe215033e5.jpg
[2]: http://habrahabr.ru/post/270235/#habracut

[>] NSNJSON. 道 (Заключительная статья)
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08


道 — путь. В этой заключительной статье о формате [NSNJSON][1] я хочу рассказать о моем пути, который привел меня к изобретению этого формата. В комментариях к моим прошлым статьям ([«Усложнённый упрощённый JSON»][2] и [«JSON для любителей скобочек»][3]) неоднократно прозвучали вопросы о смысле, сложности, удобности и применимости этого формата. Итак, спешу поздравить всех неравнодушных — Вы дождались! ![][4] [Читать дальше →][5]

[1]: http://habrahabr.ru/post/269461/
[2]: http://habrahabr.ru/post/269461
[3]: http://habrahabr.ru/post/269993
[4]: https://habrastorage.org/files/523/095/41b/52309541bbdd4ab0b80af42b4eb17f9e.png
[5]: http://habrahabr.ru/post/270031/#habracut

[>] Security Week 45: побег из песочницы, обход EMET через WOW64, взлом 000webhost
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08


![][1]Цитаты из книги Евгения Касперского, которые я прикладываю к каждому новостному дайджесту, хорошо показывают ландшафт угроз по состоянию на начало 90-х годов прошлого века, а точнее — расположение темы ИБ по отношению к остальному миру. Примерно до начала двухтысячных, до появления первых массовых эпидемий все еще довольно простых зловредов, информационная безопасность воспринималась как нечто еще более сложное, чем IT в целом. Хорошие были времена, но они закончились. В середине десятых киберугрозы обсуждают все: научные работники, парламентарии и даже звезды эстрады. Это хорошо заметно по октябрьским дайджестам самых популярных новостей: сначала мы [ударились][2] в теорию криптографии, а потом внезапно [перескочили][3] в законодательство. И, таки да, приходится: все это так или иначе влияет на киберпространство, пусть и не прямо сейчас. Но вообще-то, вообще-то, практическая безопасность как была сложной чисто технической темой, так и осталась. Ландшафт угроз нельзя адекватно оценить, если смотреть только на реакцию общества или только на научные исследования. Те самые законопроекты — они важны, но с практикой имеют мало общего. Они и с IT в целом связаны только потому, что их текст набирался на компьютере в ворде. Это не то чтобы великое открытие, но явный намек: неплохо было бы соблюдать баланс. Отрадно, что на этой неделе все самые популярные новости — как раз из практической сферы. Никакой политики, никаких угроз, потенциально эксплуатируемых лет через пятнадцать. Все здесь и сейчас, как мы любим. До здравствует умеренный хардкор. Уииии! Предыдущие серии [живут здесь][4] [Читать дальше →][5]

[1]: https://habrastorage.org/files/3f7/a0e/ca5/3f7a0eca569e4842be45433f308d0ba5.png
[2]: http://habrahabr.ru/company/kaspersky/blog/269393/
[3]: http://habrahabr.ru/company/kaspersky/blog/269815/
[4]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[5]: http://habrahabr.ru/post/270295/#habracut

[>] [Перевод] Поверхности и тела вращения: использование «виртуального гончарного колеса» в Wolfram|Alpha
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08






_Перевод поста Peter Barendse "[Surfaces and Solids of Revolution: Using Wolfram|Alpha’s «Virtual Potter’s Wheel»][1]". Код, приведенный в статье, можно скачать [здесь][2]. Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][3] за помощь в переводе и подготовке публикации_

----

Ещё до появления современной технологии 3D печати у нас была возможность создавать объекты практически любой формы, и единственные ограничения для человечества были связаны лишь с точностью, которую мы можем обеспечить. И на пути преодоления этих ограничений были разработаны разнообразные устройства, способные производить изделия очень сложных форм; кульминацией этого процесса (до появления 3D-принтеров) стало появление станков с ЧПУ и большим количеством степеней свободы: [![][4]][5] Исторически одним из первых подобных устройств, был, пожалуй, гончарный круг, с помощью которого у нас появилась возможность создавать весьма точные осесимметричные изделия произвольного профиля. Я до сих пор воспринимаю это как волшебство, смотря на то, как гончар формирует кривую своими руками; то, как эта кривая задаёт форму для всей вазы через вращение колеса: [![][6]][7] [Читать дальше →][8]

[1]: http://blog.wolfram.com/2015/09/16/surfaces-and-solids-of-revolution-using-wolframalphas-virtual-potters-wheel/
[2]: http://blog.wolfram.com/data/uploads/2015/09/Surfaces-and-Solids-Blog-Post.cdf
[3]: http://habrahabr.ru/users/kirillguzenko/
[4]: https://habrastorage.org/getpro/habr/post_images/05e/35b/81d/05e35b81dc59e13777a1720797e3918b.png
[5]: http://www.wagstaffat.com/services-machining.asp
[6]: https://habrastorage.org/getpro/habr/post_images/99d/6a9/57b/99d6a957b4eb1f508de2f1eca95fa3cc.png
[7]: http://www.hazlespotterybarn.co.uk/wp-content/uploads/2010/05/PW-pot-hands-crop-3.jpg
[8]: http://habrahabr.ru/post/270279/#habracut

[>] Let's Encrypt: получение сертификата по шагам
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08


В данной статье будет описан реальный способ получения сертификата от [Let's Encrypt][1] в ручном режиме для его дальнейшей установки на веб-сервер Windows (IIS/Microsoft Azure) или Linux (полностью ручной режим). Из-за отсутствия официального клиента под Windows для генерации сертификата будет использоваться дистрибутив **Linux**. ![image][2] **Предыстория:** с самого начала для сайта нашей [Московской компании][3] (по ссылке уже установлен тестовый бета-сертификат Let's Encrypt) был необходим «простой» SSL-сертификат для подтверждения домена и шифрования данных. В первые дни открытия заявок на бета-тестирование и было принято решение записаться и вот недавно пришло письмо, которое сообщает о том, что теперь программа ACME сгенерирует валидный сертификат для нашего домена: ![][4] Далее мы решили опубликовать статью с пошаговой инструкцией процесса, чтобы к моменту релиза вы уже смогли оперативно создать и начать пользоваться своим сертификатом. [Читать дальше →][5]

[1]: https://letsencrypt.org/
[2]: https://letsencrypt.org/images/howitworks_certificate.png
[3]: https://moscow.company
[4]: https://habrastorage.org/files/e89/f76/388/e89f7638827f4147a22b48179b3f5ca0.png
[5]: http://habrahabr.ru/post/270273/#habracut

[>] Фиалка М-125
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08




> Спецсвязь — вещь весьма непростая.
>
>
>
> И роль шифровальщика очень важна
>
>
>
> для сохранения тайны.
>
>
>
> Везде, даже там, где кипит океан,
>
>
>
> скрывая подводные лодки,
>
>
>
> пошлёт за секунды умелый «шаман»
>
>
>
> свои криптограммные сводки.

**Криптомашина М-125 — внучка легендарной Enigma** ![][1] М-125, с кодовым название Фиалка, представляет собой электромеханическую 10 роторную шифровальную машину. Была впервые представлена в 1956 году, и стала наиболее популярной шифрмашиной в странах Варшавского договора. Для каждой страны-участника была настроена своя версия Фиалки (клавиатура и пишущая головка адаптированы под язык страны). Большинство машин воспринимало латиницу и кириллицу. Латинский алфавит мог отличаться, кириллица не имела знаков препинания и для всех машин была одинакова. Криптостойкость оценивают порядка 10^18. [Подробности][2]

[1]: https://habrastorage.org/files/0f0/994/cb1/0f0994cb18a04ce1a7523f928297e9be.png
[2]: http://habrahabr.ru/post/267705/#habracut

[>] [Из песочницы] MagOS в промышленном применении
habra.15
habrabot(difrex,1) — All
2015-11-06 19:30:04


_При выполнении этой работы ставилась задача минимизации времени на обслуживание сети из большого количества Linux машин._ [1\. Базовое описание основных принципов][1] [1\.1. Применение MagOS.][2] [1\.2. Технологии.][3] [1\.3. Выбор базового дистрибутива.][4] [2\. Структура сети.][5] [2\.1. Magos-server.][6] [3\. Настройка загрузчика.][7] [3\.1. Строки загрузчика.][8] [3\.2. Опции которые были использованы.][9] [3\.3. Опции, которые могут быть использованы.][10] [3\.4. Особенности сетевой загрузки.][11] [4\. Порядок инициализации системы.][12] [4\.1. Структура конфигурационного файла basecfg.ini по умолчанию.][13] [4\.2. Структура системной директории.][14] [4\.3. Реализация.][15] [5\. Сервер MagOS.][16] [5\.1. Общие сведения.][17] [5\.2. Настройки сети.][18] [5\.3. Настройка служб.][19] [5\.4. Репозиторий программ.][20] [5\.5. Дополнительные данные сервера][21] [5\.6. Мониторинг.][22] [6\. Пользовательские модули.][23] [6\.1. Общие принципы создания пользовательских модулей.][24] [6\.2. Сколько модулей делать.][25] [6\.3. Модули специального назначения.][26] [6\.4. Ограничения для модулей.][27] [6\.5. Инструкция по созданию модулей.][28] [6\.6. Модуль обновления системы.][29] [6\.7. Модуль установки офисных программ.][30] [6\.8. Модуль с утилитами и серверами.][31] [6\.9. Модуль системных настроек.][32] [7\. Скрипты.][33] [7\.1. Дополнения к magos-patches.][34] [7\.2. Скрипт установки ОС.][35] [7\.3. Скрипты включения в AD.][36] [7\.4. Управление системой (/root/bin).][37] [7\.5. Дополнительные скрипты, исправляющие работу программ magos и операционной системы.][38] [8\. Инструкция для техников.][39] [Читать дальше →][40]

[1]: #1
[2]: #1-1
[3]: #1-2
[4]: #1-3
[5]: #2
[6]: #2-1
[7]: #3
[8]: #3-1
[9]: #3-2
[10]: #3-3
[11]: #3-4
[12]: #4
[13]: #4-1
[14]: #4-2
[15]: #4-3
[16]: #5
[17]: #5-1
[18]: #5-2
[19]: #5-3
[20]: #5-4
[21]: #5-5
[22]: #5-6
[23]: #6
[24]: #6-1
[25]: #6-2
[26]: #6-3
[27]: #6-4
[28]: #6-5
[29]: #6-6
[30]: #6-7
[31]: #6-8
[32]: #6-9
[33]: #7
[34]: #7-1
[35]: #7-2
[36]: #7-3
[37]: #7-4
[38]: #7-5
[39]: #8
[40]: http://habrahabr.ru/post/270337/#habracut

[>] [Перевод] Обзор ES6 в 350 пунктах. Часть первая
habra.15
habrabot(difrex,1) — All
2015-11-07 01:30:05


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

[1]: https://ponyfoo.com/articles/tagged/es6-in-depth
[2]: https://habrastorage.org/files/0ea/9a3/48f/0ea9a348fe1645b88bc56e002e9217a0.png
[3]: http://habrahabr.ru/post/270353/#habracut

[>] Система наблюдения в автомобиле за ним же на Raspberry Pi. Часть 2
habra.15
habrabot(difrex,1) — All
2015-11-07 15:00:04


В прошлой [статье][1] я описал: создание на одном Raspberry Pi домашнего VPN-сервера; установку и настройку на втором Raspberry Pi OpenVPN-клиента, Node.JS и 3G-модема. В этот раз настроим и подключим GPS-приёмник и WEB-камеру (оба устройства – USB). [Читать дальше →][2]

[1]: http://habrahabr.ru/post/202012/
[2]: http://habrahabr.ru/post/202330/#habracut

[>] Бюджетная рассылка СМС
habra.15
habrabot(difrex,1) — All
2015-11-07 22:00:03


**Приветствую всех хаброжителей!** Конечно, зализанная тема про рассылку смс сообщений, но как говориться: «много — не мало». Как-то так получилось, что именно она меня постоянно преследует: то одни, то другие добрые люди попросят принять участие (советом, например) в реализации бюджетной рассылки сообщений. И поэтому чтобы не пропадать накопленному добру, оставлю здесь, а вдруг кому-то пригодится… Итак-с… Опускаем все варианты реализации на базе обычного компа и оси семейства NT. А перейдем сразу к «автономным» системам. Чем может похвастаться arduino в этом направлении? Отвечу сразу, ОНО работает, но есть нюансы, о которых напишу ниже. Вообщем, имеем китайский вариант arduino 2560 (было перепробовано практически вся линейка) и два дополнительных модуля — сеть W5100 (наиболее стабильный вариант) и GSM SIM 900. Выглядит это все дело как-то так. ![image][1] Задача была следующая: — устройство должно уметь общаться по http — отправлять сообщение — выдавать результат в формате json Гугл делится всей необходимой информацией, и на выходе получаем следующий код: [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/2c8/ead/201/2c8ead2011b102984e5b8d84ba22f682.png
[2]: http://habrahabr.ru/post/261387/#habracut

[>] ZeroNights HackQuest 2015
habra.15
habrabot(difrex,1) — All
2015-11-08 11:30:02


![][1] Традиционно, в пятый юбилейный раз, мы проводим конференцию по практической информационной безопасности (пройдет 25-26 ноября в Москве, [2015\.zeronights.ru][2]). И также традиционно мы проводим перед ней хакквест, предлагая всем желающим порешать задания связанные с reverse engineering'ом, веб-хакингом, пентестом, анализом протоколов и т.п. вещами. [Читать дальше →][3]

[1]: https://habrastorage.org/files/db6/941/6b9/db69416b99a846bdadcc648e702c3f88.png
[2]: http://2015.zeronights.ru/
[3]: http://habrahabr.ru/post/270393/#habracut

Pages: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ... 37