@ios_ru

Страница 650 из 2351
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
POST:parameters:progress:success:failure: разве нет?
[manager.requestSerializer setValue: self.LOL forHTTPHeaderField: @"myHeader"];

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
[manager.requestSerializer setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
а если нужно кешировать только картинки?

Ильнур
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
секундочку. при чем здесь SDWebImage?
Картинки кеширует после загрузки он

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
синлтон – зло, передавай черз инициализатор
Поэтому Apple его использует в новом коде, да и не только Apple.

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

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

Dmitriy
03.03.2017
14:50:10
Alfred
03.03.2017
14:50:23
Поэтому Apple его использует в новом коде, да и не только Apple.
это в пользу синглтонов аргумент или против, я не понял :)

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

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
когда у тебя есть некий god-object
А потом делаем (MyAppAwesomeDelgate*)[[UIApplication application] delegate]?

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

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

Alfred
03.03.2017
14:54:49
В Realm есть метод default, тоже по сути singleton. Они там тоже не шарят?
они делают так, что бы их либой было легко пользоваться

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
к которому есть доступ у всех 100500 библиотек которые подключены в твой код
Эээ, как у посторонней библиотеке есть доступ к твоему singleton?

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 нет

и что?

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
То у тебя singleton плохой, а у других почему то работает. То еще что то
а при чем здесь работает и зло? зло тоже работает

Страница 650 из 2351