RSS
Pages: 1 ... 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
[>] [Из песочницы] Пример реализации методов обработки и распознавания изображений на Android
habra.15
habrabot(difrex,1) — All
2015-12-30 15:00:03


Занимаясь разработкой приложений под ОС Android возникают интересные идеи, которые хочется попробовать, либо есть какой-то набор теоретических знаний и их хочется применить на практике, из совокупности этих факторов и возникла идея описываемого проекта. Существует много статей о распознавании текста, о компьютерном зрении и об отдельных алгоритмах распознавания. В этой же публикации демонстрируется попытка реализации задачи, связанной с нахождением ключевого слова на изображении текста, что может позволить, например, найти необходимое место для чтения какого-либо текста в DjVu без распознавания самого текста. Пример реализации представлен в виде Android приложения, а исходным изображением является скриншот текста, с введенным ключевым словом, для решения задачи применяются различные алгоритмы обработки и распознавания изображений. [Читать дальше →][1]

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

[>] [Из песочницы] Printf Oriented Programming
habra.15
habrabot(difrex,1) — All
2015-12-30 15:00:03


![][1]

### Intro

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

[1]: https://habrastorage.org/files/8d8/b54/5fa/8d8b545fa7d245b593d3735f72f3f63f.png
[2]: https://en.wikipedia.org/wiki/Uncontrolled_format_string
[3]: http://habrahabr.ru/post/274329/#habracut

[>] [Из песочницы] Почему важно не выдавать пользователям простой пароль
habra.15
habrabot(difrex,1) — All
2015-12-30 15:30:02


В начале года во всех (ну почти) школах Москвы ввели новый электронный дневник. Его использование было обязательно. Разработчиком этого «великолепного» творения был Департамент ИТ города Москвы. Хоть и красивый дизайн, который доступен пользователям Chrome, внушал, что журнал хорош, на деле было наоборот. Фронтенд был написан на Angular, который, используя API дневника, получал все пользовательские данные. Из-за большой нагрузки со всех школ Москвы или плохой оптимизации, скорость работы дневника была низкой и иногда он даже не был доступен. Учителя жаловались о том, что оценки не выставляются и домашнее задание не сохраняется. Ученики и их родители были не довольны кривым отображением расписания и сообщений от учителей. По поводу отсутствия кроссбраузерности и поддержки мобильных девайсов на фоне всего не очень сильно переживали. Также кроме багов и медленной скорости работы была и «особенность». [Читать дальше →][1]

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

[>] [Из песочницы] Numpy и многопроцессорность
habra.15
habrabot(difrex,1) — All
2015-12-30 16:30:02


Сейчас уже многие используют библиотеку _numpy_ в своих python-программах, поскольку она заметно ускоряет работу с данными и выполнение математических операций. Однако во многих случаях _numpy_ работает в разы медленнее, чем она может… потому что использует только один процессор, хотя могла бы использовать все, что у вас есть. [Читать дальше →][1]

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

[>] Релиз компонентов DevExpress .NET, HTML5/JS и VCL v2015.2
habra.15
habrabot(difrex,1) — All
2015-12-30 17:00:03


Всем привет! 2015-й год близится к своему завершению и мы хотим пожелать всем разработчикам России (да и всего мира, чего уж!) весёлого новогоднего настроения, гармонии во всех ваших делах, ну и чтобы всё, что у вас ещё не получилось сделать до сих пор — обязательно получилось бы в следующем году! А вот у нас, например, ещё в этом году получилось выпустить новую версию компонентов для .NET, HTML/JavaScript и VCL, и если вы используете наши продукты в своей работе и следите за их развитием, то добро пожаловать под кат. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/83d/bff/8a5/83dbff8a5a0443d5b83126b49b7c6a0d.jpg
[2]: http://habrahabr.ru/post/274275/#habracut

[>] Авторизация в CentOS через Microsoft Azure AD / Office 365
habra.15
habrabot(difrex,1) — All
2015-12-30 19:00:02


Все пользователи Microsoft Office 365 (для бизнеса) проходят авторизацию именно через Microsoft Azure AD. Так, при добавлении каждого нового пользователя (емейла) в Office 365, для него автоматически создается соответствующая запись в Microsoft Azure AD. [Ранее][1] я рассказывал о том, как можно использовать Microsoft Azure AD для авторизации пользователей Ununtu 14.04. То есть, как в Ubuntu сделать SSO c Microsoft Azure AD / Office 365. Сейчас я расскажу как можно сделать то же самое в CentOS 7. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/274249/
[2]: http://habrahabr.ru/post/274255/#habracut

[>] Sinon.js — mock-библиотека для JavaScript
habra.15
habrabot(difrex,1) — All
2015-12-30 20:30:04


Sinon.js — это mock-библиотека для JavaScript, которую можно использовать с любым тестовым фреймворком. Она предоставляет функции для эмуляции и проверки требуемого поведения в JavaScript. В библиотеке представлено три вида тестирования с spy, stub и mock. В данном посте мы рассмотрим документацию по API Sinon.js вместе с кратким введением в концепцию методов данной библиотеки. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/65f/f58/f12/65ff58f123fa431a99aa5b19f416ea04.jpg
[2]: http://habrahabr.ru/post/274317/#habracut

[>] Как следить за появлением вопросов на toster.ru и ru.stackoverflow.com
habra.15
habrabot(difrex,1) — All
2015-12-30 22:30:02


![image][1] Всем привет. Так получилось, что уже давно мучает вопрос: «Как следить за форумами по интересным тебе темам, но самое главное, как узнавать о появлении новых вопросов в момент их публикации». Конечно, можно сказать, что есть рассылки, RSS, но лично у меня получается так, что до почты я добираюсь, как правило, с мобильного во время передвижения. Вручную серфить ресурсы вообще не вариант. Вот поэтому, если бы я и мог ответить, компьютера под рукой нет. А после приезда голова уже забита совсем другим. Могу смело сформулировать свою проблему. Необходим канал, сообщающий и самое главное, привлекающий мое внимание в момент публикации нового вопроса. До недавнего времени таким я рассматривал какой-нибудь IM, для работы Telegram я не пользуюсь, а с остальными все что-то не совсем так. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/23f/39d/a9d/23f39da9ddbffe56607918f321ad7cc4.png
[2]: http://habrahabr.ru/post/274361/#habracut

[>] Безопасность веб-ресурсов банков России
habra.15
habrabot(difrex,1) — All
2015-12-30 23:00:04






