Мобильный кот
2.72K subscribers
88 photos
3 videos
2 files
87 links
Все, что считаю важным про жизнь мобильного разработчика

Шкаф с материалами
https://t.me/cat_with_mobile_cabinet
Download Telegram
Генератор иконок для iOS, macOS, watchOS и Android

#инструменты

Перетаскиваете картинку, а на выходе получаете готовый набор иконок.

https://appicon.co/#app-icon
Самый частый вопрос в чатах по Swift от начинающих: “Какой mac купить для обучения разработке на Swift”.

#вопросы

Ответ
Берите мак не ниже 2014 года выпуска. Так вы протяните минимум 2 года на актуальной операционке.
Желательно 16+Гб оперативной памяти и 256+Гб ssd. Но если хватает денег только на 8/128, то берите все равно. Хватит уже искать причины не учиться iOS-разработке.

Почему
Ориентируемся, что период становления разработчика примерно 2 года. В любой момент времени у вас должна работать последняя версия Xcode. Последняя версия среды со всеми своими плюшками работает только на актуальной версии macOS. Сейчас macOS Big Sur поддерживает маки от 2013 года. Значит следующая ОСь запустится минимум на модели 2014 года.
Как стать программистом

#подкаст

Интересный выпуск подкаста "Запуск завтра" от Самата Галимова. Хорошие примеры того, что человек может найти себя в программировании, как в школе/институте, так и в уже более сознательном возрасте. Никогда не поздно начать действовать.

В Яндекс.Музыка
https://music.yandex.ru/album/9294155/track/70552932

В Apple.Подкасты
https://podcasts.apple.com/ru/podcast/как-стать-программистом/id1488945593?i=1000489276064
📚 Книга "Просто космос" Екатерины Ленгольд
покупать только в паре с одноименным ежедневником

#книга #продуктивность

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

Лично на меня произвела прекрасное впечателние, многое из написанного знал, но не использовал ранее. Книга дала отличный заряд двигаться дальше, а фирменный ежедневник стал частью моего рабочего стола
Генератор (De)Codable типов на основе JSON, TypeScript, Postman

#инструменты

Замечательный сервис, который способен сэкономить вам приличное количество времени при работе с данными в формате JSON и др. Поддерживает Swift и целую пачку других языков.

Все просто: вводите пример JSON и получаете готовый класс или структуру.

https://app.quicktype.io
🛠 Все еще слабо знаешь и практически не используешь паттерны?

Не стоит париться по этому поводу. Возможно у тебя пока еще мало опыта и нет мегабайтов говнокода за плечами. Просто неторопясь изучай эту область знаний и рефактори свой код. Рано или поздно мозг применит полученные знания на практике.

P.S. Изучать значит не читать, а читать + (ш)кодить.

В YouTube есть неплохие видео по теме
https://youtu.be/_Vet94Ogp7Y
📰 Возможно вы пропустили

Но вышел официальный билд Swift 5.3 под Windows 10.

#новости

Помимо компилятора также доступы некоторые фреймворки (к примеру, Foundation). Можете уже сейчас попробовать сделать проект в Visual Studio с использованием Swift SDK. Хотя, конечно, в данный момент практической пользы от этого для нас нет, так как это ранняя версия, и компании не будут переходить на этот стек в ближайшее время.

Но если у вас есть свободное время после семьи, работы, изучения Swift на macOS, то буду рад узнать о вашем опыте. Остальные продолжаем пилить аппки в Xcode. 🤜🏻🤛🏽
А у меня эта собака (Xcode, а не та, что на аватарке) еще и сториборды через раз грузит.

Но мне нравится его иконка и все теперь хотят виджеты. А значит продолжаем работать в Xcode 12.

#изчата
Это многопоточность, асинхронное (условно одновременное) выполнение задач.

В Swift есть специальный механизм, который позволяет работать с многопоточностью - Grand Central Dispatch. И если вы рассчитываете рано или поздно найти работе в качестве Swift Junior Developer, то обязаны рано или поздно изучить его.

А пока запомните, что async - это прекрасный способ, чтобы ваше приложение выполняло свои задачи. Но мне потребовались года, чтобы понять, что это хорошо для приложений, но плохо для человека.

В свои первые года профессиональной деятельности я очень гордился своей многопоточность и всячески поощрял ее. Действительно круто одной рукой писать код, другой восстанавливать упавшую Active Directory, и одновременно учить английский по учебнику. Это было круто и в 21 и в 25. Но чем ближе я подкрадывался к заветной тридцаточке (когда вроде бы надо подвести кое-какие итоги всего своего пути), тем чаще начал говорить фразу

«Почему в сутках не 25 часов?»

Мне тупо не хватало времени. Количество дел и стартапов росло, а дни становились короче;) И тогда я начал искать варианты Тайм Менеджмента, я хотел научиться впихнуть в свой график еще пару дел. Я впихивал невпихуемое, иногда за счет сна, иногда за счет выходных.
Это однопоточность, синхронное (последовательное) выполнение задач.

Swift позволяет выполнять задачи в однопоточном режиме, но пользоваться этим механизмом нужно с осторожностью. К примеру, вы можете случайно заморозить интерфейс, пока не закончится загрузка данных с сервера.

Мне потребовались года, чтобы понять, что однопоточность нужно с осторожностью использовать в приложениях, но постоянно использовать в профессиональной жизни.

За все это время я узнал десятки неправильных способов организации рабочего времени, на то, чтобы в конце концов прийти к однопоточности в своей работе. Оказалось, что мне не нужно «25 часов», мне нужно пересмотреть свой подход к работе.

Используйте однопоточность, когда делаете свою работу, выкиньте в помойку свой навык многопоточности. Все довольно просто:

