Как стать автором
Обновить
0
0
Юрий Яковлев @metal_millitia

Студент

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

Создание красивых градиентов на CSS

Время на прочтение5 мин
Количество просмотров22K
Вот линейный градиент на CSS, идущий от чисто жёлтого до чисто синего цвета:


Заметили, что в центре он становится бледным и грязным?

Это явление Эрик Кеннеди назвал «мёртвой зоной серого». Если вы тщательно не выбираете цвета для своих градиентов, то в ваших градиентах на CSS часто возникает такая обесцвеченная часть посередине.

Однако, как оказалось, можно полностью избавиться от мёртвой зоны серого. В этом посте я расскажу, почему она возникает, и о том, как можно использовать теорию цвета для создания насыщенных, ярких градиентов, «живых» по всей своей длине.
Читать дальше →
Всего голосов 56: ↑52 и ↓4+59
Комментарии30

Учим домашний сервер Linux засыпать при простое и просыпаться по запросу

Время на прочтение13 мин
Количество просмотров14K
Всё началось с, казалось бы, обыденного изменения в моём домашнем сервере для хостинга бэкапов Time Machine: я хотел, чтобы он уходил в сон, когда находился в состоянии простоя, и пробуждался при необходимости. Уход в сон при простое — кажется, в Windows эта функция встроена с Windows 98? Насколько сложно будет это настроить на современной версии Ubuntu?

Честно говоря, мне требовалось нечто большее, чем засыпание при простое, мне нужно было ещё и пробуждение по запросу; оказалось, вот это второе требование реализовать довольно сложно. Я много раз заходил в тупик, но продолжал искать решение, которое «просто работает» без необходимости ручного включения сервера для каждого бэкапа. Вы можете прочитать статью целиком, чтобы узнать о моём пути, или просто прочитать готовые инструкции.


Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии22

Асимметричная криптография для чайников

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

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

Читать далее
Всего голосов 15: ↑7 и ↓8+1
Комментарии23

Как делается OpenSource: личный опыт

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

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

Вместе эти два пакета образуют стек "бездрайверного" сканирования документов для Linux и *BSD, а в перспективе нескольких лет, когда старые сканеры, наконец, вымрут, вероятно других драйверов и не останется.

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

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

В целом, я полагаю, продвижение OpenSource пакетов структурно близко к продвижению на рынок программных продуктов. Занимаясь этой деятельностью, очень хорошо начинаешь понимать разницу между (1) написать программу, которая работает для меня (2) написать программу, которую можно назвать продуктом (3) вывести продукт на рынок.

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее
Всего голосов 394: ↑394 и ↓0+394
Комментарии71

История ограничений фоновой работы в Android для разработчиков

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

Когда-то в Android были времена, когда запустить задачу в фоне было просто и гарантии ее работы были высоки. Теперь же в ОС есть множество ограничений: работа в фоне, доступ к файловой системе, системы оптимизации расхода батарейки, разрешения, часть которых требует одобрения модераторов Google Play. Разработчикам приходится работать в условиях всех этих ограничений и учитывать их при разработке функций. В рамках этой статьи я хочу разобраться с ограничениями, которые есть на разных версиях Android, чтобы вы смогли лучше понимать, что может происходить.

Читать далее
Всего голосов 31: ↑30 и ↓1+33
Комментарии51

FET: (F)дружелюбный (E)эффективный (T)транзистор

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

Работая со схемой, управляющей приличной силой тока, вы зачастую сталкиваетесь с полевыми транзисторами (FET, Field-Effect Transistor). Независимо от того, хотите ли вы управлять парой мощных светодиодов, двигателем или включать/отключать USB-устройство, в схеме обычно присутствует полевой транзистор, выполняющий часть ответственной работы. Вы можете не знать, как именно он функционирует, как его использовать и какие нюансы при этом учитывать — поэтому начнём с основ.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+46
Комментарии18

FET: замышляем новую шалость

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

В прошлый раз мы разобрали основы полевых транзисторов, поговорили об их нюансах и возможных подвохах. Но на основах здесь дело не заканчивается, поэтому давайте разберём реальные случаи применения этих транзисторов во всём их разнообразии! Я хочу показать вам несколько крутых схем, где дружелюбные полевики, особенно их МОП-модификация, способны вам помочь. Попутно с этим я также представлю вам несколько полевых транзисторов, с которыми вы, как мне кажется, подружитесь надолго. Если, конечно, вы с ними ещё не знакомы.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+47
Комментарии5

Разработка системы indoor-позиционирования. И немного импортозамещения

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

Привет, Хабр! Я системный архитектор Sitronics Group. Сегодня хочу представить вам кейс разработки платформы indoor-позиционирования Sitronics Locus, а также непредвиденного импортозамещения. Программными методами нам удалось добиться точности позиционирования до 1 метра. Думаю, всем разработчикам схожих решений и сотрудникам IT-департаментов на опасных производствах и в промышленности будет интересно почитать.

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

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

Возможна ли работа с bluetooth в Android без местоположения?

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

Разработчики Вы там совсем обнаглели ? Зачем Вам мое местоположение ?

Типовой отзыв для андроид приложения, работающего с блютуз устройством.

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

