Месяц: Декабрь 2019

  • DIY кнопка вызова часть 2. Видеофон из Raspberry Pi

    от автора

    В этой части делаем из Raspberry Pi VoIP устройство для осуществления видео вызовов по SIP протоколу. Первоначальная задача осталась прежней — осуществление вызова по внешнему воздействию (нажатию кнопки). Но немного изменилась реализация идеи. Как и в предыдущей части, воспользуемся терминальным SIP клиентом Linphonec, но в целях упрощения настройки, я решил воспользоваться VoIP провайдером Zadarma.com с…

  • #Назаметку. Осторожно, атомарные операции в ConcurrentHashMap

    от автора

    В Java с незапямятных времён есть замечательный интерфейс Map и его имплементации, в частности, HashMap. А начиная с Java 5 есть ещё и ConcurrentHashMap. Рассмотрим эти две реализации, их эволюцию и то, к чему эта эволюция может привести невнимательных разработчиков. Warning: в статье использованы цитаты исходного кода OpenJDK 8, распространяемого под лицензией GNU General Public…

  • Тестирование SSD на надёжность: 3dnews vs JEDEC vs здравый смысл. Где правда, брат?

    от автора

    Всем известно легендарное тестирование SSD на надёжность от 3dnews (публикация от 2018.01), по результатам которого некоторые бюджетные накопители превзошли заявленный производителем ресурс в десятки раз. После этого исследования в народе появилась конспирологическая теория, что производители занижают ресурс у бюджетных SSD, а также распространилось убеждение, что практически все SSD умеют делать и качественно выполняют выравнивание износа.

  • Зачем же роботу ограничиваться сбором мячей для гольфа? Есть же еще и теннис

    от автора

    Краткая история как мы делаем свой стартап, что мы покажем во Флориде, а так же что делать, если нужна indoor навигация с высокой точностью? Мы сделали робота для сбора мячей для гольфа. Делаем его уже чуть больше года. Это лето для нас было очень плодотворным. Мы много тестировали, дорабатывали. Встречались с инвесторами и питчили, что…

  • Микрокод и уязвимости в процессорах

    от автора

    Отсутствие уязвимости в CPU лучшее что может быть, но как проверить есть ли они, эти уязвимости? Как выясняется в современных процессорах они буквально "пачками". И счастливому обладателю «уязвимостей» в лучшем случае предлагается ползать по таблицам и искать каким из них подвержен его процессор. А с течением времени количество найденных дыр только растет. Простейшим решением предлагается…

  • Решение Kingston при «угрозе уровня Танос»

    от автора

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

  • Что внутри шаурмы: микросервисы, распределенные системы и Кафка. Делимся материалами со встречи Backend United #5

    от автора

    Привет! Этот пост-отчёт с митапа Backend United, нашей серии тематических встреч для разрабочиков серверной части. Пятая встреча получила название «Шаурма», и здесь мы говорили о микросервисах: о способах синхронного и асинхронного взаимодействия между ними, организации потоков данных и роли Кафки в микросервисной архитектуре. Заходите под кат, если вам интересны эти темы. Внутри поста — все…

  • Блокировать трекеры рекламы на сетевом уровне сложно, но возможно

    от автора

    Когда вы выходите в интернет или используете приложение, множество компаний спокойно отслеживают каждое ваше действие. Некоторые, такие как Newrelic, достаточно невинны, они отслеживают ошибки пользователей и чтобы быстрее на них реагировать. Но другие, такие как Facebook Audience Network, собирают огромное количество данных как с ваших собственных устройств, так и с устройств в вашей сети. Блокировка…

  • Клиентоориентированный Data Lake в игровой компании

    от автора

    Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расскажу, почему мы решили реализовывать DataLake. Во второй части я опишу, какие технологии и решения мы…

  • Атрибуты и протокол дескриптора в Python

    от автора

    Рассмотрим такой код: class Foo: def __init__(self): self.bar = ‘hello!’ foo = Foo() print(foo.bar) Сегодня мы разберём ответ на вопрос: «Что именно происходит, когда мы пишем foo.bar?» Вы, возможно, уже знаете, что у большинства объектов есть внутренний словарь __dict__, содержащий все их аттрибуты. И что особенно радует, как легко можно изучать такие низкоуровневые детали в…