
Alfred
03.03.2017
14:24:00
POST:parameters:progress:success:failure: разве нет?

Dmitriy
03.03.2017
14:24:02
это метот либы

Ильнур
03.03.2017
14:24:34

Google

Dmitriy
03.03.2017
14:24:35
и там дальше 100500 таких коротких вызовов методов

Alfred
03.03.2017
14:24:53
ок. как закешировать результат запроса?

Dmitriy
03.03.2017
14:26:04
[manager.requestSerializer setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];

Alfred
03.03.2017
14:26:06

Dmitriy
03.03.2017
14:26:30
при инициализации)

q210
03.03.2017
14:26:34
а ретраев там нет принципиально?
или как там рейт-лимитинг встраивать?

Dmitriy
03.03.2017
14:27:08
походу тут все ставится
синглтон - это, AFHTTPSessionManager
одна из проблем пока-что, это если для каждого запроса свой набор параметров нужен)
я так понял?)
потому что они задаются при создании

Google

Dmitriy
03.03.2017
14:29:57
хотя не)
при создании ток URL
все остальное мона менять

Alfred
03.03.2017
14:30:25

Ильнур
03.03.2017
14:31:55
SDWebImage это делает по умолчанию. Это если не хочешь сам писать

Alfred
03.03.2017
14:32:34
секундочку. при чем здесь SDWebImage?

q210
03.03.2017
14:32:41
для меня там проблема в том, что выкорчёвывать эту штуку из проекта будет долго и больно при надобности, замокать её толком не получится для тестов, менять её поведение в части обработки HTTP запросов кажется тоже тяжеловато.
НО!
Если ты в данном проекте не планируешь менять эту библиотеку на другую, уверен что не придётся делать те же ретраи, уверен в коде своего papi client'а настолько чтобы не писать unit test'ов - оставь так и не парься

Ильнур
03.03.2017
14:33:01

Alfred
03.03.2017
14:33:32
ты предлагаешь писать 10 разных сетевых стеков для разных ситуаций?
ну или не писать а использовать.

Dmitriy
03.03.2017
14:34:02
ну АФНетворкинг не кеширует картинок полноценно
насколько я знаю, нужно юзать что-то доп, что бы они сохранялись

q210
03.03.2017
14:34:23
мы весь вечер рассказывали про dependency injection который позволяет писать хороший поддерживаемый код. Если у тебя в данном месте код написан один раз и особо потом меняться не будет (т.е. не требует поддержки) - то и DI там тебе особо пользы не принесёт


Dmitriy
03.03.2017
14:34:31
http://blog.originate.com/blog/2014/02/20/afimagecache-vs-nsurlcache/
по крайней мере то, что касается запросов сетевых
а меняется все вокруг логики постоянно. то экраны, то их положение, то функции экранов и все в таком стиле
я поэтому про все это и спрашиваю. на практике я никакой пользы от всего этого не встречал, только в теории много всего читал. Вот и интересно, когда это приходит на помощь, в каких случаях это юзается и т.д. и чем мне может обернуться не использование всех этих канонов, кроме того, что когда-то по шапке за такое могут стучать, а я не буду понимать чего стучат)
хотя опять же с практики, если работаешь в комманде очень быстро к стилю общего кода приходишь, после того как пару раз завернут код из-за неправильного оформления его


Alfred
03.03.2017
14:44:35
> когда это приходит на помощь
Когда ты не можешь удержать все приложение в голове. Когда появляются неявные зависимости, когда изменение одного влият совсем на другую штуку, про которую ты забыл. Когда появляется спагетти код, который очень ветвленый и багу даже не получается раздебажить.

Google

Dmitriy
03.03.2017
14:45:36
а спагетти код - это длинные методы?

Alfred
03.03.2017
14:45:46
Если ты один разработчик, приложение маленькое и не планирует разрастаться, и ты будешь поддерживать его всю жизнь – ок.

Ivan
03.03.2017
14:46:43

Alfred
03.03.2017
14:47:33
а спагетти код - это длинные методы?
это запутанность. это когда ты думаешь что некий метод делает одно, а он делает что-то еще другое что ведет к далеко идущим неочевидным последствиям, о которых ты даже не подозревал

