Рад приветствовать тебя здесь! 👋
Какое-то время назад я обнаружил, что хотел бы приложение на iPhone, которого не смог найти в AppStore📱 . Тогда у меня появилась идея написать приложение самостоятельно, ну а как иначе 😅 , заодно освоив новые технологии и платформу.
Какое-то время назад (лет 5), я пробовал себя в написании простых приложений под Android👩💻 (на тот момент меня не впечатлило). Сейчас я хочу попробовать 👩💻 , а потом дать шанс Android ещё раз.
Этот канал будет своего рода дневником. Посмотрим что из этого выйдет😉
Какое-то время назад я обнаружил, что хотел бы приложение на iPhone, которого не смог найти в AppStore
Какое-то время назад (лет 5), я пробовал себя в написании простых приложений под Android
Этот канал будет своего рода дневником. Посмотрим что из этого выйдет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Почему я завёл этот канал? 🤔
Вот несколько причин, которые вдохновили меня:
🟢 Делиться знаниями
Я верю, что мой опыт и наработки могут быть полезны не только мне, но и другим. Возможно, кто-то найдет здесь ответы на свои вопросы или дополнительную мотивацию для изучения программирования.
🟢 Поддерживать мотивацию
Когда ты делишься своим прогрессом, появляется желание не стоять на месте. Каждый новый пост — это шаг вперёд, который подталкивает меня к новым знаниям и достижениям.
🟢 Упорядочивать знания
Когда я объясняю что-то другим, я лучше понимаю это сам. Канал — отличный способ структурировать информацию и глубже разобраться в сложных темах.
🟢 Архивировать свой путь
Этот канал для меня ещё и дневник, куда я могу заглянуть спустя время, чтобы увидеть, какой путь я прошёл и чему научился.
Вот несколько причин, которые вдохновили меня:
Я верю, что мой опыт и наработки могут быть полезны не только мне, но и другим. Возможно, кто-то найдет здесь ответы на свои вопросы или дополнительную мотивацию для изучения программирования.
Когда ты делишься своим прогрессом, появляется желание не стоять на месте. Каждый новый пост — это шаг вперёд, который подталкивает меня к новым знаниям и достижениям.
Когда я объясняю что-то другим, я лучше понимаю это сам. Канал — отличный способ структурировать информацию и глубже разобраться в сложных темах.
Этот канал для меня ещё и дневник, куда я могу заглянуть спустя время, чтобы увидеть, какой путь я прошёл и чему научился.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
План изучения Swift & iOS 👶
Приложение, которое я хотел бы создать требует некоторые из основных возможностей iOS. Несмотря на то, что я являюсь опытным разработчиком на Java/Kotlin, мои знания в Swift & iOS близки к 0.
Поэтому я недолго думая обратился за помощью ко всем нам известному приятелю ChatGPT. Попросил его создать мне план, специально под нужное мне приложение.
Вот что из этого получилось:
🟢 Основы Swift (2-3 недели)
🟢 Основы iOS (2-3 недели)
🟢 Основы SwiftUI (2-3 недели) - да, я хочу попробовать начать именно с него
🟢 Работа с базами данных (3 недели)
🟢 Работа с камерой и библиотекой фото (2 недели)
🟢 Геопозиция и карты (2 недели)
🟢 Поиск по приложению (2 недели)
🟢 Распознавание текста на фото (1-2 недели)
🟢 Облачный бэкап и Google Drive (2-3 недели)
🟢 Подготовка и запуск приложения (2 недели) - этим я никогда не занимался, но это пожалуй самое главное из всего!
Итого на реализацию вместе с обучением должно уйти примерно 5 месяцев.
План выглядит посильным и достаточно точным по срокам.
Помимо основных тем и сроков, мне были предложены некоторые ресурсы, о которых поговорим позже.
Ну что ж, пожелайте мне удачи🍀
Приложение, которое я хотел бы создать требует некоторые из основных возможностей iOS. Несмотря на то, что я являюсь опытным разработчиком на Java/Kotlin, мои знания в Swift & iOS близки к 0.
Поэтому я недолго думая обратился за помощью ко всем нам известному приятелю ChatGPT. Попросил его создать мне план, специально под нужное мне приложение.
Вот что из этого получилось:
Итого на реализацию вместе с обучением должно уйти примерно 5 месяцев.
План выглядит посильным и достаточно точным по срокам.
Помимо основных тем и сроков, мне были предложены некоторые ресурсы, о которых поговорим позже.
Ну что ж, пожелайте мне удачи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
Материал для обучения
Я посмотрел несколько списков обучающих материалов. На данный момент остановился на
↪️ Курс Stanford: CS193p - Developing Apps for iOS - https://cs193p.sites.stanford.edu/2023
↪️ Hacking With Swift - https://www.hackingwithswift.com/100/swiftui
Первым хочу попробовать Hacking With Swift. По ощущениям я могу пройти его быстрее чем 100 дней, т.к. у меня уже есть опыт программирования.
По мере его прохождения, буду рассказывать впечатление от курса.
Я посмотрел несколько списков обучающих материалов. На данный момент остановился на
Первым хочу попробовать Hacking With Swift. По ощущениям я могу пройти его быстрее чем 100 дней, т.к. у меня уже есть опыт программирования.
По мере его прохождения, буду рассказывать впечатление от курса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤔1
Что случилось перед тем как я отправился в этот путь
Когда мне захотелось написать своё приложение, мои знания🛠 были равны нулю. С помощью ChatGPT я начал работу над реализацией своей идеи, и результат оказался для меня весьма положительным.
Используя SwiftUI, мне удалось довольно быстро создать рабочий прототип, который я уже начал использовать. Да, функционал ограничен, но главное — он решает поставленную задачу.
Написание приложения с помощью ChatGPT действительно возможно, но есть серьёзные нюансы. Хотя ChatGPT хорошо объясняет предлагаемые решения, понимание остаётся поверхностным. Многие аспекты остаются туманными и требуют дополнительного изучения.
Немного о моём опыте со Swift
Swift — красивый язык, но есть моменты, которые, на мой взгляд, лучше реализованы в Java или Kotlin. Например, ссылки на методы.
На первый взгляд может показаться, что это опечатка, и в оригинале должно быть:
Для сравнения, в Kotlin этот код выглядел бы так:
Скобки можно забыть, а
KeyPath: уникально, но непривычно
Другой момент касается KeyPath:
Когда я впервые увидел
Хотя это специфично для Swift, первое впечатление было неоднозначным.
Поскольку эта история, которая заняла у меня около 5–8 вечеров за два месяца, оставила у меня только положительные эмоции, я задумался о том, чтобы подойти к разработке серьёзнее.
Теперь я пишу этот блог✏️
Когда мне захотелось написать своё приложение, мои знания
Используя SwiftUI, мне удалось довольно быстро создать рабочий прототип, который я уже начал использовать. Да, функционал ограничен, но главное — он решает поставленную задачу.
Написание приложения с помощью ChatGPT действительно возможно, но есть серьёзные нюансы. Хотя ChatGPT хорошо объясняет предлагаемые решения, понимание остаётся поверхностным. Многие аспекты остаются туманными и требуют дополнительного изучения.
Немного о моём опыте со Swift
Swift — красивый язык, но есть моменты, которые, на мой взгляд, лучше реализованы в Java или Kotlin. Например, ссылки на методы.
let abc = Abc()
let sing = abc.pronounce
sing()
На первый взгляд может показаться, что это опечатка, и в оригинале должно быть:
let sing = abc.pronounce()
.Для сравнения, в Kotlin этот код выглядел бы так:
val abc = Abc()
val sing = abc::sing
sing()
Скобки можно забыть, а
::
явно указывает на ссылку. Конечно, это не критично и, возможно, дело привычки, но мне кажется, что подход Kotlin выглядит более очевидным.KeyPath: уникально, но непривычно
Другой момент касается KeyPath:
let person = Person(name: “Олежа”, age: 30)
let nameKeyPath = \Person.name
let name = person[keyPath: nameKeyPath]
Когда я впервые увидел
\
, мне это напомнило символ экранирования. Подобное ощущение возникло и с интерполяцией строк:
print("City: \(city)")
Хотя это специфично для Swift, первое впечатление было неоднозначным.
Поскольку эта история, которая заняла у меня около 5–8 вечеров за два месяца, оставила у меня только положительные эмоции, я задумался о том, чтобы подойти к разработке серьёзнее.
Теперь я пишу этот блог
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Привет, привет, привет! 🖖
В итоге я решил остановиться на курсе Hacking with Swift: 100 Days of SwiftUI.
Мне очень понравилось вводное видео, несмотря на его продолжительность (около часа).
Автор рассказывает:
🟢 почему стоит использовать SwiftUI и UIKit;
🟢 какие базовые навыки необходимы;
🟢 основные ошибки, которые люди совершают при обучении (не только SwiftUI, но и в целом);
🟢 полезные материалы для изучения;
🟢 и многое другое.
В видео особенно понравилось, как автор объясняет причины выбора технологий и делится практическими советами по обучению.
Я ожидаю, что данный курс мне удастся пройти намного быстрее чем 100 дней.
Проверим вместе?😉
В итоге я решил остановиться на курсе Hacking with Swift: 100 Days of SwiftUI.
Мне очень понравилось вводное видео, несмотря на его продолжительность (около часа).
Автор рассказывает:
В видео особенно понравилось, как автор объясняет причины выбора технологий и делится практическими советами по обучению.
Я ожидаю, что данный курс мне удастся пройти намного быстрее чем 100 дней.
Проверим вместе?
Please open Telegram to view this post
VIEW IN TELEGRAM
Hacking with Swift
The 100 Days of SwiftUI
Follow the 100 Days of SwiftUI and learn to build apps for free.
👍3
Начало положено! 🔥
Вчерашний день стал отличным стартом моего пути в изучении Swift👉
Вместо заслуженного отдыха после напряжённой рабочей недели я решил посвятить вечер саморазвитию. Прошёл вводное видео и три урока:
➡️ Day 1: Variables, constants, strings, and numbers
➡️ Day 2: Booleans, string interpolation, and checkpoint 1
➡️ Day 3: Arrays, dictionaries, sets, and enums
Общее впечатление от уроков5️⃣ ➕
Курс отлично оформлен, материал подаётся доступно, с чёткими примерами, что особенно важно для новичков.
💡 Что понравилось:
🟢 Чёткая структура: каждый урок сопровождается текстом, дублирующим содержание видео. Это здорово экономит время, когда нужно быстро освежить материал.
🟢 Наглядность: примеры простые, но при этом хорошо раскрывают суть тем.
⚠️ Что можно улучшить:
Тесты, которые добавил автор, они помогают проверить усвоение урока, но есть большое НО, тесты мне показались не очень полезными, тк они одинаковые. Да-да, 6 задач в тесте, и все они как близнецы. Возможно в дальнейших уроках тесты будут более полезными.
🛠 Для меня из этих 3 уроков, самым полезным была демонстрация синтаксиса определения массива (array) и словарь (dictionary), а так же возможность компилятора понимать тип и опускать название класса как в этом примере
Надеюсь, следующие уроки не разочаруют! 🤞🍀
Вчерашний день стал отличным стартом моего пути в изучении Swift
Вместо заслуженного отдыха после напряжённой рабочей недели я решил посвятить вечер саморазвитию. Прошёл вводное видео и три урока:
Общее впечатление от уроков
Курс отлично оформлен, материал подаётся доступно, с чёткими примерами, что особенно важно для новичков.
Тесты, которые добавил автор, они помогают проверить усвоение урока, но есть большое НО, тесты мне показались не очень полезными, тк они одинаковые. Да-да, 6 задач в тесте, и все они как близнецы. Возможно в дальнейших уроках тесты будут более полезными.
enum Weekday {
case monday, tuesday, wednesday, thursday, friday
}
var day = Weekday.monday
day = .tuesday
day = .friday
Надеюсь, следующие уроки не разочаруют! 🤞🍀
Please open Telegram to view this post
VIEW IN TELEGRAM
Hacking with Swift
Day 1 – 100 Days of SwiftUI
Follow the 100 Days of SwiftUI and learn to build apps for free.
🔥1🙏1
Я занимаюсь решением задач на Leetcode 👩💻 уже два года. За это время я освоил основные подходы к решению таких задач.
В какой-то момент мне казалось, что они имеют мало общего с теми, которые я решаю на работе. Однако это впечатление оказалось ошибочным🛑
Через несколько месяцев я заметил, что решения, которые я нахожу для повседневных задач, начинают автоматически оптимизироваться — изменился сам подход к решению.
При этом важно понимать, что оптимизация не всегда имеет решающее значение, но если несколько решений одинаковы по трудозатратам, почему бы не выбрать наиболее эффективное?
Если архитектура решения продумана, а все его части оптимизированы, то на выходе получится (если не вдаваться в детали) почти оптимальный продукт.
Сегодня я впервые решил задачу на Leetcode👩💻 с использованием Swift 🗺 . В ближайшее время напишу пост об этом… ✍️
#leetcode
В какой-то момент мне казалось, что они имеют мало общего с теми, которые я решаю на работе. Однако это впечатление оказалось ошибочным
Через несколько месяцев я заметил, что решения, которые я нахожу для повседневных задач, начинают автоматически оптимизироваться — изменился сам подход к решению.
При этом важно понимать, что оптимизация не всегда имеет решающее значение, но если несколько решений одинаковы по трудозатратам, почему бы не выбрать наиболее эффективное?
Если архитектура решения продумана, а все его части оптимизированы, то на выходе получится (если не вдаваться в детали) почти оптимальный продукт.
Сегодня я впервые решил задачу на Leetcode
#leetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2