1. Все задачи выполняются последовательно. Пока не завершена одна задача, я не перехожу ко второй.

2. Каждая новая задача занимает свое место в последовательности в соответствии с ее «важностью». Как определить важность? Спросите себя, чем обернется невыполнение задачи через 1-2 года. Для меня было открытием, но оказалось, что далеко не каждая задача, поступающая в режиме «надо прям сейчас, иначе хана», требует немедленной реакции и не способна отлежаться, по крайней мере до послеобеда.

3. Процесс работы делите на небольшие отрезки работа/отдых. Это так называемая техника Помодоро, когда вы, например, работаете 25 минут, после чего 5 минут отдыхаете.

4. В конце рабочего дня подводите итоги сегодняшнего дня и составляйте план на завтра, выделяя 1-2 наиболее важных дела. Остальные идут с пометкой «если будет возможность».

P.S. Очевидно, что вы практически не сможете заниматься одной задачей весь день, этого и не требуется. Рассматривайте однопоточность как в глобальном плане, когда вы не занимаетесь задачами из одной категории одновременно, так и в локальном, в рамках одного дня.
📚 Книга «ReWork Бизнес без предрассудков» Джейсона Фрайда и Девида Хайнемейера Хеннсона

#книга #стартап

Копался в своих закромах и наткнулся на это чудо от основателей компании 37signals. Сразу после выхода книга заслуженно стала бестселлером.

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

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

Лично я вынес из этой книги две важные мысли:

1. Работать нужно над тем проектом, который будет решать именно мою проблему. Чеши там, где чешется у тебя!

2. Что такое MVP* и зачем он вообще нужен, да и вообще, что это наиболее правильный способ работы над стартапом.

* Minimal viable product - минимальный жизнеспособный продукт
Генератор .gitignore-файлов для GIT

#инструменты

Просто укажите используемый язык, среду, менеджер пакетов и некоторые другие параметры и получите готовый «игнорщик». С его помощью можно заставить систему контроля версий игнорировать различные конфигурационные, временные и конфиденциальные, да и вообще любые, файлы, который не должны быть частью репозитория.

https://toptal.com/developers/gitignore
Как оттачивать свои навыки разработчика?

🤜🏻 Ката
- небольшая задача, позволяющая оттачивать профессиональные навыки разработчика.

#эффективность

Ката обычно представляет собой типовую задачу, вроде:

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

Выделяйте для решения ката один-два раза в день по 10 минут, воспринимайте это как

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

Где брать ката?
Самый популярный сборник задач - codewars.com

P.S. Использовать понятие ката в разработке предложил Роберт Мартин в книге «Идеальный программист»
📚Книга «Чистый код» Роберта Мартина

#книга #оформлениекода

Роберт Мартин известен под кодовым именем «дядя Боб». Когда вы слышите о дяде Бобе, вы знаете, что речь идет о Роберте Мартине. И наоборот😬

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

Уникальность его книг в том, что дядя Боб знает, как делать правильно. И книга «Чистый код» тому доказательство.

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

Так появляется опыт.

То, о чем пишет дядя Боб в этой книге - это подходы, советы и рекомендации по форматированию и оформлению вашего программного кода.

Долой говно-код! Разработчик в ответе за то, что он пишет! Будем создавать только качественный и красивый код.
📚 Предзаказ 6 издания книги "Swift. Основы разработки приложений под iOS" - 2020 год. Swift 5.3, Xcode 12

Скидка - 20 %
до окончания предзаказа

Доступ к скачиванию и отправка книги ориентировочно стартуют 23.11.2020 г.

Совместный заказ в другие страны
Австралия и Океания- @cdcpmv
Украина - @belik_ivan

При покупке книги вы получаете:
🔸 Бумажный вариант книги с отправкой по России, странам СНГ и всему миру (после 23.11.2020).
🔸 Электронный вариант (цветной PDF) книги с доступом из личного кабинета на сайте (после 23.11.2020)
🔸 Электронный вариант 5-го издания (сразу после покупки в личном кабинете)
🔸 Промокод на доступ к курсу с заданиями и тестами (будет отправлен на почту, активируете, когда захотите)

Что нового?

- формат книги изменен (теперь она больше и толще).
- материал актуализирован в соответствии со Swift 5.3 и Xcode 12. Переписаны и обновлены большинство глав в книге.
- добавлен новый материал, который ранее не входил в книгу:
- глава про SwiftUI.
- глава о выборе между классами и структурами.
- глава о протокол-ориентированном программировании.
- глава о числовом типе данных Decimal.
- глава о ключевом слове some.
- глава о принципах работы ARC и хранении value type и reference type в памяти.
- глава о новых методах для работы с массивами.
- разделы «Для чего это использовать», которые кратко показывают, для чего в реальных проектах могут быть использованы изученные возможности.
- наборы (set) переименованы в множества.
- обновлены графические материалы (схемы, рисунки, графики и скриншоты).
- исправлены найденные опечатки и учтены пожелания и замечания читателей по оформлению и содержанию.

По доставке

Я подключил Почту России и СДЭК, что обеспечивает покрытие практически по всему миру.

СДЭК - прекрасное решение по России, Белоруссии и Армении.
Почта России хороша тем, что доставляет по всему миру. Но время доставки может быть увеличено в связи с пандемией. Сейчас вы можете уточнить его на сайте Почты России.

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

📚 Ссылка на книгу
https://swiftme.ru/product/kniga-swift-razrabotka-prilozhenij-pod-ios-i-ipados-6-e-izdanie-kniga-1/

Ссылка на курс к книге
https://swiftme.ru/prakticheskie-zadaniya-i-testy-k-knigam/