Pull to refresh
20
0
Борис Кафтанатий @kaftanati

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

Send message

Затыкаем рот Windows 10

Level of difficultyHard
Reading time33 min
Views97K


Windows 10 очень любит Интернет. Обновления, синхронизации, телеметрия и ещё куча разной другой очень нужной ЕЙ информации постоянно гуляет через наши сетевые соединения. В «стандартном» сценарии использования, когда Windows 10 управляет домашним или рабочим компьютером, это, в общем-то, терпимо, хотя и не очень приятно.

Однако жизнь сложная штука и не ограничивается только стандартными вариантами. Существуют ситуации, когда подобная сетевая активность операционной системы (ОС) нежелательна и даже вредна. За примерами далеко ходить не надо. Попробуйте подключить к Интернету давно не используемый резервный компьютер, собранный на старом железе. Пока софт на нём не обновится, использовать его будет практически невозможно, всё будет дико тормозить и еле шевелиться. А если вам в этот момент нужно срочно что-то сделать?

Для того чтобы подобного не происходило, необходимо «заткнуть рот Windows», то есть сделать так, чтобы она самостоятельно перестала «стучаться» в Интернет, устанавливать обновления и заниматься прочими непотребствами. Вот именно этим мы с вами и займёмся.
Читать дальше →
Total votes 217: ↑207 and ↓10+197
Comments308

Игровая камера: сборник приемов

Reading time17 min
Views13K

Сегодня мы узнаем:

- можно ли считать людей, которые инвертируют оси в играх, лицами с нетрадиционной ориентацией;

- что такое фокусное расстояние объектива и для чего оно нужно;

- какой угол обзора надо делать у камер, чтобы монитор выглядел, как окно в виртуальный мир;

- как правильно фотографировать;

- и сделаем простенький симулятор дрифта.

Погнали!
Total votes 62: ↑62 and ↓0+62
Comments23

Простая схема динамических указателей поворотов, и никаких микроконтроллеров

Reading time4 min
Views45K

Все началось с того, что лет десять назад сделал товарищу динамические ангельские глазки на его автомобиль. И с тех пор каждый уважающий себя владелец BMW считал своим долгом написать мне в какую-нибудь соц сеть и спросить: за сколько денег я готов сделать аналогичное на его авто. На тот момент еще не было в ходу светодиодов с чипом WS2812, по этому схема получилась не очень удобная, и выкладывать ее я не видел смысла. Если я сам не готов повторить, то кто-нибудь другой точно не станет этого делать.

Читать далее
Total votes 72: ↑66 and ↓6+60
Comments145

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели

Reading time21 min
Views13K

Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable. Также вы узнаете, как быстро поддержать режим edge-to-edge с использованием Window Insets и познакомитесь с моей библиотекой — edge-to-edge-decorator.

Читать далее
Total votes 21: ↑20 and ↓1+19
Comments7

Советы по работе с Gradle для Android-разработчиков

Reading time15 min
Views30K

Всем привет! Я пишу приложения под Android, в мире которого система сборки Gradle является стандартом де-факто. Я решил поделиться некоторыми советами по работе с системой с теми, у кого нет чёткого понимания, как правильно структурировать свои проекты и писать build-скрипты.


Total votes 16: ↑15 and ↓1+14
Comments6

Объектно-ориентированный Gradle. Настраиваем Build types в Android, используя Kotlin DSL

Reading time4 min
Views6.8K

В этой статье мы поговорим о том, как наша команда перешла на Kotlin DSL для описания Gradle файлов, и как в итоге мы получили типы сборок, описанные классами и имеющие общий интерфейс.

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

Полдюжины правил для статического анализатора Detekt

Reading time4 min
Views2.9K

Техлид Android-команды KODE Дмитрий Суздалев выпустил полноценный опенсорс-проект: набор улучшений для статического анализатора Kotlin-кода Detekt, которые обучают его проверять соблюдение различных правил при использовании библиотеки Jetpack Compose.

Набор правил попал в еженедельный Compose Newsletter, так что теперь самое время поделиться им с сообществом Хабра.

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

Как мы используем фича-флаги в мобильном приложении QIWI Кошелек

Reading time11 min
Views5.5K

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

Меня зовут Василий Материкин, я — Android-разработчик в QIWI. В этом посте я расскажу о применении фича-флагов в QIWI Кошельке.

Внедрение Trunk-Based Development и Feature Flags

