Спасибо за статью эту и предыдущие! Мне очень нравится Ваш слог, пожалуйста, продолжайте :) Особенно нравится стиль перехода к выводам почти в каждом абзаце и, главное, их меткость.
1) Оставить один стиль, не смешивая GCD и async-await: в дальнейшем в статье последний используется;
2) Не в init'е стартовать, а отдельными методами рулить старт/стоп
Суммарно приблизительный вариант "быстро-на-коленке"
@Observable
final class NetworkMonitor {
// Добавил private(set) ибо не считаю, что нужно разрешать извне менять состояние
private(set) var isConnected: Bool
// либо не Never, а ошибку наружу давать, если потребуется
@ObservationIgnored
private var monitoringTask: Task<Void, Never>?
@ObservationIgnored
private var monitor: NWPathMonitor
init(monitor: NWPathMonitor) {
// возможно, DI Monitor'а под протоколом
self.monitor = monitor
}
func startMonitoring() {
if monitoringTask != nil { return }
monitoringTask = Task(priority: .high /* или другой */) { [weak self] in
guard let monitor = self?.monitor else { return }
// Ключевой момент: NWPathMonitor.Iterator: AsyncIteratorProtocol
for await path in monitor {
guard let self = self, !Task.isCancelled else { return }
self.isConnected = path.status == .satisfied
}
}
}
func stopMonitoring() {
monitoringTask?.cancel()
}
deinit {
stopMonitoring()
}
}
Нужен персистентный store: Core Data, SQLite, или хотя бы UserDefaults для простых случаев.
3) Некритично: предлагаю упомянуть как SwiftData, так и NSPersistentContainer (если всё-таки Core), как сильно упрощающие жизнь в простых же сценариях.
По Вашему запросу:
Это нужно тестировать отдельно и явно обрабатывать в коде. В комментариях к статье хотелось бы услышать вашу версию обработки такой ситуации.
Это от бизнес-требований и критичности происходящего:
1) банковские приложения при протухании токена вовсе не дадут операцию "протыкать", ибо тебя уже выкинуло на экран авторизации;
2) я б UX-ово предпочёл явное а-ля "для операции (еёКороткоеОписание) необходимо авторизоваться" для первой попавшейся из очереди, а в последующих протухших также сразу обновить токен после успешной ре-авторизации
Или это медиа-фарс для будущей отчётности, чтоб был предлог "Зоблокыроват! больше! всё! Кругом враги нас дудосют" ? Как раз с какого-то марта интернет отключать разрешили
Пожалуйста, не надо упаднических настроений. Сами не можете / не хотите - дело Ваше, но транслировать атмосферу безысходности другим людям не надо, это уже сродни вредительству.
МЫ простые плебеи ничо не сделаем
1) Отучаемся говорить за всех, а заодно всех же и обзывать; 2) Сделать можно очень-даже "чо": хоть бы и для себя + близких писать свои нетиповые решения (хоть свои семейные чаты, да хоть что). Всех кастомщиков выявлять, исследовать их решения и гонять никакого админресурса не хватит;
ЛЮБАЯ созидательная деятельность всегда лучше, поскольку хотя бы и к развитию понималки ведёт, пусть даже какую-то отдельную попытку и заблокировали
Ваш коммент про 4-5 лет я прочитал -- и в этом треде и тот, что с посылом "пользователю пофиг что за код, он в точки играть хочет". Последнее, к слову, задолго до популяризации ИИ всегда было понятно.
Я не спорю с тем, что всё меняется: это всегда было, есть и будет. Я спорю с повышенным драматизмом - "вы и ваша профессия в опасности. быстрей-быстрей учитесь!" - с которыми очередная истерическая история подаётся. Никогда не мог понять, зачем эти призывы простым смертным, далёким от (и соответственно не финансируемыми) непосредственных выгодоприобритателей - Альтман, Цукерберг, Карпатый, я сказал Карпатый!, и кто там ещё. Ну если реально окажется крутой технологией, которая всех остальных выкинет, а вы останетесь единственным архимагом, то чего о ней кричать-то и привлекать себе конкурентов? А то, что является она не такой прям революционной, а очередным баззвордом, который что-нибудь да поменяет, конечно, но сильно меньше, чем это подаётся.
Основываюсь я как на повторяемости истории вцелом так и на результатах тех, что лично я наблюдал: 1) "нужны только 10x инженеры: как ими стать вы узнаете на нашем ютуб-канале"; 2) "кроме фуллстеков никто не нужен - бизнесу незачем тратиться на каждую специализацию!" Опять же го на наш ютуб / медиум -канал; 3) "Apple революционным фреймворком SwiftUI скоро! полностью заменит UIKit", на "UIKit новое пишут только идиоты!" -- вообще цитата моего бывшего коллеги, который из IT убежал лет 6 назад, "не выдержав темп" с его слов. А UIKit никуда не делся, и прекрасно используется, когда тебе нужно хоть чуточку больше контроля, чем может предложить SwiftUI;
А люди постарше вообще могут вспомнить ~ "Fortran сделает программистов ненужными. Физики и инженеры сами будут писать код".
Менялся ли мир? Безусловно, это всегда и везде;
Оставались ли не удел те, кто вообще ничему новому не учился, протирая штаны от зп до зп? Уверен более чем;
У разбитого корыта прям все, кто учился не вот-этой-революционной технологии, а чему-то ещё в IT? Нет конечно, нашлось куда пристроиться и вне киллер-технологии, но без смены стека;
Истина в итоге где-то посередине оказывается. И напоследок порекомендую классика "Программиста-прагматика", где в тч предлагают убедиться, что ценность новой технологии не раздута медиа.
Космические зарплаты в 300-500-700к скоро исчезнут
За зарплаты утверждать не буду, ибо проектник.
Так вот ИИшники мне по сути подарили аргумент в переговорах. Не так давно вляпался в проект, где мне с порога сказали что надо за уволенным ранее ИИ-адептом рефакторить, ибо поддержка новых фичей стала невозможна, да и старая работала "мягко говоря, не так как задумано". На всё это я сказал "спасибо за честность на берегу, за разгребание ожидаю вознаграждение +100 тысяч от исходного запроса". Итог: всё равно найм. Повозился с их документацией да переписал это чудо "по-старчески" вдумчиво и руками.
Нет, Вы не подумайте, я только за этот ваш "передел рынка труда", я совершенно не против новой ниши заказов с повышенными зп. У бизнесов бывает срочность, супер-срочность и реально-объективно-пипец-срочно-откладывать-нельзя. ИИ действительно помогает, только не бизнесу (ускоряет наступление последней градации), а мне-наёмнику :-)
Вот тоже удивляюсь после этих статей: всегда была кнопка "пропустить". С тех пор как ~ в ноябре поменял sms на totp (Google Authenticator), к слову, подобный экран я вовсе перестал видеть.
Вы не заводили в максе аккаунт "чисто поглазеть-потыкать че это такое"? Я -- нет, потому моя догадка только в том, что за тебя аккаунт насильно создать не могут (пока?), и соответственно загнать туда твои госуслуги тоже не могут (опять же "пока?")
А это ещё "смотря кем" пытаться инициировать преследования: необязательно самими JB. Вспомнился случай, когда пенсионер взломал PS3 , а за импортозамещение совсем не наградили
А сильно сложно / палевно / etc делать быструю переключалку "god mode on/off", которую перещёлкивать только когда физически недурачки придут с проверкой? Пусть даже и внезапной и неплановой.
Практика показывает, что очень-даже разблокирует. После криков (особенно представителей пожилого поколения) работник на крайняк и к какому-нибудь своему управляющему сходить может, и чёт всё хорошо работать начинает как требовалось.
А в случае с online-only недовольства и гнев слышит только монитор, что тот же т прекрасно эксплуатирует в виде флоу "задолбай сотней тупых вопросов / уговоров, но не закрывай счёт по запросу"
Деньги с самого начала не то чтобы прям Ваши. Вон и на самих купюрах честно написано, что билет не "лично Иванова И.И" а "банка России". Или про другие страны, с другими формулировками.
Так вот этот-самый банк и влияет разными регуляциями / ставками / etc на Вашу способность как-то этот фантик использовать полезным образом.
Чем дальше тем, честно говоря, больше хочется как в играх-стратегиях "держать ресурсы поближе к нулю". То есть создавать что-то спросовое и потенциально полезное другим людям, чтобы в итоге себе получать нужное, и по возможности максимально минуя эту.. кхм.. регуляцию. Хотя это видимо в абсолюте только через переизобретение натурального обмена и добрососедства.
Особенно раздражает принудиловка, которая поначалу объявляется добровольной.
Например даже просто про зарплату и в чём её выдавать (имхо) соберутся рано или поздно
Если Ваш шаурбизнес начнёт приносить деньги серьёзные уровня тех же банков, то придут ради доброжелательного знакомства и с известием, что теперь у Вас открывается отдел, в котором будут числиться (не работать, понимать надо!) и больше всех остальных работников оплачиваться кого надо люди.
Насколько такие участвуют в управленческой деятельности, судить не возьмусь, но исключать бы тоже не стал.
Ну хочется, видимо, так сильно премию перед НГ поднять продажи самых дешманских смартфонов, на которых кроме маха люди устанавливать будут целое ни-че-го. Может даже, кто из предприимчивых отдельную марку выпустит и назовёт скамофон максофон. </s>
Спасибо за статью эту и предыдущие! Мне очень нравится Ваш слог, пожалуйста, продолжайте :)
Особенно нравится стиль перехода к выводам почти в каждом абзаце и, главное, их меткость.
По этой статье пара предложений:
1) Оставить один стиль, не смешивая GCD и async-await: в дальнейшем в статье последний используется;
2) Не в init'е стартовать, а отдельными методами рулить старт/стоп
Суммарно приблизительный вариант "быстро-на-коленке"
3) Некритично: предлагаю упомянуть как SwiftData, так и NSPersistentContainer (если всё-таки Core), как сильно упрощающие жизнь в простых же сценариях.
По Вашему запросу:
Это от бизнес-требований и критичности происходящего:
1) банковские приложения при протухании токена вовсе не дадут операцию "протыкать", ибо тебя уже выкинуло на экран авторизации;
2) я б UX-ово предпочёл явное а-ля "для операции (еёКороткоеОписание) необходимо авторизоваться" для первой попавшейся из очереди, а в последующих протухших также сразу обновить токен после успешной ре-авторизации
Или это медиа-фарс для будущей отчётности, чтоб был предлог "Зоблокыроват! больше! всё! Кругом враги нас дудосют" ? Как раз с какого-то марта интернет отключать разрешили
Пожалуйста, не надо упаднических настроений.
Сами не можете / не хотите - дело Ваше, но транслировать атмосферу безысходности другим людям не надо, это уже сродни вредительству.
1) Отучаемся говорить за всех, а заодно всех же и обзывать;
2) Сделать можно очень-даже "чо": хоть бы и для себя + близких писать свои нетиповые решения (хоть свои семейные чаты, да хоть что). Всех кастомщиков выявлять, исследовать их решения и гонять никакого админресурса не хватит;
ЛЮБАЯ созидательная деятельность всегда лучше, поскольку хотя бы и к развитию понималки ведёт, пусть даже какую-то отдельную попытку и заблокировали
Ваш коммент про 4-5 лет я прочитал -- и в этом треде и тот, что с посылом "пользователю пофиг что за код, он в точки играть хочет". Последнее, к слову, задолго до популяризации ИИ всегда было понятно.
Я не спорю с тем, что всё меняется: это всегда было, есть и будет.
Я спорю с повышенным драматизмом - "вы и ваша профессия в опасности. быстрей-быстрей учитесь!" - с которыми очередная истерическая история подаётся.
Никогда не мог понять, зачем эти призывы простым смертным, далёким от (и соответственно не финансируемыми) непосредственных выгодоприобритателей - Альтман, Цукерберг, Карпатый,
я сказал Карпатый!, и кто там ещё.Ну если реально окажется крутой технологией, которая всех остальных выкинет, а вы останетесь единственным архимагом, то чего о ней кричать-то и привлекать себе конкурентов?
А то, что является она не такой прям революционной, а очередным баззвордом, который что-нибудь да поменяет, конечно, но сильно меньше, чем это подаётся.
Основываюсь я как на повторяемости истории вцелом так и на результатах тех, что лично я наблюдал:
1) "нужны только 10x инженеры: как ими стать вы узнаете на нашем ютуб-канале";
2) "кроме фуллстеков никто не нужен - бизнесу незачем тратиться на каждую специализацию!" Опять же го на наш ютуб / медиум -канал;
3) "Apple революционным фреймворком SwiftUI скоро! полностью заменит UIKit", на "UIKit новое пишут только идиоты!" -- вообще цитата моего бывшего коллеги, который из IT убежал лет 6 назад, "не выдержав темп" с его слов. А UIKit никуда не делся, и прекрасно используется, когда тебе нужно хоть чуточку больше контроля, чем может предложить SwiftUI;
А люди постарше вообще могут вспомнить ~ "Fortran сделает программистов ненужными. Физики и инженеры сами будут писать код".
Менялся ли мир? Безусловно, это всегда и везде;
Оставались ли не удел те, кто вообще ничему новому не учился, протирая штаны от зп до зп? Уверен более чем;
У разбитого корыта прям все, кто учился не вот-этой-революционной технологии, а чему-то ещё в IT? Нет конечно, нашлось куда пристроиться и вне киллер-технологии, но без смены стека;
Истина в итоге где-то посередине оказывается.
И напоследок порекомендую классика "Программиста-прагматика", где в тч предлагают убедиться, что ценность новой технологии не раздута медиа.
За зарплаты утверждать не буду, ибо проектник.
Так вот ИИшники мне по сути подарили аргумент в переговорах.
Не так давно вляпался в проект, где мне с порога сказали что надо за уволенным ранее ИИ-адептом рефакторить, ибо поддержка новых фичей стала невозможна, да и старая работала "мягко говоря, не так как задумано".
На всё это я сказал "спасибо за честность на берегу, за разгребание ожидаю вознаграждение +100 тысяч от исходного запроса".
Итог: всё равно найм. Повозился с их документацией да переписал это чудо "по-старчески" вдумчиво и руками.
Нет, Вы не подумайте, я только за этот ваш "передел рынка труда", я совершенно не против новой ниши заказов с повышенными зп.
У бизнесов бывает срочность, супер-срочность и реально-объективно-пипец-срочно-откладывать-нельзя.
ИИ действительно помогает, только не бизнесу (ускоряет наступление последней градации), а мне-наёмнику :-)
Вот тоже удивляюсь после этих статей: всегда была кнопка "пропустить".
С тех пор как ~ в ноябре поменял sms на totp (Google Authenticator), к слову, подобный экран я вовсе перестал видеть.
Вы не заводили в максе аккаунт "чисто поглазеть-потыкать че это такое"? Я -- нет, потому моя догадка только в том, что за тебя аккаунт насильно создать не могут (пока?), и соответственно загнать туда твои госуслуги тоже не могут (опять же "пока?")
Эвристика наподобие очень помогает при фильтрации медиа-шума и слегка при предсказательстве судьбы некоторых озвучиваемых законопроектов
Видимо, другую фразу маркер - "твёдро и чётко" - берегут на совсем особый случай, а эта так: дежурная </s>
Он хоть обновляется через какое-то время или "дядь, дай QR пива покупать будем" ?
А это ещё "смотря кем" пытаться инициировать преследования: необязательно самими JB.
Вспомнился случай, когда пенсионер взломал PS3 , а за импортозамещение совсем не наградили
Ещё кандидат в сервисы от билайн ? </s>
А сильно сложно / палевно / etc делать быструю переключалку "god mode on/off", которую перещёлкивать только когда физически недурачки придут с проверкой? Пусть даже и внезапной и неплановой.
типа такой
Практика показывает, что очень-даже разблокирует.
После криков (особенно представителей пожилого поколения) работник на крайняк и к какому-нибудь своему управляющему сходить может, и чёт всё хорошо работать начинает как требовалось.
А в случае с online-only недовольства и гнев слышит только монитор, что тот же т прекрасно эксплуатирует в виде флоу "задолбай сотней тупых вопросов / уговоров, но не закрывай счёт по запросу"
Деньги с самого начала не то чтобы прям Ваши.
Вон и на самих купюрах честно написано, что билет не "лично Иванова И.И" а "банка России". Или про другие страны, с другими формулировками.
Так вот этот-самый банк и влияет разными регуляциями / ставками / etc на Вашу способность как-то этот фантик использовать полезным образом.
Чем дальше тем, честно говоря, больше хочется как в играх-стратегиях "держать ресурсы поближе к нулю".
То есть создавать что-то спросовое и потенциально полезное другим людям, чтобы в итоге себе получать нужное, и по возможности максимально минуя эту.. кхм.. регуляцию.
Хотя это видимо в абсолюте только через переизобретение натурального обмена и добрососедства.
Особенно раздражает принудиловка, которая поначалу объявляется добровольной.
Например даже просто про зарплату и в чём её выдавать (имхо) соберутся рано или поздно
Если Ваш шаурбизнес начнёт приносить деньги серьёзные уровня тех же банков, то придут ради доброжелательного знакомства и с известием, что теперь у Вас открывается отдел, в котором будут числиться (не работать, понимать надо!) и больше всех остальных работников оплачиваться кого надо люди.
Насколько такие участвуют в управленческой деятельности, судить не возьмусь, но исключать бы тоже не стал.
Ух какой простор для творчества да с подстановкой идентификаторов, чтоб не творца в суд отправляли, а обладателя id!
Ну раз говорят, что безопасно, то ведь так и будет, и никакой мошенник не сможет воспользоваться, да?
</sarcasm>
Занятно: и в этот же день прекраснейше (ну, у меня по крайней мере) заработал тытруб без использования тспркн.
Старый конфиг перетёрли, просто повезло иль "чёрный ящик" мощности не вывозит на одновременное замедление всего и вся?
"Мы только выполняли
приказыТЗ!" /sНу хочется, видимо, так сильно
премию перед НГподнять продажи самых дешманских смартфонов, на которых кроме маха люди устанавливать будут целое ни-че-го.Может даже, кто из предприимчивых отдельную марку выпустит и назовёт
скамофонмаксофон.</s>