В нашей компании мы постоянно проводим различные исследования ([список][1]), выбирая интересную для нас тему и как итог — представляя общественности pdf с результатами. Данная статья статья как раз из разряда таких исследований. Проводя работы по анализу защищенности мы приводим обычно очень схожие (общие для всех) советы, которым мало следует, некоторые best practices, которые или просто повышают общий уровень защищенности системы (например — применение CSP), или действительно позволяют предотвратить атаку.

### Введение

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

[1]: http://dsec.ru/ipm-research-center/research/
[2]: http://habrahabr.ru/post/274273/#habracut

[>] Как следить за появлением вопросов на toster.ru, ru.stackoverflow.com и stackoverflow.com
habra.15
habrabot(difrex,1) — All
2015-12-31 02:30:02


![image][1] Всем привет. Так получилось, что уже давно мучает вопрос: «Как следить за форумами по интересным тебе темам, но самое главное, как узнавать о появлении новых вопросов в момент их публикации». Конечно, можно сказать, что есть рассылки, RSS, но лично у меня получается так, что до почты я добираюсь, как правило, с мобильного во время передвижения. Вручную серфить ресурсы вообще не вариант. Вот поэтому, если бы я и мог ответить, компьютера под рукой нет. А после приезда голова уже забита совсем другим. Могу смело сформулировать свою проблему. Необходим канал, сообщающий и самое главное, привлекающий мое внимание в момент публикации нового вопроса. До недавнего времени таким я рассматривал какой-нибудь IM, для работы Telegram я не пользуюсь, а с остальными все что-то не совсем так. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/23f/39d/a9d/23f39da9ddbffe56607918f321ad7cc4.png
[2]: http://habrahabr.ru/post/274361/#habracut

[>] [Из песочницы] Webpack ProvidePlugin: как не писать простыню import/require в начале javascript модуля
habra.15
habrabot(difrex,1) — All
2015-12-31 16:00:03


Если вы разрабатываете на современном javascript, то почти любой ваш модуль содержит простыню таких строк:

import React from 'react'
import $ from 'jquery'
...


Как оказалось, большинство этих строк можно не писать, доверив их генерацию автоматике. И помогает в этом новомодный **webpack**, в котором, как оказывается, полно приятных сюрпризов. Кроме всем известных **require** и **import** для любых файлов и уже описанного на хабре «hot module replacement», **webpack** может проанализировать ваш исходный код и автоматически включить нужные модули на основании используемых литералов. Под катом — краткое описание как работает эта магия. [Ознакомиться с заклинанием][1]

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

[>] happy(new Year(2016));
habra.15
habrabot(difrex,1) — All
2015-12-31 21:00:04


![][1] Собственно, буду немногословен, передаю всем привет из 2016 года! Всем-всем-всем хаброжителям хочу пожелать здоровья, удачи, добра, творческого простора и конечно а на этих слова вспомнил и отыскал [цитату][2] [kahi4][3] из позапрошлого новогоднего топика: [Читать дальше →][4]

[1]: https://habrastorage.org/files/7ee/2c1/78d/7ee2c178dde74601a874891ca120199e.png
[2]: http://habrahabr.ru/post/207944/#comment_7159674
[3]: http://habrahabr.ru/users/kahi4/
[4]: http://habrahabr.ru/post/274393/#habracut

[>] [Из песочницы] Как за 3 дня создать игровой движок для новелл
habra.15
habrabot(difrex,1) — All
2016-01-01 03:00:02


Одним дождливым питерским днем мой проект в UE4 перестал загружаться, и из-за этого я захотел сделать свой собственный движок. И подтолкнула меня сделать движок именно для новелл. Если вам хочется узнать побольше и вы не боитесь goto, gosub и других ужасов, добро пожаловать под кат. ![image][1] [День первый][2]

[1]: https://habrastorage.org/getpro/habr/post_images/f30/8df/cb6/f308dfcb68eac6119f98319b49e1c788.jpg
[2]: http://habrahabr.ru/post/274399/#habracut

[>] Новогодний голосовой хабрачат (2016)
habra.15
habrabot(difrex,1) — All
2016-01-01 07:00:02


![image][1] Новый год уже не за горами, а это может означать только одно — время для тёплого, лампового общения в **голосовом** хабрачатике ([есть и обычный чат][2]). Общаться будем в TeamSpeak 3. Скачать его можно [тут][3]. Для подключения к серверу достаточно ввести IP — [speakserver.cloudapp.net][4] и ваш никнейм. **С наступающим, друзья!** [][5]

[1]: https://habrastorage.org/getpro/habr/post_images/b9c/3b3/99b/b9c3b399b13c1517a999572817d979f2.jpg
[2]: http://habrahabr.ru/post/274369/
[3]: https://www.teamspeak.com/downloads
[4]: http://speakserver.cloudapp.net
[5]: http://habrahabr.ru/post/274387/#habracut

[>] Задача про 2016
habra.15
habrabot(difrex,1) — All
2016-01-01 18:00:03


Предлагаю порешать в кругу прекрасных дам-программистов традиционную новогоднюю задачу про 2016 год. Надо расставить знаки и скобки, чтобы получилось любое число от 1 до 100. Например

> 20\*(-1+6)=100

Или

> 2+0-1^6=1

Факториалы и степени милостиво допускаются. [][1]

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

[>] Скриншотим игры — the hard way
habra.15
habrabot(difrex,1) — All
2016-01-02 00:30:02


Ну что такого сложного может быть в создании скриншота? Казалось бы — позови функцию, любезно предоставленную операционкой и получи готовую картинку. Наверняка многие из вас делали это не один раз, и, тем не менее, нельзя просто так взять и заскриншотить полноэкранное directx или opengl приложение. А точнее — можно, но в результате вы получите не скриншот этого приложения, а залитый черным прямоугольник. [Читать дальше →][1]

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

[>] Обзор возможностей современного JavaScript
habra.15
habrabot(difrex,1) — All
2016-01-02 15:00:03