В процессе работы над большими приложениями, в которых много фич и над которыми трудится большая команда разработчиков, часто приходится сталкиваться с такой проблемой как конфигурация приложения помощью фича-флагов. Мы в QIWI столкнулись с этим два года назад, когда в QIWI Кошельке было создано несколько feature-команд. Выяснилось, что разрабатывать новые фичи с помощью стандартных feature-веток не так удобно, потому что когда над одним проектом работает несколько feature-команд, ветки становятся достаточно объёмными. Потом смержить их в мастер становится довольно непростой задачей, появляются постоянные конфликты. 

Поэтому мы решили перейти на Trunk-Based Development (TBD). TBD предлагает работать в небольших ветках и, желательно, чтобы они как можно быстрее были влиты основную ветку. Для этого, конечно же, реализацию нового функционала нужно оформлять небольшими пулл-реквестами, чтобы они быстро проходили ревью и были влиты в основную ветку. Это, в свою очередь, создает другую проблему — когда в главной ветке может появиться код, который ещё не готов к релизу, но при этом нам нужно как-то релизить с этим кодом приложение. Мы же релизы выпускаем достаточно часто. И для этого TBD предлагает пользоваться такими подходами, как Branch by Abstraction (BBA) и Feature Flags (FF).

BBA позволяет выделить какой-либо функционал в отдельную абстракцию. Для этого создается интерфейс, который описывает контракт для работы с этим функционалом. Сразу же можно создать его текущую реализацию, просто скопировав код, который сейчас в продакшене. Также создается другая реализация (уже с новым функционалом) и с ней уже начинается работа. То есть обычно первый пулл-реквест при работе с фичей — это выделение кода, создается две реализации, эти изменения вливаются в главную ветку и далее продолжаем работать уже над новой реализацией. При этом в проекте (в продакшене) используется всё ещё старая реализация, пока мы не закончим работать над фичей.

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

Первый советский вокзал, созданный в конструктивизме

Reading time10 min
Views16K

Вид 1932 года, видно ресторан на крыше

Сегодня мы бы назвали конструктивизм «UX-driven development». Потому что здания проектировались исходя из научной обоснованности функциональности. Оптимальные маршруты передвижения людей, лаконичность форм, предельная функциональность — при развитии стиля мы бы получили идеально оптимизированные города будущего.



Есть такое Иваново, когда-то известное как город невест (потому что там были стратегические швейные производства и в годы после ВОВ был большой дисбаланс по демографии). Потом — как город текстиля: сейчас оттуда берётся бельё «Икеи» и туда организуют шопинг-туры за простынями и пододеяльниками. Но до войны, как утверждают краеведы, рассматривался вариант сделать из крупного производственного центра столицу РСФСР (условно, Москва была бы столицей СССР, а самая большая республика в составе управлялась бы из Иваново). Правда это или нет, идут споры, потому что с источниками как-то бедновато. Но в Иваново зачем-то построили вокзал под пассажиропоток, в десятки раз превышающий уже имевшийся. И это был не просто вокзал, а первый советский вокзал, всем вокзалам вокзал. Храм прогресса, науки и победы пролетариата.

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

Естественно, этот вокзал построен в архитектурном стиле конструктивизма. И прежде чем мы пойдём разбирать интереснейшую историю вокзала, стоит поговорить о том, зачем вообще нам был нужен конструктивизм.
Читать дальше →
Total votes 70: ↑70 and ↓0+70
Comments25

Стоп рефакторинг. Kotlin. Android

Reading time17 min
Views9.5K

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

Я хочу рассказать про практики, которые не один раз уже выручали нас в проекте. Подборка примеров получилась не на пустом месте, все реальные примеры PullRequest-ов.
Все примеры НЕ выдуманные и тестировались на живых людях. В процессе сбора данных несколько людей пострадало.

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

Рецепт раствора для омеднения любых поверхностей

Reading time2 min
Views30K

В статье представлен вариант экономичного и простого решения по замешиванию собственного раствора для гальванизации различных поверхностей с возможностью дальнейшей пайки. Как обычно, автор приводит множество фотографий и сопутствующее описание, а в конце дает сам рецепт.
Читать дальше →
Total votes 74: ↑73 and ↓1+72
Comments60

Оптимизация сборок Android приложений: ProGuard, D8, R8. Тайны обфускации

Reading time17 min
Views24K

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

Читать далее
Total votes 17: ↑16 and ↓1+15
Comments2

Делаем машину для намотки тороидальных катушек на базе Arduino

Reading time3 min
Views38K


Перевод с сайта Electric DIY Lab

Всем привет, представляю вам изготовленную мною машину для намотки тороидальных катушек на базе Arduino. Машина автоматически наматывает проволоку и поворачивает тороид. В качестве интерфейса я использовал энкодер и ЖК-экран 16×2. Пользователь может вводить такие параметры, как диаметр катушки, количество оборотов и угол намотки.

