Pull to refresh
24
0
Send message

Для подписи приложений iOS/macOS не нужен компьютер Apple

Reading time4 min
Views10K


В экосистеме Apple сейчас так устроено, что для выпуска приложений iOS/macOS требуется получение сертификата, затем подпись кода и нотаризация подписи. Согласно документации, подпись кода гарантирует пользователям, что приложение получено из известного источника и не изменялось. Для получения и использования сертификатов требуется участие в программе Apple Developer Program.

Такая система удобна с точки зрения безопасности закрытой экосистемы Apple, но создаёт некоторые трудности для разработчиков.

Однако любые трудности на то и существуют, чтобы их преодолевать.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments6

Ручная установка и настройка Arch Linux — шпаргалка шаг за шагом

Level of difficultyMedium
Reading time8 min
Views13K

ARCH


Подготовка к установке


Скачиваем образ дистрибутива Arch Linux


Утилиты для записи образа на флеш-накопитель:


  • Linux — balenaEtcher
  • Windows — Rufus
  • Кроссплатформенный Ventoy (рекомендовано)

Руководство на Habr как записать образ на флеш-накопитель с помощью Ventoy
Видео на YouTube по использованию Ventoy

Читать дальше →
Total votes 20: ↑17 and ↓3+18
Comments64

Как новый компилятор K2 ускоряет компиляцию Kotlin на 94%

Level of difficultyMedium
Reading time10 min
Views13K

Привет, меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.

Не за горами выпуск новой версии Kotlin 2.0, основной частью которого является изменение компилятора на K2. 

По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новых языковых фич и унифицировать все платформы, предоставляя улучшенную архитектуру для мультиплатформенных проектов.

Но мало кто изучал, как работает K2, и чем он отличается от K1. 

Эта статья освещает нюансы работы компилятора, которые будут полезны разработчикам для понимания, что же JB улучшают под капотом, и как это работает.

Читать далее
Total votes 69: ↑69 and ↓0+75
Comments16

ViewModel + Kotlin Multiplatform. Пробуем нативное решение

Level of difficultyMedium
Reading time9 min
Views7.9K


Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. Компания Google объявили о своем интересе к Koltin Multiplatform на прошлом Google I/O 2023. Следом был обозначен вектор развития имеющихся решений архитектурных библиотек Jetpack для поддержки KMP. Буквально считанные часы назад компания Google опубликовали ожидаемую многими новинку, а именно ViewModels из библиотеки Lifecycle с поддержкой API Kotlin Multiplatform. И сейчас мы с вами проверим, насколько это удобно, что уже готово, а что нужно доработать.

Для начала освежим, с чем же мы работали до ViewModels из Lifecycle.

Сами по себе ViewModel как часть паттерна MVVM применительно к кросс-платформенным решениям идея не новая. Многие давно использовали собственную реализацию, совмещая также с платформенными архитектурами.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments5

Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN

Level of difficultyEasy
Reading time10 min
Views15K

Привет, Хабр!

Утренний будильник, кофеварка, микроволновка, телевизор, кондиционер – все они оборудованы микроконтроллерами. Микроконтроллеры управляют функциями устройства, обеспечивая пользовательский интерфейс и взаимодействие с другими устройствами. Микрокотроллеры также используются в автомобилях, к примеру для контроля работы двигателя или системы ABS. А в медицине практически все оборудование работает на микроконтроллерах.

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

В этой статье рассмотрим такие протоколы взаимодействия как SPI, IDC, UART, CAN

Читать далее
Total votes 30: ↑16 and ↓14+8
Comments82

Измерение концентрации ксенон-кислородной смеси вакуумметром Пирани

Reading time5 min
Views2.7K

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

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments6

Первое знакомство с nRF52832, его оригинальным SDK и средой разработки SEGGER. Мигалка светодиодом Bluetooth

Reading time5 min
Views10K

nRF52832 дешевый и доступный микроконтроллер с поддержкой Bluetooth/

В статье ниже постарался рассказать как сделать BLE UART устройство мигания свтеодиодом.

Читать далее
Total votes 12: ↑10 and ↓2+11
Comments17

nRF52832. Реализация сопряжения и списка доверенных подключений

Level of difficultyMedium
Reading time5 min
Views2.1K

В предыдущей статье я кратко описал как начать работать с nRF52832. Для полноценной работы периферийного устройства необходимо реализовать функции сопряжения и подключения "по кнопке", как многие серийные Bluetooth устройства. Этот путь был тернист и долог, этой статьей постараюсь его облегчить.

Читать далее
Total votes 12: ↑11 and ↓1+14
Comments1

CH32V003 первый проект. Мигаем OLED дисплеем и делаем измеритель концентрации CO2

Level of difficultyEasy
Reading time15 min
Views15K

В последнее время разработчики электроники испытывают трудности с поставками электронных компонентов. Одним из решений данной проблемы является переход на "исконно китайскую" элементную базу. Это решение подкупает ценой и доступностью, но пугает плохой документацией и небольшим количеством информации на понятных нам языках. В данной публикации расскажу о любопытном микроконтроллере на ядре RISC-V и сделаю простое первое устройство - датчик концентрации углекислого газа в воздухе/мигалку OLED дисплеем и светодиодом (куда ж без мигалки светодиодом). В репозитории размещен проект для тех, кто захочет воспользоваться данными наработками.

Читать далее
Total votes 37: ↑37 and ↓0+37
Comments20

Внедрение библиотеки навигации Modo в многомодульный Compose проект

Level of difficultyEasy
Reading time5 min
Views1.6K

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments0

Мобильные экранчики в ваших проектах: большой и понятный о гайд о различных дисплеях

Level of difficultyMedium
Reading time18 min
Views25K
image


