RSS
Pages: 1 ... 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 ... 133
[>] [Из песочницы] WiFi колонка/плеер на базе Orange Pi Zero или история о потерянном времени
habra.16
habrabot(difrex,1) — All
2017-11-04 03:00:05


Доброго дня уважаемым хабровчанам!


### Предыстория


История моя началась с того, что по просьбе одного друга нужно было сделать небольшое программируемое устройство с выводом звука и GPIO. Давно хотел поработать с каким-либо одноплатником \*Pi и потому сразу решил делать на чем-то подобном (результат + опыт). Друг почти сразу отказался от предложенного проекта, ну а я оказался с купленной платой OrangePi Zero. Некоторое время провалялась она без дела, пока не отдали мне старый МФУ Canon MX320 без поддержки сети. Мне очень не хотелось иметь лишний провод от ноутбука к принтеру, и в результате апельсинка была извлечена, настроена и работает с тех пор в качестве CUPS сервера по USB (результат, кстати, хороший, но это уже совсем другая история).


### Завязка


Однажды надоело мне вечно подключать через minijack мой телефон к колонкам. Стоят они хорошо, удобно, и переносить их неохота. А телефон, вечно висящий на линейнике- это уже не мобильный телефон, а что-то похожее на старые проводные аппараты. Ноутбук у меня тоже стоит так, что подключать к нему кабель к колонкам было бы неудобно. Да и сама машинка старая (10 лет уже), лишний аудиоплеер — лишняя нагрузка.

Можно, конечно же, купить bluetooth-колонки. Или bluetooth-адаптер. Но это значит малый радиус действия и проигрывание музыки только на том устройстве, с которым по bluetooth связан телефон. Надо что-то посерьезнее. «Здорово было бы повесить такой сервер на апельсинку, который мог бы принимать аудиопоток с смартфона по WiFi, — подумал я, — ведь она постоянно подсоединена по ethernet к роутеру, малонагружена (так как стоит на ней Ubuntu Server 16.04), разместить можно удобно, электричества потребляет мало.» Сказано — сделано.
[Читать дальше →][1]

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

[>] [Перевод] Обход предупреждений браузера с помощью псевдопарольных полей
habra.16
habrabot(difrex,1) — All
2017-11-04 13:30:05


Кажется, человеческой изобретательности нет предела, если нужно обойти какое-то ограничение. Например, нужно подключить устройство к розетке в центре надувного бассейна — ничего не получится, правильно? Неправильно!

![][1]
Или потушить пожар с другой стороны железнодорожных путей. И _очень_ нужно протянуть туда гидрант, но нельзя останавливать поезда — какие есть варианты? Никаких? Опять неправильно!

![][2]

Заметили тенденцию? Давайте распространим её на цифровой мир и немного поговорим о HTTPS.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/271/9a0/ae0/2719a0ae0eca8a5cdbf723a57969f90d.jpg
[2]: https://habrastorage.org/getpro/habr/post_images/1d4/06a/c20/1d406ac205f0c6feedbec1a6a6f3d8be.jpg
[3]: https://habrahabr.ru/post/341664/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Телеграм-бот для домашнего видео-наблюдения из подручных материалов
habra.16
habrabot(difrex,1) — All
2017-11-04 19:00:06


**Disclaimer**



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



**Постановка задачи**



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


* [RaspberryPi 3 model B][1]
![image][2]
* [Вебкамера Logitech C270][3]
![image][4]
* [Карта памяти Kingston microSDHC 16 Гб][5]
* Некоторое количество проводов и адаптеров

Из всего перечисленного, было решено построить систему домашнего видео-наблюдения с функционалом оповещения о вторжении. В качестве платформы был выбран телеграм-бот. Бот имеет следующие преимущества перед другими возможными реализациями (веб, мобильное приложение):


* Не требуется установки дополнительного клиентского ПО
* Серверная часть может работать с приватным IP адресом через NAT, при этом предъявляются минимальные требования к подключению (вплоть до 3G модема)
* Большая часть инфраструктуры находится на стороне сервис-провайдера, который за меня решил вопросы авторизации, безопасности итп...

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

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

[1]: https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
[2]: https://www.raspberrypi.org/app/uploads/2017/05/Raspberry-Pi-3-462x322.jpg
[3]: https://www.logitech.com/ru-ru/product/hd-webcam-c270
[4]: https://andpro.ru/upload/resize_cache/iblock/a6e/340_340_140cd750bba9870f18aada2478b24840a/57e68731-046f-11e6-80c8-001e67d1aaeb_3fbe37f0-04b2-11e6-80c8-001e67d1aaeb.png
[5]: https://www.kingston.com/ru/flash/microsd_cards/sdc4
[6]: https://habrahabr.ru/post/341678/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 44: тихая охота, или Carbanak в помощь, зачем Firefox функции Tor Browser, лазейка в Google-«баганайзер»
habra.16
habrabot(difrex,1) — All
2017-11-04 20:00:06


Кто не знает Carbanak? Несколько лет назад эти ловкие ребята умело увели, по некоторым данным, до миллиарда долларов из доброй сотни банков России, Украины, США и даже Японии. Наши эксперты [выявили группу злоумышленников под кодовым именем Silence][1], которая старательно копировала лучшие техники Carbanak в попытках добраться банковских счетов.

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

[1]: https://threatpost.ru/rossijskie_banki_atakuet_silence/23053
[2]: https://habrahabr.ru/post/341644/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] У вас есть синдром ученика?
habra.16
habrabot(difrex,1) — All
2017-11-04 23:00:04


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

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

![][1]
_Источник: _
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/8e2/bf4/688/8e2bf4688afcc4d38ce642e2822d342a.png
[2]: https://habrahabr.ru/post/341672/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Тестирование debian пакетов в Travis-CI
habra.16
habrabot(difrex,1) — All
2017-11-05 07:30:03


Возникла передо мной такая задача: тестирование debian пакета. И требования:


