Java Collections

Java Collections

Квест «Java Collections» посвящен детальному изучению Java-коллекций, но не только их одних. Речь пойдет о том, как работать с файлами и архивами, что такое паттерны проектирования и как их применять. Вы получите опыт работы с JSON, Guava, Apache Commons Collections, Junit, узнаете подробности о сборке мусора в Java. Помимо продвинутых составляющих Core, вы познакомитесь с необходимыми любому современному разработчику инструментами, узнаете о Git и JAXB, RMI и DymamicProxy, прикоснетесь к другому важному языку программирования — JavaScript. В этом квесте вы создадите мини-проекты — большие задачи. В обучающих целях их решение будет разбито на этапы.

Комментарии (68)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Ярослав40 уровень, Днепр
22 июля, 09:39
Советы: 1) Если вам нужно скорее выйти в Энтерпрайз и так далее, чтобы скорее научиться писать свои полноценные веб-приложения и тому подобное, то зацикливаться на курсах JavaRush не нужно. Курсы действительно очень полезны и предоставляют хорошие знания благодаря практики, но есть и Ахиллесова пята: слишком затратно по времени. Как по мне, можно параллельно с каждым уровнем изучать что-то еще, кроме самого уровня. А на некоторых уровнях останавливать и углубляться во что-то. Для меня такими уровнями стали: 5, 9. На 5 уровне пришлось пойти изучать git. Не сказать, что я его освоил прямо хорошо, но достаточно, чтобы работать с гитхабом через консоль. Хотя, сказать честно, надо будет еще подробнее изучить кое-какие аспекты. На 9 уровне пришлось пойти изучать сервлетты и JSP вместе с Томкэтом, так как начало уровня - Tomcat, а остальные лекции по дебагу в идее, что сбило меня с толку. Сервлетты достаточно простые, самое сложное для меня было разобраться со сборкой проектов, артефактов, деплоем и прочими аспектами работы веб-приложения. И хоть интуитивно все было понятно, на деле получалось не всегда очевидно. По ходу дела, я изучил Maven. Честно: отличная штука. Сначала показалась сложной, но черт, как же он хорош! P.S. В тестовом задании проект надо будет делать на мавене :) Хорошие лекции на youtube по Maven: ссылочка. Параллельно нужно пытаться что-то самому писать, на практике все встало на свои места.
Ярослав40 уровень, Днепр
22 июля, 09:47
2) Не бойтесь сложностей с фреймворками и другими вещами, у которых отпугивающее название (Spring, Maven, Hibernate). На самом деле, можно и за день обучиться основам. Нужно просто сесть и изучать, изучать и изучать. А вот как изучать - дело каждого. Лично я не очень предпочитаю книжки. По крайней мере, для знакомства с чем-либо. У меня свой подход: ищу лекции на ютубе, смотрю, параллельно подсматривая в какие-то статьи те или иные моменты, которые не очень ясны сразу, и так же параллельно, останавливая лекции, стараюсь так или иначе писать код в идее. Мне так удобно, потому что я больше люблю видеть те или иные результаты своей работы. Книги для меня - способ углубить знания. Но у каждого свой подход :) 3) Технология = мини-проект Все просто: изучили что-то - создали любой мини-проект, где воспользовались всем, что недавно изучили. Когда вы после теории сделали практику, в вашей памяти знания сильнее закрепятся. Так же, вы сможете позже вернуться в свой мини-проект и вспомнить те или иные моменты для работы с фреймворком. То, что вы во время практики искали около получаса-часа, вы вспомните сразу, когда увидите это в проекте. По крайней мере, у меня это так, - мне достаточно посмотреть какие-то фрагменты моего кода с использованием какой-то технологии, чтобы вспомнить основные моменты её использования.
Ярослав40 уровень, Днепр
22 июля, 09:57
И, может, кому будет интересно. На 5 уровне не рассказывалось подробно про git и так далее, а просто ссылку давали на howtogit или какой-то такой сайт (который я проходил, но надо будет еще раз перепройти и до конца). Так вот, как подключить github репозиторий к себе: git clone (url) (directory), где url - ссылочка на github репозиторий, а directory - папка (относительно текущего каталога) куда нужно поместить, можно не указывать, тогда будет взять имя git проекта. Данная ссылочка находится тут: После этого, заходите через консоль в директорию и у вас, считай, есть последняя версия проекта с гитхаба. Далее (если это ваш проект) нужно указать кое-какие конфиги: git config (--global) core.username (имя вашей учетки на гитхабе) git config (--global) core.email (почта вашей учетки на гитхабе) git config (--global) core.password (пароль вашей учетки на гитхабе) Если указать эти конфиги, то вам не нужно будет авторизовываться через окошко при выполнении команды push. github будет считывать конфиги вашего гита и автоматически авторизовываться, если будет необходимости. Если не указывать --global, то настройки будут только для текущего репозитория. Это может понадобиться, если у вас несколько учетных записей на гитхабе, и для этого проекта у вас отдельная учетная запись. Иначе можно спокойно писать --global. После этого, кроме основных команд гита для локальной работы (commit, status, reset, rm, add и другие), надо будет использовать еще 3 дополнительные команды:
Ярослав40 уровень, Днепр
22 июля, 10:00
git fetch - проверяет, есть ли изменения на репозитории на гите. Если есть, то просто уведомляет, что вы не используете последнюю версию проекта. Можно не использовать, git pull автоматически сверяет версии и вытаскивает их, хотя в отдельных случаях помогает (если вы хотите просто проверить, нет ли новых коммитов в основном репозитории, но не хотите их перекачивать к себе). git pull - скачивает последние коммиты с репозитория на гите. Так сказать, обновляет вашу локальную копию до актуального состояния. git push - заливает ваши сделанные коммиты напрямую в репозиторий на гитхабе. Перед этим проверяет, что у вас последняя версия проекта, если нет - требует сделать pull. На самом деле, все достаточно просто. Эти команды очень простые. Главное разобраться с остальными командами для локальной работы, тогда с этими проблемы не будет. К чему все это было: на howtogit данные лекции то ли отсутствуют (вряд ли), то ли где-то довольно далеко. Я прошел около 30-40, и так не дошел. А ведь подключаться к github'у очень хочется, когда вы там храните свой проект.
Artem Sobolenko36 уровень, Днепр
24 сентября, 10:52
Тянет на отдельный пост.
Rihard198531 уровень
5 июня, 00:29
Может я когда нибудь дойду сюда)
Кирилл Голуб22 уровень, Днепр
9 июня, 14:21
Дойдёшь, не бойся)
Alexander Avdoshin34 уровень, Нижний Новгород
3 июня, 22:15
Что впервую очередь изучать - Multithreading или Collections?
Сергей Судариков35 уровень, Днепр
5 июня, 10:32
лучше Multithreading, на коллекциях подзастрянешь немного
Ярослав40 уровень, Днепр
15 июня, 20:56
Лучше всего комбинировать, пройти сначала первые 3-4 уровня трэда, потом сколько захочешь уровней коллекций (хоть все), потом до конца мультитрэда. А можно и просто мультитрэд, а потом коллекции. В принципе, такой вариант тоже нормальный.
Дмитрий25 уровень, Москва
22 августа, 17:12
Коллекции нужнее джуну, если уже ищешь работу.
alCODolizm22 уровень, Москва
7 октября, 12:16
На собеседовании как раз говорили, чтобы в приоритет на коллекции делал
Сергей Лахменев30 уровень, Санкт-Петербург
3 июня, 15:27
3.06.2018
NodeOne31 уровень
18 августа, 07:15
и?
Roman Avdashkevich20 уровень
3 сентября, 19:42
Держи нас в курсе!
Sergey40 уровень, Киев
26 февраля, 17:09
26.02.18 Материя - 1891
Makarich31 уровень, Киев
24 февраля, 12:47
Просто оставлю это здесь. Требования для того что бы попасть на курсы в компанию: Требования к Java Developer в той же компании: Наиболее ценные качества программиста:
Немчинов Сергей40 уровень, Новосибирск
27 февраля, 15:58
> Требования к Java Developer в той же компании Особенно понравилось aptitude вместо attitude
Makarich31 уровень, Киев
27 февраля, 21:20
aptitude - склонность. attitude - отношение. What is the difference between attitude, aptitude, ability?
Makarich31 уровень, Киев
14 марта, 07:14
Anonimus1506331 уровень
14 марта, 14:49
Спасибо, полезная статья была. А как все же переводится "або вище"?
Makarich31 уровень, Киев
16 марта, 22:04
перевод "або вище".
cron35 уровень
9 апреля, 17:52
Або вище - в данном случае означает не ниже уровня Intermediate
Ярослав40 уровень, Днепр
22 июля, 09:21
Круто осознавать, что у меня уже достаточно знаний, чтобы пройти на курсы :D Хотя мне они не нужны, по крайней мере сейчас. Я еще только на 2 курсе в универе и не могу пойти в компанию на курсы, разве что если на дистанционные. Сейчас сам стараюсь уходить в сторону веб-технологий и всякого такого, изучаю Hibernate сейчас, сервлеты изучал недавно и JSP и написал даже проект на сервлетах, который предоставил одному игровому серверу за небольшие, но все же деньги (проект - банхаб, чтобы у игроков была возможность получать информацию о банах и т.д.), JDBC вспомнил (так как раньше его изучал, а потом не было нужды его использовать, так как продолжил курсы на JavaRush проходить). В скорых планах уже Spring, heh :)
Александр41 уровень, Москва
21 декабря 2017, 08:16
Кто-нибудь знает, почему статус курса проходится не сменился на пройден? Все лекции открыты. Или это доп квест?
Valery40 уровень, Москва
21 декабря 2017, 09:43
В комментариях на курсе я встречал людей с уровнем 41. Что-то подсказывает мне, что это уже стажировка. А так - да, курс окончен, поздравляю! Теперь в свободное плавание и задачки задавать будет уже жизнь в лице заказчиков, работодателя и т.д. и т.п., если, конечно, работать профессионально. Удачи!
Александр41 уровень, Москва
21 декабря 2017, 15:19
Не угадали про стажировку )
22 декабря 2017, 16:15
Тоже не меняется статус с проходится на пройден. И уровень остается 40. Все лекции открыты и задачи решены. Стажировка у меня пройдена тоже. В чем может быть проблема?
Александр41 уровень, Москва
25 декабря 2017, 15:34
видимо, уже решено )
ilya35 уровень
26 декабря 2017, 10:57
на работу не устраивали пока статус не сменишь ?)
Александр41 уровень, Москва
26 декабря 2017, 12:37
не брали, говорили только с 41 левела )
Игорь35 уровень
15 декабря 2017, 09:07
Прежде чем разбирать Spring и Hibernate, советую сперва изучить что такое сервлеты, контейнер сервлетов, какие запросы бывают и т.д.. Потом прочесть хоть первую половину книги "Идеальный код", а потом поверхностно изучить MySql. Контейнер зависимостей Spring, а так-же Spring MVC, работает поверх тех же сервлетов. А hibernate хватит основных анотаций, и может в общих чертах какие состояния объекта и т.д. ВАЖНО!!! Что-бы сохранить массу вашего времени, после Spring Core советую почитать за SPRING BOOT!!! ОЧЕНЬ полезная вещь. Если что-то нужно уточнить пишите в личку. ---Добавляю: очень хорошо разберите SOLID принципы, особенно последний. И неплохо бы обратить взор на TDD.
Игорь35 уровень
16 декабря 2017, 09:10
Как я начинал путь по технологиям: 1.сервлеты -> сервлет контейнер(Head first Jsp and Servlets книга).2. sql(youtube + w3school(я там разбирал)).3. "Идеальный код" книга и думаю можно начинать искать работу. Пока ищешь работу--- Spring core, mvc, boot, Hibernate. P.S. сборка проектов(что это такое найдешь в интернете) Maven или Gradle. Книги читайте выборочно, думаю из пункта 1 - хватит первой половины или даже трети, пункт - 3 первая половина.
Игорь35 уровень
16 декабря 2017, 09:18
Когда будете делать тестовые задания, да и вообще запускать Spring, еще раз советую обратить внимание на Spring Boot. Если-бы я когда-то прочитал это сообщение,да еще и заметил, что чел делает на этом акцентированное внимание, сэкономил-бы много личного времени. P.S. Самое лучшее решение - это простое решение. Сам не люблю писать комментарии или умничать, но в свое время не мог найти стоящего "туториала" начинающего Java программиста, надеюсь что кому-то буду полезен. Обращайте внимание на качество своего кода, это очень важно в разработке. "по статистике 10 часов тратится на чтение кода, и всего один час на написание." Поэтому понятный и качественный код must have.
Игорь35 уровень
16 декабря 2017, 11:08
Может займусь как время будет. Сюда захожу не часто, поэтому лучше не ждать статьи, а самостоятельно начать хотя-бы ознакомление с технологиями. В одной статье сложно будет описать все даже поверхностно. Еще добавил бы, что неплохо знать сложность алгоритмов и хотя-бы как устроены основные структуры данных и как они реализованы в JDK.
Nikolay25 уровень, Киев
26 июня, 19:14
А где лучше учить Спринг? Есть источники/л-ра?
Игорь35 уровень
30 июня, 21:03
Spring in action книга, spring для профессионалов, документация у них четкая-!, youtube и т.д. И пробуй ручками что-то писать. Недавно видос четкий глянул (Spring потрошитель) на youtube, но не советую с него начинать, если хотя бы основ не знаешь, просто добавь в закладки и обязательно пересмотри раза 2+(с первого раза сам все не запомнил). Не читай все полностью в книгах и не пиши все примеры, просто разберись со Sping Core, MVC, Boot и пробуй свое что-то создавать. Вообще Spring in action классная книга. Плюс почитай статьи на хабре за IoC его плюсы и т.д.
Эрик Айткулов34 уровень, Санкт-Петербург
7 декабря 2017, 14:03
было бы здорово добавить бы в какой нибудь из курсов лямбды, функциональные интерфейсы, стримы.
LexSav35 уровень
2 марта, 06:14
Да, надо уже заточить курс под Java 8. Много инфы устарело.
Kirilo Lozitskey40 уровень, Киев
7 октября, 19:46
На Stepik есть очень хороший курс на эту тему. Еще и английский можно подянуть.
Roman Avdashkevich20 уровень
6 ноября 2017, 02:30
Джаварашеры, как считаете, на каком уровне можно начинать ходить на интервью? Чувство, что не готов, будет всегда. Но в какой-то момент надо на него забивать и искать работу
Dmytro27 уровень
8 ноября 2017, 16:49
нужно знать веб технологии - Spring , Hibernate и т д. Здесь это проходится при поступлении на стажировку - а это минимум 35 уровень
Роман Егоров37 уровень, Москва
11 ноября 2017, 21:24
После 20 уровня начинай
Антон Петров40 уровень, Москва
17 ноября 2017, 16:35
Устроился на работу java программистом, когда был на 25 уровне . Но как сказал Dmytro, в основном нужно знать Spring и т.д . У меня получилось так, что я их в ускоренном темпе изучал, если бы устроился после стажировки, то было бы гораздо легче.
Кедель Михаил40 уровень
22 ноября 2017, 17:18
Копипастить конечно плохо, но если у тебя не очень много времени, то мне кажется , что лучше скопировать решение и понять как оно работает, чем потратить дня 2 на одну задачу.
Кедель Михаил40 уровень
2 декабря 2017, 12:20
Я стараюсь сам решать задачи но на уронях 33+ уже осталось очень мало людей и мало кто может тебе помочь или надо будет очень долго ждать.
Эрик Айткулов34 уровень, Санкт-Петербург
11 декабря 2017, 16:47
на каком уровне можно начинать ходить на интервью? если цель"ходить на интервью" то можно сразу после прохождения курса "Core" если цель "устроиться на работу" то в ней есть важный вопрос: какой уровень (ответственности / знаний / зарплаты) мне необходим? по хорошему нужны Syntax, Core, Collections из курса Javarush в курсе Collections самый интересный раздел это: Уровень 5 ... Generics и Reflection и в дополнение к JR нужны знания VCS (Git), WebServer / WebContainer (TomCat), Spring Framework, JUnit, СУБД, Hibernate.
Эрик Айткулов34 уровень, Санкт-Петербург
11 декабря 2017, 19:51
фига, у тебя "горит")) жесткая формулировка)) "снять розовые очки раньше чем их ему разобьют сотрудники HR когда будут его лицом пол вытирать." зачем? каждый носит очки того цвета, которые ему нравятся... когда ЭйчАр будет беседовать со мной, тогда я пойму что "разобраться в теме" и "я дошел до "Multitrading" это две большие разницы. вопрос стоит о ТРУДОУСТРОЙСТВЕ. знаний языка Java для трудоустройства JR дает достаточно. Это если я разбираюсь и понимаю что я пишу в коде, решая задачи. Дополнительно к языку ДЛЯ ТРУДОУСТРОЙСТВА нужны фреймворки, библиотеки, базы данных... то, что будет после этого... останусь ли я на позиции тестера, или через 5 лет буду читать доклады на JUG, или реализую собственную идею мегакрутой приложухи... это другая история. каждый носит очки с любимым цветом стекол. и не стоит лезть в чужой монастырь со своим самоваром.
Степан Карсаков21 уровень, Минск
12 декабря 2017, 11:42
" он в 31 начал учиться программированию" Пфф...мне 37 и я начал учиться программированию. Если умеешь учиться, то никогда не поздно. :)
Немчинов Сергей40 уровень, Новосибирск
17 декабря 2017, 13:15
Я думаю после пройденной стажировки уже можно ходить. Но только в том случае если эта стажировка честно пройдена и все этапы понятны и выполнены, а не просто видео просмотрено.
ilya35 уровень
21 декабря 2017, 05:34
LeoJames, Вы мыслите крайне категорично и судите из своего опыта, трактуя его как единственный существующий и верный. Будто сама вселенная с всей ее вариативностью Вам рассказала, как все устроено. Вы абсолютно упускайте момент, что как и люди владеющие языком могут быть разного уровня (и не только в плане знания джавы, а с врожденной вариативностью устройства мозга,предыдущим опытом работы, заинтересованностью), так и конторы, которые этих людей ищут - тоже бывают разного уровня, и ситуации бывают разные. И я говорю не просто так - у меня среди знакомых есть реальные примеры, которые даже без JR учили джаву за 4-5 месяцев и находили работу в Мск, на знатных условиях. Так что смешно читать этот негативный высер. ------ Автору ветки - все индивидуально, кури вакансии в своем городе и требования. JR - это не полноценный курс, а скорей как экскурсия по джаве. И дай реальную оценку своим способностям, все темы с джава кор должны быть поняты и запомнены наизусть на субатомном уровне, запутать тебя не должно быть возможным. Кури алгоритмы и задачи на них. В коллекциях должен знать и понимать каждую мелочь. + Пили задачи, где нужно работать компилятором: мол вот вам код, какой будет вывод и что не правильно и почему. Опыт в интерпрайзе ты сымитировать не сможешь (на собеседовании тебя раскусят сразу же), но если показать на собеседовании глубокое-крепкое знание основ, сооброжалку в алгоритмическом решении задач и свою адекватность и заинтересованность(!!!) в целом, не просить много денег - тогда вполне можно привлечь внимание. А если есть сторонние скиллы - линукс, sql и потоковый английский (к примеру), то +100 к успеху. Если же хочется тупо накидать пыли в глаза, дабы срастить вакансию на хорошую ЗП - тогда не реально(даже если всех обманешь - выкинут в течении испытательного срока).
ilya35 уровень
21 декабря 2017, 13:25
LeoJames, хорошо. В глаза бросился только второй пост, где явно один негатив. Степень Вашей эмоциональной незрелости искажает Ваши идеи. Чесн слово, смешно, когда начинают язвить-оскорблять в интернетах, но при этом пытаются претендовать на корректное восприятие. Вы с людьми в реальной жизни так же общаетесь ? Хотя, очевидно что нет. Ведь в интернетах грубить людям все горазды. Ну да ладно, спокойствия Вам и гармонии. Дышите глубже.
Дмитрий25 уровень, Москва
22 августа, 21:31
Освоить 5 и 9 уровне коллекций: Git и Tomcat. Вообще, Spring, Hibernate можно пройти на практике, я думаю.