iOS Roadmap - Полезное | Swift, SwiftUI, Интервью
444 subscribers
107 photos
3 videos
8 files
195 links
iOS Roadmap: Swift, SwiftUI, архитектуры, интервью. Еженедельные подборки статей и видео, плейбуки, чек-листы, решения задач с пояснениями. Полезно начинающим и практикующим iOS-разработчикам.
Download Telegram
#structured_concurrency #собеседование #middle

Нужно сказать на каком thread будет выполняться операция в контексте background или main thread, учитывая что Playground по-умолчанию равен background thread.


Task {
showCurrentThread() // 1 ?
await asyncOperation // 2 ?
showCurrentThread // 3 ?
}

Task { @MainActor in
showCurrentThread() // 4 ?
await asyncOperation // 5 ?
showCurrentThread // 6 ?
}


func asyncOperation(line: Int = #line) async {
showCurrentThread(line: line)
try? await Task.sleep(for: .seconds(1))
}

func showCurrentThread(line: Int = #line) {
print("Current line is: \(line) and thread is: \(Thread.current)")
}
#полезное #работа

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

Если тебя там нет, самое время вступить, если ты забанен и не можешь вступить - пиши в лс решим вопрос и всё будет ок.

Что я предлагаю делать - не ждать на заборе пока придёт HR и конкретно тебя 🫵 пригласит на вкусную вакансию, а действовать самому 🫵

Смотришь по тегу iOS за последние 6-8 месяцев, пишешь с HR по вакансии, даже если ВАКАНСИЯ ПО КОТОРОЙ ТЫ ПИШЕШЬ ЗАКРЫТА, у HR может-быть ДРУГАЯ вакансия, да-да не удивляйся.

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

- группа для вакансий
- воркшопы по поиску работы и прохождению собеседований
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6🔥5❤‍🔥1👌1
#полезное #глаза

Доброго вечера, кому интересно прочитать чужой - личный опыт по-поводу операций на глаза, лишним не будет, советую на 10-15 минут чтиво: https://www.drive2.ru/b/710618764151889778/

Берегите своё зрение, найдите на ютубе гимнастику / спросите у докторов. Даже текущие -1 и около него, если правильно поступать - то не будет ухудшения.

Зрение ухудшается на минус - если напрягать глаза. Лучше уделить этому вопросу, чтобы потом не пришлось: носить очки / линзы или делать операцию.

В чатике можете тегнуть и спросить лично у автора статьи - @gmalyukov
10👍4🔥4
#заметка

Добрейший вечерочек, завтра будем изучать дженерики начинать, глянул в ноушен, а там в этом разделе ничего нет. Уровень джюн, уверенный джюн, мидл и уверенный мидл надо будет точно закрывать.

Начну с простого, от 0 до уверенного джюна - крепыша, скрепыша.
Цель - понимание.
Результат - умени(е)я.


Презентация готова, сценарий на первые несколько видео есть, Xcode для первого занятия тоже есть.

Помню в своё время дженерики были одной из самых сложных для ПОНИМАНИЯ и ПРИМЕНЕНИЯ вещью.

Вот сидишь ты и думаешь, а тут надо? А тут надо? А вот протоколы тоже могут быть, а тут их надо или где надо? Етить колотить...

В общем будем струячить. Это не означает, что другие вещи останавливаются - нет, нисколько.

Всё идёт своим чередом. Если у кого-то есть желание стать гуру дженериков и прокачаться так, чтобы просто смотреть и улыбать как тот кот с гифки - то пробуйте Compiling Swift Generics от Slava Pestov
12👍9🔥7👏1
#полезное #заметка

Я вот кстати много где говорил и говорю, а всё-равно, процентов 10-15% могут пренебречь. Если откликаться на HH, Linkedln и там будут из СНГ эйчары, ну т.е даже если вакансия подразумевает валютную удалёнку, не полнись и засетапь для связи телеграм, никнейм.

А ещё лучше, чтобы не делать несколько действий: скопировать -> открыть телегу -> вставить в поиск -> кликнуть по нужному из списка

Можно сделать легче и вставить к своему @name ссылку, чтобы при нажатии автоматом перекидывало на нужного, т.е тебя 🫵
Please open Telegram to view this post
VIEW IN TELEGRAM
💯5🔥3
#полезное #заметка

ТОП 1 упущенное знание для начинающих разработчиков - "Делаем по потребности". В своих видео не просто так повторяю, время от времени, это правило.

- Компилятор не просит var? - Начни с let. Попроси - поменяешь.
- Компилятор не просит self? - Не пиши, попросит - укажешь.


И это самое явное, что переростает в неявное:
[weak self] in <- обыденный capture list, но сколько раз я видел пример, когда после него следуюет `guard let`, для ВЫЗОВА функции, которую можно вызвать и без strong self... Просто написать self?.someFunc и всё бы работало и смысл тот же...


Кто-то подумает, что это мелочь, но я хочу просто напомнить, что в первую очередь - мы программисты, которые пишут для таких же программистов, и умение писать простой для понимания, чтения, поддержки код - большой труд.
11🔥8🏆6
#полезное #резюме #работа

Получается так, что если ты пишешь хоть где-то в резюме свои контакты КРОМЕ КАК ЗОНЫ КОНТАКТОВ - для HH ты нехороший человек и воруешь у них деньги, ты будешь в shadow ban и поэтому тебе - НИКТО НЕ ПИШЕТ!

Вот почему я всегда советовал и советую со своим резюме струячить к Семёну - нашему братскому HR, который и словом и делом и результатом!

