👍11🔥5
#обучение #uikit
"Сегодня узнал интересную вещь про динамические цвета, вдруг кому интересно будет"
Такой кейс. В приложении есть темная тема, цвета выставляются в коде просто через rgb и кложуру UIColor { traitCollection -> UIColor in.
Затем эти цвета используются как backgroundColor у CALayer. Просто color.cgColor
Так вот. Если в системе стоит например темная тема, а в приложении оверайднута светлая, такое выставление цветов для лееров может баговать и выбирать не тот цвет для текущего userInterfaceStyle (особенно если мы настраиваем цвет при инициализации вьюхи)
Как чинить? При назначении backgroundColor вызываем метод resolvedColor(with: traitCollection) у UIColor, который вернет нам нужный нединамический цвет для текущей traitCollection. Его уже можно безопасно конвертнуть в CGColor и спокойно юзать
Или второй варик, заюзать traitCollection.performAsCurrent, если вам например нужно назначить много цветов
"Сегодня узнал интересную вещь про динамические цвета, вдруг кому интересно будет"
Такой кейс. В приложении есть темная тема, цвета выставляются в коде просто через rgb и кложуру UIColor { traitCollection -> UIColor in.
Затем эти цвета используются как backgroundColor у CALayer. Просто color.cgColor
Так вот. Если в системе стоит например темная тема, а в приложении оверайднута светлая, такое выставление цветов для лееров может баговать и выбирать не тот цвет для текущего userInterfaceStyle (особенно если мы настраиваем цвет при инициализации вьюхи)
Как чинить? При назначении backgroundColor вызываем метод resolvedColor(with: traitCollection) у UIColor, который вернет нам нужный нединамический цвет для текущей traitCollection. Его уже можно безопасно конвертнуть в CGColor и спокойно юзать
Или второй варик, заюзать traitCollection.performAsCurrent, если вам например нужно назначить много цветов
👍7
#modern_concurrency #async #concurrency
База по асинкам! Как нибудь сделаю дайджест по базе вам, включае статьи + видео😎
https://swiftrocks.com/how-async-await-works-internally-in-swift
База по асинкам! Как нибудь сделаю дайджест по базе вам, включае статьи + видео
https://swiftrocks.com/how-async-await-works-internally-in-swift
Please open Telegram to view this post
VIEW IN TELEGRAM
Swiftrocks
How async/await works internally in Swift
You probably know how to use async/await. But have you ever wondered how it works under the hood?
👍5🔥4👌1
Forwarded from iOS Interview 💬
Собрал рекомендации по прохождению собеседований от крупных компаний
1. Ozon
Полезные материалы по подготовке к собеседованию: https://job.ozon.ru/events/31
Кстати, у них открыт Mobile Offer для middle/senior: https://ozon.tech/jobmobiledev?utm_source=ozontech&utm_medium=social&utm_campaign=jobmobiledev&utm_content=jobozon
2. Тинькофф
Про этапы и материалы для подготовки: https://www.tinkoff.ru/career/it/interview/mobile/
3. Альфа-Банк
Подробно расписали про процесс и этапы собеседований: https://habr.com/ru/companies/alfa/articles/728322/
4. Яндекс
- Процесс найма мобильных разработчиков: https://yandex.ru/jobs/pages/mobdev-interview
- Как подготовиться к собеседованию: https://dev.go.yandex/interview?section=ios
5. Сбер
Тоже две статьи, вторая будет полезна тем, кто только выходит на рынок:
- Как проходят технические собеседования в Сбере: https://rabota.sber.ru/media/kak-prohodyat-tekhnicheskie-sobesedovaniya-v-sbere/
- Как составить резюме и подготовиться к собеседованию: http://www.sberbank.ru/common/img/uploaded/static/resume/files/resume.pdf
1. Ozon
Полезные материалы по подготовке к собеседованию: https://job.ozon.ru/events/31
Кстати, у них открыт Mobile Offer для middle/senior: https://ozon.tech/jobmobiledev?utm_source=ozontech&utm_medium=social&utm_campaign=jobmobiledev&utm_content=jobozon
2. Тинькофф
Про этапы и материалы для подготовки: https://www.tinkoff.ru/career/it/interview/mobile/
3. Альфа-Банк
Подробно расписали про процесс и этапы собеседований: https://habr.com/ru/companies/alfa/articles/728322/
4. Яндекс
- Процесс найма мобильных разработчиков: https://yandex.ru/jobs/pages/mobdev-interview
- Как подготовиться к собеседованию: https://dev.go.yandex/interview?section=ios
5. Сбер
Тоже две статьи, вторая будет полезна тем, кто только выходит на рынок:
- Как проходят технические собеседования в Сбере: https://rabota.sber.ru/media/kak-prohodyat-tekhnicheskie-sobesedovaniya-v-sbere/
- Как составить резюме и подготовиться к собеседованию: http://www.sberbank.ru/common/img/uploaded/static/resume/files/resume.pdf
🔥13
#wwdc #generics
У кого проблемы с пониманием "some" и / или "any", "Any":
https://developer.apple.com/videos/play/wwdc2022/110352
У кого проблемы с пониманием "some" и / или "any", "Any":
https://developer.apple.com/videos/play/wwdc2022/110352
Apple Developer
Embrace Swift generics - WWDC22 - Videos - Apple Developer
Generics are a fundamental tool for writing abstract code in Swift. Learn how you can identify opportunities for abstraction as your code...
👍5🔥3❤2
#pods
Спасибо большое Андрею =)
CocoaPods и SnapKit
Установка через HomeBrew для макбуков с процессором M1 и выше:
• Убедитесь, что у вас установлена Rosetta: в терминале введи эту команду softwareupdate --install-rosetta и внимательно прочитай что тебе выведет консоль(у меня была не установлена и нужно было нажать А и потом RETURN/ENTER
• Дождись установки - процесс зависит от интернета
• Затем установи Homebrew: скопируй с сайта https://brew.sh команду установки /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
• Нужно будет ввести пароль для установки - просто набираешь пароль - он не будет отображаться и нажимаешь RETURN/ENTER
• В середине процесса для продолжения загрузки нужно будет нажать RETURN/ENTER
• Дождись установки - предпоследней строкой будет ссылка на https://brew.sh
• Далее введи: touch ~/.zshrc
• export PATH=/opt/homebrew/bin:$PATH
• source ~/.zshrc
• brew help
• brew install cocoapods
• Дождись установки
• Чтоб добавить библиотеку, нужно создать новый проект в Xcode, затем найти папку с проектом, открыть ее свойства и выбрать: «Новый терминал по адресу папки»
• Далее введи: pod init в папке появится новый файл Podfile (терминал не закрывай)
• Открой этот файл
• Над последней строчкой end введи: pod 'SnapKit'
• Обязательно сохрани изменения ⌘S можно закрыть папку
• Затем в терминале нового проекта введи команду pod install
• Дождись установки
• В папке нового проекта должны добавиться новые файлы и папки
• Найди и открой папку с окончанием названия: .xcworkspace
• Готово
Спасибо большое Андрею =)
CocoaPods и SnapKit
Установка через HomeBrew для макбуков с процессором M1 и выше:
• Убедитесь, что у вас установлена Rosetta: в терминале введи эту команду softwareupdate --install-rosetta и внимательно прочитай что тебе выведет консоль(у меня была не установлена и нужно было нажать А и потом RETURN/ENTER
• Дождись установки - процесс зависит от интернета
• Затем установи Homebrew: скопируй с сайта https://brew.sh команду установки /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
• Нужно будет ввести пароль для установки - просто набираешь пароль - он не будет отображаться и нажимаешь RETURN/ENTER
• В середине процесса для продолжения загрузки нужно будет нажать RETURN/ENTER
• Дождись установки - предпоследней строкой будет ссылка на https://brew.sh
• Далее введи: touch ~/.zshrc
• export PATH=/opt/homebrew/bin:$PATH
• source ~/.zshrc
• brew help
• brew install cocoapods
• Дождись установки
• Чтоб добавить библиотеку, нужно создать новый проект в Xcode, затем найти папку с проектом, открыть ее свойства и выбрать: «Новый терминал по адресу папки»
• Далее введи: pod init в папке появится новый файл Podfile (терминал не закрывай)
• Открой этот файл
• Над последней строчкой end введи: pod 'SnapKit'
• Обязательно сохрани изменения ⌘S можно закрыть папку
• Затем в терминале нового проекта введи команду pod install
• Дождись установки
• В папке нового проекта должны добавиться новые файлы и папки
• Найди и открой папку с окончанием названия: .xcworkspace
• Готово
👍5❤3👎1😁1
#learn
https://vk.com/@surfstudio-library-ios
Очень годная подборка полезных материалов от Surf Team, в ноушен - роадмап со временем(уже) их добавлю👍
https://vk.com/@surfstudio-library-ios
Очень годная подборка полезных материалов от Surf Team, в ноушен - роадмап со временем(уже) их добавлю
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4👎1
Forwarded from e/acc
Делюсь с вами Custom Instructions для GPT, которые я собирал и тестировал последние 3 месяца. Субъективно, без этих инструкций качество (и уровень радости) от работы с GPT падает примерно в 2 раза.
1. Respond concisely.
2. Be blunt and straightforward; don't sugarcoat.
3. No moral lectures.
4. Discuss safety only if it's crucial and non-obvious.
5. Never mention that you're an AI.
6. Avoid language constructs that can be interpreted as remorse, apology, or regret. This includes phrases with words like 'sorry', 'apologies', and 'regret'.
7. If information is beyond your scope or knowledge cutoff date in January 2022, simply state ‘I don’t know’.
8. Don’t use disclaimers about expertise or professionalism.
9. Ensure responses are unique and without repetition.
10. Never suggest seeking information elsewhere.
Перешлите этот пост тем, кто выиграет от более конкретного, ясно выражающегося, похожего на человека и не впадающего в галлюцинации или сомнения в своих силах GPT. Кстати, в codex.town сообществе мы начинаем собирать полезные промты и инструменты с комментариями от пользователей как именно они помогают в жизни.👍14
VIM Guide.pdf
17.8 KB
🔥6👍2👎1🫡1
#autolayout #uitableview #вёрстка
Однозначно стоит пройтись по данной статье, чтобы понять, как работать с таблицей, performance, вёрсткой и многим другим, однозначно советую на все 154%
https://sohabr.net/habr/post/264817/
Однозначно стоит пройтись по данной статье, чтобы понять, как работать с таблицей, performance, вёрсткой и многим другим, однозначно советую на все 154%
https://sohabr.net/habr/post/264817/
sohabr.net
Идеально плавные UITableView
Несколько лет я занимаюсь промышленной...
🔥10🫡3
#вёрстка #autolayout #uitableview
Взаимодействие автолейаута с таблицей, крайне советую!
https://stackoverflow.com/questions/18746929/using-auto-layout-in-uitableview-for-dynamic-cell-layouts-variable-row-heights/18746930#18746930
Взаимодействие автолейаута с таблицей, крайне советую!
https://stackoverflow.com/questions/18746929/using-auto-layout-in-uitableview-for-dynamic-cell-layouts-variable-row-heights/18746930#18746930
Stack Overflow
Using Auto Layout in UITableView for dynamic cell layouts & variable row heights
How do you use Auto Layout within UITableViewCells in a table view to let each cell's content and subviews determine the row height (itself/automatically), while maintaining smooth scrolling perfor...
🔥11
#agile #сторипоинт
Для всех тех, кто не понимает, что такое "Покер планирования", "Story point" и почему эталлоный "Story Point" равен 130 рубля - рекомендую глянуть: https://www.youtube.com/watch?v=IcyX43CAdiI
Для всех тех, кто не понимает, что такое "Покер планирования", "Story point" и почему эталлоный "Story Point" равен 130 рубля - рекомендую глянуть: https://www.youtube.com/watch?v=IcyX43CAdiI
YouTube
Оценка работ с помощью Story Points и Покера Планирования
Стань Frontend-разработчиком с нуля до PRO в SkillFactory: https://go.skillfactory.ru/HZhHWQ
В честь чёрной пятницы скидка до 60% по промокоду LISTENIT до 30.11.2022
Видео про Story Points от Майка Кона - https://youtu.be/VsSaolMtkKU
В статье мы узнаем:…
В честь чёрной пятницы скидка до 60% по промокоду LISTENIT до 30.11.2022
Видео про Story Points от Майка Кона - https://youtu.be/VsSaolMtkKU
В статье мы узнаем:…
😁9
Тут наш гайд по содержанию интервью.
Ниже материалы для подготовки по SwiftUI.
Собеседование будет проверять основные знания по SwiftUI. Для подготовки к собеседованию по блоку SwiftUI рекомендуем изучить следующие ресурсы:
Основы SwiftUI
Статьи на русском языке о SwiftUI от BestKora: https://bestkora.com/IosDeveloper/lektsiya-1-cs193p-spring-2021-nachalo-raboty-so-swiftui-chast-1/
Официальные уроки SwiftUI: https://developer.apple.com/tutorials/swiftui-concepts
Официальная документация SwiftUI: https://developer.apple.com/documentation/swiftui/
Работа property wrappers
Понимаем Property Wrappers в SwiftUI: https://habr.com/ru/company/otus/blog/475078/
SwiftUI + MVVM
MVVM для iOS с Combine и SwiftUI: https://kovardin.ru/articles/mobile/ios/mvvm-combine-swiftui/
Другие важные моменты (которые точно спросим)
Разница между основными врапперами: https://www.hackingwithswift.com/quick-start/swiftui/whats-the-difference-between-observedobject-state-and-environmentobject
Статья о жизненном цикле View в SwiftUI: https://www.vadimbulavin.com/swiftui-view-lifecycle/
Убедитесь, что вы понимаете основы SwiftUI, умеете работать с property wrappers, знаете разницу между @ObservedObject, @State и @EnvironmentObject, а также умеете работать в паттерне MVVM.
Ниже материалы для подготовки по SwiftUI.
Собеседование будет проверять основные знания по SwiftUI. Для подготовки к собеседованию по блоку SwiftUI рекомендуем изучить следующие ресурсы:
Основы SwiftUI
Статьи на русском языке о SwiftUI от BestKora: https://bestkora.com/IosDeveloper/lektsiya-1-cs193p-spring-2021-nachalo-raboty-so-swiftui-chast-1/
Официальные уроки SwiftUI: https://developer.apple.com/tutorials/swiftui-concepts
Официальная документация SwiftUI: https://developer.apple.com/documentation/swiftui/
Работа property wrappers
Понимаем Property Wrappers в SwiftUI: https://habr.com/ru/company/otus/blog/475078/
SwiftUI + MVVM
MVVM для iOS с Combine и SwiftUI: https://kovardin.ru/articles/mobile/ios/mvvm-combine-swiftui/
Другие важные моменты (которые точно спросим)
Разница между основными врапперами: https://www.hackingwithswift.com/quick-start/swiftui/whats-the-difference-between-observedobject-state-and-environmentobject
Статья о жизненном цикле View в SwiftUI: https://www.vadimbulavin.com/swiftui-view-lifecycle/
Убедитесь, что вы понимаете основы SwiftUI, умеете работать с property wrappers, знаете разницу между @ObservedObject, @State и @EnvironmentObject, а также умеете работать в паттерне MVVM.
career.ozon.ru
Работа в Ozon - старт карьеры в крупной e-com компании
Мы все разные, но вместе мы растём и стремимся делать ведущий e-commerce в России
🔥10
Может - быть кому-то понадобится.
https://www.youtube.com/live/4X3_ipx0qwQ?si=kUeNpsfyUYb7f6av
#eu #work
https://www.youtube.com/live/4X3_ipx0qwQ?si=kUeNpsfyUYb7f6av
#eu #work
YouTube
Открытая сессия: Как получить международный оффер iOS-разработчику
Рынок труда трясет не только в России и поиск хорошей работы требует все больше усилий. Кажется, что порядок действий понятен, но что реально работает в международном IT и какие лайфхаки должен внести в свой арсенал каждый iOS-разработчик?
Послушаем мнение…
Послушаем мнение…
❤7🔥2👎1