Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

Расширенная шпаргалка по корутинам Kotlin

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.8K

Предположим, что вы уже какое-то время работаете с Kotlin-корутинами и знакомы с базовыми концепциями, такими как приостанавливаемые (suspend) функции и билдер launch. Однако по мере усложнения проектов вы всё чаще сталкиваетесь с необходимостью искать решения для более продвинутых задач и обращаетесь к поисковым системам или искусственному интеллекту за помощью.

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

Читать далее

Duke Nukem 3D – герой нашей юности

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров10K
image

Время, когда компьютерные игры были настоящим искусством, оставило нам множество шедевров, каждый из которых по-своему уникален, и я отчетливо помню, как новые релизы вызывали настоящий ажиотаж. В те дни, когда интернет еще не был столь повсеместен, мы ждали очередной номер игрового журнала как праздник и обсуждали последние новости и слухи во дворе или в школьных коридорах. Одним из тех проектов, что произвели фурор в 90-х, был Duke Nukem 3D. В отличие от большинства своих конкурентов он привлекал внимание не только графикой и геймплеем, но и своим неординарным героем – Дюком Нюкемом, который впечатлял харизмой и острыми фразочками. Итоговый результат сделал студию 3D Realms настоящей рок-звёздой индустрии тех лет, а персонаж их игры до сих пор является одним из самых узнаваемых героев видеоигр и символом эпохи.

Для меня, как и для многих других геймеров, знакомство с Duke Nukem 3D началось не с покупки заветного диска, а с рассказов друзей и статей в игровых журналах. Полноценно сыграть я смог лишь спустя годы, но мне всё равно удалось получить удовольствие и дозу первобытного адреналина в момент расправы над ордами инопланетных захватчиков.
Очень надеюсь, что сегодня я подарю вам удовольствие и прилив ностальгии не только от чтения строк о любимой игре юности, но и позволив самостоятельно прикоснуться к культовому проекту прошлого, ведь вас ждут несколько сборок этой культовой игры (ссылку для скачивания ищите в конце статьи), благодаря чему вы сможете как повторить свой старый игровой опыт, так и получить новый за счёт улучшенной графики и прочих модернизаций.
Читать дальше →

Kodein DI для Android. Основы API

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров6.1K

Android разработчики обожают DI. Куда ни посмотри, куча статей и выступлений про Dagger 2, Hilt или Koin, но очень мало про Kodein. Даже на Хабре всего пару неплохих статей, но и те от 2018 года. Но с тех пор Kodein бурно развивался, и вышло много мажорных версий, API значительно изменился.

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

Итак, погнали

Типографская раскладка для 60-процентной клавиатуры

Время на прочтение22 мин
Количество просмотров22K


Оригинал фото: pxhere.com/ru/photo/1600961

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

MacOS Monterey на Linux — быстро и просто?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров50K
Что делать, если у вас возникло желание или необходимость заняться разработкой под MacOS или iOS, но под рукой нет макбука, а покупать его только чтобы открыть Xcode кажется делом сомнительным? Недавно я столкнулся с такой проблемой в одном из своих пет-проектов и решил ее достаточно просто и быстро. После выполнения нескольких достаточно примитивных шагов, мне удалось запустить MacOS Monterey как на скриншоте ниже.

image

Никакого Virtualbox, никакого Virtual Machine Manager. Из требований — только 100 Гб свободного места на диске и хотя бы 16 Гб оперативной памяти. В рунете я встречал описание похожих путей установки, вроде Docker-OSX или Sosumi. Но я бы хотел поделиться способом, который позволяет использовать актуальную версию MacOS (Sosumi — сразу минус) и не потратить уйму свободного времени на возню с конфигами и терминалом. Поехали.
Читать дальше →

Дружим BeamNG и частичку Гранты

Время на прочтение26 мин
Количество просмотров12K

Многим знакомо удовольствие от игры в реалистичные автосимуляторы, например, BeamNG с его продвинутой физикой мягких тел. Наматывание на столбы становится еще увлекательнее, если удалось найти 3D-модель собственного автомобиля.

Но что делать, если хочется пойти еще дальше и подключить реальную панель приборов к BeamNG?

Читать далее

HBO, cпасибо что напомнил… «Чернобыльская аптечка» беларуского фармацевта

Время на прочтение20 мин
Количество просмотров125K
Что бы ни сказали — не станем спорить
Что бы ни дарили — не станем верить

