SwiftUI — это новый удобный способ для создания пользовательских интерфейсов на Xcode. Если хотите быстрое ознакомление с SwiftUI, тогда этот блог пост для вас.
Для начала давайте создадим проект с поддержкой SwiftUI. Минимально необходимые для этого требования системы — это macOS Catalina и Xcode 11. Создайте новый проект “File > New > Project…”, выберите “Single View App” и убедитесь, что выбрано “User Interface: SwiftUI”.
Проект будет выглядеть примерно так:
Как могли заметить, теперь можно видеть все изменения сразу же на Preview. Например, попробуйте изменить текст на “Привет, Хабр!”. Круто да?
У моих игр довольно много загрузок на Google Play (больше 20 млн.), наверное поэтому, меня часто спрашивают про продвижение. Если кто-то из разработчиков пишет мне в личку или почту, готов поспорить, все сведется к вопросу: «Как ты продвигаешь свои игры, чувак?». Все думают, что у меня есть какой-то секрет (нет). Ладно, давайте я попробую сформулировать то, что знаю и будем надеяться, что это будет кому-то полезно. По крайней мере, я смогу давать ссылку на этот пост.
В предыдущих статьях (часть 1 и часть 2) мы описали как можно пользоваться децентрализованными приложениями на смарт-контрактах, если вы сами не против быть нодом. Но чем меньше пользователя заставляют совершать дополнительные действия — тем лучше. Для работы со смарт контрактами необходимо подписывать транзакции приватным ключом, поэтому совсем без дополнительный действий, к сожалению, не обойтись. В этой статье мы рассмотрим два подхода: первый — полноценное децентрализованное приложение (DApp) на javascript с использованием библиотеки Web3 и плагина MetaMask, второй — аналогичное приложение, но использующее Ruby on Rails API и гем Ethereum.rb для доступа к блокчейну.
В последнее время использовать VPN стало популярно с чего бы это?, но все инструкции которые мне попадались — могут «осилить» только пользователи хотя бы чуть-чуть знакомые с тем что такое Linux. Компания Google всех порадовала, выпустив прекрасное приложение, которое позволяет вам установить VPN в два клика (правда в два!) на своем личном сервере без каких либо знаний. (Если у вас нет сервера — не беда, появится)
Главной задачей для блокчейна в любой информационной системе является обеспечение доверия в среде, исключающей такое доверие по умолчанию. В качестве иллюстрации этой проблемы часто приводится задача о «византийских генералах». Не буду на ней подробно останавливаться, в Интернете найдется немало материалов. Вкратце, эта задача описывает процесс принятия решения в абсолютной анархической среде, где каждый за себя и никому не верит.