- Установите JDK8 (выбрать Accept License Agreement)
- Установите систему управления версиями Git
- Создайте аккаунт на GitHub
- Для удобной навигации по файлам на GitHub установите расширение для браузера Octotree
- Установите IntelliJ IDEA Community (Ultimate-версия понадобится позже, при работе с базой данных и web)
Для версии Ultimate дается 30 дней бесплатного использования. Но в качестве подарка, каждому участнику курса, мы выдаем единоразово купон на 6 месяцев
- Мифический человеко-месяц
- Подборка книг для руководителей в сфере IT
- Размеры проектов в количестве строк кода
- Соглашения по оформлению кода
- Методологии разработки ПО
- Ещё раз про семь основных методологий разработки
- Популярность Java-технологий в 2019 году
- Java Technology Report 2020
- The State of Developer Ecosystem 2020
- JVM Ecosystem Report 2020
- Java, JVM, JIT-компиляция
- Java ME, SE, EE
- Что такое JDK? Введение в средства разработки Java
- Что такое JRE? Введение в среду выполнения Java
- Что такое Java? История создания
- Programming languages TIOBE Index
- Java Microbenchmark JMH (используем на курсе MasterJava)
- Система управления версиями (VCS)
- Введение в Git: от установки до основных команд
- Сравнение разных VCS
- Видео-уроки по Git
- Интерактивные Git-обучалки: 1, 2
- Официальная книга по Git
- Создайте на GitHub репозиторий с названием
basejava
- Откройте консоль у себя на компьютере (в папке, где планируете разместить проект) и выполните следующее:
- Скачайте копию проекта с заранее заданными классами:
git clone https://github.com/JavaOps/basejava.git
. Реализацию дз выполняйте в рамках данной копии - Перейдите в каталог проекта:
cd basejava
- Настройте git у себя на компьютере на свой репозиторий в GitHub:
git remote set-url origin url_на_ваш_basejava-репозиторий.git
— настройка pullgit remote set-url --push origin url_на_ваш_basejava-репозиторий.git
— настройка pushgit remote -v
— удостоверьтесь, что команда выводит ссылки на ваш удаленный репозиторийgit push -u origin master
— устанавливаем связь между локальной и удаленной веткой master
- Скачайте копию проекта с заранее заданными классами:
- Создайте в IntelliJ IDEA новый проект, выбрав каталог
basejava
, который вы скачали ранее к себе на компьютер:
- Реализуйте методы
save, get, delete, clear, getAll, size
в классеArrayStorage
, организовав хранение резюме в массиве - Храните все резюме в начале
storage
(без пустот в видеnull
), чтобы не перебирать каждый раз все 10_000 элементов - При реализации метода
delete
учитывайте, что после удаления резюме между оставшимися резюме не должно быть пустых ячеек, заполненных null
Схема хранения резюме в массиве storage (в элементах от 0 до size-1 отсутствуют null):
r1, r2, r3,..., rn, null, null,..., null
<----- size ----->
<------- storage.length (10000) ------->
- Проверьте вашу реализацию с помощью классов
MainArray.main()
иMainTestArrayStorage.main()
- Изучите дополнительные материалы по IntelliJ IDEA:
Не могу запустить программу, да и рядом с классами появился какой-то значок
- Проблема в том, что IDEA неправильно "воспринимает" папку
src
. Для ее решения необходимо нажатьПКМ на папке src -> выбрать Mark Directory as -> Sources Root
- Все резюме в хранилище имеют уникальный
uuid
, что исключает повторы. Сортировка поuuid
не требуется - Давайте осмысленные комментарии коммитам
- Перед каждым коммитом не забывайте пользоваться сочетанием клавиш
Ctrl + Alt + L
(автоматическое форматирование кода) - Удаляйте в классах неиспользуемые импорты (
Ctrl + Alt + O
) - Не игнорируй подсказки IDEA (подсвечивает)
- В методе
clear()
обнуление массива предполагает обнуление (null) ячеек, где хранятся Resume, а не создание нового или присваивание ему null - При реализации методов не используйте коллекции
- Не меняйте сигнатуры методов в
ArrayStorage
- Не добавляйте в
Resume
новые поля - Resume r — давайте переменным осмысленные имена, например resume. r допустимо в коротких циклах и лямбда-выражениях
- Учитесь грамотно формулировать проблему: "у меня не работает" может иметь тысячи причин. В процессе формулирования часто приходит ее решение
- Учитесь исследовать проблему. Внимательное чтение логов и умение дебажить — основные навыки разработчика. В логах необходимо читать верхнюю часть самого нижнего иксепшена. Именно там находится причина возникшей ошибки
- Грамотно распределяйте время для каждой проблемы. Не впадайте в крайности: сразу бросаться за помощью или биться над ней часами. Подходите к ее решению разумно
- Получайте в процессе решения обратную связь, что бы убедиться в правильности выбранного направления
- Советы новичкам