Search
Write a publication
Pull to refresh
0
0
Дмитрий @ex_ineris

QA Engineer

Send message

Jetpack Compose — как легко построить UI на Android

Reading time4 min
Views16K

В июле этого года вместе с Android Studio Arctic Fox вышла одна из долгожданных библиотек — Jetpack Compose. Она позволяет создавать пользовательский интерфейс в декларативном стиле и обещает быть революцией в построении UI.

Разбираемся, так ли это на самом деле, какие у библиотеки преимущества и недостатки. Подробности — в статье.

Читать далее

Сколько стоит замена батарей в электромобилях?

Reading time5 min
Views92K

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

Сегодняшний вопрос читателя: У меня есть вопрос относительно стоимости замены батареи в BEV, доступной в Австралии, и производитель сообщил срок службы до того, как потребуется замена?

Эта тема является ключевым моментом, который волнует многих покупателей перед покупкой BEV. С уважением, Андрей.

Привет, Эндрю, да, вопрос о том, когда заменять аккумулятор электромобиля и о стоимости, важен - но, возможно, не так сильно, как думает широкая публика.

Первое: я разделю вопрос на две части. Какова вероятность того, что аккумулятор потребует замены в течение срока службы автомобиля? Какова стоимость возможной замены батареи? Потребуется ли замена аккумулятора в течение срока службы автомобиля? Чтобы ответить на этот вопрос, необходимо изучить две проблемы: Когда аккумулятор перестанет «подходить по назначению»? а также Как долго длится «жизнь автомобиля»?

Во-первых, значительная часть производителей дает гарантию на свои батареи как минимум на 70% емкости, оставшейся после 8 лет. Для Hyundai Kona с запасом хода 450–500 км по городу это соответствует минимальному диапазону 315–350 км в возрасте 8 лет. Для многих, если не для большинства, это означает зарядку, возможно, два раза в неделю, а не один раз в неделю. То же самое и для дальних путешествий - может быть, пара дополнительных остановок для перезарядки, например, по пути между Сиднеем и Брисбеном.

Далее в цифрах о цене аккумуляторов сейчас

Многоконсольный вывод для Python

Reading time2 min
Views7.9K

Существует много проекты в которых нужно сразу видеть результат переменных в момент выполнения программы. Например обработка нажатий клавиш от пользователя, навигация между страницами в GUI приложениях, обработка данных из форм на веб проектах.

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

Для этого используют обычный print() но по стандарту ограничен одной консолью, или loggin() но его нужно относительно дольше настраивать, чем проект console-debugger, по причине того что нужно указывать файл, стиль вывода даны в файл, рейтинг обработки, в ручную запускать слежение за файлом, в ручную закрывать слежение за файлом, когда вам больше не нужен обработчик.

Я понимаю плюсы лорнирования но они не подходят для дебаггинга ...

Вариант программы для отладки Python

Удалённое управление питанием и перезагрузкой компьютера, при помощи внешнего девайса

Reading time9 min
Views47K

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

Ехать обратно — опоздаешь на работу. А ведь ситуация может развиваться и гораздо более драматично: допустим, человек поехал куда-то далеко за рубеж, в отпуск, и там ему приходит важный звонок, по результатам которого ему необходимо передать своему визави,- определённые документы. А документы остались дома! А дом находится за границей!

Или вот ещё такая беда: ваш персональный компьютер является мощной графической станцией, на которой установлено множество тяжёлых программ для работы с графикой, программными продуктами. А вы перемещаетесь по городу, имея в руках всего лишь «тонкий» клиент, в виде ноутбука…

Из этого описания становится понятно, что «тонкий» клиент не обладает соответствующей производительностью, для запуска множества высокопрофессиональных программ и проектов. Да и если даже он у вас достаточно мощный, — это в принципе неудобно, каждый раз синхронизировать проекты с «тонким» клиентом. Как быть в описанных выше ситуациях — мы и поговорим в этой статье.
Читать дальше →

Python и Ruby под нагрузкой: высокое искусство некромантии

Reading time11 min
Views18K

Уже больше 20 лет я пишу код на разных языках программирования. Так как многие из этих языков считаются мертвыми, то сегодня я буду говорить о высоком искусстве некромантии — о том, как якобы мертвые языки используются в больших и иногда высоконагруженных проектах. Обрабатывая тысячи веб-запросов в секунду и не порождая необходимости писать свой компилятор PHP или переходить на Go или Rust.

Я расскажу про специфику Ruby и Python при высоких нагрузках, про их мейнстрим, который вы можете встретить в выживших проектах. Я не буду и не хочу говорить про спортивное программирование, где делают миллион запросов в секунду на одной ноде, выжигая из Python или Ruby всё и оставляя голый С. Python и Ruby действительно медленные, у них есть GIL, но при правильном использовании это не проблема, а статья расходов — и я расскажу, что мы можем получить за эти деньги.

Если вы предпочитаете слушать или смотреть (у меня там забавные крылья!) — видео моего выступления на конференции HighLoad++ Весна 2021.

Читать далее

Сравниваем Huawei ExaGear с Apple Rosetta 2 и решением от Microsoft

Reading time7 min
Views8.9K

10 ноября 2020 года произошло во многом эпохальное событие в индустрии микропроцессоров - компания Apple презентовала новый Mac Mini, главной фишкой которого являлся чип собственной разработки Apple M1. Данный процессор, без преувеличения, является знаковым достижением для экосистемы ARM - наконец-то был сделан чип, обошедший конкурентов из Intel в той нише, где архитектура x86 доминировала десятилетия.

Но для нас главным интересом является не сам процессор M1, а технология двоичной трансляции Rosetta 2, разработанная с целью запуска legacy x86 кода, не успевшего переехать на архитектуру ARM. Компания Apple имеет большой опыт в разработке решений по двоичной трансляции и является признанным лидером в данной области. Первая версия двоичного транслятора Rosetta появилась в 2006-ом году, когда помогла компании Apple совершить переход с архитектуры PowerPC на x86. И хотя в этот раз гостевая и целевая платформы отличались от тех, которые были в 2006-ом, очевидно, что весь опыт, накопленный инженерами Apple за эти годы, был учтён и вложен в следующую версию Rosetta 2. Тем интреснее было сравнить решение от Apple с аналогичным продуктом Huawei ExaGear (ведущего свою родословную от Eltechs ExaGear), разрабатываемого нашей командой. Заодно, мы оценили производительность двоичной трансляции из x86 в ARM от компании Microsoft (входящей в состав MS Windows 10 для Arm устройств) на лэптопе Huawei MateBook E. На текущий момент, это все известные нам решения по двоичной трансляции из X86 в ARM, доступные на широком рынке.

Читать далее

От тестировщика — к QA инженеру. Советы новичкам

Reading time6 min
Views22K

Привет! Меня зовут Сергей Могилевский, я QA Engineer в NIX, спикер NIXMultiConf. На протяжении пяти лет занимаюсь тестированием, последние три года являюсь Group Lead, два года — Lead тестировщик в проекте.

Тестирование остается одним из самых популярных направлений среди новичков в IT. «Светлые головы» приходят в команды со своим видением и свежими идеями. Но техническое образование есть далеко не у всех. Ребята ищут направления, которые не требуют длительной подготовки и специфических знаний. Действительно ли профессию тестировщика так легко освоить? Давайте разберемся детальнее.

Читать далее

SSH, PGP, TOTP в Yubikey 5

Reading time9 min
Views27K

Это аппаратный ключ безопасности, который поддерживает протокол универсальной двухфакторной аутентификации, одноразовые пароли и асимметричное шифрование. Если вы добавите его, допустим, в аккаунт на Гитхабе, то для входа в свой аккаунт, понадобится ввести логин/пароль и коснуться кнопки юбикей.

Год назад я приобрел Yubikey, чтобы использовать его в качестве второго фактора для аккаунтов Google, Github и других, которые работают с U2F. Однако я для себя выяснил, что Yubikey обладает куда более расширенным функционалом. Большая часть из нижеописанных действий  актуальна для работы и без Yubikey, однако преимущество в портативности будет потеряно.

Все действия описаны для Yubikey 5 и Ubuntu 21.04.

Читать далее

Библиотека СleanAPI: cоздаем микросервис на Python за 30 секунд

Reading time4 min
Views21K

Использование микросервисной архитектуры для построения корпоративных приложений взамен традиционной монолитной — популярный тренд в веб-разработке.

Первая проблема, которую вам предстоит решить, столкнувшись на практике с задачей написать микросервис на Python — выбор подходящего фреймворка.

Мой выбор — Tornado. Поработав с Tornado в паре коммерческих проектов, я в целом остался доволен результатами. Однако, как бы ни было хорошо, всегда хочется чего-то большего.

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

Читать далее

Без GPS и геолокации: узнаём местоположение пользователя, используя сим-карту

Reading time3 min
Views37K

Рассказываю, как в Android получить доступ к местоположению устройства без использования GPS или службы определения местоположения. Для этого понадобится лишь... сим-карта.

И, да, даже если вы параноик, это совсем не значит, что за вами не следят.

Не так ли?

