RSS
Pages: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 41
[>] ZeroNet — Распределенные сайты через Bittorrent и Bitcoin
habra.14
habrabot(difrex,1) — All
2015-02-18 19:00:03






_ — Стартовое окно ZeroNet_ В нынешнее время активно развиваются различные распределенные технологии, ранее уже пояились на свет: распределенные мессенджеры (Tox), распределенные микроблоги (Twister), и теперь дошло дело до полноценных распределенных сайтов. [Читать дальше →][1]

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

[>] Selenium для Python. Глава 3. Навигация
habra.14
habrabot(difrex,1) — All
2015-02-18 20:00:02


Продолжение перевода неофициальной документации Selenium для Python. Перевод сделан с разрешения автора Baiju Muthukadan. Оригинал можно найти [здесь][1].

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

1. [Установка][2] 2. [Первые Шаги][3] 3. Навигация 4. [Поиск Элементов][4] 5. Ожидания 6. Объекты Страницы 7. WebDriver API 8. Приложение: Часто Задаваемые Вопросы [Читать дальше →][5]

[1]: http://selenium-python.readthedocs.org/index.html
[2]: http://habrahabr.ru/post/248559/
[3]: http://habrahabr.ru/post/250921/
[4]: http://habrahabr.ru/post/250975/
[5]: http://habrahabr.ru/post/250947/#habracut

[>] Selenium для Python. Глава 4. Поиск элементов
habra.14
habrabot(difrex,1) — All
2015-02-18 20:30:02


Продолжение перевода неофициальной документации Selenium для Python. Перевод сделан с разрешения автора Baiju Muthukadan. Оригинал можно найти [здесь][1].

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

1. [Установка][2] 2. [Первые Шаги][3] 3. [Навигация][4] 4. Поиск Элементов 5. Ожидания 6. Объекты Страницы 7. WebDriver API 8. Приложение: Часто Задаваемые Вопросы [Читать дальше →][5]

[1]: http://selenium-python.readthedocs.org/index.html
[2]: http://habrahabr.ru/post/248559/
[3]: http://habrahabr.ru/post/250921/
[4]: http://habrahabr.ru/post/250947/
[5]: http://habrahabr.ru/post/250975/#habracut

[>] The Equation, Carbanak, Desert Falcons: отчет с Security Analyst Summit
habra.14
habrabot(difrex,1) — All
2015-02-19 00:30:02


![][1]16 и 17 февраля в Канкуне (это в Мексике) прошла четвертая ежегодная конференция Kaspersky Security Analyst Summit. Это очень важное для «Лаборатории Касперского» мероприятие, где мы делимся своими исследованиями и приглашаем выступать коллег из других компаний индустрии инфобезопасности. Две наших презентации уже успели обсудить на Хабре: исследования The Equation APT и Carbanak привлекли немало внимания (спасибо, с _удовольствием _почитали комменты, готовы ответить на вопросы тут). В этом посте — краткий отчет о презентациях исследований Carbanak, The Equation и о деятельности еще одной, ранее неизвестной группы, названной нами Desert Falcons. Все три — со ссылками на подробные отчеты наших исследователей на сайте Securelist. Ну и несколько фотографий. Важно: почти все выступления чуть позже будут доступны в видеозаписи, их мы выложим отдельным постом. [Читать дальше →][2]

[1]: http://habrastorage.org/files/54d/22d/275/54d22d275be64780a60566899903bf3d.jpg
[2]: http://habrahabr.ru/post/250991/#habracut

[>] [Из песочницы] Восстанавливаем локальные и доменные пароли из hiberfil.sys
habra.14
habrabot(difrex,1) — All
2015-02-19 01:30:02


Утилита [mimikatz][1], позволяющая извлекать учётные данные Windows из LSA в открытом виде, существует с 2012 года, однако помимо [хорошо освещённого][2] функционала восстановления паролей из памяти работающей ОС у неё есть ещё одна довольно интересная возможность. Далее я приведу пошаговую инструкцию, как при помощи нехитрых действий извлечь учётные данные из файла hiberfil.sys.

### Подготовка

Для осуществления задуманного нам понадобятся следующие утилиты:

* [Debugging Tools for Windows][3];
* [Windows Memory toolkit][4] free edition;
* И, собственно, сам [mimikatz][5].

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

[1]: http://blog.gentilkiwi.com/mimikatz
[2]: http://www.securitylab.ru/news/420431.php
[3]: https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063(v=vs.85).aspx
[4]: http://www.moonsols.com/windows-memory-toolkit/
[5]: https://github.com/gentilkiwi/mimikatz/releases/latest
[6]: http://habrahabr.ru/post/250999/#habracut

[>] VPN везде и всюду: IPsec без L2TP со strongSwan
habra.14
habrabot(difrex,1) — All
2015-02-19 02:30:02


![image][1] _достаточно сильный лебедь_ Если вы когда-либо искали VPN, который будет работать на десктопах, мобильных устройствах и роутерах без установки дополнительного ПО и перепрошивки роутера, вы, вероятно, выбирали между PPTP и L2TP+IPsec. У протокола PPTP имеются проблемы с безопасностью и прохождением через брандмауеры и NAT, так что в 2015 году его уже использовать не стоит, а использование L2TP излишне, т.к. L2 VPN, по моему мнению, для обычного удаленного доступа не нужен практически никогда. Удивительно, что в интернете не так-то просто можно найти информацию о настройке чего-то помимо L2TP+IPsec в транспортном режиме, учитывая, что это обширный стек протоколов, который можно конфигурировать буквально как душе угодно, поэтому я попытаюсь устранить такое несовершенство мира.

### Небольшое введение в мир IPsec

Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/d3d/aaf/6f8/d3daaf6f8aff40b1681f868b619d020c.jpg
[2]: http://habrahabr.ru/post/250859/#habracut

[>] Обработка больших запакованных файлов на Mac и не только
habra.14
habrabot(difrex,1) — All
2015-02-19 11:00:02


Возникла у меня как-то задача обработать файл с логами. В принципе, задача банальная, я для этого использую Perl и в Linux и в Windows. Но дело в том, что всё это происходит на Mac, файл находится в архиве и он большой. Распакованным, он занимает около 20 ГБ. Какое будет обычное решение? [Читать дальше →][1]

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

