iOS Dev
7.59K subscribers
969 photos
78 videos
1 file
1.12K links
🍏Канал об iOS-разработке, необычных подходах и решениях.
👨‍💻Автор: Виктор Грушевский (@Viktorianec)
Темы:
⭐️ Подготовка к собеседованиям.
⭐️ Архитектуры и алгоритмы.
⭐️ Код. Много кода.

⚒️База знаний: https://boosty.to/ios_dev

#ios #mobile #swift
加入频道
Джефф Дин - Чак Норрис в мире программирования
Джефф Дин считается кем-то вроде Чака Норриса. Отличие только в том, что он вовсе не герой боевиков, а инженер-программист компании Google. Однажды первого апреля один из коллег Дина по имени Кентон Варда открыл страничку, куда каждый мог добавлять факты о Джеффе Дине. Идею с энтузиазмом подхватили другие разработчики — и вскоре наполнили страничку множеством таких «фактов».


«Джефф Дин родился 31 декабря 1969 года в 23:48. Ему потребовалось 12 минут, чтобы запустить свой первый счётчик времени»

«Скорость программирования Джеффа Дина выросла в 40 раз в конце 2000 года, когда он проапгрейдил клавиатуру на USB 2.0»

«Джефф Дин компилирует и запускает свой код перед коммитом, но только чтобы проверить на баги компилятор и CPU»

«Когда Джефф Дин разрабатывает программу, то сначала создаёт бинарник, а потом пишет исходный код как документацию».

«Джефф Дин однажды не прошёл тест Тьюринга, потому что правильно установил 203-е число Фибоначчи менее чем за секунду»

«Скорость света в вакууме была около 55 км/ч. Затем Джефф Дин потратил уикенд на оптимизацию физики»

«Недовольный константным временем, Джефф Дин создал первый в мире алгоритм O(1/n)»

«Когда Джефф Дин запускает профайлер, все циклы в страхе расцикливаются»

«На клавиатуре Джеффа Дина две клавиши: 1 и 0»

«Когда Грэм Белл изобрёл телефон, то увидел пропущенный вызов от Джеффа Дина»

«Джефф Дин надевает штаны по очереди на каждую ногу, но если бы у него было больше двух ног, то мы бы увидели, что ему требуется O(log n)»

Внимание! Следующая шутка требует специальный доступ!

«На собеседовании в Google Джеффа спросили, что следовало бы из равенства P=NP. Он ответил: «P = 0 или N = 1». Затем, пока собеседующий ещё не перестал смеяться, Джефф присмотрелся к публичному сертификату Google и выписал приватный ключ на доску»

@iOS Dev
Вопрос-опрос
Apple выпустила обновление 15.4.1

Это обновление включает следующие исправления для вашего iPhone:

- После обновления до iOS 15.4 батарея могла разряжаться быстрее.

- Устройства со шрифтом Брайля могли не реагировать при навигации по тексту или отображении предупреждений.

- Слуховые устройства Made for iPhone могли терять связь в некоторых сторонних приложениях.

Для обновления перейдите:
Настройки > Основные > Обновление ПО
Только что пришла удивительная новость от инсайдеров.

Apple представила совместное решение с Boston Dynamics и кураторством Tesla - нейросеть, которая обучалась на сотрудниках компании и получила опытное название iDev - X.

Первый совместный продукт технологических гигантов призван исправить ситуацию на рынке разработчиков ПО. Как сообщил представитель Apple, причин для этого было несколько:

- Непомерно раздутые зарплаты для региона.

- Сложность и желание работать только 8 часов в день.

- Разработчики отказывались изучать новые технологии.

- Нежелание следовать одной архитектуре в проекте.

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

Первая партия будет выпущена уже в апреле этого года, а заказать её можно на специальном сайте.
Тем временем получил сегодня письмо счастья от Apple о невозможности совершения выплаты по приложениям на банковский счёт.
Лучшее решение из всех возможных

Многим известно, что Apple была основана Джобсом и Возняком. Но был и третий основатель, Рональд Уэйн. Совместно с Джобсом он работал в Atari. И именно Уйэн написал первое руководство к Apple I.

Уэйн имел долю в 10 %, но продал её 12 апреля 1976 за 800 долларов США. Уэйн связывал это решение с тем, что имел собственность, которая могла отойти в пользу потенциальных кредиторов. А в договоре было сказано, что юридически все члены компании несли личную ответственность за любые долги, возникающие из-за любого другого партнёра, все, кроме Джобса и Возняка.

Уэйн получил чек на 1500 долларов за его отказ от любых претензий к созданной компании.

Уэйн также сказал, что чувствовал, что «Apple» «будет удачной компанией, но, в то же время, подводные камни будут встречать её на всём жизненном пути», и он «не мог рисковать»). Также он связал это и со своей карьерой: «У меня был гораздо более неудачный опыт в бизнесе. Я старел, а этим двоим всё было нипочём. Это всё равно что тянуть тигра за хвост, и я не мог больше с ними оставаться».

В случае, если бы Уэйн сохранил 10 %, в 2011 году они составили бы, по приблизительному подсчёту «Gizmodo», 35 миллиардов долларов, а в 2021 году — 300 миллиардов долларов.

