𝚂𝚗𝚘𝚠𝙱𝚊𝚕𝚕𝙲𝚘𝚍𝚎
238 subscribers
112 photos
3 videos
25 links
Простым языком про it, ai и жизнь инди разработчика @Veoeo. Группа: @CodeBallSnow
Download Telegram
Channel name was changed to «Я стану iOS разработчиком»
15-я неделя обучения окончена 💫

🥶осьмой спринт длился всего одну неделю. За это время я инициализировал проект "ImageFeed" с бесконечной лентой изображений. Используя UITableView и работу с кастомными ячейками освоил базу по таблицам. Настроил аутлеты от кнопки лайка, мок-картинки и от лейбла с датой её создания. Затем кодом проставил лайки на все нечётные изображения что добавил в ассеты проекта, всего их двадцать штук. Проверил всё по чеклисту и сдал на ревью. Через несколько часов его аппрувили на моём github

> 8 из 26 спринтов пройдены, впереди девятый, он продлится стандартные две недели
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
16-я неделя обучения окончена 💫

На девятом спринте я научился ставить дополнительные контроллеры в main.storyboard. Установил между ними связь через Segway. Изучил UITabBarController, UINavigationController и собрал SingleImageView как модальный экран. Потом добавил на него UIScrollView чтобы пользователь мог зумить картинку, а также прикрутил кнопку возврата на предыдущий экран и кнопку шэринга картинки. Сверстал экран профиля сначала через Interface builder, потом удалил весь UI и сделал его кодом

> 9 из 26 спринтов пройдены. Впереди 10-й спринт и неделя занятий своим пет проектом, потому что я опять выполнил все задачи по учёбе заранее и закрыл спринт
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3
Неделя сайд проекта окончена

Поскольку девятый спринт я завершил на неделю раньше, то у меня освободилось время для изучения материалов по созданию AI инфлюенсеров. Попробовал несколько популярных сервисов для генерации изображений. Ещё они создают видео по загруженной картинке и голос по mp3 сэмплам, а также синхронизируют движение губ

Позже выяснил что мой MacBook позволяет тренировать свою lora на выбранную базовую модель по датасету всего из нескольких фотографий. Создал три ситуационных образа для моего первого персонажа. Теперь хочу с помощью ChatGPT написать ей легенду, увлечения, окружение и устойчивые фразы. Голос сделаю в Kling или Hedra, а на выходных продумаю способ продвижения и монетизации проекта

> сегодня стартовал 10-й спринт, он продлится стандартные две недели. Продолжу погружаться в iOS разработку
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤3⚡2
17-я неделя обучения окончена 💫

Научился работать с Unsplash API и узнал про алгоритм Oauth2. Создал экран с WKWebView от сервиса Unsplash на который ссылается кнопка "Войти". Добавил отображение загрузки этого экрана через UIProgressView реализовав его механику с помощью KVO. Ведь при переходе к экрану авторизации на медленном интернете пользователь может подумать что приложение зависло, а так он поймёт что веб страничка во встроенном браузере загружается

Разобрал протокол HTTP на примере POST запроса авторизационного токена и получил ответ сервера. Декодировал JSON объект через уже известный мне класс JSONDecoder и полностью завершил написание логики авторизации на экране WKWebView

> половина 10-го спринта позади. Далее займусь созданием SplashScreen для приложения ImageFeed

😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
18-я неделя обучения окончена 💫

Создал Splashscreen в main.storyboard для вывода одного из двух флоу (последовательность экранов) в зависимости от того, залогинился пользователь в unsplash через ранее созданный интерфейс с webview или нет. Ревьюер принял приложение с третьей попытки. Первый раз вернули с сообщением что в git задублировался файл из старой структуры проекта. Ещё наставник порекомендовал мне добавить фреймворк webkit в раздел build phases вручную (в учебнике этого нет). Отправил второй раз, вернули с замечанием про force unwrap в проекте. Оказывается я забыл безопасно распаковать два опциональных значения, из-за этого приложение могло крашится при определённых ответах сервера. Сделал как надо, отправил третий раз на ревью и код наконец-то приняли. В итоге закрыл десятый спринт на четыре дня раньше