Читать далее
Всего голосов 18: ↑16 и ↓2+19
Комментарии15

Оживляем веб-камеру 1999 года

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

Покупая девайс, мы, в принципе, понимаем, что вечно он не прослужит: разъёмы износятся и/или сам прибор выйдет из моды. Но лично меня наиболее удручает ещё одна причина избавляться от техники: для неё просто перестают делать драйвера.

Успех USB особенно примечателен. Этот стандарт с нами уже очень долго, и разъём его практически не менялся (в основном, не считая USB-C). Это значит, что очень старые устройства под USB 1 по-прежнему можно применять в системах, продаваемых сегодня. Как минимум, так должно быть, если у старых устройств есть драйверы для тех операционных систем, что актуальны сегодня.

Читать далее
Всего голосов 68: ↑67 и ↓1+91
Комментарии25

Простыми словами об ARMBIAN

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

По сути это процесс сборки Linux с описанием некоторых проблем с которыми можно столкнуться при использовании ARMBIAN. Ну и самое главное, из-за чего это понадобилось, это возможность каскадного монтирования файловой системы. Правда используется не AUFS, а Overlay2 поскольку в последних версиях Linux Kernell он уже встроен и не придется накладывать патч.

Читать далее
Всего голосов 8: ↑7 и ↓1+7
Комментарии4

Что внутри APK. App Bundle. Google Play Dynamic Feature

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

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

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Список фишек Android Studio для ускорения разработки

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

Привет! Меня зовут Стефан, я занимаюсь Android-разработкой в KTS.

Android-разработчики каждый день сталкиваются с своим основным инструментом — Android Studio. 

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

Читать далее
Всего голосов 22: ↑21 и ↓1+23
Комментарии9

Как настроить автомиграцию в Room

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

Привет, Хабр! Меня зовут Роман, я Android-разработчик в IT-компании SimbirSoft. В этой статье я расскажу про автомиграцию в Room (версия не ниже Room 2.4.0), варианты ее использования, преимущества, которые она дает, и проблемы, с которыми мы можем столкнуться.

Автомиграция поможет упростить процесс работы с базой данных, особенно если она большая, и в нее часто вносятся изменения. Она позволит не писать самостоятельно сложные SQL-запросы, а сгенерирует их автоматически в специально отведенной директории. Это позволит избежать опечаток при миграции и сэкономить время (если у нас запросы с огромным количеством полей).

Дисклеймер: в этой статье я буду ориентироваться на то, что мы уже умеем работать с Room и знаем, для чего нужна миграция. Материал будет полезен Android-разработчикам уровня Middle.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Исследование https-трафика мобильного приложения

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

Обычно я такими непотребствами не занимаюсь и уважаю частную жизнь приложений. Однако на днях мне довелось исследовать одно мобильное приложение написанное индусом в метро под iOS, а затем адаптированное под Android пьяным студентом «в комнате раздумий». Все действия выполнялись с целью дебага и понимания оптимальных условий для работы. Само приложение мы анализировать не будем, но подготовим среду для проведения исследований.

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

Читать далее
Всего голосов 11: ↑10 и ↓1+16
Комментарии8

Исследование прошивки Mi Router 4A Giga Version. Получение интерфейса командной оболочки Linux

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

Приветствую вас, дорогие читатели! Сегодня я хотел бы рассказать вам о том, как я получил интерфейс командной оболочки Linux у wi-fi роутера Mi Router 4A Giga Version:

Читать далее
Всего голосов 36: ↑36 и ↓0+36
Комментарии19

Как сделать анимацию с помощью MotionLayout

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

Привет, Хабр! Меня зовут Павел Беловол, я Android-разработчик на проекте онлайн-кинотеатра KION в МТС Digital. Это новая часть сериала о внедрении фичи Autoplay в KION, в которой я расскажу про свой личный опыт работы с MotionLayout на примере продакшн-задачи в KION. Из этой статьи вы узнаете, где нужно использовать MotionLayout, а где лучше обойтись без него и писать код анимации самостоятельно.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии13

Создаем личное файловое облако легко и просто (и дешево)

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

А сегодня мы с вами быстро и решительно легко и просто поднимем свое личное файловое облако типа Google Drive или Яндекс.Диск, а если повезет, то еще и очень дешево.

Зачем? Ну, например, потому что не хотим зависеть от корпораций с их кабальными лицензионными соглашениями и сменой условий задним числом. Или потому что нам хочется приватности. Или просто потому что можем. А бонусом на нашем сервере вы потом сможете еще установить VPN или прокси для доступа к запрещенным сайтам, или поднять простенький веб-сайтик.

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

Читать далее
Всего голосов 79: ↑71 и ↓8+84
Комментарии233

Wi-Fi и много других аббревиатур. Как в Android приложении получить данные об узлах Wi-Fi и не опухнуть

Время на прочтение10 мин
Количество просмотров15K
Однажды мне понадобилось сканировать из Android приложения сети Wi-Fi и получать подробную выкладку данных о точках доступа.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0
1

Информация

В рейтинге
Не участвует
Откуда
Красноярск, Красноярский край, Россия
Дата рождения
Зарегистрирован
Активность