[>] Всероссийская перепись населения: как тоссятся ваши данные
habra.14
habrabot(difrex,1) — All
2015-02-19 12:00:03


![][1] Я работаю с распознаванием и обработкой данных переписей населения и сельскохозяйственных переписей с двухтысячного года. Это тот самый случай, когда ты больше года пишешь софт, который должен отработать один раз, но зато без ошибок. Почему? Во всероссийской переписи населения в 2010 году участвовало **500 тысяч человек** и ещё 10 тысяч IT-пользователей во всех субъектах РФ. Сканер забирает 150 листов в минуту. Распознавание в реальном времени с примерно такой же скоростью. Умножайте на количество сканеров по стране – и получите поток данных, где любой баг сразу рушит работу огромного количества людей. И второй момент – вместе с НИИ Статистики мы ведём научно-исследовательскую работу по алгоритмам восстановления данных. [Читать дальше →][2]

[1]: //habrastorage.org/files/d74/c8a/4a1/d74c8a4a1dca47b08af5b6f35522cd5e.jpg
[2]: http://habrahabr.ru/post/251015/#habracut

[>] Межпроцессная репликация объектов с помощью QtRemoteObjects
habra.14
habrabot(difrex,1) — All
2015-02-19 12:00:03


7 октября 2014 года в публичном доступе появились исходники Qt-модуля [QtRemoteObjects][1]. Модуль создан в недрах Ford Motor Company (автор Brett Stottlemyer). Вещь, на мой взгляд, очень перспективная. Модуль позволяет, например, передавать сигналы между объектами по сети. Но этим возможности модуля не ограничиваются. Более точно суть модуля описывает его предыдущее наименование — Replica, так как объекты «реплицируются» между процессами.



Ключевой идеей QtRemoteObjects, которая качественно отличает его от других способов межпроцессного взаимодействия/удаленного вызова процедур, является идея полностью продублировать Qt-объект в другие процессы. Это значит, что все изменения свойств (properties) в объекте — источнике отражаются (с уведомлением посредством сигналов) в объекте-реплике. Любые сигналы, которые эмитируются объектом-источником будут также эмитированы в каждом объекте-реплике. Также можно устанавливать свойства, вызывать слоты и в объекте-реплике, при этом запросы отправляются объекту-источнику, который их обрабатывает и затем изменения отражаются в других объектах-репликах посредством сигналов или с помощью изменения свойств. В результате все объекты (включая объект-источник) синхронизируются. При этом вся сложность межпроцессного взаимодействия скрыта внутри QtRemoteObjects. [Читать дальше →][2]

[1]: https://qt.gitorious.org/qtplayground/qtremoteobjects/commit/ec68d2724872c4e3c0b63e0ac12a369e639088de
[2]: http://habrahabr.ru/post/216939/#habracut

[>] Что такое 1С. О сложной системе простыми словами
habra.14
habrabot(difrex,1) — All
2015-02-19 12:00:03


![][1] 1. [Введение][2]   &nbspa. [Пару слов о моем опыте работы с 1С][3]   &nbspb. [Зачем я это все пишу][4]   &nbspc. [1С как экосистема][5] 2. [Платформа][6]   &nbspa. [Варианты поставки платформы][7]   &nbspb. [Версии 1С для разных платформ][8]   &nbspc. [Компонентная база 1С][9]   &nbspd. [Нативный клиент][10]   &nbspe. [Web-клиент][11]   &nbspf. [Мобильная версия][12]   &nbspg. [Платформа 1С: резюме][13] 3. [Конфигурации][14] 4. [Резюме][15]

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

На сегодняшний день программные продукты 1С являются неким стандартом для работы бухгалтерского, управленческого и других видов учета в малом и среднем бизнесе. Работодатели требуют от своих сотрудников обязательных навыков работы именно с этим программным продуктом. Если возникает на повестке дня вопрос интеграции интернет-магазина и систем автоматизации (остатки, цены, заявки и т.д.) – также на стороне офиса обычно оказывается база данных 1С, с которой и нужно провести интеграцию. Аналогично во многих других случаях: любой процесс автоматизации малого и среднего бизнеса традиционно начинается с продуктов 1С и продолжается с их применением. Я, как бизнес-консультант, достаточно часто сталкиваюсь с вопросами о том, что такое 1С, какая структура может быть у этого программного продукта, и вообще – каким образом вся эта система работает.Их задают обычно веб-разработчики, которые вынуждены заниматься вопросами интеграции сайта и 1С, программисты, специализирующиеся на мобильных приложениях и другие специалисты, которым по роду работы с программами 1С приходится сталкиваться нечасто. [Читать дальше →][16]

[1]: http://habrastorage.org/files/3d4/497/9f5/3d44979f5eac475d9254918ea8e97ae4.png
[2]: http://habrahabr.ru/post/250893/#Vvedeniye
[3]: http://habrahabr.ru/post/250893/#omoemopyte
[4]: http://habrahabr.ru/post/250893/#Zachem
[5]: http://habrahabr.ru/post/250893/#jekosistema
[6]: http://habrahabr.ru/post/250893/#Platforma
[7]: http://habrahabr.ru/post/250893/#Variantypostavki
[8]: http://habrahabr.ru/post/250893/#Versii1S
[9]: http://habrahabr.ru/post/250893/#Komponentnajabaza
[10]: http://habrahabr.ru/post/250893/#Nativnyjklient
[11]: http://habrahabr.ru/post/250893/#Webklient
[12]: http://habrahabr.ru/post/250893/#Mobilnajaversija
[13]: http://habrahabr.ru/post/250893/#Platforma1Srezjume
[14]: http://habrahabr.ru/post/250893/#Konfiguracii
[15]: http://habrahabr.ru/post/250893/#Rezjume
[16]: http://habrahabr.ru/post/250893/#habracut

[>] Еженедельник io.js, 13 февраля 2015
habra.14
habrabot(difrex,1) — All
2015-02-19 13:30:03


_Локализация на 29 языках, релиз 1.2.0, и многое другое._ [Читать дальше →][1]

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

[>] [Из песочницы] Обновление сервисов, запущенных на Go
habra.14
habrabot(difrex,1) — All
2015-02-19 14:00:02


Я люблю программировать на Go, но больше всего сейчас мне нравится программировать в gobot для Raspberry Pi. Каждое изменение в коде требует определенное время на нудные операции, связанные с обновлением кода. Сначала я должен остановить процесс, так как Filezilla отказывается писать в исполняемый файл, когда процесс запущен, загрузить новый исполняемый файл по SFTP и запустить его (это не только нудно, но еще 10-20 секунд простоя, когда процесс остановлен). Аналогичная ситуация меня преследует и при разработке для обычного веба на Go. Именно в gobot я вынужден очень часто обновлять код, что связанно со стилем разработки, который приносит мне удовольствие в свободное время. С разработкой нового пакета обновлять код, написанный на Go стало проще и быстрее. [Читать дальше →][1]

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

[>] Потенциальная уязвимость в Telegram Android
habra.14
habrabot(difrex,1) — All
2015-02-19 14:30:02


Так сложилось, что мне необходимо было изучить исходные коды механизма шифрования, передачи и дешифрования сообщений в Telegram для мобильных платформ iOS и Android. То есть речь идет о клиентских приложениях, именно их исходники ([iOS][1], [Android][2]) находятся в свободном доступе. Так как я больше специализируюсь в iOS, то в первую очередь приступил к изучению версии для этой платформы. Потратив около дня на чтение исходников и на работу с отладчиком, я сообразил что к чему и приступил к Android версии. Несложно догадаться, что механизмы и принципы работы должны быть идентичны в силу совместимости всех платформ между собой. Но к своему удивлению я обнаружил несколько отличий в алгоритме дешифрования сообщений в Android версии, что и породило уязвимость, если можно так выразиться. Общая суть уязвимости заключается в том, что в клиентском приложении отсутствует сравнение хеша дешифрованного сообщения с оригинальным хешем, передаваемым вместе с зашифрованным сообщением. По сути отсутствует проверка подписи сообщения. Отсутствие такой проверки может позволить третьим лицам, имеющим доступ к серверу, создавать рандомную активность от лиц участвующих в секретном чате. При этом доступ к общему секретному ключу не требуется, и он остается неуязвим для третьих лиц. [Больше деталей под катом][3]

[1]: https://github.com/aaronraimist/Telegram-iOS
[2]: https://github.com/DrKLO/Telegram
[3]: http://habrahabr.ru/post/247409/#habracut

[>] Драйвер внешнего оборудования для 1С на примере фискального регистратора Мария-301МТМ
habra.14
habrabot(difrex,1) — All
2015-02-19 16:00:03


![image][1] При реализации проектов на 1С зачастую приходится сталкиваться с разного рода устройствами и их сопряжением. Покуда будут существовать устройства на древним RS232 будет необходимость во внешних компонентах такого рода. Как правило с устройством идет документация, которая нередко содержит систему команд и некий драйвер который распространяется «так как есть». Очень часто драйвера «так как они есть» оставляют ожидать лучшего. Я предлагаю немного окунутся в системное программирование и решить для себя сей вопрос раз и навсегда. Прекрасная [статья][2] содержит пример и достаточное описание что к чему, что где менять. Пример компилируется. Для быстрого старта замечательная статья. Подобный пример свободно распространяется фирмой 1С и валяется в куче хлама на [диске ИТС][3]. Много раз мелькало в глазах но было заложено на дальнюю полку с ярлыком «обязательно изучить». [Читать дальше →][4]

[1]: http://habrastorage.org/files/c54/4b6/a6d/c544b6a6d6494f4f95b2bdaf3f4e7d99.png
[2]: http://habrahabr.ru/post/191014/
[3]: http://its.1c.ru/db/metodtorg#content:3221:hdoc
[4]: http://habrahabr.ru/post/250341/#habracut

[>] [доморощенный] web honeypot своими руками
habra.14
habrabot(difrex,1) — All
2015-02-19 17:30:02


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

[1]: http://habrahabr.ru/post/250313/
[2]: https://ru.wikipedia.org/wiki/Радиоигра (разведка)
[3]: http://habrahabr.ru/post/250573/#habracut

[>] Ноутбуки Lenovo поставляются с вредоносным ПО Superfish и его CA-сертификатом и приватным ключом в хранилище
habra.14
habrabot(difrex,1) — All
2015-02-19 19:30:03


Программа Superfish, которая поставляется с ноутбуками Lenovo Y50, Z40, Z50, G50 и Yoga 2 Pro, представляет из себя типичный Malware, который прослушивает трафик, анализирует поисковые запросы пользователя и вставляет рекламу на страницы сторонних сайтов. Работает это приложение на уровне системы, перехватывая, в том числе, HTTPS-трафик. Для этого, приложение устанавливает CA-сертификат Superfish в хранилище ключей Windows и проксирует весь трафик между хостом и браузером, подменяя сертификат на свой. Поставляется это ПО как минимум с июня 2014 года. [Первое сообщение][1] об этой программе на форуме Lenovo датировано сентябрем 2014 года. ![image][2] Эта новость сама по себе уже неприятная, но сегодня выяснилось одна деталь, которая значительно увеличивает уровень опасности для обладателей этих ноутбуков: выяснилось, что внутри программы имеется не только публичный сертификат CA, но и приватный ключ к нему, в зашифрованном виде. Подобрать пароль к этому ключу не составляет никаких проблем — «komodia» ![image][3] _картинка из твиттера [supersat][4]_ Это означает, что любой злоумышленник, имеющий возможность совершить MitM-атаку (например в публичной Wi-Fi сети), может использовать данный сертификат для проксирования HTTPS-трафика через свой компьютер и расшифровывать его незаметно для жертвы. [Читать дальше →][5]