* пакет устанавливает и стартует systemd сервис.
* используются native armhf библиотеки

Тестирование должно включать в себя:


* установка пакета на чистую систему: проверка наличия зависимостей
* запуск: проверка зависимостей в рантайме
* тестирование запущенного приложения: проверка prod конфигурации

![][1]

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

[1]: https://habrastorage.org/webt/1t/on/mh/1tonmhzpsbqtt5yqf6sxnpumnk8.png
[2]: https://habrahabr.ru/post/341674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Инверсия зависимостей в мире фронтенда. Лекция Яндекса
habra.16
habrabot(difrex,1) — All
2017-11-05 15:30:04


Паттерны [инверсии контроля][1] (dependency inversion, DI) известны уже давно, но пока не нашли широкого распространения в мире фронтенда. Этот доклад отвечает на вопрос о том, как за счет возможностей JS построить надежную архитектуру на основе DI-контейнера. Автор доклада — Евгений [ftdebugger][2] Шпилевский, руководитель группы разработки интерфейсов в Яндекс.Картинках.


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

[1]: https://en.wikipedia.org/wiki/Dependency_inversion_principle
[2]: https://habrahabr.ru/users/ftdebugger/
[3]: https://habrahabr.ru/post/341710/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Что мы расскажем на Highload++ 2017
habra.16
habrabot(difrex,1) — All
2017-11-05 18:00:05


![][1]



2 700 участников из разных регионов России и мира, 150 докладчиков, более десяти залов, 2 дня на крупнейшей площадке «Сколково» — это всё о конференции [Highload++][2], на которой мы с вами, возможно, встретимся. У нас большой десант в разных секциях, будут не только традиционные выступления, но и мастер-классы.



Составили для вас расписание выступлений от Mail.Ru Group — без малого 18 спикеров! Расскажем о технологиях детектирования и распознавания, создании базы данных и миграции без даунтайма, написании платформы потокового видео, защите от DDoS, новом о Tarantool и о многом другом.



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

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

[1]: https://habrastorage.org/webt/jm/oc/p-/jmocp-mkkdypegs5syeu8jhl_7g.jpeg
[2]: http://www.highload.ru
[3]: https://habrahabr.ru/post/341720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Гибкая система управления доступом на уровне объектов-записей
habra.16
habrabot(difrex,1) — All
2017-11-06 00:30:05


Привет всем!



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



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



Для наиболее дотошных, далее приведены детали устройства системы, ее внутренней логики и порядка обращения с ней.

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

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

[>] ScadaPy — использование OPC UA
habra.16
habrabot(difrex,1) — All
2017-11-06 02:30:05


В предыдущих нескольких статьях, мною были описаны возможности применения протокола modbus для создания собственной Scada системы на базе python. В этот раз хочется поделиться опытом построения системы опроса подчиненных устройств с использованием ОРС технологии.
Недостатки OPC серверов в том, что их можно использовать только в операционных системах семейства Microsoft Windows (как правило они платные), а об устройствах использующих ОС Linux можно было забыть.

Но со временем была создана спецификация OPC Unified Architecture (англ. Унифицированная архитектура OPC), что дало возможность использовать данную технологию передачи данных на иных операционных системах отличных от Windows. Это касается и встраиваемых систем, где может быть запущен полноценный Linux.

Подробнее можно прочитать [здесь.][1]
[Читать дальше →][2]

[1]: https://ru.wikipedia.org/wiki/OPC_UA
[2]: https://habrahabr.ru/post/341728/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Узнаю! Узнаю брата Колю!» — реалии современной информационной безопасности в сфере беспроводных технологий
habra.16
habrabot(difrex,1) — All
2017-11-06 06:30:03


Бороздя несметные просторы интернета неоднократно натыкался я на недовольные отзывы пользователей бесплатной Wi-Fi сети московского метрополитена «MT\_FREE». Проблема заключалась в том (впрочем, воз и ныне там), что Wi-Fi сети наземного городского транспорта носили такое же название, как и в подземке. Представьте себе ситуацию: идёте вы куда-нибудь, музыку слушаете, никого не трогаете и тут бдыщ — пред вами откуда ни возмись возникает автобус; ваш же телефон замечает знакомую ему Wi-Fi сеть и, донельзя довольный своей находчивостью, (к вам, конечно же, не вопрошая) скороспешно подключается к оной. Вместо музыки теперь вы слышите лишь ехидное тарахтение уходящего вдаль автобуса.

![][1] [Знакомая ситуация?][2]

[1]: https://habrastorage.org/webt/cu/_q/-y/cu_q-yh2177sspkfqwczdtjyirw.jpeg
[2]: https://habrahabr.ru/post/341116/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Создаём собственный физический 2D-движок
habra.16
habrabot(difrex,1) — All
2017-11-06 16:30:05


![image][1]




## Часть 2: ядро движка.


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

----


## Введение


В предыдущем посте я рассмотрел тему [разрешения импульсов силы][2]. Прочитайте сначала его, если вы ещё это не сделали!

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

[1]: https://habrastorage.org/getpro/habr/post_images/98f/e3e/dd6/98fe3edd6e8e2638333e020656891dd6.png
[2]: https://habrahabr.ru/post/336908/
[3]: https://habrahabr.ru/post/341540/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как я нашел уязвимости в системе баг-трекинга Google и получил $15,600
habra.16
habrabot(difrex,1) — All
2017-11-06 16:30:05


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

Поэтому я сразу начал пытаться взломать его.

![image][1]

Так что же это за сайт? Согласно документации, Tracker Issue (также называемая Buganizer System) — это инструмент, используемый компанией Google для отслеживания ошибок и запросов о добавление новых фич во время разработки продукта. Он доступен за пределами Google для использования общественностью и пользователями-партнерами, которым необходимо сотрудничать с командой Google по конкретным проектам.

