RSS
Pages: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ... 133
[>] Facebook Messenger был уязвим к атаке, требующей базовые знания HTML
habra.16
habrabot(difrex,1) — All
2016-06-08 13:00:03


![image][1]

Команда специалистов [Check Point security][2] обнаружила в стандартном функционале Facebook, а так же в Facebook Messenger, уязвимость, которая позволяла получить доступ к любым отправленным через социальную сеть сообщениям пользователей.

Конкретно эксплоит позволял кому угодно получить доступ к сообщениям пользователей и изменять их содержимое, то есть, например, потенциально распространять вредоносное ПО.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/7e7/1d2/f53/7e71d2f53001986b93ee383cd63639a7.jpg
[2]: https://www.checkpoint.com/
[3]: https://habrahabr.ru/post/302874/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Парсер OOXML (docx, xlsx, pptx) на Ruby: наши ошибки и находки
habra.16
habrabot(difrex,1) — All
2016-06-08 14:00:03


Мы выложили парсер OOXML форматов на Ruby в open-source. Он доступен на [GitHub'е][1] и [RubyGems.org][2], бесплатен и распространяется под лицензией AGPLv3. Всё как у модненьких Ruby-разработчиков.

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

[1]: https://github.com/ONLYOFFICE/ooxml_parser
[2]: https://rubygems.org/gems/ooxml_parser
[3]: https://habrastorage.org/files/235/26b/4e0/23526b4e01c7447c9ac0e3dccd53a89f.jpg
[4]: https://habrahabr.ru/post/302826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как не дать частым релизам поломать ваше API, или пишем авто-тесты для открытого API и шлем результат в Telegram бот
habra.16
habrabot(difrex,1) — All
2016-06-08 15:00:03


![image][1]

## **Предисловие**


Наша команда разрабатывает финансовые инструменты, в том числе открытые платежные API, и как многие проекты, работающие по практике continuous integration мы одновременно с созданием проекта 3 года назад начали думать над тем, как улучшить покрытие проекта тестами и добиться максимальной стабильности нашего кода при довольно частых изменениях (мы иногда устанавливаем обновления на продуктовую среду несколько раз в день). Особенно это важно в трех аспектах:

* мы предоставляем наши API интерфейсы в открытый доступ клиентам и важно, чтобы все взаимодействие четко соответствовало описаниям спецификаций
* мы интегрируемся с большим количеством других финансовых сервисов и банков, и помимо покрытия тестами своего кода мы вынуждены также покрывать интеграционными тестами взаимодействие с test (а иногда и prod) средой сторонних систем
* наша внутренняя архитектура включает в себя большое количество микросервисов, которые общаются между собой по HTTP API


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

[1]: https://habrastorage.org/getpro/habr/post_images/3a1/3a6/6af/3a13a66afc5b9153c20cecedd24ff299.jpg
[2]: https://habrahabr.ru/post/302736/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Devconf 2016: Интервью с разработчиком SphinxSearch
habra.16
habrabot(difrex,1) — All
2016-06-08 15:00:03



Мы любим делать интервью с нашими докладчиками. На этот раз — интервью с **Андреем [shodan][1] Аксеновым**, создателем поискового движка SphinxSearch(не знаю как сейчас, но раньше хабр использовал именно этот движок для поиска по сайту) и, как оказалось, еще пары движков. На нашей конференции он будет рассуждать на извечную тему: [Devs vs CTO vs CEO][2]. Само интервью вышло довольно интересным. Андрей честно и откровенно ответил на вопросы, за что ему большой респект :)

> Я тебя знаю как разработчика Sphinxsearch, но, как показывает твоя краткая биография, которую ты дал в описании доклада, похоже компьютерная графика — твоя главная страсть?Все одновременно проще и сложнее, какой-то главной мегастрасти нету :) Есть сколько-то интересные области, есть безразличные. Делать всякий низкий уровень, типа поискового движка, 3D игры, обработки видеозахвата, крохотного недогипервизора (V8086), патчить MySQL или ядро операционки, писать спецмодули к Апачику, улучшать известный алгоритм сжатия или даже просто ковыряться с особо толстыми и тормозными SQL запросами — все это бывает довольно интересно (а бывает нет! но чаще интересно). А вот рисовать формочки для GUI, неважно, на моднейшем Node.js или дохлом Delphi, или там править унылые отчеты в 1C — таки не очень. Говорю по личному опыту, тк. в какой-то мере занимался всем вышеперечисленным и еще всяким.
[Читать дальше →][3]

[1]: https://habrahabr.ru/users/shodan/
[2]: http://devconf.ru/ru/offers/offer/220
[3]: https://habrahabr.ru/post/302888/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разбор задач третьего квалификационного раунда RCC 2016
habra.16
habrabot(difrex,1) — All
2016-06-08 15:00:03


![][1]

Итак, завершился третий квалификационный раунд международного чемпионата программистов Russian Code Cup 2016. Как и в предыдущих двух раундах, участники должны были в течение двух часов решить пять задач. Учитывались как правильность, так и скорость решения. В третьем отборочном раунде за шанс выйти в следующий финал сразились 4379 человек. Но только 200 из них завоевали возможность приблизиться к победе в чемпионате. А теперь по сложившейся традиции разберём задачи раунда.

1. [Прямоугольник и квадраты][2]
2. [Нули и единицы][3]
3. [Новая трасса][4]
4. [Дерево][5]
5. [Варвары][6][Читать дальше →][7]

[1]: https://habrastorage.org/files/d89/285/48d/d8928548d8044b2ab7d971f3cdc5a68a.jpg
[2]: https://habrahabr.ru/company/mailru/blog/302672/#1
[3]: https://habrahabr.ru/company/mailru/blog/302672/#2
[4]: https://habrahabr.ru/company/mailru/blog/302672/#3
[5]: https://habrahabr.ru/company/mailru/blog/302672/#4
[6]: https://habrahabr.ru/company/mailru/blog/302672/#5
[7]: https://habrahabr.ru/post/302672/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Лаборатория тестирования на проникновение v.9: нет ничего невозможного
habra.16
habrabot(difrex,1) — All
2016-06-08 15:00:03


![][1]

20 мая 2016 г. была запущена очередная, девятая по счету лаборатория тестирования на проникновение «Test lab v.9», которая представляет собой виртуальную компанию «CyBear 32C», занимающуюся разработкой различных систем и приложений, в том числе систем обеспечения ИБ.

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

[1]: https://habrastorage.org/files/ad5/156/026/ad5156026ba64a078978a80eaa5944d6.png
[2]: https://habrahabr.ru/post/302838/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание арканоида на чистом JavaScript с нуля. CANVAS
habra.16
habrabot(difrex,1) — All
2016-06-08 15:00:03


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

[1]: https://habrahabr.ru/post/302860/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конкурс по программированию на JS: Классификатор слов (о ходе тестирования)
habra.16
habrabot(difrex,1) — All
2016-06-08 22:00:03


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

Английская версия этого поста размещена [на GitHub][2].


#### Протестировать 312 решений


Большое спасибо всем участникам! Мы получили 603 решения от 312 участников. Поскольку мы принимаем к тестированию самое последнее из присланных в срок решений, то протестировать надо **312 решений**. Это был неожиданный результат. Надеюсь, это немного объясняет, почему это занимает так много времени.
[Читать дальше →][3]

[1]: https://habrahabr.ru/company/hola/blog/282624/
[2]: https://github.com/hola/challenge_word_classifier/blob/master/blog/03-testing-progress.md
[3]: https://habrahabr.ru/post/302922/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Уменьшаем боль в навигации приложения на Yii2
habra.16
habrabot(difrex,1) — All
2016-06-09 12:00:04


![][1]



Доброго времени суток! Большую часть проектов [мы][2] пишем на Yii2, потому что он клёвый и мы его любим.
Однако, всегда есть что улучшить (благо этого не препятствует архитектура Yii). Хочу поделиться решением, которое упрощает прописывание навигации в приложениях на Yii2.



# Проблема



Когда мы добавляем в приложение страницу, нам нужно прописать для неё следующие вещи (после создания контроллера и вьюшки):

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

[1]: https://habrastorage.org/files/471/992/acc/471992accc354f059f22142c125a54d2.jpg
[2]: http://extpoint.com
[3]: https://habrahabr.ru/post/302954/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Теория графов в Игре Престолов
habra.16
habrabot(difrex,1) — All
2016-06-09 12:30:03


![][1]

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

Всем кому интересно, добро пожаловать под кат.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/a3b/b15/35a/a3bb1535a6ce42859dc6ab5775602bb9.jpg
[2]: https://geektimes.ru/post/275466/
[3]: https://habrahabr.ru/post/302936/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Юникастовая маршрутизация мультикаст-трафика
habra.16
habrabot(difrex,1) — All
2016-06-09 14:00:03


### Предисловие


Недавно мною было замечено, что при просмотре мультикастового IPTV через Wi-Fi часть трафика теряется. После детального изучения проблемы было выяснено, что такое поведение объясняется природой мультикаст-трафика, а именно – MAC-адрес получателя пакета. Он не зависит от получателя и формируется из адреса мультикаст-группы. Соответственно, на такие пакеты претендуют все клиенты, подключенные к беспроводной точке доступа. Вследствие этого нам достается лишь часть пакетов и мы видим обрывистую картинку.

Штатными средствами проблема решается либо созданием отдельной точки доступа для клиента, либо созданием статического маршрута для определенных мультикаст-групп, или же выведением клиента в отдельный VLAN. Вся “сила” таких решений проявится, когда в сети будет несколько IPTV-приставок, желающих посмотреть один и тот же канал, плюс необходимость их в интернете добавит сложность к настройке роутера. Свое решение данной проблемы предлагаю ниже.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/302956/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интервью с Андреем Светловым о языке Python и не только
habra.16
habrabot(difrex,1) — All
2016-06-09 15:00:06


В преддверии PyCon Russia мы решили поговорить с докладчиками конференции о Python, их работе и увлечениях. Первое короткое интервью мы взяли у одного из разработчиков языка Python Андрея Светлова.

[Андрей Светлов][1] — Python Core Developer, инженер в [DataRobot][2], автор и активный участник многих питоновских библиотек, среди которых [asyncio][3], [aiohttp][4], [aiopg][5], [aiozmq][6], автор популярного [блога][7], посвященного языку программирования Python, программный директор и ежегодный спикер конференции [PyCon Russia][8].

[][9]

###### _Андрей Светлов — спикер многих python-конференций_


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

[1]: https://twitter.com/andrew_svetlov
[2]: http://www.datarobot.com/
[3]: http://asyncio.org
[4]: https://pypi.python.org/pypi/aiohttp/
[5]: https://aiopg.readthedocs.io/en/stable/
[6]: https://aiozmq.readthedocs.io/en/v0.7.0/
[7]: http://asvetlov.blogspot.ru
[8]: http://pycon.ru/2016/?utm_source=news&utm_medium=post&utm_campaign=habr9.06
[9]: https://fotki.yandex.ru/next/users/it-people-ekb/album/169532/view/1417224
[10]: https://habrahabr.ru/post/302970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Мультиплеер в быстрых играх(Часть IV: Хэдшот! Путешествуем во времени)
habra.16
habrabot(difrex,1) — All
2016-06-09 17:30:03


![][1]
1. [Части I, II (синглплеер с авторитарным сервером)][2]
2. [Часть III (Появление врага)][3]
3. [Часть IV (Хэдшот!)][4]
Как повесить идеальный хэдшот если у тебя пинг 2 секунды? Вы узнаете в этой статье.


### Текущий алгоритм работы мультиплеера


* Сервер получает команды с клиентов и времена их отправления
* Сервер обновляет состояние мира
* Сервер с некоторой частотой отправляет свое состояние всем клиентам
* Клиент отправляет команды и локально воспроизводит их результат
* Клиент получает обновленные состояния мира и:
* Применяет состояние от сервера
* Заново применяет все свои команды, которые сервер не успел применить.
* Интерполирует предыдущие состояния других игроков
* С точки зрения игрока, есть два серьезных последствия:
* Игрок видит **себя **в **настоящем**
* Игрок видит **других **в **прошлом**.
Обычно это отлично работает, но это становится большой проблемой для событий, которым нужна высокая пространственно-временная точность. Например если **хочется разнести врагу бошку**!
[Читать дальше →][5]

[1]: https://habrastorage.org/files/76f/ebf/474/76febf4741f34ba1b08aa31f02f44662.jpg
[2]: https://habrahabr.ru/post/302394/
[3]: https://habrahabr.ru/post/302834/
[4]: https://habrahabr.ru/post/303006/
[5]: https://habrahabr.ru/post/303006/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создаем безопасный IP мессенджер с помощью Virgil и Twilio за 30 минут
habra.16
habrabot(difrex,1) — All
2016-06-09 18:30:11


![][1]


Привет!
Мы уже показывали вам код, с помощью которого можно легко и просто реализовать end-to-end шифрование. Давайте пойдем дальше и, используя сервисы Virgil Security, разработаем безопасный IP мессенджер. Реализация безопасного IP мессенджера со встроенной функцией шифрования – задача далеко не тривиальная. В этой статье мы хотим рассказать как, используя [Virgil API][2] и [Тwilio IP Messaging API][3], сделать этот процесс намного проще.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/1f5/89e/e1d/1f589ee1dc674a918b5ded11f596478b.jpg
[2]: https://virgilsecurity.com/api-docs
[3]: https://www.twilio.com/docs/api/ip-messaging
[4]: https://habrahabr.ru/post/302608/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Мультиплеер в быстрых играх (Часть IV: Хэдшот! Путешествуем во времени)
habra.16
habrabot(difrex,1) — All
2016-06-09 19:00:03


![][1]
1. [Части I, II (синглплеер с авторитарным сервером)][2]
2. [Часть III (Появление врага)][3]
3. [Часть IV (Хэдшот!)][4]
Как повесить идеальный хэдшот если у тебя пинг 2 секунды? Вы узнаете в этой статье.


### Текущий алгоритм работы мультиплеера


* Сервер получает команды с клиентов и времена их отправления
* Сервер обновляет состояние мира
* Сервер с некоторой частотой отправляет свое состояние всем клиентам
* Клиент отправляет команды и локально воспроизводит их результат
* Клиент получает обновленные состояния мира и:
* Применяет состояние от сервера
* Заново применяет все свои команды, которые сервер не успел применить.
* Интерполирует предыдущие состояния других игроков
* С точки зрения игрока, есть два серьезных последствия:
* Игрок видит **себя **в **настоящем**
* Игрок видит **других **в **прошлом**.
Обычно это отлично работает, но это становится большой проблемой для событий, которым нужна высокая пространственно-временная точность. Например если **хочется разнести врагу бошку**!
[Читать дальше →][5]

[1]: https://habrastorage.org/files/76f/ebf/474/76febf4741f34ba1b08aa31f02f44662.jpg
[2]: https://habrahabr.ru/post/302394/
[3]: https://habrahabr.ru/post/302834/
[4]: https://habrahabr.ru/post/303006/
[5]: https://habrahabr.ru/post/303006/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] CodeRush for Roslyn: Part 1 — полезные фичи для разработки через тестирование
habra.16
habrabot(difrex,1) — All
2016-06-10 11:30:03


Мы выпускаем новый продукт — [CodeRush for Roslyn][1] (далее **CRR**). Уже более 10 лет у нас есть другой продукт, который называется просто **CodeRush**, или **CodeRush Classic** (сокращенно **CRC**). Главное отличие **CRR** от **CRC** в том, что Roslyn-версия использует парсинг и языковые сервисы встроенные в Visual Studio. **CRR** полностью написан с нуля, поэтому он быстрый, легкий и уже содержит всё необходимое для эффективной работы.

В этой статье я расскажу о поддержке тестовых фреймворков в **CRR**. Почти во всех примерах будет использован проект [github.com/dewe/Money][2]. Этот проект использует NUnit Framework, но мы так же поддерживаем xUnit, MSpec и MS Test Framework. Все рассмотренные ниже практики работают одинаково вне зависимости от того, какой тестовый фреймворк вы используете.
[Читать дальше →][3]

[1]: https://www.devexpress.com/Products/CodeRush/coderush-for-roslyn.xml
[2]: https://github.com/dewe/Money
[3]: https://habrahabr.ru/post/303008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] DevOps — автоматизируй всё
habra.16
habrabot(difrex,1) — All
2016-06-10 13:30:03


Целью статьи является дать основные представления о DevOps и практиках, используемых при этой методологии. Тут не будет сложных терминов, конкретных продуктов и road map внедрения DevOps, но, надеюсь, будет интересно ознакомиться.


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

[1]: https://habrahabr.ru/post/303050/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Data Plane Development Kit (DPDK): приступая к работе
habra.16
habrabot(difrex,1) — All
2016-06-10 14:00:03


![][1]Для быстрой обработки пакетов требуется обнаруживать битовые шаблоны и быстро (со скоростью работы канала) принимать решения о нужных действиях на основе наличных битовых шаблонов. Эти битовые шаблоны могут принадлежать одному из нескольких заголовков, присутствующих в пакете, которые, в свою очередь, могут находиться на одном из нескольких уровней, например Ethernet, VLAN, IP, MPLS или TCP/UDP. Действия, определяемые по битовым шаблонам, могут различаться — от простого перенаправления пакетов в другой порт до сложных операций перезаписи, для которых требуется сопоставление заголовка пакета из одного набора протоколов с другими. К этому следует добавить функции управления трафика и политик трафика, брандмауэры, виртуальные частные сети и т. п., вследствие чего сложность операций, которые необходимо выполнять с каждым пакетом, многократно возрастает.

Чтобы добиться работы на ожидаемом уровне производительности при скорости канала 10 Гбит/с и размере пакета в 84 байта, процессор должен обрабатывать 14,88 миллиона пакетов в секунду. Оборудование общего назначения было недостаточно мощным для обработки пакетов с такой скоростью. Поэтому в большинстве рабочих сетевых систем обработкой пакетов в каналах данных занимаются контроллеры ASIC и сетевые процессоры NPU. К очевидным недостаткам такого подхода относятся: недостаточная гибкость, высокая стоимость, длительные циклы разработки, зависимость от определенного поставщика. Тем не менее, благодаря доступности более быстрых и дешевых ЦП и программных ускорителей, таких как Data Plane Development Kit (DPDK), можно переложить эту нагрузку на оборудование общего назначения.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/9ce/4c2/b12/9ce4c2b129a54384b1de85aef28d0681.png
[2]: https://habrahabr.ru/post/302126/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Где взять логины или VoIP в помощь
habra.16
habrabot(difrex,1) — All
2016-06-10 14:00:03


![][1]Тестирование на проникновение всегда начинается со сбора информации об инфраструктуре. Доступные узлы с открытыми портами и уязвимыми сервисами, валидные учетные данные и другая информация, позволяющая «продвинуться» и скомпрометировать инфраструктуру интересна в первую очередь. При проведении тестирования методом black-box очень часто встает вопрос: «где взять логины?». В статье я хочу рассказать, откуда _ещё_ можно получить логины на этапе сбора информации. Добро пожаловать под кат.
[Читать][2]

[1]: https://habrastorage.org/files/0df/dc2/d72/0dfdc2d721a640c7b30dde1dbae217d1.jpg
[2]: https://habrahabr.ru/post/303058/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Балансировка трафика между несколькими [vpn-]интерфейсами в одной подсети
habra.16
habrabot(difrex,1) — All
2016-06-10 14:00:03


Недавно обзавёлся задачей по балансировке трафика между несколькими usb-модемами. В итоге родилось [решение][1] коим и хочу поделиться с Хабрасообществом.

На момент написания статьи это [balancing\_v0.5.2-alpha][2].

Изначально задача формулировалась примерно так:
> Есть пучёк armhf девайсов c Ubuntu Trusty на борту.
> У них есть несколько подключений к интернету. Обычно это основное проводное подключение (eth0) и несколько HiLink usb-модемов Huawei E303 (eth1-eth5). Через каждое из этих подключений нужно поднять openvpn-клиентов к единственному серверу и через них уже балансировать трафик.
Всё бы ничего, но у этих модемов нет возможности изменения подсети и шлюза (гвоздями прибиты 192.168.1.1/24), причём прошивок с реализацией этой возможности тоже не нашлось (в отличии, например от E3272 для которого есть прошивки с таким функционалом). Кроме того даже если бы и нашлись, то vpn-подключения всё равно были бы в одной подсети и с одинаковым шлюзом. Т.е. без продвинутой маршрутизации (policy routing) не обойтись.

Ах, да, ещё надо мониторить каждое подключение и отключать/включать, если порвалось/возобновилось. Т.е. маршрутизацией нужно управлять динамически.
[Читать дальше →][3]

[1]: https://github.com/vmspike/balancing
[2]: https://github.com/vmspike/balancing/archive/v0.5.2-alpha.tar.gz
[3]: https://habrahabr.ru/post/303056/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Опасайтесь онлайн-счетов с шифровальщиком: недавно обнаруженная угроза уже проявилась в разных странах
habra.16
habrabot(difrex,1) — All
2016-06-10 14:00:03


![][1]