[1]: https://forums.lenovo.com/t5/Lenovo-P-Y-and-Z-series/Lenovo-Pre-instaling-adware-spam-Superfish-powerd-by/td-p/1726839
[2]: http://habrastorage.org/getpro/habr/post_images/b57/14e/302/b5714e30218199ba13fcda3cd3afb693.jpg
[3]: https://pbs.twimg.com/media/B-McfHeCMAAPmkv.png
[4]: https://twitter.com/supersat/status/568329299494744065
[5]: http://habrahabr.ru/post/251069/#habracut

[>] [Доморощенный] web honeypot своими руками
habra.14
habrabot(difrex,1) — All
2015-02-19 21:30:02


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

[1]: http://habrahabr.ru/post/250313/
[2]: https://ru.wikipedia.org/wiki/Радиоигра (разведка)
[3]: http://habrahabr.ru/post/250573/#habracut

[>] Чат вконтакта в качестве терминала
habra.14
habrabot(difrex,1) — All
2015-02-19 23:00:02


Вдохновлённый постом [«Простой диспетчер задач с веб-интерфейсом, написанный на языке GO для Unix-систем включая Android»][1], языком Go и утилитой [simple status][2], я решил написать в качестве забавного эксперимента чат-бота для социальной сети Vkontakte со схожим функционалом. Почему выбор пал на чат-бота и социальную сеть? Кроме очевидного just for fun имеются и практические выкладки:

* Не нужны дополнительные телодвижения для доступа к приложению, запущенном на компьютере с динамическим ip или находящимся за роутером.
* Доступ к Вконтактике есть практически везде – достаточно иметь при себе телефон с доступом в интернет.
* Вопрос о реализации аутентификации на уровне конечного приложения практически отпадает.

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

[1]: http://habrahabr.ru/post/247727/
[2]: https://github.com/cdarwin/simple_status
[3]: http://habrahabr.ru/post/251083/#habracut

[>] Пишем симулятор медленных соединений на Go
habra.14
habrabot(difrex,1) — All
2015-02-20 06:30:03


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

[1]: https://asciinema.org
[2]: //habrastorage.org/files/6f0/cef/be3/6f0cefbe3e18464ebe40802a91afe9b0.jpg
[3]: http://habrahabr.ru/post/251095/#habracut

[>] На старт, внимание, DUMP! Екатеринбург, 20 марта
habra.14
habrabot(difrex,1) — All
2015-02-20 08:30:03


Привет, Хабр! У нас новости с Урала :) Конференция для разработчиков [DUMP][1] (Development. Usability. Management. Practice) пройдет 20 марта в Екатеринбурге. В этом году мы отмечаем юбилей — уже пятую весну мы собираем уральских (и не только) айтишников в одном месте и делимся опытом. Так что готовьте поздравления, торт будет :) Наверняка многие уже бывали на DUMP, поэтому подробно рассказывать о его истории мы не будем. Кто не был и не знает, что это — вот [отчет ][2]о DUMP-2014, где все рассказано. А вот отличный ролик, передающий атмосферу прошлогодней конференции.




Ниже под катом — планы на этот год и инструкции о том, как стать докладчиком и спонсором конференции. И, внимание, регистрация уже открыта. Присоединяйтесь! [Читать дальше →][3]

[1]: http://dump-conf.ru
[2]: http://habrahabr.ru/company/it_people/blog/216893
[3]: http://habrahabr.ru/post/250937/#habracut

[>] Буриданов осел и композиция конфигурации
habra.14
habrabot(difrex,1) — All
2015-02-20 08:30:03


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

[1]: http://habrahabr.ru/post/244727/
[2]: http://www.ultimaerp.com/library/modules_erp/
[3]: http://habrahabr.ru/post/250685/#habracut

[>] Говорила же мама: не доверяй телефону с SIM-картой
habra.14
habrabot(difrex,1) — All
2015-02-20 09:30:03


_Пока все спят новостники...._ Да, это стало уже традицией. Под поздний вечер сайты крупнейших агентств поразила ещё одна интересная техническая информация. На этот раз, с компьютерных технологий перешли на более современные, мобильные. Надо сразу скаазать, что у специалистов давно возникали сомнения в надёжности SIM-карт. Некоторые прямо как в воду глядели (в 2013-м), не только с сим-картами, но и со Сноуденом… К примеру, вот заметка 2013 года: "[Сим-карта далеко не так хорошо защищена как хотелось бы думать][2]" Карстен Ноль (Karsten Nohl) говорил: «Мы можем дистанционно (через SMS) установить программу на мобильный телефон жертвы, причем эта программа будет работать полностью независимо от телефона. Мы можем шпионить за вами. Можем добыть ваши криптоключи, используемые для шифрования телефонных звонков. Мы можем читать ваши SMS. Помимо же просто шпионажа, мы (так же через SMS) можем похищать из SIM-карты телефона критично важные данные о владельце — вашу мобильную личность — и снимать деньги с вашего счета». И… [спецслужбы США и Великобритании выкрали шифры у производителя SIM-карт][3]

[1]: http://habrastorage.org/files/cce/1ee/c92/cce1eec929ac4f02958c4d060a1e75ee.jpg
[2]: http://www.3dnews.ru/offsyanka/655897
[3]: http://habrahabr.ru/post/251099/#habracut

[>] Бильярдный бот: история создания
habra.14
habrabot(difrex,1) — All
2015-02-20 12:00:03




### **Привет, хабрахабр!**



#### **О чём эта статья?**

Эта статья посвящена подробному описанию процесса создания биллиардного бота, который без участия человека играет в игру pool billiard и принимает решения, зарабатывая очки. Статья будет полезна и интересна людям, увлекающимся созданием ботов и программированием.

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

