Как стать автором
Обновить
0
@pilimanread⁠-⁠only

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

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

Заблуждения Clean Architecture

Время на прочтение15 мин
Количество просмотров410K
Превращаем круги в блоки

­­ 


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

Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии203

Очерки о китайцах — 1

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

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

Итак,
Всего голосов 107: ↑89 и ↓18+71
Комментарии47

Нейроморфные чипы: немного истории, существующие системы и возможности технологии

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

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

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

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

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

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

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

В статье много практики. Сначала я покажу, как с помощью Decompose и Jetpack Compose создавать отдельные флоу приложения. Далее обсудим реализацию bottom-навигации. И, наконец, объединим несколько флоу воедино, чтоб получить навигацию по всему приложению.

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

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

Нейронные сети и Android: как их создавать и использовать в мобильных приложениях

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

Тренд на нейросети не обошёл стороной и мобильные приложения. Многие фичи — например, распознавание изображений и речи, улучшение качество фото и видео — созданы с применением нейронных сетей.

Рассказываем про нейросети в Android-приложениях: какие есть инструменты для внедрения, как создавать свои модели и использовать готовые.

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

Полное руководство по Splash Screen на Android

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

Перевод статьи Elvis Chidera "The (Complete) Android Splash Screen Guide". Но для начала немного истории о проблеме Splash Screen на Android.

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

Тёмные паттерны — как зловредные интерфейсы пытаются атаковать и обманывать

Время на прочтение5 мин
Количество просмотров38K
Любые покупки — как поход по минному полю. Есть довольно тонкая граница между «не стоит упоминания» и «лучше тебе этого до покупки не знать». Давайте попробуем для начала найти её эмпирически. Вот это лично для меня — очевидный “dark pattern”:



Вот это тоже:



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

Теперь давайте посмотрим на менее очевидные вещи.
Читать дальше →
Всего голосов 106: ↑106 и ↓0+106
Комментарии160

Большой FAQ про разные виды коррекции зрения: все вопросы гиков в одном месте

Время на прочтение29 мин
Количество просмотров178K
Ниже – прямое сравнение видов коррекции (операций) с удобной сводкой по возможным осложнениям и применимости, плюс море других вопросов от профессиональных параноиков: от «что будет, если махнуть головой во время операции» до «а отдадут ли мне ткань, которую вынули из моего глаза» и «что будет в старости с моим зрением».

– Что лучше: очки, линзы или лазерная коррекция?

Если вас полностью устраивают очки – сохраняйте спокойствие, коррекцию делать не нужно. Однако, если вы никогда не пробовали линзы, то стоит попробовать поносить их пару недель, чтобы понять, как мир будет выглядеть после коррекции. В 10-летней перспективе контактные линзы (даже однодневные) существенно опаснее коррекции по обратимым и необратимым побочным эффектам и осложнениям. Поэтому я рекомендую их только для ознакомления с дивным новым миром.

– Я решил остановиться на очках, но боюсь, что мне в лицо откроется подушка автомобиля и они станут контактными линзами. Что делать?

По моему хирургическому опыту, современные подушки безопасности не травмируют очкариков. Глаза и лицо обычно повреждаются осколками лобового стекла. Если вы беспокоитесь о сохранности очков, то подумайте про современные, с поликарбонатными линзами. Они невероятно прочные: на краш-тестах по ним машина ездит.

Если вы видите плохо и не надеваете очки, то вы теряете часть информации об окружающем мире и при этом создаёте дополнительную нагрузку на зрительный аппарат. Есть проблема – нужна оптическая коррекция. А испортить глаза очками можно, как один из наших коллег из клиники в г. Марбурге – он уснул в стеклянных очках за компьютером дома, упал лицом на клавиатуру, и осколок стекла вошёл в хрусталик. В итоге сначала заменили хрусталик, потом через год понадобилась трансплантация.
Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии91

Система отопления многоквартирного дома. Ликбез с примерами

Время на прочтение6 мин
Количество просмотров212K
Всем привет! Меня зовут Виктор и это мой первый пост на Гиктаймс, прошу не судить строго. Сам по жизни я веб-программист, но помимо прочего, я еще и член правления ТСЖ, и посему активно занимаюсь вопросами ЖКХ. ЖКХ в России застряло в 80х годах прошлого столетия, хотя технологии ЖКХ давным давно ушли вперед. Если сообщество будет не против, буду периодически делиться с Вами практическими мыслями и информацией по теме ЖКХ, что и как можно сделать, чтобы хотя бы в рамках своего дома сдвинуть ситуацию с мертвой точки.
Читать дальше →
Всего голосов 80: ↑80 и ↓0+80
Комментарии395

«Вечная жизнь Смерти», Лю Цысинь — последний том трилогии «В память о прошлом Земли», перевод закончен

Время на прочтение3 мин
Количество просмотров40K
Несколько лет работы подошли к концу, переведена заключительная часть трилогии «В память о прошлом Земли» китайского фантаста Лю ЦысиньВечная жизнь Смерти

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

Git снизу вверх

Время на прочтение27 мин
Количество просмотров125K
У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


Изображение из твиттера @girlie_mac

Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
Читать дальше →
Всего голосов 104: ↑102 и ↓2+100
Комментарии32

Blockchain глазами разработчика

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


Зачем этот рассказ? Когда я изучал blockchain по открытым источникам, например по Википедии, информация казалась отрывочной и бессвязной. Прошло время, прежде чем она сложилась в целостную картину. Кажется, я знаю, в каком порядке и какими словами описать введение в blockchain, чтобы любой профессиональный разработчик смог понять общую картину за 1—1,5 часа. В тексте будут некоторые упрощения. Понятно, что в любой теме есть много деталей, куда можно при желании погрузиться.

Читать дальше →
Всего голосов 52: ↑45 и ↓7+38
Комментарии30

Arduino! Что дальше? Делаем велокомпьютер

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

Как это было


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


В 10 лет мне подарили радио конструктор, я думаю у многих такой был.




Я собрал на нем все схемы, мне нравилось как они работали. Изучил все основные радиодетали. Потом купили радиоконструктор — «радиоприемник в корпусе». Надо было уже паять, он тоже скоро был готов и отлично работал. Я продолжал делать небольшие схемки. Платы — лак и стеклянные трубочки. Но потом увлёкся программированием. Освоил Си, потом Си++. По окончанию университета, стал работать программистом, чем и занят по сей день.


Arduino


Когда у меня подрос сын, я решил его тоже научить электронике. Взял свой старый пыльный конструктор и … сын его «выкинул». Что это за хлам, зачем мне пищать разными тонами. Какие- то не интересные схемы. Я задумался, и стал смотреть, чем можно заменить его. Знаток и другие конструкторы, были в общем-то аналогичны. И тут я случайно наткнулся на Arduino. Вот то, что нужно. Электроника и программирование в одном флаконе.




Купили плату и стали заниматься программированием, и изучать электронику. Поделав различные задания, накупив кучу датчиков, встал вопрос — чего делать дальше. Сын спросил— а что можно реальное сделать на Arduino? Мы провели мозговой штурм и составили перечень интересных, полезных приборов, которые было бы интересно сделать. Начали думать, как мы их будем делать. Первым нашим прибором стал велокомпьютер.

Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии87

Текст любой ценой: PDF

Время на прочтение12 мин
Количество просмотров88K
Продолжаем разбирать текстовые форматы на предмет получения текста. Итак, обещанный ранее PDF.

С portable document format'ом не всё так просто, как DOCX или ODT, что мы рассматривали в прошлый раз, но всё же это всё ещё изначально текстовый, а не бинарный формат. Вы удивлены? Тогда давайте посмотрим на то, что там внутри. Дальше действительно много текста.

Читать дальше →
Всего голосов 77: ↑75 и ↓2+73
Комментарии20

О выборе структур данных для начинающих

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

Часть 1. Линейные структуры


Массив


Когда вам нужен один объект, вы создаёте один объект. Когда нужно несколько объектов, тогда есть несколько вариантов на выбор. Я видел, как многие новички в коде пишут что-то типа такого:

// Таблица рекордов
int score1 = 0;
int score2 = 0;
int score3 = 0;
int score4 = 0;
int score5 = 0;

Это даёт нам значение пяти рекордов. Этот способ неплохо работает, пока вам не потребуется пятьдесят или сто объектов. Вместо создания отдельных объектов можно использовать массив.

// Таблица рекордов
const int NUM_HIGH_SCORES = 5;
int highScore[NUM_HIGH_SCORES] = {0};

Будет создан буфер из 5 элементов, вот такой:



Заметьте, что индекс массива начинается с нуля. Если в массиве пять элементов, то они будут иметь индексы от нуля до четырёх.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии32

Руководство по материалам электротехники для всех. Часть 5

Время на прочтение5 мин
Количество просмотров27K
Продолжение руководства по материалам электротехники. В этой части продолжаем разбирать диэлектрики, часть посвящена органическим полусинтетическим диэлектрикам: бумаге, шелку, парафину, маслу, дереву.
image

Добро пожаловать под кат (ТРАФИК)
узнать о материалах
Всего голосов 37: ↑37 и ↓0+37
Комментарии15

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

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


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

Читать дальше →
Всего голосов 92: ↑91 и ↓1+90
Комментарии51

Прокачиваем домофон протоколом MQTT для управления с телефона

Время на прочтение4 мин
Количество просмотров123K
Всем привет. Расскажу немного про свою последнюю междуделку — доработку домофона WiFi-модулем NodeMCU. Заранее прошу прощения за выбор модуля — всех уже, наверное, достала эта ESP’шка…

Конечно, работу ClusterM с его автоответчиком никому не переплюнуть, но такой функционал я считаю излишним. Мне, с рождением дочки, лишь понадобилось бесшумно открывать домофон гостям, чтобы не стоять у трубки и не ждать входящего звонка, который наверняка разбудит малую. Да и себе иногда легче открыть дверь с телефона, нежели лезть за ключами и прикладывать таблетку туда-сюда, чтобы она сработала (у меня очень сильно тупит панель в подъезде). Проект получился небольшой, так что в статье тоже не так много букв, зато есть фотографии.
Читать дальше →
Всего голосов 80: ↑80 и ↓0+80
Комментарии85

Альтернативы смерти: как победить старение

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


Как современная молекулярная биология смотрит на феномен старения? Как пытаются старение изучать, есть ли надежды на замедление или даже остановку этого процесса? Этим вопросам была посвящена лекция биолога Александра Панчина, с которой он выступил на прошедшем в офисе Mail.Ru Group научно-популярном лектории Set Up.
Читать дальше →
Всего голосов 72: ↑69 и ↓3+66
Комментарии150

10 книг по UI/UX дизайну, которые стоит прочитать

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


Стать отличным UI/UX дизайнером не так просто: нужно знать основы, постоянно отслеживать последние тенденции и использовать их на практике. Каждый из нас время от времени обращается за советом к коллегам или друзьям, но когда нужна проверенная информация, лучшие советчики – это специализированные издания.

У многих UI дизайнеров есть своя личная коллекция любимых книг. Сегодня мы приготовили список из 10 крутых книг по дизайну, которые по той или иной причине могли пройти мимо вас.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии6

Информация

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