iSilver dev 🍏
47 subscribers
129 photos
16 videos
1 file
47 links
Переобуваюсь в iOS разработчика в 45.
Swift Xcode SwiftUI
Евгений - @icleverstyle
Download Telegram
Курс Angela Yu
✔️ Раздел 4

Swift UIKit

Приложение Игральные кости

- Клонировал заготовку приложения с GitHub
- IBoutlet
- IBActions

Находка дня:
Выбор картинки прямо в коде:


diceImageViewOne.image = #imageLiteral(resourceName: "DiceSix")


#AngelaYuCourse@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Вписался в учебный проект по созданию мобильного приложения

Цель получить навык работы в команде и практический опыт в iOS разработке

Инструменты взаимодействия в команде:
- YouGile
- GitHub

Техническая реализация
- UIKit, Clean Architecture, iOS 16
- сеть: Alamofire, async/await (альтернатива - самописный сетевой сервис)
- карта: YandexMapsMobile (альтернатива MapKit)
- база данных: RealmSwift (альтернатива CoreData)
- загрузка картинок: Alamofire (альтернатива Kingfisher)
- Keychain

Команда 10 человек

Нашли несколько вариантов дизайнов приложений в Figma

Выбрали Food Delivery App
Дизайн оказался далеко не идеальным, но для учебного проекта - норм.

Сейчас этап верстки: разбираем задачи.

Так опыта и знаний пока очень мало, выбрал
- Верстка Онбординга
- Кнопки - сверстать отдельными компонентами, для единообразного использования во всем проекте

Повытаскивал все кнопки в Figma в одну область, чтобы систематизировать и понять какая структура компонентов будет нужна.

Еще ни строчки кода, а уже интересно... мурашки вокруг толпами бегают )))

#iOSпоВзрослому@isilverdev
👍1
⌛️ Что может выбить из настроенного графика самообучения

1. Утренний слот "в топку", когда накануне уходишь в ночь.

У меня это:
- ночерний волейбол, который заканчивается в 1 ночи + дорога домой.
- матчи Ливерпуля ( 🏴󠁧󠁢󠁥󠁮󠁧󠁿YNWA), которые иногда начинаются в полночь.

2. Идея нового приложения.
Пет проекты - самое увлекательное в мобильной разработке. В голове куча идей: функционал, дизайн, технические решения... Когда проваливаешься в эту "кроличью нору", тебя накрывает с головой и ты забиваешь на график обучения.

Вот и у меня накануне произошел прорыв в идее своего приложения: никак не мог придумать идею дизайна, тут вдруг пробило и сел накидывать в Figma.

В результате, выполнено уроков за вчера - 0!

Как с этим быть?

1. Если не так часто, то можно. Жить надо сейчас, важен и спорт, и увлечения - иначе в одной учебе программированию можно выгореть.

2. То же нормально. После "вспышки" надо перепланировать график, включить - работу над пет-проектом. Он и будет одним из мотивирующих локомотивов.

Как вы справляетесь?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔋 Мак стал греться

Ничего энергоемкого запущено не было.

Мониторинг системы указал на DeepL 😳

Потребление более 2000 ед. за последние 12ч. при 40 ед. У cледующего в списке - браузер Arc!

🤒 DeepL и раньше шалил - зависал на ровном месте. Сейчас он не был даже в списке запущенных приложений.

Пришлось повозиться, чтобы его остановить и удалить.

(Настройки / Основные / Хранилище / Приложения ( i ) )

Сразу стала заметна разница:
- бук холодный,
- разряд батареи медленный!

Заодно немного прибрался в приложениях:
- удалил дубликаты и не используемые приложения;
- установил AlDente App (free plan) - для контроля зарядки аккумулятора
Скачать с сайта

❗️Поделюсь списком приложений, которые использую на macbook'е:

- Loop - менеджер окон
Горячими клавишами размещаю окно: 1/2, 2/3, 1/3 (слева/справа), центр и на весь экран.
Скачать на GitHub

- Punto Switcher - смена языка раскраски клавиатуры
Авто смену отключил, особенно бесило во время работы с кодом. Настроил смену языка и транслитерацию текущего набранного слова по клавише ⌃ Control
Скачать с сайта

- KeyClu - окно с горячими клавишами активного приложения
По двойному нажатию и удерживаю кнопки ⌘ Command Появляется окно со всеми горячими клавиша активного приложения.
Скачать на GitHub