![][1]У всех нас есть любимые игры и виды спорта. Здорово, когда первое совпадает со вторым. Помимо своих увлечений спортом и спортивными проектами, я люблю также и некоторые компьютерные игры. Одна из моих любимейших игр, и вживую, и виртуально — это, конечно же, бильярд. Бильярд, пул, снукер… как угодно, — я люблю их все! Я разделяю мнение многих о том, что, например, снукер — это «недискретные» шахматы. Мало просто забивать последовательность определённых шаров в лузы, там ведётся ещё и невероятная стратегическая борьба. Борьба за снукеры, за позиции… а какой фантастической техникой обладают профессиональные бильярдисты — просто молчу в тряпочку. ![][2]Достоинства этой несомненно аристократической игры можно перичислять очень долго. Но перейдём к сути статьи. Моя самая любимая игра в бильярд вот уже пять лет и по сегодняшний день — это «[Pool Billiard][3]» на Facebook. Она классно сделана не только эстетически, но и технически. Невооруженным глазом видны классно написаный физический движок, продуманный геймплей, клиент-серверная валидация действий, обработка ошибок, дизайн, система статистики, магазин, чат в конце концов. Игру явно делали профи, да и она в топах. В неё очень приятно играть… и выигрывать! Я достаточно долго играл в неё, пока в голову не пришла мысль: «Ба! Да она же идеально подходит для создания под неё игрового бота!» Выигрывать приятно, а выигрывать своим роботом, автоматически — вдвойне! Выигрывать у платных игроков, понакупивших систему навигации и подкручивания битка, демонстрируя им фантастические по технике и красоте удары, оставляя их с отвисшими челюстями — втройне приятно! Плюс автоматический набор очков опыта и монет: оставил робота на ночь, под утро ты лучший! Кроме того, я даже как зритель обажаю часами смотреть на игру в бильярд. В общем, да, я решился! Добро пожаловать под кат! :) [Читать дальше →][4]

[1]: http://habrastorage.org/getpro/habr/post_images/afa/8db/ad6/afa8dbad600aadece36a0aee09868a58.jpg
[2]: http://habrastorage.org/getpro/habr/post_images/cbe/a92/962/cbea92962aea55e179250d468b5d4109.jpg
[3]: http://apps.facebook.com/pool-billiard/
[4]: http://habrahabr.ru/post/251101/#habracut

[>] To Git, or not to Git
habra.14
habrabot(difrex,1) — All
2015-02-20 16:00:02


Здравствуйте! Издательство «Питер» рассматривает возможность выпустить книгу по системе управления версиями Git. Хотим посоветоваться с будущими читателями – какое издание вам будет наиболее интересно в русском переводе? Мы сразу исключили книги ознакомительного уровня и выбрали три кандидатуры: 1. [Новое издание (декабря 2014) книги Скотта Шакона ][1] Просьба голосовать: [Читать дальше →][4]

[1]: http://www.amazon.com/Pro-Git-Scott-Chacon/dp/1484200772/ref=sr_1_2?ie=UTF8&qid=1418123083&sr=8-2&keywords=git
[2]: http://www.amazon.com/Version-Control-Git-collaborative-development/dp/1449316387/ref=pd_sim_b_2?ie=UTF8&refRID=0Q9D2N5Q2F34YTQJA56Z
[3]: http://www.amazon.com/Git-Practice-Mike-McQuaid/dp/1617291978/ref=sr_1_6?ie=UTF8&qid=1418122320&sr=8-6&keywords=git
[4]: http://habrahabr.ru/post/245381/#habracut

[>] CxxMock — Mock-объекты в C++
habra.14
habrabot(difrex,1) — All
2015-02-21 07:30:05


Если вы верите в Agile и разработка через тестирование для вас является нормой, а не какой-то непонятной практикой, но наверное столкнулись с такой нехорошей проблемой как организацией тестирования объектов которые используют другие объекты через интерфейсы на C++. Если для .NET есть замечательная библиотека [Rhino.Mocks][1], которой достаточно «скормить» интерфейс и вы получаете возможность программирования поведения методов интерфейса прямо в модульном тесте. То для С++ все сильно сложнее, так как нет замечательного [рефлекшена][2] который позволяет строить код во время исполнения. И приходится писать объекты-заглушки вручную. И в случае изменения интерфейса приходится не только обновлять все классы в приложении но обновлять весь набор «одноразовых» классов заглушек реализующих интерфейс которые применяются в тестах. [Читать дальше →][3]

[1]: http://www.hibernatingrhinos.com/oss/rhino-mocks
[2]: https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%29
[3]: http://habrahabr.ru/post/250979/#habracut

[>] Пишем бот для MMORPG с ассемблером и дренейками. Часть 0
habra.14
habrabot(difrex,1) — All
2015-02-21 11:30:02


![][1] Привет, %username%! Покопавшись в статьях хабра, я нашел несколько оных про написание ботов для MMORPG. Несомненно это очень интересные и познавательные статьи, но возможности в них весьма скудны. Что если, например нужно пофармить мобов или руду по заданному маршруту убивая агрессивных мобов, игроков и всех кто будет на Вас нападать по пути, выкрикивая им вслед непристойности, да что б еще и определить не смогли. В общем полная эмуляция среднестатистического MMORPG игрока. Написание макросов для AutoIt, симуляция кликов в окне, анализ пикселей под курсором — это совсем не наш вариант. Заинтриговал? Добро пожаловать под кат! [Грязные подробности][2]

[1]: //habrastorage.org/files/708/53f/a39/70853fa39f3f4d4f82bc6525a2ebc41f.png
[2]: http://habrahabr.ru/post/251137/#habracut

[>] Введение в курс «Анализ изображений и видео». Лекции от Яндекса
habra.14
habrabot(difrex,1) — All
2015-02-21 22:00:03


Мы начинаем публиковать лекции [Натальи Васильевой][1], старшего научного сотрудника HP Labs и руководителя HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, на отделении Школы анализа данных Яндекса в Computer Science Center в Петербурге.




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

[1]: http://www.hpl.hp.com/people/nvassilieva/
[2]: https://yadi.sk/d/_w8dMYggepSht
[3]: http://habrahabr.ru/post/251161/#habracut

[>] [Из песочницы] О переборе на примере генерации кроссвордов
habra.14
habrabot(difrex,1) — All
2015-02-22 22:30:03


С статье "[Алгоритм формирования кроссвордов][1]" были предложены несколько эвристик, которые были реализованы в программе автоматической генерации кроссвордов. Несмотря на то, что предложенные эвристики хорошо проработаны, даже они не позволили за разумное время сгенерировать кроссворд для самой сложной из приведенных сеток: ![image][2] _Этот и все последующие рисунки взяты из исходной статьи_ В этой статье, я бы хотел обсудить гораздо более простое решение, которое позволяет решить эту задачу. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/249899/
[2]: http://habrastorage.org/files/019/87c/95c/01987c95c1154581bb753ff80758c3a7.png
[3]: http://habrahabr.ru/post/251207/#habracut

