Pull to refresh
27
Karma
0
Rating
Михаил Мельник @mike114

User

  • Followers 4
  • Following 9

Венера. Декабрь 2021

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

Проекты в Gradle 7: как не зависеть от зависимостей

Немного не по теме, но я часто вижу, что во многих проектах разработчики практикуют вынесение зависимостей в отдельный файл, даже если у них приложение состоит из одного модуля (про случаи когда простейшее приложение разбивается на несколько модулей только потому, что это clean architecture и все такое я промолчу). Вот реально, какой от этого прок? Неужели это лучше чем в одном месте иметь наглядный и короткий список зависимостей? Да, некоторые группы могут иметь один и тот же номер версии, но можно этот номер просто указать как переменную перед блоком зависимостей и использовать ее.

Android и привязка к жизненному циклу компонентов

Я о том, что вместо
bindState(color, binding.root) { view, color ->
    txtView.text = "$time"
}

можно в xml привязать ваш UI к liveData

android:text="@{time.toString()}"

и это покроет большую часть использования.

Для привязки вы передаете в binding две вещи: ваши переменные (которые могут быть LiveData) и LifecycleOwner, а binding уже сам подписывается где-то внутри сгенерированного кода и следит за обновлениями.

В последнем проекте я использую такой подход:
  • Создаю ViewModel c набором LiveData и, если надо, запускаю процесс выборки данных
  • Создаю xml layout, декларирую в нем переменную типа моей модели и привязываю декларативно все, что я хочу из нее показать
  • В onCreateView фрагмента делаю inflate нужному binding и присваиваю значение задекларированной переменной модели
  • Чтобы данные были действительно live выставляю binding.lifecycleOwner в viewLifecycleOwner там же в onCreateView

Android и привязка к жизненному циклу компонентов

Подход интересен, но, может, просто стоит использовать data binding для большей части вещей из примера?

CameraX+ML Kit для распознавания номера карты в действии

Жалко, что не получилось перейти. Тоже подумывал об этом пару лет как, обрадовался уже, что осталось только повторить, но нет. NFC делал с использованием github.com/devnied/EMV-NFC-Paycard-Enrollment, но там много зависит от самих карт — некоторые не возвращают часть полей, которые можно вытащить оптическим распознаванием.

Избегаем поддельных шрифтов в Android

Но, если нужно использовать больше вариантов весов, чем regular/bold, то android:textStyle уже не спасет, и придется создавать отдельное семейство и использовать его (то, что указано как «неправильно»), так ведь?

«Для нас уже нет смысла использовать Retrofit»: об Android-разработке в Сбербанк Онлайн

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

[Личный опыт] Как я переехал в Австралию всего с двумя годами опыта в разработке

В Австралии обычно зарплата указывается за год, а квартплата — за неделю.

Team Lead на удаленке: как я путешествовал с семьей и работал из Греции и Вьетнама

Вы абсолютно правы, и я это упомянул:

С другой стороны, если время не поджимает (нет лимита по визе или огромного списка мест для посещения), то очень даже неплохо — работаешь как обычно пять дней (ну, может даже с дополнительными бонусами типа дешевого тайского массажа и утреннего/вечернего серфинга), а в выходные посещаешь достопримечательности


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

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

Team Lead на удаленке: как я путешествовал с семьей и работал из Греции и Вьетнама

Вы правы: стоит попробовать. Они тоже правы: работу и отдых лучше разделять. А все потому, что путешествие != отдых. Когда люди из соседнего номера идут на пляж или бухать, я остаюсь в своем номере работать. Мы путешествуем, но они при этом отдыхают, а я — работаю.

Team Lead на удаленке: как я путешествовал с семьей и работал из Греции и Вьетнама

Подтверждаю. Если по-настоящему работать, то путешествие не в радость будет. Мало того, что сроки поджимают, что-то не получается и т.п., так еще надо озаботиться о транспорте, стабильном интернете, времени, достаточном и удобном для перемещения (попробуй поработай, когда автобус идет 12 часов по серпантину). Я за три года в дороге поседел с таким уровнем стресса. С другой стороны, если время не поджимает (нет лимита по визе или огромного списка мест для посещения), то очень даже неплохо — работаешь как обычно пять дней (ну, может даже с дополнительными бонусами типа дешевого тайского массажа и утреннего/вечернего серфинга), а в выходные посещаешь достопримечательности. Самое классное, когда разница часовых поясов дает дополнительное время. Когда мы были в Южной Америке разница с Сиднеем позволяла устроить день следующим образом: 10am-6pm время для переездов и осмотра достопримечательностей, 6pm-3am рабочий день, 3am-10am сон. Удивительно, сколько получается свободного времени, если объединить два промежутка между сном и работой и работой и сном. А вообще — нет ничего лучше полноценного отпуска, да так, чтобы за ноутбук даже не садиться.

Отображение текста в Android

Буквально вчера смотрел короткое видео про вышеупомянутый TextClassifier, который это умеет делать.

Статья отличная, однозначно в закладки!

Figma — как единая точка правды в дизайне

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

Dell XPS 13 9380: надёжный и очень компактный ноутбук для серьёзных дел

Печально, что идут жалобы на способ переключения, а не на отсутствие отдельных кнопок. Там вполне влезла бы еще одна колонка с ними. Я не нарадуюсь, что успел купить ультрабук с отдельными клавишами до того, как их Самсунг удалил в обновленной линейке. Что будет, если/когда он сломается — не знаю.

Bluetooth LE не так уж и страшен, или Как улучшить пользовательский опыт без особых усилий

Чем пользуетесь при разработке под Android? Или такой функциональности там не предусмотрено по причине того, что мало какие устройства поддерживают peripheral?

Помогаем Queryable Provider разобраться с интерполированными строками

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

Помогаем Queryable Provider разобраться с интерполированными строками

Он не может понять, что нужно выбрать всего два поля и вместо этого выбирает все поля? Или просто ничего не выбирает? А зачем проверка на пустую строку?

Помогаем Queryable Provider разобраться с интерполированными строками

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

Translucent на андроид и adjustResize

Есть такой.

Разметка самая простая:

    LinearLayout (orientation=vertical)
    +---FrameLayout (fitsSystemWindows=true)
        +---Toolbar
    +---FrameLayout (weight=1)

Translucent на андроид и adjustResize

У меня еще при сочетании translucent и adjustResize при открытой клавиатуре слетает позиционирование задника за тулбаром (FrameLayout с заливкой или картинкой, чтобы был эффект захождения тулбара под статусбар): он становится в два раза больше. Я так и не понял почему.

Information

Rating
Does not participate
Location
New South Wales, Австралия
Date of birth
Registered
Activity