RxSwift в примерах. Часть II–наблюдаемое и привязка

Reactive Programming logo
{lang: 'ru'}

Это мой перевод второй части из цикла статей Лукаша Мроза (Łukasz Mróz), где рассказывает в примерах о том, как использовать RxSwift. В ней даётся несколько важных определений из мира Rx, знание которых пригодится для лучшего понимания последующих материалов и самой темы.


RxSwift в примерах. Часть I — основы

Reactive Programming logo
{lang: 'ru'}

RxSwift является хайповой темой уже давно. Я бы даже сказал, что прошедший 2016 год был годом Rx: многие мои знакомые и коллеги так или иначе начали с ним работать или хотя бы попробовали. Чтобы самому лучше разобраться в теме и закрепить уже имеющиеся знания, я решил перевести цикл статей, где Лукаш Мроз (Łukasz Mróz) рассказывает в примерах о том, как использовать RxSwift.


Функция подсчёта занимаемой приложением оперативной памяти на Swift

{lang: 'ru'}

Это мини-пост, напоминалка для самого себя о реализации такой важной и полезной в iOS разработке при дебаге функции, как подсчёт оперативной памяти, которую в данный момент занимает ваше приложение. Она очень хорошо помогает, когда нужно точно сказать, после вызова какой функции происходит скачок потребления RAM, но использование инструментов (Instruments) по каким-то причинам затруднено. Например, для меня сейчас эта функция – единственное спасение, потому что встроенные инструменты профилирования просто крэшатся при попытке их запустить.


Ошибка Xcode “Could not find Developer Disk Image”

Xcode error “Could not find Developer Disk Image”
{lang: 'ru'}

Эта ошибка неожиданно вылезла сегодня. Вроде бы на работе всё работало, а дома проект наотрез отказывался запускаться на устройстве. Изначально было очевидно, что проблема должна крыться в несовместимости старого Xcode 7 и новой iOS, до которой я недавно обновил свой iPad. Так и оказалось. А главное, нашлось и решение этой проблемы без необходимости использовать новый Xcode 8.


Ошибка с подключением к git через SourceTree

{lang: 'ru'}

На работе для взаимодействия с git-репозиторием мы используем SourceTree. Один раз он был сконфигурированным, и больше я в настройки не заходил. Но 20 сентября стала доступна новая macOS Sierra. Я долго откладывал обновление, боясь, что после этого что-нибудь обязательно сломается… В общем, так и получилось. SourceTree перестал подключаться к репозиториям и выдавал ошибку аутентификации:


Как разрешить использование загрузки по HTTP в приложении для iOS 9

{lang: 'ru'}

Начиная с iOS 9, Apple включила для всех приложений функцию App Transport Security (ATS), которая призвана следить, чтобы вся коммуникация по сети между приложением и бекендом происходила по защищённым каналам связи (с использованием защищённых протоколов типа HTTPS). Всё это сделано для обеспечения безопасности пользователей и чтобы подтолкнуть разработчиков к использованию шифрования трафика, особенно при передаче паролей и персональных данных.


Ошибка компиляции исходного кода KeePass 2

{lang: 'ru'}

Мне всегда было интересно узнать, что находится под капотом популярного менеджера паролей KeePass 2. Сегодня я решил этим заняться. Благо, что KeePass 2 распространяется по свободной лицензии GNU, которая обязывает публиковать исходный код проектов, в том числе, если на их базе было построено что-то ещё. Исходный код можно скачать zip-архивом с сайта SourceForge.net.