iOS Deviant
53 subscribers
1 photo
1 file
33 links
Привет! Меня зовут Никита Филонов @nifilonov.
Я iOS-разработчик и препод GeekBrains.
В этом канале:
- регулярные туториалы
- советы по разработке
- стримы с кодингом
- мои мысли и истории
И много всего полезного и интересного 🙃
Download Telegram
Проясним важный момент - для разработки под iOS нужно знать Swift, если знаете и Objective-C, то вообще шикарно!

Но это не все!
Язык это лишь инструмент и для разных задач подходят разные инструменты.
Этим я говорю, что знание лишь Swift’a и/или Objective-C это просто основа, но на практике чем больше, тем лучше.

Из своей практики:
1. Был проект на 70% написанный на C++.
2. Был проект в основном на Swift + Objective-C 10%, JavaScript 10%, Lua 5%.
3. Был проект Swift + 70% на Kotlin

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

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

А сколько ты знаешь языков программирования?
С Новым годом, ребята!

Желаю вам просто радоваться каждой секунде, любите то что делаете и делайте то что умеете, всем счастья, любви и учите Swift!
Скоро продолжаем
Мои праздники затянулись, так как переехал в Сочи, а мой мак ещё в пути пару дней (сдэк, увы, не считает, что в праздники надо работать)

Но есть хорошие планы, большинство из них уже на финале)

Итак, в ближайшее время (ну до марта) вас ждёт:
1. Ну, конечно, это интересные посты
2. Туториалы в видео формате
3. Подкаст
4. Иии интерактивчик, одна крутая идея, будем качать мозги и жать 100 алгоритмов от груди
5. Марафон (целевую тему ещё думаю, скорее всего SwiftUI). Если есть какие-то конкретные пожелания, пиши мне в личку
Разгоняемся 🚘

Начнём со статистики, люблю наблюдать такие данные

Кто-то уже ощутил поломанные глаза от одного из этих языков, а остальным просто рекомендую прислушаться к IT комьюнити и избегать этих языков🏝
Разница между Value type и Reference type.

Каждый тип в языке Swift является Value или Reference.

📗 Краткая теория:

Value type - значение копируется.
Reference type - значение ссылается.

📖 Пример:
var a = User(name: "Вася")
var b = a
a.name = "НеВася"

Чему будет равно b.name? "Вася" или "НеВася"?

Ответ зависит от того чем является User - классом или структурой?

Структуры это всегда Value type, а значит значение из переменной a просто скопируется в переменную b и b.name останется "Вася" (так как в b просто копировалась та же структура User(name: "Вася")).

Классы это Reference type и тут становится интереснее.
Как сказано выше - Reference type (классы) ссылаются. На практике это означает что в переменную b просто передастся ссылка на переменную a. Каждый раз при вызове переменной b мы на самом деле будем обращаться к переменной a.
Это значит, что поменяв значение a.name = "НеВася", при вызове b.name мы получим "НеВася", т.к. переменная b это лишь ссылка на переменную a.

🐼 Поэтому будьте внимательнее и вспомните об этом, когда увидите, что значения в вашей программе меняются не по сценарию (или наоборот не меняются).
Главное комфорт!

Кто-то уже пишет приложения и получает свои золотые 💰
У кого-то это ещё впереди

Но всегда помните, что работа должна вызывать у вас огонёк в глазах, да такой чтоб вы как циклоп (из люди икс) могли пулять лазеры из глаз 🔥

А поэтому не совершайте моих ошибок.
В моей трудовой уже несколько страничек расписано разными ООО, ОАО. Но искренне, по-настоящему мне нравилась только одна работа (там ещё и познакомился со своей девушкой).

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

Но жалею я даже не об этом, а о том, что не смог встать и уйти. В итоге ушёл, но было поздно.

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

А теперь посмотрим далее. Я год сижу приунывший, не развиваюсь особо. Потом решаю уйти и кому я такой нужен? Без активных знаний, отстранившийся от комьюнити? Правильно - около 30 заваленных собесов.

И я застревал дважды в этом состоянии - работа отстой (в моих глазах), желание расти отсутствует. Но, плюсы тоже были - какой-то опыт и ежемесячно 5 знаков на карту.
И все это привело меня к психотерапевту.

Тут можно много рассказывать и ещё расскажу, но пока подведу итог.

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

Всем удачи 👍 🍀
Индивидуальный курс по iOS-разработке

🙌 Друзья, с сегодняшнего дня запускаю уникальный и эффективный способ обучения - составление индивидуального курса по iOS-разработке!

