Архив за 23 июня 2016 - 4

Загрузчик (bootloader) — очень удобный инструмент работы с микроконтроллерами (далее — МК). Это маленькая программа, которая позволяет МК «самопрограммироваться» (self-programming). Обычно, при подаче питания на МК, управление сначала получает загрузчик, которые проверят заранее заданные условия (определенное состояние на ножке МК, флаг в EEPROM, подходящий файл прошивки на SD-карте и т.д.). Если условия не выполняются, то управление передается основной программе. Если же условия выполняются, то загрузчик переключается в режим программирования, получая данные новой прошивки по предопределенному интерфейсу. Это позволяет обновить прошивку МК не прибегая к паяльнику, программатору или внутрисхемному программированию.
Читать полностью »

Как и ожидалось, компания Xiaomi представила еще один электрический велосипед Xiaomi Mi Qicycle Folding Electric Bicycle, который будет доступен в различных цветах, чтобы пользователи смогли удовлетворить свои вкусовые предпочтения.

Электровелосипед Xiaomi Mi Qicycle Folding Electric Bicycle оценен в $455 - 1

Компания Huawei твердо заняла третье место на рынке смартфонов. Правда, последнее время продаж брендов Oppo и Vivo выросли в несколько раз. Если учесть, что обе компании имеют отношение к BBK, возможно, по итогам года придётся пересмотреть список лидеров. Но аналитики обычно рассматриваются вышеуказанные бренды отдельно.

Как бы там ни было, Huawei заявила, что к 2020 году намерена возглавить рынок смартфонов. Для этого ей придётся в несколько раз увеличить поставки своей продукции. Само собой, просто так такого результата не достичь.

Readme Driven Development - 1RDD — это крайне простая практика. И здесь «DD» может означать «минута на освоение и вся жизнь для мастерства». Но, к счастью, не в этом случае.

Пишите Readme в первую очередь. Вот в принципе и все. Но почему?

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

У каждого есть своя точка зрения о том какие инструменты, практики и процессы способствуют улучшению программного обеспечения. В конце дня ваша программа по-прежнему должна работать. Это легко забыть, если слишком сильно сосредоточиться на том, чтобы закончить её или использовать все красивые решения.

Работа программы это не только о её код. Если никто не может использовать программу, потому что не знает как, то не важно содержит ли она кучу ошибок или не содержит ни одной.
Читать полностью »

Сегодня сервис объявлений «Авто.ру» открыл свой первый центр оценки подержанных машин в Москве. По результатам клиентам будет выдаваться сертификат, на основе которого можно установить цену для автомобиля. Об этом сообщил VC.ru.

«Авто.ру» намерен изменить сам процесс поверки. Сейчас, как правило, клиент сперва выбирает машину, а потом оценивает еёЧитать полностью »

Несколько гиков добились своего

Как обычный вопрос на форуме привёл к добавлению 4½ символов в Юникод - 1

Оказывается, добавить символы в Юникод вполне реально, если потратить достаточно сил и времени. Следует только строго соблюдать процедуру и все правила.

Вчера произошло важное событие: консорциум Unicode опубликовал официальные спецификации нового стандарта Unicode 9.0. Наверное, больше всех радовался этому событию программист Теренс Иден (Terence Eden). Два с половиной года назад (3 декабря 2013 года) он опубликовал вопрос на популярном форуме для разработчиков Hacker News.

Каких полезных символов не хватает в Юникоде?

Теренс высказал идею, что наиболее очевидным кажется отсутствие знака «Питание». Знакомый всем символ Как обычный вопрос на форуме привёл к добавлению 4½ символов в Юникод - 2 определён в стандарте Международной электротехнической комиссии IEC 60417-5009 и примерно с середины 1970-х используется практически на каждом электронном устройстве, где имеется кнопка питания.
Читать полностью »

После выхода Ubuntu 16.04 (новый LTS релиз), systemd стал реальностью всех основных дистрибутивов Linux, использующихся на серверах. Это означает, что можно закладываться на расширенные возможности systemd, не рискуя оставить часть пользователей приложения «за бортом».

Этот пост о том, как реализовать многоворкерное приложение средствами systemd.

Abstract: Использование шаблонов сервисов и target'ов для запуска нескольких инстансов сервиса (реализация «воркеров»). Зависимость PartOf. Немного про [install] секцию у unit'ов.

Вступление

Многие языки программирования с плохой или никакой многопоточностью (Python, Ruby, PHP, довольно часто C/C++) используют концепцию «воркера». Вместо того, чтобы городить сложные отношения между тредами внутри приложения, они запускают несколько однопоточных копий приложения, каждое из которых берёт на себя кусок нагрузки. Благодаря опции SO_REUSEPORT есть даже возможность «вместе» слушать на одном и том же порту, что покрывает большинство задач, в которых возникает потребность в воркерах (собственно, обычные серверные приложения, реализующие API или обслуживающие веб-сайт).

Но такой подход требует наличия «супервизора», который отвечает за запуск копий, следит за их состоянием, обрабатывает ошибки, завершает при всякого рода stop/reload и т.д. При кажущейся тривиальности — это совершенно не тривиальная задача, полная нюансов (например, если один из воркеров попал в TASK_UNINTERRUPTIBLE или получил SIGSTOP, то могут возникнуть проблемы при restart у не очень хорошо написанного родителя).

Есть вариант запуска без супервизора, но в этом случае задача reload/restart перекладывается на администратора. При модели «один процесс на ядро» перезапуск сервиса на 24-ядерном сервере становится кандидатом в автоматизацию, которая в свою очередь требует обработки всех тех же самых SIGSTOP и прочих сложных нюансов.

Одним из вариантов решения проблемы является использование шаблонов сервисов systemd вместе с зависимостью от общего target'а.
Читать полностью »

Как «PunkeyPOS» крадет информацию с банковских карт - 1

Антивирусная лаборатория PandaLabs компании Panda Security с мая осуществляет тщательное исследование POS-терминалов в ресторанах США, в рамках которого был обнаружен так называемый PunkeyPOS – вариант вредоносной программы, который способен получать доступ к данным банковских карт. PandaLabs предоставила эту информацию в распоряжении американских правоохранительных органов, чтобы они могли предпринять соответствующие меры. Давайте посмотрим, что это такое и как это работает.

PunkeyPOS работает во всех версиях операционной системы Windows. План кибер-преступников: установить вредоносную программу на POS-терминалы, чтобы осуществлять кражу такой критически важной информации, как номера счетов, содержание магнитной полосы на банковских картах и т.д.

PunkeyPOS кажется простым:
Он устанавливает кейлоггер, который осуществляет мониторинг нажатия клавиш, затем он устанавливает RAM-scraper, который отвечает за чтение памяти всех процессов, запущенных в системе.Читать полностью »

В 2015 году жители России потратили в интернете $12 млрд (760 млрд руб.), жители США — почти в 30 раз больше ($342 млрд). Шестой год подряд они увеличивают свои расходы в сети примерно на 15%. Онлайн-продажи в России выросли в прошлом году только на 7%. О чем говорят эти цифры? Статистика сообщает простую вещь: онлайн-торговля и рынок потребительских товаров в США в десятки раз мощнее. Это другой уровень конкуренции, другое качество продуктов. В несколько раз выше, чем в России.

С какими трудностями сталкиваются покупатели в иностранных интернет-магазинах? - 1


«Все равно всё собирают в Китае», но производят для разных рынков — по-разному. Одна и та же вещь может быть сделана из схожих, но различных по качеству материалов. Угадайте, куда отправят вещь из лучших комплектующих — на рынок, где объем продаж составляет $300 млрд, или в страну, которая продает всего лишь на $12 млрд?
Читать полностью »

Приглашаем на YAPC::Russia 2016 - 1

В субботу 25 июня в московском офисе Mail.Ru Group пройдёт ежегодная конференция YAPC::Russia, посвящённая языку программирования Perl и его сообществу. В разные годы она проходила в Москве, Киеве и Санкт-Петербурге. На конференцию съезжаются Perl-профессионалы из разных городов и стран, чтобы обменяться опытом, завести новые знакомства в своей сфере и пообщаться с единомышленниками в неформальной и приятной обстановке. Программа встречи ждет вас под катом.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js