• Тёмная сторона работы в Яндекс.Маркете
    +2

    Хмм, спасибо за статью. Подумаю стоит ли теперь даже пробовать попасть в Яндекс..

  • Почему я не использую SharedViewModel для фрагментов?
    0

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

  • Масштабируемая архитектура для больших мобильных приложений
    0

    А почему в мобилках не используется подход один на всё, а чаше разделяют по экранам?
    Я просто не знаю веб, и интересно почему там это ок, а у нас в мобилках не ок..

  • Масштабируемая архитектура для больших мобильных приложений
    0

    Ещё несколько вопросов:
    1) Что делает блок Business logic внутри компонента? Только преобразуется state в business object? Что если объединить его с ViewModel и сразу делать state->viewobject?
    2) Представим ситуацию. У вас на экране два компонента. В одном чекбокс, а в другом кнопка. По чекбоксу надо делать enable/disable кнопки. Как будет выглядеть путь? Пройдёт ли он через всё, или это сразу будет выполнено во view слое?

  • Масштабируемая архитектура для больших мобильных приложений
    0
    В зависимости от подхода, Middleware и Reducer может быть один на весь экран или даже приложение, или же каждая бизнес сущность будет иметь свой Middleware и Reducer

    А вот можно поподробнее про "один на всё приложение"? Насколько это подходит для мобильных приложений на ваш взгляд? Есть ли примеры таких приложений?(Только больших, а не с 2-3 экранами).

  • The state of soft skills
    +1
    В свою очередь я подумал, что, если то же количество усилий, которое требуется для прокачки хард-скиллов для перехода из middle в senior-разработчика, вложить в развитие софт-скиллов, продвижение по карьерной лестнице может быть даже более эффективным

    Т.е. с точки зрения навыков программиста(математика, структуры данных, алгоритмы, архитектуры, написание кода) вы остались на уровне middle?)

  • Twitter разрешил удалёнку навсегда
    +5

    Интересно, это касается текущих сотрудников или и будущих тоже?
    Если и будущих, то это серьёзный прецедент уже..

  • Пробуем и разбираемся с StateFlow
    0
    ещё заметил интересную особенность StateFlow — когда постишь одно и то же значение несколько раз, то collect будет вызван только 1 раз

    Да, там сравнивается через equality.

  • Пробуем и разбираемся с StateFlow
    0

    Вы правы, давно не заглядывал в исходник Lifecycle.
    Только там хитрее. Там используется специальный PausingDispatcher через который проходят все события и они либо выполняются, либо если состояние lifecycle иное, то просто стопается вся очередь и копится, а потом отдаётся.
    Думал, там ещё тоже самое что и с ViewModel. Гляну и её, может тоже наконец-то что-то изменилось и в ней..

  • Пробуем и разбираемся с StateFlow
    0

    Есть такое, но тут главное не путаться с "будет работать только в started-состоянии"
    Лучше сказать, что стартанёт в started(created/resumed) состоянии, но cancel будет только в destroy.

  • Пробуем и разбираемся с StateFlow
    0

    Не совсем так.
    StateFlow будет "знать" только о create/destroy. Загляните, например, внутрь реализации lifecycleScope.
    LiveData же умеет не оповещать если в фоне..StateFlow такое сам не сможет, скойуп не закэнселится в этом случае.

  • Пробуем и разбираемся с StateFlow
    0

    Если кратко, то из коробки никак:)
    Сам по себе StateFlow никак не связан с Андроид и не знает о жизненных циклах приложения.
    Единственное, что может работать — если collect запускать на скоупе либо lifecycleScope либо на скоупе ViewModel. Тогда "отмена" подписки будет происходить сама на onDestroy/onCleared.
    А чтобы сделать аналогично LiveData — только самим ручками, либо возможно Гугл сделает что-то с этим сам.

  • Немного о WebRTC: что где использовать и случай из практики
    +1

    Ну это не только браузерная технология уже) Будет работать на любых клиентах.
    И как раз буквально пару часов назад перезалил на гитхаб официальный вариант приложения под Андроид, что бы можно было строить и собирать приложение сразу из Android Studio.

  • Не решать за дизайнера задачу дизайнера
    –1

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

  • Не решать за дизайнера задачу дизайнера
    0
    Следующий прием. Возьмем этот прямоугольник и размножим его по плоскости листа. У нас получится сетка.

    У меня здесь иллюзия, что между прямоугольниками появляются маленькие светло-серые эллипсы:)

  • Делаем Android View Binding удобным c Kotlin
    0
    В голову приходит только использование не корневой View

    Именно так и есть.
    Мне это понадобилось когда пришлось сделать биндинг на корневой view кастомизированного UI для ExoPlayer. Там хитрая система с override layout в xml и прямого доступа к контролям через биндинг не будет. Т.е. как раз нужно делать биндинг через requireView().findViewById(..id..)

  • Делаем Android View Binding удобным c Kotlin
    +1

    Можно немного улучшить. Не всегда нужно биндинг делать только через Fragment.requireView(). Иногда нужно немного кастомного поведения. Для этого можно в конструктор FragmentViewBindingProperty передавать инициализатор, который по-умолчанию будет делать то что и сейчас, а при необходимости можно изменить это поведение.

  • Марафон удалёнки, неделя 3: нерабочие процессы
    +6

    А что тут делает Рамблер?

  • Архитектура и дизайн Android приложения (мой опыт)
    0

    Оценивайте тенденции) Лично я вижу, что скорость принятия и адаптации корутин очень быстрая. А появление LiveData ждали очень много времени.
    Rx я думаю, тоже скоро начнут забывать… А вот у Flow есть очень много шансов.
    Даже с учётом экспериментального статуса уже сейчас есть начальная поддержка ЖЦ хотя бы для автоматической отписки.


    А даже если появится, то будем использовать прокладку в виде еще одного Flow вместо LiveData так как хранить состояние в UseCase не всегда нужно и редко полезно.

    Ну тут не очевидно, а зачем хранить промежуточное состояние в LiveData во ViewModel? Зачем этот промежуточный слой хранения? Состояние хорошо бы хранить только в репозитории, но хотя это добавляет проблему лишних цепочных преобразований данных при смене конфигурации.


    Вы опять смешиваете инструменты

    Я не смешиваю, просто выше была на мой взгляд не совсем верная формулировка, что LiveData переживает ЖЦ, но она не может его переживать просто так) Это контейнер, где она хранится переживает конфигурации.

  • Архитектура и дизайн Android приложения (мой опыт)
    +1

    Поспорю)


    LiveData — это mutable storage

    Всё это есть в любой реактивщине. В Rx — всякие PublishProcessor/BehaviorProcessor и т.д.(бывшие xxxSubject)
    В Flow — пока ещё ConflatedBroadcastChannel и скорый StateFlow


    К тому же есть ViewModel, которая также переживает смену конфигурации и прочее.

  • Архитектура и дизайн Android приложения (мой опыт)
    0
    Но мне кажется, что LiveData во ViewModel удобнее и проще

    Вот тут хотелось бы развёрнуто… Просто я вижу много примеров как под копирку, что во вью слое используется LiveData и не могу понять преимущества.
    А с учётом того, что Гугл уже активно пиарит и поддерживает корутины, то будет также активно пиарить и Flow(и судя по последним коммитам Flow уже выходит из стадии Experimental), а LiveData они задиприкейтят через какое-то время..

  • Архитектура и дизайн Android приложения (мой опыт)
    0

    Зачем LiveData в вашем случае? Уже есть Flow, который также работает на скоупе жизненного цикла… Как плюс — отсутсвие маппинга Flow/Rx <-> LiveData.

  • Компонент Slider из библиотеки материального дизайна
    0

    Нет поддержки вертикальной ориентации слайдера… и судя по исходникам даже не стали закладывать:(

  • Получаем и переключаем WebVTT субтитры в ExoPlayer
    0

    У вас HLS? Тогда это странно, с таким не сталкивался. Может быть вам "подебажить" сам HLS плейлист на предмет двух дорожек? Если есть плейлист можете прислать в личку — гляну..

  • Получаем и переключаем WebVTT субтитры в ExoPlayer
    0

    Как раз наоборот это и фича наверное:)
    Как вы их сгруппируете/отфильтруете — на ваше усмотрение под вашу задачу.
    Например, у нас бывает задача — показывать из всего списка только русские субтитры vtt, игнорируя остальные..

  • Получаем и переключаем WebVTT субтитры в ExoPlayer
    0

    Как раз такая сейчас ситуация и есть у меня.
    Как в примерах выше и указано я фильтрую ещё и по mimeType:


    format.sampleMimeType == MimeTypes.TEXT_VTT

    А демо плеера этого не делает, мало того он будет показывать там любые текстовые дорожки(не только субтитры)

  • Вебинар: Разбор резюме для IT-специалиста
    0

    Мм, а я думал опыт и собеседование помогает в этом) ну… окей..)

  • Вебинар: Разбор резюме для IT-специалиста
    +1

    А на разработчиков с каким опытом работы рассчитан вебинар? Просто по моему опыту среди российских компаний "красивость/правильность" резюме не играет особой роли когда уже есть определённый опыт 2-3 года "промышленной" разработки… А если уж и больше то достаточно просто контактов:)

  • Мишустин уволил Жарова с должности руководителя Роскомнадзора
    0

    Вы о чём? Массы не используют линукс)

  • GitHub убрал ограничения в приватных репозиториях
    0

    Ну это и не Team…
    Monthly pricing for our Pro plan has been reduced from $7/month to $4/month.

  • GitHub сделал бесплатным для команд доступ к приватным репозиториям и вдвое снизил стоимость подписки в плане Team
    +1

    Деньги конечно же) Видимо модель с закрытыми исходниками уже не приносит прибыли, да и альтернатив масса. Теперь на фичи расчёт. Собственно о чём и говорится в блоге.

  • GitHub убрал ограничения в приватных репозиториях
    0

    А что теперь с Pro аккаунтами, которые были за 7$?
    Это был неплохой трейдофф для маленькой команды 4-5 человек — нет управления командой, но есть приватные репы, 3000 минут/month for Actions, required reviews и code owners фичи. Теперь по сути это уже за 4$*(N человек)
    Сейчас я вижу в профиле цена стала 4$ вместо 7$, но что с фичами и actions будет?

  • Как перестать запоем смотреть сериалы и начать жить
    0

    Вот тоже самое у меня.
    Не могу заниматься гуманитарией, где нет фидбэка на месте — игра на гитаре, изучение английского… хз, что с этим делать… как заставить себя чем-то заниматься с хоть каким-то результатом где-то через 1-1.5 года:(

  • Как перестать запоем смотреть сериалы и начать жить
    +6

    А как перестать читать такие огромные статьи?)

  • Декларативное программирование клиент-серверных приложений на андроид
    +3

    А почему вы решили использовать джаву, а не Котлин для разработки самой либы?

  • Mail.ru Group перезапустила ICQ с быстрыми ответами и опцией по созданию ботов
    +21

    Ничё не понял, на буя?


    и аудиторию площадок нужно «развести»

    Вот-вот, какой-то развод.

  • Откажутся ли компании от удаленки по окончании вынужденного периода?
    0

    Забавно, когда вынужденную физ. нагрузку в виде хождения в офис(или по офису) ставят в плюс. Один вечер на полноценной тренировке(любой) укладывает любой недельный поход в офис(по офису). Удалёнка != отсутсвие физ. нагрузки.

  • Откажутся ли компании от удаленки по окончании вынужденного периода?
    0

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

  • Откажутся ли компании от удаленки по окончании вынужденного периода?
    0

    Нет в этом ничего хорошего. Этот 1 день люди будут считать за полу выходной.

  • Откажутся ли компании от удаленки по окончании вынужденного периода?
    +1

    У вас странная позиция. Вы рассказываете о минусах удалёнки, но при этом говорите, что пока вас не пнуть личным подходом в офисе вы можете ничего и не сделать) Ну так себе коммуникации)