👐 В чем отличие от масс-курсов?
- Ты сделаешь приложение, которое сам захочешь, которое заставляет твое сердце стучать от предвкушения;
- Получишь полный объем информации - Swift, ООП, алгоритмы, популярные Framework'и;
- У тебя будет круглосуточная поддержка лично от меня;
- Удобный формат. Лучше понимаешь через видео? Получишь видео-курс! Лучше воспринимаешь текстом, без проблем, оформлю в виде книги!
- Длительность курса ориентирована на 4 месяца;

👇 Стоимость и подробную информацию можно получить на моем сайте:
https://nifilonov.ru
или написав мне в
- telegram: https://t.iss.one/nifilonov
- instagram: https://instagram.com/nifilonov
Друзья, ловите подборочку книг! 📖

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

1. ORelly-Programming-iOS13 - Разботка под iOS13. Книга научит вас создавать мобильные приложения под iOS. 13 версия выбрана только потому, что большинство проектов где я работаю уже ставят эту версию как минимальную поддерживаемую.

2. Ray-Wenderlich-Mastering-Git - Тут, думаю, все понятно. Книга про Git. И не просто о том как заливать фалы на гитхаб, а тут рассказывается о высоком, утонченном уровне владения Git'ом.

3. RayWenderlich-Auto-Layout - Книга посвящена AutoLayout'ам. Научит вас пользоваться этой замечательной технологией как Зевс своим Трезубцем!

4. RayWenderlich-iOS-Apprentice-SwiftUI - Для самых прогрессивых ребят. Книга о том как разрабатывать приложения для iOS с использованием SwiftUI.

5. RayWenderlich-RxSwift-Reactive-Programming - Это уже для ценителей прекрасного и реактивного. Тем кто хочет освоить реактивное программирование (RxSwift), прошу, открывайте, наслаждайтесь.

6. Swift-5-for-Absolute-Beginners - Изучение языка Swift для абсолютных новичков. Научит вас мыслить как программист и писать код как программист с абсолютного нуля.

7. SwiftBook-Swift_5 - Книга наши соотечественников - SwiftBook. отличней вариант для старта в iOS-разработке. И не заменимо для тех, кому не нравится читать английские буквы
Ладно, товарищи, пошёл я гулять в центр, надеюсь следующий туториал выйдет раньше, чем через 15 суток😄

Вы чем заняты сегодня?
UITabBar прекрасный как дворец в Геленджике

Сегодня посмотрим на одну популярную вариацию UITabBar'а - с круглой кнопкой в центре и элегантным углублением для этой кнопки.

Это, конечно, не аквадискотека, но выглядит круто🙌
🦅Орлы и орлицы! Две новости!

⭕️Первая.
Совсем скоро статьи и туториалы будут выходить и в видео-формате на ютубчике!

⭕️Вторая. "Кодовый четверг"
Отныне, каждый четверг в 19:00 (Мск) на ютубе будут проходить стримы с кодингом.
Буду вживую показывать как делать нестандартные, сложные и интересные задачи!

❗️Ближайший "Кодовый четверг" - 4 февраля, 19:00(Мск).

Что будет: бомбиезный генератор случайных карт.
Качаемые скиллы: алгоритмы, логика, рисование через UIBezierPath.
Описание: UIView, который генерирует сетку. На этой сетке рандомно размещается рандомное кол-во комнат (рандомных размеров). Каждая комната имеет хотя бы один рандомный выход.
Размеры сетки угадайте) Рандомный размер, конечно же!
Зачем: давал это задание нескольким своим ученикам, но у многих возникли вопросы или не хватило времени. Пока никто не осилил. Задача сложная, но очень интересная. После просмотра вы будете другими людьми. Ох.
Кому: подойдёт для любого уровня. Единственное, если ты совсем новичок, почитай одну из книг выше (от SwiftBook например), как раз успеешь🙂

Будешь смотреть?😊
Капля уникальности в море однотипности AppStore

😫Видел ну оочень много приложений с AppStore, в которых везде стоит дефолтный шрифт, даже размеры почти одинаковые (не беру топовые аппки, где количество дизайнеров больше чем у меня родственников).

🧐А что это так сложно добавить чуточку уникальности?
Ни разу нет!
❗️Картинку порой сложнее добавить чем шрифт.
Плюс ещё указал подборки с уютными сочетаниями шрифтов.

Согласись, это ведь не сложно делать?
Собесы

Ты завалишь десятки собесов. Факт.

Если получишь работу после первого собеседования, перепроверь что это не закладки или обнал)

🔹Что можно делать когда тебе "не перезвонили":

1. Плакать, смотреть на дождь (не телеканал).

2. Сиять как диско-шар. Шагать как МакГрегор на ринге/Назарбаев в Астану/ Львица-тигрица.

С первым пунктом ознакомитесь сами. Я расскажу про второй.

😩 Понятно, что не надо расстраиваться и прочие неработающие советы. Не знаю, я не мог себя взять в руки и успокоиться, не вешать нос. Это даже звучит душно и вообще токсик.

🔹Что делал я.
Собирал вопросы, чтоб потом накопить X-Ray и дать огня.

Перед собесом включал диктофон. Записывал вопросы.
Когда понимал, что не вывожу отвечать и из меня делают котенка, начинал:

1. Выжимать из себя всю информацию по теме, чтоб мне накидали еще больше вопросов;

2. Переводить стрелки и спрашивал "а какой тут ответ, я хз" (многие прогеры после этого начинают безостановочно вещать, считай что выиграл(а) халявную лекцию);

3. Если общаешься с душнилой (а их будет достаточно), то пункт 2 не прокатит. Тогда можно просто спросить "вот ты знаешь мои ошибки, что можешь посоветовать почитать/посмотреть, чтоб прокачаться?".

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

🔹Затем разбор полетов.
Читаешь, гуглишь, впитываешь информацию по записям диктофона.

🔹Итог.
На первые собесы вообще даже не надейся трудоустроиться. Просто иди с целью собрать вопросы и найти свои слабые места.

Первые собесы - это лишь часть учебы, не романтизируй)

Как будешь шагать?
А сегодня у меня день рождения! Юбилей, 25 годков 🥳

Ехуу поэтому сегодня не будет материала, я просто буду вам посылать лучи добра и желаю всем удачи в учёбе.
Все вы рано или поздно разбудите своего гения и сорвёте с неба все мечты.

Всем спасибо за активность, за то что читаете. Вы мой подарочек, one love 🤍
Полезность всех полезностей!😻

По этой ссылочке вы можете найти все, что сэкономит вам тысячи часов и нервных клеток:
https://github.com/matteocrippa/awesome-swift

Тут собраны топовые фреймворки/библиотки для работы с iOS.

Все это дело разбито по категориям (Network, UI, Maps, Localization и т.д.) и только категорий больше 100 штук!
Всем салют!
Сегодня, увы, трансляция не получилась, у меня навернулся мак :(
Пробовал где-то временно взять, коворкинги и т.д., но увы и ах
Сожалею
😱Что самое пугающее и отталкивающее в любом деле?
1. Мало денег
2. Омон
3. Неизвестность

✖️Поговорим о 3-ем пункте.
Многие, точно знаю, отказались от цели "стать iOS-разработчиком" только из-за того, что не видели четкого пути.
Т.е. это была просто абстрактная мечта - писать кодики и гладить котика. Но не было четкого плана, четких галочек - что надо знать?

✖️Речь не только о цели.
Речь и про более объективную оценку себя. Всегда надо понимать где ты, кто ты и в чем смысл жизни.

✖️А в этом нам всем поможет маленькая шпаргалка.
По этой ссылке лежит roadmap для iOS-разработчика. Там указаны все основные темы и области, которые стоит знать (ну или знать, что ты их не знаешь).

А что ещё важно? Вот конкретно в развитии как iOS-разработчик
🤩 Не обязательно быть отцом и сыном и святым духом iOS-разработки, чтоб получить кайфовую работу с могучей оплатой!

В ближайшие дни расскажу очень важные вещи. Как правильно проходить собесы.

Не то, что там на курсах говорят, нет.

🔅Вот, например, я переживал над одним интервью, погуглил парня, который меня должен был собеседовать и увидел, что он сделал приложение для ФБК, для Навального, офигеееть

И с ходу спросил у него про это и весь разговор пошёл как будто мы в кальянке сидели 💨

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

Поэтому, присаживайтесь поудобнее и читайте мои истории)

И сразу вопросик, чтоб мне в цвет дальше рассказать.

Чего боишься на собесе?
💥 Пам-пам-пам!
Важное объявление!

❗️Завтра, в четверг, 18 февраля, 19:00 (мск) будет стрим, обещанный ранее!

Буду в прямом эфире делать приложение - генератор 2D карты с коридорами и прочими прелестями!

Почему именно это?
• Эта задача включает в себя основы основ - алгоритмы и логику
• Это то, чего не хватает даже опытным программистам
• Эта реальный проект с фриланса

Какие скиллы ты прокачаешь, смотря этот стрим:
• Алгоритмы
• Векторная графика (UIBezierPath)
• Логика
• Декомпозиция
• Работа со сложным UI
• И это нестандартная и обширная на опыт задача!

Да и просто хорошо проведём время✌️

Ссылочку скину завтра перед началом🙂