Пожалуй, немалая часть моих читателей так или иначе интересуется DIY-тематикой. И в различных самодельных девайсах порой есть необходимость вывести какую-либо информацию на дисплей, будь это текст, графики или даже какая-то анимация! Для разных задач существуют самые разные дисплеи и в сегодняшнем материале я хотел бы систематизировать и собрать подробнейший гайд об использовании дисплеев с нерабочих мобильных телефонов: какие бывают протоколы и шины данных, как читать схемы устройств и определять контроллеры дисплеев, какие дисплеи стандартизированы, а какие придётся реверсить самому и как быть с подсветкой. В практической части статьи мы подключим дисплей по протоколу MIPI DBI к RP2040 с использованием DMA. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 88: ↑86 and ↓2+106
Comments116

API vs ABI: разницу видят не только лишь все

Level of difficultyMedium
Reading time5 min
Views6.1K

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

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

Читать далее
Total votes 18: ↑17 and ↓1+17
Comments14

Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose

Level of difficultyEasy
Reading time12 min
Views2K

Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI /UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку интерфейсов в XML и Compose для варьирующего размера шрифта. А также покажу почему атрибут contentDescription так важен.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments3

Книга «Основы компиляции: инкрементный подход»

Reading time14 min
Views5.3K
image Привет, Хаброжители!

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

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

Джереми Сик объясняет важнейшие концепции, алгоритмы и структуры данных, лежащие в основе современных компиляторов, и закладывает основу для изучения более сложных тем. Это краткое, но доступное руководство уже давно используют студенты и профессионалы.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments6

Разбираемся с Bluetooth Low Energy на примере превращения USB-клавиатуры в беспроводную

Level of difficultyMedium
Reading time16 min
Views16K


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

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

Не имея навыков пайки, вы сможете создать полезное Bluetooth-устройство, а ваше понимание Bluetooth и Linux уже не будет прежним, если вы, конечно, не являетесь экспертом в этих областях.

Данная статья ставит целью на примере разработки собственной Bluetooth-клавиатуры помочь разобраться в базовых понятиях Bluetooth, так как чтение скучных спецификаций и статей с введением в технологию даёт мало пользы.
Читать дальше →
Total votes 55: ↑53 and ↓2+72
Comments76

Как работает управление памятью в Rust без сборщика мусора

Level of difficultyMedium
Reading time8 min
Views10K

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

Читать далее
Total votes 34: ↑30 and ↓4+33
Comments5

Теория игр за 15 минут

Level of difficultyEasy
Reading time15 min
Views58K

Многие из вас, я уверен, слышали о теории игр в какой-то момент своей жизни. Если вы хотите выглядеть умным и произвести впечатление на свою девушку — просто упомяните «игру с нулевой суммой» или «эволюционную стратегию», и ваши шансы отвести её домой сегодня вечером только что подскочили на 50%. Или вы можете использовать теорию игр, чтобы принимать решения в инвестировании своих денег (чтобы их полностью потерять и разориться) или, например решая, на какой девушке жениться (что также очень вероятно вас разорит). Как видите, это очень полезная теория.

Чтобы казаться умным - достаточно выучить эти пару выражений, но чтобы на самом деле что-то понимать - придется разобраться. Оказывается, это не так уж сложно и довольно интересно. Давайте посмотрим.

Читать далее
Total votes 92: ↑89 and ↓3+103
Comments30

Разбираем самый маленький PNG в мире

Level of difficultyEasy
Reading time9 min
Views36K

Самый миниатюрный PNG в мире весит 67 байт и представляет собой один чёрный пиксель. Выше вы видите его в 200-кратном увеличении.

Красота, не так ли?

Состоит этот файл из четырёх частей:

  1. Сигнатура PNG, одинаковая во всех файлах этого формата: 8 байт.
  2. Метаданные изображения, включая его размеры: 25 байт.
  3. Данные пикселя: 22 байта.
  4. Маркер «конец изображения»: 12 байт.

Далее я опишу этот файл подробнее и постараюсь объяснить принцип работы формата PNG.

В качестве небольшой затравки скажу, что в конце предстоит неожиданный поворот. Хотя, надеюсь, вам и без того интересно побольше узнать о PNG.
Читать дальше →
Total votes 104: ↑96 and ↓8+124
Comments112

Создаем I2C Master Controller на Verilog. Проверим работу на реальном железе

Level of difficultyMedium
Reading time22 min
Views6K
После того, как Я реализовал битовый контроллер I2C Master — уж очень чесались руки опробовать его в реальной задаче. Теперь можно начинать строить уровни абстракции от манипуляции отдельными битами и уже формировать полноценные транзакции, которые приводят к какому-либо действию с подчиненным устройством. Я подумал, что было бы классно сделать такую проверку своего автомата во взаимодействии с простейшей I2C 2K-bit EEPROM.

Идея простая — читаем и записываем данные по нажатию клавиш на одной из отладок с Cyclone IV, которые я рассматривал в одном из своих обзоров.

Если материал вам кажется интересным — добро пожаловать, с удовольствием и в свойственной мне манере расскажу, чего мне удалось добиться, а чего не удалось. 🙂

image


Читать дальше →
Total votes 53: ↑52 and ↓1+59
Comments10

Как объяснить градиентный спуск вашей маме: простое руководство

Level of difficultyEasy
Reading time7 min
Views19K

Градиентный спуск лежит в основе большинства методов AI/ML. Звучит как-то странно и пугающе. Спуск? Блин, надеюсь, мне не придется прыгать с парашютом...😒

Не волнуйтесь, возможно, все же придется прыгнуть, но только если вы этого захотите. Это объяснение способен понять даже ваш 10-летний племянник.

Читать далее
Total votes 24: ↑22 and ↓2+22
Comments13

Information

Rating
Does not participate
Registered
Activity