Особенности разработки автомобильной электроники, некоторые хитрости и почти весь процесс создания блока на примере простого устройства.
Уже не безработный ;)
Jetpack Compose Desktop
Несколько дней назад компания JetBrains в своём блоге рассказала о выходе нового инструмента для создания дескопных приложений Jetpack Compose Desktop. Компания с русскими корнями не особо жалует русскоязычную аудиторию и не спешит рассказать нам о новинке, поэтому возьму на себя роль популяризатора.
Разработчики под Android уже могли слышать про Compose, которая доступна в предварительной версии Android Studio 4.2. Я не любитель устанавливать бета-версии, поэтому не мог пощупать новую технологию своими руками. Но когда услышал новость про Compose Desktop, то не удержался и поставил себе IntelliJ IDEA Early Access Program.
Для начала я установил версию IDEA 2020.3, где уже есть все необходимые настройки и шаблоны.
Создаём новый проект и выбираем шаблон Desktop uses Kotlin 1.4.0. Минимальная версия Java SDK должна быть не ниже 11. Проверял на Windows 10, других платформ у меня нет.
Приложение Getcontact светит вашими персональными данными, даже если вы им никогда не пользовались
Getcontact — мобильное приложение, позиционирующее себя как менеджер звонков и блокировщик спама. Появилось в конце 2017-го и стремительно взлетело на первые места магазинов приложений. Создатели сервиса оценивают свою аудиторию в 400+ миллионов пользователей.
Приложение декларирует, казалось бы, благие намерения: предотвращение нежелательных звонков от спамеров и телефонных мошенников — услуга в современном мире необходимая и востребованная. Однако свою популярность Getcontact приобрёл совсем по другой причине…
Unihiker: одноплатник с экраном за $75. Что это за девайс и какие у него возможности
Одноплатные ПК крайне редко поставляются с экранами. Обычно дисплей приходится докупать. Но теперь появился необычный девайс, который представляет собой нечто вроде карманного компьютера уже из коробки. Самый его дорогой компонент — дисплей, поэтому разработчики стремились удешевить систему, чтобы удержать стоимость на отметке в $79. Соответственно, каких-то рекордов производительности от него ждать не приходится. Но все же это неплохой девайс, который может пригодиться многим из нас. Давайте посмотрим, что он из себя представляет.
Прифронтовая разведка методами OSINT
Как показывает практика, современные вооруженные конфликты требуют новых подходов к организации сбора и анализа открытых данных, которыми мы оперируем в рамках OSINT. В этой статье мы рассмотрим различные инструменты, которые могут быть использованы в контексте прифронтовой разведки и сбора сведений о происходящем в зоне боевых действий из открытых источников.
gRPC — альтернатива REST API от Google
Проблема
Когда мы разрабатываем приложение, которое разделено на независимые автономные компоненты, мы говорим о микросервисной архитектуре. Для взаимодействия компонентов используется API. Самый популярным API является REST. Это обусловлено его гибкостью, эффективностью (в большинстве сценариев) и тем, что он легко масштабируется.
Большая часть реализаций REST использует стандарт JSON для обмена сообщениями. Обычно это удобно - сама по себе такая структура легко читается людьми и предоставляет независимость от языка программирования. Недостатками такого решения является избыточность данных и сущностей из которых состоит запрос. В большинстве случаев это некритично. Проблемы начинаются в сценариях, когда нужно передавать много данных с низкой задержкой.
Зачем нужен gRPC
gRPC (Remote Procedure Calls) — это система удалённого вызова процедур (RPC) с открытым исходным кодом, первоначально разработанная в Google. В качестве основного протокола передачи применяется HTTP/2, для описания процедур применяется “Protocol Buffers”. Это в свою очередь приносит дополнительные преимущества: сжатие HTTP-заголовков и мультиплексирование запросов.
gRPC предполагает возможность аутентификации, потоковой передачи данных в любую сторону, управление потоками, отмену и time-out запросов, при этом выделяется кроссплатформенностью за счет генерации исходного кода классов для всех популярных языков программирования.
Разработка процессорного модуля на базе микросхемы 1892ВА018 СнК «СКИФ» и его первый запуск
Версия данной статьи для "off-line прочтения" в формате PDF доступна по адресу: ссылка на статью.
В первой половине 2021 года в РФ резко обострились дебаты на тему импортозамещения, инициированные рядом изменений внесенных ранее в декабре 2020г в постановление N719 относительно закупок вычислительной техники, и бурно обсуждаемых на различных площадках и IT-форумах, таких как Elbrus Tech Day, YADRO Лекторий, а так же у ряда популярных блогеров. Основной посыл нововведений состоял в том, что вся вычислительная техника, закупаемая за бюджетные средства, должна иметь в основе микропроцессор, разработанный или произведенный в России или имеющий статус такового. Насколько такое решение Правительства годное и исполнимое — тема отдельного разговора, которую я не хотел бы сейчас затрагивать. Так или иначе, мы, в нашей небольшой компании, пришли к выводу, что данное решение Правительства может приоткрыть пусть не окно, но хотя бы форточку возможностей для мелких разработчиков электроники, которым является наша компания. Имея за плечами опыт разработки изделий на основе импортных (в основном китайских) систем-на-кристалле, мы решили, что на рынке могут быть востребованы одноплатные ПК, аналогичные Raspberry Pi и выполненные на отечественном СнК, по возможности близкие по габаритам и pin-to-pin совместимые с «малиной», а также процессорные модули, устанавливаемые на несущую плату, позволяющие упростить разработку конечного изделия и вынести сложную топологию за его границы.
Java XML API: выбираем правильно. StAX: работаем с удовольствием
Несмотря на снижение популярности формата XML с начала 2000х, он прочно занял свои ниши. Я сталкивался с обработкой XML ~ в 60% проектов и посвятил ей занятие своей стажировки Masterjava. Наиболее частые его применения: XHTML, SOAP, различные конфигурации (например Tomcat, SoapUI, IntelliJ IDEA, Spring XML конфигурация), импорт-экспорт данных.
В Java есть несколько API для работы с XML и для разработчика важно понимать, какое из API требуется выбрать в каждой конкретной ситуации. В этой статье я кратко перечислю все Java XML API, их назначение и примеры использования, и подробнее остановлюсь на работе с достаточно редкой, но в ряде случаев единственно верной технологией StAX. Предполагается что с элементами XML вы уже знакомы.
Как правильно проектировать электронику
Все электронные гаджеты, окружающие нас, были кем-то придуманы, формализованы в электрической схеме. Для них были спроектированы печатные платы, заказаны и установлены комплектующие, и в итоге было собрано готовое изделие. Каждый из этих этапов может быть реализован совершенно по-разному: от “ручной” самодеятельности до полностью автоматизированного цифрового подхода. В этой статье в блоге ЛАНИТ мы расскажем и покажем все уровни и варианты создания электронных устройств и подробно опишем новейшие технологии в проектировании электроники.
Как за полчаса написать простую читалку книг FB2 для десктопа на Java
Недавно мне для личных целей понадобилось написать читалку FB2. И сразу я столкнулась с тем, что информации по теме минимум. Палочка-выручалочка под названием ChatGPT выдал что-то невразумительное в ответ на довольно подробный запрос. К тому же, никаких готовых библиотек, чтобы по-быстренькому наваять ридер, я также не смогла обнаружить. Хотя искала долго и упорно, как Чубакка расческу.
Все это привело меня к закономерному выводу, что сначала нужно изучить формат FB2. А потом подумать, как прочитать его стандартными способами и вывести на экран. После того, как я немного разобралась со структурой FB2, начала догадываться, почему нет готовых библиотек. Дело в том, что этот формат довольно простой, и нет особой необходимости писать для него отдельную библиотеку. Можно довольно быстро наваять свой код, который будет читать практически все файлы FB2. И вы сможете убедиться в этом, если дочитаете статью до конца.
А раз все так просто, зачем я пишу эту статью? Для этого у меня есть две причины. Во-первых, это моя первая проба пера на Хабре. А во-вторых, возможно, это сэкономит кучу времени другому такому же новичку, как я. Ну, или пригодится какому-нибудь студенту, который пишет реферат.
Собираем NAS на базе китайской материнской платы N5095 Nas Motherboard
Всем привет! Делюсь опытом сборки NAS сервера на базе очень интересной (на мой взгляд) материнской платы.
Доработка фильтра обратного осмоса
Как-то в пору жаркого лета жена обратила мое внимание на странный привкус воды, которая текла после фильтра. У нас был установлен трех секционный проточный фильтр под мойку, а для питья мы пользовались еще и дополнительным фильтром в кувшине.
Хотя фильтры под мойкой менялись не очень давно, я решил поменять их еще раз, и к своему ужасу увидел неприглядную картину, примерно вот такую:
А так как колбы фильтров были не прозрачные, то заранее увидеть весь этот ужас было невозможно. И не смотря на то, что я руководствовался рекомендациями производителя по срокам замены фильтров, сюрприз вышел очень неприятный.
После этого пришлось озаботится получением чистой воды, которая идет на приготовление пищи и питье. Только в этот раз решил подумать, прежде чем бездумно выполнять рекомендации производителей и вестись на их рекламные общения.
И к своем неудовольствию, я не нашел такого предложения, которое бы меня устраивало! В итоге после некоторых размышлений, решил немного доработать фильтр обратного осмоса, о котором и хочу рассказать.
Делай нейминг как сеньор
Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.
Как получается, что код становится мало понятным даже для его авторов? Почему нейминг так важен? Как придумывать названия, не применяя целые теории нейминга? Как лёгким процессом организовать работу с неймингом в команде? На все эти вопросы мы ответим в статье.
Spark — Потрясающий веб-микрофреймворк для Java
Небольшое вступление
Spark — это просто чудесный микрофреймворк для создания веб-приложений на джаве без особых усилий. Spark стремится к простоте и обеспечивает только минимальный набор функций. Тем не менее он предоставляет все необходимое для создания веб-приложения, которые поместятся в несколько строк кода. С синтаксисом, вдохновленным Sinatra, код выглядит очень чистым.
Школа магии TypeScript: дженерики и расширение типов
Со временем автор этого материала понял, что каждый раз, когда он обходит ошибки, выявляемые на этапе компиляции, он закладывает в свой код бомбу замедленного действия, которая может рвануть во время выполнения программы. Каждый раз, когда он «боролся» с ошибками, используя простенькую конструкцию
as any
, ему приходилось платить за это многими часами тяжёлой отладки.В итоге он пришёл к выводу о том, что лучше так не делать. Он подружился с компилятором, начал обращать внимание на его подсказки. Компилятор находит проблемы в коде и сообщает о них задолго до того, как они могут нанести реальный вред. Автор статьи, глядя на себя как на разработчика, понял, что компилятор — это его лучший друг, так как защищает его от него самого. Как тут не вспомнить слова Альбуса Дамблдора: «Требуется большая храбрость, чтобы выступить против своих врагов, но не меньше ее требуется и чтобы выступить против своих друзей».
Каким бы хорошим другом ни был компилятор, ему не всегда легко угодить. Иногда избежать использования типа
any
очень непросто. А порой кажется, что any
— это единственное разумное решение некоей проблемы.Этот материал посвящён двум ситуациям. Избежав использования в них типа
any
можно обеспечить типобезопасность кода, открыть возможности по его повторному использованию и сделать его интуитивно понятным.HabraTab — девайс для хаброзависимых
Что-то часто стал заглядывать в профиль после каждой новой публикации. Так вот я и решил сделать табло, которое стояло бы на столе, и показывало место в рейтинге, карму, ну и само значение очков рейтинга.
Стильная, модная, молодежная разработка BPM на Camunda
BPM-разработка — дело непростое. Это обусловлено тем, что процесс должен быть читаемым и понятным заказчику, а не только корректным с технической точки зрения.
Не все средства разработки бизнес-процессов позволяют найти компромисс между понятным описанием и технической функциональностью. Многие продвинутые средства разработки и описания процессов часто имеют еще один недостаток: они настолько крутые, мощные и сложные, что, пока их делали, технологии сильно шагнули вперед и разработка таким инструментом стала неактуальной.
2018 год принципиально изменил наш подход к разработке бизнес-процессов. Ниже — о том, как эволюционировал этот подход и как менялись мы.
Десять вещей, которые можно делать с GraalVM
От переводчика: GraalVM — новая, интересная технология, но на Хабре по ней не так много статей, которые бы могли показать примеры возможностей Graal. Статья ниже — это не просто перечисление того, что GraalVM умеет, но ещё и небольшой мастер-класс, аналогичный тому, который Chris Seaton и Олег Шелаев проводили на Oracle CodeOne 2018. Вслед за автором, призываю — пробуйте делать примеры из статьи, это действительно интересно.
В GraalVM много всего разного, и, если вы слышали это название раньше, или даже видели доклады, то все равно есть много вещей, о которых вы наверняка ещё не знаете, но которые GraalVM может делать. В этой статье мы рассмотрим разнообразные возможности, которые предоставляет GraalVM и покажем, что с их помощью можно сделать.
- Быстрое выполнение Java
- Уменьшение времени старта и потребления памяти для Java
- Комбинирование JavaScript, Java, Ruby и R
- Исполнение программ, написанных на платформо-зависимых языках
- Общие инструменты для всех языков программирования
- Дополнение JVM приложений
- Дополнение платформо-зависимых приложений
- Код Java как платформо-зависимая библиотека
- Поддержка нескольких языков программирования в базе данных
- Создание языков программирования для GraalVM
Quarkus — сверхзвуковая субатомная Java. Краткий обзор фреймворка
Введение
Седьмого марта компания RedHat (вскоре — IBM) представила новый фреймворк — Quarkus. По словам разработчиков, этот фреймворк базируется на GraalVM и OpenJDK HotSpot и предназначен для Kubernetes. Стек Quarkus включает в себя: JPA/Hibernate, JAX-RS/RESTEasy, Eclipse Vert.x, Netty, Apache Camel, Kafka, Prometheus и другие.
Цель создания — сделать Java лидирующей платформой для развертывания в Kubernetes и разработки serverless приложений, предоставляя разработчикам унифицированный подход к разработке как в реактивном, так и в императивном стиле.
Если смотреть на эту классификацию фреймворков, то Quarkus где-то между "Aggregators/Code Generators" и "High-level fullstack frameworks". Это уже больше, чем агрегатор, но и до full-stack не дотягивает, т.к. заточен на разработку backend.
С 31-го февраля в России полностью запретят VPN
Как вам заголовок, а? Как вам такой подарочек на Рождество?
Нет, это неправда, это шутка такая.
Не с 7-го января запретят. С другого числа запретят.
Добро пожаловать под кат, будем вместе учиться обходить блокировки VPN у наших коллег из дружественных стран - Китая, Ирана, Туркменистана и конечно же Северной Кореи.
AmneziaVPN снова на связи!
Information
- Rating
- 3,128-th
- Registered
- Activity