Егор Летов «Как листовка»

Думаю не стоит лишний раз говорить о нашумевшем сериале Чернобыль и эффективности такого «сериального» воздействия на массы. Особенно на массы, проживающие на территориях, показанных в фильме. Выход каждой новой серии сопровождается всплеском публикаций в FB. В каждой из которых горечь, страх, боль. Что в такой ситуации я могу сделать ("кто виноват и что делать?")? Могу только описать свой взгляд на терапию лучевых поражений. Спасибо родненькой кафедре химии высоких энергий и проф. Шадыро О.И., которые пестовали в своих лабораториях нас, непутевых фармацевтов-радиохимиков. Надеюсь своей статьей честь этой, легендарной некогда, кафедры я не опорочу.

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

В общем, спасибо, сценаристы HBO, за то, что всколыхнули Память. Мой посильный вклад — под катом. Рейтинг доступных (и не очень) антидотов, способных сработать при радиационном выбросе. В закладки — класть строго ВСЕМ! И прочитал сам — перекинь другу.

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

Как мы запустили 2ГИС под CarPlay и до сих пор расхлёбываем

Время на прочтение14 мин
Количество просмотров50K


Привет! Меня зовут Ваня, я пишу мобильное приложение 2ГИС под iOS. Сегодня будет история о том, как наш навигатор появился в CarPlay. Расскажу, как с такой себе документацией и недоделанными инструментами мы создали рабочий продукт и разместили его в AppStore.

Поехали!

Анимации в Android по полочкам (Часть 1. Базовые анимации)

Время на прочтение11 мин
Количество просмотров98K
Всем привет!

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

Сегодня мы поговорим об инструментах для создания анимации. К сожалению, так получилось, что в Android достаточно много способов что либо анимировать, и по началу в них очень легко запутаться. Я постараюсь привести максимально общую классификацию и оставлю ссылки исключительно на документацию, т.к. туториалов можно найти предостаточно. Надеюсь эта статья поможет уложить в голове всё по полочками и, при необходимости создать анимацию, выбрать наиболее подходящий способ.
Читать дальше →

Астигматизм — способы коррекции

Время на прочтение9 мин
Количество просмотров127K
Живете вы не печалитесь, смотрите на мир слегка прищуриваясь, и вдруг вам сообщают, что у вас астигматизм. Астигматизм – оптика глаза с неправильной фокусировкой, когда на сетчатке нет четкости из-за искажений в роговице или хрусталике глаза. Самостоятельно нельзя поставить такой диагноз – его обнаруживает офтальмолог. И возникает вопрос – что с ним делать? Надеть очки или контактные линзы, тренироваться с утра до ночи как рекомендует интернет или отдать себя в руки хирургов, чтобы «подправили» прицел?

А еще вариант – ничего не делать, продолжать жить как раньше, не болит же ничего.

Методы коррекции астигматизма

Важное правило – понять с каким отделом глаза связана эта оптическая проблема. От этого будет зависеть метод коррекции или лечения астигматизма.
Читать дальше →

Как сделать процессорный звук в Жигулях

Время на прочтение8 мин
Количество просмотров43K

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


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


Под катом будет много схем и графиков.

Что намазать на зубы, чтобы они не выпали

Время на прочтение8 мин
Количество просмотров194K


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

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

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

Как работает Android, часть 1

Время на прочтение8 мин
Количество просмотров226K


В этой серии статей я расскажу о внутреннем устройстве Android  —  о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.

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

Как я написал мобильное приложение на react-native

Время на прочтение7 мин
Количество просмотров15K
Меня зовут Алексей Андросов, я уже много лет работаю в Яндексе фронтенд-разработчиком. Два года назад мне и моим партнерам пришла в голову идея создать мобильную социальную сеть Verb. Идея Verb в том, что пользователи могут делиться небольшими статусами — “вербами” — о том, чем они занимаются в данную минуту, простыми вещами, о которых хочется рассказать друзьям, но некуда об этом написать. И мы уже даже получили инвестиции, но сейчас не об этом. Сегодня я хочу рассказать о том, как и почему я написал мобильное приложение на react-native.
Читать дальше →

Реализуем тач логгер под Android с помощью CVE-2016–5195

Время на прочтение16 мин
Количество просмотров8.8K

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


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