#любопытное #история #apple
Если ваше приложение использует только HTTPS или же шифрование только для аутентификации, и при этом вы устали каждый раз при отправке нажимать в диалоге одинаковые кнопки, то вы можете использовать следующий способ:

<key>ITSAppUsesNonExemptEncryption</key>
<false/>


Или же можно добавить в plist:
App Uses Non-Exempt Encryption - NO

И вот вы уже сэкономили время! А время, как известно - деньги.

P.S. Хотя за чашкой кофе, конечно, можно и понажимать, что уж.

@iOS Dev
Платформа (2019) - фильм о том, как может существовать коллектив, и к чему может привести перетягивание одеяла на себя.

Горен соглашается на участие в некоем эксперименте и вскоре приходит в себя в почти пустой комнате уровня 48, где имеются большие прямоугольные отверстия в полу и потолке. На каждом уровне находятся два человека, а сколько всего уровней — неизвестно. Этажи связывает общий колодец, по которому раз в день опускается платформа с едой, и чем ниже находятся люди, тем меньше у них шансов поесть. Каждый месяц происходит рокировка, и обитатели верхних уровней могут оказаться в самом низу, и наоборот. Поскольку разрешалось взять с собой один предмет, Горен выбрал томик «Дон Кихота», а его сосед прихватил большой самозатачивающийся нож.

Рубрика #whattosee
This media is not supported in your browser
VIEW IN TELEGRAM
CAReplicatorLayer специализируется на рисовании нескольких копий оригинального слоя (и поэтому содержит в названии слово "репликатор") эффективным аппаратно-ускоренным - способом.
Это очень полезно при рисовании, например, плиточных фонов, узоров или других вещей, которые должны повторяться несколько раз.

В статье автор говорит о том, что использует CAReplicatorLayer для текстурирования в своем игровом движке проекта на Swift.

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

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

На примере выше используется метод для нахождения трёх наименьших чисел в массиве.

А больше о примерах работы можно прочитать здесь.

Чтобы поиграться в плейграунде можно сделать так:
File > New Project > После создания Add Packages (Swift Algorithms) > Создаём Blank Playground, в который можно добавить Algorithms через import.
Что я использую для своих пет-проектов?

Firebase (пуши + Realtime Database)

Безлимитная отправка пушей это кайф. А опция хранить до 1 ГБ бесплатно в Realtime Database не может быть лишней.
Понимаю, что использую 1% от всей функциональности Firebase, но мне хватает.

В последнее время заходит AppMetrica от Yandex

У них лаконичная админка + можно юзать трекинг-ссылки почти из коробки. Очень хочется однажды увидеть поддержку для Mac.

Для создания дизайна я использую Sketch. А для картинок Craftwork

Оба продукта платные (99$ в год либо 9$ в месяц для скетча, для Craftwork - стоит ловить акции, они довольно часто, либо 50$ за квартал, либо 89$ за год), с первого соскочить сложновато, второй необязателен.
Если вам нужны баннеры или красивые фоны, можно юзать бесплатный Unsplash.

Для базы данных обычно или SQLite (обёртка от FMDB), либо Realm

Тут зависит от того, что предстоит реализовать.

Использование других либ стараюсь минимизировать

Но если надо прямо сейчас, то стороннее решение может перевесить.
Как измерить время билда в Xcode?

До Xcode 10 можно было пользоваться следующим способом через терминал:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

Но начиная с 10 версии, а именно с WWDC 2018, доступна следующая опция:

Product-> Perform Action-> Build With Timing Summary
Можно ли поменять две переменные местами без третьей вспомогательной переменной?

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

Кстати, Artturi Jalli написал целых 50 таких вопросов, и, что важно, ответов, в своей статье.
Подготовка к собеседованию или 50 вопросов, которые потрясли мир

На самом деле, выложил перевод статьи, вопрос из которой публиковал выше.

Здесь есть спойлеры, так что потренироваться точно можно.

Надеюсь, что он поможет вам в подготовке, а вы, в свою очередь, поддержите мой труд.

Прочесть на хабре: 50 вопросов для собеседования

😃 iOS Dev🐱 Доступ к необычным эффектам
Please open Telegram to view this post
VIEW IN TELEGRAM
Анонсировали WWDC 2022 - Call to code

С 6 по 10 июня присоединяйтесь к разработчикам со всего мира, чтобы провести вдохновляющую неделю технологий и общения. Получите первый взгляд на новейшие платформы и технологии Apple на сессиях, изучите новейшие инструменты и советы, пообщайтесь с экспертами Apple в лабораториях и цифровых залах.

И всё это в режиме онлайн и бесплатно.

Помимо онлайн-конференции, 6 июня в Apple Park компания Apple проведёт специальный день для разработчиков и студентов. Количество мест ограничено, и подробная информация о том, как подать заявку на участие, будет предоставлена в ближайшее время.
Что из перечисленного не является допустимым условием компиляции в Swift?
Anonymous Quiz
12%
#if arch(…)
14%
#if canImport(…)
11%
#if compiler(…)
10%
#if os(…)
6%
#if platform(…)
6%
#if targetEnvironment(…)
42%
Все варианты допустимы