Skip to the content.

Технологии программирования

Назад на главную

Лекция 1. Вводная о курсе. Git. Основы Java. Codestyle

Содержание

  1. О чем курс?
  2. Система контроля версий git
  3. SSH ключи для подключения к серверу
  4. Базовый синтаксис java
  5. Что такое Code Style, и почему ему стоит следовать?

О чем курс?

Почему java?

Давайте попытаемся понять какое место занимает язык java в современной IT-отрасли. Ниже на схемке представлена попытка отразить использования языков программирования для тех или иных задач. Схема приблизительная, не учитывает всех существующих ЯПП.

Java - активно используется для разработки бизнес-логики приложений, наиболее актуальное применение данного ЯП - разработка бэкенда и приложений на андроиде. Раньше - активно применялась для разработки десктопных приложений, но сейчас эта сфера становится чуть менее актуальной.

Активности в этом семестре

Лекции и практики

На каждом занятии проводим “опросник” - небольшая опрос по темам предыдущей лекции. Позволяет быть в тонусе.

Домашки

После каждой лекции (темы) выдается домашка. Некоторые домашки будут состоять из обязательной и дополнительной части. У домашки есть два дедлайна: мягкий и жесткий

Контест

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

Зачет

Как получить зачет?

Как получить автомат?

Система контроля версий GIT

Что такое гит?

Git - это система контроля версий, предназначенная для хранения истории изменений и отслеживания правок в проектах. Нужен для того, чтобы разработчики могли удобно работать над проектом, сохранять все изменения кода и совместно работать над одним проектом в реальном времени.

Основные термины

External Image

Основные термины

Как создать репозиторий

Команда: git init

Commit

Изменения в коде в репозитории “находятся” в commit-ах (фиксациях).

Коммит хранит следующее:

Чтобы создать коммит:

  1. нужно добавить файл в репозиторий (если он еще не добавлен) - git add (file)
  2. git commit + написать сообщение (commit message)

Ветви

Работа с удаленным репозиторием

SSH ключи для подключения к серверу

Что такое ssh-ключ?

SSH-ключ — безопасный способ соединения с сервером.

Для аутентификации используются два ключа: приватный и публичный.

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

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

Как сгенерировать?

ssh-keygen -t ed25519 -C "your_email@example.com"
> Generating public/private ALGORITHM key pair.
> Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
ssh-add ~/.ssh/id_ed25519

Ссылки на инструкции

github ssh manual

Reg Ru. Инструкция как создать ssh-ключ

Базовый синтаксис java

“Точка входа” в программу

Точка запуска программы В Java, точкой запуска программы является функция public static void main(), которую необходимо создать в коде. Эта функция является точкой входа в программу, с которой начинает выполняться код. Пример:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

Здесь создается класс Main с функцией main(), которая выводит на экран строку “Hello, World!”.

Объявление функций

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

class MyClass {
  public static void myMethod() {  // метод без параметров и без возврата значения
    // тело метода
  }

  public static void myOtherMethod(int a, String b) {  // метод с параметрами и возвратом значения
    return 10;
  }
}  

Ключевые слова в заголовке функций Java обозначают его характеристики. Вот их значения:

Примитивные типы данных в Java

Примитивные типы данных в Java включают:

Все примитивные типы являются значениями, а не ссылками на объекты.

Пример создания переменной:

int a = 5; // Создаем переменную типа int и присваиваем ей значение 5
double b = 3.14; // Создаем переменную типа double и присваиваем значение 3.14
char c = 'A'; // Создаем переменную типа char и присваиваем символ 'A'
boolean d = true; // Создаем логическую переменную и присваиваем true

Логическое “И” и “ИЛИ”

В Java логические операции “И” и “ИЛИ” используются для проверки нескольких условий в одном выражении. Например, можно написать такой код:

if (a == 5 && b == 10) {
   System.out.println("a == 5 и b == 10");
} else if(a == 5 || b == 10) {
   System.out.println("a == 5 или b == 10");
}

Здесь сначала проверяется, равны ли переменные a и b значениям 5 и 10 соответственно. Если оба условия выполняются, то выводится сообщение “a == 5 и b == 10”. Если хотя бы одно из условий выполняется (то есть если a == 5, или если b == 10), то выводится сообщение “a == 5 или b == 10”

Условная конструкция if-else

if-else - это одна из самых простых и часто используемых условных конструкций в Java. Она позволяет выполнять разный код в зависимости от истинности или ложности некоторого условия.

Вот пример использования if-else:

public class Main {
    public static void main(String[] args) {
        int a = 5;
        if (a == 42) {
            System.out.println("a равно 42");
        } else {
            System.out.println("a не равно 42");
        }
    }
}

В этом коде мы проверяем, равно ли значение переменной a числу 42. Если равно, то выводится соответствующее сообщение, иначе - другое сообщение.

В качестве условия можно использовать не только сравнение, но и более сложные выражения, например, вызовы методов или даже лямбда-выражения. В качестве условия можно использовать любое выражение, которое возвращает boolean значение. Например, можно использовать результат вызова метода:

if (isPrime(x)) {
    System.out.println("Число " + x + " является простым числом.");
} else {
    System.out.println("Число " + x + " не является простым числом.");
}

Здесь мы вызываем метод isPrime, который мы определили где-то в нашем коде, и если он возвращает true, то выводим сообщение о том, что число является простым, иначе выводим сообщение об обратном.

Цикл for

Цикл for используется для повторения блока кода заданное количество раз или пока выполняется некоторое условие. Он имеет следующий синтаксис:

for (инициализация; условие; инкремент) {
    тело цикла
}
for (int i = 0; i < 10; i++) {
    System.out.println(i);
}

Цикл foreach

В Java 8 появился цикл forEach, который позволяет перебирать элементы коллекции.

Цикл forEach используется, когда нам нужно выполнить некоторый блок кода для каждого элемента коллекции. Он работает следующим образом:

Сначала мы указываем переменную, которая будет содержать текущий элемент коллекции. Затем мы указываем блок кода, который будет выполняться для каждого элемента.

Вот как выглядит использование цикла forEach:

List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");

for (String s : list) {
    System.out.println(s);
}

Что такое Code Style, и почему ему стоит следовать?

Code style - это набор правил, рекомендаций и соглашений, которые определяют, как должен выглядеть и быть организован код. Они помогают сделать код понятным, легким для чтения и поддержки.

Зачем нужен code style?

В нашем курсе мы будем ориентироваться на соглашение Google Java Style Guide. Пожалуйста, изучите его и используйте при выполнении домашек.