Я расскажу о своём пути решения этой задачи. Он был долгим, тернистым, но чертовски увлекательным! Надеюсь, вам будет интересно проследить за ним и узнать для себя что-то новое о linux, android, их безопасности и их внутренностях. Я не гуру в устройстве linux, поэтому кому-то некоторые объяснения покажутся очевидными и излишне подробными, но повторюсь, это мой путь и я подробно описываю всё, что изучил в процессе. Надеюсь, это не оттолкнёт опытных линуксоидов и немного снизит порог вхождения для всех остальных. Итак. Как же реализовать тач логгер под android?
Читать дальше →

Обзор 98 одноплатных компьютеров. Часть 1

Время на прочтение14 мин
Количество просмотров138K
Часть 1
Часть 2
Часть 3
Часть 4

От переводчика: Предлагаю вашему вниманию перевод отчёта по одноплатным компьютерам, который был опубликован на сайте LinuxGizmos.com. В отчёт включены краткие описания 98 плат стоимостью до 200 долларов. В отчёте такие платы называют «хакерскими», чтобы подчеркнуть их пригодность для различного творчества.
Так как объем информации весьма велик, я разбил перевод на несколько частей.

Также хочу предупредить, что под катом очень много картинок!

Итак, часть 1.



КДПВ

В течение последнего года, LinuxGizmos сообщал о дюжинах новых одноплатных компьютерах с открытыми спецификациями, дружественных к разработчикам и «хакерам», на которых можно запустить Linux и Android. Мы добавили их в наш каталог вместе со старыми платами. Платы, попавшие в наш обзор, стоят меньше 200 долларов без учёта пересылки, доступны для доставки в июле этого года, и удовлетворяют нашим (весьма гибким) критериям открытости.
Читать дальше →

Kotlin, компиляция в байткод и производительность (часть 1)

Время на прочтение12 мин
Количество просмотров35K


О Kotlin последнее время уже очень много сказано (особенно в совокупности с последними новостями c Google IO 17), но в то же время не очень много такой нужной информации, во что же компилируется Kotlin.
Давайте подробнее рассмотрим на примере компиляции в байткод JVM.

Это первая часть публикации. Вторую можно посмотреть тут

Процесс компиляции это довольно обширная тема и чтобы лучше раскрыть все ее нюансы я взял большую часть примеров компиляции из выступления Дмитрия Жемерова: Caught in the Act: Kotlin Bytecode Generation and Runtime Performance. Из этого же выступления взяты все бенчмарки. Помимо ознакомления с публикацией, настоятельно рекомендую вам еще и посмотреть его выступление. Некоторые вещи там рассказаны более подробно. Я же больше внимания акцентирую именно на компиляции языка.

Содержание:


Функции на уровне файла
Primary конструкторы
data классы
Свойства в теле класса
Not-null типы в публичных и приватных методах
Функции расширения (extension functions)
Тела методов в интерфейсах
Аргументы по умолчанию
Лямбды

Но прежде чем рассмотрим основные конструкции языка и то, в какой байткод они компилируются, нужно упомянуть о том, как непосредственно происходит сама компиляция языка:
Читать дальше →

Subaru и Arduino: протокол SSM1. Рукопожатие

Время на прочтение4 мин
Количество просмотров45K

Исходные данные




Приехала ко мне недавно плата под названием Carduino Nano v7. И как-то так вдруг совпало, что примерно в это же время на панели своего авто я с удивлением обнаружил горящую лампочку Check Engine. «Это жжжжжж неспроста» — подумал я, и углубился в поиски. Оказалось, что ошибки можно прочитать без дополнительных устройств — самодиагностика в Форестерах очень проста и доступна любому. Причем здесь тогда Arduino?
Читать дальше →

Android Tips and Tricks

Время на прочтение13 мин
Количество просмотров47K
В данном материале можно будет увидеть различные инструменты и подсказки, которые здорово облегчают жизнь Android разработчикам. Большая часть собрана напрямую от знакомых разработчиков и содержит вещи, которые должен знать каждый. Дополнения и расширения приветствуются, и если вы знаете о каком-то крутом механизме, который не был упомянут в статье, не поленитесь перейти в оригинал и открыть pull request.
Читать дальше →

Оптимизация производительности в React

Время на прочтение8 мин
Количество просмотров27K

React. Продвинутые руководства. Часть Пятая


Продолжение серии переводов раздела "Продвинутые руководства" (Advanced Guides) официальной документации библиотеки React.js.


Оптимизация производительности в React


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


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность