Архив за 25 февраля 2020

Sapphire выпустит мини-компьютеры NUC на базе Ryzen Embedded

Не успела AMD представить новые чипы Ryzen Embedded для встраиваемых систем, как Sapphire тут же заявила о выпуске компактных ПК на их основе. Компьютеры Sapphire NUC могут составить достойную конкуренцию Intel NUC, которые уже успели завоевать себе хорошую репутацию.

tomshardware.com

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

Автоматизированная сборка Delphi-приложения

Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-коленке", хотя продукты бывают весьма серьёзными и продаваемыми. Вероятно, это пошло ещё с тех пор, когда для автоматизации нужно было придумывать свои батнички, которые запускали компилятор командной строки dcc32 с нужными параметрами. Некоторые даже сделали свой "Публикатор" — Delphi-expert, который делает работу сервера сборок: компилирует (правда, открытый в IDE) проект, выставляя ему взятый из какой-то БД инкрементированный номер версии, записывает некий changelog и копирует это куда-то в сетевой каталог.

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

Файл проекта современной версии Delphi — это .dproj-файл (здесь и далее я буду ориентироваться на Delphi 10 Rio, но с небольшими отличиями это верно для всех более ранних версий Delphi, начиная с 2007). В нём хранятся все настройки проекта, которые обычно изменяют в IDE (меню Project - Options (Ctrl+Shift+F11)). В рамках данной статьи я сконцентрируюсь на "основных", которые понадобятся для демонстрации общих принципов: это Config — конфигурация, Platform — платформа, OutputDirectory — путь выходного файла и ConditionalDefines (директивы условной компиляции). Остальные настройки, если таковые нужно менять при сборке, я предлагаю выявить самостоятельно. Этот же .dproj-файл, если в него заглянуть обычным текстовым редактором, является ничем иным как скриптом сборки MSBuild (давайте создадим простое консольное приложение и назовём его DelphiAutomatedBuild):

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

Анимируем RecyclerView легко без перехода на ViewPager2 - 1

Когда мы работаем с коллекциями и их отображением, перед многими из нас часто
встает выбор между ViewPager (теперь ещё и ViewPager2) и RecyclerView. Эти
компоненты похожи друг на друга по области применения, но серьезно отличаются
интерфейсом и реализацией. Начиная с support library 24.2.0 границы между
данными компонентами стали ещё более размытыми, т.к. появился вспомогательный
класс SnapHelper для автоматического доведения сhildView до
определенного положения на экране, и без устаревшего ViewPager стало проще
обходиться. С недавним релизом ViewPager2, казалось бы, о старом ViewPager и о
практиках его имитации вообще можно забыть (ViewPager2 — это по сути
RecyclerView с дополнительными вспомогательными классами, он позволяет
практически идентично повторить поведение ViewPager и сохраняет совместимость со
старым api).

Так ли это на самом деле? Лично для меня всё оказалось не так просто. Во-первых,
в классическом RecyclerView отсутствует интерфейс PageTransformer для
анимирования сhildView в зависимости от позиции (далее по тексту используется
понятие «позиционная анимация»). Во-вторых, неприятными сюрпризами долгожданного
ViewPager2 оказались модификатор класса final, который ставит крест на
переопределении метода onInterceptTouchEvent (компонент мало пригоден для
вложения горизонтальных списков в вертикальные), и приватность поля
recyclerView.

Итак, столкнувшись в очередной раз с трудностями позиционной анимации при
отображении коллекций с помощью RecyclerView и поковырявшись в ViewPager2 и
MotionLayout, я подумал, что позаимствовать принцип работы
ViewPager.PageTransformer для классической реализации RecyclerView а-ля
ViewPager2 не самая плохая идея.

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

Honor показал независимый от Google флагман и новые аксессуары

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

Игровой смартфон Lenovo получит быструю зарядку мощностью более 55 Вт

Несколько недель назад Lenovo объявила о предстоящем выходе на рынок игровых смартфонов под брендом Lenovo Legion. Сегодня был выпущен плакат, рекламирующий технологию быстрой зарядки устройства.

gizmochina.com

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

Живые и мотивирующие обои для рабочего стола - 1

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

Однажды среди бизнес-уроков Николая Мрочковского услышал про интересную технику работы с собственным временем и целями. Называется она "Таблица жизни".

Идея заключается в том, что на листике рисуется (распечатывается) собственная жизнь со статистической продолжительностью в виде квадратиков, каждый из которых равен одной неделе.Читать полностью »

Сегодня в продажу в Китае поступает новый бесконтактный инфракрасный термометр Xiaomi Berrcon, который измеряет температуру практически мгновенно.

Бесконтактный инфракрасный термометр Berrcon оснащен датчиком температуры и датчиком компенсации температуры окружающей среды для более точного контроля в режиме реального времени. Новый гаджет поддерживает автоматическое сохранение сделанных замеров для облегчения наблюдения за изменениями температуры тела. Есть ряд полезных функций, вроде предупреждения о лихорадке, помощь при неправильном использовании устройства и так далее.

lead picture

Cлой активности картографирования в OpenStreetMap от компании Kontur1 | Kontur, Mapbox | map data OpenStreetMap contributors

Картографирование

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

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

Мы знаем, что смартфон Xiaomi Mi 10 фотографирует весьма неплохо, а видео снимает и вовсе отлично. Но можно ли заставить аппарат фотографировать ещё лучше?

Можно попытаться, установив на него GCam. Но, как мы знаем, для флагманских смартфонов, где программному обеспечению уделено немало внимания, установка GCam далеко не всегда даёт сколько-нибудь видимый эффект. В случае же с Mi 10 ситуация получается и вовсе крайне неоднозначной.


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