Всего несколько дней назад мы получили уведомление от испанской электроэнергетической компании Endesa, в котором нас предупредили о новом онлайн-мошенничестве, поражающем жертвы с помощью поддельных электронных писем. Кибер-преступники отправляли ложные счета испанским пользователям якобы от имени компании Endesa, при открытии которых они подвергались кибер-атаке. К сожалению, кибер-преступникам удалось успешно начать свои атаки, и даже продолжить их в других странах. Сейчас очень трудно оценить число людей, получивших такие «письма счастья», и долю тех, кто стал жертвой данной атаки.

За последние несколько часов обнаружен новый очаг подобной атаки. Государственная электрическая компания PGE (Польша) также попала под внимание данной сети кибер-преступников, которые использовали этот метод атаки уже на международном уровне. Подобно инциденту в Испании, в этом случае преступники также поражают важную и чувствительную информацию, принадлежащую домашним и корпоративным пользователям, после того как открывается зараженный файл, в котором, как предполагается, должен быть счет за электричество (который оказывается слишком дорогим для пользователей). [Читать дальше →][2]

[1]: https://habrastorage.org/files/591/e76/dcb/591e76dcb26a468b98cff27391324917.png
[2]: https://habrahabr.ru/post/303042/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Хакер продает базу данных с 32 миллионами учетных записей Twitter
habra.16
habrabot(difrex,1) — All
2016-06-10 14:00:03


[![][1]][2]

По [сообщению][3] издания The Hacker News, неизвестный хакер продает учетные записи более чем 32 миллионов пользователей Twitter — цена архива составляет 10 биткоинов (больше $5800 по текущему курсу). [Читать дальше →][4]

[1]: https://habrastorage.org/files/43d/e8b/ef9/43de8bef92364166a219c919f6e6445c.JPG
[2]: https://habrahabr.ru/company/pt/blog/303004/
[3]: http://thehackernews.com/2016/06/hack-twitter-password.html?m=1
[4]: https://habrahabr.ru/post/303004/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Форум uTorrent взломан, пароли скомпрометированы
habra.16
habrabot(difrex,1) — All
2016-06-10 14:00:03


Ресурс torrentfreak сообщает, что форум торрент клиента uTorrent был взломан, пароли пользвателей утекли.
![image][1]

###### Скриншот обьявления о случившемся на форуме компании



_На форуме зарегистрировано 388,000 пользователей_
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/8fc/f78/962/8fcf789629ef1a9259d13856a20105c4.png
[2]: https://habrahabr.ru/post/302940/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Медленно, но верно: выбираем оптимальный вариант стратегии для торгового робота
habra.16
habrabot(difrex,1) — All
2016-06-10 14:00:03


[![][1]][2]

Большинство трейдинговых систем создано по типу «срубить денег по-быстрому». Они обращаются к временным неэффективностям рынков, для того чтобы получить ежегодную прибыль в районе 100%. За такими системами нужен постоянный контроль. Их нужно адаптировать к условиям рынка. Но срок их жизни остается относительно небольшим. И, когда это время приходит, смерть системы сопряжена, как правило, с большими финансовыми потерями. Что если оставаться в выигрыше, но сделать работу с трейдинговой системой более комфортной и безопасной?

Предлагаем вам адаптированный перевод [статьи][3] в The Financial Hacker, в которой автор реабилитирует идею Марковица и его подход оптимизации среднего отклонения (Mean-Variance Optimization).

«Старый-добрый» подход к осуществлению инвестиций гласит: покупай активы с низкими рисками и жди. Каждый инвестиционный портфель имеет некий средний гарантированный доход и определенный уровень ценовых колебаний. Обычно мы стремимся минимизировать последний и увеличить первый показатель. Оптимальное распределение капиталов, как раз, и призвано решить эту проблему. Оно подразумевает неравноценное распределение вложенных средств по количеству N активов. Самый простой способ решить задачу увеличения средней доходности при минимизации рисков предложил 60 лет назад [Гарри Марковиц][4]. Это решение принесло ему Нобелевскую премию. [Читать дальше →][5]

[1]: https://habrastorage.org/files/a9d/84a/5d5/a9d84a5d517f4a97a80c8caf4d77b932.png
[2]: https://habrahabr.ru/company/itinvest/blog/303040/
[3]: http://www.financial-hacker.com/get-rich-slowly/
[4]: https://en.wikipedia.org/wiki/Harry_Markowitz
[5]: https://habrahabr.ru/post/303040/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Synology DSM, Perl и Mojolicious
habra.16
habrabot(difrex,1) — All
2016-06-10 14:00:03


Раз вспомнили про Synology DSM в [Одновременное монтирование зашифрованных папок в Synology DSM][1], то решил показать как при помощи Perl и веб фреймворка Mojolicious сделать простое приложение под свои нужды. Мне пришлось написать на коленке утилиту [SynDevInfo][2], для вывода необходимой информации по устройству в браузере, т.к. уважаемый support не знает GNU/Linux, а пользователи не могут зайти по ssh.



Под катом будет описана структура пакета, скрипт запуска приложения и сам скрипт на [Mojolicious::Lite][3]

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

[1]: https://habrahabr.ru/post/302634/
[2]: https://github.com/RPG-18/SynDevInfo
[3]: http://mojolicious.org/perldoc/Mojolicious/Lite
[4]: https://habrahabr.ru/post/302746/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Расследование: куда ваш сайт редиректит пользователей, а вы об этом даже не подозреваете
habra.16
habrabot(difrex,1) — All
2016-06-10 15:30:03


![image][1]

Добрый день!

Меня зовут Максим и я директор по продуктам. Эта история началась с того, что однажды я зашел с мобильного телефона на наш сайт и, к своему большому удивлению, был перенаправлен на сайт какой-то интернет-рулетки. Попробовал зайти еще раз – проблема не повторяется, подумал что глюк. Попросил коллег попробовать зайти с мобильного телефона – и волосы встали дыбом. Один «стал миллионным посетителем и выиграл машину», второй – «получил подарочный депозит на форекс», третий был обрадован «ваучером на 50 000 рублей», а многие вообще попали на сайты с нескромно одетыми женщинами, делающими всякое. Для тех кто задумался о том, что может быть причиной, подсказка – сайт не взламывали. Вредоносный код мы добавили сами, пользуясь одним популярным маркетинговым инструментом. Расследование под катом.
[Читать дальше →][2]

[1]: https://s3.amazonaws.com/f.cl.ly/items/1M321v2N160q1S471E3x/moshennik1.jpg?v=4eb6d9cd
[2]: https://habrahabr.ru/post/303074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] DevConf::Go — 17 июня в Сколково, экслюзивный мастер-класс по Go 18 июня в ТАСС
habra.16
habrabot(difrex,1) — All
2016-06-10 16:30:03


![][1] Каждый год на DevConf появляются новые лидеры в разработках — в этом годы было много [**интересных заявок по Go**][2], где разработчики готовы рассказать, как они применяют Go в продакшен. Вам интересено Go? Присоединяйтесь к сообществу Go на [**4Gophers.ru**][3]