[>] MessagePack аналог JSON, но быстрее и меньше
habra.14
habrabot(difrex,1) — All
2015-02-22 23:00:02


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

[1]: //habrastorage.org/files/de5/7ad/bfd/de57adbfde2e4caab226f736ad53438f.png
[2]: http://habrahabr.ru/post/251177/#habracut

[>] [Перевод] Еженедельник io.js, 20 февраля 2015
habra.14
habrabot(difrex,1) — All
2015-02-23 01:30:02


Релиз 1.3.0, MongoDB, планы развития и многое другое. [Читать дальше →][1]

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

[>] Собственная реализация https с использованием crypto++ для начальной загрузки I2P
habra.14
habrabot(difrex,1) — All
2015-02-23 02:00:02


Каждый новый узел I2P при первом запуске должен откуда то получить начальный список узлов. Для этого существуют специальные сервера (reseed), адреса которых жестко прописаны в коде. Раньше загрузка осуществлялась по http, однако с недавних пор reseed-ы стали переходить на https. Для успешной работы [«пурпурного» I2P][1] также потребовалось внести соответствующие изменения. Используемая там криптографическая библиотека [crypto++][2] не поддерживает ssl. Вместо использования дополнительной библиотеки типа openssl, фактически дублирующей криптографию, был выбран рассмотренный ниже вариант. Начальная загрузка это единственное место в I2P, где используется https. С другой стороны, статья будет интересно тем кому интересно понять, как работает ssl и попробовать самому. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/240815/
[2]: http://www.cryptopp.com/
[3]: http://habrahabr.ru/post/251143/#habracut

[>] Необычные модели Playboy, или про обнаружение выбросов в данных c помощью Scikit-learn
habra.14
habrabot(difrex,1) — All
2015-02-23 09:00:03


Мотивированный [статьей][1] пользователя [BubaVV][2] про предсказание веса модели Playboy по ее формам и росту, автор решил углубиться модели, выделяющиеся на фоне других своими формами, ростом или весом. А на фоне этой разминки чувства юмора заодно немного рассказать начинающим исследователям данных про обнаружение выбросов (outlier detection) и аномалий (anomaly detection) в данных с помощью реализации одноклассовой машины опорных векторов (One-class Support Vector Machine) в библиотеке Scikit-learn, написанной на языке Python. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/172043/
[2]: http://habrahabr.ru/users/bubavv/
[3]: http://habrahabr.ru/post/251225/#habracut

[>] OData REST API и рекурсивные запросы
habra.14
habrabot(difrex,1) — All
2015-02-23 11:30:02


В дискуссии к [предыдущей ][1]статье [dezconnect ][2]поднял интересный вопрос о возможностях OData выполнять рекурсивные запросы (по аналогии с SQL CTE). В [документации OData][3] в разделе 11.2.4.2 описывается опция запроса **$expand**. Эта опция позволяет получать объекты вместе со связанными объектами. Например, Вы можете получить данные о компании вместе со всеми данными о ее президенте: **В 4й версии OData существенно расширены возможности опции $expand для выполнения рекурсивных запросов.** [Читать дальше →][4]

[1]: http://habrahabr.ru/post/250913/
[2]: http://habrahabr.ru/users/dezconnect/
[3]: http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html
[4]: http://habrahabr.ru/post/251185/#habracut

[>] [Из песочницы] Говорящий пингвин
habra.14
habrabot(difrex,1) — All
2015-02-23 11:30:02


На бескрайних просторах интернета немало статей про умные дома, очки дополненной реальности, новомодный «интернет вещей» и другие преспективы вообразимого будущего. Будет ли оно светлым или в «добрых» традициях нуарного киберпанка, время покажет, а пока мы сделаем маленький шаг навстречу ему. [Сделать шаг][1]

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

[>] Пишем бот для MMORPG с ассемблером и дренейками. Часть 1
habra.14
habrabot(difrex,1) — All
2015-02-23 13:30:03


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

###### Но обо всем по порядку, так что жду Вас под катом!

[Приподнять завесу тайны][2]

[1]: //habrastorage.org/files/708/53f/a39/70853fa39f3f4d4f82bc6525a2ebc41f.png
[2]: http://habrahabr.ru/post/251149/#habracut

[>] Гибридные приложения в Qt на примере использования D3.js
habra.14
habrabot(difrex,1) — All
2015-02-24 00:30:02


D3 — [мощная JavaScript библиотека][1] для визуализации данных. На мой взгляд — просто рай для web-разработчика, казалось бы недоступный для Qt-программиста. Но гибкость фреймворка Qt позволяет интегрировать web-frontend в толстый клиент с помощью механизма [Qt Web Bridge][2]. Такие приложения получили наименование гибридные ([Qt Hybrid Apps][3]). Для JavaScript-программистов хорошая новость заключается в том, что их решения можно легко интегрировать в Desktop приложения, что потенциально может увеличить целевую аудиторию пользователей разрабатываемых библиотек (во всяком случае это верно для мира Qt приложений). На скриншоте ниже изображен виджет [Dependency Wheel][4] (Круг Зависимостей), отрисовка которого осуществляется с помощью D3.js а управление данными и отображением — с помощью Qt. При нахождении указателя над соответствующей дугой её взаимосвязи «подсвечиваются», а остальные становятся полупрозначными. Данный виджет можно использовать для визуализации различного рода зависимостей (например библиотек). В отличии от оригинального JS решения диаграмма динамически изменяет размер под размер виджета, а данные устанавливаются на стороне Qt, а не с помощью загрузки JSON-файла. Статья больше ориентирована на Qt-программистов, но также может быть интересна и JS программистам.



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

[1]: https://github.com/mbostock/d3/wiki/Gallery
[2]: http://qt-project.org/doc/qt-4.8/qtwebkit-bridge.html
[3]: http://www.slideshare.net/YnonPerek/hybrid-apps-with-qt
[4]: http://www.redotheweb.com/DependencyWheel/
[5]: http://habrahabr.ru/post/218389/#habracut

