Здравствуйте! Изучаю Java SE, дошел до коллекций. Вопрос такой: что нужно знать для того, чтобы написать простенькое пока что web-приложение? Что нужно знать из Java SE, из других Java, так скажем, разделов, скажите, пожалуйста на примере сайта http://java-online.ru/java-set.xhtml?
Tobi
1 уровень
Что требуется знать в Java для web'а?
Комментарии (154)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Tobi
27 июня 2020, 21:33
Есть ли разница между
class A {
...
}
и
class B
{
...
}
?
Мне второй вариант нравится гораздо больше
0
Wladyslaw Java Developer Master
27 июня 2020, 21:49
с точки зрения компилятора - разницы никакой.
Он себе парсит исходники, пока не встретит значимый для него символ. Перенос строки для него таковым не является.
Другое дело - значит ли это что-то для человека. Работая в команде - стоит договорится чтобы все писали одинаково.
+3
Tobi
27 июня 2020, 21:52
А то ко мне на другом форуму пристали с тем, чтобы я первым вариантом не писал никогда.
0
Wladyslaw Java Developer Master
27 июня 2020, 21:56
в смысле скобку не открывал там же где класс объявляешь?
Да так, вроде как, большинство людей делают.
Вон, в JDK даже так пишут.
Я так пишу всегда.
+1
Tobi
27 июня 2020, 22:00
Мне просто зрительно так нравится больше, и люблю присутствие симметрии.
0
Стас Пасинков Software Developer в Zipy Master
29 июня 2020, 15:52
как это есть ли разница?!!
конечно же есть! из-за этого такие холивары многостраничные вырастают!
просто разные люди начинали обучение с разных ЯП. кажется в сях там по стандарту рекомендуется вариант с прямыми скобками. в джаве - с египетскими принято.
у людей часто бывает так, что выучили что-то одно - и потом считают это единственно правильным во всем мире. отсюда и холивары про ЯП (какой лучше в вакууме), ну и про скобки эти тоже)
можете сходить на тот форум и написать, что там одни нубы у них сидят, и что вот на другом форуме знающие люди сказали вам, что правильно с египетскими)))
шутки, шутки)
а для компа - да, без разницы)
+1
Tobi
29 июня 2020, 16:56
Второй вариант мне предпочтительнее лично, какая-то симметрия наблюдается
0
Justinian Judge в Mega City One Master
29 июня 2020, 17:28
Второй вариант в джава чрезвычайно редок.
Его применение как правило показывает уровень человека.
Большинство сразу приходят к общеупотребляемому варианту. Для джава это в принципе достаточно четкое правило, это не вопрос личных предпочтений.
В джава мы код пишем для других программистов, а не для себя.
Очень важно что и как написано. Как собственно в обычном языке.
Мы же не пишим как нам удобна, там артадонт купьил малако.
мы пишем как общепринято, чтобы других кондратий не хватал. В джаве точно так же.
Но в начале пиши как хочешь, дойдешь до определенной точки, сам по другому начнешь писать.
+2
Tobi
29 июня 2020, 18:25
Вот по прошествии с марта до сегодняшнего дня в Java прямо как-то втянулся. Она мне понравилась, в отличие от вонючего C++, с которым я имел дело.
0
Tobi
29 июня 2020, 18:30
Я вот немного или совсем не по теме. А вот верстальщики сейчас востребованы, то есть новички совсем?
0
Tobi
19 июня 2020, 22:44
В чем разница между synchronized-блоками и synchronized-методами?
0
Ksenia MarioMaster
19 июня 2020, 23:09
ну synchronized-блоках synchronized используется к блокам,
а в synchronized-методах synchronized используется к методам.
Разница между блоками и методами тебе известна?
+1
Tobi
20 июня 2020, 05:42
Да. Я думал, что особенное есть. Опять ты, украинка, повсюду преследуешь меня!!!
0
Ksenia MarioMaster
20 июня 2020, 05:56
аххаах. так вышло: открыла ночью джаварашик, а тут ты)
+2
Tobi
20 июня 2020, 07:03
Ты маньячка.
0
Сергей Java Developer в Сбер Expert
30 апреля 2020, 21:23
для web изучай Java servlet и Spring MVC
+2
Tobi
16 июня 2020, 21:05
А вот это изучать после Java SE или можно прямо сразу, так сказать?
0
Сергей Java Developer в Сбер Expert
16 июня 2020, 22:06
После
+1
Justinian Judge в Mega City One Master
30 апреля 2020, 20:58
Специфическая и очень древняя программа, которой лет 8-9 наверное...
Но если ориентироваться прям на этом примере:
http://java-online.ru/java-web.xhtml
ну вот здесь сверху вниз, JSP, потом сервлеты, да и на этом остановиться, будет у тебя простенькое веб-приложение.
Но ищи нормальные курсы, или самостоятельно разбирай различные туториалы и гайды, видеокурсы и тд. Это будет долгий путь, но у каждого он свой, если бы все шли коротким эффективным путем, конкуренция была бы в разы больше. Это вопрос не только желания, но и возможностей, дело житейское.
+2
Tobi
30 апреля 2020, 21:02
Спасибо, а SQL, как я понимаю, надо учить? Просто не понимаю, что в какой последовательности учить надо, дабы попытаться стать стажером java-программистом.
0
Tobi
30 апреля 2020, 21:04
И еще вопрос: где можно взять практику, достаточную для понимания, закрепления теории, а то теория теорией, но практика важнее!
0
Tobi
30 апреля 2020, 21:13
Практика, необходимая для устройства на стажера.
0
Сергей Java Developer в Сбер Expert
30 апреля 2020, 21:19
Помню как пошел на стажера в одну фирму, так там была Camunda и сразу дали задание по javaScript
+1
Сергей Java Developer в Сбер Expert
30 апреля 2020, 21:20
Я думаю, что практики на javarush вполне достаточно
+1
Tobi
30 апреля 2020, 21:24
У меня java, не js!
0
Сергей Java Developer в Сбер Expert
30 апреля 2020, 21:26
У меня тоже) Ты думаешь что только java будешь заниматься? Скорее нет чем да
+2
Сергей Java Developer в Сбер Expert
30 апреля 2020, 21:29
Ну а набор знаний должен быть такой:
Java: коллекции, интерфейсы, абстрактные классы, многопоточность, лямбды, дженерики, исключения, рефлексия, jdbc, IO/NIO
Фреймворки: Spring Core, Hibernate
git
maven
sql
Примерно так
+1
Стас Пасинков Software Developer в Zipy Master
30 апреля 2020, 21:33
если по порядку как-то попытаться расставить, то я б сначала поставил джава, потом гит и мавен практически одновременно, потом sql с jdbc, потом спринг и параллельно чуточку хайба
+4
Justinian Judge в Mega City One Master
30 апреля 2020, 21:36
JavaRush + стажировка от JavaRush это 1200 задач + 3 месяца работы над веб-проектом с несколькими десятками технологий. И будет тебе практика.
Это конечно может занять около 6-9 месяцев и то если ты сможешь регулярно выделять время, но зато гарантированный результат по навыкам и знаниям.
А самостоятельно:
JavaCore (OOP, коллекции, рефлексия, IO/NIO, мультипоточность, exceptions и тд)
Java 8 (stream API, lambda, optional)
паттерны проектирования (gof)
сервлеты
jsp (опционально)
git
maven/gradle
jdbc
SQL
БД (mysql/postresql)
JPA/Hibernate
Spring MVC
Spring Data
Spring Boot
как-то так +/-, часто одно от другого не отделить, в том же jdbc будешь работать с БД и использовать SQL в maven проекте работая с git )
так что очередность штука условная, но формально она есть.
+4
Tobi
30 апреля 2020, 21:38
В JavaRush хорошая практика?
0
Tobi
30 апреля 2020, 21:43
За сколько Git учится?
0
Сергей Java Developer в Сбер Expert
30 апреля 2020, 21:48
Да, javarush проходится долго, но дает большой багаж знаний.
Git учится за 3-7 дней. Но хорошо с ним работать можно научиться только на практике.
+2
Стас Пасинков Software Developer в Zipy Master
30 апреля 2020, 21:53
зависит от того, за сколько времени ты прочитаешь три первые главы тут))
+3
Justinian Judge в Mega City One Master
30 апреля 2020, 22:08
На джава раше 1200 задач, решить их и не получить практических навыков - невозможно.
Но это потребует времени и усилий.
Но что в нашей жизни не требует времени и усилий..Даже на диване лежать и то, требует и время и усилий )
+1
Tobi
30 апреля 2020, 22:10
Да не, я интроверт, людей терпеть не могу.
0
Tobi
30 апреля 2020, 22:13
А занние компиляторов нужно знать(книги Свердлова и Вирта)?
0
Justinian Judge в Mega City One Master
30 апреля 2020, 22:26
Знать нужно и астрофизику, алгоритмы шифрования информации в ДНК человека или порядок проведения финансовых операций при взаиморасчетах нерезидентов, вопрос в другом.
В какой мере.
У тебя два пути.
Выбрать системный курс, где уже составлена учебная программа.
Либо самому решать, что нужно, что не нужно.
Источников информации - книг, видео, сайтов, статьи и тд - сотни тысяч. По каждому из них фидбек не запросишь.
Так что, тебе принимать решения, каждое из которых бинарно - либо оно приблизит тебя к цели, либо наоборот отдалит. Все время верные решения принимать не получится. Но желательно чтобы баланс верные/неверные решения был позитивным.
Если время особенно не ключевой фактор и ты можешь себе позволить пойти на работу через два года или через 5, 10, тогда безусловно я бы советовал почитать и про компиляторы, и основательно пройтись по теории языков программирования, операционных систем, компьютерам и тд, если не изучал это в вузе конечно. Хорошей базы много не бывает.
+1
Tobi
30 апреля 2020, 22:51
А про сети OSI & TCP/IP?
0
Сергей Java Developer в Сбер Expert
30 апреля 2020, 23:30
Базовых знаний вполне достаточно. А вот с http много будешь работать. Да и много с чем еще будешь работать, о чем еще не слышал.
Но список необходимых знаний тебе уже написали.
+1
Стас Пасинков Software Developer в Zipy Master
1 мая 2020, 03:34
откуда у вас вообще в голове появилась идея про знания компиляторов?
+2
Pavlo Plynko Java-разработчик в CodeGym Expert
1 мая 2020, 06:14
Для того чтобы написать простенькое веб-приложение знание компиляторов не нужно, про сети OSI & TCP/IP тоже не нужно.
Т.е. по всем трем пунктам будет достаточно прочитать определение из википедии.
+1
VladimirMaster
1 мая 2020, 07:17
Абстрактный вопрос, - за сколько. Фиг его знает, за какое время ты освоишь этот навык. Вот хороший ресурс по Git. Также хорошая книга есть. Называется "Beginning Git and GitHub" автор Mariot Tsioara. Книга на английском, но все же ее стоит почитать.
+2
VladimirMaster
1 мая 2020, 07:22
Знание JS будет плюсом. Очень большим плюсом. Огромным плюсом. Хорошие ресурсы по JS тут и тут. Выделяй немало времени на эту технологию также.
+5
Tobi
1 мая 2020, 17:52
А зачем нужен будет JS? Он же вроде с html & css идет
0
Tobi
1 мая 2020, 17:59
Просто, во-первых, надо написать приложение для практики, а потом забахать такое, чтобы все охренели потом.
0
Tobi
1 мая 2020, 19:39
А нужно ли изучать assembler?
0
Justinian Judge в Mega City One Master
1 мая 2020, 20:02
+1
Tobi
1 мая 2020, 20:27
Системный курс выберу, но какой курс хороший? Есть же говеные?
0
Justinian Judge в Mega City One Master
1 мая 2020, 20:45
ну ты же с голоду не умер? А знаешь сколько невкусной еды бывает? Тебя это не остановило.
Так и с курсами, думай, слушай рекомендации других, пробуй, ну будут осечки и что?
Ничего не делать не вариант.
А сам ты утонешь в океане информации, а если не утонешь то потратишь время в разы больше остальных так точно.
+1
Tobi
1 мая 2020, 21:21
Будем делалть attempt'ы
0
Сергей Java Developer в Сбер Expert
1 мая 2020, 23:57
Тяжело тебе будет.
+4
Tobi
2 мая 2020, 20:43
Да я совсем малый.
0
Tobi
2 мая 2020, 20:55
Просто непонятен принцип, по которому учить язык. Всю Java'у за жизнь не выучишь, все классы выучить невозможно физически, но надо понимать принцип, по которому все это г*вно работает. А как вообще узнать, какое API мне нужно для конкретной задачи? Это google в помощь?
0
Стас Пасинков Software Developer в Zipy Master
2 мая 2020, 21:04
это опыт.
и опыт других (stack overflow например)
+1
Tobi
2 мая 2020, 21:14
Просто как-то стало интересовать программирование в последнее время. Вот просто у опытных людей узнаю, что может потребоваться, а что нет.
0
Tobi
2 мая 2020, 21:37
Понимаю, как я жалко выгляжу перед другими титанами програмирования
0
Стас Пасинков Software Developer в Zipy Master
2 мая 2020, 22:08
это такой троллинг?)
+1
Tobi
2 мая 2020, 22:24
Да нет. Тут просто в комментах уж точно большие дяди сидят.
0
Pavlo Plynko Java-разработчик в CodeGym Expert
3 мая 2020, 07:01
одно дело "хочу написать простенькое веб-приложение", другое дело "как-то стало интересовать программирование", и совсем третье "что нужно чтобы приняли стажером".
+2
Take_it_easyExpert
3 мая 2020, 08:09
я бы на 1 уровне не стал пытаться понять весь стек java технологий, а просто попробовал дойти хотя бы до 10-20 уровня и понять интересно оно мне или нет
+1
Tobi
3 мая 2020, 17:13
Блин, читаю хорстмана, большая книга, но тяжелая из-за обилия информации
0
Tobi
3 мая 2020, 17:29
Моя цель сначала - написать приложение, чтобы многие охренели, но это тяжело. Хотелось бы что-то с математикой связанное, но не понимаю, с чего начать, какие библиотеки существуют, какие начальные знания надобно иметь.
0
Pavlo Plynko Java-разработчик в CodeGym Expert
3 мая 2020, 17:34
что-то связанное с математикой, это тебе наверное изучение алгоритмов подойдет
+1
Tobi
3 мая 2020, 17:38
Возможно. Хочется забацать такое, что охренели все.
0
Tobi
3 мая 2020, 17:55
Павел, посоветовал бы читать всего хорстмана?
0
Tobi
3 мая 2020, 18:44
Просто не пойму, если прочитаю Хорстамана всего, например, 1 том, то можно ли двигаться уже к тем вещам, которые позволят мне стать стажером?
0
VladimirMaster
3 мая 2020, 18:47
Иди по пути, от простого к сложному, а не наоборот. У тебя ключевое слово - "Что-бы все охренели". Сделай для себя что-то для начала и постепенно наращивай оборот.
Резюмирую: Что-бы все охренели, тебе нужно дорасти до режима - "Могу, но не хочу". А у тебя сейчас режим - "Хочу, но не могу".
+1
Tobi
3 мая 2020, 18:50
Я понимаю, хочу много, а сделать могу толику. Ну, как я понял, без 1 тома мне не обойтись.
0
VladimirMaster
3 мая 2020, 18:56
Что-бы стать стажером, нужно прочитать и вбить в свои пальцы не одну книгу, не две и даже не три. Тебе нужно очень стараться, очень и пошустрее. Приготовься освоить Java Core, SQL, Spring, Hibernate, English не забывай учить также. Вообщем тебе есть чем заняться.
+1
Pavlo Plynko Java-разработчик в CodeGym Expert
3 мая 2020, 19:15
Я сам Хорстмана не читал. Но я бы советовал читать ) но не всего, страниц 200 прочитай, а дальше по обстоятельствам - если попрет то читай дальше, если будет в тягость - то нечего мучиться, попробуй другие источники. Еще попробуй посмотри Головача на ютюбе.
+2
Tobi
3 мая 2020, 19:18
Просто желание велико прогать, мне это нрвится, но я не могу понять, за что ухватиться, например, после того как пройду многопоточность. Хотел написать приложение, да вот связующего звена нет.
0
Pavlo Plynko Java-разработчик в CodeGym Expert
3 мая 2020, 19:24
Я, например, охреневают от игр этого чела:
https://javarush.com/projects/apps/34738
https://javarush.com/projects/apps/109766
это ж надо на таком примитивном движке такие шедевры сделать!
Раздел "Игры" бесплатный, можешь попробовать начать оттуда.
+3
Tobi
3 мая 2020, 19:31
Жесть, помимо всего этого, надо знать http=протоколы, сети.
0
Tobi
18 мая 2020, 22:14
Прости, можно вопрос? Вот читаю Хорстманна. Не все нравится, как излагается (иногда смотрю Шилдта). Дошел до протоколирования (всякие logger'ы). Не понимаю про них. Как-то сразу с try-catch-finally, try с ресурсами на протоколирование. Нужно ли его проходить, и вообще используется ли оно?
0
Justinian Judge в Mega City One Master
19 мая 2020, 03:31
Используется конечно.
По поводу нужно ли проходить, ты подходишь к изучению программирования несистемно, то есть ты сам решаешь что нужно, а что не нужно, поэтому и ответить можешь только ты сам.
Большинство из нас изучало джаву системно - на курсах, где за нас умные дядьки решали что учить, что не учить, когда учить и как учить.
Ты идешь своим путем, то хоть не сомневайся - хочешь читай, хочешь не читай, будь смелым и принимай быстрые решения.
+4
Tobi
19 мая 2020, 20:38
А чем отличается <T> от <?>, где T - тип? Вот никак не могу этого понять. В Шилдте есть пример на сей счет, где <?> позволяет сравнивать числа <Integer> и <Double> между собой в отличие от <T>.
0
Tobi
19 мая 2020, 20:38
А ты учился по курсам в youtube?
0
Стас Пасинков Software Developer в Zipy Master
20 мая 2020, 00:01
<T> - это дженерики
<?> - это wildcard
можете погуглить по запросу java generics vs wildcards
когда немного разберетесь и будут уже более конкретные вопросы - спрашивайте, не стесняйтесь :)
а то тема обширная, слишком много объяснять пришлось бы :)
+1
Tobi
20 мая 2020, 21:42
Эта хрень исп-ся в реальной работе? И еще не очень понятна аннотация @SuppressWarnings("unchecked")
0
Стас Пасинков Software Developer в Zipy Master
20 мая 2020, 22:01
да, и очень часто.
дженерики чаще, вайлдкарты - реже.
и это не "хрень", а оооочень мощный инструмент!))
знать дженерики - мастхев, кароч :)
насчет @SuppressWarnings("unchecked") - я просто ввел этот текст в гугле и первой же ссылкой был вопрос на стековерфлоу. там коротко рассказано что это и зачем, и дана ссылка на более полную информацию. можете почитать :)
+1
Tobi
20 мая 2020, 22:12
Ок, а аннотации вообще в коде юзаются? И еще, исп-ся ли в реальных проектах (даже на уровнях стажера) assert?
0
Стас Пасинков Software Developer в Zipy Master
20 мая 2020, 22:16
да. аннотации в ентерпрайзе (Spring фреймворк например) используются просто поголовно
assert как ключевое слово встречал редко (но встречал).
а вы что, ищите какие темы можно не учить? на чем можно смухлевать?
даже если вы их не выучите сейчас - вам их все-равно придется выучить рано или поздно
+1
Сергей Java Developer в Сбер Expert
20 мая 2020, 22:51
примерно столько аннотаций
+3
Tobi
22 мая 2020, 15:45
Вопрос, а вот есть, согласно Хорстманну, устаревшие коллекции типа Vector, Stack, Enumeration и т.д. Надо ли их знать?
0
Pavlo Plynko Java-разработчик в CodeGym Expert
22 мая 2020, 16:02
Нет. Можно прочитать определение и забыть. Если в жизни доведется столкнуться с этими штуками - не проблема будет их на ходу освоить. Но сначала нужно еще столкнуться 😂
+2
Tobi
22 мая 2020, 16:11
То есть еще всякие BitSet, Dictionary, HashTable, Properties, EnumMap и т.п. - все старье?
0
Pavlo Plynko Java-разработчик в CodeGym Expert
22 мая 2020, 16:22
Да. Можно знать просто, что что-то такое есть, и при необходимости разобраться детальней.
+1
Tobi
22 мая 2020, 17:14
Да, а нужно знать, за какое время происходит в каждой коллекции доступ, добавление и прочее говно?
0
Pavlo Plynko Java-разработчик в CodeGym Expert
22 мая 2020, 17:26
Абсолюьное время знать не нужно, но относительное иногда может пригодиться. Это уже перекликается с темой "сложность алгоритмов", на это можно уделить время для изучения. Но не в начале пути.
+1
Tobi
22 мая 2020, 17:31
На самом деле, сколько я изучаю Java(дальше еще ждут сериализация, потоки и прочее), у меня нет идей, а что бы такое сварганить, чтобы написать приложение первое, пусть убогое.
0
Tobi
22 мая 2020, 18:18
Я понимаю, что всех задолбал тут, но вот такой вопрос: а как лучше всего запоминать какие-нибудь самые важные классы, интерфейсы и их методы? Это же нереал. А то как-то писать кучу методов на бумажку и зубрить дело гиблое.
0
Take_it_easyExpert
22 мая 2020, 18:23
первое приложение? например консольный калькулятор
А зачем их запоминать? тебе не надо наизусть ничего учить, просто запомни, что есть такой класс который с такими методами делает то то, а названия потом если надо погуглишь.
+1
Tobi
22 мая 2020, 18:32
Ну, например, в Eclipse можно имплементацию посмотреть, но там иногда непонятки могут возникнуть. Вот, например, есть куча классов времени (Date, Calendar, Locale и т.п.). Все их, конечно, не запомнишь.
0
Tobi
22 мая 2020, 19:42
https://careers.epam.by/content/dam/epam/by/book_epam_by/JAVA_Methods_Programming_v2.march2015.pdf
Хорошая вещь али нет?
0
VladimirMaster
22 мая 2020, 20:41
Сделай паузу, почитай. 🙂 Книга, как-раз для тебя.
+1
Tobi
22 мая 2020, 21:14
Паттерны рано еще наверно.
0
Стас Пасинков Software Developer в Zipy Master
23 мая 2020, 02:09
Properties пригодятся. не такие уж они и старые
+1
Pavlo Plynko Java-разработчик в CodeGym Expert
23 мая 2020, 02:18
С придумыванием первого приложения, тоже гугл в помощь.
https://masterok.livejournal.com/550154.html
https://habr.com/ru/post/31113/
+1
Tobi
26 мая 2020, 23:48
А вообще с какой частотой выходят новые коллекции?
0
Pavlo Plynko Java-разработчик в CodeGym Expert
27 мая 2020, 05:34
Не в курсе, не подписан на рассылку :)
+3
Tobi
27 мая 2020, 21:00
Окапзывается, есть интерфейс Spliterator.
0
Сергей Java Developer в Сбер Expert
27 мая 2020, 23:23
Держи в курсе
+5
Tobi
31 мая 2020, 04:41
Вот такой вопрос, возможно, не кстати, но, тем не менее. Где порог вхождения ниже: в веб-программировании (html, css, js, php и прочее) или в Java?
0
Pavlo Plynko Java-разработчик в CodeGym Expert
31 мая 2020, 06:14
Чтобы точно дать ответ для конкретного человека, нужно попробовать: выполниь по одному туториалу оттуда, и оттуда. Т.к. кому-то будет легче одно, кому-то другое. Что будет понятнее и легче пойдет, там конкретно для тебя и будет ниже порог вхождения.
+2
Tobi
31 мая 2020, 09:47
Я хочу написать тетрис ради тренировки. Вот с чего мне начать? Я ведь даже не знаю, какие библиотеки использовать для графического отображения. Как быть в этой ситуации? Как найти те библиотеки, которые действительно нужны? Просто копировать тетрис - это второсортный опыт.
0
Ksenia MarioMaster
31 мая 2020, 09:55
а триндеть - первосортный?
+2
Tobi
31 мая 2020, 10:11
Почему триндеть? Я просто спросил про принципы.
0
Ksenia MarioMaster
31 мая 2020, 10:35
нууууу. "копировать тетрис - это второсортный опыт" - кагбе твоя утвердительная фраза.
Тебе же написали - нужно учить.
Как учить? учить курсом или вот те список что делать (спойлер, тетриса там нет).
Хочешь качественно и первосотрно - подумай какую зп хочешь и к-во твоих занятий - и вот твой бюджет на ментора.
А твой вопрос "хочу написать тетрис. Вот с чего мне начать?" звучит как "Думаю научится водить камаз, для тренеровки хочу поехать в магазин. Вот с чего мне начать"
+1
Pavlo Plynko Java-разработчик в CodeGym Expert
31 мая 2020, 13:04
Как вариант, найти другую игру, не тетрис, посмотреть какие там библиотеки, и потом самому написать тетрис, по аналогии)
Для джавы это могут быть библиотеки GWT, JavaFX и т.д. Но это все не очень актуально. "Професионально" онлайн игры наверно не на джаве пишутся.
Никто ж не знает что ты подразумеваешь под "действительно нужны". Те с которыми ты будешь в дальнейшем работать на работе? Или те которые будут оптимально взаимодействовать с сосвременными браузерами? Обрисуй свои цели, а то ведь в мире програмирования вообще, и в джаве в частности, очень много направлений. А так то тетрис уверен и в екселе можно написать, с пом. вижуал бейсика или еще каких-то скриптов.
+1
Стас Пасинков Software Developer в Zipy Master
31 мая 2020, 23:29
тетрис вроде как одна из больших задач на курсе, если я не ошибаюсь...
можете попробовать порешать задачки в разделе Игры, познакомиться с джаварашевским игровым движком, а потом написать уже свой тетрис на нем.
+3
Tobi
2 июня 2020, 13:50
Блин, а вот WeakHashMap используется? Или лучше тупо HashMap сразу юзать?
0
Сергей Java Developer в Сбер Expert
2 июня 2020, 16:24
В проектах не видел, на собеседованиях про нее иногда спрашивают. WeakHashMap и HashMap разные вещи.
+4
Tobi
6 июня 2020, 12:47
Вопрос такой: допустим, я хочу сделать календари. Я знаю, что есть дохрена библиотек времени. Мне надо тупо загуглить той или иной класс и посмотреть методы. не более? Просто в голове держать это просто супер нереал какой-то.
0
Tobi
6 июня 2020, 12:49
Я знаю, что есть классы Claendar, Locale, LocalDate, Date, TimeZone, но их в разы больше. То есть я могу использовать тупо google, как справочник, так ли?
0
Tobi
6 июня 2020, 13:31
Просто, как мне кажется, я использую совсем неправильную методику: беру класс, например, TimeZone, пишу примеры со всеми его методами, чтобы запомнить, но ведь рано или поздно это все забудется. Что Вы можете тут посоветовать?
0
Сергей Java Developer в Сбер Expert
6 июня 2020, 13:58
Не надо запоминать методы класса. Надо знать что он делает, для чего нужен, где используется.
+2
Tobi
6 июня 2020, 18:51
А что такое дескриптор файла? Что-то не гуглится ни фига.
0
Tobi
6 июня 2020, 18:53
А все нашел
0
Tobi
6 июня 2020, 19:26
Вот такой дебильный вопрос: Нужно ли очень хорошо уметь компилировать файлы, проекты, пакеты через командную строку?
0
Сергей Java Developer в Сбер Expert
6 июня 2020, 20:34
Для компиляции используют системы сборки: maven или gradle.
Если ты имеешь ввиду javac, то так никто не делает, пользуются системами сборки. В общих чертах знать процесс нужно.
+1
Tobi
12 июня 2020, 17:07
Не очень понятен смысл сериализации - расщепления и запоминания объекта на байты. Когда это требуется?
0
Tobi
12 июня 2020, 17:10
В рамках ожного компьютера похоже сериализация не нужна. Она по идее нужна, когда ты пересылаешь данные с одного компьютера на другое.
0
Сергей Java Developer в Сбер Expert
12 июня 2020, 17:12
Сериализация - сохранение состояния объекта (значений полей). Нужно для сохранения и восстановления состояния программы. Пример - сохранение в игре.
+1
Tobi
12 июня 2020, 17:15
Надеюсь, что на javarush это будет затронуто, а то в Интернете мало инфы по примерам.
0
Tobi
12 июня 2020, 17:17
А пауза, например, в змейке тоже является сериализацией?
0
Сергей Java Developer в Сбер Expert
12 июня 2020, 17:22
Нет. Потому что при сериализации ты сохраняешь состояние и можешь восстановить его потом. Паузы обычно не сохраняют состояние.
+1
Tobi
12 июня 2020, 17:31
Кстати, я понял, как тебе изучать ЯП. Я, дурак, тупо учил методы, писал примеры. Теперь понял, что раз потом будет больше информации, то уча эту информацию, забуду предыдующую. Всегда можно погуглить классы, методы. Поэтому кпд будет у меня высок теперь. Главное - понять принцип.
0
Tobi
12 июня 2020, 17:32
Хотя, как мне кажется, есть вещи, которые надо помнить наизусть.
0
Tobi
12 июня 2020, 18:30
А регулярные выражения java.util.regex используются?
0
Сергей Java Developer в Сбер Expert
12 июня 2020, 21:49
да
+2
Tobi
21 июня 2020, 08:41
Вот гляжу на этот список. Изучаю либо здесь, либо еще где-то. А вот если идей все равно не появится, то что тогда?
0
Ksenia MarioMaster
21 июня 2020, 10:00
какая идея? зачем гребцам идеи?
на стажировку не надо, на работе тоже.
может твое - болтать? и нужно закинуть джаву и пойти в менеджера ?
+4
Tobi
21 июня 2020, 10:04
Ой, опять кикимора ко мне пристала. Просто по идее изучения языка идеи должны возникнуть.
0
Tobi
29 июня 2020, 14:47
Вот смотри, ты мне примерный план набросал, то есть основу Java для веба. Вопрос такой, их надо учить последовательно? Просто сейчас прощупал Stream API. Думаю, перейти к GoF
0
Justinian Judge в Mega City One Master
29 июня 2020, 16:53
В принципе последовательно, чтобы не путать одно с вторым.
Но ты сам определяешь сколько и как и что учить.
И когда переходить к другим темам
+1
Микита Frontend Developer в Jellyfish.tech
29 июня 2020, 18:29
Привет, сначала хочу поблагодарить, что ты нас наставляеш на путь истинный так сказать😀
А еще буду признателен если подскажеш, минимальный стек для того, что б попасть на Trainee/Junior, закончил учебу, поэтому не оч много времени для прям глубокого погружения, то есть я понимаю, что нужен Spring,Maven,Git,MySQL но как это усвоить в кротчайшие сроки(не ищу волшебной таблетки, просто хотел бы узнать на чем стоит фокусироватся в первую очередь, а что уже потом можна будет подтянуть)
+1
Tobi
29 июня 2020, 18:36
Чувак, мне еще очень далеко до этого. Вот прямо совсем.
0
Микита Frontend Developer в Jellyfish.tech
29 июня 2020, 18:55
Ну если что то писал я Justinian а так то я помню как видел чуваков с большими левелами, для меня 20 лвл+ выглядило солидным, но если будешь каждый день уделять внимания обучению, все в тебя получится, хотя временами пипец как не просто, да и надеюсь, что и у меня все получится😄
+1
Tobi
29 июня 2020, 19:13
Просто у меня в колокольчике была единица в красном кружке, поэтому думал, ты это мне написал.
0
Tobi
29 июня 2020, 19:14
Я не обучаюсь конкретно по Javarush, а много ресурсов использую. В данный момент прохожу курсы OTUS.
0
Микита Frontend Developer в Jellyfish.tech
29 июня 2020, 19:17
И как тебе?
Сравнить с JavaRush ты конечно не сможеш, но интересно какая там подача материала
+1
Tobi
29 июня 2020, 19:27
Пока прохожу подготовительный курс, точнее повторяется то, что я уже знаю и отточил очень хорошо, как мне кажется, но встречал темы, которые лично мне должен кто-то разжевать. Я скачал слитые курсы. Судя по отзывам, вроде неплохие курсы очень. Однако там не все говорилось, что я знал. Пока ни разу не встречал про блоки инициализации, например, ну, а остальное нормально разжевывается. А вот уже курс Java-разработчик нормально. Там примерно по каждой из 32 тем отводится по 2 часа вебинара. Преподаватели - разработчики с большим стажем.
0
Tobi
29 июня 2020, 19:29
Но опять же, практика нужна. Просто в проге бесит то, что нужно сначала практиковаться, а затем набирать теорию и т.д. до определеонного момента, а потом уже писать простенькое приложение.
0
Микита Frontend Developer в Jellyfish.tech
29 июня 2020, 19:36
Почему бесит, как по твоему ты должен получить знания для того что бы написать что-то крутое?)
+1
Tobi
29 июня 2020, 20:27
Потому что иногда мотивация падает.
0
Микита Frontend Developer в Jellyfish.tech
29 июня 2020, 20:30
Думаю у всех есть такое, но мотивация штука крайне переменчивая, постянство действий и самодисциплина важнее, что я думаю нужно в себе так же прокачивать, хотя мне тоже еще далеко до уровня который меня б в этом деле устраивал
+2
Ksenia MarioMaster
30 июня 2020, 05:59
потамушо ты нытик.
+2
Tobi
30 июня 2020, 10:15
Опять ты
0
Tobi
30 июня 2020, 12:42
Вопрос такой: набрал javac -help, и появилось множество команд javac'а. Нужно ли знать, что каждая делает?
0
Justinian Judge в Mega City One Master
30 июня 2020, 13:03
если так поступишь и ты действительно будешь их знать, станешь первым джавистом которого я знаю, который знает все команды javac
Программирование это не про "знать".
Программирование это про уметь.
Примеры заданий от простых к сложному:
- написать алгоритм, вычисляющий факториал без оптимизаций/с оптимизациями;
- написать алгоритм сортировки любой;
- написать несколько самых быстрых алгоритмов сортировок, на бумаге;
- написать реализацию линкедлист/хэшсет;
- написать BST/RBT;
- реализовать тот или иной паттерн (около двух десятков);
- написать консольное приложение, которое позволяет вводить данные от пользователя, обрабатывать их, и выводить результат, ну например система Автомобильный дилер. Должно быть несколько сущностей, у дилера может быть много автомобильных салонов. А в них много разных Автомобилей. С консоли наполнять салоны автомобилями (которые имеют ряд параметров, Марка авто, Цвет, Тип авто и тд), сортировку/фильтрацию по цвету/наличию в салонах и тд. Редактировать авто и тд. Использовать паттерн MVC и др паттерны;
- написать CRUD на чистом JDBC, пару сущностей, связь 1-m или m-m, использовать БД (MySQL/PostgreSQL);
- написать CRUD тот же, но на хибернейте, написать юнит тесты на in-memory БД;
- тоже самое (CRUD) написать только на Spring MVC, Spring Data,;
- тот же СRUD только на Спринг буте + REST;
это все без фронт-енда.
- написать CRUD на сервлетах и jsp/html/js с фронтом;
- написать CRUD на сервлетах и jsp/html/js с фронтом + паджинация, фильтрация, интернационализация, роли, секюрити, продумать сервисы:
- тоже самое что предыдущий пункт только со Спрингом , можно бут, + Рест
это самые базовые вещи, своеобразные хелло-ворлды, которые прогер может усно рассказать и детально по шагам как он и что сделает или сядет и без гугля(или самом минимальном) это быстро напишет.
Знания команд javac поможет тебе при выполнении хотя бы одного с этих заданий?
Ответ - нет.
Программирование это навыки.
Знания должны быть, но не все одинаково полезны.
+3
Tobi
30 июня 2020, 13:30
Тогда извините. Иногда такие вопросы тупые задаю
0
Justinian Judge в Mega City One Master
30 июня 2020, 17:58
Если есть вопрос чего не задать. Ты должен схватить суть, у тебя 99% вопросов, нужно ли то, нужно ли другое.
В программировании так не работает.
Ты должен брать задачи и решать. В процессе сам поймешь что нужно или нет.
Отталкиваться от практики, а не теории.
+4
Ksenia MarioMaster
30 июня 2020, 20:13
я тоже, когда вижу думаю "Опять ты".
хвастался слитыми курсами, но вижу плохие - тебе не помагают)
0
Tobi
30 июня 2020, 20:30
А типа так быстро должно быть?
0