Архив за 07 ноября 2019 - 8

Сегодня мы публикуем второй материал из цикла, посвящённого использованию Python в Instagram. В прошлый раз речь шла проверке типов серверного кода Instagram. Сервер представляет собой монолит, написанный на Python. Он состоит из нескольких миллионов строк кода и имеет несколько тысяч конечных точек Django.

Типы для HTTP-API, написанных на Python: опыт Instagram - 1

Эта статья посвящена тому, как в Instagram используют типы для документирования HTTP-API и для обеспечения соблюдения контрактов при работе с ними.
Читать полностью »

В сети появляется всё больше подробностей о будущем флагманском смартфоне Samsung Galaxy S11. На этот раз «улики» обнаружились в базе данных европейского патентного бюро (EUIPO). 

Раскрыта ещё одна особенность Samsung Galaxy S11

Читать полностью »

Госкорпорация «Росатом» запустила масштабный проект по созданию квантового компьютера. Об этом рассказало издание «Коммерсантъ» со ссылкой на источники в компании. 

Буквально вчера мы сообщали о поддельных наушниках Apple AirPods Pro стоимостью всего 100 долларов, как сегодня в Сети появился обзор ещё более доступного клона новинки купертинцев.

Исследование: к 2025 году в сфере 5G будут доминировать США, Китай, Япония и Южная Корея — Европа позади

Согласно исследованию, проведённому GSMA Intelligence, подразделением ассоциации GSM Association, к 2025 году пользователи Китая, Соединённых Штатов, Японии и Южной Кореи будут составлять более половины всех подписчиков сверхскоростных сетей мобильной связи 5G, оставив позади страны Европы.

REUTERS/Sergio Perez

«Читать полностью »

В конце 2017 года компания Apple признала, что снижает производительность старых iPhone, чтобы компенсировать деградацию батареи. Хотя такая практика позже была прекращена, этот инцидент вновь поднял тему запланированного устаревания, когда производители товаров намеренно ограничивают срок жизни устройств, мотивируя потребителя «пересаживаться» на новую модель. Ни из-за новых фич, а просто потому, что старое, абсолютно рабочее устройство, уже не может ни во что. Если честно, я не сторонник конспирологических теорий вокруг данного феномена. Чтобы в большой компании что-то запланировать, нужно проделать большую работу, о которой будут знать много людей, и потенциальная прибыль от такого коварного плана будет несопоставима с репутационными потерями. Нестарые еще смартфоны, лаптопы, настольные ПК, софт превращаются в тыкву просто так, потому что так сложились обстоятельства.

Древности: вестник тлена или незапланированное устаревание - 1

Я коллекционирую старые устройства, но почти не пользуюсь ими для работы, поэтому к мертвым магазинам софта, просроченным доменам жизненно важных сервисов, битым ссылкам на прошивки и прочим прелестям жизни музейного работника отношусь философски: сам того захотел. Но все-таки… На Реддите есть сообщество покупателей вещей «на всю жизнь», так, чтобы служили как можно дольше. Там обсуждают кухонную посуду, расчески, ботинки, газонокосилки, бойлеры, гантели и аудиотехнику. Но компьютеры обсуждают редко, и по понятным причинам. Возможно ли создать компьютерную технику по современным технологиям, со сроком жизни в десятки лет? Я на этот вопрос по мере возможности попробую ответить в конце поста, а вообще хочу рассказать про то, как деградируют современные устройства со временем. Например, электронные часы, смартфоны и компьютеры разных лет.
Читать полностью »

На конференции DealBook издания The New York Times основатель Microsoft Билл Гейтс (Bill Gates) рассказал о своём видении того, как компания проиграла на поприще мобильных операционных систем. 

Компания Nvidia сообщила о том, что её графические процессоры Turing и однокристальные системы Xavier показали лучшие результаты в MLPerf Inference 0.5 — первом независимом наборе тестов логического вывода систем искусственного интеллекта.

ThingJS v1.0-alpha - 1

Последние два года я разрабатывал собственную IoT платформу и сегодня готов показать ее альфа версию.

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

Статья будет интересна людям, которым близка тема IoT и они уже что-то делали в этой сфере. Важным замечанием будет то, что платформа должна заинтересовать (внезапно) JavaScript разработчиков, т.к. именно этот язык выбран как основа платформы. Конечно, и С/С++ разработчикам тоже будет что почитать.

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

Читать полностью »

В Яндекс.Такси придерживаются микросервисной архитектуры. С ростом количества микросервисов мы заметили, что разработчики много времени тратят на boilerplate и типичные проблемы, при этом решения не всегда получаются оптимальные.

Мы решили сделать свой фреймворк, с C++17 и корутинами. Вот так теперь выглядит типичный код микросервиса:

Response View::Handle(Request&& request, const Dependencies& dependencies) {
  auto cluster = dependencies.pg->GetCluster();
  auto trx = cluster->Begin(storages::postgres::ClusterHostType::kMaster);

  const char* statement = "SELECT ok, baz FROM some WHERE id = $1 LIMIT 1";
  auto row = psql::Execute(trx, statement, request.id)[0];
  if (!row['ok'].As<bool>()) {
    LOG_DEBUG() << request.id << " is not OK of " << GetSomeInfoFromDb();
    return Response400();
  }

  psql::Execute(trx, queries::kUpdateRules, request.foo, request.bar);
  trx.Commit();

  return Response200{row['baz'].As<std::string>()};
}

А вот почему это крайне эффективно и быстро — мы расскажем под катом.
Читать полностью »


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