- Shottr - скриншотер
Анализ сриншотеров не проводил, этот поставил и он устраивает всем
Скачать с сайта

- Quitter - закрывает программы по таймер
Настроил некоторые программы на закрытие через 5-10 минут бездействия. Снижается потребление ресурсов Mac и меньше моя расфокусировка.
Скачать с сайта

Есть ли у вас интересные утилиты или приложения для Mac?

#ПриложенияДляМака@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Работа над учебным проектом началась (см. пост выше)

Выполнил самую джунскую задачу - сделал кнопочку )))

Кнопочка одна, но с разными параметрами:

- цвет фона
- текст
- иконка
- расположение иконки
- активна / не активна

Клонировал проект с GitHub
Создал ветку под задачу (task)
Написал код
Закоммитил
Отправил Pull request в GitHub
Жду code-review.

...сплошные "ругательства")))

#iOSпоВзрослому@isilverdev
Курс Angela Yu

Выполнил Раздел 5
Приложение 🎱 "Magic Ball"

Приложение простое:
- label
- imageView
- Button

Верстка и код аналогичны приложению из Раздела 4 "Игральные кости" - который был разжеван по шагам.

Больше заморочился на документировании работы с ветками git.

Разделил проект на мелкие задачи;
Под каждую задачу своя git ветка
Потом слияние веток

Долго решал проблему мусорных файлов:
.DS_Store
.xcworkspace

Надо было в начале создать .gitignore файл

#AngelaYuCourse@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Код-ревью # 1 к таску учебного проекта

✖️// Убрать комментарии из кода

Код должен хорошо читаться без комментариев.

Если они нужны в сложном коде, то может лучше упростить код?!

✖️➡️ Не использовать SF Sombols

Брать то, что нарисовал дизайнер - сохранить иконку из фигмы и использовать ее на проекте.

📱 Добавить .DS_Store в .gitignore

Чтобы в репозиторий не валилось ненужное.

Хорошо бы еще после создания реквеста проверять какие файлы и какие изменения попали в реквест, нет ли там чего ненужного и сразу корректировать.

📝 Нейминг

Допустим, у нас компонента, реализующая круглую кнопку.

Если в проекте всего один тип круглых кнопок, то RoundButton вполне подойдет. Но если в проекте, например, два типа круглых кнопок, одна кнопка это "i" в кружочке, другая это кнопка для категорий, то тут круглота уже не сильно важна, и можно использовать InfoButton и CategoryButton, а если круглота важна, то InfoRoundButton.

То есть, нужно придумать название такое, чтобы прочитав только название было примерно понятно что это за кнопка такая, для чего она нужна.

Если компонента оформлена как вью, внутри сложная верстка из других элементов, но эта компонента по сути - кнопка, то нет особо смысла называть ее, например, InfoButtonView, "view" - тут лишнее.

Точно также с другими компонентами, если суть компоненты - текстфилд, то нет смысла называть ее SomeTextFieldView, достаточно SomeTexField.

Компонента с ...View на конце уместна, когда она сложное вью содержащее в себе кучу функционала, и нет возможности выделить ее главную особенность.

#iOSпоВзрослому@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
iSilver dev 🍏 pinned «⬇️ НАВИГАЦИЯ ПО КАНАЛУ ⬇️ Как я начинал изучать Swift / iOS dev Как я выбирал Mac для изучения iOS dev Подборка курсов по iOS разработке Про Apple Developer Account - Регистрация - Enrolment - Оплатил аккаунт разработчика $99 - Полная история подключения…»
✉️ Пора открыть для себя новую главу в iOS разработке

Начал процедуру оплаты аккаунта разработчика.

UPD: оказывается не оплатил
Пришлось писать в ТП

UPD2: Всё закончилось хорошо
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Есть 2 подхода выполнения заданий:
- креативный
и
- жесткий

Креативный:
- допускаются вариации, улучшения - главное реализовать идею.

Подход в сторону развития навыков независимой разработки приложений (работать на себя)

Жесткий:
- строгое соблюдение макета: расположение, размеры, шрифты, картинки и тп.

Подход направленный на наемную работу, в командах, где за дизайн отвечает дизайнер, а разработчики должны точно воплотить утвержденный дизайн. Даже если он (дизайн) полное 💩, по мнению разработчика.

Если в планах устроиться на вакансию разработчика, всегда делай по 2 варианту, а первый по желанию (не обязательно).

И наоборот, улучшай, развивай креативность и взгляд со стороны пользователя.
1👍1
🔨 3 основные размера экрана iPhone'в

Существуют три основных размера
- SE
- Обычный или Pro
- Pro MAX

Нужно проверять как выглядит верстка на всех трех.

Особенно страдает верстка на SE, вы вроде сделали все по уму, а на SE треть экрана не видна, он короткий.

Обычно дизайнер не предоставляет макеты во всех форм-факторах, т.к. это тройная работа и, в большинстве случаев, отдается на откуп разработчику.

И только на сложных экранах с кучей элементов дизайнер поможет с расстановкой элементов под другие размеры экранов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1
Вместо урока кастомизировал Терминал

Сел смотреть уроки по Git...

И подумал: мне же приходила в голову мысль кастомизировать Терминал, почему бы не сейчас?!

Установил:

- Терминал iTerm2
- Тема powerlevel10k
- Плагин zsh-syntax-highlighting
- LazyGit

🤷🏻‍♂️

UPD: установил плагин eza
📱Создал свой YouTube канал

Самая важная вещь для инди-разработчика, которая может быть у вас - это ни айфон, ни даже макбук, а - 🎙 микрофон!

С тех пор как я создал свой YouTube канал, я увеличил свой доход с 10k$ до 70+k$!


Adam Lyttle - австралийский инди-разработчик

Пока просто создал и залил уроки с курса Angela Yu (без публичного доступа), для перевода с дубляжем, на Udemy - перевод видео не работает ((

😵 Первая цель набрать 1000 подписчиков - это позволит вести прямые трансляции.

Думаю иногда, а может и регулярно устраивать трансляции в формате "code with me".

Подпишись 📱 youtube.com/@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
📚 Собрал книжную полку

Хз когда это всё читать...

Совет как искать книги в pdf выше 🔼
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🗓 Отчёт за неделю - это хорошая идея

Текущий прогресс по курсам Swift

✔️ +1 16/100 - 100 дней SwiftUI
✔️ +0 17/39 - Усов книга 1
✔️ +2 5/29 - Angela Yu

🟩🟩🟩⬜️⬜️⬜️⬜️⬜️⬜️⬜️ - 100 дней
🟩🟩🟩🟩🟩🟩⬜️⬜️⬜️⬜️ - Усов
🟩🟩⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️ - Angela Yu

Проект "iOS по взрослому"
- сделал таск "Верстка 0.1.1 Обычная кнопка"

Это первая задача в проекте, учится приходится многому:
- работать с Git и GitHub
- правильно именовать компоненты в коде
- правильно именовать ветки в Git
- правильно именовать pull-requests

Задания в курсе Angela Yu уже делал с учетом новых знаний работы с git, полученных в проекте iOS по взрослому.

Кстати, вписался в коллективное прохождение курса Angela Yu.

Суть: при выполнении заданий отработать методики работы в команде.

Делить задачу на таски (подзадачи).
Использовать Git и GitHub.
Обоюдный код-ревью.
Координация через YouGile.
И тп.

🗓 Планы на неделю:

"iOS по взрослому"
- доработать таск "Верстка 0.1.1 Обычная кнопка" после код-ревью, исправить замечания.
- выполнить новый таск "Верстка 1.1 Онбординг"

Усов книга 1
- изучить 3 главы: enum, struct, class (44 стр.)

100 дней SwiftUI
- дни 17-18 App "Чек в кафе"
- день 19 App "Конвертер"

Новый Pet-проект (пока секрет)
- подготовить картинки
- начать верстку основного экрана

Ну что ж: погнали!
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ §19 Перечисления / enum - Усов Book 1
Please open Telegram to view this post
VIEW IN TELEGRAM
Несколько дней с Quitter

Мне сложно сфокусироваться на текущей работе/задаче, постоянно отвлекают уведомления и сообщения в мессенджерах, особенно в телеграм.

Настроил выход из приложений через 5 минут бездействия.

Результаты приятно удивили: ловил себя на мысли переводя на иконку Телеги - вау он же закрыт и не отвлекал меня все это время ))

Рекомендую
Скачать с сайта

#ПриложенияДляМака@isilverdev
#продуктивнось@isilverdev
👍2
Как меньше залипать в iPhone

Настройки /
Универсальный доступ /
Быстрая команда /
Светофильтры

По 3-му нажатию на боковую кнопку экран iPhone станет черно-белым.

В результате все соцсети станут не такими красочными и интересными.

В продуктивных приложениях переключаемся обратно в цвет.

#продуктивность@isilverdev