An
Привет. Фундаментальный вопрос про инвалидацию кэша. Допустим, на бэкенде есть метод возвращающий постранично список каких-то объектов. Хочется кэшировать их в локальную БД приложения, для просмотра оффлайн, но т.к. свойства объектов могут меняться, главным источником правды всегда остается бэкенд. Кто как поступает в таких случаях? Полностью дропаете кэш, если есть интернет и можно получить хотя бы первую страничку данных от бэкенда? Или как-то частично обновляете локальную БД? И как тогда, во втором случае, боретесь с "разрывами" актуальных данных, когда часть обновленна, часть нет, часть вообще отсутствует?
⚡️Мухамед
Здравствуйте народ, у меня есть BarChart библиотека Mpa, кто нибудь знает как изменить цвет при клике, нигде не нашел инфу, меняет только основной цвет или отдельных элементов
Ali
Привет. Фундаментальный вопрос про инвалидацию кэша. Допустим, на бэкенде есть метод возвращающий постранично список каких-то объектов. Хочется кэшировать их в локальную БД приложения, для просмотра оффлайн, но т.к. свойства объектов могут меняться, главным источником правды всегда остается бэкенд. Кто как поступает в таких случаях? Полностью дропаете кэш, если есть интернет и можно получить хотя бы первую страничку данных от бэкенда? Или как-то частично обновляете локальную БД? И как тогда, во втором случае, боретесь с "разрывами" актуальных данных, когда часть обновленна, часть нет, часть вообще отсутствует?
зависит от характера данных наверно. вариантов несколько
Ivansuper
Привет. Фундаментальный вопрос про инвалидацию кэша. Допустим, на бэкенде есть метод возвращающий постранично список каких-то объектов. Хочется кэшировать их в локальную БД приложения, для просмотра оффлайн, но т.к. свойства объектов могут меняться, главным источником правды всегда остается бэкенд. Кто как поступает в таких случаях? Полностью дропаете кэш, если есть интернет и можно получить хотя бы первую страничку данных от бэкенда? Или как-то частично обновляете локальную БД? И как тогда, во втором случае, боретесь с "разрывами" актуальных данных, когда часть обновленна, часть нет, часть вообще отсутствует?
Бэкенд должен уметь тебе давать какой то токен отвечающий за актуальность данных. Если при новом любом запросе на сервак он не сходится с кешем -- весь кеш в топку
Ivansuper
Еще как менее надежный вариант -- делаешь очередной запрос на сервер. Если данные с локальным кешем разошлись -- дропай весь кеш
Mike
If-Modified-Since 😏
Ivansuper
Ivansuper
Ivansuper
Если же какая то страница очередная сошлась, значит данные пока актуальны
An
Вообще хорошим решением выглядит некий метод на бэкенде, который по хэшу локальной версии возвращает дифф данных, который можно накатить и получить полностью актуальную локальную копию. Но если нет возможности воздействовать на бэкенд, этот вариант отваливается
Ivansuper
Ivansuper
Ivansuper
Mike
Mike
Ivansuper
"накатить обновления" обычно ведет к инкрементальным долгим обновлениям в случаях когда давно не обновлялось. Проще просто с сервера хеш актуальности смотреть
An
Если же какая то страница очередная сошлась, значит данные пока актуальны
В общем-то, логичнее тогда дропнуть сразу весь кэш, если есть возможность получать данные из сети, независимо от их соответствия с локальной копией. И кэшировать по мере прогрузки (скроллинга списка). Потому что несколько "одинаковых" по содержимому страниц от бэкенде и в локальной копии всё ещё не гарантируют, что и дальше они идентичны, а туда пользователь может в итоге и недоскроллить.
Ivansuper
Ivansuper
Понимаешь, у тебя есть локальный кеш, он валидный сам в себе. Пока точечные ответы сервера с ним совпадают, он остается валидным. Если один ответ где то не совпал, значит надо точно весь обновить. Как то так. Но тебе тогда надо делать дифф утилиту
An
Не понимаю, почему он валидный сам по себе)
Ivansuper
Ivansuper
Ivansuper
Ivansuper
Если они используются в обе стороны, то тогда да, проблема актуальности есть
Ali
Ali
Ivansuper
Ну тебе вариантов накидали) Подумай как лучше будет
An
Окей, спасибо) Я тут ещё докладик с мобиуса нагуглил на эту тему, пойду тоже посмотрю.
Ivansuper
Тут надо обычно сидеть и говорить с заказчиком/бэкэндером
Николай
Ребят. Оцените данный списочек моих "скилов".
Хотел узнать чего мне ещё нужно доучить для того что бы
стать полноценным junior adnroid developer ?
Уже два года как знаком с разработкой под андроид.
Себя спецом далеко не считаю. Скорее придурком,
который временами гуглит даже то, что уже использовал.
Хочется уже увидеть горизонт необходимых скилов,
с которыми я смогу подать резюме в норм компанию,
а не шарагу.
1. Активности. Фрагменты. Их жизненный цикл и взаимодействие. Работа с Intent, PendingIntent, виды Intent.ACTION.
2. Базовые элементы View. Так же могу работать и с другими елементами и библиотеками(при наличии документации).
3. MVVM. MutableLiveData.
4. Service
5. Broadcast Receiver
6. Recycler View. Paging Library.
7. JSON, XML.
8. Room. SQL. Немного знаю проектирование и нормализацию БД.
9. Picasso (умею пользоваться).
10. Retrofit. OkHTTP.
11. Notification.
12. В основном в разметке работаю с linearLayout, constraintLayout, drawerLayout, frameLayout.
13. Умею применять FrescoImageViewer.
14. Умею делать SnackBar, Toast, Toolbar, выдвижную шторку в NavigationDrawer.
15. При необходимости могу написать кастомный type конвертер для GSON.
16. Могу работать с камерой, сканировать QR/Bar коды в оффлайн режиме.
Код пишу на Java. Перейду на Kotlin только при необходимости. Он меня уж очень отпугивает своим синтаксисом.
Знаком со стеком JAVA EE, также проходил в университете курс обучения C/С++ в котором была работа с WIN API и
многопоточностью.
Умею использовать:
1. Servlet, Filter, знаю как они работают, какие есть скоупы.
2. Знаю какие есть MIME типы. Умею работать с некоторыми.
2. JSP, JSF, HTML и чуток CSS.
3. JDBC.
4. JWT.
5. Session, Cookies
6. Умею работать с HTTP, WebScoket на стороне как клиента так и сервера.
О Spring, Hibernate я мало что знаю так как сделал выбор для старта карьеры в пользу ведроида и остановил изучение Enterprise.
Так же за спиной 2 части курса Cisco CCNA. Но они особо отношения к Android не имеют.
An
"Активности". Сразу в утиль. Сорре.
Ali
An
Активити. Это имя собственное. Не надо его переводить.
Ivansuper
Ivansuper
Ребят. Оцените данный списочек моих "скилов".
Хотел узнать чего мне ещё нужно доучить для того что бы
стать полноценным junior adnroid developer ?
Уже два года как знаком с разработкой под андроид.
Себя спецом далеко не считаю. Скорее придурком,
который временами гуглит даже то, что уже использовал.
Хочется уже увидеть горизонт необходимых скилов,
с которыми я смогу подать резюме в норм компанию,
а не шарагу.
1. Активности. Фрагменты. Их жизненный цикл и взаимодействие. Работа с Intent, PendingIntent, виды Intent.ACTION.
2. Базовые элементы View. Так же могу работать и с другими елементами и библиотеками(при наличии документации).
3. MVVM. MutableLiveData.
4. Service
5. Broadcast Receiver
6. Recycler View. Paging Library.
7. JSON, XML.
8. Room. SQL. Немного знаю проектирование и нормализацию БД.
9. Picasso (умею пользоваться).
10. Retrofit. OkHTTP.
11. Notification.
12. В основном в разметке работаю с linearLayout, constraintLayout, drawerLayout, frameLayout.
13. Умею применять FrescoImageViewer.
14. Умею делать SnackBar, Toast, Toolbar, выдвижную шторку в NavigationDrawer.
15. При необходимости могу написать кастомный type конвертер для GSON.
16. Могу работать с камерой, сканировать QR/Bar коды в оффлайн режиме.
Код пишу на Java. Перейду на Kotlin только при необходимости. Он меня уж очень отпугивает своим синтаксисом.
Знаком со стеком JAVA EE, также проходил в университете курс обучения C/С++ в котором была работа с WIN API и
многопоточностью.
Умею использовать:
1. Servlet, Filter, знаю как они работают, какие есть скоупы.
2. Знаю какие есть MIME типы. Умею работать с некоторыми.
2. JSP, JSF, HTML и чуток CSS.
3. JDBC.
4. JWT.
5. Session, Cookies
6. Умею работать с HTTP, WebScoket на стороне как клиента так и сервера.
О Spring, Hibernate я мало что знаю так как сделал выбор для старта карьеры в пользу ведроида и остановил изучение Enterprise.
Так же за спиной 2 части курса Cisco CCNA. Но они особо отношения к Android не имеют.
Чтобы стать джуниором тебе надо одно -- работать начать
Ivansuper
Если придешь на место для джуниора, тебя не будут до удушья валить
Ivansuper
Иначе можешь вечно бояться и вечно учиться
Ivansuper
К тому же, сходить пару раз и понять что требуют сейчас даст тебе как раз ответ на "что надо подучить"
Ali
Ali
Ребят. Оцените данный списочек моих "скилов".
Хотел узнать чего мне ещё нужно доучить для того что бы
стать полноценным junior adnroid developer ?
Уже два года как знаком с разработкой под андроид.
Себя спецом далеко не считаю. Скорее придурком,
который временами гуглит даже то, что уже использовал.
Хочется уже увидеть горизонт необходимых скилов,
с которыми я смогу подать резюме в норм компанию,
а не шарагу.
1. Активности. Фрагменты. Их жизненный цикл и взаимодействие. Работа с Intent, PendingIntent, виды Intent.ACTION.
2. Базовые элементы View. Так же могу работать и с другими елементами и библиотеками(при наличии документации).
3. MVVM. MutableLiveData.
4. Service
5. Broadcast Receiver
6. Recycler View. Paging Library.
7. JSON, XML.
8. Room. SQL. Немного знаю проектирование и нормализацию БД.
9. Picasso (умею пользоваться).
10. Retrofit. OkHTTP.
11. Notification.
12. В основном в разметке работаю с linearLayout, constraintLayout, drawerLayout, frameLayout.
13. Умею применять FrescoImageViewer.
14. Умею делать SnackBar, Toast, Toolbar, выдвижную шторку в NavigationDrawer.
15. При необходимости могу написать кастомный type конвертер для GSON.
16. Могу работать с камерой, сканировать QR/Bar коды в оффлайн режиме.
Код пишу на Java. Перейду на Kotlin только при необходимости. Он меня уж очень отпугивает своим синтаксисом.
Знаком со стеком JAVA EE, также проходил в университете курс обучения C/С++ в котором была работа с WIN API и
многопоточностью.
Умею использовать:
1. Servlet, Filter, знаю как они работают, какие есть скоупы.
2. Знаю какие есть MIME типы. Умею работать с некоторыми.
2. JSP, JSF, HTML и чуток CSS.
3. JDBC.
4. JWT.
5. Session, Cookies
6. Умею работать с HTTP, WebScoket на стороне как клиента так и сервера.
О Spring, Hibernate я мало что знаю так как сделал выбор для старта карьеры в пользу ведроида и остановил изучение Enterprise.
Так же за спиной 2 части курса Cisco CCNA. Но они особо отношения к Android не имеют.
гита в списке нехватает
Николай
гита в списке нехватает
Да ну умею с ним работать. Изучал паттерны ветвлений но так как не работал в компаниях
то без практики побоялся в список его добавлять.
Ivansuper
Michil Shkulyov
Наскока мне известно там мало вакансий на jun, и то за них куча народу грызется
Ivansuper
Хочешь — найдешь. Надо — сделаешь. Вам в прикол себя демотивировать?
Michil Shkulyov
Лучше переехать
Ivansuper
Переехать ему или нет он решит сам
Ali
Николай
К тому же, сходить пару раз и понять что требуют сейчас даст тебе как раз ответ на "что надо подучить"
"Сходил" раз. Попал в кантору в которой нету вообще андроид разрабов. Платят 2 000грн в месяц.
Уже полтора месяца там просидел. Разного рода поручения делал. Оценивал проекты.
На мне хотят заработать. Пытаются найти под меня проекты да такие, где нужно полноценный
клиент сделать для магазина или скажем свой Reverse VNC Server сделать...
Я как бы через REST API могу сделать клиента без проблем. Но вот когда дело касается красивых
дизайнов и анимаций как в современных дорогих приложениях то я тут ноль.
Вот сижу и думаю, что делать дальше.
Со стажировки не свалил потому что меня сильно не задрачивают, а я сейчас универ заканчиваю, нужно диплом успеть доделать.
Толк
Увааемые подскажите!
Нужно сделать страницу регистрации в приложении из двух этапов (экранов, страниц) с анимаций сладом между ними.
Как логичнее всего сделать? Через просто вью и их видимость, фрагменты или двумя активити?
Николай
Беда в том, что без опыта работы бывает по 6 часов уходит решение проблемы.
Был бы возле меня мидл он бы мне подсказал название класса или механизма для решения.
А так сам сиди и вся ответственность на мне
Michil Shkulyov
Max
Max
Как вывести текст на имейдж баттон?
Max
Он как бы есть, но перекрывается картинкой, изображение пнг если закидывать в обычную кнопку то при смене настроек(смена темы) происходят такие приколы - кнопка обретает цвет темы
Сергей
Max
Mike
Сергей
Можно. Наследуемся и пишем.
Max
Да емае, а как тогда это решить без перевода изображения в вектор?
Сергей
Свой класс
Mike
Max
Проще, средствами конструктора фрагментов можно это обойти?
Mike
Mike