Вообще, это хаб про iOS разработку, а не про ChatGPT, поэтому ваша ссылка нерелевантна. Такого рода применений все-таки не так много, одно из них я упомянул в своем первом комментарии.
Варианты промтов для ChatGPT публикуются каждый день, есть даже целые сайты с наилучшими практиками. Поэтому еще одно исследование никак этому не вредит, а наоборот, приносит пользу сообществу. Я ответил на ваш вопрос?
Спасибо, интересный подход, хотя кажется избыточным.
А каким образом происходит наполнение json на бэке для получения в mobile app (важна ведь последовательность элементов, положение относительно друг друга и т.д.), есть некий фронт для проверки получившегося в результате UI?
p.s. "Если заменить значение на end, то элементы сдвинутся к правому краю" видимо нужно поправить картинку с alignment.
Отличное исследование возможностей ChatGPT, спасибо, что поделились. Как видно из примеров кода, AI действительно не генерирует код сам, а берет готовые куски кода из различных источников, поэтому получается такая смесь UIKit и SwiftUI, macOS и iOS (возможно еще что это происходит из-за потери контекста, но в любом случае код так себе - простейший MVC). Фактически AI выполняет функцию поиска по GitHub и SO, что и так делают программисты, но обычно под какие-то узко-специализированные задачи или баги и с гораздо большей эффективностью - достаточно сформулировать запрос в поисковой строке. Я видел тред про конвертер валют, но там все-таки это делал опытный iOS разработчик, поэтому ему было проще, чем вам.
Не совсем так. У вас в приложении карту можно привязать или удалить непосредственно перед оплатой, а не после. Т.е. ничто не мешает использовать то же флоу в настройках карт.
Когда появляется новая карта - проходишь по приложениям и обновляешь данные, чтобы потом чертыхаясь не доставать карту и судорожно не вводить цифры вместо того, чтобы просто получить нужную услугу. Я, кстати, и не могу припомнить ни одного известного приложения, у которого нельзя удалить и добавить новую карту в настройках, кроме вашего.
А можно вопрос, пользуясь случаем? Чем обусловлено то, что в вашем приложении нельзя удалить старую карту и привязать новую? В настройках, например? Только во время покупки, что не очень удобно.
Написание кода это время, пусть даже и ваше. Время - деньги) Анализ рынка, инструменты аналитики это тоже деньги. Но да, продвижение это самая существенная часть бюджета. Без продвижения приложение мертво и это демотивирует, к сожалению.
Спасибо за статью. Практически для всех перечисленных шагов нужны серьезные деньги. У инди разработчика, как правило, таких нет. В условиях существующей конкуренции ему остается только делать качественный продукт, нарабатывать аудиторию и надеяться на чудо)
Согласен, ведь еще есть, например, SpriteKit, SceneKit, AR и ML, которые вообще не так часто используются. Но, как правило, iOS разработчику приходилось с ними сталкиваться, если не по работе, то в пет проектах.
Вопросов можно много задавать) стандартные вопросы,
по асинхронности/многопоточности: какие бывают очереди, чем отличаются, что такое dead lock, race condition, инверсия приоритетов, как выполнить группу асинхронных запросов, как отменить задачу, чем отличаются GCD/Operation/async и т.д.
по работе с памятью: как хранятся ссылки и выполняются методы в классах/потомках, как высвобождаются объекты, weak/self/unowned и т.д.
responder chain, hit test: какие бывают жесты, как обрабатываются нажатия, какие есть нюансы и т.д.
autolayout, size classes: что такое autolayout, как сделать адаптивную верстку на разных устройствах, как верстать кодом, когда лучше использовать сториборды, что такое констрейнты и для чего нужны и т.п.
Интересно, что стало много вопросов по SwiftUI, при том что в проде его все-таки немного.
Спасибо за свежий фидбек с собеседований) Относительно простые вопросы, почти не затронута тема асинхронности/многопоточности, работа с памятью, zombi object, side table, responder chain, hit test, autolayout, size classes и т.д.
По своему опыту ответов на stackoverflow я бы еще добавил, что часто не понимают как работают асинхронные сетевые вызовы и как передавать данные между вьюконтроллерами. В сторибордах, бывает, забывают указать нужный вьюконтроллер и, соответственно, не могут установить связь с аутлетом.
Ну не всё так страшно) Я в своих приложениях прошу присылать исправления, если что-то не так переведено и присылают. Даже новые языки появляются (венгерский, голландский).
Вообще, это хаб про iOS разработку, а не про ChatGPT, поэтому ваша ссылка нерелевантна. Такого рода применений все-таки не так много, одно из них я упомянул в своем первом комментарии.
Варианты промтов для ChatGPT публикуются каждый день, есть даже целые сайты с наилучшими практиками. Поэтому еще одно исследование никак этому не вредит, а наоборот, приносит пользу сообществу. Я ответил на ваш вопрос?
Спасибо, интересный подход, хотя кажется избыточным.
А каким образом происходит наполнение json на бэке для получения в mobile app (важна ведь последовательность элементов, положение относительно друг друга и т.д.), есть некий фронт для проверки получившегося в результате UI?
p.s. "Если заменить значение на end, то элементы сдвинутся к правому краю" видимо нужно поправить картинку с alignment.
Извините, но статья получилась пустой. Все эти банальности давно известны, на дворе 2023 год.
Отличное исследование возможностей ChatGPT, спасибо, что поделились. Как видно из примеров кода, AI действительно не генерирует код сам, а берет готовые куски кода из различных источников, поэтому получается такая смесь UIKit и SwiftUI, macOS и iOS (возможно еще что это происходит из-за потери контекста, но в любом случае код так себе - простейший MVC). Фактически AI выполняет функцию поиска по GitHub и SO, что и так делают программисты, но обычно под какие-то узко-специализированные задачи или баги и с гораздо большей эффективностью - достаточно сформулировать запрос в поисковой строке. Я видел тред про конвертер валют, но там все-таки это делал опытный iOS разработчик, поэтому ему было проще, чем вам.
Знакомая фраза)
Не совсем так. У вас в приложении карту можно привязать или удалить непосредственно перед оплатой, а не после. Т.е. ничто не мешает использовать то же флоу в настройках карт.
Когда появляется новая карта - проходишь по приложениям и обновляешь данные, чтобы потом чертыхаясь не доставать карту и судорожно не вводить цифры вместо того, чтобы просто получить нужную услугу. Я, кстати, и не могу припомнить ни одного известного приложения, у которого нельзя удалить и добавить новую карту в настройках, кроме вашего.
А можно вопрос, пользуясь случаем? Чем обусловлено то, что в вашем приложении нельзя удалить старую карту и привязать новую? В настройках, например? Только во время покупки, что не очень удобно.
Чувствуется, что часть статьи и ответы на комментарии написаны автором с помощью ChatGPT)
Про тестовые задания понравилось, хороший подход.
Про "нет желания развиваться" прозвучало двусмысленно, то ли коллега не хочет развиваться, то ли его развили, а он ушел.
Написание кода это время, пусть даже и ваше. Время - деньги) Анализ рынка, инструменты аналитики это тоже деньги. Но да, продвижение это самая существенная часть бюджета. Без продвижения приложение мертво и это демотивирует, к сожалению.
Спасибо за статью. Практически для всех перечисленных шагов нужны серьезные деньги. У инди разработчика, как правило, таких нет. В условиях существующей конкуренции ему остается только делать качественный продукт, нарабатывать аудиторию и надеяться на чудо)
Согласен, ведь еще есть, например, SpriteKit, SceneKit, AR и ML, которые вообще не так часто используются. Но, как правило, iOS разработчику приходилось с ними сталкиваться, если не по работе, то в пет проектах.
А, ну еще можно поспрашивать про хранение данных в CoreData, Keychain, UserDefaults, обработку пушей и диплинков.
Вопросов можно много задавать) стандартные вопросы,
по асинхронности/многопоточности: какие бывают очереди, чем отличаются, что такое dead lock, race condition, инверсия приоритетов, как выполнить группу асинхронных запросов, как отменить задачу, чем отличаются GCD/Operation/async и т.д.
по работе с памятью: как хранятся ссылки и выполняются методы в классах/потомках, как высвобождаются объекты, weak/self/unowned и т.д.
responder chain, hit test: какие бывают жесты, как обрабатываются нажатия, какие есть нюансы и т.д.
autolayout, size classes: что такое autolayout, как сделать адаптивную верстку на разных устройствах, как верстать кодом, когда лучше использовать сториборды, что такое констрейнты и для чего нужны и т.п.
Интересно, что стало много вопросов по SwiftUI, при том что в проде его все-таки немного.
Спасибо за свежий фидбек с собеседований) Относительно простые вопросы, почти не затронута тема асинхронности/многопоточности, работа с памятью, zombi object, side table, responder chain, hit test, autolayout, size classes и т.д.
Спасибо за статью. Есть еще один простой способ отслеживать высвобождение памяти - добавить в контроллер:
deinit {
debugPrint("👍 deinit \(self)")
}
По своему опыту ответов на stackoverflow я бы еще добавил, что часто не понимают как работают асинхронные сетевые вызовы и как передавать данные между вьюконтроллерами. В сторибордах, бывает, забывают указать нужный вьюконтроллер и, соответственно, не могут установить связь с аутлетом.
Ну не всё так страшно) Я в своих приложениях прошу присылать исправления, если что-то не так переведено и присылают. Даже новые языки появляются (венгерский, голландский).
ЗдОрово, из статьи это не оч понятно, сорри) Надо будет опробовать инструмент.
И у вас какое-то сложное расширение в readme, так не проще?
extension String {
var localized: String {
return Bundle.main.localizedString(forKey: self, value: nil, table: nil)
}
}