iOS Dev
رفتن به کانال در Telegram
👨💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift
نمایش بیشتر7 982
مشترکین
-1324 ساعت
-117 روز
+6330 روز
آرشیو پست ها
7 983
Самый доступный способ ускорить разработку в любых редакторах, не только при написании кода — это изучить комбинации клавиш.
Неплохое наглядное отображение шорткатов для Xcode.
7 983
Ресурсы, которые можно использовать для написания приложений
или для прокачки и расширения своих знаний
Сайт Рея Вендерлиха
Пожалуй, лучший портал на английском языке с туториалами. От самых простых к узкоспециализированным.
Есть бесплатная версия, есть подписки трёх уровней. Есть платные книги на разные темы, а недавно появился и раздел с бесплатными.
⭐ 10 из 10
Хабр
Хабр уже не торт?
Есть хабы разработки под iOS, Android. Хорошие статьи мелькают не так часто, как раньше. Но всё ещё появляются, и это уже неплохо.
⭐ 8 из 10
Medium
Крупнейший ресурс, всё обо всём.
Нас интересуют публикации по тегам iOS, Dev, хабы Better Programming и ему подобные.
В месяц доступно несколько бесплатных статей. Либо 5$ в месяц или 50$ в год. Если вы рассматриваете прокачку на долгосрочную перспективу, это неплохой выбор.
⭐ 10 из 10
Hacking with swift
Часто вы можете найти ответы на свои вопросы именно здесь
Примеры кода, детальный разбор фич.
⭐ 9.5 из 10
Stackoverflow
А вы думали, его здесь не будет?
⭐ ∞ из 10
7 983
Самое главное — начать
В исследованиях, которые проводились преподавателем психологии Кеннеттом Макгроу, участвующим в эксперименте людям были даны сложные пазлы, и на решение их было выделено «неограниченное» количество времени. Перед тем, как пазлы были завершены, им сказали, что эксперимент уже окончен, и они могут отправляться домой, если захотят. Но, несмотря на это, целых 90% участников продолжили собирать пазл, стремясь завершить начатую задачу.
Так же и в случае, когда мы, например, читаем не очень интересную книгу, или смотрим какой-то фильм, который уже начинает утомлять.
Так и в нашей с вами работе, когда мы встречаем сложную задачу, неважно, перепиливание старого куска кода, или же реализация какой-то хардкорной дичи, самое главное — начать.
#любопытно #разработка
7 983
https://vc.ru/life/387226-kak-ya-uvelichil-dohod-ot-mobilnogo-prilozheniya-v-130-raz-za-3-goda
Написал про свой опыт разработки мобильного приложения для iOS и MacOS. Надеюсь, это кого-то вдохновит на то, чтобы наконец закончить свой пет-проект. Уверен, что среди нас многие их начинали 😉
7 983
Рубрика #whattosee
Терминал (2004) - с Томом Хэнксом в главной роли.
Фильм рассказывает историю Виктора Наворски, отправившегося в Нью-Йорк из Восточной Европы. Пока Виктор летел в самолете, на его родине произошел государственный переворот. Оказавшись в международном аэропорту имени Джона Кеннеди с паспортом ниоткуда, он не имеет права въехать в Соединенные Штаты и должен коротать свои дни и ночи на скамейках у выхода 67, пока война в его родной стране не закончится.
7 983
Что может вывести из себя
Механические клавиатуры - исчадия ада, когда вы пытаетесь сосредоточиться на сложной задаче, допустим, в опенспейсе. И моё сочувствие, если у вас нет наушников с шумоподавлением. Особый кайф - если в радиусе одного офиса больше одного любителя подолбить по кнопкам.
7 983
Из любопытного: вы знали, что для map() или filter() можно использовать keyPath вместо closure()?
#любопытно #iOSDev
7 983
Apple выпустили серию уроков для обучения основам работы в Xcode, SwiftUI и UIKit для создания, цитирую, «привлекательных приложений» для iOS
#iOSDev #обучение
7 983
К посту выше добавлю - не всегда получается следовать всем принципам, да и код-ревью в командах отличается почти всегда.
Поэтому будет здорово, если за код не будет стыдно, например, спустя год. А в команде - чтобы её новые участники понимали, что происходит здесь вообще и куда они попали.
7 983
Написал статью про любопытный подход к код-ревью
https://telegra.ph/Piramida-kod-revyu-03-24
7 983
Недавно участвовал в конкурсе Телеграм для улучшения лиц в режиме реального времени (читать - с фронтальной камеры) и решил зафиксировать свой опыт в виде статьи на Medium
Вот здесь она на английском
А вот тут (на хабре) - на русском.
7 983
Пустая трата времени или выбор нужного инструмента?
Возможно вы слышали о термине 10x - инженер.
Даже Авраам Линкольн как-то сказал: "Если бы у меня было 8 часов, чтобы срубить дерево, я бы потратил 7, затачивая свой топор."
Также можно сказать о разнице между джуном и сениор-разработчиком. Если джун будет пытаться 8 часов рубить тупым топором, то сениор потратит час на выбор нужной бензопилы и 5 минут, чтобы спилить дерево (отличный пример, кстати).
От себя добавлю - что очень полезно заранее иметь несколько разных инструментов, и тогда никакой лес не будет страшен.
7 983
⚠️У Apple сбой на серверах. Проблема затронула портал Apple Developer, AppStore Connect и iCloud. С Xcode также проблемы. Не получается скачать приложения из App Store.
Это не только в РФ, но и как минимум в Германии тоже.
UPD. Чаще всего пользователи видят DNS Resolve Failure.
7 983
Приложения под какую платформу приносят больше денег?
Конкретно в этом примере для приложения Motionleap от appfigures заметно, что при одинаковом графике загрузок вместо ожидаемого дохода примерно на одном уровне, App Store просто жесточайше доминирует. Более 40 000 долларов в день против 5 000 у Google Play.
#любопытно #iOS #Android #motionleap
7 983
Рубрика #whattosee?
Лайтовый сериал про то, как в будущем сознание умирающего человека можно будет переселить в цифровой мир. Именно по этому пути идет программист Нэйтан: после смерти в ДТП он переносится в виртуальный мир, где влюбляется в реальную девушку Нору.
Сериал с довольно понятным названием "Загрузка" может оказаться глубже, чем кажется.
7 983
https://www.swift.org/blog/swift-5.6-released/
А вот и релиз свифта подвезли (теперь и в официальном доке с примерами)!
7 983
У Рея Вендерлиха появился раздел на GitHub с бесплатными книгами. Пусть они и не содержат супер-свежую информацию, но вполне могут оказаться полезными.
7 983
Магические слова SOLID, DRY, KISS, YAGNI
Освежим знания?
SOLID
S - single responsibility. Принцип единственной ответственности (single responsibility principle). Для каждого класса должно быть определено единственное назначение. Все ресурсы, необходимые для его осуществления, должны быть инкапсулированы в этот класс и подчинены только этой задаче.
O - open–closed. Принцип открытости/закрытости (open-closed principle) «программные сущности должны быть открыты для расширения, но закрыты для модификации».
L - Liskov substitution. Принцип подстановки Лисков (Liskov substitution principle) «объекты в программе должны быть заменяемыми на экземпляры их подтипов без изменения правильности выполнения программы»
I - interface segregation. Принцип разделения интерфейса (interface segregation principle) «много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения»
D - dependency inversion. Принцип инверсии зависимостей (dependency inversion principle) «Зависимость на Абстракциях. Нет зависимости на что-то конкретное»
DRY
Don’t repeat yourself
Это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования. Принцип DRY формулируется как: «Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках системы». Он был сформулирован Энди Хантом (англ.) и Дэйвом Томасом в их книге The Pragmatic Programmer (англ.). Они применяли этот принцип к «схемам баз данных, планам тестирования, сборкам программного обеспечения, даже к документации». Когда принцип DRY применяется успешно, изменение единственного элемента системы не требует внесения изменений в другие, логически не связанные элементы. Те элементы, которые логически связаны, изменяются предсказуемо и единообразно. Помимо использования методов и функций в коде, Томас и Хант считают необходимым использование генераторов кода, автоматических систем компиляции.
KISS
Keep it simple stupid
Этот принцип лучше всего иллюстрируется историей, когда Джонсон вручил команде инженеров-авиаконструкторов набор инструментов, поставив им условие: механик среднего уровня должен суметь отремонтировать реактивный самолёт, который они проектировали, в полевых условиях только с этими инструментами. Таким образом, «stupid» относится к отношению между тем, что всё ломается, и сложностью необходимого для этого ремонта.
YAGNI
You aren't gonna need it
Согласно адептам принципа YAGNI, желание писать код, который не нужен прямо сейчас, но может понадобиться в будущем, приводит к следующим нежелательным последствиям:
- Тратится время, которое было бы затрачено на добавление, тестирование и улучшение необходимой функциональности.
- Новые функции должны быть отлажены, документированы и сопровождаться.
- Новая функциональность ограничивает то, что может быть сделано в будущем, — ненужные новые функции могут впоследствии помешать добавить новые нужные.
- Пока новые функции действительно не нужны, трудно полностью предугадать, что они должны делать, и протестировать их. Если новые функции тщательно не протестированы, они могут неправильно работать, когда впоследствии понадобятся.
- Это приводит к тому, что программное обеспечение становится более сложным (подчас чрезмерно сложным).
- Если вся функциональность не документирована, она может так и остаться неизвестной пользователям, но может создать различные риски для безопасности пользовательской системы.
- Добавление новой функциональности может привести к желанию ещё более новой функциональности, приводя к эффекту «снежного кома».
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