[>] Защищаем приватные ключи от кражи из VPS
habra.14
habrabot(difrex,1) — All
2015-02-24 01:00:04


В начале каждого семестра студенты магистерской программы кафедры [МиИТ Академического университета (СПб)][1] и представители компаний-партнеров собираются вместе. Представители рассказывают о проектах, над которыми можно будет работать, а студенты выбирают их. В одном из проектов, сделанных в [Parallels Labs][2], наш студент исследовал возможность реализации виртуального [Hardware Security Module (HSM)][3]. В результате он добавил свою реализацию [VHSM][4] в open-source проект [OpenVZ][5]. Подробнее о его решении читайте под катом. [Читать дальше][6]

[1]: http://mit.spbau.ru/
[2]: http://sp.parallels.com/ru/education/
[3]: http://en.wikipedia.org/wiki/Hardware_security_module
[4]: http://openvz.org/Virtual_HSM
[5]: http://openvz.org/Main_Page
[6]: http://habrahabr.ru/post/251243/#habracut

[>] Уменьшение накладных расходов для утилит на golang
habra.14
habrabot(difrex,1) — All
2015-02-24 02:00:03


Цель работы — сократить накладные расходы на хранение большого количества утилит, написанных на golang. Один из побочных эффектов статической компиляции golang — относительно большие накладные расходы на хранение рантайма и всех используемых библиотек внутри каждого исполняемого файла. Например небольшая утилитка, которая только и делает что обращается через сеть к серверу и выполняет простые полученные команды — весит 5.5Мб. Когда такая утилитка одна — это в современных условиях это еще не страшно. Когда утилиты накапливаются и их становится уже несколько десятков или сотен — чисто по-человечески становится жалко сотен мегабайтов, утекающих «вникуда». Для решения этой проблемы я написал библиотеку [multiex][1], которой и делюсь с сообществом. С его помощью можно объединить несколько программ в один исполняемый файл с минимальными изменениями внутри кода программ и без изменения внешнего поведения. Мысль была взята у busybox — все программы компилируются в один файл, а выполняемый код выбирается при запуске, исходя из имени запускаемого файла. [Читать дальше →][2]

[1]: https://github.com/rekby/multiex
[2]: http://habrahabr.ru/post/251271/#habracut

[>] Ekspozzer — создание панорамы из видео, усреднение видеопотока
habra.14
habrabot(difrex,1) — All
2015-02-24 13:00:03


Привет, Хабрахабр!



Сразу скажу: ничего феноменального в статье нет. Эта статья посвящена разработанной «на коленке» программе по созданию панорам из видео и временн_о_му усреднению видеопотока (кадров). Программа также может быть использована как виртуальная slit-камера. Статья будет интересна всем тем, кто увлекается обработкой видео и изображений, а так же гик-артом. Весьма простая программа — весьма интересный результат. В конце статьи ссылка на скачивание. **Осторожно, трафик!** [Читать дальше →][1]

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

[>] Антология Пола Грэма
habra.14
habrabot(difrex,1) — All
2015-02-24 13:00:03


Грэма живет, практически все статьи сохранились по каким-нибудь другим адресам, в том числе — в ЖЖ. Учитывая, что автор является подлинным экспертом в теме IT-бизнеса, интересуемся: существует ли потребность (или даже необходимость) в издании следующей книги мэтра? [Читать дальше][3]

[1]: https://ru.wikipedia.org/wiki/Грэм,_Пол
[2]: http://habrahabr.ru/post/73402/
[3]: http://habrahabr.ru/post/251235/#habracut

[>] Intel® Graphics Technology: «выгружаем» вычисления на графику
habra.14
habrabot(difrex,1) — All
2015-02-24 13:00:03






Продолжаем [начатый разговор][1] о Intel® Graphics Technology, а именно о том, что у нас есть в распоряжении с точки зрения написания кода: прагмы _offload _и _offload\_attribute _для оффлоадинга, атрибуты _target(gfx)_ и _target(gfx\_kernel)_, макросы _\_\_GFX\_\__ и _\_\_INTEL\_OFFLOAD_, интринсики и набор API функций для асинхронного оффлоада. Это всё, что нужно нам для счастья. Чуть было не забыл: конечно, нам нужен компилятор от Intel и магическая опция _/Qoffload_. Но обо всё по порядку. Одна из основных идей – это относительно легкая модификация существующего кода, выполняемого на CPU для его выполнения на интегрированной в процессор графике. [Читать дальше →][2]

[1]: http://habrahabr.ru/company/intel/blog/249743/
[2]: http://habrahabr.ru/post/250545/#habracut

[>] Пишем бота для MMORPG с ассемблером и дренейками. Часть 1
habra.14
habrabot(difrex,1) — All
2015-02-24 13:00:03


Привет, %username%! Итак, продолжим написание нашего бота. Сегодня мы внедрим наш код в игровой процесс (не без помощи ассемблера), а позже позаботимся и о том, что бы его было не так просто найти, ведь наказывают не за то что жульничаешь, а за то что попался. И если быть до конца честным то даже не совсем в сам процесс игры будем его внедрять, да и 1 раз только за весь жизненный цикл.

###### Но обо всем по порядку, так что жду Вас под катом!

[Приподнять завесу тайны][1]

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

[>] Методы сжатия данных
habra.14
habrabot(difrex,1) — All
2015-02-24 14:00:03


Мы с моим научным руководителем готовим небольшую монографию по обработке изображений. Решил представить на суд хабрасообщества главу, посвящённую алгоритмам сжатия изображений. Так как в рамках одного поста целую главу уместить тяжело, решил разбить её на три поста: 1. Методы сжатия данных; 2. Сжатие изображений без потерь; 3. Сжатие изображений с потерями. Ниже вы можете ознакомиться с первым постом серии. [Читать дальше →][1]

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

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