В данной статье я расскажу, как построить эту машину и дам подробности её работы.


На видео всё подробно описано – можно посмотреть его или прочесть статью.
Total votes 32: ↑30 and ↓2+28
Comments42

10 советов схемотехнику

Reading time20 min
Views115K
Недавно один мой знакомый, начавший интересоваться электроникой и схемотехникой, обратился ко мне с просьбой дать ему какие-то практические советы по разработке электронных устройств. Поначалу этот вопрос немного озадачил меня: как-то так получилось, что для себя я никогда не выделял какие-то перечни обязательных правил проектирования, всё это было у меня где-то на уровне подсознания. Но этот вопрос послужил хорошим толчком для того, чтобы сесть и сформулировать хотя бы небольшой список таких рекомендаций. Когда все было готово, я подумал, что, возможно, это будет интересно почитать кому-то еще, таким образом и получилась данная статья.


Читать дальше →
Total votes 212: ↑210 and ↓2+208
Comments244

Big Clock One Love

Reading time6 min
Views7.3K

BigClock.jpg


Я никогда не хотел себе домой часы. Наручные или в телефоне — их вполне достаточно, чтоб ориентироваться во времени. А вот о какой-нибудь подсветке в комнату я периодически помышляю. При этом у меня, как и у многих других, стоит лампа на столе и с потолка свисает скучная люстра.


Сидеть в самоизоляции и полумраке — та ещё перспектива. Так светодиодная лента и картонные упаковки из Икеа на ресайклинг стали отличным условием «дано» для светодиодного табло, которое я полюбил.

Какого табло?
Total votes 31: ↑28 and ↓3+25
Comments33

Как улучшить производительность вашего Flutter приложения

Reading time13 min
Views13K


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

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments9

450 бесплатных курсов от Лиги Плюща

Reading time19 min
Views69K
image


Информационные технологии позволяют получить невероятно крутые образовательные ресурсы в один клик. Бесплатно.

Я сейчас решаю задачу, как из огромной массы жизненно важного контента выбрать тот, который стоит попробовать в первую очередь, как «разметить данные», чтобы нейросеточка у подрастающего поколения обучилась более эффективно. (ontol.org, «Выгорание», «Удаленка», телеграм-канал).

Предлагаю вашему вниманию полную подборку всех бесплатных курсов от Лиги Плюща.

Лига плюща (The Ivy League) — ассоциация восьми частных американских университетов, расположенных в семи штатах на северо-востоке США. В состав лиги входят: Брауновский университет (Brown University), Гарвардский университет (Harvard University), Дартмутский колледж (Dartmouth College), Йельский университет (Yale University), Колумбийский университет (Columbia University), Корнеллский университет (Cornell University), Пенсильванский университет (University of Pennsylvania), Принстонский университет (Princeton University).

Эти университеты выпустили около 500 онлайн-курсов, 450 из которых сейчас доступны.

Оглавление


Computer Science (37)
Data Science (18)
Программирование (8)
Гуманитарные науки (80)
Бизнес (72)
Art & Design (20)
Наука (32)
Социальные науки (74)
Здоровье и медицина (32)
Инженерия (15)
Образование и преподавание (21)
Математика (14)
Личностное развитие (7)

Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments5

Инфографика средствами Excel и PowerPoint. Часть 2

Reading time12 min
Views20K
Не жди поездку в Гагры!
Давид Маркович, сериал «Ликвидация»

Всем привет!

За время карантина все, наверное, не по разу прочитали о том, как плодотворно А.С. Пушкин провел свой период «заточения», названный впоследствии «Болдинской осенью», поэтому не буду объяснять, что именно меня сподвигло написать следующую статью об инфографике средствами MS Office.

К тому же, мне есть что вам еще рассказать, ведь я более 10 лет преподаю и руковожу группой разработки учебных материалов в учебном центре «Сетевая Академия ЛАНИТ», а также являюсь автором курса по инфографике.

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

Читать дальше →
Total votes 65: ↑65 and ↓0+65
Comments9

Разряды “Гризли” или супер дрель

Reading time5 min
Views24K
В этой статье хочу рассказать об электрических разрядах, которые способны грызть различные металлы и стали. Речь пойдет в основном про электроэрозионную обработку.

Total votes 47: ↑46 and ↓1+45
Comments36

Учим нейросети в Google Таблицах

Reading time5 min
Views11K

Хочу с вами зачелленджить одну интересную штуку: попробовать обучить нейросеть в Google Таблицах. Безо всяких макросов и прочих хаков, на чистых формулах.


Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments2

Information

Rating
Does not participate
Date of birth
Registered
Activity