Я неделю решал задания из пятой лекции и всё-таки решил. Вот один из примеров и ход моих мыслей от «решить хоть как-то с нарушением условий» до «ладно, решу так»
Задание: cоздайте функцию, которая генерирует возрастающий массив чисел в интервале от X до Y. Интервал должен определять пользователь при вызове функции
Первое решение без функции и со строго заданными параметрами:
var massiveToGo = [Int]()
var index = 0
for index in 1...3 {
massiveToGo.append(index)
print(massiveToGo)
}
Второе решение, где надо было доработать функцию с выводом вариативных параметров без использования внутреннего диапазона 1...3:
func makeGreatArray(numberOne: Int, numberTwo: Int) {
var massiveToGo = [Int]()
var index = 0
for index in 1...3 {
massiveToGo.append(index)
print(massiveToGo)
}
makeGreatArray(numberOne: 1, numberTwo: 3)Третий вариант где функция создаёт массив, но с каждой итерацией в консоли появляется новый массив и их количество равно переменной которая должна задавать верхнюю границу диапазона, а по заданию (наверно) должен создаваться один массив:
func makeGreatArray(numberOne: Int, numberTwo: Int) {
var massiveToGo = [Int]()
var index = 0
while index < numberTwo {
index += numberOne
massiveToGo.append(index)
print(massiveToGo)
}
}
makeGreatArray(numberOne: 1, numberTwo: 3)Ошибка которую я не заметил: тут решение зависит от введённой единицы в переменной numberOne = 1, если диапазон начать с другого числа: то массив создаётся с шагом в это число:
func makeTwentyArray(numberOne: Int, numberTwo: Int) {
var massiveToGo = [Int]()
var index = 0
while index < numberTwo {
index += numberOne
massiveToGo.append(index)
}
if index == numberTwo {
print(massiveToGo)
}
}
makeTwentyArray(numberOne: 1, numberTwo: 20) // вот тут ошибкаЧетвёртый вариант: верное решение выводит массив с шагом в 1 из диапазона заданного пользователем, но массив начинается с числа которое больше заданного на единицу:
func makeGreatArray(numberOne: Int, numberTwo: Int) {
var massiveToGo = [Int]()
var index = numberOne
while index < numberTwo {
if index >= numberOne {
index += 1
massiveToGo.append(index)
}
}
if index == numberTwo {
print(massiveToGo)
} else {
print("Чтото пошло не так")
}
}
makeGreatArray(numberOne: 4, numberTwo: 27)Когда я смотрю разбор решения от преподавателя, то там почти всегда код выглядит элегантно и в несколько строчек. Этому можно научиться, необходимо приложить усердие, время и дисциплину
Верное решение от преподавателя выглядит так:
func createArray(from start: Int, to end: Int) -> [Int] {
var array = [Int]()
for count in start...end {
array.append(count)
}
return array
}
createArray(from: 2, to: 9)Как выяснилось: всё решаемо, стоит только приложить к интеллектуальному труду должный объём времени и почти всё получается
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1💩1
Посмотрел и законспектировал в playground лекцию "ООП в Swift". Сказать что она сложная значит быть искренним на 20%. Я понял за три дня что такое классы, инкапсуляция, наследование, полиморфизм и где это применимо. Лишь благодаря постоянным пересмотрам небольших участков видео по два три раза вся информация уложилась как надо
Повторяю код из видео и комментирую то что говорит преподаватель. Я понимаю о чём он рассказывает, даже несмотря на сбивчивое объяснение с постоянными возвратами на предыдущие тезисы из-за тупых и излишних вопросов в чате (это запись вебинара). Еще преподаватель просто копипастит ранее написанный в лекции код который иллюстрировал предыдущую тему и использует его уже для объяснения другой. Просто оставляет все имена свойств, классов и методов как они были в предыдущей теме. А то что было написано ранее просто оборачивает в комментарий
/* some Swift code */
и компилятор не ругается, а я матерюсь вслух..
Приходится всё переименовывать и структурировать урок самостоятельно
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🐳1
Пишу код, запускаю и он работает. Пишу другой, запускаю, компилятор выдаёт ошибки. Долго думал в чём дело и оказалось что я некорректно понял суть задачи по созданию класса и переопределяемых методов в нём
Надо было просто оставить свойства и методы класса пустыми не вписывая формулы расчёта фигур в родительском классе, а оставить их в наследуемых объектах
Сейчас споткнулся на этапе создания интерфейса, который должен выводить результаты расчёта через print. Консоль Xcode пишет не цифры, а (function). Пойду погуляю на stack overflow, уверен на эту проблему уже есть решение
Ниже пример который я решил легко. Здесь наработан опыт создания класса, его свойств и методов:
import Cocoa
class Orange {
let color: String
let taste: String
let radiusOrange: Double
var orangeVolume: Double
init() {
color = "Orange"
taste = "sweet"
radiusOrange = 95
orangeVolume = 0
}
func calculateOrangeVolume () {
orangeVolume = 4/3 * Double.pi * pow(radiusOrange,3)
}
}
let someOrange = Orange()
print("Orange has \(someOrange.color) color and \(someOrange.taste) taste")
let orangeVolume = 4/3 * Double.pi * pow(someOrange.radiusOrange,3)
let calculate = Orange()
calculate.calculateOrangeVolume()
Со вторым и третьим заданием я пока разбираюсь. Хочу пройти этот путь самостоятельно, через понимание процесса. В любом случае всегда смогу подсмотреть верное решение в начале следующей лекции, но по возможности делать этого не буду
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍4💩1
Я подсмотрел решение задачи о которую споткнулся. Буду так делать и далее если на этапе обучения начнутся трудности решить которые становится неоправданно сложно. Преподаватель показал изящный код (второй скриншот) по сравнению с которым, моё решение (первый скриншот) выглядит громоздко и не выводит результат работы метода класса на консоль, пишет (function)
Здесь показывать не буду потому что код не помещается в публикацию. Кому интересно посмотрят скриншоты. Задача была рассчитать параметры геометрических фигур используя переопределяемые методы (тк формулы для разных фигур разные) через наследование классов от общего "Figure" до узкоспециализированных типа "Ellipse". Суть я понял, но на практике применил свои знания частично
Я не сдаюсь, а обучаюсь паттернами поведения. Увеличиваю насмотренность вариантов работы с кодом. Именно так действуют успешные разработчики. Они не проламывают стену незнания своей головой, но ищут опыт и находят его таким же способом как я действую сейчас Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12❤3💩1
12/40
Лето прощай. Первого августа 2024 я начал менять свою жизнь изучением Swift. Моя цель: обязательно стать ios разработчиком
Сегодня проходим перечисления и структуры:
и способы их использования в методах:
С каждым разом я всё больше и больше понимаю где применяются фрагменты раннее полученных знаний. Например switch был создан под enum. Без этих операторов ветвление в Swift (через if-else) выглядело бы очень громоздким
😍
😍
Лето прощай. Первого августа 2024 я начал менять свою жизнь изучением Swift. Моя цель: обязательно стать ios разработчиком
Сегодня проходим перечисления и структуры:
enum Weekday {
case monday // первый вариант написания перечисления
case tuesday // все перечисленные свойстыв имеют тип "Weekday"
case wednesday
case thuesday
case friday
case suterday
case sunday
}
и способы их использования в методах:
func setupAlarmTwo() {
switch weekday { // компиляторр теперь значет что "case" будем сравнивать с "weekday"
case .monday:
print("Установить будильник на 8 утра")
case .tuesday:
print("Установить будильник на 8:30 утра")
case .wednesday:
print("Установить будильник на 8:30 утра")
case .thuesday:
print("Установить будильник на 7:30 утра")
case .friday:
print("Ура пятница")
case .suterday:
print("Будильник не установлен")
case .sunday:
print("Будильник не установлен")
}
}С каждым разом я всё больше и больше понимаю где применяются фрагменты раннее полученных знаний. Например switch был создан под enum. Без этих операторов ветвление в Swift (через if-else) выглядело бы очень громоздким
Please open Telegram to view this post
VIEW IN TELEGRAM
5❤2💩1
13/40Решаю домашнее задание на перечисление
enum{} и структуры struct{}. Первое готово, остальные три предстоит либо сделать самостоятельно, либо подсмотреть в начале уже следующей лекцииСчитаю это нормальным, когда чувствую что вот именно сейчас пора
Начинаю понимать разработчиков которые внезапно выходят из своего уютного опенспейса (или дома) на прогулку в парк. Отдохнуть от работы, снять напряжение и возможно, совсем чуть-чуть: поплакать
ps: 23 октября 2024 я купил свой первый 16" Macbook pro на процессоре M1pro с 16Gb оперативной и 512Gb ssd памятиPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1💩1
14/40
У меня возникает ощущение что я вот вот сдамся. Почти закончил первый из трёх курсов от swiftbook 2019 года. Информация там устаревшая и преподаватель очень часто сбивается с мысли при объяснении материала, а также в разборе домашних заданий своих студентов
Мне очень не хватает коммюнити учеников, качественного кодревью и вообще фитбека от действующих ios разработчиков. Ощущение что я тут один декомпозирую каменную кладку стены что стоит между моим настоящим и тем человеком, которым я хочу стать. Чтобы перебраться на сторону интересного занятия которое приносит пользу людям, предстоит перетащить не один десяток тяжёлых блоков задач и проблем
Сейчас склоняюсь к мысли что всё таки приобрету курс от Яндекс практикума на десять месяцев тк отказываться от своей цели не планирую. Хотя моушен дизайн мне тоже очень интересен, но у меня есть только одна жизнь и бюджет только на одно решение. Видимо ближе к новому году его надо принять
😍
😍
У меня возникает ощущение что я вот вот сдамся. Почти закончил первый из трёх курсов от swiftbook 2019 года. Информация там устаревшая и преподаватель очень часто сбивается с мысли при объяснении материала, а также в разборе домашних заданий своих студентов
Мне очень не хватает коммюнити учеников, качественного кодревью и вообще фитбека от действующих ios разработчиков. Ощущение что я тут один декомпозирую каменную кладку стены что стоит между моим настоящим и тем человеком, которым я хочу стать. Чтобы перебраться на сторону интересного занятия которое приносит пользу людям, предстоит перетащить не один десяток тяжёлых блоков задач и проблем
Сейчас склоняюсь к мысли что всё таки приобрету курс от Яндекс практикума на десять месяцев тк отказываться от своей цели не планирую. Хотя моушен дизайн мне тоже очень интересен, но у меня есть только одна жизнь и бюджет только на одно решение. Видимо ближе к новому году его надо принять
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13🫡3❤1💩1🙏1
15-я неделя
С этого момента я перестал ставить дедлайн в 40 недель до окончания своего обучения. Успешно закончил первый из трёх курсов 2019 года по программированию от Swiftbook . Весь ноябрь буду повторять материтал и конспекты в playground. Почти всё понятно, но мне по прежнему нужна ещё большая насмотренность кода и вариантов его применения
Сейчас готовлю план по выходу на платные курсы с фитбеком по результату работы на базе моей занятости в найме в декабре
😍
😍
С этого момента я перестал ставить дедлайн в 40 недель до окончания своего обучения. Успешно закончил первый из трёх курсов 2019 года по программированию от Swiftbook . Весь ноябрь буду повторять материтал и конспекты в playground. Почти всё понятно, но мне по прежнему нужна ещё большая насмотренность кода и вариантов его применения
Сейчас готовлю план по выходу на платные курсы с фитбеком по результату работы на базе моей занятости в найме в декабре
Please open Telegram to view this post
VIEW IN TELEGRAM
2👎9😢7🤔6🤬5👏4😁3🤯2🔥1🤮1
16-я неделя
Пересматриваю лекции от Swiftbook. В этот раз не тот вариант по которым делал домашние задания и конспекты, а версию от 2023 года на свежем Xcode и актуальной версии языка. Дошёл до ООП, классов и инкапсуляции
11 ноября утро заболел и не смог досмотреть лекцию, кое как отработал в найме и еле живой вернулся домой где Ася меня буквально спасла лекарствами, вкусной едой и своей заботой
12 ноября был выходной, я уже выздоровел, но решил набраться сил, остаться дома и не загружать голову знаниями
13 ноября выходной, уже полностью восстановился и к вечеру пересмотрел лекцию ещё раз. Продолжаю двигаться в своём ритме..
😍
😍
Пересматриваю лекции от Swiftbook. В этот раз не тот вариант по которым делал домашние задания и конспекты, а версию от 2023 года на свежем Xcode и актуальной версии языка. Дошёл до ООП, классов и инкапсуляции
11 ноября утро заболел и не смог досмотреть лекцию, кое как отработал в найме и еле живой вернулся домой где Ася меня буквально спасла лекарствами, вкусной едой и своей заботой
12 ноября был выходной, я уже выздоровел, но решил набраться сил, остаться дома и не загружать голову знаниями
13 ноября выходной, уже полностью восстановился и к вечеру пересмотрел лекцию ещё раз. Продолжаю двигаться в своём ритме..
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4💩2
17-я неделя
Начал и закончил ознакомление с бесплатной частью курса iOS developer от Яндекс практикум. Кратко и ёмко пояснили за язык, востребованность профессии и формат обучения спринтами
На примере учебного Swift проекта ознакомили с Xcode и структурой файлов. Мне это по душе, то что надо. Всё время до этого урока я работал в playground и постигал базовую логику и синтаксис Swift. Яндекс же, сразу погружает в среду разработки и позволяет по требованиям и гайдам изменить что-то в проекте. Это интереснее, хотя я понимаю что код я хочу и буду писать в будущем
😍
😍
Начал и закончил ознакомление с бесплатной частью курса iOS developer от Яндекс практикум. Кратко и ёмко пояснили за язык, востребованность профессии и формат обучения спринтами
На примере учебного Swift проекта ознакомили с Xcode и структурой файлов. Мне это по душе, то что надо. Всё время до этого урока я работал в playground и постигал базовую логику и синтаксис Swift. Яндекс же, сразу погружает в среду разработки и позволяет по требованиям и гайдам изменить что-то в проекте. Это интереснее, хотя я понимаю что код я хочу и буду писать в будущем
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
18-я неделя
Я решил пройти курс "iOS-разработчик расширенный" от Яндекс практикум. Буду оплачивать его каждый месяц и конспектировать свои успехи с огорчениями на этом канале. В бесплатной части курса погрузили в среду разработки на тестовом приложении и позволли немного его изменить, было интересно
Ещё я составил себе план из двенадцати пунктов на 2025 год, записал ожидемые доходы (из всех моих источников) и расходы, с затратами на обучение. План включает в себя плотную работу на протяжении декабря 2024 года и уход из найма осенью 2025
По моим ощущениям и взвешенным расчётам - всё получится
😍 😍 😍
😍
Я решил пройти курс "iOS-разработчик расширенный" от Яндекс практикум. Буду оплачивать его каждый месяц и конспектировать свои успехи с огорчениями на этом канале. В бесплатной части курса погрузили в среду разработки на тестовом приложении и позволли немного его изменить, было интересно
Ещё я составил себе план из двенадцати пунктов на 2025 год, записал ожидемые доходы (из всех моих источников) и расходы, с затратами на обучение. План включает в себя плотную работу на протяжении декабря 2024 года и уход из найма осенью 2025
По моим ощущениям и взвешенным расчётам - всё получится
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
19-я неделя как я решил стать iOS разработчиком
Вчера начался последний месяц усиленной работы в найме. Весь декабрь я тружусь по 12 часов на складе. Мне это нужно сейчас, тем более что силы и желание имеются. Главное это понимание для чего я всё затеял. У меня есть конкретная цель на последний месяц этого года. Потом буду трудиться в два раза меньше
Я обязательно накоплю денег чтобы оплатить учёбу
😍
😍
Вчера начался последний месяц усиленной работы в найме. Весь декабрь я тружусь по 12 часов на складе. Мне это нужно сейчас, тем более что силы и желание имеются. Главное это понимание для чего я всё затеял. У меня есть конкретная цель на последний месяц этого года. Потом буду трудиться в два раза меньше
Я обязательно накоплю денег чтобы оплатить учёбу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1
20-я неделя как я решил стать iOS разработчиком
Чтож, очередной подъём в 7:30 утра и первая трудовая неделя декабря позади. Я решил накопить 42000 на стоимость трёх последних месяцев учёбы, тк осенью 2025 собираюсь уходить со склада чтобы полностью сосредоточиться на разработке
Думаю вот ещё над чем: а завести мне ютуб канал или достаточно телеграм?
😍
😍
Чтож, очередной подъём в 7:30 утра и первая трудовая неделя декабря позади. Я решил накопить 42000 на стоимость трёх последних месяцев учёбы, тк осенью 2025 собираюсь уходить со склада чтобы полностью сосредоточиться на разработке
Думаю вот ещё над чем: а завести мне ютуб канал или достаточно телеграм?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
21-я неделя как я решил стать iOS разработчиком
Понизил таргет по деньгам которые заработаю в декабре. Уже собрал семнадцать из сорока двух тысяч которые обеспечат мне оплату трёх последних месяцев обучения. Скорее всего оставшуюся часть (около пяти тысяч) заработаю уже с дохода в январе. Сейчас всё планомерно отправляю на накопительный счёт Ozon банка под 15% годовых
Начал проходить последнюю главу бесплатной части курса "iOS разработчик расширенный" от Яндекс практикум. Ранее писал что начал и закончил вводные уроки, но оказалось что я был невнимателен, ведь там ещё материалы которые необходимо изучить
😍
😍
Понизил таргет по деньгам которые заработаю в декабре. Уже собрал семнадцать из сорока двух тысяч которые обеспечат мне оплату трёх последних месяцев обучения. Скорее всего оставшуюся часть (около пяти тысяч) заработаю уже с дохода в январе. Сейчас всё планомерно отправляю на накопительный счёт Ozon банка под 15% годовых
Начал проходить последнюю главу бесплатной части курса "iOS разработчик расширенный" от Яндекс практикум. Ранее писал что начал и закончил вводные уроки, но оказалось что я был невнимателен, ведь там ещё материалы которые необходимо изучить
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4

