Асинхронный код в синхронный встроенными средствами

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

В данной статье я на практическом примере расскажу о реализации способа, которым я воспользовался для решения моей задачи. Приступим.
08/30/2016 21:25:25
0

Укрощаем USB/IP

Регулярно возникает задача подключения USB-устройства к удаленному ПК через локальную сеть. Под катом изложена история моих поисков в этом направлении, и путь к готовому решению на базе open-source проекта USB/IP с описанием заботливо установленных различными людьми на этом пути препятствий, а также способов их обхода.
08/30/2016 21:01:35
0

Мощный аномальный радиосигнал из космоса, о котором активно сообщали СМИ, скорее всего земного происхождения


Радиоастрономический телескоп Академии наук «РАТАН-600»

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

Сам сигнал был зафиксирован российской обсерваторией РАТАН-600, размещенной в Карачаево-Черкесии и относящейся к Специальной астрофизической лаборатории Российской академии наук (САО РАН).

Некоторые сомнения по данной новости возникли в тот момент, когда первоисточником оказался астроном-любитель, которому через знакомых, якобы, попала в руки научная работа российских исследователей.
08/30/2016 20:32:33
0

Ежегодная конференция разработчиков и пользователей свободного программного обеспечения OSDN Conference

Команда FlyElephant приглашает всех 17 сентября в Киев принять участие в OSDN Conference 14.0 — ежегодной конференции разработчиков и пользователей свободного программного обеспечения.

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

Актуальный список докладов доступен на сайте конференции. Участие в конференции — бесплатное.

Место проведения конференции — «Нивки Холл» по адресу пр. Победы, 84.

Зарегистрироваться или предложить свой доклад можно на сайте osdn.org.ua.
08/30/2016 20:22:21
0

DiffHTML.js — утилита для патчинга DOM



Что такое DiffHTML.js?


DiffHTML — эта утилита для патчинга DOM-дерева. Она умеет находить разницу между DOM-деревом и строкой, между двумя деревьями. В результате будут произведены только те изменения, которые реально имеют места быть. Те элементы которых не было — вставятся, атрибуты которые были реально изменены — изменятся, и только они. Остальные элементы останутся без изменений.
08/30/2016 19:53:00
0

Двухфакторная авторизация в Telegram всё ещё/снова не работает

В конце мая этого года я писал Почему двухфакторная авторизация в Telegram не работает (с картинками).
Позже, где-то через месяц после публикации, это случилось с Сергеем Пархоменко — у него описанным образом угнали аккаунт.

После этого вроде как Telegram временно отключил возможность удаления защищённых двухфакторной аутентификацией профилей в мессенджере по коду из SMS.
Около двух недель назад я повторил свой майский эксперимент с угоном Telegram-аккаунта у самого себя — и всё снова получилось, точно так же, как и в прошлый раз.
08/30/2016 19:48:17
0

[Перевод] Шаблоны взаимодействия для интернета вещей

Прежде чем начать новый IoT-проект, стоит поразмыслить о том, какие шаблоны обмена информацией наилучшим образом для него подойдут. На самом деле, принять это решение следует как можно раньше, ещё до того, как выбраны протоколы, способы связи и вспомогательная инфраструктура разрабатываемой системы. В основе этой рекомендации лежит одна простая причина: не приняв подобное решение в самом начале, разработчик, по мере развития проекта, рискует сам себя загнать в угол, выбраться из которого можно будет лишь серьёзно переработав код, архитектуру, модель безопасности решения, и то, как оно взаимодействует с внешним миром.


Сегодня мы рассмотрим одиннадцать шаблонов взаимодействия в IoT-системах.
08/30/2016 19:14:59
0

Правила внедрения TDD в старом проекте

Статья «Скользящая ответственность паттерна Репозиторий» подняла несколько вопросов, на которые очень сложно дать ответ. Нужен ли репозиторий, если абстрагироваться от технических деталей полностью невозможно? На сколько сложным репозиторий может быть, чтобы его написание оставалось целесообразным? Ответ на эти вопросы различается в зависимости от акцента, который делается при разработке систем. Наверно, самый сложный вопрос: нужен ли, вообще, репозиторий? Проблема «текучей абстракции» и рост сложности кодирования с увеличением уровня абстракции не позволяют найти решение, которое удовлетворяло бы оба лагеря. Например, в репортинге intention design приводит к созданию большого числа методов для каждого фильтра и сортировки, а generic решение создает большой оверхед по кодированию. Продолжать можно бесконечно…

Для более полного представления я взглянул на проблему абстракций со стороны применения их в уже готовом коде, в legacy code. Репозиторий, в таком случае, нас интересует только, как инструмент для достижения качественного и безбажного кода. Конечно, этот паттерн — не единственное, что необходимо для применения TDD практик. Наевшись «невкусной еды» в нескольких больших проектах и наблюдая за тем, что работает, а что нет, я вывел для себя несколько правил, которые мне помогают следовать TDD практикам. С удовольствием выслушаю конструтктивную критику и иные приёмы внедрения TDD.
08/30/2016 19:13:40
0

Mozilla обсуждает прекращение доверия к удостоверяющему центру WoSign

Уязвимость в WoSign, одном из крупнейших китайских удостоверяющих центров, позволила злоумышленникам получить корректно заверенные сертификации для многих известных сайтов, допускающих размещение пользовательской информации на поддоменах. В частности, удалось выписать фиктивные сертификаты для сайтов GitHub, Microsoft и Alibaba.
08/30/2016 18:32:30
0

Релиз свободного видеоредактора OpenShot 2.1

Состоялся релиз свободной системы нелинейного видеомонтажа OpenShot 2.1. Код проекта поставляется под лицензией GPLv3: интерфейс написан на Python и PyQt5, ядро обработки видео (libopenshot) написано на C++ и использует возможности пакета FFmpeg, интерактивная шкала времени написана с использованием HTML5, JavaScript и AngularJS. Для пользователей Ubuntu пакеты с последним выпуском OpenShot доступны через специально подготовленный PPA-репозиторий, для остальных дистрибутивов сформирована самодостаточная сборка в формате AppImage. Имеются сборки для Windows и macOS.
08/30/2016 17:54:23
0