Ага, и высадить батарею за 5 часов, сначала пользователь скажет спасибо, потом пожалуется, а потом будете гуглу объяснять, что «не верблюд», а так надо.
Как только начнется 100% сон приложений (а он начнется), так сразу прикроется лавочка.
Если пользователь закрывает приложение — оно совершенно ничего не может делать в бэкграунде!
Вот, кстати, Android в ближайшие годы будет себя так же вести. За последние 2 года уже ограничений добавилось. Решается это принудительным пинком со стороны сервера.
Use VoIP Push Notifications to Avoid Persistent Connections
Только пуши, только хардкор.
Причем время между пушем и коннектом к серверу может занимать до 20 секунд.
А жизнь в бекграунде с интернетом до сна 15 секунд, после все процессы убиваются насильно.
Вы неправильно поняли. Рубль лежа это когда можно поспать на работе, придти пьяным в офис, ну и т.д. Да, мозг съедят, но работаешь дальше 5 лет. Два бегом — каждый день на 100% работать.
ты за 5 лет зарабатываешь свои деньги с определенной долей свободы, которой не будет «во взрослой» жизни.
Всё зависит от той логики, которая вам нужна. То что ниже можно и в одном сервисе делать, но в разных архитектура чище и управление более гибкое.
подсчет сообщений определенного типа
разная логика обработки сообщения
логгирование
обновление последнего актуального состояния
передача сообщения «дальше», интеграция
накапливание сообщений (среднее значение, за интервал времени)
Репликация
повышение скорости передачи нескольким слушателям. Fanout работает быстрее чем topic в несколько раз.
Несколько конечных устройств должны получить одно и то же сообщение (пример-чат, пользователь залогинен на 5ти разных устройствах)
Или после топика отдать сразу «всем», так как эксчейнджи биндятся к эксчейнджам.
А статьи очень похожи на перевод официальной документации. Если хотите поближе понять очереди и профит, поищите как был реализован инстаграмм на первых этапах, там связь реббита с редисом есть, видео было где то на ютубе
Скорее всего ничего нет, интереснее посмотреть на лампу под микроскопом и сравнить с прожектором (белым) на 60 (настоящих) Вт. Китайцы любят продавать маленькие кристаллы по цене больших. У меня так светодиодные ленты дома лежат, светить не умеют.
Path не должен добавить &, возможно вы путаете его с Query
{sort} для примера.
Хорошо что написали, мой коммент как раз для тех кто не знаком с Retrofit и RxJava.
@GET("odata/product?$filter=((Id eq 19) and (Name eq 'Available')) and ((Status eq 'OPEN') or ((Status eq 'CLOSED') and (Date ge 2020-02-13T06:39:48Z)))&$orderby=Status asc,Date desc&$top=10&$expand=AuthorId,CategoryId($expand=weight)&$count=true")
Вот это выносится в константы, описываются Path параметры и вы никогда не вспомните о том, что работаете с OData
GET(«odata/product?$filter=Id eq 111&$expand=dateReading($orderby=Date desc»)
… и…
String one = «odata/product?$filter=Id eq »;
String id = «777»;
String tree = "&$expand=dateReading($orderby=Date desc)";
String url = one + id + tree;
Лучше все эти параметры оставить на стороне ретрофита GET(«odata/product?$filter=Id eq {id}&$expand=dateReading($orderby={sort} desc»)
Observable<List> getProducts(Path(«id») int id, Path(«sort») String sort);
Sort меняем на enum, главное не запутаться с преобразованиями
И посмотрите на Single вместо Observable
и роман завязался не между начальником и подчиненным
Сейчас то я понимаю о чем эта фраза, а вот в 20 лет меня умиляло это.
Был у меня отдел, которым я управлял с 20ти лет, человек так в 40, возраст от 18 до 23 лет.
И получил я как то фразу от коллектива «ищи отношения со своими, т.е. ты начальник, вот и должен встречаться с начальницей».
В 20 лет я не знал, что люди не умеют постоять за себя и бояться высказывать своё мнение. У меня был довольно революционный настрой и если война, то всё в труху. Вот и думал, что и у других так. Это спустя много времени стало понятно, что отношения «начальник-сотрудник» могут начаться «под давлением», так как второй побоялся сказать «нет».
Ага, и высадить батарею за 5 часов, сначала пользователь скажет спасибо, потом пожалуется, а потом будете гуглу объяснять, что «не верблюд», а так надо.
Как только начнется 100% сон приложений (а он начнется), так сразу прикроется лавочка.
Вот, кстати, Android в ближайшие годы будет себя так же вести. За последние 2 года уже ограничений добавилось. Решается это принудительным пинком со стороны сервера.
Только пуши, только хардкор.
Причем время между пушем и коннектом к серверу может занимать до 20 секунд.
А жизнь в бекграунде с интернетом до сна 15 секунд, после все процессы убиваются насильно.
Ссылка на гайд
developer.apple.com/library/archive/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html#//apple_ref/doc/uid/TP40015243-CH30-SW1
ты за 5 лет зарабатываешь свои деньги с определенной долей свободы, которой не будет «во взрослой» жизни.
Рубль лежа, два бегом.
А статьи очень похожи на перевод официальной документации. Если хотите поближе понять очереди и профит, поищите как был реализован инстаграмм на первых этапах, там связь реббита с редисом есть, видео было где то на ютубе
Встречал водителей, которые любят заднее сидение и которые не любят заднее сидение.
А еще вариант «не о чем поговорить» или «скучный клиент» :)
{sort} для примера.
Хорошо что написали, мой коммент как раз для тех кто не знаком с Retrofit и RxJava.
Вот это выносится в константы, описываются Path параметры и вы никогда не вспомните о том, что работаете с OData
Лучше все эти параметры оставить на стороне ретрофита
GET(«odata/product?$filter=Id eq {id}&$expand=dateReading($orderby={sort} desc»)
Observable<List> getProducts(Path(«id») int id, Path(«sort») String sort);
Sort меняем на enum, главное не запутаться с преобразованиями
И посмотрите на Single вместо Observable
Есть составы для сглаживания (ну или ацетовонвая баня)
Сейчас то я понимаю о чем эта фраза, а вот в 20 лет меня умиляло это.
Был у меня отдел, которым я управлял с 20ти лет, человек так в 40, возраст от 18 до 23 лет.
И получил я как то фразу от коллектива «ищи отношения со своими, т.е. ты начальник, вот и должен встречаться с начальницей».
В 20 лет я не знал, что люди не умеют постоять за себя и бояться высказывать своё мнение. У меня был довольно революционный настрой и если война, то всё в труху. Вот и думал, что и у других так. Это спустя много времени стало понятно, что отношения «начальник-сотрудник» могут начаться «под давлением», так как второй побоялся сказать «нет».