Рубрика «swift» - 2

Всем привет! Меня зовут Леонид, я владелец сервиса Поиск VPS. В последнее время мне в обратную связь начало поступать очень много вопросов, каким образом можно оплачивать зарубежный хостинг, так как Visa и MasterCard Российских банков перестали работать не в России.

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

Читать полностью »

В 2021 году на просторах интернета случайно увидел Sber на geecko.com, тогда компания Sber проводила fight типа "староверы" против "новокодеров". (Простите за неточности, вспоминаю по памяти.)

И когда запустили конкурс Sberfight я уже автоматически попал в рассылку.

Я относительно молод в Swift и тренировка умений или же проверка навыков на скорость очень привлекла. А формат в стиле "Денди" поднимает давно забытое чувство детства. (Моей любимой игрой были "танчики", "контра" и "червяк Джим"- правда у друзей на "Сеге".)

Читать полностью »

Краткая справка от автора перевода:

UIViewController (ViewController) - Это класс унаследованный от стандартного UIViewController, который является базовым контроллером паттерна MVC, который Apple рекомендует использовать для разработки iOS приложений. Сущность UIViewController’a используется для контроля UIView

UIView (View/ Вью) – Представляет собой экран или значительную часть экрана.

SubView - это базовый класс для виджетов, который используется для создания интерактивных компонентов пользовательского интерфейса (кнопки, текстовые поля и т.д.). и если мы вставим view внутри другого view, то он станет Subview.

StoryboardsЧитать полностью »

Как завести XCRemoteCache, или Кэши из топора - 1

Всем привет! 

Читать полностью »

Render Loop крутится — кадры мутятся.

Доброго времени суток, уважаемые читатели. Здесь я начинаю свой цикл статей о работе с графикой в iOS.

В моих планах разобраться с работой базовых механик отрисовки и углубиться к таким вещам как AVFoundation, Metal.

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

  • FPS

  • Render Loop

  • Проблемы с производительностью

  • Оптимизации

Что такое FPS?

Как говорит вики — это “Ка́дровая частота́Читать полностью »

В октябре 2020 года в техническую поддержку Авито стали обращаться пользователи с проблемами нагрева девайса и просадками FPS вплоть до полного фриза iOS-приложения. Проблема, как казалось, была глобальной. Она не относилась к какой-то конкретной функциональности приложения и поэтому не подходила в бэклоги продуктовых команд. Выход был один: засучить рукава и самому разобраться, что пошло не так. Не даром же я performance engineer.

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

Читать полностью »

FigmaConvertXib это инструмент для экспорта элементов дизайна из проекта Figma,
в среду разработки, с точностью 90%. В результате конвертации будут созданы файлы xib / xml, и уже с помощью интерфейс редактора Xcode/Android Studio, можно будет манипулировать всеми элементами у себя коде. Если дизайн вашего проекта разрабатывается в Figma, и вы не реализуете дизайн программно, то это для вас.

Для того чтобы не тратить огромное время на реализацию всех UI элементов.

https://github.com/mrustaa/FigmaConvertXib

Читать полностью »

Что такое Big O нотация?

Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространству.

Доминирующие операции

Способ, которым мы определяем Big O алгоритмов, заключается в том, чтобы посмотреть на худшую производительность в его доминирующих операциях.

Постоянное время - O(1)

func constantTime(_ n: Int) -> Int {
    let result = n * n
    return result
}

Читать полностью »

Всем добрый день, сегодня я хотел бы поделиться своим опытом проектирования ракеты с управлением вектора тяги. Так получилось, что я долго сидел дома и решил купить 3D принтер, ну и конечно первое же, что я решил распечатать - модель ракеты типа «Батут-М», которую можно приземлять и беспроводной меч-огнемет.

Ракета и меч-огнемет (который "не меч" и "не огнемет")
Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js