JavaScript, наверное, самый известный мультипарадигменный язык, в котором очень много неочевидных особенностей. Но тем не менее любим ли мы его или ругаем, факт остается фактом — это основной язык, на котором работает современный web. В ушедшем году, вышел стандарт ECMAScript 2015 (неформально ES6), который сильно изменил, то к чему мы привыкли. Появилась масса новых возможностей, которые по сути представляют собой современное надмножество языка, пытающегося решить существующие проблемы. Class, let, const, стрелочные функции… разработчик, который ранее не видел код, написанный на ES6 не сразу догадается, что перед ним, по сути, старый добрый JS. Есть масса прекрасных статей, посвященных современному стандарту. В этом же посте я хочу показать, что нам может предложить современный JS, когда необходимо решить насущную задачу. Например, поздравить всех c Новым Годом. [Читать дальше →][1]

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

[>] Microsoft уведомит пользователей о state-sponsored кибератаках
habra.15
habrabot(difrex,1) — All
2016-01-03 05:00:02


Компания Microsoft [опубликовала][1] у себя в блоге информацию о дополнительных мерах по обеспечению безопасности пользователей. Она будет сообщать своим пользователям о том, что их аккаунты Microsoft, включая, Outlook.com и OneDrive были скомпрометированы лицом или группой лиц, относящихся к state-sponsored кибергруппе. ![][2] Microsoft указывает, что используемые state-sponsored кибергруппами методы компрометации пользователей отличаются своей сложностью от тех, которые используют простые злоумышленники, действующие из своих личных и корыстных интересов. Уведомление пользователя о компрометации не будет однозначно говорить о том, что аккаунт был скомпрометирован, но указывает на то, что компания зафиксировала подозрительную активность. Активность означает то, что пользователю необходимо предпринять дополнительные меры по своей защите и защите своих аккаунтов Microsoft. [Читать дальше →][3]

[1]: http://blogs.microsoft.com/on-the-issues/2015/12/30/additional-steps-to-help-keep-your-personal-information-secure/
[2]: https://habrastorage.org/files/2a8/4bc/468/2a84bc46899d445dacdadc0fc087974d.jpg
[3]: http://habrahabr.ru/post/274443/#habracut

[>] [Перевод] Black Hat USA 2015: полная история взлома того самого Jeep
habra.15
habrabot(difrex,1) — All
2016-01-03 07:30:04


Как Чарли Миллер и Крис Валасек [взломали Jeep Cherokee][1]. ![image][2] В начале своего исследования Миллер и Валасек пытались взломать мультимедийную систему Jeep через Wi-Fi. Производитель автомобиля, компания Chrysler, предлагает возможность использования Wi-Fi по подписке. Оказалось, что эту беспроводную связь взломать достаточно легко, из-за того, что пароль на неё генерился автоматически на основе времени, когда машина и мультимедийная система включались впервые. Теоретически, измеряя время с точностью до секунд, этот метод довольно надёжен, учитывая большое количество вариантов времени. Но если вы знаете хотя бы год производства и угадаете месяц, то перебор будет ограничен 15 миллионами комбинаций. Если уменьшить время до дневных часов, останется уже 7 миллионов комбинаций. А это уже достаточно неплохой результат – его можно пробрутфорсить за час.

> Shock at the wheel: your Jeep can be hacked while driving down the road [pic.twitter.com/bOvjzQb9K4][3]
>
> — Kaspersky Lab (@kaspersky)
>
> [23 июля 2015][4]

Проблема в том, что в течение всего часа необходимо находиться поблизости от этого джипа, чтобы оставаться в пределах досягаемости Wi-Fi. Но исследователи нашли другой путь. Оказалось, что пароль для Wi-Fi создаётся до того, как в системе будут установлены дата и время – то есть, дефолтное время отсчёта плюс несколько секунд на то, чтобы бортовой компьютер загрузился. И это время составляет ровно January 01 2013 00.00.32 GMT. [Читать дальше →][5]

[1]: http://geektimes.ru/post/259290/
[2]: https://habrastorage.org/getpro/habr/post_images/3aa/0e8/3a0/3aa0e83a082d9f0d9b40109f82e8cdb2.jpg
[3]: http://t.co/bOvjzQb9K4
[4]: https://twitter.com/kaspersky/status/624291836996284418
[5]: http://habrahabr.ru/post/274453/#habracut

[>] [Перевод] Создание функции на Rust, которая принимает String или &str
habra.15
habrabot(difrex,1) — All
2016-01-03 07:30:04




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

[![КДПВ][1]][2]Статья — одна из серии постов, рассказывающих об использовании некоторых полезных библиотечных типажей и связанных с ними идиом Rust на примере строковых типов данных. Информация бесспорно полезная как для начинающих программистов на Rust, так и для тех, что уже успел себя немного попробовать в этом языке, но ещё не совсем освоился с богатой библиотекой типажей. Оригинальный пост содержит несколько неточностей и опечаток в коде, которые я постарался исправить в процессе перевода, однако в общем и целом описанные подходы и мотивация правильные, подходящие под понятие «лучших практик», а потому заслуживают внимания.

----

В моём последнем [посте][3] мы много говорили об использовании `&str` как предпочтительного типа для функций, принимающих строковые аргументы. Ближе к концу поста мы обсудили, когда лучше использовать `String`, а когда `&str` в структурах (`struct`). Хотя я думаю, что в целом совет хорош, но в некоторых случаях использование `&str` вместо `String` не оптимально. Для таких случаев нам понадобится другая стратегия. [Читать дальше →][4]

[1]: https://habrastorage.org/files/a8c/63c/5b7/a8c63c5b700645d99be879259f316740.png "КДПВ"
[2]: http://habrahabr.ru/post/274455/
[3]: http://hermanradtke.com/2015/05/03/string-vs-str-in-rust-functions.html
[4]: http://habrahabr.ru/post/274455/#habracut

[>] Kill switch для OpenVPN на основе iptables
habra.15
habrabot(difrex,1) — All
2016-01-03 09:00:02


Известно, что при подключении к открытым Wi-Fi сетям ваш трафик может быть легко прослушан. Конечно, сейчас всё больше и больше сайтов используют HTTPS. Тем не менее, это ещё далеко не 100%. Возникает естественное желание обезопасить свой трафик при подключении к таким открытым Wi-Fi сетям. Популярное решение этой проблемы — подключение через VPN. В таком случае ваш трафик передается в зашифрованном виде до VPN-сервера, и уже оттуда идет в интернет. У такого решения есть небольшой недостаток: пока VPN-подключение ещё не установлено, все приложения на вашем компьютере (включая открытые вкладки браузера) получают доступ в интернет в обход VPN-подключения. В этой статье я расскажу, как можно этого избежать. [Читать дальше →][1]

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