Первый доклад ["**Prometheus мониторинг от души**"][4] представляет Евгений Пак — разработчик с 10 летним опытом работы, Senior Developer Go компании Lazada. Он расскажет об опыте переезда на Prometheus, и почему выбрали именно его, о процессе миграции и о том, как организована инфраструктура для сбора метрик Go приложений. Расскажет о тонкостях вычисления квантилей как на стороне клиента (тип метрик Summary), так и на стороне сервера (тип метрик Histogram). Также вы узнаете о тех нюансах, с которыми столкнулись при работе с Графаной, и как их решили.

О том, [**как приготовить Go микросервис к продакшену**][5] поведает Вадим Мадисон. Доклад о том, что считать готовым к продакшену микросервисом. Как должен быть реализован микросервис, какую функциональность он должен предоставлять, чтобы считать сервис надежным, прозрачным для поддержки и мониторинга. На примере Go-микросервиса будет дан перечень необходимого функционала и рассказаны основные подходы по разработке, деплою и поддержке микросервисов.
[Читать дальше →][6]

[1]: https://habrastorage.org/files/01a/9e0/2fc/01a9e02fc2de4d8d932adf92609a0bf1.png
[2]: http://devconf.ru/ru/schedule/go
[3]: http://4gophers.ru/
[4]: http://devconf.ru/ru/offers/offer/173
[5]: http://devconf.ru/ru/offers/offer/85
[6]: https://habrahabr.ru/post/303066/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Руководство по PHP7
habra.16
habrabot(difrex,1) — All
2016-06-10 21:00:04


![][1]

#### **php7-tutorial.com**


Цель этого [сайта][2] помочь вам обнаружить нововведения в PHP7. Это руководство представляет из себя набор простых упражнений, в которых вам будет предложено что-либо решить, либо исправить ошибку. Каждое упражнение соответствует стандарту [RFC ][3] (набор технической спецификации и стандартов) и сопровождается кратким пояснениями.


#### **От переводчика**


![][4]Всем привет, с вами Максим Иванов, и сегодня мы поговорим о нововведениях PHP7, о которых более подробно поведает нам [ Гийом Девар][5] (Guillaume Dievart) в своем руководстве, сделанном в форме упражнений. Но прежде чем начинать, я хочу отметить один момент. Я не буду приводить полное руководство по данному языку программирования в этом обзоре, просто оставлю здесь [ссылку][6] на самую свежую и достоверную информацию. [Джош Локхарт][7] (автор гайдлайна «PHP: правильный путь», разработчик Slim Framework), написал данную книгу с целью помочь новичкам, по его словам: «В последнее время существует много дискуссий о том, что PHP сообществу и, в целом, программистам не хватает достоверной информации по языку PHP, поэтому мое руководство призвано решить эту проблему». Чем именно? Вы знаете, что по интернету разбросано огромное количество материла по PHP, но многое уже устарело или не приводит к написанию качественного кода. В этой книге присутствуют основные актуальные сведения с ссылками на проверенные ресурсы. Если кому интересно, такое есть и по [JavaScript][8]. А теперь вернемся к упражнениям и приступим.
[Читать дальше →][9]

[1]: https://habrastorage.org/files/03a/fbd/d22/03afbdd222c64049a7de58f587ebfc92.png
[2]: http://php7-tutorial.com/
[3]: https://ru.wikipedia.org/wiki/RFC
[4]: https://habrastorage.org/files/711/8e9/c6c/7118e9c6ceee49bd9b364be7f75bf00a.png
[5]: https://twitter.com/guillaumDievart
[6]: http://www.phptherightway.com/
[7]: https://twitter.com/codeguy
[8]: http://jstherightway.org/
[9]: https://habrahabr.ru/post/302942/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PyConRu: зачем?
habra.16
habrabot(difrex,1) — All
2016-06-11 04:30:04


Привет!

20 докладов, 2 воркшопа, Lightning Talks, дискуссионная панель, Unconference, афтепати с костром и песнями, прекрасный загородный отель «Cronwell Яхонты Таруса» — все это про конференцию [PyCon Russia][1], которая пройдет 3-4 июля в 95 км от Москвы.

Ниже — описание докладов и воркшопов, а еще ответ на вопрос, почему на PyCon стоит ехать всей семьей.

С 13 июня цена билета повышается. Самое время еще раз посмотреть на программу и зарегистрироваться, если вы откладывали это.
[][2]
[Читать дальше →][3]

[1]: http://pycon.ru/2016/program/content/?utm_source=news&utm_medium=post&utm_campaign=habr10.06
[2]: https://fotki.yandex.ru/next/users/it-people-ekb/album/169532/view/1339240?page=4
[3]: https://habrahabr.ru/post/303084/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] RDS, как это работает? Опускаемся на самый нижний уровень модели OSI
habra.16
habrabot(difrex,1) — All
2016-06-11 10:00:12


С системой RDS (Radio Data System) сталкивался хоть раз каждый, кто видел в автомагнитоле название станции вроде «Дорожное радио». Помимо названия, могут отображаться дополнительные данные — название воспроизводимой песни, температура, частота вещания и т.д.
![][1]

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

Продолжение под катом (осторожно много картинок).
[Читать дальше →][2]

[1]: https://habrastorage.org/files/98b/c48/7c1/98bc487c1c514c029fa5e27b37fc29b8.png
[2]: https://habrahabr.ru/post/303104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] OpenGL ES 2.0. Один миллион частиц
habra.16
habrabot(difrex,1) — All
2016-06-13 10:30:05


В этой статье мы рассмотрим один из вариантов реализации системы частиц на OpenGL ES 2.0. Подробно поговорим об ограничениях, опишем принципы и разберем небольшой пример.

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

[1]: https://habrastorage.org/files/9a6/2ba/b61/9a62bab61366428782e83834b9f22106.jpg
[2]: https://habrahabr.ru/post/303142/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] 10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками
habra.16
habrabot(difrex,1) — All
2016-06-13 17:30:04


![image][1]
_Маргарет Гамильтон стоит рядом с написанным ей исходным кода бортового компьютера «Аполлона»_



Лаборатория реактивного движения (Jet Propulsion Laboratory) — научно-исследовательский центр НАСА, ответственный за большинство беспилотных космических кораблей США. Там пишут много кода, и права на ошибку у них намного меньше, чем у обычных программистов.



В JPL пишут на Си, и на их сайте есть документ "[JPL Institutional Coding Standard][2]", описывающий жесткие стандарты кодирования внутри организации. Они напоминают правила программирования для встроенных (embedded) систем и систем реального времени, с ограниченными ресурсами. Но многие из правил эти просто принципы хорошего программирования. Ограничение сложности, максимальное упрощение для последующего чтения кода и отладки, отсутствие побочных эффектов. Мы в [Хекслете][3] постоянно говорим об этом в [вебинарах][4] и, конечно, в самих курсах. Мы считаем очень важным как можно раньше поднимать эти темы, поэтому про функции и побочные эффекты начинаем говорить в самом первом курсе «[Основы программирования][5]», который рассчитан на новичков. Это бесплатный курс, кстати, и в нем есть практика на языке JavaScript.



В документе JPL есть много правил, но пользователь Реддита сделал выжимку десяти главных принципов. Вот перевод этого списка.

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

