Skip to content

Latest commit

 

History

History
126 lines (103 loc) · 13.6 KB

lesson1.md

File metadata and controls

126 lines (103 loc) · 13.6 KB

Первое занятие

Подготовка рабочего окружения

  • Установите JDK8 (выбрать Accept License Agreement)
  • Установите систему управления версиями Git (опции по умолчанию)
  • Создайте аккаунт на GitHub. Для удобной навигации по файлам на GitHub можно установить расширение для браузера Octotree
  • Установите IntelliJ IDEA. Пока нет базы данных и веб, можно работать с версией Community. На версию Ultimate дается 30 дней пробного бесплатного использования (trial). На проектах каждый участник проектов получает единоразовый личный купон на бесплатную версию Ultimate на 6 месяцев.

jvm

image

Настройка проекта

  • Создайте на GitHub репозиторий с названием basejava
  • Откройте консоль (терминал) у себя на компьютере
  • Наберите и запустите: git (по умолчанию при установке git заносится в PATH. Если он не находится, занесите git в переменную окружения PATH и перезапустите консоль)
  • Создайте локальную копию проекта: git clone https://github.com/JavaOps/basejava.git
  • Перейдите в каталог проекта: cd basejava
  • Настройте git в локальном проекте на свой проект в GitHub:
    • git remote -v
    • git remote set-url origin url_на_твой_basejava-репозиторий.git - настройка pull
    • git remote set-url --push origin url_на_твой_basejava-репозиторий.git - настройка push
    • git push -u origin master

Домашнее задание HW1

  • Создайте в IntelliJ IDEA новый проект, выбрав каталог basejava, который вы клонировали ранее к себе на компьютер:

newproject

next

next1

finish

  • Реализуйте класс com.urise.webapp.storage.ArrayStorage, организовав хранение резюме на основе массива с методами save, get, delete, size, clear, getAll
  • Храните все резюме в начале storage (без дырок в виде null), чтобы не перебирать каждый раз все 10000 элементов
Схема хранения резюме в массиве storage (в элементах от 0 до size-1 отсутствуют null):

r1, r2, r3,..., rn, null, null,..., null
<----- size ----->
<------- storage.length (10000) ------->

Вопросы по HW1

Не могу запустить программу, да и рядом с классами появился какой-то значок badsrc

  • Проблема в том, что IDEA неправильно "воспринимает" папку src. Для ее решения необходимо нажать ПКМ на папке src -> выбрать Mark Directory as -> Sources Root

Что такое null?

Что такое null в Java? (оригинал: What is null in Java? )

Замечания по выполнению HW1

  1. Все резюме в хранилище имеют уникальный uuid, что исключает повторы. Cортировка по uuid не требуется
  2. Давайте осмысленные комментарии коммитам
  3. Перед каждым коммитом не забывайте пользоваться сочетанием клавиш Ctrl + Alt + L (автоматическое форматирование кода)
  4. Не злоупотребляйте пустыми строками. Они используются нечасто для логического отделения больших кусков кода.
  5. Удаляйте неиспользуемые импорты (Ctrl + Alt + O)
  6. Не игнорируй подсказки IDEA (подсвечивает)
  7. com.urise.webapp.model.Resume r — давай переменным осмысленные имена, например resume. r допустимо в коротких циклах и лямбдах.
  8. В методе clear() обнуление массива предполагает именно обнуление (null), а не создание нового

Дополнительно (как учиться программированию)

Советы по обучению

  • Учись грамотно формулировать проблему. Проблема "у меня не работает" может иметь тысячи причин. В процессе формулирования очень часто приходит ее решение.
  • Учись инвестигировать проблему. Внимательное чтение логов и умение дебажить - основные навыки разработчика. В логах надо читать верх самого нижнего эксепшена - там причина всей портянки.
  • Грамотно уделяй время каждой проблеме. Две крайности - сразу бросаться за помощью и бится нам ней часами. Пробуй решить ее сам и в зависимости от проблемы выделяй на это разумное время.
  • Получай в процессе решения обратную связь - в том ли направлении ты идешь.
  • Советы новичкам