Другими словами, когда у кого-то проблема (issue) с продуктом Google, он идет в баг-трекер. Имеет смысл, не так ли? Мы, как внешние пользователи, видим только верхушку айсберга: небольшой набор предварительно одобренных категорий и проблем, связанной с добавлением сотрудником Google внешней учетной записи, например, сообщения об уязвимостях. Но сколько информации лежит под поверхностью?

![image][2]
Наблюдая за ID, назначенных на последние опубликованные баги, мы можем легко оценить, сколько применения этот инструмент получает изнутри. В рабочие часы в Mountain View открывается около **2000-3000 проблем** за час. Похоже, утечка данных из этой системы будет иметь большую ценность. Давайте взломаем ее!
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/b7b/e1c/674/b7be1c6741d34de67d491d33de78b7f6.jpg
[2]: https://habrastorage.org/getpro/habr/post_images/461/965/c49/461965c495fa28cd52cedd543cdc6c2f.png
[3]: https://habrahabr.ru/post/341752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Видео на электронной книжке. Попытка использовать е-link reader в качестве второго монитора в linux
habra.16
habrabot(difrex,1) — All
2017-11-06 18:00:05


Данное сочинение навеяно вот [этой публикацией][1] за 2012 год, в которой изложен отличный способ избежать покупки пока единственного существующего в мире usb-монитора на жидких чернилах очень высокой стоимости. Марку, модель и цену озвучивать не буду, да и времени добавление звукового файла к статье много отнимет. Если читать историю ночных экспериментов желания нет, то в конце страницы есть видео с результатом.

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

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

[>] [recovery mode] Видео на электронной книжке. Попытка использовать е-ink reader в качестве второго монитора в linux
habra.16
habrabot(difrex,1) — All
2017-11-06 18:30:13


Данное сочинение навеяно вот [этой публикацией][1] за 2012 год, в которой изложен отличный способ избежать покупки пока единственного существующего в мире usb-монитора на жидких чернилах очень высокой стоимости. Марку, модель и цену озвучивать не буду, да и времени добавление звукового файла к статье много отнимет. Если читать историю ночных экспериментов желания нет, то в конце страницы есть видео с результатом.


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

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

[>] Как я научился перезагружаться в нужную ОС через UEFI
habra.16
habrabot(difrex,1) — All
2017-11-06 20:30:04


Добрый вечер, Habrahabr,
Сегодня мы научимся перезагружаться из Linux прямиком в Windows и обратно всего за один (двойной) клик.
![image][1]

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

[1]: https://habrastorage.org/webt/ow/go/zu/owgozuczrg6wtkkdotynv4hds5k.jpeg
[2]: https://habrahabr.ru/post/341766/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я научился напрямую перезагружаться в нужную ОС через UEFI
habra.16
habrabot(difrex,1) — All
2017-11-06 22:30:06


Добрый вечер, Habrahabr!



Сегодня мы научимся перезагружаться из Linux прямиком в Windows и обратно всего за один (двойной) клик.



![image][1]

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

[1]: https://habrastorage.org/webt/ow/go/zu/owgozuczrg6wtkkdotynv4hds5k.jpeg
[2]: https://habrahabr.ru/post/341766/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Альманах пакетных менеджеров Linux
habra.16
habrabot(difrex,1) — All
2017-11-07 04:00:06


Иногда может возникнуть вопрос: _чьих этот файл, откуда вообще взялась эта библиотека_? Удобный менеджер пакетов решает очень многие проблемы ОС. Можно с уверенностью сказать, что если вы подружитесь с МП, то подружитесь и с дистрибутивом как таковым. Причем важно освоить именно набор основных команд, и знать где найти дополнительную информацию.



![Управление пакетами][1]

Далее следует джентльменский набор необходимых для повседневной рутины команд основных Linux дистрибутивов: установить, обновить и удалить пакет, накатить обновления, проверить зависимости, установить принадлежность файла пакету и пр.

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

[1]: https://habrastorage.org/webt/qg/mf/k8/qgmfk8wfbe3o_1easvkp5l67v-c.png
[2]: https://habrahabr.ru/post/341764/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Unreal Engine: QuickStart в Qt Creator под Arch Linux
habra.16
habrabot(difrex,1) — All
2017-11-07 10:00:05


# Введение



В марте 2015 года Epic Games повернулась лицом к Open Source сообществу, предоставив бесплатный доступ к своему движку [Unreal Engine][1] версии 4 (установив лимит на прибыль от использования движка в 3000$ за квартал). Более того, [еще в 2014 году компания говорила о том][2], что поддержка свободных операционных систем, в частности Linux, является для неё одной из приоритетных задач.



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

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

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

[1]: https://www.unrealengine.com
[2]: https://www.unrealengine.com/en-US/blog/unreal-engine-4-and-linux
[3]: https://habrahabr.ru/post/341756/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Разработка высокоскоростного ведического умножителя с использованием техник ведической математики
habra.16
habrabot(difrex,1) — All
2017-11-07 10:00:05


![][1]

**Реферат**: Эта статья посвящена разработке высокоскоростного ведического умножителя, использующего технику древнееиндийской ведической математики, модифицированной для улучшения быстродействия.
Ведическая математика — это древняя система математики с уникальной системой вычислений, основанной на 16-и сутрах. В статье показана эффективность Урдхва Триагбхайам (Urdhva Triyagbhyam) — ведического метода умножения, и выделяется разница с обычным умножением. Метод основан на параллельной генерации независимых произведений, устранении шагов с нулевым результатом и масштабировании к старшим битам с использованием алгоритма Карацубы (Karatsuba), совместимого с различными типами данных. Сутра Урдхва Триагбхайам является самым эффективным алгоритмом, дающим минимальную задержку для умножения всех типов чисел, и больших, и малых. Далее приводится код алгоритма на Verilog HDL для умножения 32х32 бита и реализация на FPGA с помощью Xilinx Synthesis Tool на Spartan 3E с выводом результата на LCD. Синтез результата показывает, что время вычислений для произведения 32х32 бита равно 31.526 ns.
**Ключевые слова**: ведическая математика, сутра урдхва триагбхайам, алгоритм Карацубы-Офмана
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/ql/dm/r7/qldmr7x-u3-osjjwzrdtgreugrk.jpeg
[2]: https://habrahabr.ru/post/341286/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Народный мониторинг ESP8266 MQTT Micropython
habra.16
habrabot(difrex,1) — All
2017-11-07 11:00:05