[1]: https://habrastorage.org/files/6c7/e63/542/6c7e635425e24eda90fd4ac9d80c9adb.gif
[2]: http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
[3]: https://ru.hexlet.io?utm_source=habr&utm_medium=blog&utm_campaign=nasa
[4]: https://ru.hexlet.io/videos?utm_source=habr&utm_medium=blog&utm_campaign=nasa
[5]: https://ru.hexlet.io/courses/programming-basics?utm_source=habr&utm_medium=blog&utm_campaign=nasa
[6]: https://habrahabr.ru/post/303160/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конкурс по программированию на JS: Классификатор слов (предварительные результаты)
habra.16
habrabot(difrex,1) — All
2016-06-13 23:00:11


Спасибо за ожидание! Публикуем предварительные результаты [конкурса по программированию][1].

Протестировано **312** решений, из них **50** упало или зависло, ещё **3** оказались слишком медленными, чтобы пройти все тесты. Из оставшихся **259** решений **12** по разным причинам были объявлены «вне конкурса»: решения не работали без поправки типа файла данных (авторы забыли галочку «gzip») или были присланы сотрудниками Hola.

Нынешние результаты — предварительные. Мы надеемся, что не допустили ошибок при подведении итогов, и тогда **20 июня 2016** эти результаты станут окончательными. Тогда же вместо идентификаторов решений будут опубликованы имена или псевдонимы их авторов.

Решение победителя конкурса показало результат в **83\.67%** правильных ответов. Полные списки решений с результатами тестирования находятся в английской версии поста [на GitHub][2].

Там же мы публикуем «сырые» [машиночитаемые результаты][3] тестирования каждого из решений, где разнообразной информации больше, чем в сводных таблицах. На основе этих данных Вы можете провести собственный анализ результатов, чему мы будем очень рады.
[Читать дальше →][4]

[1]: https://habrahabr.ru/company/hola/blog/282624/
[2]: https://github.com/hola/challenge_word_classifier/blob/master/blog/04-preliminary-standings.md
[3]: https://github.com/hola/challenge_word_classifier/blob/master/res
[4]: https://habrahabr.ru/post/303178/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Автоматизируем покупку Ж/Д билетов Укрзалізниці
habra.16
habrabot(difrex,1) — All
2016-06-14 01:00:06


Привет! Наверное, каждый из нас когда-то сталкивался с ситуацией, когда нужно срочно куда-то уехать, но все Ж/Д билеты уже раскуплены. В этой статье я расскажу о том, как я писал Telegram бота для отслеживания и покупки освободившихся билетов Укрзалізниці.



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



Для покупки железнодорожных билетов в Украине компания Укрзалізниця запустила ресурс . Ресурс удобен тем, что не нужно посещать кассы, чтобы забрать сам билет. Достаточно показать проводнику QR код с посадочного талона на экране смартфона либо распечатав на принтере.



Проблема состоит в том, что на популярные рейсы места очень быстро заканчиваются и иногда купить билет довольно проблематично. Однако, многие люди не покупают билет, а бронируют его. Бронь действует лишь 24 часа и после этого, если она не выкуплена в кассе, билет возвращается в пул свободных. Таким образом, необходимо успеть словить этот момент, когда билет доступен для покупки до того, как его снова забронируют или купят.



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



В качестве интерфейса был выбран Telegram так как это новая платформа для меня и я хотел с ней немного разобраться. В качестве бонуса сразу получаем уведомления на мобильный, не задумываясь о push нотификациях или email'ах.
В качестве языка программирования был выбран Python.

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

[1]: https://habrahabr.ru/post/303150/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] API hh.ru. Быстрый старт
habra.16
habrabot(difrex,1) — All
2016-06-14 13:00:03


![][1]
Полагаю, некоторые из вас знают, что у hh.ru есть открытый API (мы рассказывали о нем [тут][2] и [тут][3]), который используем не только мы, но и сторонние разработчики. С его помощью, например, можно очень детально анализировать рынок на больших объемах актуальных данных.

Я задумал серию из двух статей: в этой покажу, как можно быстро и просто начать использовать API, а в следующей сделаю небольшой проект, рекомендующий актуальные вакансии по вашему резюме.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/bf6/4a9/587/bf64a9587d234a559f1752119878deeb.jpg
[2]: https://habrahabr.ru/company/hh/blog/201202/
[3]: https://habrahabr.ru/company/hh/blog/186994/
[4]: https://habrahabr.ru/post/303168/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Что нужно сделать перед тем, как выложить код открытого программного обеспечения
habra.16
habrabot(difrex,1) — All
2016-06-14 13:30:06


![][1]Выложить проект с открытым программным кодом – это больше, чем выложить код в Интернете.

Интерес к программным продуктам с открытым исходным кодом растёт последние 10 лет. Linux стоит и в стиральных машинах, и в боевых дронах. Большинство программистов не могут представить свою жизнь без широкого ассортимента бесплатных и открытых инструментов в своем распоряжении.

Обратная сторона этого замечательного тренда состоит в том, что когда вы выпускаете новый проект c открытым исходным кодом, вы попадаете в зону жесткой конкуренции.

Чем вы можете помочь своему проекту, чтобы его заметили?

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

[1]: https://habrastorage.org/files/6e1/8d3/cb3/6e18d3cb3962469aabd752322648e460.jpg
[2]: https://habrahabr.ru/post/303200/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Механизмы контейнеризации: cgroups
habra.16
habrabot(difrex,1) — All
2016-06-14 14:30:04




Продолжаем цикл статей о механизмах контейнеризации. [В прошлый раз][1] мы говорили об изоляции процессов с помощью механизма «пространств имён» (namespaces). Но для контейнеризации одной лишь изоляции ресурсов недостаточно. Если мы запускаем какое-либо приложение в изолированном окружении, мы должны быть уверены в том, что этому приложению выделено достаточно ресурсов и что оно не будет потреблять лишние ресурсы, нарушая тем самым работу остальной системы. Для решения этой задачи в ядре Linux имеется специальный механизм — cgroups (сокращение от control groups, контрольные группы). О нём мы расскажем в сегодняшней статье.
[Читать дальше →][2]

[1]: https://blog.selectel.ru/mexanizmy-kontejnerizacii-namespaces/
[2]: https://habrahabr.ru/post/303190/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Инструменты Intel для создателей видео кодеков
habra.16
habrabot(difrex,1) — All
2016-06-14 17:30:03


![image][1]На Хабре в блоге Intel регулярно появляются статьи с описанием технологий и инструментов, созданных в стенах Intel. Многие из них так или иначе связаны с обработкой и анализом видео и изображений. Это такие продукты как, например, **Intel Media Server Studio** или **Intel RealSense**. Однако, существует набор инструментов, не так широко представленных в медиа пространстве, но не менее значимых для такой категории разработчиков, как создатели медиа кодеков. Именно этот пробел мы и попытаемся восполнить в данном топике. Речь пойдет про Intel **[Video Pro Analyzer][2] (Intel VPA)** и **[Intel Stress Bitstreams and Encoder][3] (Intel SBE)**, а также про те возможности, что скрываются за этими названиями.

Для начала определимся с предметом, сущностью, с которой работают вышеназванные инструменты. Это битовые стримы. Битовый стрим – это то, что получается после того, как отработал видео энкодер. Битовый стрим – это поток битов, отвечающий спецификации того или иного кодека. Если мы заглянем в спецификацию большинства кодеков, то увидим, что этот битстрим представляет из себя ничто иное как набор синтаксических элементов данного кодека различной длины. Это, к примеру, ширина и высота картинки, профиль кодирования, коэффициенты трансформации, различные битовые флаги и т.д. Для стандарта HEVC это сотни синтаксических элементов. После кодирования эти битовые стримы доходят до пользователей, помещенные в различные медиа контейнеры – avi, mp4, mpeg ts и т.д. Но разработчики кодеков в основном работают именно с битовыми стримами. Разработчики ПО, дизайнеры, инженеры – электронщики, тестеры имеют свои инструменты для работы. Почему же разработчикам кодеков их не иметь?
[Читать дальше →][4]

[1]: https://habrastorage.org/files/185/667/2c8/1856672c8b8c4dbf852bfca6124f0769.png
[2]: https://software.intel.com/en-us/intel-video-pro-analyzer
[3]: https://software.intel.com/en-us/intel-stress-bitstreams-and-encoder
[4]: https://habrahabr.ru/post/302718/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Кибербезопасность на бескрайних морях
habra.16
habrabot(difrex,1) — All
2016-06-14 17:30:03


[![][1]][2]

Сложно переоценить значение индустрии морских перевозок для современного общества: 90% товаров перемещается именно по морю. Мореходство, как и любая другая крупная сфера деятельности, развивается параллельно с течением технического прогресса: суда увеличиваются, а команды уменьшаются, так как все большее количество процессов автоматизируется. Времена, когда находящееся в море судно было фактически полностью отрезано от остального мира, давно в прошлом. В наши дни некоторые бортовые системы получают обновления во время плавания, у команд есть выход в интернет. Вопросы кибербезопасности объектов сферы морских перевозок стоят довольно остро. [Читать дальше →][3]

[1]: https://habrastorage.org/files/fa4/67d/2cd/fa467d2cdbaa4ad0b36ec590bc2d5f6e.png
[2]: https://habrahabr.ru/company/pt/blog/303198/
[3]: https://habrahabr.ru/post/303198/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Что угрожает вашему сайту после установки онлайн-консультанта и как мы с этим боремся
habra.16
habrabot(difrex,1) — All
2016-06-14 17:30:03


Разрабатываемые нами сервисы — [онлайн-консультант RedHelper][1] и [обратный звонок RedConnect][2] работают с личными данными посетителей, и потому требуют очень тщательного подхода к безопасности как клиентской части виджета, так и к серверной. В этой статье мы немного расскажем о том, какие типы угроз могут ожидать Ваш после установки различных виджетов, и как мы обеспечиваем безопасность в наших продуктах. Если Вы разбираетесь в типах угроз и противодействию им — можете смело листать ленту дальше, так как ничего нового Вы, скорее всего, не узнаете. Но если аббревиатуры MITM, XSS или XFRS для вас ничего не значат, и у вас на сайте стоит один или несколько виджетов — сегодня Вы можете узнать много нового.


## Безопасность виджета


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

Чтобы защитить клиентскую часть виджеты RedHelper загружается через iframe. Те, кто в курсе как работает эта технология уже поняли, в чем суть. Но все же приведу аналогию. Iframe можно сравнить с посольством. Какие бы страшные вещи не происходили за забором посольства, внутри действуют законы того государства, чей флаг развивается над входом. Точно так же и для iframe-виджета RedHelper не важно, какие угрозы и дыры в безопасности присутствуют на сайте — все данные вводятся в защищенные поля ввода, безопасность которых обеспечена серверной частью. [Читать дальше →][3]

[1]: http://redhelper.ru
[2]: http://redconnect.ru
[3]: https://habrahabr.ru/post/303226/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Автоматизируем проверку кода или еще немного о pre-commit hook'ах
habra.16
habrabot(difrex,1) — All
2016-06-14 17:30:03


Думаю, нет нужды рассказывать хабрапользователю что такое Git / GitHub, pre-commit и как наносить ему hook справа. Перейдем сразу к делу.

В сети много примеров хуков, большинство из них на shell'ах, но ни один автор не уделил внимание одному важному моменту — хук приходится таскать из проекта в проект. На первый взгляд — ничего страшного. Но вдруг появляется необходимость внести изменения в хук, который уже живет в 20 проектах… Или внезапно нужно переносить разработку с Windows на Linux, а хук на PowerShell'е… Что делать? ??????? PROFIT…


### «Лучше так: 8 пирогов и одна свечка!»


Примеры, конечно, сильно утрированы, но с их помощью выявлены неудобства, которых хотелось бы избежать. Хочется, чтобы хук не требовалось таскать по всем проектам, не приходилось часто «допиливать», но чтобы при этом он умел:
* выполнять проверку отправляемого в репозиторий кода на валидность (например: соответствие требованиям PEP8, наличие документации итд);
* выполнять комплексную проверку проекта (юнит-тесты итд);
* прерывать операцию commit'а в случае обнаружения ошибок и отображать подробный журнал для разбора полетов.
И выглядел приблизительно так:
python pre-commit.py --check pep8.py --test tests.py

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

[1]: https://habrahabr.ru/post/302932/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конструктивная админская лень или как я конфиг автоматизировал
habra.16
habrabot(difrex,1) — All
2016-06-14 17:30:04


Здравствуйте!
Окрылён Вашим вниманием к первой моей статье: [Исследование коммутатора Dlink после грозы][1], подумал написать цикл статей под общим названием (см. заголовок), если Вам дорогие коллеги, это интересно буду крайне признателен за комментарии.

Входные данные:
Имеются несколько мультисервисных сетей передачи данных размером в 1 город каждая (далее буду рассматривать один город и возможность масштабирования решения на все существующие и перспективу появления новых). итак структура примерно такая: MC-IC-mIC-HC, где
MC — узел города(магистральная подсистема города);
IC — узел агрегации (магистральная подсистема комплекса зданий);
mIC — ведомый узел агрегации;
HC — горизонтальная подсистема, узел доступа;
[Читать дальше →][2]

[1]: https://habrahabr.ru/post/303062/
[2]: https://habrahabr.ru/post/303128/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как живут и работают разработчики в Чехии: интервью с Александром Сибиряковым из Scrapinghub
habra.16
habrabot(difrex,1) — All
2016-06-14 17:30:04


Мы продолжаем серию интервью с докладчиками [PyCon Russia][1] о Python, их работе и увлечениях. Первое мини-интервью мы взяли у одного из разработчиков языка Python [Андрея Светлова][2].

Продолжает серию постов разговор с Python-разработчиком из Scrapinghub [Александром Сибиряковым][3], который уже 4 года живет в Чехии. В каком направлении будет развиваться Python, что мешает развитию языка, возможно ли русскому разработчику устроиться на работу в Чехии, и чем российская IT-отрасль отличается от чешской — обо всем этом читайте под катом.

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

[1]: http://pycon.ru/2016/program/speakers/?utm_source=news&utm_medium=post&utm_campaign=habr14.06
[2]: https://habrahabr.ru/company/it_people/blog/302970/#first_unread
[3]: http://sibiryakov.eu
[4]: https://fotki.yandex.ru/next/users/it-people-ekb/album/502674/view/1185575?page=3
[5]: https://habrahabr.ru/post/303218/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Человек не нужен: 30+ материалов об алгоритмической торговле и разработке финансового софта
habra.16
habrabot(difrex,1) — All
2016-06-14 22:30:04