[>] Расширение разделов без потери данных
habra.15
habrabot(difrex,1) — All
2016-01-03 13:30:02




## **Суть**

Разработал программу для простого расширения раздела и файловой системы (xfs, ext3,4) без потери данных. [github.com/rekby/fsextender/releases/latest][1]

## **Исходная проблема**

После расширения диска виртуальной машины c ос семейства linux расширить внутри неё раздел данных. [Подробности][2]

[1]: https://github.com/rekby/fsextender/releases/latest
[2]: http://habrahabr.ru/post/274451/#habracut

[>] Рисуем эллиптические кривые с помощью SQL
habra.15
habrabot(difrex,1) — All
2016-01-03 23:30:02


Преимущество подхода на основе эллиптических кривых в сравнении с задачей факторизации числа, используемой в RSA, или задачей целочисленного логарифмирования, применяемой в алгоритме Диффи-Хеллмана и в DSS, заключается в том, что в данном случае обеспечивается эквивалентная защита при меньшей длине ключа. В общем случае уравнение эллиптической кривой Е в поле действительных чисел R имеет вид: — y^2+a1\*x\*y+a3\*y = x^3+a2\*x^2+a4\*x+a6 или в случае конечного кольца вычетов Z|n: — y^2+a1\*x\*y+a3\*y = x^3+a2\*x^2+a4\*x+a6 mod N Поставим перед собой задачу **визуализации** эллиптической кривой.

## Эллиптическая кривая Е в поле действительных чисел R

Если эллиптическая кривая Е рассматривается в поле действительных чисел R, то построение графика можно описать, используя только знания алгебры и геометрии старших классов школы аргументы N a1 a2 a3 a4 a6 xmin xmax

1. Выбираем диапазон [xmin — xmax] аргумента x
2. Отмечаем на выбранном диапазоне аргумента x необходимое число значений x1,...,xN
3. Каждое из значений x1,...,xN подставляем в уравнение y^2+a1\*x\*y+a3\*y = x^3+a2\*x^2+a4\*x+a6 и получаем обычное квадратичное уравнение аргумента y
4. Находим корни квадратичного уравнения аргумента y
5. Если квадратичное уравнение аргумента y имеет решения, то добавляем две точки на график
6. Соединяем линиями все «верхние» точки на графике и все «нижние» точки на графике

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

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

[>] [Перевод] String и &str в функциях Rust
habra.15
habrabot(difrex,1) — All
2016-01-04 05:30:02


[![КДПВ][1]][2] Этот пост посвящается всем тем, кого смущает необходимость использовать `to_string()`, чтобы заставить программы компилироваться. И я надеюсь пролить немного света на вопрос о том, почему в Rust два строковых типа `String` и `&str`. [Читать дальше →][3]

[1]: https://habrastorage.org/files/a8c/63c/5b7/a8c63c5b700645d99be879259f316740.png "КДПВ"
[2]: http://habrahabr.ru/post/274485/
[3]: http://habrahabr.ru/post/274485/#habracut

[>] Пишем DXE-драйвер для снятия скриншотов с BIOS Setup и других UEFI-приложений
habra.15
habrabot(difrex,1) — All
2016-01-04 09:30:02


![][1] В прошлой [статье про SecureBoot][2] мне очень не хватало возможности сделать снимок экрана при настройке UEFI через BIOS Setup, но тогда выручило перенаправление текстовой консоли в последовательный порт. Это отличное решение, но доступно оно на немногих серверных материнских платах, и через него можно получить только псевдографику, а хотелось бы получить настоящую — она и выглядит приятнее, и вырезать ее каждый раз из окна терминала не надо. Вот именно этим мы и займемся в этой статье, а заодно я расскажу, что такое DXE-драйвер и как написать, собрать и протестировать такой самостоятельно, как работают ввод с клавиатуры и вывод на экран в UEFI, как найти среди подключенных устройств хранения такое, на которое можно записывать файлы, как сохранить что-нибудь в файл из UEFI и как адаптировать какой-то внешний код на С для работы в составе прошивки. Если вам все еще интересно — жду вас под катом. [Драйверов богу драйверов! Скриншотов к трону скриншотов!][3]

[1]: https://habrastorage.org/files/2a8/8f3/b41/2a88f3b415b54f1ea653f2b5aad91306.png
[2]: http://habrahabr.ru/post/273497/
[3]: http://habrahabr.ru/post/274463/#habracut

[>] Центробежные компрессорные установки. Защита от помпажа
habra.15
habrabot(difrex,1) — All
2016-01-04 14:30:02


Компрессорные установки в промышленности используются во многих технологических операциях. Сжатый воздух получают разными типами компрессорных установок. От роторного типа, до вихревых турбомашин. Центробежные компрессорные установки типа К-250 имеют широкое распространение в промышленности. Но у всех типов компрессоров есть критический режим работы – помпаж. [Читать дальше →][1]

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

[>] [Из песочницы] Определение пола по ФИО – когда точность действительно важна
habra.15
habrabot(difrex,1) — All
2016-01-04 15:00:03


Некоторое время назад меня заинтересовала задача определения пола человека по его ФИО. В тот момент я работал в области медицинского страхования, где эта проблема была действительно актуальна – расходы на одного застрахованного, а значит и тарифы, по которым людей принимали на страхование, в зависимости от пола клиента, могли отличаться в несколько раз. Большая часть договоров – корпоративные, застрахованные являются сотрудниками работодателя. Мы никогда не видели большинство из них в глаза, все, что мы имели – списки застрахованных, где пол иногда был указан (с большим количеством ошибок), но чаще – не указан вообще. Большинство компаний имеют свою специфику работы и профессиональные традиции, в силу чего, в их коллективах преобладают люди одного пола. Даже небольшая ошибка могла сделать потенциально прибыльный договор убыточным (или наоборот, но на такое, по странному стечению обстоятельств, случалось с нашими клиентами гораздо реже). В целом, при объеме портфеля договоров в несколько миллиардов, и характерном количестве ошибок около процента, цена корректного определения пола по ФИО была в районе нескольких десятков миллионов. [Читать дальше →][1]

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

[>] О сложности выращивания сакуры: как я участвовал в Ludum Dare 34
habra.15
habrabot(difrex,1) — All
2016-01-04 16:00:02


Привет, хабр! В данном посте речь пойдет о моем участии в конкурсе Ludum Dare 34, который был около трех недель назад. В результате получился пазл под названием Growing Sakura, геймплей которой можно видеть на гифке (не пугайтесь, она весит всего 300Кб):



Кратко о правилах игры: изначально у нас есть гексагональное поле и несколько корневых бутонов (или один, как на гифке выше). Из него можно пустить 3 ветки (двумя способами — кликая левой или правой кнопкой мыши). Из каждого бутона на ветке левым кликом мыши можно сделать Y-разветвление, а правым — просто продолжить ветку дальше (I-разветвление). Если в каком либо направлении ветка расти не может (соответствующая клетка занята или в нужном направлении нет клетки) — то ветка не растет. В соответствии с последним условием нужно правильно выбирать порядкок «разворачивания» веток. В итоге получится дерево (или несколько деревьев) такое, что между двумя смежными ветками нет острых углов. Цель игры — покрыть все клетки игрового поля. Не заглядывая под кат попробуйте подумать секунд 10 и прикинуть, насколько сложной может быть эта игра. [Читать дальше →][1]

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

[>] IBM открывает blockchain-лабораторию
habra.15
habrabot(difrex,1) — All
2016-01-04 17:00:03


![][1] Корпорация IBM совместно с некоммерческой организацией Innovate Finance планирует провести изучение потенциала технологии Blockchain с целью разработки новых методов ведения бизнеса в современных условиях. На основе этой технологии создавалась система криптовалюты Bitcoin, успешно функционирующая уже несколько лет. Криптовалюта сейчас превратилась в признанное платежное средство, виртуальную денежную единицу, которая принимается крупными и мелкими предприятиями, корпорациями и сервисами. Теперь IBM планирует изучить дополнительные возможности Blockchain, задействуя собственные вычислительные и аналитические мощности. Технология, о которой идет речь, сейчас привлекает внимание банков и финансовых структур, которые изучают Blockchain с целью реализации новых проектов. [Читать дальше →][2]

[1]: https://habrastorage.org/files/735/4ec/ae0/7354ecae05434f0eb2aae5340e511d34.jpg
[2]: http://habrahabr.ru/post/274501/#habracut

[>] Решение головоломки Галакуб на Питоне
habra.15
habrabot(difrex,1) — All
2016-01-05 00:30:02


На новый год купил племяннику головоломку Галакуб. Задача собрать из разных деталей куб размером 4х4х4. Суммарный объём деталей, как раз, 4х4х4. Прежде, чем дарить надо было собрать головоломку. Красивое симметричное решение нашлось достаточно быстро. Но стало интересно единственное это решение или нет. Интуиция подсказывала, что единственное, но хотелось проверить. ![][1] Я решил по-быстрому запилить скрипт для перебора всех вариантов. В идеале нужно было успеть до новогодней речи Путина. Ситуация усугублялась тем, что код писался на Макбуке моих родителей. Поставить на него какие-то библиотеки — это задача покруче, чем написать саму программу. Код получился на удивление красивый и понятный. Его удобно объяснять. Может быть, текст будет полезен, например, изучающим Питон. [Читать дальше →][2]

[1]: https://habrastorage.org/files/9bf/74e/247/9bf74e2473ea4910a27c6586356c9709.JPG
[2]: http://habrahabr.ru/post/274527/#habracut

[>] Программирование микрокомпьютера LEGO NXT Mindstorms 2.0. Введение
habra.15
habrabot(difrex,1) — All
2016-01-05 02:30:03


Здравствуйте. В своих статьях я хочу Вас познакомить с основами программирования микрокомпьютера LEGO NXT Mindstorms 2.0. Для разработки приложений я буду использовать платформы Microsoft Robotics Developer Studio 4 (MRDS 4) и National Instruments LabVIEW (NI LabVIEW). Будут рассматриваться и реализовываться задачи автоматического и автоматизированного управления мобильными роботами. Двигаться мы будем от простого к сложному. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/6ca/e98/fae/6cae98faeea742b6a1955d5de7d50cfd.jpg
[2]: http://habrahabr.ru/post/274519/#habracut

[>] Восход разработчикономики
habra.15
habrabot(difrex,1) — All
2016-01-05 03:30:02




> ###### **От переводчика**
>
> Почитывая несколько лет назад журнал "
>
> [Форбс][1]
>
> ", я наткнулся на статью, которую нашёл крайне интересной. Ну, знаете как бывает — читаешь, читаешь, и на каждом абзаце воскликаешь: «О! Це ж про меня!». Не мог поверить, что я один такой, и никто не сподобится уж если не перевести, то хотя бы сослаться на неё в русскоязычной прессе. Однако за четыре года этого так и не произошло. Ну что ж, «хочешь сделать что-то правильно — сделай это сам», посему предоставляю вниманию почтенной публики первую половину статьи. (Стараюсь переводить художественно, поэтому работа двигается небыстро; размер оригинала — больше 30 килобайт, и, «земную жизнь пройдя до половины», я понял, что
>
> [держаться нету больше сил][2]
>
> .)
>
>
>
>
>
> P.S. Так и не смог разобраться, как поставить в заголовке тег «перевод».



#### **Восход разработчикономики**

В эволюционной биологии существует теория, согласно которой взаимный альтруизм и сотрудничество возникли как решение проблемы хранения еды. Если вам, раннему гоминиду, подфартило завалить крупного мамонта, у вас не было ни малейшего шанса схарчить его целиком до того, как он протухнет. Тогда вы делились едой: лучшим вложением для избыточного капитала было вложение в желудок вашего приятеля. В этом случае вы могли потребовать возврата вклада в тот раз, когда мамонта завалит уже этот самый приятель. В последнее время я размышлял над этой идейкой в контексте человеческого богатства. Если только вы не являетесь профессиональным инвестором (а даже если и являетесь), в настоящее время находить места для хранения избытка капитала, где он бы был в безопасности и не амортизировался слишком быстро (не говоря уже о принесении дохода) становится всё сложнее и сложнее. Фондовый рынок всё чаще навевает мысли о кровавом пиршестве “медведей”. Волатильность и неожиданные кратковременные ралли делают игру с короткими позициями небезопасной. Даже хранение активов в долларах, похоже, таит свои опасности — благодаря угрозе девальвации и всяким новомодным словечкам вроде «количественного смягчения», которые мы, среднестатистические инвесторы, слышим впервые. Евро сейчас тоже не смотрится как радужная альтернатива. Решение инвестировать в золото — и вообще в любое сырьё — кажется, требует несколько апокалиптического взгляда на мир, и размышлений о том, как вы планируете получить доступ к собственно предмету владения в случае, если всё и правда полетит в тартарары (хочется отметить, что в настоящий момент не могу назвать такой взгляд на мир так уж неоправданным). Но есть одна тихая гавань — если вы знаете, как в неё вложиться: разработчики ПО. [Читать дальше →][4]

[1]: http://www.forbes.com/
[2]: https://www.youtube.com/watch?v=ipc99Nm7QgA
[3]: http://onforb.es/rM6Ir8
[4]: http://habrahabr.ru/post/270267/#habracut

[>] Анимация падающего снега на Canvas эффективнее анимации на DOM в несколько раз
habra.15
habrabot(difrex,1) — All
2016-01-05 17:30:03


ещё зима, предлагаю устроить хакатончик по реализации лучших алгоритмов на канвасе и их аналогов на DOM, взяв за основу в основном древние нативные алгоритмы, которые как максимум обёртывались в плагин jQuery, чтобы было удобно подключать. Большая часть этих алгоритмов не соразмеряет нагрузку на процессор или сделана неэффективно, поэтому даже при малом числе снежинок грузят процессор на 100%. [Вот пример обзорной статьи][3], где рассмотрены более 10 реализаций, не все, встречающиеся в природе. В дополнение, рассмотрим несколько избранных, чтобы получить задел на развитие алгоритма и реализацию его с хорошей эффективностью (получится ещё 5-6 вариантов). На этой основе можно построить доработку. [подробности][4]

[1]: https://habrastorage.org/files/dfa/01c/6af/dfa01c6af10147b49e7fcacc7da23c54.png
[2]: http://spmbt.github.io/snowfalls/jSnowMultiWin.htm
[3]: http://www.jqueryrain.com/2012/04/top-jquery-snow-falling-effect-plugin-tutorial-with-example/
[4]: http://habrahabr.ru/post/274535/#habracut

[>] Jii 0.8: Миграции, ReactViews, изоморфное приложение и прочие плюшки
habra.15
habrabot(difrex,1) — All
2016-01-05 20:00:03


Привет всем жителям и гостям хабра и с новым годом! :) В этой статье я хочу рассказать о том, с какими фичами Jii вступил в 2016-й год и что его в ждет в новом году.



Итак, начнем по порядку. [Читать дальше →][1]

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

[>] [Перевод] Создание функции на Rust, которая возвращает String или &str
habra.15
habrabot(difrex,1) — All
2016-01-05 20:30:02




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

[![КДПВ][1]][2] Это последняя статья из цикла про работу со строками и памятью в Rust от Herman Radtke, которую я перевожу. Мне она показалась наиболее полезной, и изначально я хотел начать перевод с неё, но потом мне показалось, что остальные статьи в серии тоже нужны, для создания контекста и введения в более простые, но очень важные, моменты языка, без которых эта статья теряет свою полезность.

----

Мы узнали как [создать функцию, которая принимает String или &str][3] ([англ.][4]) в качестве аргумента. Теперь я хочу показать вам как создать функцию, которая возвращает `String` или `&str`. Ещё я хочу обсудить, почему нам это может понадобиться. [Читать дальше →][5]

[1]: https://habrastorage.org/files/6b8/cb6/a67/6b8cb6a67c1a45e7b803703a89846a2f.png "КДПВ"
[2]: http://habrahabr.ru/post/274565/
[3]: http://habrahabr.ru/post/274455/
[4]: http://hermanradtke.com/2015/05/06/creating-a-rust-function-that-accepts-string-or-str.html
[5]: http://habrahabr.ru/post/274565/#habracut

[>] Google исправила уязвимости в Android
habra.15
habrabot(difrex,1) — All
2016-01-06 07:00:03


Google выпустила обновление безопасности для Android _Nexus Security Bulletin — January 2016_, которое закрывает 12 уязвимостей в этой мобильной ОС. Одна из исправленных уязвимостей CVE-2015-6636 (_Remote Code Execution Vulnerability in Mediaserver_) относится к типу Remote Code Execution (RCE) и позволяет злоумышленникам удаленно исполнить код с повышенными привилегиями в Android с использованием вредоносного мультимедийного файла. Для доставки этого файла может быть использовано MMS-сообщение или фишинговый веб-ресурс для браузера. Еще четыре критические уязвимости относятся к типу Elevation of Privilege (EoP) и позволяют атакующим повысить привилегии своего кода в системе до уровня ядра ОС. ![][1] Другие две уязвимости относятся к типу High, одна из них CVE-2015-6641 в компоненте Bluetooth позволяет атакующему подключиться по беспроводному подключению к устройству и получить доступ к личной информации пользователя. Другая уязвимость CVE-2015-6642 типа Information Disclosure в ядре позволяет обойти встроенные механизмы безопасности Android и получить повышенные привилегии в системе. [Читать дальше →][2]

[1]: https://habrastorage.org/files/f95/f81/3fa/f95f813fa42049e6a6c973b85ff5b000.png
[2]: http://habrahabr.ru/post/274559/#habracut

[>] Некоторые современные подходы в области обработки естественного языка
habra.15
habrabot(difrex,1) — All
2016-01-06 11:00:02


Результаты научных исследований, полученные в последние годы в задачах [распознавания речи][1] [1], машинного перевода [2], определения оттенка предложения [3] и [частей речи][2] [4] показали перспективность нейросетевых алгоритмов глубокого обучения в сравнении с классическими методами обработки естественного языка (natural language processing). Однако, в области [вопросно-ответных][3] и [диалоговых][4] систем еще остается много нерешенных задач [5, 6]. В данной статье дан обзор результатов применения современных алгоритмов для задач обработки и понимания естественного языка. Обзор содержит описание нескольких разных подходов и не претендует на полноту исследований. ![][5] **Human**: _how many legs does a cat have ?_ **Machine**: _four, i think ._ **Human**: _What do you think about messi ?_ **Machine**: _he ’s a great player ._ **Human**: _where are you now ?_ **Machine**: _i ’m in the middle of nowhere ._ (из [статьи][6] _A Neural Conversational Model_. КДПВ из фильма Ex Machina) [Читать дальше →][7]

[1]: http://arxiv.org/abs/1412.5567
[2]: http://arxiv.org/abs/1506.07285
[3]: http://arxiv.org/abs/1511.08130
[4]: http://arxiv.org/abs/1512.05742
[5]: https://habrastorage.org/files/2f7/bc7/6f1/2f7bc76f1dbd4a899265afe4813de4de.jpg
[6]: http://arxiv.org/pdf/1506.05869v3.pdf
[7]: http://habrahabr.ru/post/274577/#habracut

[>] [Перевод] Итоги 2015-го года для C++
habra.15
habrabot(difrex,1) — All
2016-01-06 13:30:03


![][1]Возможно, я скажу банальную вещь, но прошедший год был хорошим годом для С++! Просто факты:

* Вышла Visual Studio 2015 с отличной поддержкой возможностей С++14/17 и даже нескольких экспериментальных вещей
* Вышел долгожданный GCC 5.0
* С++ набрал серьёзную популярность. Где-то с июля — третье место в Tiobe Ranking
* На конференции CppCon 2015 было сделано несколько важных анонсов

А теперь об этом и другом немного подробнее [Читать дальше →][2]

[1]: https://habrastorage.org/files/b11/a45/65c/b11a4565ce1844c4ba6bd6a18a8eabab.png
[2]: http://habrahabr.ru/post/274549/#habracut

[>] На следующей неделе Microsoft прекращает поддержку всех версий IE, кроме 11
habra.15
habrabot(difrex,1) — All
2016-01-06 15:30:05


12 января корпорация Microsoft [прекращает поддержку][1] Internet Explorer версий 8, 9 и 10. Прежде, чем полностью прекратить поддержку устаревших версий своего обозревателя, компания выпускает финальный патч. После этого указанные версии Internet Explorer более не будут получать обновления безопасности или техническую поддержку. В [недавнем патче][2] исправляются несколько новых проблем, плюс добавляется уведомление «End of Life», которое предлагает пользователям переходить на IE 11 или Microsoft Edge — следующую версию браузера корпорации. [Читать дальше →][3]

[1]: https://www.microsoft.com/en-us/WindowsForBusiness/End-of-IE-support?tduid=%28152800698a41e035097041fc5f7e78c3%29%28190947%29%281929404%29%28skim66960X1514734X6f64dcb219dfa13758ce89ea999485cd%29%28%29
[2]: https://support.microsoft.com/en-us/kb/3123303?sd=rss&spid=14019
[3]: http://habrahabr.ru/post/274595/#habracut

[>] [Из песочницы] Universal Memcomputing Machines как альтернатива Машине Тьюринга
habra.15
habrabot(difrex,1) — All
2016-01-06 16:00:03


_Данную статью можно считать вольным переводом (хотя скорее попыткой разобраться) [данной статьи][1]. И да, написанна она скорее для математиков, нежели для широкой аудитории._ _Небольшой спойлер: в начале это казалось мне какой-то магией, но потом я понял подвох…_ В наши дни машина Тьюринга (далее МТ) — универсальное определение понятия алгоритма, а значит и универсальное определение «решателя задач». Существует множество других моделей алгоритма — лямбда исчисление, алгорифмы Маркова и т.д., но все они математически эквивалентны МТ, так что хоть они и интересны, но в теоретическом мире ничего существенно не меняют. Вообще говоря, есть другие модели — Недетерминированная машина Тьюринга, Квантовые машины Тьюринга. Однако они (пока) являются только абстрактными моделиями, не реализуемые на практике. Полгода назад в Science Advances вышла интересная [статья][2] с моделью вычислений, которая существенно отличается от МТ и которую вполне возможно реализовать на практике (собственно статья и была о том, как они посчитали задачу SSP на реальном железе). И да. Самое интересное в этой модели то, что, по заверению авторов, в ней можно решать (некоторые) задачи из класса NP полных задач за полином времени и памяти. [Читать дальше →][3]

[1]: http://arxiv.org/abs/1405.0931
[2]: http://advances.sciencemag.org/content/1/6/e1500031
[3]: http://habrahabr.ru/post/274593/#habracut

[>] [Из песочницы] Настройка logrotate + доступ для сбора логов по SFTP
habra.15
habrabot(difrex,1) — All
2016-01-06 16:00:03


У меня стояла задача: настроить сжатие логов DNS сервера Unbound, с возможностью удобного сбора этих бэкапов в коллектор. Также требовалось ограничить права доступа, чтобы с коллектора можно было зайти только в дирректорию, где хранятся бэкапы логов. Указанные действия проводил на CentOS 7 Minimal и CentOS 6.6 Minimal. [Читать дальше →][1]

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

[>] [Перевод] Незаметные достоинства регулярных выражений в Python
habra.15
habrabot(difrex,1) — All
2016-01-06 16:30:06


![image][1] В стандартной библиотеке Python есть немало кошмарных модулей, но этого нельзя сказать о модуле re. Несмотря на его преклонный возраст и многолетнее отсутствие обновлений, я считаю этот модуль одним из лучших среди всех динамических языков. Python — один из немногих динамических языков, в которых отсутствует встроенная поддержка регулярных выражений, но это компенсируется проработанной базовой системой (с точки зрения API). В то же время он весьма причудлив. К примеру, поведение написанного на Python парсера может вас удивить. Если вы попытаетесь в ходе импорта профилировать Python, то, скорее всего, 90% времени вы проведёте в работе с модулем re. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/37b/b56/e2e/37bb56e2e5bfab9ee28b6030bb6ad02e.png
[2]: http://habrahabr.ru/post/274349/#habracut

[>] [Из песочницы] Eddystone и Physical Web: эволюция биконов
habra.15
habrabot(difrex,1) — All
2016-01-06 18:00:04


![][1] Меня зовут Алекс, я Android-разработчик в компании Touch Instinct. Недавно Google пригласил меня в жюри на хакатон BaumanHack. Я подготовил доклад о специфике Eddystone и Physical Web, делюсь основными тезисами. [Читать дальше →][2]

[1]: https://habrastorage.org/files/435/77d/b2b/43577db2bee240d6a5df0646b29769aa.png
[2]: http://habrahabr.ru/post/274585/#habracut

[>] Дайджест по итогам 2015 года
habra.15
habrabot(difrex,1) — All
2016-01-06 20:00:04


![][1] Мы решили поздравить всех читателей блога с наступившим Новым годом и подвести итоги прошедшего. Конец 2015 года ознаменовался круглыми числами — 6000-й билд в SVN и 5000-й участник группы [https://vk.com/kolibri\_os][2] социальной сети ВКонтакте. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/332/ac0/97c/332ac097cb7bfba245943a942c69f564.png
[2]: https://vk.com/kolibri_os
[3]: http://habrahabr.ru/post/274487/#habracut

[>] [Перевод] Почему функциональное программирование — мейнстрим?
habra.15
habrabot(difrex,1) — All
2016-01-07 00:30:04


Функциональное программирование вряд ли можно назвать новым явлением. Еще в начале 90-х, когда я учился в университете, нам нередко приходилось писать что-то на LISP. Казалось бы, 25 лет прошло – но ведь уже тогда этот язык программирования был старше меня. Преимущества функционального программирования давно признаны широкой общественностью. Успешное развитие программного обеспечения нередко сводится к максимальному упрощению существующих механизмов, которые позволяют новым приложениям приспособиться к требованиям современных пользователей. А заодно приходится спешить, успевая в сжатые сроки представлять потребителям продукцию с неограниченными возможностями. Гораздо проще справиться с поставленной задачей, когда разрабатываемые приложения можно условно разделить на несколько чистых функций, проверить которые не составляет труда. В таких алгоритмах нет каверзных побочных эффектов и абстрактных формулировок, рассчитанных на результаты в глобальном масштабе. Но, похоже, ни один функциональный язык не претендует на звание общепризнанного. Я имею в виду своеобразную всемирную гегемонию C в 70-х, который позже передал корону C ++, Java, а со временем и JavaScript. Ни один из претендентов второго эшелона (Python, PHP, Perl, Ruby, C# ...) не попадал в категорию функциональных. [Читать дальше →][1]

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

[>] [Перевод] Инструменты для взлома, мелькавшие в сериале Mr Robot
habra.15
habrabot(difrex,1) — All
2016-01-07 07:00:03


![image][1] Всё время, пока в Голливуде снимали фильмы про хакеров, самым популярным инструментом для «взлома» была утилита nmap. Когда продюсеры фильма пытались добавить немного реалистичности, на экране компьютеров мелькал вывод nmap. Вроде бы первой отличилась Тринити из фильма «Матрица». Также эта утилита появлялась в Elysium, The Bourne Ultimatum, Die Hard 4 и других киношках. ![image][2] Первый сезон Mr Robot получил одобрение от специалистов по безопасности за попытки реалистичного показа работы хакеров. В показанных эпизодах хакеры общались через IRC, использовали виртуальные машины Linux, а главный герой ходил в толстовке с капюшоном. Естественно, поскольку это телешоу, создателям пришлось проявить толику творчества. И пока им удаётся сохранять неплохой баланс между повествованием и реальными техническими возможностями. Кратко рассмотрим увиденные нами в сериале средства для взлома.

#### Kali Linux

![image][3] Несколько раз можно видеть использование дистрибутива Kali Linux – операционки, изначально снабжённой инструментами для проникновения и тестирования безопасности систем. Если вам интересна тема сетевой безопасности – скачивайте её себе и начинайте пробовать. Естественно, только в учебных целях. Не взламывайте чужие компьютеры – это незаконно! [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/fb4/97f/2ad/fb497f2adb1f06ce5ef498dd2227abfa.png
[2]: https://habrastorage.org/getpro/habr/post_images/027/7a3/706/0277a3706f1f40e0e5abe0c943278cff.png
[3]: https://habrastorage.org/getpro/habr/post_images/0e9/496/c35/0e9496c350a513fda2fb9ebd1eb26d57.png
[4]: http://habrahabr.ru/post/274621/#habracut

[>] Немного сахара в комбинаторике
habra.15
habrabot(difrex,1) — All
2016-01-07 16:30:02


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

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

[>] [Из песочницы] Охота на грызунов под Linux
habra.15
habrabot(difrex,1) — All
2016-01-07 19:00:03


Существует масса средств мониторинга операционной системы, но особый смысл имеет задача отловить момент возникновения проблемы и поймать причину высокой нагрузки или источник проблем c производительностью. Я называю это охотой на «грызунов» ресурсов. Для этого я сочинил для себя несложный скрипт **ratskill.sh** который вы сможете модифицировать под свои системы и задачи. Принцип работы несложный — скрипт запускается с заданной периодичностью, проверяет уровень Load Average (вы можете использовать другие контрольные параметры) и в случае превышения заданной величины скрипт выполняет заданный набор диагностических команд с созданием отчета который высылается на указанный вами почтовый адрес. [Читать дальше →][1]

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

[>] [Из песочницы] «Иная» логика и обратимые вычисления
habra.15
habrabot(difrex,1) — All
2016-01-08 00:00:03


![камень-ножницы-бумага (на ауребеш)][1] В конце прошлого года Google Translate к выходу нового эпизода «Звёздных войн» добавил поддержку «Галактического языка» Ауребеш. Правда оказалось, что при выборе этого языка просто происходит перевод на английский. Если использовать Chrome или Firefox, то появляется шрифт, в котором вместо латиницы подставлены символы ауребеш, ну а в IE без особых хитростей выводится английский текст. Начал вспоминать другие примеры создания «языков чужаков». Например, язык Клингонов из «Звёздного пути» тоже основан на латинице, но при этом достаточно проработан, имеет свой синтаксис и словарь. Языки народов Средиземья из «Властелина колец» – вообще отдельная история. А ещё существуют такие языки, как Линкос, специально разработанный Гансом Фройденталем для межпланетного общения и основанный на предположении, что математика является универсальным языком общения для любых разумных существ. [Читать дальше →][2]

[1]: https://habrastorage.org/files/cea/a3e/eeb/ceaa3eeeb2bf4d5c8257dc396ad7ed06.jpg
[2]: http://habrahabr.ru/post/274645/#habracut

[>] PROLOG для программистов
habra.15
habrabot(difrex,1) — All
2016-01-08 04:00:03


Язык логического программирования PROLOG (далее – ПРОЛОГ) большинству программистов представляется чем-то запутанным и малопригодным для практического применения. В то же время, Интернет основан на символьной информации, поэтому практически все современные программисты сталкиваются с необходимостью обрабатывать символьные структуры данных, а ведь для этого и предназначен язык логического программирования ПРОЛОГ. Этот язык – идеальный для работы с символьными структурами, текстовыми файлами и для построения интеллектуальных программ. [Читать дальше →][1]

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

Pages: 1 ... 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37