Как быстро, без особых вложений, начать выкладывать метеоданные на народный мониторинг?
Опишу одно из решений на базе ESP8266.
[Читать дальше →][1]

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

[>] .NET Security — это просто
habra.16
habrabot(difrex,1) — All
2017-11-07 11:30:04


Представляем интервью с ведущими экспертами в области безопасности: Владимиром Кочетковым (руководителем отдела исследований анализа защищенности приложений в [Positive Technologies][1]) и Михаилом Щербаковым (независимым разработчиком и консультантом в области информационной безопасности).



О чем эта статья? Процитирую одну из реплик Михаила:



_“Разработка защищенного приложения – это частный случай разработки приложения, не содержащего ошибок вообще. Кроме этого ваше приложение использует сторонние библиотеки, защищенность которых тоже не гарантируется, далее оно выполняется на ОС и железе. Часто мы даже не можем сказать, на какой именно ОС и на каком железе. И все это со временем изменяется!”_



![][2]

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

[1]: https://habrahabr.ru/company/pt/
[2]: https://habrastorage.org/webt/ac/bk/ea/acbkeamaluqrssuln9o5rnblprc.png
[3]: https://habrahabr.ru/post/341792/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ARKit, Flutter, Core ML, анимации и многое другое на MBLTdev 2017
habra.16
habrabot(difrex,1) — All
2017-11-07 15:00:06


![][1]

Привет, Хабр! 27 октября состоялась 4-я Международная конференция мобильных разработчиков [MBLTdev 2017][2].

25 спикеров из **Google**, **Uber**, **Avito**, **Fyusion**, **Sharewire**, **Tinkoff**, **PSPDFKit**, **Agoda**, **Сбербанк** и других компаний выступили с докладами о последних трендах мобильной разработки и поделились собственным опытом и практикой. Главными темами конференции стали скорость и поддержка работы приложений, AR-взаимодействия, Core ML, анимации, Audio Unit Extension, организация работы в команде и многое другое. Как это было — читай под катом.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/m9/aa/xd/m9aaxddtsf1b660ymobkfb3dwlm.jpeg
[2]: https://mbltdev.ru/ru?utm_source=habr&utm_content=postrelease
[3]: https://habrahabr.ru/post/341630/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ONLYOFFICE против Collabora: почему мы уверены, что наше решение лучше
habra.16
habrabot(difrex,1) — All
2017-11-07 16:30:05


Здравствуйте!

Команда ONLYOFFICE возвращается на Хабр, как мы и обещали. Постараемся писать чаще и больше, и вообще держать вас в курсе событий. В последнее время нам есть что рассказать и показать.

Тему первой статьи подсказала нам сама жизнь. Не так давно наравне с вопросом: «А чем вы лучше Google Docs?» нам начали задавать вопрос «Ну и чем вы лучше Collabora?». Это связано с нашей интеграцией с сервисами ownCloud и Nextcloud, официальным партнером которых как раз таки является Collabora.

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

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

[1]: https://habrastorage.org/webt/tk/u9/kh/tku9khme8rxyfeo7fwci_aigpkw.jpeg
[2]: https://habrahabr.ru/post/341522/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Консольные помощники для работы с Kubernetes через kubectl
habra.16
habrabot(difrex,1) — All
2017-11-07 17:00:05


![image][1]
Kubectl — основной консольный интерфейс для взаимодействия с Kubernetes и, безусловно, важный инструмент в руках любого администратора/DevOps-инженера, причастного к эксплуатации таких кластеров. Если вы пользуетесь им каждый день и делаете это по-настоящему активно, то, как это свойственно ИТ-специалистам, наверняка задумывались о способах упрощения/автоматизации своих манипуляций. Благо, это мир сисадминов, Open Source и консоли, так что в нём, конечно, уже нашлись и те, кто не только задумывался об этом, но и воплотил свои потребности в жизнь — в виде утилит, доступных теперь и всем «коллегам по цеху». О них и пойдёт речь в этом небольшом обзоре. [Читать дальше →][2]

[1]: https://habrastorage.org/web/333/09c/284/33309c284f9f4bafb7fe8177fe3849f6.png
[2]: https://habrahabr.ru/post/341606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Полное руководство по написанию утилиты для Go
habra.16
habrabot(difrex,1) — All
2017-11-07 20:00:04


![][1]



Некоторое время назад я начал делать утилиту, которая упростила бы мне жизнь. Она называется **gomodifytags**. Утилита автоматически заполняет поля структурных тегов (struct tag) с помощью имён полей. Пример:


**Пример использования gomodifytags в vim-go**
![][2]


Эта утилита **облегчает управление** многочисленными полями структуры. Она умеет добавлять и удалять теги, управлять их опциями (например, omitempty), определять правила трансформации (_snake\_case, camelCase_ и пр.) и многое другое. Как эта утилита работает? Какие Go-пакеты она использует? Наверное, у вас есть много вопросов.



В этой очень длинной статье я подробно расскажу о том, как написать и собрать такую утилиту. Здесь вы найдёте много советов и хитростей, а также кода на Go.



Налейте кофе и начинайте читать!

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

[1]: https://habrastorage.org/webt/ji/t5/ik/jit5ikq3awfpuvm3-0oztkwp3z8.jpeg
[2]: https://habrastorage.org/webt/er/f3/vk/erf3vkcbbepu286dcplf_ffagyc.gif
[3]: https://habrahabr.ru/post/341822/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Веб пора спасать?
habra.16
habrabot(difrex,1) — All
2017-11-08 00:00:05