_Предлагаю читателям «Хабрахабра» перевод статьи [«16 Months of Functional Programming»][1]. Все мои замечания будут выделены курсивом._ В этой статье я хочу поделиться с вами моим опытом в функциональном программировании. Я чувствую, что в целом за прошедшие 16 месяцев стал лучше разбираться в информатике и компьютерах, чем за предыдущие 10 лет и всё это благодаря моему погружению в Scala и мир функционального программирования. Причина по которой функциональное программирование побуждает вас к постоянному развитию заключается в том, что каждую задачу необходимо переосмысливать заново. Порой невозможно поверить в то, что большинство стандартных задач могут быть решены иным путём и — бум! — функциональный подход предлагает лучшее решение и это шокирует. [Читать дальше →][2]

[1]: http://www.vasinov.com/blog/16-months-of-functional-programming/
[2]: http://habrahabr.ru/post/251303/#habracut

[>] Загрузочный сервер — как загрузочная флешка, только сервер и по сети
habra.14
habrabot(difrex,1) — All
2015-02-24 15:00:03


Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? — А лучше может быть загрузочный сервер! Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее нежели бегать с флешкой от машины к машине. А в случае большого компьютерного парка, такой инструмент и вовсе незаменим. Вот такое загрузочное меню получилось у меня: Под катом вас ждет описание всех настроек, а так же небольшой сюрприз. [Поехали!][1]

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

[>] Сжатие изображений без потерь
habra.14
habrabot(difrex,1) — All
2015-02-24 18:30:03


Как я уже обещал [постом ранее][1], представляю вашему вниманию вторую часть большого рассказа о сжатии изображений. На этот раз речь пойдёт о методах сжатия изображений без потерь. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/251295/
[2]: http://habrahabr.ru/post/251333/#habracut

[>] Пишем бот для MMORPG с ассемблером и дренейками. Часть 2
habra.14
habrabot(difrex,1) — All
2015-02-25 01:00:03


![][1] Привет, %username%! Привет, %username%! И так, продолжим написание нашего бота. Из прошлых статей, мы научились находить адрес перехватываемой функции для DirectX 9 и 11, а так же исполнять произвольный ассемблерный код в главном потоке игры. Естественно, эти все операции, могут быть замечены защитой игры и вы будете наказаны. Но сегодня, я покажу как спрятать этот код от защиты, в том числе и от такого монстра, которого все боятся, как Warden. Как я и говорил, я не ботовод потому, что меня не поймали. Жду вас под катом! [Включить режим маскировки][2]

[1]: //habrastorage.org/files/708/53f/a39/70853fa39f3f4d4f82bc6525a2ebc41f.png
[2]: http://habrahabr.ru/post/251199/#habracut

[>] TheRole 3. Авторизация для Ruby on Rails
habra.14
habrabot(difrex,1) — All
2015-02-25 02:30:02


[TheRole][1] — гем для организации ролевого распределения на RoR сайте ([с панелью управления][2]) ![TheRole][3] [][5] [![][6]][7]

### tl;dr

Еще один (1001-ый) способ обеспечить разграничение прав в web-приложении. Концепт данного решения был довольно давно реализован на PHP, и позже был переписан на ruby. Ввиду простоты реализации описанный подход может быть применим в любом MVC фреймворке вроде **Rails**, **Laravel** и.т.д. В тексте я попытался подробно раскрыть, не только техническую интеграцию решения в приложение, но и причины предлагаемой реализации. [Узнать больше о TheRole][8]

[1]: https://github.com/the-teacher/the_role
[2]: https://github.com/TheRole/the_role_management_panel
[3]: https://raw.githubusercontent.com/TheRole/docs/master/images/the_role.png
[4]: http://badge.fury.io/rb/the_role
[5]: https://travis-ci.org/TheRole/DummyApp
[6]: https://codeclimate.com/github/TheRole/TheRoleApi/badges/gpa.svg
[7]: https://codeclimate.com/github/TheRole/TheRoleApi
[8]: http://habrahabr.ru/post/249951/#habracut

[>] Музыка в KolibriOS: полный обзор и последние новинки
habra.14
habrabot(difrex,1) — All
2015-02-25 04:00:02


![][1] Как классно работать, слушая при этом музыку! Запустил себе плейлист, он играет, а ты занимаешься своими делами. Но вот незадача — в современных плеерах поголовно начали использоваться библиотеки музыки, без них уже скоро и файл нормально не откроешь, не просканировав до этого весь жесткий диск. Я ведь человек родом из 90х, и у меня есть на жестком папка «Muz.one», у кого-то она «Музыка», «Музычка», у некоторых (не будем показывать пальцами) она «Барахло» или «100% разобрать в этом году». Всё чего я хочу — это зайти в папку с аудиозаписями, запустить файл и наслаждаться музыкой! Мне не нужен комбайн, который «каталогизирует», «синхронизирует» и варит кофе — мне нужен плеер с поддержкой MP3: простой, быстрый и няшный. Поэтому я постарался такой написать для моей любимой операционной системы Колибри. [Подробности][2]

[1]: //habrastorage.org/files/e05/b06/a9a/e05b06a9a58a48529923a540d92d616b.png
[2]: http://habrahabr.ru/post/251371/#habracut

[>] Компилятор Go переписан на Go
habra.14
habrabot(difrex,1) — All
2015-02-25 09:30:03


Вот такими словами начинается комментарий к свежему [коммиту][1] в master-ветку Go:

> This change deletes the C implementations of the Go compiler and assembler from the master branch.

(«Эти изменения удаляют C-реализацию компилятора и ассемблера Go из главной ветки») Эти слова — труд почти года работы команды Go по переписыванию компилятора с C на Go. Это был на 90% автоматический процесс. Теперь Go компилирует сам себя. Зачем это было нужно и чуть больше подробностей под катом. ![][2] Картинка: [Твиттер Russ Cox][3] [Читать дальше →][4]

[1]: https://github.com/golang/go/commit/b986f3e3b54499e63903405c90aa6a0abe93ad7a
[2]: //habrastorage.org/files/54b/f5e/f67/54bf5ef672fc4b3ead257ab6ff82821a.jpg
[3]: https://twitter.com/_rsc/status/569980747160920064
[4]: http://habrahabr.ru/post/251393/#habracut

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