Ivan
03.03.2017
14:49:02

Alfred
03.03.2017
14:49:48
Вопрос был общий, про "Вот и интересно, когда это приходит на помощь"

Dmitriy
03.03.2017
14:50:10

Alfred
03.03.2017
14:50:23

Ivan
03.03.2017
14:51:11
Это в пользу того что нет универсальных решений и singleton не является злом всегда.

Alfred
03.03.2017
14:51:44

Ivan
03.03.2017
14:52:32
Я тебе привел пример что его до сих пор использует компания, благодаря которой ты в принципе имеешь работу.

Engylizium
03.03.2017
14:52:33
Что такое синглтон?

q210
03.03.2017
14:52:54
думаю можно привести в пример не злого синглтона тот же UIApplication

Alfred
03.03.2017
14:53:03

q210
03.03.2017
14:53:06
когда у тебя есть некий god-object
который 100% всегда один на время жизни приложения
который точно никогда никогда не придётся удалять

Ivan
03.03.2017
14:53:37
В Realm есть метод default, тоже по сути singleton. Они там тоже не шарят?

q210
03.03.2017
14:53:50
хотя проблемы с многопоточностью остаются
тут не шарят-нешарят

Google

Alfred
03.03.2017
14:54:13

Ilkhom
03.03.2017
14:54:23
не вижу зла в сингелтоне если использовать прально

q210
03.03.2017
14:54:26
тут баланс удобства использования против опасности

Alfred
03.03.2017
14:54:49

Ivan
03.03.2017
14:54:57
Ну лол

q210
03.03.2017
14:55:39
ок, я вижу зло в синглтоне - невыгружаемый из памяти объект, шарящий своё состояние между всеми тредами (и позволяющий его менять обычно), который непонятно кто и когда и как использует?
что может пойти не так?
к которому есть доступ у всех 100500 библиотек которые подключены в твой код
но удобен, сцуко

Dmitriy
03.03.2017
14:56:39
а если он никаких состояний не хранит?

Admin
ERROR: S client not available

Ivan
03.03.2017
14:56:40

q210
03.03.2017
14:56:54
к UIApplication есть

Ivan
03.03.2017
14:57:03
Откуда ей вообще знать про твои классы.

q210
03.03.2017
14:57:14
вопрос был "ты видишь зло в синглтонах ?"
никто не уточнял чей именно синглтон

Ivan
03.03.2017
14:57:22
UIApplication не твой объект

q210
03.03.2017
14:57:25
и что?
у реалма тоже не мой синглтон
это не говорит о том, что 3rd party библиотеки не могут его использовать

Google

Ivan
03.03.2017
14:57:59
То что ты ерунду написал. У third party нет доступа к твоим объектам

q210
03.03.2017
14:58:13
yup нет
и что?

Alfred
03.03.2017
14:58:18

Ivan
03.03.2017
14:58:31
То что этот аргумент мимо

q210
03.03.2017
14:58:40
ещё раз - я не говорил "почему МОЙ синглтон - плохо"
я говорил "я вижу зло в синглтоне"
да даже в своём синглтоне я зло вижу
чего уж там
представь - команда 5 человек

Ivan
03.03.2017
14:59:39
Ты сразу пиши каких человек
Если тех которые в непонятном состоянии код пишут и не могут потом сказать что они только что написали, то это одно.

q210
03.03.2017
15:00:25
команда звёзд может писать на чистом ассемблере с использованием GOTO for all i care
в реальном мире с реальными командами мы используем паттерны чтобы код был проще
потому что большая часть процесса программирования - борьба с чёртовой сложностью

Ivan
03.03.2017
15:01:06
Ты за всех зря говоришь

q210
03.03.2017
15:01:12
ты прав
обобщаю, увлёкся

Ivan
03.03.2017
15:01:56
То у тебя singleton плохой, а у других почему то работает. То еще что то

q210
03.03.2017
15:02:11
это мой опыт
другого не имею
возможно мне в жизни фатально не везло

Alfred
03.03.2017
15:02:27