Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck – Telegram
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
9.51K subscribers
1.72K photos
86 videos
52 files
4.55K links
Все самое полезное для мобильного разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
В момент создания замыкания (когда мы определяем code) переменная language захватывается: значение в этот момент времени доступно в теле замыкания. Поэтому данная программа выводит Objc.

Замыкания могут захватывать константы и переменные из окружающего контекста, в котором оно объявлено. После захвата замыкание может ссылаться или модифицировать значения этих констант и переменных внутри своего тела, даже если область, в которой были объявлены эти константы и переменные уже больше не существует.
Kotlin избавляется от разницы между примитивами Java и их объектными аналогами на уровне языка. Внутри компилятор Kotlin создает байт-код, который использует примитивы, где это возможно, для лучшей производительности.

Соответственно, вместо примитивных типов используются объекты Byte, Short, Int (не Integer как в Java), Double, Char, Float, Long, Boolean.
Несмотря на то, что тестирование SwiftUI отличается от традиционных методов модульного тестирования и он не предоставляет доступ к дереву представлений, существуют эффективные способы тестирования представлений SwiftUI.

https://proglib.io/w/c2d46abf
MobileUI — кроссплатформенный фреймворк на основе Java, который предлагает собственную библиотеку компонентов пользовательского интерфейса и уникальную систему макетов для iOS и Android.

MobileUI позволяет вам писать полностью нативные приложения на Java и Kotlin, не затрагивая такие языки, как Objective-C или Swift.

Ознакомиться подробнее
Начать использовать
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck pinned «​​Фильм Microsoft Build 2020: главные новинки IT-индустрии Рассказ и видео о последних новинках от компании Microsoft. Суперкомпьютеры, безопасное машинное обучение, Learn TV, Fluid Framework и многое другое – будьте в курсе инноваций! https://proglib.io/sh/RSsI59cBpz»
Когда вызывается x.b(), печатается «B». Внутри b() осуществляется доступ к переменной a, который выполняет код при закрытии ленивого хранимого свойства, печатая «A».

Поскольку b() возвращает значение, отличное от nil, c никогда не будет вызвана. В результате программа выводит «B» и «A».

Ленивые хранимые свойства (определяются с помощью ключевого слова lazy) представляют такие свойства, значение которых устанавливается при первом обращении к ним. Использование подобных свойств позволяет более эффективно использовать память, не загромождая ее ненужными объектами, которые могут не потребоваться.
Что выведет программа на языке Kotlin?
val listA = mutableListOf(1, 2, 3)
val listB = listA.add(4) print(listB)
Anonymous Quiz
14%
true
50%
[1, 2, 3, 4]
8%
Unit
20%
Ошибка компиляции
7%
Посмотреть результаты
Как и в Java, метод add интерфейса List возвращает логическое значение (true), указывающее, была ли коллекция изменена операцией добавления — что всегда верно для списков.

Можно было предположить, что вместо этого Kotlin возвращает новый List с добавленным элементом, что ошибочно. Из-за вывода типа это не очевидно. Если вы хотите добавить элемент в список, то используйте следующую запись из пакета kotlin.collections (extension + operator): val listB = listA + 4.
​​Сегодня недооценивают проблему конфиденциальности с «тыла». Никто из нас не застрахован от того, что под давлением мы будем вынуждены показать переписку с рук. В роли принуждающего может быть кто угодно, начиная от злоумышленника и заканчивая пограничником, в любой точке мира.

Ни один из популярных мессенджеров не имеет защиты от подобной «атаки». Ребята из Postuf предлагают тебе исправить эту ситуацию на основе открытого кода Telegram. Если твое решение окажется лучшим, то ты получишь 5000$. Твоей задачей будет разработать принцип «двойного дна» в оригинальном клиенте Telegram.

Идея «двойного дна» заключается в том, что юзер, будучи под давлением, мог бы открыть Telegram и показать пустой аккаунт, где нет важных переписок. При этом злоумышленник не поймет, что ему показали лишь один из нескольких аккаунтов, скрытых в мессенджере.

Подробности об участии здесь: https://news.1rj.ru/str/postuf/17