Skip to content

Latest commit

 

History

History
114 lines (92 loc) · 12.5 KB

lesson1.md

File metadata and controls

114 lines (92 loc) · 12.5 KB

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

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

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

Для версии Ultimate дается 30 дней бесплатного использования. Но в качестве подарка, каждому участнику курса, мы выдаем единоразово купон на 6 месяцев

jvm

image

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

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

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

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

newproject

next

next1

finish

  • Реализуйте методы save, get, delete, clear, getAll, size в классе ru.javaops.webapp.storage.ArrayStorage, организовав хранение резюме в массиве
  • Храните все резюме в начале storage (без пустот в виде null), чтобы не перебирать каждый раз все 10_000 элементов
  • При реализации метода delete учитывайте, что после удаления резюме между оставшимися резюме не должно быть пустых ячеек, заполненных null
Схема хранения резюме в массиве 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

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

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

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

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