#swiftui #собеседование #middle
Мы поменяли @State var value = 0 на @StateObject var viewModel и дёргаем increment. Так же сделаю 2 действия: запущу это код, чтобы отобразить view и нажму на кнопку. За два этих действия сколько раз вызовется принт “re-evaluate body”? И почему?
Опрос будет ниже, перед выбором нужного ответа постарайся обосновать свой ответ, почему именно ЭТА цифра.
Мы поменяли @State var value = 0 на @StateObject var viewModel и дёргаем increment. Так же сделаю 2 действия: запущу это код, чтобы отобразить view и нажму на кнопку. За два этих действия сколько раз вызовется принт “re-evaluate body”? И почему?
import SwiftUI
import PlaygroundSupport
final class ViewModel: ObservableObject {
@Published var age: Int = 0
func increment() {
age += 1
}
}
struct ContentView: View {
@StateObject var viewModel = ViewModel()
var body: some View {
let _ = print("evaluate body")
Button("Изменить") {
viewModel.increment()
}
}
}
PlaygroundPage.current.setLiveView(ContentView())
Опрос будет ниже, перед выбором нужного ответа постарайся обосновать свой ответ, почему именно ЭТА цифра.
👍1🔥1
🔥6
#swiftui #собеседование #middle
Окей с двумя премерами выше мы разобрались. У нас есть правильный ответ и обоснование его. Если-вдруг есть сомнения в корректности, всегда можно проверить в Playground.
И чтобы продолжить ветку этого вопроса дальше, давай теперь ответим на следующий вопрос. Ответы выбирай тот, который считаешь НАИБОЛЕЕ корректным.
"В чём разница между re-evaluate и re-draw? Что происходит в предыдущем примере: re-evaluate и / или re-draw?"
Окей с двумя премерами выше мы разобрались. У нас есть правильный ответ и обоснование его. Если-вдруг есть сомнения в корректности, всегда можно проверить в Playground.
И чтобы продолжить ветку этого вопроса дальше, давай теперь ответим на следующий вопрос. Ответы выбирай тот, который считаешь НАИБОЛЕЕ корректным.
"В чём разница между re-evaluate и re-draw? Что происходит в предыдущем примере: re-evaluate и / или re-draw?"
#swiftui #собеседование #middle+
Есть такой код и при нажатии на кнопку “Увеличить возраст на 1 ед.” счётчик counter не увеличивается и не показывает числа, он всегда показывает 0.
Задача - понять почему, пофиксить и объяснить в чём была проблема. Код при этом, концептуально, должен остаться таким же, какой он изначально, не считая исправления.
Есть такой код и при нажатии на кнопку “Увеличить возраст на 1 ед.” счётчик counter не увеличивается и не показывает числа, он всегда показывает 0.
Задача - понять почему, пофиксить и объяснить в чём была проблема. Код при этом, концептуально, должен остаться таким же, какой он изначально, не считая исправления.
import SwiftUI
import PlaygroundSupport
final class ViewModel: ObservableObject {
@Published var age: Int = 0
func increment() {
age += 1
}
}
struct ChildView: View {
@ObservedObject var viewModel = ViewModel()
@Binding var value: Int
var body: some View {
Button("Увеличить возраст на 1 ед.") {
viewModel.increment()
}
.onChange(of: viewModel.age) { _, newValue in
value = newValue
}
}
}
struct ContentView: View {
@State private var counter: Int = 0
var body: some View {
VStack(alignment: .center, spacing: 0) {
Text("Каунтер равен:\(counter)")
.font(.title)
.foregroundStyle(.teal)
ChildView(value: $counter)
}
.frame(width: 300, height: 500)
}
}
PlaygroundPage.current.setLiveView(ContentView())
#structured_concurrency #собеседование #middle
Нужно сказать на каком thread будет выполняться операция в контексте background или main thread, учитывая что Playground по-умолчанию равен background thread.
Нужно сказать на каком 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 может-быть ДРУГАЯ вакансия, да-да не удивляйся.
Рассказывал этот совет ещё давным-давно на воркшопе по собеседованиям и трудоустройству, если не смотрел их - зря, упускаешь то, что тебе пригодится, как и этот совет, к примеру.
- группа для вакансий
- воркшопы по поиску работы и прохождению собеседований
Привет, даю реально полезный совет. Есть такая группа мобайл дев джобс, там вакансии на мобильную разработку - то что нам и нужно.
Если тебя там нет, самое время вступить, если ты забанен и не можешь вступить - пиши в лс решим вопрос и всё будет ок.
Что я предлагаю делать - не ждать на заборе пока придёт 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-15 минут чтиво: https://www.drive2.ru/b/710618764151889778/
Берегите своё зрение, найдите на ютубе гимнастику / спросите у докторов. Даже текущие -1 и около него, если правильно поступать - то не будет ухудшения.
Зрение ухудшается на минус - если напрягать глаза. Лучше уделить этому вопросу, чтобы потом не пришлось: носить очки / линзы или делать операцию.
В чатике можете тегнуть и спросить лично у автора статьи - @gmalyukov
drive2.ru
Неудачная лазерная коррекция зрения CLEAR. МНТК им. Федорова, Москва
Будет. ОЧЕНЬ. Много. Букв. Приветствую всех. И дело даже не в графоманстве. Просто в этом деле всплывает столько деталей "по ходу", о которых вы узнаете только по факту, что массу вещей пр…
❤10👍4🔥4
#заметка
Добрейший вечерочек, завтра будем изучать дженерики начинать, глянул в ноушен, а там в этом разделе ничего нет. Уровень джюн, уверенный джюн, мидл и уверенный мидл надо будет точно закрывать.
Начну с простого, от 0 до уверенного джюна - крепыша, скрепыша.
Цель - понимание.
Результат - умени(е)я.
Презентация готова, сценарий на первые несколько видео есть, Xcode для первого занятия тоже есть.
Помню в своё время дженерики были одной из самых сложных для ПОНИМАНИЯ и ПРИМЕНЕНИЯ вещью.
Вот сидишь ты и думаешь, а тут надо? А тут надо? А вот протоколы тоже могут быть, а тут их надо или где надо? Етить колотить...
В общем будем струячить. Это не означает, что другие вещи останавливаются - нет, нисколько.
Всё идёт своим чередом. Если у кого-то есть желание стать гуру дженериков и прокачаться так, чтобы просто смотреть и улыбать как тот кот с гифки - то пробуйте Compiling Swift Generics от Slava Pestov
Добрейший вечерочек, завтра будем изучать дженерики начинать, глянул в ноушен, а там в этом разделе ничего нет. Уровень джюн, уверенный джюн, мидл и уверенный мидл надо будет точно закрывать.
Начну с простого, от 0 до уверенного джюна - крепыша, скрепыша.
Цель - понимание.
Результат - умени(е)я.
Презентация готова, сценарий на первые несколько видео есть, Xcode для первого занятия тоже есть.
Помню в своё время дженерики были одной из самых сложных для ПОНИМАНИЯ и ПРИМЕНЕНИЯ вещью.
Вот сидишь ты и думаешь, а тут надо? А тут надо? А вот протоколы тоже могут быть, а тут их надо или где надо? Етить колотить...
В общем будем струячить. Это не означает, что другие вещи останавливаются - нет, нисколько.
Всё идёт своим чередом. Если у кого-то есть желание стать гуру дженериков и прокачаться так, чтобы просто смотреть и улыбать как тот кот с гифки - то пробуйте Compiling Swift Generics от Slava Pestov
❤12👍9🔥7👏1
#полезное #заметка
Я вот кстати много где говорил и говорю, а всё-равно, процентов 10-15% могут пренебречь. Если откликаться на HH, Linkedln и там будут из СНГ эйчары, ну т.е даже если вакансия подразумевает валютную удалёнку, не полнись и засетапь для связи телеграм, никнейм.
А ещё лучше, чтобы не делать несколько действий: скопировать -> открыть телегу -> вставить в поиск -> кликнуть по нужному из списка
Можно сделать легче и вставить к своему @name ссылку, чтобы при нажатии автоматом перекидывало на нужного, т.е тебя🫵
Я вот кстати много где говорил и говорю, а всё-равно, процентов 10-15% могут пренебречь. Если откликаться на HH, Linkedln и там будут из СНГ эйчары, ну т.е даже если вакансия подразумевает валютную удалёнку, не полнись и засетапь для связи телеграм, никнейм.
А ещё лучше, чтобы не делать несколько действий: скопировать -> открыть телегу -> вставить в поиск -> кликнуть по нужному из списка
Можно сделать легче и вставить к своему @name ссылку, чтобы при нажатии автоматом перекидывало на нужного, т.е тебя
Please open Telegram to view this post
VIEW IN TELEGRAM
💯5🔥3
#полезное #заметка
ТОП 1 упущенное знание для начинающих разработчиков - "Делаем по потребности". В своих видео не просто так повторяю, время от времени, это правило.
И это самое явное, что переростает в неявное:
Кто-то подумает, что это мелочь, но я хочу просто напомнить, что в первую очередь - мы программисты, которые пишут для таких же программистов, и умение писать простой для понимания, чтения, поддержки код - большой труд.
ТОП 1 упущенное знание для начинающих разработчиков - "Делаем по потребности". В своих видео не просто так повторяю, время от времени, это правило.
- Компилятор не просит var? - Начни с let. Попроси - поменяешь.
- Компилятор не просит self? - Не пиши, попросит - укажешь.
И это самое явное, что переростает в неявное:
[weak self] in <- обыденный capture list, но сколько раз я видел пример, когда после него следуюет `guard let`, для ВЫЗОВА функции, которую можно вызвать и без strong self... Просто написать self?.someFunc и всё бы работало и смысл тот же...
Кто-то подумает, что это мелочь, но я хочу просто напомнить, что в первую очередь - мы программисты, которые пишут для таких же программистов, и умение писать простой для понимания, чтения, поддержки код - большой труд.
❤11🔥8🏆6
#полезное #резюме #работа
Получается так, что если ты пишешь хоть где-то в резюме свои контакты КРОМЕ КАК ЗОНЫ КОНТАКТОВ - для HH ты нехороший человек и воруешь у них деньги, ты будешь в shadow ban и поэтому тебе - НИКТО НЕ ПИШЕТ!
Вот почему я всегда советовал и советую со своим резюме струячить к Семёну - нашему братскому HR, который и словом и делом и результатом!
Правильно - оставлять контакты только в зоне контактов!
Получается так, что если ты пишешь хоть где-то в резюме свои контакты КРОМЕ КАК ЗОНЫ КОНТАКТОВ - для HH ты нехороший человек и воруешь у них деньги, ты будешь в shadow ban и поэтому тебе - НИКТО НЕ ПИШЕТ!
Вот почему я всегда советовал и советую со своим резюме струячить к Семёну - нашему братскому HR, который и словом и делом и результатом!
Правильно - оставлять контакты только в зоне контактов!
🔥13❤2👏2
Forwarded from Semyon
Такс, 10 минут до дэйли, так что супер краткий фаст:
1. Так выглядит резюме, которое просто лежит на хх (человек не откликался к нам). Как видите контакты скрыты и чтобы их открыть, нужно =потратить деньги=
2. Так выглядит контакт после отклика или после того как куплено открытие контакта (все контакты есть и видна история откликов).
3. Так выглядит =резюме в подарок=. При размещении 1-ой вакансии, ХЭХЭ с барского плеча отсыпает 10-20 резюмешек, чтобы могли разживиться эйчары (контакты тут открыты, это "вьюшка" до перехода в резюме)
1. Так выглядит резюме, которое просто лежит на хх (человек не откликался к нам). Как видите контакты скрыты и чтобы их открыть, нужно =потратить деньги=
2. Так выглядит контакт после отклика или после того как куплено открытие контакта (все контакты есть и видна история откликов).
3. Так выглядит =резюме в подарок=. При размещении 1-ой вакансии, ХЭХЭ с барского плеча отсыпает 10-20 резюмешек, чтобы могли разживиться эйчары (контакты тут открыты, это "вьюшка" до перехода в резюме)
🔥11❤3👏3
#заметка #notion
Решил добавлять дополнительные материалы из WWDC в темы, которые помогут изучить материал не только централизировано, как например будет с "Изучение SwiftUI с 0 до PRO", но и точечно - как уже начал сейчас, но что это значит?
Всё просто, есть например тема - SwiftUI: View identity и вот есть ключевые WWDC с просмотром которых можно получить дополнительное понимание от инженеров Apple.
И вот эти напоминания будут лежать в нужных местах.
Зашел почитать за какую-то тему, увидел рекомендацию посмотреть WWDC для лучшего понимания, дальше уже сам, ВСЁ! Тем самым ты не потеряешь и при этом будешь знать нужные темы.
Решил добавлять дополнительные материалы из WWDC в темы, которые помогут изучить материал не только централизировано, как например будет с "Изучение SwiftUI с 0 до PRO", но и точечно - как уже начал сейчас, но что это значит?
Всё просто, есть например тема - SwiftUI: View identity и вот есть ключевые WWDC с просмотром которых можно получить дополнительное понимание от инженеров Apple.
И вот эти напоминания будут лежать в нужных местах.
- Не нужно ходить по углам и искать
- Не нужно думать, что что-то упусти
- Удобно и полезно
Зашел почитать за какую-то тему, увидел рекомендацию посмотреть WWDC для лучшего понимания, дальше уже сам, ВСЁ! Тем самым ты не потеряешь и при этом будешь знать нужные темы.
👍8🔥5🎉3❤2
Я понимаю зачем нужны associated values и умею с эти работать и применять
Anonymous Poll
17%
100% / 100%
18%
80% / 80%
11%
60% / 60%
18%
50% / 50%
7%
40% / 40%
29%
Не знаю / не умею