Последние пару лет у меня не проходит ощущение, что веб стремительно уступает место чему-то, что мне не нравится. Чему-то чем он быть не должен. Ощущение вполне субъективное, но на прошлой неделе я натолкнулся на [статью][1] Андре Стальца (André Staltz) под заголовком "Веб начал умирать в 2014. И вот как", которая подтверждает мои ощущения фактами. И вот что я думаю о причинах.

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

[1]: https://staltz.com/the-web-began-dying-in-2014-heres-how.html
[2]: https://habrahabr.ru/post/341772/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вжух и готово — генерируем документацию из TypeScript кода с Typedoc
habra.16
habrabot(difrex,1) — All
2017-11-08 10:00:04


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



Что у нас получилось — можно посмотреть [здесь][1].


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

[1]: https://docsvision.github.io/WebClient-JsDocApi/index.html
[2]: https://habrastorage.org/webt/tc/cs/of/tccsofxxtson5jzrecxubvjyy6a.jpeg
[3]: https://habrahabr.ru/post/341562/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как сделать в Zimbra черный и белый список
habra.16
habrabot(difrex,1) — All
2017-11-08 11:30:04


Сервисы RBL (Realtime Blackhole List) были первым эффективным средством борьбы со спамом. Они были устроены практически одинаково — имеется список «плохих» IP-адресов, доступ к которому осуществляется в реальном времени по протоколу DNS. Использующие RBL почтовые серверы в момент приема очередного сообщения запрашивают сервис (или несколько RBL-сервисов) о том, является ли IP-адрес отправителя письма «плохим», и, на основании ответа RBL, либо принимают, либо отвергают письмо. Большинство серверных почтовых программ в настоящее время могут работать с сервисами RBL.
![image][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/web/524/a74/d9d/524a74d9dc834ae581c7893fc079c693.png
[2]: https://habrahabr.ru/post/341804/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Анонс митапа ThinkPHP #15 в Харькове
habra.16
habrabot(difrex,1) — All
2017-11-08 12:30:05


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

[1]: https://habrastorage.org/webt/1u/od/_t/1uod_telokoatuk3b72jljhqpjm.png
[2]: https://habrahabr.ru/post/341872/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Рок это жёстко» или я.музыка как граф
habra.16
habrabot(difrex,1) — All
2017-11-08 13:30:07


![КДПВ][1]

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

[1]: https://habrastorage.org/web/413/ebc/8cd/413ebc8cd62745ae89c51b1b38dc58c9.png
[2]: https://habrahabr.ru/post/337216/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Предметно-ориентированные языки для бизнес-приложений — пользовательские интерфейсы
habra.16
habrabot(difrex,1) — All
2017-11-08 13:30:06


Эта статья 一 перевод [ статьи Domain-Specific Languages for Business Applications — Modelling User Interfaces][1]

Разработка бизнес-приложений связана с решением задач в различных предметных областях, таких как хранение данных, обработка бизнес-логики, проектирование интерфейса пользователя. Для прироста производительности и качества не хватит ни одного предметно-ориентированного языка (domain-specific language, DSL), ни нескольких, если они недостаточно интегрированы между собой. Значительные улучшения может принести лишь целостный подход, при котором согласованно применяются несколько DSL для моделирования решений в различных предметных областях.

В этой статье мы рассмотрим пример DSL, с помощью которого мы моделируем стандартизованные пользовательские интерфейсы для наших бизнес-приложений в [modellwerkstatt.org][2]. Логика, присущая DSL, позволяет визуализировать графы объектов полностью и в очень простом, декларативном виде. Мы покажем, насколько просто внедряется обычный код Java, с которым можно взаимодействовать, что обеспечивает дополнительную гибкость и безопасность, в частности типобезопасность. Указав на различие между внутренними и внешними DSL, мы перейдем к [JetBrains MPS][3] и сразу же рассмотрим наш DSL для интерфейсов пользователя. Наконец, мы приведем ряд общих соображений относительно взаимодействия DSL между собой и их расширения.
[Читать дальше →][4]

[1]: https://dzone.com/articles/domain-specific-languages-for-business-application
[2]: http://www.modellwerkstatt.org/
[3]: https://www.jetbrains.com/mps/
[4]: https://habrahabr.ru/post/341894/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Внедрение IdM. Часть 3.1. Понятно, что IdM нужен – что дальше? Цели, задачи, заинтересованные стороны
habra.16
habrabot(difrex,1) — All
2017-11-08 13:30:07


В [предыдущей части][1] нашего цикла статей мы рассказали, как определить, нужен ли компании IdM (т.е. управление доступом) и стоит ли внедрять IdM-решение. Определили, какие признаки указывают на то, что стόит над этим вопросом, как минимум, задуматься. Что дальше?

Есть несколько вещей, которые важно определить, чтобы приступить к работе над темой IdM:

1. Цели и задачи. Заинтересованные стороны.
2. Какие подходы и практики использовать при внедрении системы управления доступом сотрудников, какие процедуры и процессы вводить, как встраивать нужные операции в бизнес-деятельность компании?
3. Какие технические решения использовать (начиная от доменных политик и заканчивая IdM-решениями) и как определить, какой нужен функционал?
4. К кому идти за техническими решениями?
5. Как сформировать и обосновать бюджет? (Это самая интересная и животрепещущая тема)
6. Презентация руководству.
7. Что нужно учитывать при запуске проекта?
Итак, пойдем по пунктам.

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

[1]: https://habrahabr.ru/company/solarsecurity/blog/340960/
[2]: https://habrastorage.org/webt/59/dc/96/59dc9682cd187793220508.jpeg
[3]: https://habrahabr.ru/post/341796/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Распределённые реестры и информационная безопасность: от чего защищает блокчейн
habra.16
habrabot(difrex,1) — All
2017-11-08 13:30:06


Главные преимущества блокчейна — прозрачность проводимых транзакций и открытость. Это полезно при заключении контрактов и проведении сделок. Все участники процесса знают о шагах своих партнеров.

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

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

[1]: https://habrastorage.org/webt/ys/t6/9-/yst69-8gj16bcisohxl1avcngm0.jpeg
[2]: https://habrahabr.ru/company/bitfury/blog/341902/
[3]: https://habrahabr.ru/post/341902/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Глобальная теплокарта Strava: теперь в 6 раз горячее
habra.16
habrabot(difrex,1) — All
2017-11-08 14:00:05


Рад объявить о первом крупном обновлении глобальной тепловой карты в Strava Labs c 2015 года. Это обновление включает в себя в шесть раз больше данных, чем раньше —  в сумме 1 миллиард активностей со всей базы Strava по сентябрь 2017 года.

Наша глобальная теплокарта — самая крупная и подробная, и это самый прекрасный в мире набор данных такого рода. Это прямая визуализация активностей глобальной сети атлетов Strava. Чтобы дать представление о масштабе, то новая теплокарта включает в себя:

* 1 миллиард активностей
* 3 триллиона точек долготы/широты
* 13 триллионов пикселей после растрирования
* 10 терабайт исходных данных
* Общая дистанция маршрутов: 27 миллиардов километров
* Запись общего времени активности: 200 тысяч лет
* 5% земной суши покрыто тайлами
![][1]
_Тепловая карта Москвы демонстрирует функцию поворота/наклона в Mapbox GL_
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/c2c/d5c/364/c2cd5c36426735abb612719d5745e7bb.jpg
[2]: https://habrahabr.ru/post/341900/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Атака на Комиссию по ценным бумагам и биржам США: похищенные данные могут быть использованы для инсайдерской торговли
habra.16
habrabot(difrex,1) — All
2017-11-08 15:30:05


[![][1]][2]

Изображение: [Dave Center][3], [CC BY 2.0][4]

Комиссия по ценным бумагам и биржам (SEC) США [объявила][5] о том, что стала жертвой хакерской атаки. Злоумышленникам удалось проникнуть в систему для хранения документов торгующихся на бирже компаний, что потенциально могло дать им преимущество при совершении сделок на фондовом рынке. [Читать дальше →][6]

[1]: https://habrastorage.org/webt/83/be/of/83beofee8icpuvczd7mv0nar6ke.jpeg
[2]: https://habrahabr.ru/company/itinvest/blog/341938/
[3]: https://www.flickr.com/photos/davidcenterphotography/4171023612/in/photolist-7mzA1d-AjTyp-TqGQhF-av2Z58-ac6xk8-s732KW-auXD9h-b9psLM-92bCF6-qX1E2b-aux1z2-eyYsU-7oBsyz-nuFH3h-T8RUrG-rvjz8r-owE9ru-nqb15e-ecD5sx-7EMCc-7mRav-cwBpqL-9d9MT2-qX1E2S-5mZ7aj-pnPuZa-cwBbvf-pnPukp-jRj4eW-p6ABd2-ay3dUj-4JNpXz-ScsQns-av7n4U-dSD5te-af4HJk-dopUai-YnknWo-v2fN1-RzT5Ws-abybXF-nRsfxo-aueYfK-aby7T6-NwJp5P-66BXZd-5ELPkL-abybhR-bycLYo-abB2EG
[4]: https://creativecommons.org/licenses/by/2.0/
[5]: https://www.washingtonpost.com/news/business/wp/2017/09/20/sec-reveals-it-was-hacked-information-may-have-been-used-for-illegal-stock-trades/?utm_term=.4f8e69b1f2be
[6]: https://habrahabr.ru/post/341938/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] JTAG в каждый дом: полный доступ через USB
habra.16
habrabot(difrex,1) — All
2017-11-08 19:30:05


Исследователи Positive Technologies активировали аппаратную отладку (JTAG) для Intel Management Engine, которая позволяет получить полный доступ ко всем устройствам PCH (Platform Controller Hub), используя технологию Intel DCI (через интерфейс USB). Мы планируем поделиться подробностями на одной из ближайших конференций. А о том, как активировать этот интерфейс, но для основного процессора, расскажем ниже.

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

[1]: https://habrastorage.org/webt/8o/z9/9t/8oz99tvuv4hxbw3dy_pofih-elq.png
[2]: https://habrahabr.ru/post/341946/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Аппаратные кошельки для Bitcoin
habra.16
habrabot(difrex,1) — All
2017-11-09 11:00:05


![][1]


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

Под кошельками в криптовалютах понимают одновременно:

* набор ключей для доступа к деньгам;
* программы, которые управляют этими ключами и позволяют вам проводить транзакции в сети криптовалюты.
Чтобы не путаться, когда будем говорить о наборе ключей, я буду использовать термин «закрытый ключ». Хотя все мы понимаем, что в ключевой паре есть еще и открытый, а также то, что самих пар может быть несколько.

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

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

[1]: https://habrastorage.org/webt/tw/_5/yj/tw_5yjnzckj8nv4wgia5m5shtnw.jpeg
[2]: https://habrahabr.ru/company/aktiv-company/blog/341338/
[3]: https://habrahabr.ru/post/341456/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] UB-2017. Часть 1
habra.16
habrabot(difrex,1) — All
2017-11-09 11:00:05


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

_Переводы статьи про неопределённое поведение в языке C от Криса Латтнера, одного из ведущих разработчиков проекта LLVM, вызвали большой интерес, и даже некоторое непонимание со стороны тех, кто не встречался с описываемыми явлениями на практике. В своей статье Крис даёт ссылку на блог Джона Реджера, и на его статью от 2010 года, посвящённую UB в C и C++. Но в блоге Реджера есть и гораздо более новые статьи на эту тему (что не отменяет ценность старых, однако).
Я хочу предложить вашему вниманию свежую статью «Undefined Behavior in 2017». Статья в оригинале имеет очень большой объём, и я разбил её на части.
В первой части речь пойдёт о разных инструментах поиска UB: ASan, UBSan, TSan и т.д.
**ASan** — Address Sanitizer от компании Google, разработанный на основе LLVM.
**UBSan** — Undefined Behavior Sanitizer, предназначен для обнаружения различных UB в программах на C и C++, доступен для Clang и GCC.
**TSan** — Thread Sanitizer, предназначен для обнаружения UB в многопоточных программах.
Если вам эта тема покажется далёкой от практики, я рекомендую дождаться продолжения, потому что в конце вас ждёт поистине огромный список UB языка С++ (их должно быть около 200!)
И я рекомендую прочитать также старые статьи Реджера, они не утратили актуальности.
Об авторе: Джон Реджер является профессором Computer Science в университете штата Юта в США._


Мы часто слышим, что некоторые люди утверждают, что проблемы, вытекающие из неопределённого поведения (UB) в C и C++ в основном решены путём широкого распространения инструментов динамической проверки, таких, как ASan, UBSan, MSan и TSan. Мы здесь покажем очевидное: несмотря на то, что в последние годы произошло множество прекрасных улучшений в этих инструментах, проблемы UB далеки от разрешения, и рассмотрим ситуацию в деталях.

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

[1]: https://habrastorage.org/webt/dv/2d/xe/dv2dxeknqfauwcg6zg7zw4s9poo.jpeg
[2]: https://habrahabr.ru/post/341694/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Оптимизация портфеля ценных бумаг средствами Python
habra.16
habrabot(difrex,1) — All
2017-11-09 11:00:05


### Введение


На финансовом рынке обращается, как правило, несколько типов ценных бумаг: государственные ценные бумаги, муниципальные облигации, корпоративные акции и т.п.

Если у участника рынка есть свободные деньги, то их можно отнести в банк и получать проценты или купить на них ценные бумаги и получать дополнительный доход. Но в какой банк отнести? Какие ценные бумаги купить?

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

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

Целью настоящей публикации является разработка методов оптимизации портфелей ценных бумаг с использованием библиотеки scipy.optimize. Пришлось исследовать и применить при программировании такие мало известные возможности указанной библиотеки, как введение дополнительных ограничений в функцию цели [2].
[Читать дальше →][1]

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

[>] Установка SSL-сертификата на Zimbra
habra.16
habrabot(difrex,1) — All
2017-11-09 12:30:03


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

Почтовый сервер Zimbra поддерживает два возможных способа установки SSL:

* консоль администрирования zimbra (веб-интерфейс)
* zimbra certificate manager (интерфейс командной строки)
![image][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/web/524/a74/d9d/524a74d9dc834ae581c7893fc079c693.png
[2]: https://habrahabr.ru/post/341996/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Небольшая история о команде `yes` в Unix
habra.16
habrabot(difrex,1) — All
2017-11-09 12:30:03


Какую вы знаете самую простую команду Unix? Есть `echo`, которая печатает строку в stdout, и есть `true`, которая ничего не делает, а только завершается с нулевым кодом.

Среди множества простых Unix-команд спряталась команда `yes`. Если запустить её без аргументов, то вы получите бесконечный поток символов "y", каждый с новой строки:

y
y
y
y
(...ну вы поняли мысль)
Хотя на первый взгляд команда кажется бессмысленной, но иногда она бывает полезной:

yes | sh boring_installation.sh
Когда-нибудь устанавливали программу, которая требует ввести "y" и нажать Enter для установки? Команда `yes` приходит на помощь! Она аккуратно выполнит эту задачу, так что можете не отвлекаться от просмотра [Pootie Tang][1].
[Читать дальше →][2]

[1]: https://www.youtube.com/watch?v=yhBExhldRXQ
[2]: https://habrahabr.ru/post/342002/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Уязвимости в Ощадбанке: получение ФИО клиента по номеру телефона, перебор номеров карт, проблемы в платёжных терминалах
habra.16
habrabot(difrex,1) — All
2017-11-09 14:30:06


У меня накопилось несколько найденных проблем в различных сервисах Ощадбанка, одного из крупнейших украинских банков.

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

![уязвимости Ощадбанка][1]
**1\. Получение ФИО\* клиента по номеру телефона**

Ощадбанк добавил новую функцию в свой интернет-банкинг «Ощад 24/7» — перевод с карты на карту по номеру телефона: чтобы перевести средства, необязательно знать номер карты получателя.

Ранее я рассмотрел проблемы в реализации данной функции в другом украинском банке — [Уязвимость в Альфа-Банк Украина: получение ФИО клиента по номеру телефона][2].

Здесь уязвимость меньше — на самом деле возможно получение не всего ФИО, а только имени и первой буквы фамилии, но это не отменяет того факта, что теперь можно узнать настоящее имя человека, скрывающегося за анонимным номером телефона (в Украине SIM-карты выдаются без привязки к паспорту).

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

Что за поиск в социальных сетях? Его уже описывали много раз, но, думаю, не лишним будет напомнить «фичу»: если нужно узнать ФИО человека, можно попытаться «восстановить» учётные данные в социальных сетях.

Например, можно нажать «Забыли аккаунт?» на Facebook, ввести желаемый номер телефона и, если человек регистрировался с данным телефоном, то доступны будут следующие данные:
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/ke/x-/cd/kex-cdffc5qakjxnbcqopm0nxke.png
[2]: https://habrahabr.ru/post/334700/
[3]: https://habrahabr.ru/post/341252/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Статические анализаторы кода на примере ClickHouse
habra.16
habrabot(difrex,1) — All
2017-11-09 15:30:04


Чуть больше месяца назад была опубликована [статья][1], содержащая анализ [исходного кода ClickHouse][2] с помощью PVS-Studio. Статья оказалась достаточно успешной: так, ссылку на неё мне отправили по меньшей мере десять раз в день её публикации. Общий тон статьи позитивный, а посещаемость сайта [clickhouse.yandex][3] в день её выхода заметно выросла.



Я очень уважаю, когда какая-либо компания или человек делает свою работу исчерпывающим образом. Так, у PVS-Studio исчерпывающий подход к продвижению: одних только статей на Хабре 337 штук. Они проводят доклады почти на всех российских конференциях по C++. В любом случае стоит отметить: люди стараются и своим трудом приносят пользу другим людям.



Та статья пробудила в нас интерес к статическим анализаторам, и мы решили проверить работу нескольких общедоступных аналогов PVS-Studio на кодовой базе ClickHouse. В сегодняшней статье мы поделимся с вами результатами этого исследования.



![][4]

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

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

[>] Caesar3 все таки open
habra.16
habrabot(difrex,1) — All
2017-11-09 16:00:05



Некоторое время назад, примерно с 2008 года, у меня был хобби-проект по воссозданию довольно знаменитого конце ХХ века ситибилдера Caesar III ©, в процессе работы над игрой был написан ряд статей по механике игры и её внутреннему устройству ([например эта][1]).

[Дайте же сорцы, наконец][2]

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

[>] Красный октябрь блокчейн-революции
habra.16
habrabot(difrex,1) — All
2017-11-09 22:30:06


Количество материалов по блокчейну просто зашкаливает: онлайн-курсы, вебинары по ICO, новые криптовалюты, инвестиции и многое другое. В этом разобраться сложно даже тому, кто пытался майнить на домашних тачках в середине десятых. А новичкам-разработчикам проще отвернуться, чем начать работать в этом направлении. В сентябре Binary District в Digital October запустил собственный курс Blockchain Developer, направленный исключительно на разработчиков. Инсайдеры утверждают, что это серьезный, даже суровый интенсив, дающий неплохие результаты. Мы решили проверить. [Подробности проверки – под катом][1]

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

[>] Базовая установка и настройка Puppet 4 с хранением манифестов в SVN
habra.16
habrabot(difrex,1) — All
2017-11-10 07:30:04


Доброго времени суток!

Сегодня будем готовить Puppet 4 на Ubuntu Server 16.04 c хранением манифестов в SVN. Так же статье будет рассмотрен пример создания простого собственного модуля для установки и конфигурирования агента сбора логов в [Graylog2][1] через [Graylog Collector Sidecar][2] и использованием [Filebeat][3] в качестве бэкэнда. Данный пример не претендует на изящное решение, но описывает ключевые аспекты с примером.

Исходная машина для Puppet Server — VPS Ubuntu 16.04 — 4Gb Memory, 2 CPU cores.
[Читать дальше →][4]

[1]: https://www.graylog.org/
[2]: http://docs.graylog.org/en/2.3/pages/collector_sidecar.html
[3]: https://www.elastic.co/products/beats/filebeat
[4]: https://habrahabr.ru/post/342020/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Генерация кода на Python при помощи Hy
habra.16
habrabot(difrex,1) — All
2017-11-10 08:00:04


#### 1\. Что такое Hy



Hy — диалект Лиспа, который встроен в питон.



Благодаря тому, что Hy трансформирует свой Лиспоподобный код в Абстрактное Синтаксическое Дерево (AST) питона, с помощью Hy весь прекрасный мир питона — на кончиках пальцев и в форме Лиспа.


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

[1]: https://i.imgur.com/rPrvN0t.jpg
[2]: https://habrahabr.ru/post/342044/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Интегрирование уравнений движения
habra.16
habrabot(difrex,1) — All
2017-11-10 14:00:05


![image][1]

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

Темой этой статьи как раз и будет реализация такого интегрирования.


## Интегрирование уравнений движения


Вы можете помнить из курса старшей школы или вуза, что сила равна произведению массы на ускорение.


![$F = ma$][2]


Преобразуем это уравнение и увидим, что ускорение равно силе, делённой на массу. Это соответствует нашим интуитивным ожиданиям, потому что тяжёлые объекты труднее бросать.


![$a = F/ma = F/m$][3]


Ускорение — это темп изменения скорости от времени:


![$dv/dt = a = F/m$][4]



Аналогично, скорость — это темп изменения позиции от времени:


![$dx/dt = v$][5]


Это значит, что если мы знаем текущие позицию и скорость объекта, а также приложенные к нему силы, то сможем проинтегрировать, чтобы найти его позицию и скорость в определённый момент времени.
[Читать дальше →][6]

[1]: https://habrastorage.org/getpro/habr/post_images/a96/83d/23e/a9683d23e95d2687fb5a96edf1a11206.png
[2]: https://habrastorage.org/getpro/habr/formulas/90e/05b/f89/90e05bf8989e9140e0c561c48fd969a4.svg
[3]: https://habrastorage.org/getpro/habr/formulas/3a2/421/a34/3a2421a3454b5aeffe89a52cdb43428e.svg
[4]: https://habrastorage.org/getpro/habr/formulas/bb9/39b/12c/bb939b12ce336ee2ffdfab401c1be952.svg
[5]: https://habrastorage.org/getpro/habr/formulas/f04/cae/dd2/f04caedd2edf021538789bdb0b208a82.svg
[6]: https://habrahabr.ru/post/341986/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как Badoo набирает разработчиков
habra.16
habrabot(difrex,1) — All
2017-11-10 14:00:05


Привет! Меня зовут Аркадий, я тимлид в компании Badoo. Сегодня я расскажу вам о том, как за одни выходные мы сделали предложение о работе восьми мобильным разработчикам. И снова приглашу вас поучаствовать в нашем рекрутинговом мероприятии, по итогам которого лучших Android- и iOS-разработчиков мы заберём работать в лондонский офис Badoo.

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

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

Pages: 1 ... 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 ... 133