RSS
Pages: 1 ... 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 ... 210
[>] DSL для регулярных выражений на Kotlin
habra.16
habrabot(difrex,1) — All
2016-10-17 13:30:04


![][1]


Всем привет!



Эта статья про реализацию одного конкретного DSL ([domain specific language][2], предметно-ориентированный язык) для регулярных выражений средствами Kotlin, но при этом она вполне может дать общее представление, о том, как написать свой DSL на Kotlin и что _обычно_ будет делать "под капотом" любой другой DSL, использующий те же возможности языка.



Многие уже используют Kotlin или хотя бы пробовали это делать, да и остальные вполне могли слышать о том, что Kotlin располагает к написанию изящных DSL, чему есть блестящие примеры — [Anko][3] и [kotlinx.html][4].



Конечно же, для регулярных выражений подобное [уже делали][5] (и ещё: [на Java][6], [на Scala][7], [на C#][8] — реализаций много, похоже, это распространённое развлечение). Но если хочется попрактиковаться или попробовать DSL-ориентированные языковые возможности Kotlin, то добро пожаловать под кат.

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

[1]: https://habrastorage.org/files/562/990/79a/56299079a06e4ea299079be1eaae8829.png
[2]: https://www.wikiwand.com/en/Domain-specific_language
[3]: https://github.com/Kotlin/anko
[4]: https://github.com/Kotlin/kotlinx.html
[5]: https://habrahabr.ru/post/308882/
[6]: https://github.com/chrba/regex
[7]: http://imaginatio.github.io/REL/
[8]: http://osherove.com/blog/2008/5/6/introducing-linq-to-regex.html
[9]: https://habrahabr.ru/post/312776/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как сейчас используют нейросети: от научных проектов до развлекательных сервисов
habra.16
habrabot(difrex,1) — All
2016-10-17 14:00:24


В 1960-х годах появился новый подраздел информатики — искусственный интеллект (ИИ). Полвека спустя инженеры продолжают развивать обработку естественного языка и машинное обучение, чтобы оправдать надежды на появление сильного ИИ.

Мы в [1cloud][1] пишем в блоге не только о себе [[клиентоориентированность][2], [безопасность][3]], но и разбираем занимательные темы вроде [ментальных моделей][4] или [систем][5] хранения данных на основе ДНК.

Сегодня мы расскажем о том, как машинное обучение используется сейчас: почему нейронные сети популярны у физиков, как работают рекомендательные алгоритмы YouTube и поможет ли машинное обучение «перепрограммировать» наши болезни.

[![][6]][7]
_/ Zufzzi / [Wikimedia][8] / CC0_
[Читать дальше →][9]

[1]: https://1cloud.ru/
[2]: https://habrahabr.ru/company/1cloud/blog/312120/
[3]: https://habrahabr.ru/company/1cloud/blog/312260/
[4]: https://habrahabr.ru/company/1cloud/blog/308552/
[5]: https://habrahabr.ru/company/1cloud/blog/306656/
[6]: https://habrastorage.org/files/797/871/90e/79787190e8c7460aa19f06c8e0e5caa9.png
[7]: https://habrahabr.ru/company/1cloud/blog/312806/
[8]: https://commons.wikimedia.org/wiki/File:Neural_network_bottleneck_achitecture.svg
[9]: https://habrahabr.ru/post/312806/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Анатомия KD-Деревьев
habra.16
habrabot(difrex,1) — All
2016-10-17 15:30:04


![image][1]


Эта статья полностью посвящена KD-Деревьям: я описываю тонкости построения KD-Деревьев, тонкости реализации функций поиска 'ближнего' в KD-Дереве, а также возможные 'подводные камни', которые возникают в процессе решения тех или иных подзадач алгоритма. Дабы не запутывать читателя терминологией(плоскость, гипер-плоскость и т.п), да и вообще для удобства, полагается что основное действо разворачивается в трехмерном пространстве. Однако же, где нужно я отмечаю, что мы работаем в пространстве другой размерности. По моему мнению статья будет полезна как программистам, так и всем тем, кто заинтересован в изучении алгоритмов: кто-то найдет для себя что-то новое, а кто-то просто повторит материал и возможно, в комментариях дополнит статью. В любом случае, прошу всех под кат.
[Читать дальше →][2]

[1]: https://pp.vk.me/c604528/v604528129/34085/ZkEuL6ZpULs.jpg
[2]: https://habrahabr.ru/post/312882/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как в Java выстрелить себе в ногу из лямбды и не промахнуться
habra.16
habrabot(difrex,1) — All
2016-10-17 17:00:03


Иногда можно услышать такие разговоры: никаких принципиальных изменений в Java 8 не произошло и лямбды это старые добрые анонимные классы щедро посыпанные синтаксическим сахаром. Как бы не так! Предлагаю сегодня поговорить, в чём отличие лямбд от анонимных классов. И почему попасть себе в ногу стало всё-таки сложнее. [Читать дальше →][1]

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

[>] Лучшие доклады Black Hat USA 2016
habra.16
habrabot(difrex,1) — All
2016-10-17 17:00:03


Black Hat USA 2016 — конференция, собирающая вместе лучшие умы в области безопасности (хакеров и ЦРУшников), чтобы определить, в каком будущем мы будем жить. Что было в Вегасе, то остается в Вегасе. Но все же до нас дошли видеозаписи 120 докладов.

![image][1]

Я немного подсуетился и выбрал личный список топ-18 самых интересных докладов, которые, возможно, стоит перевести на русский и опубликовать на Хабре.

Социальная инженерия, DDoS, лингвистические особенности телефонных мошенников, страхование в области ИБ, Dragons&Dungeons для кибербезопасности, атаки по сторонним каналам, много (черного) юмора, дроны.
Предлагайте свои варианты, какой доклад самый интересный, может я что-то упустил.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/c85/e1f/310/c85e1f310fc783d25b0a04ac6fa95dee.jpg
[2]: https://habrahabr.ru/post/312752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Multiseat на компьютере с ОС Debian
habra.16
habrabot(difrex,1) — All
2016-10-17 17:00:03


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

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

[1]: http://bankmebel.ru/wp-content/uploads/2009/08/sillaguarda-2.jpg
[2]: https://habrahabr.ru/post/312900/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ASP.NET Core: Создание первого веб-API с использованием ASP.NET Core MVC и Visual Studio
habra.16
habrabot(difrex,1) — All
2016-10-17 17:00:03


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

В новой статье из серии [ASP.NET Core][1] будет описано создание простого веб-API для работы со списком дел.

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

[1]: https://habrahabr.ru/company/microsoft/blog/311940/
[2]: https://habrastorage.org/files/06a/b09/f65/06ab09f650c14e489999f62871daf0f8.jpg
[3]: https://habrahabr.ru/post/312878/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пришло время бизнесу воспринимать селфи всерьез
habra.16
habrabot(difrex,1) — All
2016-10-17 17:00:03


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

Как бы то ни было, не все виды биометрии сегодня исследуются и применяются в равной степени. В последнее время в центре внимания оказались распознавание лиц и селфи-оплата как главные средства для борьбы с забытыми паролями, «брошенными корзинами» и другими проблемами. Учитывая, что 53% покупателей забывают свои пароли как [минимум один раз в неделю][3] и на их сброс обычно приходится тратить более 10 минут, применение селфи имеет все шансы принести сфере онлайн-платежей ощутимую пользу.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/493/3e0/694/4933e06946c74b849efbd3142f888bb4.PNG
[2]: https://letstalkpayments.com/biometrics-in-banking-who-is-killing-the-passwords-in-2016/
[3]: https://letstalkpayments.com/why-its-time-businesses-take-selfies-seriously/
[4]: https://habrahabr.ru/post/312414/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Telegram боты: в помощь редактору
habra.16
habrabot(difrex,1) — All
2016-10-17 17:00:03


— Синоним к слову «своенравный»? — раздался голос жены из соседней комнаты.

Треск клавиатуры стих и кот, воспользовавшись паузой, решительно заявил о своем жалком полуголодном существовании, видимо надеясь, что вот сейчас уж точно хозяева наконец-то оторвут свой зад от кресла и покормят несчастного.

— Дык посмотри у этого… как его…
— Да-да, я тоже забыла. Ну так что, скажешь мне синоним?

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

![][1]
[Опять лонгрид][2]

[1]: https://habrastorage.org/getpro/habr/post_images/503/350/994/5033509945e6ad3e2f4a9449e06ceca6.jpg
[2]: https://habrahabr.ru/post/312886/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Настройка выделенного сервера Source под Linux, часть 3
habra.16
habrabot(difrex,1) — All
2016-10-17 22:00:04


* Установка MetaMod и SourceMod
* Установка MetaMod:Source
* Установка SourceMod
* Автозапуск игровых серверов
* Логи
* Логи cron
* Логи клиента Steam
* Логи веб-сервера
* Логи SourceMod
* Логи игровых серверов
* Логи сервера статистики
* Привязка к Steam и QuickPlay
* Серверная учётная запись
* QuickPlay

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

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

[>] [Из песочницы] Запускаем i2pd в контейнере Docker на CentOS 7
habra.16
habrabot(difrex,1) — All
2016-10-17 22:30:04


![image][1] На Хабрахабре есть [отличная статья по i2pd][2]. Единственный недостаток проекта в том, что его авторы предоставляют пакеты только для Ubuntu и Debian, что составляет определённое неудобство для пользователей CentOS.



Владельцу домашнего NAS на CentOS 7 вроде меня остаётся либо собирать i2pd из исходников, либо воспользоваться [Docker][3], чтобы установить его поверх образа Debian Jessie.



Итак, статья посвящена созданию контейнера с i2pd в Docker под CentOS 7.

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

[1]: https://habrastorage.org/files/259/08d/e68/25908de68597405b90e97f634fc18c9e.png
[2]: https://habrahabr.ru/post/275643/
[3]: https://habrahabr.ru/post/310460/
[4]: https://habrahabr.ru/post/312926/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Настройка выделенного сервера Source под Linux, часть 2
habra.16
habrabot(difrex,1) — All
2016-10-18 00:00:03


* Записи
* Настройка веб-сервера
* Настройка игрового сервера
* Включение
* Обслуживание
* SourceTV
* Ускорение скачивания контента (Fast Download)
* Настройка веб-сервера
* Настройка игрового сервера
* Боты
* Поддержваемая карта
* Пользовательсякая карта

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

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

[>] Настройка выделенного сервера Source под Linux, часть 1
habra.16
habrabot(difrex,1) — All
2016-10-18 10:30:04


В данном руководстве будет описана установка и настройка одновременной работы нескольких выделенных игровых серверов Steam под Linux на примере игры Team Fortress 2.


* Введение
* Установка клиента Steam и сервера Team Fortress 2
* Базовая настройка серверов
* Теория
* Практика
* Сетевые настройки
* Скрипты запуска сервера
* Обновление серверов
* Автоматическое
* Периодическое обновление
* Только проверка[Читать дальше →][1]

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

[>] Транспондер DST40: принцип работы, история появления и взлома, а также немного практики по брутфорсу
habra.16
habrabot(difrex,1) — All
2016-10-18 11:00:04


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

Вот тогда и появилась на свет идея создания компактного радиомодуля (далее по тексту — транспондера), встраиваемого прямо в ключ зажигания автомобиля. В автомобиль же устанавливался иммобилайзер, общающийся с транспондером по радиоканалу. Иммобилайзер посылал в транспондер запрос, а транспондер отвечал неким кодом, без получения которого иммобилайзер не позволял запустить двигатель. Однако поначалу транспондеры всё равно были довольно примитивными, сравнительно легко клонируемыми устройствами. Достаточно было наличие радиоперехватчика и светлой головы на плечах, чтобы разобраться в алгоритме обмена и сымитировать ответ транспондера. Требовалось кардинальное изменение алгоритма общения иммобилайзера с транспондером.

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

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

[1]: https://habrastorage.org/files/517/368/9a4/5173689a45614ede98883121cd77379a.jpg "Кадр из фильма 'Берегись автомобиля'"
[2]: https://habrahabr.ru/post/275745/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Критерии простоты
habra.16
habrabot(difrex,1) — All
2016-10-18 12:30:06


Львиная доля программистов с чистой совестью заявит, что предпочитает решать задачи просто, руководствуясь прежде всего здравым смыслом. Вот только это "просто" у каждого свое и как правило отличное от других. После одного долгого и неконструтивного спора с коллегой я решил изложить, что именно считаю простым сам и почему. Это не привело к немедленному согласию, но позволило понять логику друг друга и свести к минимуму лишние дискуссии.



## Первый критерий {#pervyy-kriteriy}



Особенности мозга человека таковы, что он плохо хранит и отличает более 7-9 элементов в одном списке при оптимальном их количестве 1-3.
Отсюда рекомендация — в идеале иметь не более трех членов в интерфейсе, трех параметров в методе и так далее и не допускать увеличение их количества свыше девяти.
Этот критерий может быть реализован средствами статического анализа.

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

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

[>] Настройка выделенного сервера Source под Linux, часть 4
habra.16
habrabot(difrex,1) — All
2016-10-18 12:30:06


* Сервер статистики HLstatsX
* Установка
* Настройка mysql
* Настройка HLstatsX демона
* Настройка веб-сервера
* Трансляция логов
* Патч
* Первый запуск
* Регистрация серверов
* Начальная настройка
* Ошибки
* Тепловые карты
* Автоматический запуск
* Тюнинг
* Шрифты
* Превью карты
* Раздельный учёт статистики
* Отключение статистики
* Ограничение доступа
* Новое оружие
* Восстановление пароля

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

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

[>] Не откладывайте в почтовый ящик: b2c-мессенджер 2ГИС
habra.16
habrabot(difrex,1) — All
2016-10-18 13:00:04


![][1]

В сентябре на 2gis.ru появилась новая фича — [b2c-мессенджер][2] для общения с организациями. Чат очень удобен при поиске товара или услуги: можно написать сразу в несколько компаний, не нужно слушать голоса роботов-автоответчиков или ожидать на линии, пока оператор уточнит цену или остаток нужного товара. Выберите компанию, нажмите на иконку сообщения на карточке компании, и откроется чат.

Чтобы сделать мессенджер, нам пришлось немного поразбираться с тем, как вообще работают чаты и что под капотом у «больших братьев» типа WhatsApp или Telegram. Оказалось, всё не так страшно.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/178/d4d/90f/178d4d90f12b41d9ba4b9e7e359a5086.png
[2]: https://2gis.ru/novosibirsk/search/2%D0%B3%D0%B8%D1%81/firm/141265769366740/tab/firms?queryState=zoom%2F11
[3]: https://habrahabr.ru/post/312514/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Новые возможности Intel RealSense SDK 2016 R2
habra.16
habrabot(difrex,1) — All
2016-10-18 13:00:04


Второй выпуск Intel RealSense SDK (для Windows) в 2016 году (2016R2) — версия 10.0.26.0396. В новой версии значительно улучшена работа модулей сегментации фона (BGS), отслеживания рук в режиме указателя и модуля 3D Scan для камеры SR300. Первые два модуля доступны уже в виде «золотой» версии, модуль 3DScan для SR300 перешел на уровень бета-версии. Для камеры R200 некоторые компоненты модуля Enhanced Photography (EP) перешли на «золотой» уровень, в том числе EP Meaurement. При этом модули EP Realtime Depth Enhancement и EP Tracking пока остались на уровне предварительного ознакомления. Остальные функции R200 не изменились.

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

[1]: https://habrastorage.org/files/3d9/95a/926/3d995a9264f44620a62c4ccac8431bdd.jpg
[2]: https://habrahabr.ru/post/312856/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Устранение перспективных искажений и разгибание кривых строк на фотографиях книжных разворотов
habra.16
habrabot(difrex,1) — All
2016-10-18 13:30:04


В прошлый раз в статье [«Поиск линии корешка на фотографиях книжных разворотов»][1] мы обещали рассказать о том, что случается с фотографией книжного разворота после этого, а именно — про устранение перспективных искажений и разгибание кривых строк текста. Без этого получить качественные результаты OCR практически невозможно.

Итак, считаем, что мы уже нашли на фотографии линию корешка, воспользуемся этим знанием, чтобы определить ваниш-точки для страниц разворота ([vanishing point][2]). Ваниш-точки – это точки схождения параллельных прямых в перспективной проекции книги на плоскость изображения. Они обе должны располагаться на продолжении этой линии, но для каждой из страниц положение точки может быть свое. Схематически это показано на следующей иллюстрации (на самом деле, это лог для отладки). Линия корешка выделена красным, линии, пересекающиеся в ваниш-точках, – зеленым.

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

[1]: https://habrahabr.ru/company/abbyy/blog/283264/
[2]: https://en.wikipedia.org/wiki/Vanishing_point
[3]: https://habrastorage.org/files/6bc/9be/e50/6bc9bee50c0847b39af78db476291ed5.jpg
[4]: https://habrahabr.ru/post/312570/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Лекции Техносферы. 2 семестр. Информационный поиск (весна 2016)
habra.16
habrabot(difrex,1) — All
2016-10-18 15:30:04


Современная поисковая система, качество работы которой воспринимается как данность, является сложнейшим программно-аппаратным комплексом, создателям которого пришлось решить огромное количество практических проблем, начиная от большого объема обрабатываемых данных и заканчивая нюансами восприятия человеком поисковой выдачи. На курсе второго семестра Техносферы «Современные методы и средства построения систем информационного поиска» мы рассказываем об основных методах, применяемых при создании поисковых систем. Некоторые из них — хороший пример смекалки, некоторые показывают, где и как может применяться современный математический аппарат.

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


# Лекция 1. «Введение в информационный поиск»




Алексей Воропаев, руководитель группы рекомендаций Поиска Mail.Ru, дает определение понятия информационного поиска и делает обзор существующих поисковых систем, рассказывает об индексации и поисковых кластерах.
[Читать дальше →][1]

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

[>] Темная сторона TypeScript и ES7 — @декораторы на примерах
habra.16
habrabot(difrex,1) — All
2016-10-18 16:30:04


Декораторы — это невероятно круто. Они позволяют описывать мета информацию прямо в объявлении класса, группируя все в одном месте и избегая дублирования. Ужасно удобно. Однажды попробовав, вы уже никогда не согласитесь писать по-старому.



Однако, несмотря на всю полезность, декораторы в TypeScript (они же [декораторы в грядущем ES7][1]) не так просты, как хотелось бы. Работа с ними требует навыков джедая, так как необходимо разбираться в [объектной модели JavaScript][2] (ну, вы поняли, о чем я), API несколько запутанный и, к тому же, еще не стабильный. В этой статье я немного расскажу об устройстве декораторов и покажу несколько конкретных приемов, как поставить эту темную силу на благо front-end разработки.



Помимо TypeScript, декораторы [доступны в Babel][3]. В этой статье рассматривается только реализация в TypeScript.


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

[1]: https://github.com/tc39/proposal-decorators
[2]: https://habrahabr.ru/company/enterra/blog/153365/
[3]: https://habrahabr.ru/post/277021/
[4]: https://habrastorage.org/files/e86/fb8/fbc/e86fb8fbcba9404c9262c30e6f96e5a6.jpg
[5]: https://habrahabr.ru/post/310870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Поддержка NPM модулей в backend as a service Scorocode
habra.16
habrabot(difrex,1) — All
2016-10-18 16:30:04


![][1]

Приветствуем, Хабровчане и Скорокодеры! В [статье про разработку Scorocode][2] мы спросили сообщество, какой новый функционал вы бы хотели увидеть в сервисе. Одним из популярных вариантов стала поддержка в серверном коде npm модулей. Вы просили — мы сделали! За подробностями просим под кат.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/7cc/226/6a1/7cc2266a1d604501af079898f1f4e554.jpg
[2]: https://habrahabr.ru/company/scorocode/blog/307056/
[3]: https://habrahabr.ru/post/312784/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] DLP и защита инженерных данных от плагиата
habra.16
habrabot(difrex,1) — All
2016-10-18 17:00:04


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

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

[>] [Из песочницы] О том, что затрудняет формализацию проекта и плодит скрытые ошибки
habra.16
habrabot(difrex,1) — All
2016-10-18 17:00:04


Работать в проекте без ошибок — мечта любого ИТ-шника. Достижимо ли это в реальности? Этот вопрос является одновременно и простым и сложным, потому что, чтобы избежать ошибок, надо с одной стороны иметь строго выверенную цепочку начиная от формирования общих требований до детальной реализации. С другой стороны, в сферу ИТ вливается поток специалистов, которые слабо представляют, как можно доказать отсутствие ошибок в программе или выстроить структуру, которая сокращает возможности ошибок, прежде всего логических, которые носят принципиальный характер.
[Читать дальше →][1]

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

[>] ПО для шифрования VeraCrypt подверглось аудиту
habra.16
habrabot(difrex,1) — All
2016-10-18 17:00:04


Известное ПО для шифрования с открытым исходным кодом VeraCrypt было обновлено до версии 1.19. Обновленную версию продукта можно скачать [здесь][1]. В новом релизе были закрыты существенные уязвимости, выявленные в результате проведенного аудита исходного кода VeraCrypt, который был [осуществлен][2] специалистами Quarkslab. Специалистами было обнаружено 8 критических уязвимостей, 3 уязвимости среднего уровня опасности и еще 15 уязвимостей низкого уровня опасности.

![][3]
> Quarkslab made a security assessment of VeraCrypt 1.18. The audit was funded by OSTIF and was performed by two Quarkslab engineers between Aug. 16 and Sep. 14, 2016 for a total of 32 man-days of study. A critical vulnerability, related to cryptography, has been identified. It has been introduced in version 1.18, and will be fixed in version 1.19.
[Читать дальше →][4]

[1]: https://veracrypt.codeplex.com/releases/view/629329
[2]: http://blog.quarkslab.com/security-assessment-of-veracrypt-fixes-and-evolutions-from-truecrypt.html
[3]: https://habrastorage.org/files/420/e85/d3c/420e85d3c25449eeae15bc25d78a0d35.png
[4]: https://habrahabr.ru/post/312990/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Темная сторона TypeScript — @декораторы на примерах
habra.16
habrabot(difrex,1) — All
2016-10-18 18:30:04


Декораторы — это невероятно круто. Они позволяют описывать мета информацию прямо в объявлении класса, группируя все в одном месте и избегая дублирования. Ужасно удобно. Однажды попробовав, вы уже никогда не согласитесь писать по-старому.



Однако, несмотря на всю полезность, декораторы в TypeScript ([заявлены][1] также на стандарт) не так просты, как хотелось бы. Работа с ними требует навыков джедая, так как необходимо разбираться в [объектной модели JavaScript][2] (ну, вы поняли, о чем я), API несколько запутанный и, к тому же, еще не стабильный. В этой статье я немного расскажу об устройстве декораторов и покажу несколько конкретных приемов, как поставить эту темную силу на благо front-end разработки.



Помимо TypeScript, декораторы [доступны в Babel][3]. В этой статье рассматривается только реализация в TypeScript.


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

[1]: https://github.com/tc39/proposal-decorators
[2]: https://habrahabr.ru/company/enterra/blog/153365/
[3]: https://habrahabr.ru/post/277021/
[4]: https://habrastorage.org/files/e86/fb8/fbc/e86fb8fbcba9404c9262c30e6f96e5a6.jpg
[5]: https://habrahabr.ru/post/310870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему мы в «Дадате» тратим 2 млн долларов в год на 99,99% точность обработки данных
habra.16
habrabot(difrex,1) — All
2016-10-18 20:30:03


Вы когда-нибудь задумывались, почему вообще возможно исправить ошибки и опечатки в текстовых данных, например, в адресах и именах? Почему мы думаем, что «_Терская_» — это, скорее всего, _Тверская_ улица, а не какая-нибудь фантастическая улица _Василиятёрского_? А вдруг это _Комсомольский_ проспект, в котором сделано двадцать опечаток?


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

[1]: https://habrastorage.org/files/f33/085/bea/f33085beaa124561885f3654f6ad464d.jpg
[2]: https://habrahabr.ru/post/312858/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему супер-мега-про машинного обучения за 15 минут всё же не стать
habra.16
habrabot(difrex,1) — All
2016-10-18 21:30:04


Вчера я опубликовал [статью ][1]про машинное обучение и NVIDIA DIGITS. Как и обещал, сегодняшняя статья — почему всё не так уж и хорошо + пример выделения объектов в кадре на DIGITS.

NVIDIA подняла волну пиара по поводу разработанной и имплиментированной в DIGITS сетки DetectNet. Сетка позиционируется как решение для поиска одинаковых/похожих объектов на изображении.

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

[1]: https://habrahabr.ru/post/311832/
[2]: https://habrastorage.org/files/b5b/e64/7c5/b5be647c520b4d609605ad641cc16c4e.jpg
[3]: https://habrahabr.ru/post/312472/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Привет, Siri. Включи обогреватели» — Интеграция умного дома на базе NooLite с Apple HomeKit
habra.16
habrabot(difrex,1) — All
2016-10-18 22:00:04


![image][1]



В своей [первой статье][2] я описал предысторию появления системы удаленного управления отоплением в загородном доме через Telegram-бота, которым я и моя семья пользовались долгое время.



С выходом iOS 10, Apple представила пользователям приложение [Дом][3] — свою реализацию интерфейса управления умным домом через [HomeKit][4]. Меня весьма заинтересовала данная тема и, потратив несколько вечеров на изучение доступного материала, я решил реализовать интеграцию данного продукта с моей системой. В статье я подробно изложу процесс ее установки и настройки, а также поделюсь видео с результатами того, что получилось в итоге.

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

[1]: https://habrastorage.org/files/25c/3f6/591/25c3f659133d44728e54bf51a8a3e49c.png
[2]: https://habrahabr.ru/post/312328/
[3]: http://www.apple.com/ru/ios/home/
[4]: https://developer.apple.com/homekit/
[5]: https://habrahabr.ru/post/312668/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Скрапинг бесконечно прокручивающейся страницы
habra.16
habrabot(difrex,1) — All
2016-10-18 22:30:04


# Скрапинг бесконечно прокручивающейся страницы {#skraping-beskonechno-prokruchivayuscheysya-stranicy}



Добро пожаловать в советы по Scrapy от профессионалов! В этом месяце мы поделимся несколькими уловками, чтобы помочь ускорить вашу работу связанную с веб-скрапингом. Как ведущие мэйнтейнеры Scrapy мы сталкиваемся с каждыми препятствием, которое вы можете себе представить. Так что не волнуйтесь — вы в надёжных руках. Не стесняйтесь контактировать с нами в твиттере или фейсбуке с любыми предложениями для будущих статей.



![][1]



В эру одностраничных приложений и тонн AJAX-запросов на одной странице множество веб-сайтов заменили кнопку навигации "вперёд/назад" на причудливый механизм бесконечной прокрутки страницы. Веб-сайты использующие этот механизм загружают новую сущность каждый раз, когда пользователь достигает конца страницы при вертикальной прокрутке(вспомните Twitter, Facebook, Google Images). Даже несмотря на то, что [UX-эксперты][2] утверждают что механизм бесконечной прокрутки предоставляет чрезмерное количество данных для пользователей, мы видим увеличивающееся количество веб-страниц прибегающих к предоставлению бесконечного списка результатов.

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

[1]: https://habrastorage.org/files/db2/9ac/2f7/db29ac2f70634f9b945d00288af74e57.png
[2]: https://www.smashingmagazine.com/2013/05/infinite-scrolling-lets-get-to-the-bottom-of-this/
[3]: https://habrahabr.ru/post/312816/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] MariaDB на Google Summer of Code: Итоги GSoC16
habra.16
habrabot(difrex,1) — All
2016-10-19 02:30:04


Несколько запоздалый отчет про MariaDB, наши проекты на последнем GSoC, наших студентов, королей и капусту.
![][1]
Прошлый — 2015-й — GSoC у нас получился очень неудачный. Всего было восемь студентов, но многие провалились еще в середине лета (на midterm evaluation), причем трое были из одного университета в Камеруне (и явно с одного курса), с прекрасными заявками, но они дружно не сделали ничего, от слова «совсем», ну, может одну строчку комментария подправили за полтора месяца. А после провала на midterm они пытались опротестовать наше решение в Google, и даже прислали нам письмо с туманными угрозами. Мол, нехорошо столько студентов проваливать, имидж себе портить, в следующем году Google мест не даст.

Но Google их не послушался и дал. И этот год, наверное по контрасту, получился на редкость удачный.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/caa/105/91e/caa10591ece743d7a6642708c507000c.png
[2]: https://habrahabr.ru/post/312838/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я читал показания датчиков через SNMP (Python+AgentX+systemd+Raspberry Pi) и соорудил ещё одну мониторилку
habra.16
habrabot(difrex,1) — All
2016-10-19 02:30:04


Всем привет.

![image][1]

**Лирическое отступление**
Статья лежит в черновиках уже пару недель, потому как не было времени таки допилить описываемый объект. Но под натиском товарищей, которые своими статьями уже покрыли половину того, что я сказать хотел, решил последовать принципу «release fast, release early, release crap» и опубликовать то, что есть. Тем более, что разработка на 80% закончена.

С момента публикации статьи про [«В меру Универсальное Устройство Управления»][2] прошло немало времени (а если быть точным, больше года). Немало, но недостаточно много, чтобы я таки написал нормальную программную начинку для этого устройства. Ведь не для красоты ж оно есть — оно должно собирать данные с датчиков и делать так, чтобы эти данные оказывались в системе мониторинга (в моём случае Zabbix)
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/6a5/81f/10c/6a581f10c0b01a8d0dd3095cafeb3eb4.jpg
[2]: https://habrahabr.ru/post/255179/
[3]: https://habrahabr.ru/post/311502/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Архитектура и программирование компьютера Texas Instruments TI-99/4a
habra.16
habrabot(difrex,1) — All
2016-10-19 05:00:04


Компьютер [Texas Instruments TI-99/4a][1] почти неизвестен за пределами США, однако он был там весьма популярен (выпущено более двух миллионов машин). Хотя этот компьютер создавался как домашний, существенной особенностью (во многом определившей его архитектуру, а затем и судьбу) было то, что за основу был взяли уже существовавший серьёзный мини-компьютер [TI-990][2], собранный на обычной ТТЛ логике. Фактически, микропроцессор TMS9900 в компьютере TI99/4A является реализацией TI-990, но в виде чипа. TI-990 был выпущен в 1975 году, а TMS9900 в 1976 году.

![][3]

Таким образом, TI99/4a (в 1979 был выпущен чуть более простой TI-99/4, а в 1981 уже TI-99/4a) получил в наследство крайне странную, для домашних компьютеров, архитектуру. Во-первых, микропроцессор TMS9900 в нём 16-разрядный — с честной 16-разрядной шиной данных (это в конце 1970-х!). Во-вторых, на чипе нет регистров (кроме PC, флагов и указателя «регистров» WP). То, что можно назвать регистрами, находится в отдельной микросхеме 16-разрядного статического ОЗУ размером 256 байт и может адресоваться одновременно как память и (первые 16 слов) как регистры R0..R15. Называется это «scratchpad».
Аппаратного стека нет, вместо этого сохранение значений при вызове подпрограмм осуществляется изменением указателя начала регистров WP в этом самом ОЗУ (напоминает регистровые окна в Sparc'ах). В предке (TI-990) это также использовалось для переключения контекста при реализации многозадачности.

Хотя тактовая частота TMS9900 — 3 МГц, инструкции занимают довольно много тактов — не менее 8. При этом реализовано даже умножение и деление (124 такта).
[Читать дальше →][4]

[1]: https://en.wikipedia.org/wiki/Ti-99
[2]: https://en.wikipedia.org/wiki/TI-990
[3]: https://habrastorage.org/files/a89/457/759/a89457759c394eb991969ca9f12b0922.jpg "TI-99/4a с синтезатором речи (справа)"
[4]: https://habrahabr.ru/post/313058/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ruby Hero Russia Award 2016
habra.16
habrabot(difrex,1) — All
2016-10-19 07:30:04


Всем привет!
До конференции [RailsClub’2016][1] осталось всего 4 дня, и все уже ждут встречи с нашими звездными докладчиками.
![][2]
Как мы неоднократно говорили, цель конференции – популяризация языка Ruby в России и в мире. В рамках RailsClub’a мы хотим собираться вместе, слушать доклады великих, а также выявлять и поощрять труд тех из нас, кто делает большой вклад в развитие родных технологий. Поэтому несколько месяцев назад мы анонсировали премию [Ruby Hero Russia Award 2016][3] за вклад в развитие языка Ruby и open-source технологий, связанных с Ruby (конечно же, для наших соотечественников).

Все эти месяцы вы бодро номинировали претендентов на премию. Настало время определить победителя!
[Читать дальше →][4]

[1]: http://railsclub.ru
[2]: https://habrastorage.org/files/bc9/dbc/24e/bc9dbc24eb5f463a8eb5659f8d508599.png
[3]: http://rubyheroes.ru/
[4]: https://habrahabr.ru/post/312976/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Программирование&Музыка: Частотный фильтр Баттервота. Часть 3
habra.16
habrabot(difrex,1) — All
2016-10-19 07:30:04


Всем привет!
Вы читаете третью часть статьи про создание VST-синтезатора на С#. В предыдущих частях был рассмотрен SDK и библиотеки для создания [VST][1] плагинов, рассмотрено программирование осциллятора и ADSR-огибающей для управления амплитудой сигнала.
В этой части я расскажу, как рассчитать и закодить фильтр частот, без которого не обходится ни один синтезатор. А без эквалайзера немыслима обработка звука)
Будет рассмотрен исходный код и применение эквалайзера из библиотеки [NAudio][2] (библиотека для работы со звуком под .NET).
Внимание — будет много [матана][3] — будем рассчитывать формулы для коэффициентов фильтра.



Исходный код [написанного мною синтезатора][4] доступен на [GitHub'е][5].


![][6]

_Скриншот VST плагина-эквалайзера Fab Filter Pro Q_


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

[1]: https://ru.wikipedia.org/wiki/Virtual_Studio_Technology
[2]: https://naudio.codeplex.com/
[3]: https://habrastorage.org/files/29b/79e/889/29b79e8894a541e99e1e556ac3c5ebcf.jpg
[4]: https://www.youtube.com/watch?v=6zAVMEtIb2w
[5]: https://github.com/lis355/Syntage
[6]: https://habrastorage.org/files/967/d2a/486/967d2a486df44a90aa2dcf89f0c90ad9.png
[7]: https://habrahabr.ru/post/313062/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сaжаем на диету индексы PostgreSQL для Zabbix
habra.16
habrabot(difrex,1) — All
2016-10-19 11:00:04


![][1] Недавно мы перевели Zabbix на работу с БД PostgreSQL. Вместе с переездом на сервер с SSD это дало существенный прирост скорости работы. Также решили проблему с дублирующими хостами в базе данных, [bug request][2]. Здесь статья могла бы закончиться, но мы заметили, что Zabbix использует много дискового пространства, поэтому ниже я расскажу, как это вышло. И как мы с этим разобрались.

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

[1]: https://habrastorage.org/files/d81/1a1/34c/d811a134c60c434095067bfc83ac8f76.jpg
[2]: https://support.zabbix.com/browse/ZBX-8612
[3]: https://habrahabr.ru/post/310462/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Лёгкая интеграция tor в android приложение на примере клиента для рутрекера
habra.16
habrabot(difrex,1) — All
2016-10-19 12:00:04


Мне давно было интересно, можно ли легко добавить проксирование через тор в Android приложение. Вроде бы довольно очевидная задача, плюс тор браузеры уже под эту платформу давно есть… Но есть много задач, которые сложнее, чем кажутся. Для нетерпеливых сразу скажу — да, можно, и получается довольно легко, быстро и классно. В особенности если не копать с нуля, а воспользоваться моими наработками.
![][1]
Для примера я буду использовать приложение для работы с рутрекером — никто не любит код, который работает со сферический конём в вакууме. Раньше это приложение обходило блокировку [при помощи Google Compression Proxy][2] — но увы — то ли рутрекер, то ли гугл выпилил возможность авторизации с этой проксёй. Сразу скажу, что, конечно, есть всякие впны и прочее, что вы используете для лёгкого обхода блокировки и просмотра сериальчиков. Но речь здесь идёт не про это. Как вы понимаете, тор можно использовать в мобильном приложении для огромного количества вещей — например, для доступа к веб сайтам в .onion или для реализации особо безопасного мессенджера.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/689/f60/820/689f60820c7a4a1c92c2629fabb40e6d.png
[2]: https://habrahabr.ru/post/279267/
[3]: https://habrahabr.ru/post/313030/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] СМИ: Немецкие военные взломали сеть афганского мобильного оператора, чтобы узнать местонахождение заложника
habra.16
habrabot(difrex,1) — All
2016-10-19 13:30:04


[![][1]][2]

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

Согласно представленным в медиа данным, атака была осуществлена в 2015 году и официально не подтверждена до сих пор. В конце сентября издание Spiegel со ссылкой на неназванные источники, [сообщило][3], что операцию подготовил и осуществил департамент Бундесвера под названием Computer Network Operations Unit (CNO). [Читать дальше →][4]

[1]: https://habrastorage.org/files/dcf/619/564/dcf6195649a244e89ddb1b89c13c2035.png
[2]: https://habrahabr.ru/company/pt/blog/313068/
[3]: http://www.spiegel.de/politik/ausland/cyber-einheit-bundeswehr-hackte-afghanisches-mobilfunknetz-a-1113560.html
[4]: https://habrahabr.ru/post/313068/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Новый подкаст об информатике
habra.16
habrabot(difrex,1) — All
2016-10-19 14:00:04


![][1]



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



Недавно мы запустили новый проект – одноименный подкаст об информатике. Мысли, рассуждения и изучение идей информатики, математики и программирования. Ведущий – ваш покорный слуга. Пока вышло 3 выпуска, по выпуску в неделю. Продолжительность каждого – около 30 минут.



# 1\. Инструменты и искусственный глупый интеллект {#1-instrumenty-i-iskusstvennyy-glupyy-intellekt}



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



**→ [Слушать на SC][3] / [слушать на YT][4] / [скачать][5]**


* [Gitless][6]
* [Обсуждение Gitless на HN][7]
* [How it feels to learn JavaScript in 2016][8]
* [Too many tools and frameworks][9]
* Невыполненное обещание компьютерной эпохи
* Искусственный интеллект, и компьютеры, похожие на людей[Читать дальше →][10]

[1]: https://habrastorage.org/files/d11/ce8/84d/d11ce884d54b461b88a23ed688c22d8d.jpg
[2]: https://ru.hexlet.io/videos
[3]: https://soundcloud.com/hexlet/episode_01
[4]: https://www.youtube.com/watch?v=t2X5E8de3OQ&feature=youtu.be
[5]: https://archive.org/download/hexlet_podcast_02/hexlet_podcast_01.mp3
[6]: http://gitless.com
[7]: https://news.ycombinator.com/item?id=12621837
[8]: https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.qr1f6qt4q
[9]: http://mrmrs.io/writing/2015/07/27/too-many-tools/
[10]: https://habrahabr.ru/post/313072/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Дональд Кнут: Как создавалось «Искусство программирования» (33,38,39/97)
habra.16
habrabot(difrex,1) — All
2016-10-19 14:30:03


_«Я должен был закончить книгу, прежде чем родится мой сын. Теперь ему 40 лет, и я до сих пор не закончил её.»_

![][1]

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

Обычно в университет не берут на работу собственных выпускников, за исключением MIT. Но как вы знаете, считается нехорошо делать инбридинг (кровосмешение), потому что отделение может увязнуть в одной философии, а они хотят «свежей крови». Но Caltech счел меня достаточно странным и чуждым «по крови», и это было положительным доводом, чтобы нанять меня.


## Как зародилась идея книги


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

[1]: https://habrastorage.org/files/6fe/541/293/6fe541293ff049548285d631dea56aca.jpg
[2]: https://habrahabr.ru/post/312796/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Все вижу, все слышу, и пишу, и говорю: механики для тренировки лексических навыков в приложении Aword
habra.16
habrabot(difrex,1) — All
2016-10-19 16:00:04


![][1]

Для эффективного запоминания слов недостаточно только [алгоритмов по Эббингаузу][2]. Нужно, чтобы и кратковременная память работала правильно: простая зубрежка быстро “выключает” мозг и не приносит результатов даже на малых дистанциях. Необходимо максимально разнообразить упражнения на запоминание, стараться связывать не просто русское и английское слово, а привязывать английское слово к понятию, наконец, надо развивать именно те навыки, которые нужны ученику. Сегодня мы расскажем о механиках, заложенных в наше мобильное приложение Aword.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/f6f/3a0/477/f6f3a04779334444952c8a31706f9a2d.jpg
[2]: https://habrahabr.ru/company/skyeng/blog/312126/
[3]: https://habrahabr.ru/post/313014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Контроль качества кода в перспективе развития проекта
habra.16
habrabot(difrex,1) — All
2016-10-19 16:00:04


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

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

Мы разработали автоматизацию по контролю качества кода, которая уже работает в нашей компании и в некоторых других. Данная реализация создана для языка PHP. Ранее она была только для Java и C#. Однако принципы и подходы применимы ко всем современным языкам, поэтому приглашаем к обсуждению этой важной темы.
[Читать дальше →][1]

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

[>] River Raid на FPGA
habra.16
habrabot(difrex,1) — All
2016-10-19 17:00:04


Еще не делали [River Raid][1] на FPGA? Ок, тогда я сделаю.

![][2]
Совсем недавно FPGA для меня был черным ящиком, а Verilog казался вообще магией — ну как можно написать программу, по которой построится схема на логических элементах? Изучить это я планировал давно, но без реальной железки даже не хотел начинать.
[Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/River_Raid
[2]: https://habrastorage.org/files/715/b70/927/715b70927752428cacc1280fa810bb42.png
[3]: https://habrahabr.ru/post/313092/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы попробовали DDD, CQRS и Event Sourcing и какие выводы сделали
habra.16
habrabot(difrex,1) — All
2016-10-19 19:00:04


Вот уже около трех лет я использую в работе принципы Spec By Example, Domain Driven Design и CQRS. За это время накопился опыт практического применения этих практик на платформе .NET. В статье я хочу поделиться нашим опытом и выводами, которые могут быть полезными командам, желающим использовать эти подходы в разработке.
[Читать дальше →][1]

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

[>] [Перевод] Тематическое моделирование репозиториев на GitHub
habra.16
habrabot(difrex,1) — All
2016-10-19 21:30:05


![word cloud][1]
[Тематическое моделирование][2] — подраздел машинного обучения, посвященный извлечению абстрактных «тем» из набора «документов». Каждый «документ» представлен [мешком слов][3], т.е. множеством слов вместе с их частотами. Введение в тематическое моделирование прекрасно описано проф. [К. В. Воронцовым][4] в лекциях ШАД [[PDF][5]]. Самая известная модель ТМ — это, конечно, [Латентное размещение Дирихле][6] (LDA). Константину Вячеславовичу удалось обобщить все возможные тематические модели на основе мешка слов в виде [аддитивной регуляризации][7] (ARTM). В частности, LDA тоже входит в множество моделей ARTM. Идеи ARTM воплощены в проекте [BigARTM][8].

Обычно тематическое моделирование применяют к текстовым документам. Мы в [source\{d\}][9] (стартап в Испании) перевариваем биг дату, полученную из GitHub репозиториев (и скоро примемся за каждый публично доступный репозиторий в мире). Естественным образом возникла идея интерпретировать каждый репозиторий как мешок слов и натравить BigARTM. В этой статье пойдет речь о том как мы выполнили по сути первое в мире тематическое исследование крупнейшего хранилища open source проектов, что из этого получилось и как это повторить. **docker inside!**
[Читать дальше →][10]

[1]: https://habrastorage.org/getpro/habr/post_images/b7f/300/947/b7f300947c670121196b854ade922a20.png
[2]: https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
[3]: https://en.wikipedia.org/wiki/Bag-of-words_model
[4]: http://www.machinelearning.ru/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Vokov
[5]: http://www.machinelearning.ru/wiki/images/e/e6/Voron-ML-TopicModeling-slides.pdf
[6]: https://ru.wikipedia.org/wiki/%D0%9B%D0%B0%D1%82%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5_%D0%94%D0%B8%D1%80%D0%B8%D1%85%D0%BB%D0%B5
[7]: http://link.springer.com/article/10.1007/s10994-014-5476-6
[8]: https://github.com/bigartm/bigartm
[9]: http://sourced.tech
[10]: https://habrahabr.ru/post/312596/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Acyclic Visitor
habra.16
habrabot(difrex,1) — All
2016-10-19 22:30:04


В этой статье мы рассмотрим один из вариантов реализации поведенческого шаблона проектирования Acyclic Visitor без ипользования RTTI.


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

[1]: https://habrastorage.org/files/5c9/2bd/02e/5c92bd02e999479485082b802abe93bd.jpeg
[2]: https://habrahabr.ru/post/313134/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Бесплатные курсы, книги и прочие материалы по разработке
habra.16
habrabot(difrex,1) — All
2016-10-19 22:30:04


![][1]

У кого сейчас есть время на получение второго академического образования? Хм.
Все больше компаний и команд обращают внимание не на формальные «корочки», а на реальные способности и достижения конкретного человека. Речь, конечно о хороших компаниях с современным взглядом на реальность и продвинутым руководством.

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

[1]: https://habrastorage.org/files/abe/393/5ab/abe3935abfb84f6caf7fee9a2860cfed.jpg
[2]: https://habrahabr.ru/post/312940/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Google Cloud Vision API‎. Будущее Computer Vision as a service настало?
habra.16
habrabot(difrex,1) — All
2016-10-20 09:00:04


Год назад Google сваял платформу Cloud Vision API‎. Идея платформы — предоставить технологии Computer Vision, в которых Google является безусловным лидером, как сервис. Пару лет назад под каждую задачу существовала своя технология. Нельзя было взять что-то общее и добиться, чтобы алгоритм решал всё. Но Google замахнулся. Вот, прошёл уже год. А технология всё так же не на слуху. На хабре одна [статья][1]. Да и та ещё не про Cloud Vision api, а про Face api, которое было предшественником. Англоязычный интернет тоже не пестрит статьями. Разве что от самого Google. Это провал?
![][2]
Мне было интересно посмотреть что это такое ещё весной. Но сил полноценно посидеть не хватало. Изредка что-то отдельное тестировал. Периодически приходили заказчики и спрашивали, почему нельзя применить Cloud Api. Приходилось отвечать. Или наоборот, отсылать с порога в этом направлении. И внезапно понял, что материала на статью уже достаточно. Поехали.
[Читать дальше →][3]

[1]: https://habrahabr.ru/company/rambler-co/blog/266885/
[2]: https://habrastorage.org/files/042/b4e/705/042b4e70530d429e8a710b957f0854e7.jpg
[3]: https://habrahabr.ru/post/312714/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разработка и тестирование chef кукбуков с помощью инструмента Sparrowdo
habra.16
habrabot(difrex,1) — All
2016-10-20 12:00:07


Здравствуйте! О разработке [chef кукбуков][1] и связанной с ней инфраструктурой написано немало, да и инструментов в этой области существует уже предостаточно. Среди них можно перечислить такие решения как [vagrant][2], [test kitchen][3], [food critic][4], [chef spec][5], [minitest-chef-handler][6], [serverspec][7], [inspec][8]. Все они, в той или иной степени упрощают и ускоряют промышленную разработку и тестирование chef кукбуков и настраиваемой ими инфраструктуры.



Если данная область близка для вас и вы так же имеет некоторое отношение к языку Perl ( точнее к [Perl6][9] ) — то добро пожаловать в топик.



Итак, сегодня я расскажу как я использую [Sparrowdo][10] при разработке и тестировании chef кукбуков.


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

[1]: https://docs.chef.io/cookbooks.html
[2]: https://www.vagrantup.com/
[3]: http://kitchen.ci/
[4]: http://www.foodcritic.io/
[5]: https://docs.chef.io/chefspec.html
[6]: https://github.com/chef/minitest-chef-handler
[7]: http://serverspec.org/
[8]: https://github.com/chef/inspec
[9]: http://perl6.org/
[10]: https://habrahabr.ru/post/304982/
[11]: https://habrahabr.ru/post/313034/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Грабли VK SDK для Android
habra.16
habrabot(difrex,1) — All
2016-10-20 12:00:07


Привет Хабр! Недавно понадобилось интегрировать соц. сеть в проекте для Android. Выбор пал на ВК и, соотвественно, их офиц.библиотеку [VKCOM/vk-android-sdk][1]. Использовал ее раньше и ещё тогда не был от неё в восторге из-за малого количества примеров. Сейчас смотрю в исходный код, а он всё также далеко не идеален.

Обычно всегда просматриваю ключи в преференсах при запуске приложения и увидел такое вот (после авторизации):

Ключ: VK_SDK_ACCESS_TOKEN_PLEASE_DONT_TOUCH
Значение: scope=offline&https_required=1&access_token=e5cd068be722caafd3c449557e19c19eeed3f54c295a65cd097ed087f61c44394bd985975364fc34641cc&expires_in=0&created=1476876628588&user_id=220436550
Насторожило. Не думаю, что это хорошо хранить такие данные в открытом виде. Вообще, ещё после первого знакомства думал о возможности считывания вводимых данных при авторизации. Почему бы нет?
[Читать дальше →][2]

[1]: https://github.com/VKCOM/vk-android-sdk
[2]: https://habrahabr.ru/post/313132/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 ... 210