Правильно - оставлять контакты только в зоне контактов!
🔥132👏2
Forwarded from Semyon
Такс, 10 минут до дэйли, так что супер краткий фаст:

1. Так выглядит резюме, которое просто лежит на хх (человек не откликался к нам). Как видите контакты скрыты и чтобы их открыть, нужно =потратить деньги=

2. Так выглядит контакт после отклика или после того как куплено открытие контакта (все контакты есть и видна история откликов).

3. Так выглядит =резюме в подарок=. При размещении 1-ой вакансии, ХЭХЭ с барского плеча отсыпает 10-20 резюмешек, чтобы могли разживиться эйчары (контакты тут открыты, это "вьюшка" до перехода в резюме)
🔥113👏3
#заметка #notion

Решил добавлять дополнительные материалы из WWDC в темы, которые помогут изучить материал не только централизировано, как например будет с "Изучение SwiftUI с 0 до PRO", но и точечно - как уже начал сейчас, но что это значит?

Всё просто, есть например тема - SwiftUI: View identity и вот есть ключевые WWDC с просмотром которых можно получить дополнительное понимание от инженеров Apple.

И вот эти напоминания будут лежать в нужных местах.
- Не нужно ходить по углам и искать
- Не нужно думать, что что-то упусти
- Удобно и полезно


Зашел почитать за какую-то тему, увидел рекомендацию посмотреть WWDC для лучшего понимания, дальше уже сам, ВСЁ! Тем самым ты не потеряешь и при этом будешь знать нужные темы.
👍8🔥5🎉32
Пока так, асуждаю!
😁131👏1🤝1
Я понимаю зачем нужны associated values и умею с эти работать и применять
Anonymous Poll
17%
100% / 100%
18%
80% / 80%
11%
60% / 60%
18%
50% / 50%
7%
40% / 40%
29%
Не знаю / не умею
#mini #app #сообщество

Чтобы вы понимали, разработка идёт уже почти 3 недели, позавчера была начата V3 с нуля, так как V2 был отфармотирована Claude Code и при этом он потёр коммиты для отката.

Теперь только через pull-request'ы и строгий GITFLOW с защитой Master, вот такой прикол этот **** отчибучил, причём такой команды в описании не было, он просто подключал Redis и переводил на ZOD архитектуру для большей типизации ошибок, и по какйо-то причине РЕШИЛ, ЧТО НАДО ОТФАРМОТИРОВАТЬ МНОЖЕСТВО КЛЮЧЕВЫХ ФАЙЛОВ и ВИДМО С НУЛЯ НАПИСАТЬ КРИВО, А чтобы придать бодрости духа - потереть коммиты, рил, как-будто дэмон в него вселился вовремя работы, вот так 😄

Так - что всем тем, кто считает, что ИИ уже завтра заменит программистов - большой привет! 👋
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17🤯10👍32
Решение для работы с множественными ветками

Увидел в чате отличную статью о том, как перестать терять время при переключении между ветками Git.

Проблема, которую решает:
- Потеря незакоммиченных изменений при смене веток
- Пересборка проекта после каждого переключения
- Неудобство при code review чужих веток

Суть решения - git worktree: Вместо переключения веток создаём отдельные рабочие копии проекта, каждая смотрит на свою ветку. При этом все копии используют общий .git репозиторий.

Статья небольшая, внутри статьи находятся ключевые команды, преимущества над альтернативами и ограничения! 🙅
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8💯2🔥1
#собеседование #middle

Есть популярная задача на capture list, value type и reference type в одном листе!

На этапе собеседования происходит жанглирования требя этими вещами:
— Убирается или добавляется capture list
— У объекта меняется семантика: был class -> стал struct

Текстовый разбор этой задачи как-всегда есть в ноушене, а вот видео обзор, причём грамотный и по-полочкам разложенный нашел.
🔥12👍3👏3
Is this project dead? - Не такие слова хочется видеть в репозитории фастлейна. Но что делать, если всё к этому идет, и нужно какое-то решение?

Мой друг Макс не остался в стороне и законтребьютил решение. У себя в Plata они уже давно его используют.

У нас cli поверх всех этих реп собирает все в единый вид. Подразумевается, что люди будут свой cli писать и собирать по кусочкам из нашего конструктора себе нужный результат.


Blimp - это "фастлейн на Swift": CLI / библиотека для автосборки и выката iOS-приложений, собранная как конструктор из SPM-пакетов и Swift Argument Parser.

Сейчас умеет архивировать, загружать билд в ASC, ждать обработку, раскидывать по TestFlight группам и отправлять на ревью.

Сертификаты пока не ведёт - для этого авторы предлагают временно юзать fastlane match.

Ключевые отличия:

Blimp - нативный Swift (SPM), минимум внешних зависимостей; легко встраивается в Swift-проекты / утилиты.

Уже закрывает ключевой happy-path: архив -> загрузка -> TestFlight группы -> ревью, но ещё не управляет сертификатами / профилями.

Удобно тянуть как библиотеку в свои Swift-утилиты: BlimpKit + чистый типобезопасный код.

На сегодня не управляет профилями / сертификатами - берём гибрид с fastlane match.


Если кто пропустил воркшоп с Максом и как он в крупной компании лупендит CI / CD в соляного, то вот здесь крайне советую послушать.

Буду рад и признателен каждому, кто поставит звёздочку данному проекту: больше звёзд -> выше выдача -> больше людей контрибьютящих и помогающих в поиске багов.

(Текст не редактировать,информацию в скобках удалить,оплата назначается через 15 минут после публикации)
🔥105👍4