> Сегодня стартует 11-й спринт где мы познакомимся с Swift Package Manager, работой в многопоточной среде и Kingfisher
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤71
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
19-я неделя обучения окончена 💫

Добавил в учебный проект библиотеку ProgressHUD с GitHub. Она показывает пользователю wait анимацию, а затем настроил блокирование UI с помощью UIBlockingProgressHUD в котором ранее добавленная анимация используется. Это нужно в момент отправки пары логин пароль и до появления ленты изображений. Устранил гонку с POST запросами при потенциально медленном интернете, когда code для получения authToken может отправляться два раза и в итоге вызывать ошибку 401

> 11-й спринт продолжается три недели, но я уже освоил две темы из семи. Надеюсь что успею выполнить все задания раньше, сдам код и займусь сайд проектом (хочу доделать свой телеграм бот)
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍11
20-я неделя обучения окончена💫

Добавил ProfileService, сделав его синглтоном. Внедрил fetchProfile, он через Bearer Token получает данные пользователя запросом GET /mе. С помощью этих изменений приходят данные сервиса Unsplash и обновляется экран ProfileViewController. Перенёс получение данных профиля в splashScreen контроллер. Теперь всегда отображаются актуальные данные на момент запуска приложения.

Реализовал ProfileImageService. Он получает URL для аватарки пользователя. Добавил SwiftKeychainWrapper для работы с токеном авторизации и хранении его в keychain. Сверстал SplashViewController кодом по заданию из учебника и удалил его устаревшую реализацию в main.storyboard. Обновил связи, проверил проект по чек-листу из 11 пунктов и сдал ревьюеру с первого раза

> да, всё-таки 11-й спринт оказался тяжелым, к тому же в конце уроков нет авторского решения, но есть подсказки в виде предполагаемого кода который должен быть у студентов в проекте и множество отсылок на предыдущие темы. До 19 июня у меня есть время чтобы заняться разработкой своего сервиса
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥61
Хотите добавлю размышлений про IT, кому даётся программирование, а кому нет, про вайбкодинг, нейросети и сайд проекты?
Anonymous Poll
83%
✅
17%
❌
👍6🏆3❤11
Окей, вы просили крови добавить новую тему? Выкатываю:

Помимо обучения в Яндекс практикуме на iOS разработчика я изучаю возможность использования нейросетей для своего сайд проекта. Начиналось всё с использования ChatGPT и Grok по мелким ситуациям в учёбе тк структура учебника в практикуме скажем так, далека от идеала. Первое время я гуглил проблемы, затем листал stack overflow и в итоге обращался к наставникам курса

Главная проблема первых спринтов была в том, что часть объясняемого кода с новым синтаксисом надо было использовать в проекте "Movie Quiz". При этом часто не указывалось куда именно надо вставлять код из учебника. Возможно, это такой педагогический ход, но он явно не добавлял мне удобства в обучении. В итоге я всё чаще начал спрашивать у Grok что блин вообще происходит в учебнике, потому что иногда код в уроках был настолько фрагментирован, что при занятиях по четыре часа в день, мне не хватало ума и дисциплины удержать всю конструкцию изученной темы в своей голове и одновременно практиковать "освоенное" в учебном приложении

Так вот, чтобы понять как двигаться дальше, я начал искать информацию о том, какие среды разработки вообще бывают. Оказалось что Xcode не единственная IDE для Swift. Начитавшись авторов на хабре про администрирование серверов и вообще бэкенд, я начал интересоваться этой стороной обслуживания приложений. Событием для меня стал один из диалогов с ChatGPT из которого я узнал что уже есть и успешно работает бэкенд фреймворк на Swift и называются он Vapor. Через некоторое время захотел попробовать скопировать все телеграмм боты которыми я когда либо пользовался. Так со временем и пытками ChatGPT я в итоге вышел на информацию про ffmpeg, Vapor, ngrock, webhook .env, другие технологии и наконец установил Cursor. Подробнее об этом расскажу на следующей неделе. Часть инфы о своих достижениях вне основного курса я выкладывал в сторис этого канала, можете посмотреть

> сегодня открылся 12-й спринт где мы продолжаем улучшать учебное приложение ImageFeed с бесконечной лентой изображений
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥6👍3❤21
Мы тут с коллегами-авторами каналов про айос и IT, решили сделать полезную штуку. Собрали наши каналы в одну удобную папку iOS IT Squad!

Это не просто подборка, а эксклюзивная коллекция личных блогов от практиков из мира iOS и IT. Здесь мы делимся тем, что реально работает (а иногда и не очень 😉) на практике, показываем свою «внутреннюю кухню» без прикрас.

Что там внутри?

> Истории из iOS-разработки: от кода до тимлидства;

> Рассказываем, как начать свой путь в IT (и как в нем выжить);

> Разборы резюме и помощь в поиске работы;

> Бесплатные iOS-приложения;

> Менторинг, полезные материалы, проверка знаний и лайфхаки.

Папка здесь
❤10👍5🔥31
Нужна помощь. Я хочу понять кто моя новая аудитория и после этого наполню канал вовлекающим содержимым. Выбери пожалуйста подходящий вариант:
Anonymous Poll
27%
Я действующий iOS dev
32%
Я тоже учусь iOS
18%
Учусь на другом направлении
12%
Интересуюсь ІТ и возможно захочу присоединиться
11%
Просто так
❤5👍2🔥11
21-я неделя обучения окончена 💫

Часть 1/2 (про учёбу)
Добавил функционал лайков в учебное приложение. Реализовал сетевой слой. Теперь картинки грузятся из сервиса Unsplash, а не берутся из ассетов. Добавил кнопке выхода смысла, раньше она просто скрывала компоненты вью, а теперь удаляет bearer token, чистит куки и возвращает пользователя на SplashScreen. Поправил SingleImageViewController, при нажатии на картинку из ленты она открывается на весь экран по центру и ее можно адекватно скроллить. Сдал 12й спринт со второго раза исправив два критических замечания ревьюера. Про учёбу на сегодня всё

Часть 2/2 (про нейросети)
Во время написания MovieQuiz мне необходимо было держать в голове очень много фрагментированной (структурой учебника) информации. В один момент эта конструкция начала трещать и чтобы моё обучение не развалилось, пришлось делегировать часть объяснений в ChatGPT. Она (да именно она) может видеть открытый в Xcode Swift файл и пояснять что в нём вообще происходит. Любую строчку, любую ошибку, любое предупреждение

Немного предистории. Однажды, на первых спринтах одностраничного проекта я столкнулся с настораживающим моментом в своём обучении. Смысл кода который я только что набрал и частично скопировал из авторского решения по уроку, через некоторое время начал как будто распадается в моём фокусе внимания. Так вот, чтобы понимать что происходит в коде и при этом не оставлять в проекте сотни комментариев я решаюсь на хитрость: прошу нейронку (которая видит состояние файла в Xcode) снова и снова объяснять мне содержание проекта с ходом его изменений. Тактика оказалось столь эффективной, что общее понимание разработки начали даваться мне гораздо быстрее чем первые спринты где я учил базовый синтаксис с нуля. Хотя и сейчас бывают сложности, требующие дополнительных усилий, но теперь для их решения я использую проверенный инструмент и начинаю вникать в проблему только после нормального сна. Ведь учиться вечером или ночью плохая затея

Знаю что состоявшиеся разработчики, получившие свои знания и занятость до бума агентных сред негативно относятся к новичкам использующим эти инструменты. Как думаете из-за чего? Все "вкатуны тупые" или вас огорчает объём времени, потраченый на более тяжёлый путь?

> на следующей неделе я подробно расскажу про использование Cursor в обучении и написании пет проекта
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍2🆒2🔥11
Как я использую Cursor 💎

Давайте на берегу договоримся что меня читают не только действующие разработчики, но и студенты курсов, а также те, кто просто интересуется айти. Исходя из этих вводных сразу предупреждаю что статья изобилует базированной-базой и "само-собой разумеется ты чего". Как и обещал на прошлой неделе, рассказываю про использование Cursor для дополнительного обучения программированию в связи с возникающими пробелами на курсе Яндекса, а также для написания пет проекта. Расскажу о том, как пришёл к использованию второстепенной IDE 🐬 осознанно и меркантильно. Погнали

😙не стало интересно: а как собственно работает телеграм бот которым я пользовался. Отправляешь ему любое квадратное видео и через секунду он возвращает кружок в стандартном формате мессенджера. Одно время я читал много статей на хабре и одна была посвящена тому, как человек имея небольшие навыки программирования использует стороннюю IDE под названием Cursor чтобы написать приложение с лентой фотографий. Я уже слышал про эту среду разработки, но именно эта статья увлекла настолько, что я перешёл на сайт и скачал приложение. Установил, открыл и начал разбираться с интерфейсом

Мне понадобилось несколько часов чтобы (примерно) разобраться со всеми элементами управления и с тем как работает агент. Создал папку для первого проекта и решил скопировать сервис которым сам пользуюсь. Пообщался немного с моделью, она рассказала про компоненты для будущего сервиса. В начале был Vapor, затем ffmpeg, homebrew, ngrock, docker и несколько плагинов для самого курсора, всё установили через команды в терминале предложеные агентом. За месяц до этого я уже общался с ChatGPT и немного подготовился. Мы начали разработку телеграм бота, который делает кружочки из любых присланных видео

Я задавал в чат вопросы с пожеланиями и получал ответы о лучших практиках по созданию сервиса. Агент сам предлагал структуру проекта, создавал файлы и код. Разделили модули по ответственностям, сконфигурировали сервер и написали базу для обработки видео. Настроили работу с ngrock, он даёт временный url пока сервер запущен на макбуке. Я научится отправлять запросы в телеграм для установки webhook с этим url. На всю работу у меня ушли пятьдесят бесплатных запросов и примерно два дня. Проект почти дошел до минимально рабочей версии, но иногда отключалась основная функция во время проверки бота с других телеграм аккаунтов. Немного поразмыслив и прикинув свои идеи на будущее я решил оплатить pro подписку сначала на один месяц, а позже на год

Начал делать miniApp для своего бота, а затем продолжил использовать агентную среду для разъяснения мне сложных тем при обучении в Яндексе. В конце июня у меня появилась дополнительная ответственность связанная с айти, но как я уже писал в своих сторис - это совсем другая история. Самое интересное что "вайбкодинг" в привычном понимании у меня не получился, не то чтобы я против такого подхода, но зная хотя бы примерно как всё работает в нужном стеке, можно двигаться гораздо эффективнее. Теперь могу с уверенностью сказать: имея знания из практикума и опыт общения с ChatGPT работать в агентной среде потрясающе комфортно

Среди вас есть гейткиперы? Люди старой закалки? Как вам такой формат самообучения нового специалиста? Нормально или несерьёзно? Я уже сталкивался со скепсисом среди бывалых разработчиков, но и поддержкой в своих начинаниях тоже не обделён. Внизу опрос, прими в нём участие!

А для тех кто читает до конца у меня есть ссылка пройдя по которой ты получишь скидку на обучение в Яндексе любой айти профессии

> Сегодня стартовал 13й спринт в котором мы завершаем учебный проект с приложением ImageFeed
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤7😁11
22-я неделя обучения окончена 💫

Сказать что было тяжело – как будто ничего не сказать. Вносил много правок в учебное приложение под архитектуру MVP. Покрыл Unit тестами три контроллера, добавил UI тесты и отправил приложение на ревью. А давайте я немного поною о том как мне тяжело? Приму ваше молчание как знак согласия, погнали

Почти год назад когда я начал заниматься самостоятельно глаза горели и пламя моего интереса захватывало всё внимание. Но чем глубже я погружался в iOS, тем больше понимал что совсем не разбираюсь как система работает. Курс в практикуме собрал меня в кучку и направил к конкретной цели. Тут стоит отдать должное куратору, наставникам и чату студентов - они действительно помогли в учёбе

Моя проблема в измотанности и усталости проявилась уже весной 2025 года. Я заметил что объём новой информации в каждом спринте начал переполнять объём моих возможностей по удержанию структуры знаний о разработке на каждый момент времени где эти навыки требовались. Так из одного спринта в другой у меня копились пробелы в теории которые я успешно восполнял постоянным общением с нейронкой, в темах, которые регулярно забывал. Итерация за итерацией, вопрос за вопросом, повторение за повторением. Как я писал ранее это хороший способ освоить материал, но у меня есть ощущение что многие вещи сходу я своими пальчиками не напишу. Видимо постоянно придётся увеличивать насмотреннность кода, открывать готовые проекты или общаться с агентной средой чтобы осваивать или вспоминать материал. Вот и всё о чём я хотел поныть

> Сейчас я занят в айти аж на трёх направлениях не считая тг канал. Времени хватает, а вот эмоционального ресурса маловато. Научите справляться с нагрузкой и усталостью от разработки и учебы пж
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍43
Поговорим о девушках в айти и развеем миф о душных программистах

Ещё года четыре назад было модно найти себе в пару или в друзья парня программиста помните? Почему-то многие (часто именно девушки) считали что если он разбирается как настроить линтеры и знает где надо прописать круд сервисы на бэкенде, то клитор уж точно найдёт. Какже они ошибались. Одно время тикток был завален видосами от разочарованных в айтишниках девушек. Почему-то людьми не зашоренными гендерными ролями, патриархатом и прочими скрепами не получалось манипулировать, выводить на эмоциональные качели и заваливать баланс партнёрских отношений в сторону не нужную душным айтишникам. Оказалось что наработанная годами привычка анализировать corner cases в разработке приложений можно легко проецировать на любую сферу в жизни и скурпулёзно, пошагово дебажить странную ситуацию, выявляя закономерности в поведении любого человека и потенциальные манипуляции

Это я к тому, что люди не способные к долгому, последовательному размышлению, изначально не смогут сойтись с человеком, который привык выявлять нестыковки в чём либо и вскрывать их на всеобщее обозрение с целью исследовать или поправить. Отсюда и разногласия, будь то "соска" + "айтишник" или просто слишком последовательный чел с аналитическим складом ума в компании "духовно практикующих" или например грузчиков. Поймите: человек который привык спокойно и взвешенно размышлять над ситуацией, тестировать гипотезы, проверять, откатывать если не сошлось и пробовать снова - не готов просто так отключить мозг и отдавшись порыву эмоций "просто поверить" кому-то или повестись на любые уговоры без весомых на то причин

Девушки в айти. Почему я так часто слышу от девушек что они работают в информационных технологиях? Копнёшь чуть глубже и оказывается что она великолепный UX/UI дизайнер или продакт менеджер. От чего так мало девушек заняты именно разработкой? Напишите пожалуйста в комментариях я правда не знаю. И ещё кое что, миф о душных программистах разрушим следующим образом: если ваш уровень нормы интеллекта остаётся на уровне "хочу цветочки", то это не проблема тех, кто пишет сервисы на которых основано всё чем вы пользуетесь. От оплаты ЖКХ, доставочки и маркетплейсов, до вызова такси и работы интернета со светофорами

> сорри если пост показался сексистским, но другой стороны я не видел, родился и прожил свою жизнь с мужской стороны, иного не знаю
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
65❤1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Говорят что рынок найма iOS разработки начал оттаивать

Я не мониторил агрегаторы тк страшно от количества требований для соискателей, но некоторые новостные каналы начали шевелиться в эту сторону. Мне стало интересно вот что: когда я закончу курс, у меня вообще будет шанс устроиться на работу или стажировку? Сейчас почти везде требуют от двух лет опыта в коммерческих проектах, где его взять непонятно. Накручивать не имея навыков работы в команде - сомнительное решение, но судя по видео которые я посмотрел, это чуть ли не единственный вариант устроится

Будут ли набирать джунов и стажёров с карьерного трека Яндекса в феврале 2026 или уже сейчас готовиться к тому, что придётся идти по волчьим следам?

> сегодня начался четырнадцатый спринт и самый крупный модуль курса, в котором мы делаем приложение-трекер
😍
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤3