Архив за 09 апреля 2019 - 7

Парадоксы о сжатии данных - 1 Задача сжатия данных в своей простейшей форме может относиться к числам и их обозначениям. Числа можно обозначать числительными («одиннадцать» для числа 11), математическими выражениями («два в двадцатой» для 1048576), строковыми выражениями («пять девяток» для 99999), именами собственными («число зверя» для 666, «год смерти Тьюринга» для 1954), или произвольными их комбинациями. Годится любое обозначение, по которому собеседник сможет однозначно определить, о каком числе речь. Очевидно, что сообщить собеседнику «факториал восьми» эффективнее, чем эквивалентное обозначение «сорок тысяч триста двадцать». Здесь возникает логичный вопрос: какое обозначение для заданного числа самое короткое?

Философ Бертран Рассел в 1908 опубликовал «парадокс Берри», который затрагивает вопрос обозначений чисел с противоположной стороны: какое самое маленькое число, для обозначения которого недостаточно восьмидесяти букв?
Такое число обязано существовать: из восьмидесяти русских букв и пробелов можно составить всего 3480 обозначений, значит, с использованием восьмидесяти букв можно обозначить не более 3480 чисел. Значит, некое число, не большее чем 3480, обозначить таким образом невозможно.

Значит, этому числу будет соответствовать обозначение «самое маленькое число, для обозначения которого недостаточно восьмидесяти букв», в котором всего 78 букв! С одной стороны, это число обязано существовать; с другой, если это число существует, то его обозначение ему не соответствует. Парадокс!Читать полностью »

Как создать тёмную тему и не навредить. Опыт команды Яндекс.Почты - 1

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

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

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

Мониторим ресурсы кластеров Kubernetes - 1

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

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

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

Один из топовых представителей линейки процессоров Coffee Lake-H Refresh засветился в базе данных PassMark. Шестиядерный Core i7-9750H в составе ноутбука в 3D-картой Nvidia GeForce GTX 2060 и 32 ГБ оперативной памяти получил 14118 баллов – и это хороший результат, особенно на фоне предшественника.

На днях японская автоматическая станция Хаябуса-2 сбросила бомбу на астероид Рюгу. Космическим кораблем управляет радиационно-устойчивая система на кристалле HR5000 (JAXA2010/101) с 64-битным процессорным ядром MIPS 5Kf. На бортовом компьютере работает операционная система реального времени uITRON, одна из семейства RTOS-ов стандарта TRON, который появился в Японии еще в 1980-е годы и заслуживает отдельного поста.

В этой заметке я кратко опишу, что входит в СнК HR5000 и его процессорное ядро, покажу фотографии двух из ключевых разработчиков линеек MIPS 4K и 5K, а также расскажу, как вы можете поиграться дома на плате ПЛИС с «потомком младшего брата» этого компьютера — 32-битным ядром MIPS microAptiv UP, код которого на языке описания аппаратуры Verilog был основан на MIPS 4KEc.

Как устроен компьютер внутри Хаябусы-2, которая сбросила бомбу на Рюгу. И фотографии его разработчиков - 1
Читать полностью »

Трансформатор Теслы на плате площадью в один квадратный дюйм - 1

Увидев заголовок статьи «One inch tesla coil», я поначалу подумал, что речь идёт о трансформаторе Теслы высотой в один дюйм. Оказалось, что он несколько больше, но выполнен на плате площадью в один квадратный дюйм — таковы условия конкурса. Но даже это достаточно интересно, чтобы взяться за перевод.Читать полностью »

Принципы построения REST JSON API - 1 Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно.

Зачем

Надеюсь, читающий уже понимает, зачем ему вообще нужен именно REST api, а не какой-нибудь монстр типа SOAP. Вопрос в том, зачем соблюдать какие-то стандарты и практики, если браузеры вроде бы позволяют делать что хочешь.

  • Стандарт HTTP это стандарт. Его несоблюдение вредно для кармы и ведёт к постоянным проблемам с безопасностью, кэшированием и прочими "закидонами" браузеров, которые совсем не закидоны, а просто следование стандарту.
  • Велосипеды со всякими {error: "message","result":...} невозможно нормально тестировать и отлаживать
  • Поддержка большим количеством готовых клиентских библиотек на все случаи жизни. Те, кто будет вашим api пользоваться, скажут большое человеческое спасибо.
  • Поддержка автоматизированного интеграционного тестирования. Когда сервер на любые запросы отдаёт 200 ОК — ну, это такое себе развлечение.

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


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