Развертывание гиперконвергентной инфраструктуры с помощью Synology NAS

Reading time4 min
Views8.8K

Гиперконвергентная инфраструктура

Гиперконвергентная инфраструктура (HCI) - современный подход к инфраструктуре. Это комплексное решение, которое обеспечивает производительность и емкость данных с использованием эффективных инструментов для простого управления и развертывания - универсальное решение "все в одном". Традиционно принципы гиперконвергентной инфраструктуры основывались на виртуализации аппаратного обеспечения, которая упрощает развертывание и последующее управление. Гиперконвергентные платформы покрывают все требования инфраструктуры с помощью единого решения. Все определяется программным обеспечением, единообразно администрируется, масштабируется, сокращая совокупную стоимость владения. Таким образом, централизованное администрирование значительно снижает сложность всей структуры решения. Еще одно преимущество - возможность быстро расширить ИТ-инфраструктуру за счет добавления дополнительных устройств, а не пытаться удовлетворить будущие требования к ЦП, хранилищу или оперативной памяти. И вместо того, чтобы управлять десятками или даже сотнями разрозненных систем, администраторы получают облачный контроль над всем кластером.

Synology Virtual Machine Manager

Virtual Machine Manager позволяет организациям и профессиональным пользователям запускать виртуальные машины на поддерживаемых устройствах Synology NAS.

Пакет VMM поддерживает виртуальные машины Windows (включая Windows Server) и Linux, а также виртуальные DSM. Последняя функция позволяет администраторам создавать виртуальные экземпляры операционной платформы DiskStation Manager (DSM) для использования различными отделами или группами, которые могут использовать соответствующие пакеты DSM, не затрагивая другие виртуальные DSM.

Читать далее

Почему графику в видеоиграх по-прежнему так сложно создавать?

Reading time28 min
Views34K

Введение


В этом посте будут рассмотрены трудности и аспекты производства, которые нужно учитывать при создании новых методик и алгоритмов рендеринга/графики, особенно в контексте прикладных исследований рендеринга реального времени. Я буду рассказывать о своём личном опыте работы над Witcher 2, Assassin’s Creed 4: Black Flag, Far Cry 4 и God of War.

Многие из этих трудностей легко упустить, хотя в продакшене они становятся настоящими проблемами. Однако вы можете с ними и не столкнуться, если только читаете о подобных методиках, работаете над исследованиями, пишете статьи или создаёте технологические демо.

Я слышал вопросы типа «почему эта великолепная исследовательская методика X не используется в продакшене?» и от геймеров, и от коллег из научных кругов. На то всегда бывают очень веские причины!

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

Я вспоминаю об этой теме ещё и каждый раз, когда слышу дискуссии о том, что «фотограмметрия, трассировка лучей, нейронный рендеринг, [вставить любую другую новую тему] станет универсальным решением для рендеринга и заменит всё остальное!». Спойлер: этого не случится (по крайней мере, в ближайшее время).
Читать дальше →

One UI своими руками в домашних условиях

Reading time16 min
Views11K

Встречайте, Siesta 1.0 - аналог One UI на любом Android девайсе!

One UI существует уже как 3 года (с 2018), а уроков по тому, как сделать похожий дизайн, в мире android, я так и не нашёл. Не порядок… Сегодня же, мы начнём прокладывать этот тяжёлый и тернистый путь.

Создать аналог One UI

В десктопном Linux всё ещё больно

Reading time7 min
Views92K

25 августа 1991-го Линус Торвальдс впервые сообщил миру, что работает над новой ОС. Если отсчитывать от этого, то позавчера Linux исполнилось 30 лет, так что можно подвести какие-то итоги: например, скоро ли настанет «год линукса на десктопе»?

А неделю назад я написал о нюансах перехода на Mac. И быстро появились комментарии, что вот в линуксах нет описанных сложностей — мол, непонятно, зачем вообще люди страдают за маками. На мои слова «так в Linux другие проблемы, там многие чинят звук, лазая по форумам» ответили, что это устаревшие стереотипы. А сейчас всё работает из коробки, даёшь детям и они не нарадуются.

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

Захотелось хотя бы бегло глянуть. Тут ещё и повод подвернулся: помогал другому человеку выбрать ноутбук, и он был не против установки линукса. В общем, глянул. И быстро испытал столько ярких ощущений, что написал этот пост.

Читать далее

Она могла стать Первой: история процессорной архитектуры Alpha (часть 1)

Reading time10 min
Views15K

Впервые об архитектуре Alpha я узнал вскоре после обретения своего первого ПК, осенью 2001 года. Это были не слишком свежие (примерно 1997-1998 года) страдания неизвестного автора о платформе AlphaPC, материнской плате удивительной производительности и поражающих возможностей в формате АТХ. С тех пор эта архитектура запала мне в душу, долгое время борясь за место в сердце с не менее прорывным Pentium Pro. Сейчас представители обоих направлений располагаются в коллекции «Digital Vintage» на расстоянии менее 1 см друг от друга.
Читать дальше →

Решаем проблему голосовых или создаем простого и полезного бота в Telegram

Reading time4 min
Views26K

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

Читать далее

Полностью электрический ускоритель космических кораблей

Reading time14 min
Views46K


Дамы и Господа, в этой статье я представлю вашему вниманию революционный безтопливный ускоритель, не имеющий аналогов в мире, который ничего не выбрасывает (требуется только электричество). Мой ускоритель в тысячи раз эффективней обычных ракетных двигателей, он просто перевернёт всю мировую космонавтику и позволит колонизировать всю Солнечную систему за 50-100 Лет. 3 недели до Марса, 7 месяцев до Юпитера и 11 месяцев до Сатурна — такого даже в научной фантастике нет — но сегодня это станет реальностью.

Как и все безтопливные ускорители — мой ускоритель может работать только в вакууме, но главное преимущество моего ускорителя перед другими безтопливными двигателями заключается в том — что другие ускорители не работают, а мой работает!!! — мой ускоритель никаким законам физики не противоречит. Мой ускоритель противоречит лишь животным инстинктам — человек так устроен, что в процессе жизнедеятельности, человеку постоянно необходимо гадить — и поэтому Людям кажется, что если не нагадить в космосе — то ракета не полетит — но это в корне не верно! Хватит обезьяних технологий!!! Реактивный … струя, импульс, формула Циолковского — сегодня вы забудете про эту гадость как про плохой сон.
Для начала давайте отправимся на Луну со второй космической скоростью.

Итак, чтобы отправиться с орбиты Земли на Луну, нам понадобится:


Читать дальше →

Python: конфигурация проекта без боли

Reading time6 min
Views41K

Расскажу о проделанном пути, чтобы найти идеальный, для моих целей, инструмент конфигурирования проекта и о создании легковесной библиотеки bestconfig, впитавшей в себя преимущества изложенных подходов.

В статье речь пойдет только о локальных способах хранения настроек, здесь не разбираются случаи загрузки из сети.

После создания проекта рано или поздно возникает вопрос: куда записывать номер версии, где хранить токены, пароли, настройки, каким форматом файлов конфигурации воспользоваться: .json.yaml.env, .cfg.ini или просто создатьconfig.pyи записывать туда переменные?

Для каждого из перечисленных вариантов есть библиотека на python, приведу примеры самых популярных форматов

Читать далее

Garuda Linux — 2 часа радовался как младенец, но…

Reading time4 min
Views50K

Привет, друзья! Хочу поделиться опытом знакомства с Garuda Linux, так как в последнее время являюсь поклонником Arch-подобных KDE, для установки на свой довольно мощный ноутбук Dell G7-7790 (i9 2080RTX Max-Q 64GB RAM) выбирал на сайте одну из 2-х версий: Dragonized Gaming Edition и Dragonized BlackArch Edition.

Хороший маркетинговый ход! Согласитесь, и одна и вторая сборка звучит очень заманчиво, Linux Gaming - прямо таки манит игроманов, которые всю жизнь сидят на Windows. Да и сам признаюсь, дядька я уже взрослый, но бывает Калду вечерок другой скоротаю с друзьями. Но как то для этих целей все еще Windows больше использую, но Linux уже почти догоняет в плане игр, спасибо Steam.

А как вам сборка Dragonized BlackArch? Не нужно мучительно долго устанавливать BlackArch из командной строки, размечать диск, ставить графический интерфейс, сама мысль об этом отпугивает юных хакеров. А тут, прям из коробки - вот это клад! Мне захотелось побыстрее попробовать все и сразу, а лучше 2 в 1.

Для этого решил задать вопрос на Garuda-форуме, мне там ответили, что лучше ставить BlackArch Edition, а игровые приложения и игры можно потом установить через фирменное приложение. Далее в ветку налетели какие то умники, типа зачем тебе совмещать эти 2 сборки не хакерское это дело, игры могут порты открытыми оставить.

Мое дело - как хочу так и ставлю, подумал я, обойдусь без ваших умных советов. Тем более, что ломать сайт Пентагона я не собирался. Просто пишу сайты, иногда их ломают, мне скорее было интересно чем, чтобы писать менее дырявый код.

Читать далее

Information

Rating
8,591-st
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity