Найти тему
IDEA+Git (ветки, пулл реквесты). ОЧЕНЬ подробно! Новый интерфейс, подводные камни. Установка с 0.
Видео версия урока: https://youtu.be/x-I9XQ2QWdw Предыдущая статья по Git была и про теорию (зачем нужен гит с ветками и как выполнять задачи в команде), и про практику. Сейчас хотелось бы актуализировать техническую сторону. Поменялся интерфейс среды разработки и некоторые функциональные особенности. Мы разберем нюансы и неочевидные моменты создания нового проекта, инициализацию git и будет подробно о создании веток и Pull Request’ов. Все, что понадобится в рамках взаимодействия со студентами KotlinSprint...
459 читали · 1 год назад
Теория разработки программ. Создание телеграм бота на Kotlin
Видео версия урока: https://youtu.be/DO6cnqnaZp4 Теория по разработке ПО Поговорим об общей теории разработки программного обеспечения. Урок предназначен для тех, кто дошел до стадии разработки финального проекта в рамках практического спринта по Kotlin. Но также будет полезно и всем начинающим разработчикам. Статья будет разделена на 2 части. Разработка мобильного приложения Итак, начинаем разрабатывать полноценное приложение. Полезный телеграм-бот, который будет помогать учить английские слова...
1 год назад
Урок 22: Data class (дата классы) copy, toString, equals, hashCode в Kotlin
Видео версия урока: https://youtu.be/R8f-LCu2BWs Data классы Я уже рассказывал вам про классы и ООП, начиная с 11 урока. И вы понимаете насколько это мощный инструмент, позволяющий писать код приближенный к реальности. Классические классы используются для организации кода, реализации ООП подходов. Создатели языка Kotlin сделали свой тип классов, специально для хранения данных –Data классы. Строго говоря, это обычные классы у которых есть дополнительные возможности. Со временем вы полностью почувствуете разницу, пока лишь сосредоточусь на основных отличиях, которые легко понять и запомнить...
1 год назад
Урок 21: Extension (функции-расширения) языка Kotlin
Видео версия урока: https://youtu.be/mrz-wExchyk extension функции Extension функция – это функция, которая не являясь участником какого-то класса (то есть не находясь внутри определенного класса), расширяет его функционал, имея доступ к публичным полям. Чтобы лучше понять что это такое, лучше разобраться в вопросе “когда применяется extension функция?” Когда применяется extension функция? Разберем на примере класса File из стандартной библиотеки Java. Создадим экземпляр этого класса, в скобках указываем название будущего файла...
1 год назад
Урок 20: Анонимные функции, Лямбда-выражения (Лямбды) в Kotlin
Видео версия урока: https://youtu.be/UMvhLSCYz2E Введение в анонимные функции и лямбды В языке программирования Kotlin есть анонимные функции, а есть лямбды, которые тоже иногда называют анонимными функциями. Сейчас объясню почему. Анонимные функции – это практически классические функции, которые имеют собственное расширенное поведение, умеют принимать и возвращать параметры, но не имеют имени. Объявляются они точно также с помощью ключевого слова fun, но без указания названия. На практике такая функция может быть использована прямо в момент объявления...
1 год назад
Урок 19: ENUM в Kotlin (классы перечислений), TODO() и тип Nothing
Видео версия урока: https://youtu.be/EPkZB5jTrww Что такое enum? Разбираем классы перечислений enum и выясняем чем они полезнее обычных строковых констант. Также затронем функцию TODO(), которая возвращает тип “ничего”. enum – это сокращение от enumeration. Перечисления с помощью enum классов используются, когда нужно перечислить какие-либо объекты. Такими объектами как правило являются константы, их значение нам известно заранее. enum полезен там, где сущность может принимать одно из заранее известных вариантов значений...
1 год назад
Урок 18: ООП. Полиморфизм в Kotlin, 3 типа (Ad hoc, Subtyping, Parametric)
Видео версия урока: https://youtu.be/4jb_qy-7zYM Суть полиморфизма Тема полиморфизма может казаться слегка запутанной. А еще это не редкий вопрос на собеседованиях. Поэтому добавлю немного структурности, чтобы все стало разложено по полкам. Сначала расскажу про основную суть полиморфизма, затем пройдемся по некоторым типам и их описаниям, в заключении перейдем к примерам. Название “Полиморф” говорит о том, что это что-то многообразное, а именно имеет множество форм. “Поли” — много, “морф” — форма...
1 год назад
Урок 17: Сеттеры и геттеры в Kotlin (setter, getter)
Видео версия урока: https://youtu.be/8DGWIU3Qvok Общие понятия Из прошлого урока про модификаторы доступа плавно переходим к пониманию сеттеров и геттеров. Когда мы обращаемся к свойству какого-то класса, можно подумать, что мы делаем это напрямую. Однако, это не так. Kotlin под капотом генерирует так называемые сеттеры и геттеры. Это методы с помощью которых мы можем получать и изменять свойства. По аналогии с теми фукнциями, что мы сами писали на прошлом уроке, только на уровне языка. Напомню,...
1 год назад
Урок 16: Модификаторы доступа (видимости) в Kotlin. public, private, protected, internal
Видео версия урока: https://youtu.be/O5gs_GtZy2g Основные модификаторы доступа Модификаторы доступа это определенные ключевые слова в языке, с помощью которых можно устанавливать уровень видимости для класса, переменной или метода. Под уровнем видимости я имею в виду буквально будет ли видна переменная или функция, из другого класса или пакета. Расширение или ограничение видимости данных нужно для правильного проектирования архитектуры программы, соблюдая основные принципы объектно-ориентированного программирования...
1 год назад
Урок 15: Абстрактные классы и интерфейсы в Kotlin. Имплементация
Видео версия урока: https://youtu.be/m3bDbrHlDyI Абстрактные классы На прошлом уроке я вскользь упомянул ключевое слово abstract, с помощью которого мы запретили на время создавать экземпляры базового класса. То есть абстрактный класс предназначен по сути только для описания общих данных будущих экземпляров. От него также можно наследоваться, однако, когда мы помечаем его как асбтрактный, ключевое слово open использовать уже не нужно. Как мы это делали при классическом наследовании. Свойства и методы абстрактных классов Покажу на примере нового класса SpaceShuttle...
1 год назад
Урок 14: ООП. Наследование в Kotlin. open/super class, override
Видео версия урока: https://youtu.be/INxISepTXA0 Суперкласс Наследование считается одним из принципов ООП. Суть заключается в том, что можно создать один основной класс с базовыми свойствами и методами и отнаследовать от него более специализированные подклассы. Которые будут переиспользовать свойства и методы из основного класса, а также добавлять свои, более узконаправленные. Представим, что мы проектируем гипотетическое приложение для классификации вымышленных космических кораблей. Нам нужно описать сущности в виде классов...
1 год назад
Урок 13: Null Safety в Kotlin – операторы ?. !!, NullPointerException (NPE)
Видео версия урока: https://youtu.be/hf4vrHucYNU Что такое NPE Exceptions (или исключения) в программировании позволяют описать проблему, если в программе что-то пошло не так. Как правило это описание можно увидеть в логах, при возникновении ошибок. NullPointerException – это ошибка, которая возникает, когда используемый объект не инициализирован. Дословно она переводится как “исключение нулевого указателя”. Еще ее коротко называют NPE. Что такое null Зачастую программы крашатся, когда на определенном...
1 год назад