[![][1]][2]

В наших блогах на Хабрахабре и Гиктаймс мы много пишем о фондовом рынке и используемых на биржах технологиях. Не так давно мы публиковали [подборку инструментов][3], помогающих разобраться с базовыми экономическими понятиями и сформировать представление о биржах, а сегодня представляем вашему вниманию список полезных материалов по теме алгоритмической торговли и разработки финансового софта (как из нашего блога, так и из сторонних источников). [Читать дальше →][4]

[1]: https://habrastorage.org/files/b34/bed/06c/b34bed06cc6840249cff9f85f7d9d769.png
[2]: https://habrahabr.ru/company/itinvest/blog/303222/
[3]: https://geektimes.ru/company/itinvest/blog/277086/
[4]: https://habrahabr.ru/post/303222/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В эту пятницу пройдет 7-я конференция сообществ DevConf 2016
habra.16
habrabot(difrex,1) — All
2016-06-14 23:00:03


![][1]Уже в эту пятницу сообщества Python, Go, Ruby, PHP, Javascript, MySQL, PostgreSQL,Tarantool встретятся на [DevConf 2016][2] — остались последние 60 мест.

В этом году [на конференции DevConf 9 секций][3]: **golang, php, ruby, python, common, js, devops,
pm, storage**

После 17:30 мы проводим открытые митапы сообществ и круглые столы, которые может посетить любой желающий.

18 июня состоятся мастер-классы:[ Golang, PostgreSQL, Построение
эффективной команды и налаживание процесса разработки, GraphQL & Relay, MySQL и архитектуры социальной сети][4]

18-19 июня проводим [хакатон по Yii в ТАСС][5]
[Читать дальше →][6]

[1]: https://habrastorage.org/files/52d/402/6a7/52d4026a703d4e1881b6f1469b50a748.jpg
[2]: http://devconf.ru/ru
[3]: http://devconf.ru/ru/schedule
[4]: http://devconf.ru/ru/schedule/jun18
[5]: http://devconf.ru/ru/page/yiihack
[6]: https://habrahabr.ru/post/303292/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Яндекс открывает ClickHouse
habra.16
habrabot(difrex,1) — All
2016-06-15 12:30:19


Сегодня внутренняя разработка компании Яндекс — [аналитическая СУБД ClickHouse][1], стала доступна каждому. Исходники опубликованы на [GitHub][2] под лицензией Apache 2.0.

[![][3]
][4]
ClickHouse позволяет выполнять аналитические запросы в интерактивном режиме по данным, обновляемым в реальном времени. Система способна масштабироваться до десятков триллионов записей и петабайт хранимых данных. Использование ClickHouse открывает возможности, которые раньше было даже трудно представить: вы можете сохранять весь поток данных без предварительной агрегации и быстро получать отчёты в любых разрезах. ClickHouse разработан в Яндексе для задач [Яндекс.Метрики][5] — второй по величине системы веб-аналитики в мире.

В этой статье мы расскажем, как и для чего ClickHouse появился в Яндексе и что он умеет; сравним его с другими системами и покажем, как его поднять у себя с минимальными усилиями.

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

[1]: https://clickhouse.yandex/
[2]: https://github.com/yandex/ClickHouse
[3]: https://habrastorage.org/files/d9b/066/e61/d9b066e61e1f480a977d889dc03ded99.png
[4]: https://habrahabr.ru/company/yandex/blog/303282/
[5]: https://metrika.yandex.ru/
[6]: https://habrahabr.ru/post/303282/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] C# — есть ли что-то лишнее?
habra.16
habrabot(difrex,1) — All
2016-06-15 13:30:04


![][1]Все будет быстро. Это [выступление Анатолия Левенчука][2], в последнее время не дает мне покоя. Успехи глубинного обучения в последний год говорят о том, что все очень быстро изменится. Слишком долго кричали волки-волки говорили «искусственный интеллект», а его все не было. И вот, когда он, наконец, приходит к нам, многие люди этого просто не осознают, думая, что все закончится очередной победой компьютера в очередной интеллектуальной игре. Очень многие люди, если не все человечество, окажется за бортом прогресса. И этот процесс уже запущен. Думаю, что в этот момент меня не очень будет интересовать вопрос, который вынесен в заголовок статьи. Но, пока этот момент еще не настал, попытаюсь поднять этот потенциально спорный вопрос.

Программируя уже более 25 лет, застал достаточно много различных концепций, что-то смог попробовать, еще больше не успел. Сейчас с интересом наблюдаю за языком Go, который можно отнести к продолжателям “линейки языков Вирта” — Algol-Pascal-Modula-Oberon. Одним из замечательных свойств этой цепочки является то, что каждый последующий язык [становится проще предыдущего][3], но не менее мощным и выразительным.

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

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

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

[1]: https://habrastorage.org/files/bf0/a5d/ef0/bf0a5def02e949b3aa9a6b0b694a12d9.jpg
[2]: https://www.youtube.com/watch?v=Ugk1kMh6weY
[3]: http://www.uni-vologda.ac.ru/cs/syntax/ariphm.htm
[4]: https://habrahabr.ru/post/302076/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Генерирование паролей к играм Road Rash 1 и 2
habra.16
habrabot(difrex,1) — All
2016-06-15 14:00:14


Добрый день, уважаемые пользователи.

Недавно я увидел на Хабрахабре пост про [Road Rash][1] и мне стало интересно: «А как устроена система паролей в двух других частях?». Своими наблюдениями и результатом я хотел бы поделиться с вами в этой статье.

![image][2]


#### **Первый Road Rash**



##### Теория


Пароль состоит из 20 позиций, каждая позиция состоит из 5 битов, итого 20\*5= 100 битов. Эти биты сохраняют данные игровые параметры:
* номер занятого места (0-15) на пяти разных трассах (0 означает, что на этой трассе ты ещё не ездил).
* количество очков (0-10485750)
* количество денег ((-83886070)-83886070)
* текущий уровень (1-5)
* мотоцикл (1-8)
Теперь посмотрим из чего состоит сырой пароль:
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/108728/
[2]: http://cs636229.vk.me/v636229967/117ab/eg3nvfqSql0.jpg
[3]: https://habrahabr.ru/post/303338/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Machine Learning Boot Camp — как это было и как это будет
habra.16
habrabot(difrex,1) — All
2016-06-15 14:00:14


![][1]

13 июня стартовал [ML Boot Camp][2] — состязание по машинному обучению от Mail.Ru Group. В связи с этим мы хотим поделиться с вами впечатлениями о его предыдущем запуске, историями успеха победителей и рассказываем, что нового ждет участников в этом году.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/1d8/9d9/c58/1d89d9c58b164c6ea12b55a44388c848.png
[2]: http://mlbootcamp.ru/
[3]: https://habrahabr.ru/post/302674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Алгоритм расчёта вещественных корней полиномов
habra.16
habrabot(difrex,1) — All
2016-06-15 14:30:04


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

А теперь по порядку.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/303342/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ... 133