Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
510 20 99

Java #12 thread /java/ Аноним # OP 10/09/19 Втр 23:30:28 14714751
image.png (518Кб, 1460x1152)
1460x1152
image.png (487Кб, 739x710)
739x710
image.png (461Кб, 1200x756)
1200x756
Прошлый >>1439678 (OP)

Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?

А: Нет, не поздно.

Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?

A: Да хуй знает, от тебя зависит насколько ты толковый и умеешь себя продать.

Q: Хули все книги на английском?

A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.

Q: Что скажете за джавараш?

Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. Если усидчивый, читай книги и делай тестовые задания. В любом случае решать тебе.

https://github.com/qqqlll/Java-Thread/wiki
Аноним 10/09/19 Втр 23:54:06 14714882
>>1471475 (OP)

Лол, я умудрился скрыть прошлый тред и всё удивлялся, почему джависты не сидят на дваче.
Аноним 11/09/19 Срд 00:27:59 14715013
>>1471488

А, так он в бамплимит улетел.
Аноним 11/09/19 Срд 00:47:45 14715104
Перекатываю свой вопрос из прошлого треда.

Spring Boot, PostgreSQL, JPA/Hibernate.

Нужно каким-либо способом максимально быстро впихивать сущности в таблицу, втихую игнорируя те, которые не удовлетворяют UNIQUE на несколько столбцов. Очень хочется использовать ON CONFLICT DO NOTHING, но native-запросы не катят, потому что ID для этих сущностей генерируется хибернейтом по последовательности + у этих сущностей достаточно много полей и есть OneToMany, велосипедить обработку всего этого я не собираюсь.

Подробнее >>1471302
Аноним 11/09/19 Срд 01:29:52 14715205
>>1471471
Курс в вузике. Ходить я на него конечно же не буду, но разъебать хочу. Раст тоже собираюсь, аффинные типы сила.
Аноним 11/09/19 Срд 02:04:43 14715316
>>1471510

>>сохранение через хранимую процедуру
>Тоже, насколько я понимаю, в обход хибернейта. Не катит.
Я не помню, как хибернейт с хранимыми процедурами работает. Глянь. Может прокатить.
Тебе зачем тут супер-хибернейт-то нужен?
Тебе проинсерченные данные отдать надо?
Или ты все равно перечитаешь перед выдачей на клиент?

>>С другой стороны что тебе мешает трай/кетчем обернуть каждый персист
>То, что эксепшн падает на флаше
Да, его к персисту в трай, ясен хер.

>И, если я не ошибаюсь, как только в транзакции происходит ошибка (даже если словить эксепшн), она пачкается и её больше нельзя закоммитить, только новую открывать.

Ну, так-то да.
Session's documentation states that If the Session throws an exception, the transaction must be rolled back and the session discarded. The internal state of the Session might not be consistent with the database after the exception occurs.

1. Если у тебя вся транзакция заключается в инсерте этих данных (т.е. нет ничего дополнительного, что надо коммитить/откатывать), то можно было бы каждый инсерт делать транзакцией. Тогда у тебя бы отваливались только тх с дубликатами.

2. Тебе анон уже дал правильный совет. Я этим никогда не пользовался, поэтому не воспринял его.
Но ты-то мог бы и погуглить

Тут сразу выйдешь на раздел.
https://docs.jboss.org/hibernate/core/3.3/reference/en/html/batch.html#batch-statelesssession

а тут для современной версии то же самое найдешь, тут код подробнее
https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/chapters/batch/Batching.html
Аноним 11/09/19 Срд 03:01:13 14715467
>>1471531
>было бы каждый инсерт делать транзакцией.
Ты ебанулся? По твоему транзакция это как int объявить?
Хиберо батч вероятнее всего не поможет.
>>1471510
Если ты не хочешь марать ручки, то нахуй ты вообще полез? Хибер не подходит для хуйлоада, он удобен для доставать и маппить (и то не всегда), апсерт большого количества данных валит хибер к хуям. Бери jdbctemplate и юзай нэйтивы. Проще один раз разобраться с базой чем страдать и жрать кактус
Аноним 11/09/19 Срд 03:16:38 14715508
>>1471546
По твоему лексикону сразу видно, что ты горишь желанием помочь.
Заодно видно, как много ты знаешь сам.
Спасибо, о гуру.
Аноним 11/09/19 Срд 03:44:28 14715629
>>1471550
JdbcTemplate, я тебе уже помог. Ты считаешь, что есть волшебная аннотация которая поможет тебе сделать чудо, но это не так, потому что хибер - это фреймворк который призван упростить жизнь разработчиков, а значит там масса проверок и абстракций (вокруг jdbc внезапно, как по твоему, ты быстрее будешь бежать в трусах и майке или шубе?). Хибер хорош для чтения (и то не всегда). Так что сорян, бро, что у меня для тебя нет золотого молотка
Аноним 11/09/19 Срд 04:13:00 147157110
>>1471510
Entity S:
>@Column(unique = true)
Repo:
>default S saveSilent(S ent) {
>try {
> return save(ent);
>} catch(Throwable ex) {
> return null;
>}
Аноним 11/09/19 Срд 04:59:47 147158011
>>1471546
Двачую этого господина. Хибер - для не могущих/не успевающих базу. Если через него пытаются проектировать таблицы, получается лютый пиздос. Я сейчас устроился на проект. И знаешь что? Они там все ебанулись в край и пишут схему бд через хибер, чтобы потом под неё подстроить приложение. Как несложно догадаться, получается ебаный пиздец.
Аноним 11/09/19 Срд 09:47:00 147164212
>>1471520
А что тебе в Яве не понятно и вообще на каком ты сейчас уровне?
Аноним 11/09/19 Срд 10:18:03 147165113
>>1471642
Ну модель памяти например на шарю, не особо понимаю как у вас дела с женериками в 2019 обстоят, хз кароч, сложно так из головы что-то называть
Аноним 11/09/19 Срд 11:23:01 147167614
Почему в ArrayList не определен оператор []
Аноним 11/09/19 Срд 11:30:22 147168515
Аноним 11/09/19 Срд 11:32:12 147168916
Аноним 11/09/19 Срд 11:32:41 147169117
Аноним 11/09/19 Срд 11:34:40 147169318
>>1471691
Почему ты так решил? Зачем такие сложности при работе с массивом?
Аноним 11/09/19 Срд 11:35:03 147169519
Аноним 11/09/19 Срд 11:36:42 147169720
Аноним 11/09/19 Срд 11:36:44 147169821
>>1471676

Потому что это класс из стандартной библиотеки, а не встроенный тип. В жабе не перегрузки операций, соответственно, и у ArrayList не может быть такой операции.
Аноним 11/09/19 Срд 11:37:26 147169922
Аноним 11/09/19 Срд 11:42:58 147170623
>>1471699
>список
Жирдяй

>>1471698
Уже для своих библиотек могли бы снять ограничение
Аноним 11/09/19 Срд 11:43:53 147170824
>>1471706
>ArrayList
>Не список
Точно ебтонутый.
Аноним 11/09/19 Срд 11:45:12 147170925
>>1471708
Прежде чем такое писать загугли: t,kz c ltnmvb
Аноним 11/09/19 Срд 11:46:26 147171026
>>1471708
Хватит, пошути и ладно
Аноним 11/09/19 Срд 11:56:37 147171627
>>1471706

Могли бы, да не стали. Решили, что это сильно усложняет язык, что противоречит его идеологии.
Аноним 11/09/19 Срд 13:13:45 147173628
>>1471531
>хранимыми процедурами
Да тогда уж проще нативными инсертами.

>Тебе зачем тут супер-хибернейт-то нужен?
Генерация ID по последовательностям с кэшированием полученных значений и OneToMany. Велосипедить всё это нет ни времени, ни желания (и техдир тоже против).

>можно было бы каждый инсерт делать транзакцией
Ну это вообще пушка.

>https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/chapters/batch/Batching.html
Покопаю, спасибо, но подозреваю, что не спасёт.

>>1471546
>апсерт большого количества данных валит хибер к хуям
>>1471562
>там масса проверок и абстракций
Без необходимости проверять UNIQUE он вполне быстро и удобно умудряется напихивать.

>>1471571
>catch(Throwable ex)
И придётся пересоздавать транзакцию на каждом конфликте.

>>1471580
>Они там все ебанулись в край и пишут схему бд через хибер, чтобы потом под неё подстроить приложение
Воистину пиздец.
Аноним 11/09/19 Срд 13:22:29 147174129
Анончики как в спринге сложить 2 переменных идентифицированных их именами???
Аноним 11/09/19 Срд 13:43:46 147175130
>>1471741

Создай интерфейс BaseMathService, заимплементь его и заинжекти в сервис, где это всё нужно. Делов-то. А, ещё напиши сущности для значений.
Аноним 11/09/19 Срд 15:23:34 147179931
>>1471562
>Хибер хорош для чтения
Для простого чтения и для простой записи на минуточку.
Аноним 11/09/19 Срд 15:29:00 147180532
>>1471562
Почему у тебя на пустом месте разрывает пукан?
1. мне это вообще не надо было, я мимо проходил
2. я тебе сказал "спасибо"
Хули ты продолжаешь визжать пилорамой?
молотки, какие-то, чудеса, какие-то непрошенные мнения для чего нужен хибер, а для чего не нужен
Тебе не с кем поговорить, ты приходишь излить душу на двач?
Аноним 11/09/19 Срд 15:30:56 147180733
>>1471580
>Они там все ебанулись в край и пишут схему бд через хибер
К сожалению, распространенное явление.
Хули, ООП учили, а про 3НФ - нет.
Вообще с базой мало кто работать нормально умеет.
Почти ни в одном чужом проекте не вижу скриптов, которые соберут пустую актуальную базу
>Не, ну а чо, ща дамп сделаем, выкинем там актуальные данные блаблабла
Аноним 11/09/19 Срд 15:32:30 147180934
>>1471510
saveOrUpdate(entity)
Не пробовал?
Аноним 11/09/19 Срд 15:32:35 147181035
>>1471716
Потом выяснится, что он спрашивал, почему ArrayList<T>[] нельзя создать.
Аноним 11/09/19 Срд 15:35:39 147181236
>>1471810

Но ведь можно, и ArrayList тут вообще не при чём.
Аноним 11/09/19 Срд 15:35:47 147181337
>>1471736
>>можно было бы каждый инсерт делать транзакцией
>Ну это вообще пушка.
Если у тебя там столько данных приходит от клиента, то
1. возможно, у вас какая-то хуевая логика
2. хибернейт в любом случае будет бутылочным горлышком из-за всех своих преобразований красивых объектов в простой ждбц
хуярь этот кусок нативными инсертами, не мучай жопу
Аноним 11/09/19 Срд 15:36:59 147181438
>>1471812
Создай, расскажи, что получилось
Аноним 11/09/19 Срд 15:43:26 147181839
>>1471814

Очевидно, что ОЗУ закончилась.
Аноним 11/09/19 Срд 17:25:23 147187140
>>1471818
Добавил тебе за щеку, проверяй
Аноним 11/09/19 Срд 19:27:01 147193841
>>1471510
Финита ля комедия, ваш покорный слуга обосрался.

Для контекста, архитектура такая: два сервера, приёмник и основной.
Приёмник максимально быстро ловит тонну данных с юзеров (те самые персисты без проверки уникальности), после чего основной себе их пачками перетаскивает к себе, откидывая дубликаты.

Процесс перетаскивания состоит в "получить у приёмника очередную пачку, запихать себе, удалить пачку с приёмника" и оказался невероятно медленным для, вроде бы, не самых крупных пачек (256 основных элементов + 10-20 дочерних у каждого) - что-то около 40 секунд, что ни в какие рамки не лезет.

Естественно, я сразу решил, что проблема именно в медленном запихивании и "временно" пофиксил через попытку просто запихнуть всё, а если ругнулось - откатываться на ручные проверки. Однако, как оказалось после профессионального профилирования через System.currentTimeMillis() и решения ребусов вида "какого лешего пачки на 256 через одну дублируются, а на 64 работают нормально", виноваты были получение и удаление. Получение (с локалхоста!) вроде бы ну совсем никчёмной пачки занимало 20 секунд - и, конечно же, виноват оказался Lazy-fetching на приёмнике, который был пофикшен через LEFT JOIN FETCH. Но вот каким образом удаление какого-то промежутка ID занимало ещё 20 лишних секунд - в моей голове уложиться не могло. Переписал на native-запрос - не помогло вообще ни разу.

И, конечно, я и предположить не мог, до этого работав исключительно с MariaDB, что постгрес не делает индексы по внешним ключам.

Таким образом, один индекс дал ускорение примерно в 40 раз и производительности на данном этапе полностью хватает.

Всем спасибо, все свободны.
Аноним 11/09/19 Срд 19:31:50 147194142
Как часто вы используете UML в своей работе? Что порекомендуете почитать про java ee?
Аноним 11/09/19 Срд 19:34:26 147194443
image.png (258Кб, 507x338)
507x338
Аноним 11/09/19 Срд 19:42:51 147195344
>>1471944

Справедливости ради отмечу, что я только ответ написал, исходный пост был от другого анона. Не верь, мне пох
Аноним 11/09/19 Срд 21:13:34 147199445
>>1471475 (OP)
Объясните плз в чем прикол 2-ой пикчи. Где в итоге логика? Почему такое длинное наследование? и в чем смысл3-ей пикчи.
80_АйКю_хтмл_програмист
Аноним 11/09/19 Срд 21:24:14 147200446
>>1471994

Вторая - типо в жабе принято бизнес-логику размазывать на кучу порой лишних абстракций (оверинжиниринг). Третья - сам хз.
Аноним 11/09/19 Срд 21:47:06 147202147
>>1471994
Куча оберток/абстракций над хуйней которая просто запросы в базу шлет. Тот случай когда йоба-спринг-суньёр-деволепер-хуйвжопе не может в sql сложнее select * from jopa.
Аноним 11/09/19 Срд 22:01:51 147203148
>>1471994
>чем смысл3-ей пикчи.
остров Ява
Аноним 11/09/19 Срд 23:15:10 147206549
>>1471651
Про модель памяти есть хорошее видео https://youtu.be/iB2N8aqwtxc но это уже advanced level, но если модель памяти в С++ знаешь, то тут тоже все поймешь. Можно конечно спеку почитать, но там такой матан что лучше не надо. хотя если С++ 17 твоя любимая литература - это тебе тоже зайдет

Сложно что-то такое посоветовать, на конкретную тему можно дать конкретный совет, а тут х.з. Посмотри что https://stackoverflow.com/questions/1749217/rapid-switch-to-java-for-an-experienced-c-developer советуют.
Аноним 11/09/19 Срд 23:23:33 147206950
>>1471994
С чего ты взял, что это наследование???
Аноним 11/09/19 Срд 23:23:54 147207051
>>1472031
Этак ты его научишь и язык программирования правильно называть, без всяких ДЖ
Аноним 11/09/19 Срд 23:25:22 147207152
>>1471706
>Уже для своих библиотек могли бы снять ограничение
В Python, Go - есть встроенные коллекции которые действительно поддерживают особый синтаксис, недоступный для сторонних реализаций. В Java другой подход, вся стандартная библиотека не привилегированна, использует только то, что доступно всем. Но и ты можешь взять другую реализацию List и использовать вместо ArrayList и весь код останется работоспособным.
Например в Go - map не сортированный, а сторонний TreeMap - не поддерживает синтаксис встроенного map и так просто заменить его на TreeMap нельзя плюс там еще дженериков нет, что только добавляет радости.
Аноним 11/09/19 Срд 23:42:24 147207353
>>1471736 >>1471938
Я понял что горло этой бутылки ты нашел. Но хотелось бы предложить ещё вариант решения.[ /spoiler]
>И придётся пересоздавать транзакцию на каждом конфликте.
Таки да, а шо ты хотел? Хибер в плане использования более-менее недубовых запросов люто сосет, иных способов добавить сущность кроме как EntityManager.persist всего три с половиной на весь зоопарк юзкейсов.
Гугл советует использовать над классом @SQLInsert. Разумеется если не пользоваться хваленой мобильностью этого говна между разными субд каждую пару часов. Энивей, идея с этой аннотацией хуевая - ибо так ты проебешь возможность использовать persist() нормальным образом.
The only true way в данном случае это native query. А хули ты хотел, транзакционность ему в JPA подавай. Ещё и чтоб через PersistenceContext для каждой сущности insertы менять под конкретный случай. Тогда уж лучше сразу использовать JDBC с хранимыми процедурами, и не ебать себе мозг.
Аноним 11/09/19 Срд 23:43:40 147207554
>>1472073
Ох как смачно-то я с разметкой обосрался, господа.
Аноним 11/09/19 Срд 23:56:24 147207855
>>1472073
>@SQLInsert
О, вот за эту вот наводку вообще прямо от души. Выглядит очень интересно. Но что-то у меня есть некие сомнения насчёт того, как оно будет обрабатывать OneToMany в случае проигноренных строк.
>так ты проебешь возможность использовать persist() нормальным образом
Это как? Поведение "игнорировать UNIQUE-конфликты при сохранении" для этой сущности ультимативно.
Аноним 12/09/19 Чтв 00:04:24 147208056
>>1472078
Тогда это подходящее решение, да. Но все же, использовать native query предпочтительнее. Без того чтобы заглянуть в класс сущности, такое поведение является неочевидным и может привести к войне между командой и ветряными мельницами.
Аноним 12/09/19 Чтв 01:09:31 147208757
>>1472073
>@SQLInsert
The parameter order is important and is defined by the order Hibernate handles properties. You can see the expected order by enabling debug logging, so Hibernate can print out the static SQL that is used to create, update, delete etc. entities.
блядь блядь блядь
шел 2019-год

Я привык, что в хибернейте есть всякое говно, но, блядь, это уж дальше некуда
Аноним 12/09/19 Чтв 04:24:18 147210558
jvirt.jpg (36Кб, 300x225)
300x225
Объясните, какие интерфейсы должна предоставлять ява-машина для кода? Какими системными функциями, самыми базовыми, каким самым минимальным набором команд она должна обладать?
Аноним 12/09/19 Чтв 08:07:20 147213359
>>1472105
Гугли спецификацию JVM. Собственно, либо реализация реализует эту спецификацию, либо нет. Соответственно, либо она имеет право называться java-машиной, либо нет.
Аноним 12/09/19 Чтв 09:15:57 147215060
Аноним 12/09/19 Чтв 09:19:03 147215161
>>1472150
Джамайка или Ямайка? )

>>1472133
А более конкретно? Например, ядро Линукс имеет вполне определённый набор функций. А ява? Я вроде в тематическом треде...
Аноним 12/09/19 Чтв 09:23:24 147215262
>>1472151
>Джамайка или Ямайка? )
Ямайка, Остров Ява это устоявшиеся исторические названия.
Для Джавы такого нет, так что просто воспроизводишь английское произношение.
Аноним 12/09/19 Чтв 09:40:53 147215563
>>1472152
Может мне и улыбаться, как у американцев принято? И ввв-наУкраину наведаться?
>устоявшиеся исторические названия
Да, история. Вполне достоЙная; и логичная. )

[j] - это и-краткая, поди в МФА загляни. А "дж" - это [ʤ]. Криво и неудобно. То-ли дело Йавочка. )
---

Короче, ответь на вопрос лучше - где найти базовый набор функций jvm? На оф. сайте куча англ. текста и псевдоассемблер какой-то, а мне нужны системные вызовы..
Аноним 12/09/19 Чтв 10:04:17 147216064
>>1472155

Создатель перла тоже был филологом. Ты это, осторожнее, а то по его стопам идёшь.
Аноним 12/09/19 Чтв 10:15:22 147216365
>>1472155
>Короче, ответь на вопрос лучше - где найти базовый набор функций jvm? На оф. сайте куча англ. текста и псевдоассемблер какой-то, а мне нужны системные вызовы..
https://docs.oracle.com/javase/specs/jvms/se8/html/

Нет там никаких "системных" вызовов. Есть байткод, есть спецификация как каждая инструкция байткода должна выполняться, как должны классы грузится и т.д. А как ты будешь это реализовывать, интерпретатором, JIT, AOT или вообще железом - дело твоё.
Аноним 12/09/19 Чтв 10:59:23 147217866
>>1472163
Блин, получается, эта байда платформозависимая? Я предполагал почему-то, что ОС абстрагирует код от своей реализации.
Аноним 12/09/19 Чтв 11:14:25 147218367
JVM умеет инлайнить методы?
Аноним 12/09/19 Чтв 12:16:34 147220968
>>1472178
>эта байда платформозависимая?
Сама JVM? Конечно.
Неожиданно, да?

>ОС абстрагирует
Какая ОС? Что ты несёшь?
Аноним 12/09/19 Чтв 12:31:26 147221569
>>1472209
>да?
Да. ) Я изначально почему-то думал, что кроссплатформенно всё целиком, а не только вычислительный модуль и язык. Всё, ухожу с ветки.
Аноним 12/09/19 Чтв 12:54:06 147222670
>>1472215
Так не бывает.

>Всё, ухожу
Попутного ветра тебе в спину, лол.
Аноним 12/09/19 Чтв 13:25:05 147223871
>>1472226
>ветра
Я, чтобы не мешать. Шаманит тут...
Аноним 12/09/19 Чтв 14:43:09 147228172
Что-о не нашел рекомендаций по IDE в ФАКе.
Хорсман в книге ссылается на eclipse. Установил, но появился вопрос может что получше есть?
Аноним 12/09/19 Чтв 15:03:10 147229973
>>1472281

IDEA, других ide не существует.
Аноним 12/09/19 Чтв 15:18:47 147231274
>>1472150
Пидор, ты по-русски пытаешься говорить или на ебаном суржике?
Если на ебаном суржике, то хоть через твердый знак Яву пиши, насрать.
Насрать тебе врот, причем
Аноним 12/09/19 Чтв 15:19:58 147231375
>>1472152
>Ява это устоявшиеся исторические названия.
>Для Джавы такого нет
Пиздец, с таким уровнем интеллекта что именно тебе подсказало, что ты сможешь программировать?
Аноним 12/09/19 Чтв 15:20:48 147231476
>>1472155
>где найти базовый набор функций jvm?
Тебе уже сказали: нет никакого "базового набора". Есть спецификация. Там все написано.
Аноним 12/09/19 Чтв 15:24:28 147231677
Аноним 12/09/19 Чтв 15:25:03 147231778
>>1472299
О, вот и хуесосы подтянулись
Аноним 12/09/19 Чтв 15:26:40 147231879
>>1472281
>может что получше есть
"Получше" это решаешь лично ты.
Поставил эклипс, поколупайся в нем.
Рядом поставь идею, поколупайся в ней.
Рядом поставь нетбинс (лично я не советую, но, вдруг, тебе понравится), поколупайся в нем.
Никогда не слушай хуесосов, визжащих "Х - единственная ИДЕ".
Внезапно, работать в ней тебе, а не хуесосам, так что выбирай сам.
Аноним 12/09/19 Чтв 15:31:18 147232080
>>1472316
У меня есть ты, сладкая булочка
Аноним 12/09/19 Чтв 15:34:55 147232181
26wti8Vhjyk[1].jpg (496Кб, 1127x1080)
1127x1080
UFPS1IV8g8o11[1].jpg (148Кб, 503x711)
503x711
Аноним 12/09/19 Чтв 15:37:47 147232382
Аноним 12/09/19 Чтв 15:57:14 147233383
Посоветуйте плиз хорошую серию каких-то уроков по созданию онлайн-магазина(что-то такое) на Java ee
Может, кто-то недавно в этом гавне колупался. Мне просто надо за неделю все успеть, чтоб взяли на весну, в которой я уже понимаю, лол.
Для петухов, видео уже не смотрю особо, но когда смотрел - на всем очень годном и современном и тысячи просмотров нет и хуй откопаешь.
Аноним 12/09/19 Чтв 15:58:25 147233584
>>1472333
Просто веб проект какой-то, чтоб по-быстрому все разжевали
Аноним 12/09/19 Чтв 16:04:00 147234085
>>1472333
Чтобы взяли нужно взять. Понимаешь меня?
Аноним 12/09/19 Чтв 16:42:25 147235786
Аноним 12/09/19 Чтв 16:51:14 147236287
>>1472318
Двачую адеквата
Можно хоть на VSCode поставить плагины, хоть в виме писать флаг тебе в руки, лишь бы самому нравилось
Аноним 12/09/19 Чтв 16:53:24 147236488
>>1472321
Старая пикча, второе кококо уже можно не писать, а NetBeans мало кто юзает. Давай что нить свежее
Аноним 12/09/19 Чтв 17:18:03 147237289
Аноним 12/09/19 Чтв 17:19:49 147237390
Аноним 12/09/19 Чтв 18:34:48 147239391
>>1472071
>вся стандартная библиотека не привилегированна, использует только то, что доступно всем
Кроме Unsafe.
Аноним 12/09/19 Чтв 18:39:15 147239492
Аноним 12/09/19 Чтв 19:27:14 147241093
>>1472394
Зачем ты так о своей мамаше?
Аноним 12/09/19 Чтв 20:04:44 147243294
image.png (122Кб, 226x316)
226x316
>>1471475 (OP)
Наиболее общий, универсальный стак технологий на 2020 год по Java в разработке приложений уровня enterprise (имея какой стак технологий, можно будет в дальнейшем доучивать отдельные технологии, в зависимости от проекта)? Просвети, о великий анон!
Аноним 12/09/19 Чтв 20:48:53 147246095
>>1472313
>>1472312
Гошники триггерятся от дженериков, а джавабилы от джава.
запишем
Аноним 12/09/19 Чтв 20:49:22 147246196
Аноним 12/09/19 Чтв 20:59:00 147246697
image.png (968Кб, 900x900)
900x900
>>1472393
Ну да хотя Unsafe все же доступен для тех кто пикрилейтед, плюс там есть еще интризики, нэйтив методы и возможность курочить стандартную либу под свои нужды например ThreadLocalRandom.

Но изначальный вопрос был про возможности синтаксические обращение к элементам листа по []. И тут сторонние библиотеки и стандартная библиотека равны.
Аноним 12/09/19 Чтв 21:30:09 147248098
Аноним 12/09/19 Чтв 21:31:08 147248199
>>1472432

Spring/Java EE, Hibernate/JDBC, Oracle
Берёшь такой и смотришь вакансии джавистов на hh
Аноним 12/09/19 Чтв 21:38:21 1472487100
>>1472481
на hh залупа. Там объективности 0 (возвел в абсолют). Я же спрашиваю у тех, кто на самом деле занимается этим.
Аноним 12/09/19 Чтв 21:40:45 1472490101
>>1472487
Ну, я назвал стек со своей работы. Из Java EE отдельно отмечу EJB.
Аноним 12/09/19 Чтв 22:07:35 1472498102
Аноним 12/09/19 Чтв 22:19:49 1472506103
>>1472490
тохда низкий паклён
Аноним 12/09/19 Чтв 22:28:34 1472509104
>>1472490
правда что java ынтерпрайз плохо спят ночью ?
Аноним 12/09/19 Чтв 22:33:36 1472513105
Аноним 12/09/19 Чтв 23:17:14 1472535106
>>1472513

Ну а ты как думал? В одночасье легаси не переписывается, да и новый функционал пилить нужно, на переписывание старого тупо нет времени. Новый проект на этом говне мамонта никто писать конечно не будет, да.
Аноним 12/09/19 Чтв 23:19:22 1472536107
>>1472460
Не рвутся, а безошибочно определяют уебка, которому отказывают на любом собеседовании, а в повседневной жизни ссут в рот
Так что не сдавайся
Не усложняй нам задачу распознать в тебе мудака
Аноним 12/09/19 Чтв 23:40:27 1472546108
Груви же скриптовый язык? А если написать на нем всю прогу, то ее и компилировать не надо, получается?
Аноним 12/09/19 Чтв 23:45:58 1472549109
>>1472546
Груви вполне себе компилируется в классы.
И вообще, и со статической проверкой типов.

Но, могут быть и просто скрипты на груви. Это отдельная тема.
Они не очень годятся для сложных программ, но, что-то небольшое очень даже можно написать, и оно будет работать без компиляции - просто запускаешь скрипт, как питон, например.

Или можно из груви/джава программы динамически вызывать скрипты.
Аноним 12/09/19 Чтв 23:50:08 1472550110
>>1472536
>java.lang.PukanBlowException: Джава - это обидно
> at ru.tupoi.Mudak(Mudak.java:3681)
Да у вас батенька эксепшн!
Аноним 13/09/19 Птн 00:30:28 1472567111
>>1472550
Спасибо, что поймал
Аноним 13/09/19 Птн 08:28:52 1472650112
В чем преимущества Spring над голой javaEE, если есть сервер приложений?
Аноним 13/09/19 Птн 08:42:10 1472661113
>>1472650
что подразумевается под сервером приложений?
Аноним 13/09/19 Птн 09:13:21 1472671114
Аноним 13/09/19 Птн 09:24:47 1472673115
>>1472671
могу лишь сказать, что в спринг уже встроен сервер приложений Tomcat. По крайней мере, если ты запускаешь со Spring boot
Аноним 13/09/19 Птн 09:37:28 1472677116
>>1472650
Стек у них в целом аналогичен, но EE - это только набор спецификаций с кучей разных реализацией, а Spring - уже готовая реализация, которая гарантированно будет работать одинаково везде. Развивается спринг за счёт этого побыстрее. И у спринга есть удобные фичи вроде бута, которых у EE нет.
Аноним 13/09/19 Птн 09:52:36 1472683117
>>1472650
Примерно во всем.

Первое, "если есть сервер приложений", это уже плохо. EE-серверы не нужны, сама эта концепция - сплошная дырявая абстракция, от которой больше проблем, чем пользы. Так что даже просто иметь плюс-минус то же, что есть в EE, но управлять этим всем самому, без сервера, это уже хорошо.

Второе, фич в спринге больше. Если брать только DI-контейнер, возможности сопоставимы, но помимо DI спринг дает еще много всякой всячины, облегчающей жизнь. Простую работу с конфиг-файлами, обертки над громоздкими API (JdbcTemplate, JmsTemplate и т.д.), легкий запуск контейнера из тестов, интеграции практически с чем угодно, Spring Data, много чего еще.
Аноним 13/09/19 Птн 10:43:34 1472695118
>>1472683
>Первое, "если есть сервер приложений", это уже плохо. EE-серверы не нужны, сама эта концепция - сплошная дырявая абстракция, от которой больше проблем, чем пользы. Так что даже просто иметь плюс-минус то же, что есть в EE, но управлять этим всем самому, без сервера, это уже хорошо.
Держи теоретика! Который даже не в курсе, что Спринг внутри себя поднимает Томкат.
Единственное что Спринг делает сам - это DI. Все остальное он делегирует сторонним либам и занимается только интеграцией всего.

Современный ЕЕ будет легче Спринга какая ирония, это просто набор спецификайий и если реализация позволяет их можно и по частям использовать.
Аноним 13/09/19 Птн 11:09:23 1472699119
>>1472695
>Спринг внутри себя поднимает Томкат
А теперь давай подумаем, чем встраиваемый томкат или джетти отличается от Java EE application server'а, особенно в сугубо практическом смысле, чтоб не казаться теоретиками
Аноним 13/09/19 Птн 11:38:53 1472710120
>>1472695
>просто набор спецификайий
Да, и какие-то из них используются сами по себе (jpa, например), в том числе вместе со спрингом. Только вопрос был про сервер приложений, "голый EE на сервере приложений или спринг", и на практике выбор может выглядеть именно так и иметь конкретные ощутимые последствия, от которых тебя рассуждения о наборе спецификаций не спасут.
Аноним 13/09/19 Птн 11:44:26 1472713121
Аноны, кто работает Java-господином в Веб? Какой у вас стек/задачи?
Аноним 13/09/19 Птн 13:34:20 1472777122
>>1472699
>чем встраиваемый томкат или джетти отличается от Java EE application server'а
Ничем?

Чувак, ты несёшь дичайшую хуйню, и дискутировать с тобой я, например, просто не вижу смысла.
Аноним 13/09/19 Птн 13:44:34 1472786123
>>1472713
Что значит "в Веб"?

Весь гуй на современном джава ее - это веб-интерфейс.
Или ты имел в виду какие-то публичные сервисы для быдла?

Государственные инф. системы, например, все на джава ее.
Но, я там не работаю, и подробностей не знаю.


Аноним 13/09/19 Птн 14:04:50 1472803124
>>1472777
>дискутировать с тобой я, например, просто не вижу смысла.
А жаль, мог бы аргументированно расписать, чем EE ASы лучше и удобнее варианта спринг(бут)-томкат, ну или хотя бы почему не уступают. Глядишь, все бы с тобой согласились, бросили бы этот мерзкий спринг, и Джакарта EE зажила бы новой жизнью.
Аноним 13/09/19 Птн 14:18:53 1472811125
>>1472713
Легаси говно жаба ее + жсф, новенькое спринг + реакт/вуе.
Задачи брать с базы, писать в базу, отчеты и аналитика, разные интеграции, связь с оборудованием.
Аноним 13/09/19 Птн 14:23:15 1472814126
>>1472803
Java EE - это, как тебе уже сказал другой анон (>>1472695), это большой набор спецификаций.
Также, есть, например, Java EE Web Profie - сервлеты, jsp, etc.
По сути - тот же томкат.

Т.е. - нет никакого "EE AS", а есть куча разных вещей.
Есть JBoss, а есть Resin, и это очень разные серверы. Но, оба - EE.

Также, Spring успешно используется в EE контейнерах, несмотря на то, что в EE давно уже есть своя реализация DI контейнера.
Поэтому, противопоставлять EE и Spring - не очень правильно.
Собственно, это я и имел в виду, когда сказал, что дискутировать тут не о чем.
В зависимости от кучи условий выбирается или то или другое, или даже оба сразу.
Аноним 13/09/19 Птн 14:24:52 1472816127
>>1472673
>в спринг уже встроен сервер приложений Tomcat
>если ты запускаешь со Spring boot
Ни разу не сомневался, что люди, пользующие бут, не понимают, что и как работает.
Аноним 13/09/19 Птн 14:25:47 1472818128
>>1472777
Уебан, который не знает, что Томкэт это не JEE сервер, а просто сервлет-контейнер.

Аноним 13/09/19 Птн 14:33:18 1472822129
>>1472818
Дружок, уебан - это твой папа, потому, что вынул невовремя, лол.

Сервлет-контейнер - это и есть EE сервер, понимаешь?
Аноним 13/09/19 Птн 14:46:06 1472827130
>>1472814
> а есть куча разных вещей.
>Есть JBoss, а есть Resin
Спасибо, я в курсе. Только это ты к чему, это что-то меняет? И да, спринг, бывает, используют в EE-серверах, только никакой практической, технической причины так делать нет. Часто так получается просто потому, что AS навязан "сверху", типа "у заказчика стоит вебсфера и ниипет", ну или это просто легаси, а дальше уже разработчики выкручиваются как могут и используют, что удобно. Ты бы новый проект начинал на EE-сервере?
Аноним 13/09/19 Птн 15:04:45 1472835131
Всех с праздником ИТТ!
Аноним 13/09/19 Птн 15:56:35 1472852132
>>1472822
>Сервлет-контейнер - это и есть EE сервер,
Ух, бля, давай, жги еще
Аноним 13/09/19 Птн 16:23:23 1472859133
>>1472852
В джаве нет переменных.
Аноним 13/09/19 Птн 18:00:54 1472898134
>>1472827
Зависит от проекта.
И сервера.
И многого другого.

Понимаешь, такой взгляд на вещи, когда есть только 1 правильный ответ - он чисто российский.
Это всё от неразвитости. Деревенщина, если совсем коротко.

>>1472852
Блядь, вроде каникулы кончились уже, хули ты тут делаешь вообще?
Аноним 13/09/19 Птн 18:24:10 1472901135
>>1472898
Есть только true и false на любой вопрос, сука.
Аноним 13/09/19 Птн 18:25:12 1472902136
публиц статиц воид маун(Стринг[] аргс) {}
Аноним 13/09/19 Птн 18:47:40 1472911137
>>1472898
Что, еще один уебок, считающий сервлет-контейнер ЖЕЕ-сервером, и искрометно шутящий про школьников и деревенщину?

Бля, я не верю, что ява-треде может быть столько мудаков.

Хоть, раз уж 10 раз башкой в говно мокнули, мог бы погуглить хоть пять минуточек, болезный.
Аноним 13/09/19 Птн 18:49:52 1472916138
>>1472911
Иди на хуй, уже, клоун.
Без тебя тут станет на одного мудака меньше.
Аноним 13/09/19 Птн 18:52:16 1472918139
>>1472898
>Понимаешь, такой взгляд на вещи, когда есть только 1 правильный ответ - он чисто российский
Означает ли это, что не бывает неправильных ответов? Бывают ли энтерпрайз-проекты, которые стоит начинать на фортране?

Ты не мог бы чуть конкретнее, с примерами? В каких случаях ты бы начал новый проект на EE AS сервере (каком угодно), и какие у этого решения будут преимущества по сравнению с вариантом спринг (или другой фреймворк) + лёгкий сервер + любые, какие нужны, отдельные либы/фреймворки?
Аноним 13/09/19 Птн 18:57:11 1472920140
>>1472918
Ты так ничего и не понял.
На колу мочало - начинай сначала.
Извини, объяснять нет желания.
Аноним 13/09/19 Птн 19:42:46 1472939141
Посмотрел я на питоновские генераторы, сравнил с аннотейшн процессорами и загрустил.
Аноним 13/09/19 Птн 20:19:57 1472953142
>>1472939
Но, это же разные вещи.
Генераторы - это про многопоточность и сопрограммы.
Аннотации - метапрограммирование и т.п.
Аноним 13/09/19 Птн 20:24:34 1472957143
>>1472953
Тьфу, декораторы. Генераторы я не понял.
Аноним 13/09/19 Птн 20:57:30 1472965144
>>1472957
Ну, питон - динамический язык. И декоратор - динамическая штука.
В джаве именно так - нельзя.
Но, есть AOP - в том же спринге, например.
Довольно похоже.
Аноним 13/09/19 Птн 21:01:05 1472969145
Аноним 13/09/19 Птн 22:14:16 1473009146
>>1472918
Ты пытаешься у безграмотного уебка что-то узнать?
Ты умственно отсталый?
Аноним 13/09/19 Птн 22:16:06 1473010147
>>1473009
Ты опять выходишь на связь, лол?
Я же сказал тебе - иди на хуй.
Аноним 13/09/19 Птн 22:46:25 1473020148
>>1473009
Персонаж забавный, то как будто про web profile начинает рассказывать, то совсем не в теме. Или это их двое?..
Аноним 13/09/19 Птн 22:59:15 1473022149
>>1472786
Я задал этот вопрос, потому что меня одолевают большие сомнения по поводу энтерпрайза, облизывания легаси-кода и всего остального дерьма. Грустно всё это, вот и интересуюсь.
Аноним 13/09/19 Птн 23:10:11 1473025150
>>1473020
Это ты за спринг топишь выше?

Ты напоминаешь 1С-ника, которому вдруг сказали, что не весь энтерпрайзный софт пишут на 1С. И что в какой-нибудь Америке про 1С даже не слышали.

Он примерно такие же вопросы начинает задавать. Типа "какой смысл изобретать все эти велосипеды, если в 1С уже всё есть" и прочее. С умным и важным видом. А попытки объяснить приводят примерно вот к такому вот диалогу.
Аноним 13/09/19 Птн 23:16:56 1473029151
>>1473022
>Грустно всё это
Грустно что? То, чего ты даже не видел?
Иди в модный и весёлый джаваскрипт или даже в го.
В андроид иди, там, кстати, теперь модный импортозамещённый Котлин, и тут даже тред есть про это.

И ты не ответил на вопрос, что ты имел в виду, когда сказал "в Веб"?
Типа есть унылый энтерпрайз, а есть весёлый "веб"?
Как по мне - ну его на хуй, такое веселье.
Аноним 13/09/19 Птн 23:47:25 1473041152
>>1473029
>Типа есть унылый энтерпрайз, а есть весёлый "веб"?
О каком веселье идёт речь? Это работа. Проблема в том, что в какой-то работе больше развития, а в какой-то меньше, либо его нет вообще.
Аноним 13/09/19 Птн 23:49:44 1473043153
>It is no longer possible to delete the mapping for a type. Instead you should delete the index and recreate it with the new mappings.
Блядь, в эластиксерч наступил.
Аноним 13/09/19 Птн 23:50:21 1473044154
Писать аналог netstat на spring boot - не очень хорошая идея?
Аноним 13/09/19 Птн 23:57:45 1473049155
>>1473020
Да он не знает ни хуя
Не читал ни одной спецификации, даже ни одного ебаного балдунга или кто там для нубов разжевывает на примере бабочек и пчелок
Пытается взять напором из /б
На школьников, навроде его самого, может, и произведет впечатление
Вроде, их было двое, но, похоже на семена
Аноним 13/09/19 Птн 23:58:38 1473050156
>>1473044
Писать на спринг бут вообще не очень хорошая идея
Аноним 14/09/19 Суб 00:01:20 1473052157
Аноним 14/09/19 Суб 00:15:02 1473056158
>>1473049
Ты уныл.

И похож на семёна.
Аноним 14/09/19 Суб 00:15:34 1473057159
>>1473041
В любом случае какого-то отдельного от энтерпрайза веба на джаве нет,но энтерпрайз это не обязательно дремучее легаси.
Аноним 14/09/19 Суб 00:18:00 1473060160
>>1473050
Конечно, то ли дело пара десятков xml на каждый чих.
Аноним 14/09/19 Суб 00:30:53 1473064161
>>1473044
Ты уверен, что понимаешь, что такое netstat, и что такое spring boot?

>>1473041
Что такое "веб"? (ты снова не ответил)
Что такое "энтерпрайз"?
Что такое "легаси"?
Что такое "развитие"?

Думаешь ли ты, что серьёзный софт, от которого многое зависит, должен полностью переписываться заново при выходе очередной версии модного фреймворка?
Является ли подобный мартышкин труд "развитием"?
Не думаешь ли ты, что в промышленных приложениях могут действовать немного другие правила игры? Другие ценности, нежели просто "быть на переднем крае"?
И т.п.
Аноним 14/09/19 Суб 00:33:04 1473065162
>>1473064
>Ты уверен, что понимаешь, что такое netstat, и что такое spring boot?
Да. Мне поверх pcap4j надо отслеживать соединения и их статус.
Аноним 14/09/19 Суб 00:37:46 1473067163
>>1473065
Ну и предоставлять апи для просмотра статистики на данно интерфейсе, сохранение записей трафика в базу и прочие свистоперделки. Я думаю, проще не городить все абстракции, связанные с соединениями самому, а взять что-то готовое.
Аноним 14/09/19 Суб 00:38:30 1473068164
>>1473065
А, так оно не pure java нихуя. Тогда понятно.

Ну а спринг бут тут при чём?
Почему не просто обычное приложение? Будет сильно дешевле.
Или хочешь веб-интерфейс?
Аноним 14/09/19 Суб 00:44:12 1473070165
>>1472699
>А теперь давай подумаем, чем встраиваемый томкат или джетти отличается от Java EE application server'а, особенно в сугубо практическом смысле, чтоб не казаться теоретиками
Там была вполне конкретная цитата
>Первое, "если есть сервер приложений", это уже плохо. EE-серверы не нужны, сама эта концепция - сплошная дырявая абстракция, от которой больше проблем, чем пользы.
Томка это не полноценный EE, но наполовину ЕЕ.


>>1472710
>Только вопрос был про сервер приложений, "голый EE на сервере приложений или спринг", и на практике выбор может выглядеть именно так и иметь конкретные ощутимые последствия, от которых тебя рассуждения о наборе спецификаций не спасут.
А что из EE тянет за собой Томкат кроме сервлетов?

---------------------------------

Я вообще не понимаю это современное гонево на ЕЕ сервера - плохо, тяжеловестно и т.п. Да вы посмотрите на ту же Ноду, там тоже самое - точно такой же сервер, со своим сервлет контейнером и прочим. Но надо хипстота, дрочит в присядку, а джаву гнобят за тяжеловестность, да еще высеры про перформанс пишут. https://www.tandemseven.com/blog/performance-java-vs-node/
Аноним 14/09/19 Суб 00:57:31 1473072166
>>1473070
>посмотрите на ту же Ноду, там тоже
Там не "тоже". Там всё сильно хуже. Натуральная деградация.

> хипстота, дрочит в присядку
Именно.
Широкие массы псевдо-интеллектуального быдла влились в бекэнд-разработку.
Это вполне в духе левацкого курса на диверсити и прочее.
То, что при этом происходит очевидная деградация технологий - никого не волнует, кроме белых супремасистов, лол.
Аноним 14/09/19 Суб 01:12:28 1473076167
>>1473070
>Томка это не полноценный EE, но наполовину ЕЕ.
Этот уебан за 10 постов так этого и не вкурил.
Не говоря уж о том, что не половина, а просто какой-то кусочек.
Аноним 14/09/19 Суб 01:13:34 1473077168
>>1473056
Поэтому ты каждый раз подрываешься жопой мне что-нибудь "умное" ответить.
Но каждый раз получается, как-будто умственно отсталый Олег Попов выступает
Аноним 14/09/19 Суб 01:16:14 1473078169
>>1473060
Конечно, лучше пусть конфиги возникают сами по себе, и ты не можешь их поменять, потому что ты тупой мудак, который доверил их буту, и который, зная, что ты тупой мудак, не дает их тебе подправить во всей полноте.
Аноним 14/09/19 Суб 01:17:32 1473080170
>>1473078
Но ведь это ты не можешь поправить конфиги, потому что не понимаешь как работает спринг бут и говнишься на него из-за этого?
Аноним 14/09/19 Суб 01:22:10 1473082171
>>1473077
Я тебе вообще ничего не отвечаю.
Просто посылаю на хуй.
А ты всё не уходишь.
Аноним 14/09/19 Суб 01:29:06 1473085172
>>1473076
Начнём с того, что ты не дал определения того, что есть "EE" в твоём понимании.
Тебе на это тонко намекнули 2 человека. Ты проигнорировал.

Формально, Томкат - EE сервер.
А ты - баран.
Аноним 14/09/19 Суб 01:31:13 1473086173
>>1473070
>Там была вполне конкретная цитата
А исходная цитата была
>В чем преимущества Spring над голой javaEE, если есть сервер приложений?
Не, ну мы конечно можем сделать вид, что странный анон интересовался преимуществами спринга перед одними только сервлетиками в томкате, но на самом деле нет, такая постановка вопроса подразумевает полноценный большой EE со всеми вытекающими.

>Томка это не полноценный EE, но наполовину ЕЕ.
Нет, никакого наполовину и близко, есть легкие сервлет-контейнеры, считай просто http-серверы, а есть JavaJakarta EE Application Servers, которые тащат с собой еще сто тонн барахла. Против первых я ничего не имею.

>Я вообще не понимаю это современное гонево на ЕЕ сервера - плохо, тяжеловестно и т.п.
Заметь, я про тяжеловесность ничего не говорил. Тяжеловесным сейчас модно и спринг называть, ага, в противовес молодежным микрофреймворкам.
А ты лучше объясни, нафига тебе сервер, который тащит с собой, к примеру, реализации JSF и JPA и сервис очередей, если ты их использовать вообще не собираешься или хочешь использовать другие реализации.

Аноним 14/09/19 Суб 03:34:42 1473096174
>>1473085
> ты не дал определения того, что есть "EE"
Уебок ищет определений на дваче
Найс
На докс.оракл зайти не может. Ясен хуй, там не по-русски написано.
Аноним 14/09/19 Суб 03:35:06 1473097175
>>1473085
>2 человека
Семен, плиз
Аноним 14/09/19 Суб 03:45:06 1473099176
>>1473070
>А что из EE тянет за собой Томкат кроме сервлетов?
Блядь, ну ты же не такой мудак, как этот хуесос?
Что тебе мешает зайти на
http://tomcat.apache.org/
и в первой же строчке прочесть, что он тянет. Почти ничего. ЖСП и вебсокеты.
Все гуглится за полминуты.
И более полная реализация ЕЕ от апача, и Java EE Compatibility на текнетворке (удачи найти там томкет).

Пиздец, школьники в яву ломанулись, развели срач на весь тред.
Аноним 14/09/19 Суб 03:47:16 1473101177
>>1473080
Говинтся на тебя твоя мамка за то, что ты уроки не сделал, и побежал срать на двач.
Мне на тебя насрать
хочешь быть программистом за 300кб/нс и лидером митолгруппы, будь.
хоть на буте, хуть на хуюте
продолжай доказывать свою "правоту", надо же тебе хоть чем-то себя занять, раз программировать не умеешь
Аноним 14/09/19 Суб 04:27:34 1473105178
Аноним 14/09/19 Суб 06:52:40 1473112179
>>1472816
а вообще было бы интересно узнать, с чем конкретно ты не согласен и почему
Аноним 14/09/19 Суб 07:57:22 1473115180
>>1471475 (OP)
Скажите, на Джуна хватит задрочить только кор?
Вообще судя по вакансиям для джунов нужно еще SQL, Spring и JavaScript знать.
Аноним 14/09/19 Суб 08:14:55 1473120181
Ul630QGr3JA.jpg (190Кб, 960x720)
960x720
Аноним 14/09/19 Суб 10:19:18 1473145182
>>1473112
Я не он, но тебе бы тоже почитать, что именно называется сервером приложений.
Аноним 14/09/19 Суб 10:37:17 1473149183
Как думаете, начинать знакомство с джавой с JavaFX - хорошая идея?
Просто писать соснольные хелловорлды как-то неинтересно, хочется сразу какую-нибудь йобу запилить.
Аноним 14/09/19 Суб 11:37:45 1473166184
Аноним 14/09/19 Суб 11:46:26 1473171185
https://youtu.be/4HJUX_BQgGI

А почему он в перегрузке методов ничего не сказал про тип возвращаемого значения?
Аноним 14/09/19 Суб 12:09:40 1473178186
>>1473149
Ты же не десктоп в дальнейшем собрался на джаве писать? Возьми лучше что-то более релевантное.
Аноним 14/09/19 Суб 12:11:01 1473179187
>>1473149
FX - мертворожденная хуйня.
Её мурыжат уже больше 10 лет, и она всё никак не взлетит.
Даже нормального дизайнера интерфейсов не родили.
И даже убрали с сайта Оракла то уёбище, которое у них было.
А теперь весь fx вообще исключили из jdk и выкинули в опенсорс.

Хочешь десктопный гуй - юзай свинг.
Минимум 7 лет он ещё будет официально поддерживаться.
Аноним 14/09/19 Суб 12:17:15 1473184188
>>1473178
> релевантное
Значение знаешь?

>>1473149
Майнкрафт ещё можно поковырять.
Но, это, наверное, не для начинающих.

Вот это посмотри ещё:
http://www.allitebooks.org/java-game-development-with-libgdx-2nd-edition/

Там немножко FX (буквально совсем ничего), остальное - на libgdx, конкретные примеры игр, с нуля, практически.
Аноним 14/09/19 Суб 12:20:44 1473185189
Аноним 14/09/19 Суб 12:39:04 1473200190
Молю о помощи.
Делаю регистрацию Java EE
У меня страница возвращается либо полностью пустая, либо ругается, что гет не определен.
У меня в регистрационном сервлете только пост метод, и на jsp странице тоже определен пост метод - в этом случае просто 405 и ругается, что нет гета.
Если я в сервлете переопределяю гет любым из миллиона интернетных способов - возвращает просто пустую страницу.
Я и с веб.хмл и с анотациями и с путями ебусь - все равно бред какой-то.

Помогите, пожалуйста.
Мне надо и гет и пост определять в рег сервлете ? Что ложить тогда в гет? На jsp странице оставлять все равно только пост метод ?
Аноним 14/09/19 Суб 12:40:52 1473201191
Аноним 14/09/19 Суб 12:42:18 1473202192
>>1473201
Алсо пробовал и удалять веб.хмл и добавлял индекс, все равно ничего
Аноним 14/09/19 Суб 12:42:38 1473203193
>>1473200
Можно просто в сервлете переопределить service().
Будет сразу и гет и пост и прочая хуйня.
Но, у тебя там дело в чём-то другом.
А местные телепаты сейчас все в отпуске.
Аноним 14/09/19 Суб 12:52:59 1473217194
>>1473201
Не, ну если так писать на EE, то лучше спринг, лол.

Зачем ты удалял web.xml? Причём тут index?

Расставь, хотя-бы, println(...) в коде, чтобы видеть, где у тебя происходит затык. Выполняется ли doPost() вообще, и т.п.
А лучше - просто используй отладчик.
И idea вместо eclipse.
Аноним 14/09/19 Суб 13:00:54 1473218195
>>1473217
Я на спринге и в идее писал и так. А чтоб пойти на работку, надо на этом базовом гавне написать.
Не совсем понял про принты, у меня же все компилится и сервер стартует, а там уже либо одна ошибка либо пусто.
Пробовал через сервис, вместо гета и поста - 500 ошибку дало
Аноним 14/09/19 Суб 13:06:19 1473223196
>>1473218
>у меня же все компилится и сервер стартует
Ну, если бы у тебя не компилилось или сервер не стартовал, это была бы вообще жесть.

Принты - напечатают тебе в консоль, что пункт 1 выполнен, пункт 2 выполнен и т.п. И ты увидишь, что происходит. Или - чего _не_ происходит.

Из jsp тоже можно печатать.

А лучше - настрой remote debugger и делай точки останов прямо в серверном коде. См. инфу по эклипсе, я х.з. как там оно делается.

>500 ошибку дало
А стактрейс дало? Там всё написано.
Аноним 14/09/19 Суб 13:14:41 1473229197
>>1473218
Или у тебя даже форма регистрации не выводится?
Короче, опиши последовательность действий, в результате которых ты получаешь ошибку, а то одни причитания, лол.
Аноним 14/09/19 Суб 13:26:08 1473236198
>>1473229
Да, именно форма регистрации не выводится, вообще ничего не отображается на сервере.

Я запускаю проект, он компилится, билдится вар и сам открывает браузер. Там я пытаюсь перейти на страницу регистрации, и мне либо пишет, что до гет определен, либо, если я его переопределяю каким-то способом - выдает просто пустую страницу, без ошибок.
Я гет пытался переопределять всеми возможными способами с инета - всегда ничего.
Главная мысль - что я урлы в сервлете, хмл и джсп напутал и не то прописал, но я уже сотый раз все сверяю и пробую
Аноним 14/09/19 Суб 13:26:45 1473237199
>>1473236
До гет не определен, фикс
Аноним 14/09/19 Суб 13:56:25 1473254200
>>1473236
Т.е. ты пытаешься открыть Register.jsp (с большой буквы! дебилы, блядь), а оно не открывается? И ты лезешь в свой сервлет RegisterServlet.java и пытаешься его ковырять? Зачем?

У тебя, скорее всего, не настроен JspServlet в web.xml.

Я бы тебе советовал взять пример попроще - просто вывод hello world на jsp. И постепенно подключать остальное.
Попробуй посмотри:
http://www.wowebook.pw/book/core-servlets-and-javaserver-pages-volume-2-2nd-edition/
http://www.allitebooks.org/java-ee-web-application-primer/

Если коротко, это работает так:
-Ты запрашиваешь http://localhost:808/zalupa/register.jsp.
-Этот запрос обрабатывается JspServlet'ом, он находит код register.jsp (компилирует его при первом обращении)
-Выполняется скомпилированный код в register.jsp
-Результат возвращается в http response
-Ты видишь страницу в браузере.

Заполнил форму регистрации, отправил:
- Вызывается твой сервлет, он должен быть сконфигурирован на url, указанный в html форме.
- Делает то, что написано в doPost()
- В конце делает форвард обратно на register.jsp
- См. выше про register.jsp.
- Ты видишь сообщение, что юзер зарегистрирован.
Аноним 14/09/19 Суб 14:23:53 1473264201
>>1473254
>не настроен JspServlet в web.xml
Посмотрел тот туториал, там эту тему вообще обошли стороной.
На самом деле, он должен быть настроен в конфиге сервера.
Но, можно и в web.xml.
Зависит от сервера, по идее, jsp должны сразу работать из коробки, вообще прозрачно. Но, в твоём случае это, почему-то, не так.

Аноним 14/09/19 Суб 14:47:34 1473271202
>>1473254
Спасибо большое
Ковырял и доковырялся, что-то не в урлах напутано было
Аноним 14/09/19 Суб 22:11:13 1473469203
>>1473072
>Это вполне в духе левацкого курса на диверсити и прочее.
Страшно спросить, за что же топят ультра-правые? Я сейчас Rust учу, менея примут или это слишком умеренно?

>>1473086
>Нет, никакого наполовину и близко, есть легкие сервлет-контейнеры, считай просто http-серверы, а есть Java Jakarta EE Application Servers, которые тащат с собой еще сто тонн барахла. Против первых я ничего не имею.
Да их практически и не осталось, WebLogic и WebSphere померли, остались лишь GlassFish как Reference Implementation и WildFly. Да и проекты на них доживают свои последние дни.

>Заметь, я про тяжеловесность ничего не говорил. Тяжеловесным сейчас модно и спринг называть, ага, в противовес молодежным микрофреймворкам.
>А ты лучше объясни, нафига тебе сервер, который тащит с собой, к примеру, реализации JSF и JPA и сервис очередей, если ты их использовать вообще не собираешься или хочешь использовать другие реализации.
Если тебя не беспокоит тяжеловестность, то что тебе с того что Томкат идет с JSP? JSF и JPA в томкате нет
Аноним 14/09/19 Суб 23:11:58 1473500204
>>1473469
>Да их практически и не осталось. Да и проекты на них доживают свои последние дни.
И отлично, туда им дорога. Об этом я и говорил, отвечая на исходный вопрос о серверах приложений. Не о томкате, о EE серверах приложений. К томкату у меня вопросов нет.
Аноним 15/09/19 Вск 00:53:51 1473528205
>>1471475 (OP)
что на джава джуна спрашивают?
Аноним 15/09/19 Вск 00:54:27 1473529206
>>1473528
Вилкой в глаз или в жопу раз
Аноним 15/09/19 Вск 00:59:56 1473530207
>>1473528
Как повезёт, сильно от галеры зависит. Где-то хватает Core Java, и сами всему учат (небольшая стажировка перед работой), где-то требуют весь стандартный стек: БД, JEE, Spring, Hibernate. Можешь по умолчанию готовиться к худшему варианту, живее будешь.
Аноним 15/09/19 Вск 01:13:31 1473532208
>>1473530
Окей.
Алгоритмы, деревья, сортировки всякие спрашивают?
Какие самые топ галеры для вкатывальщиков без диплома в ДС?
Аноним 15/09/19 Вск 02:37:06 1473537209
>>1473532
Спросить могут, да. Но если на собесе спросили 10 видов сортировох, 15 видов деревьев и 5 способов обхода графа - то лучше к ним потом не соваться, там точно ебанутые. Знать нужно основные алгоритмы и структуры данных, они потом реально понадобятся, но прям задрачивать все тонкости смысла нет.
Что на рынке сейчас хз, для меня этот вопрос не сильно актуален. Полистай вакансии, они хоть как-то отражают реальность.
Аноним 15/09/19 Вск 02:47:48 1473539210
>>1473537
Гуголь, Макйрософт и Амазон, что-то подобное и спрашивают. конечно же они ебанутые
Аноним 15/09/19 Вск 08:27:11 1473557211
Аноним 15/09/19 Вск 09:02:39 1473564212
>>1473539
Там это возможно и нужно.
Аноним 15/09/19 Вск 09:23:28 1473569213
>>1473539
Из-за их известности и статуса туда рвутся джуны со всего мира, поэтому такой ебанутый отсев.
Аноним 15/09/19 Вск 10:21:01 1473590214
Аноним 15/09/19 Вск 10:37:04 1473593215
Посоветуйте, чтобы такое написать джуну, чтобы Spring освоить и в резюме показать?
Аноним 15/09/19 Вск 10:39:45 1473595216
>>1473593
Накидай бэк для соц сети чтобы хотя бы 200тыс в неё сидеть могло
Аноним 15/09/19 Вск 13:00:58 1473653217
Аноны, а в тырпрайзе надо создавать сервлет для главной страницы ? На ней нет никакой логики вообще. Просто смотрю на какого-то индуса, он создал и жсп и сервлет, и в сервлете просто принтит весь хтмл по кускам.
Так и надо делать? Я в весне, просто, такой хуеты не видал
Аноним 15/09/19 Вск 14:13:21 1473675218
На java нет каких-то библиотек для просмотра tcp соединений? Я что-то ничего подобного не нагуглил. Придется запускать netstat и парсить вывод что ли?
Аноним 15/09/19 Вск 14:17:06 1473677219
Аноним 15/09/19 Вск 14:19:43 1473681220
>>1473653
Не надо.
Алсо, JSP - это и так сервлет с оговорками, но, это не важно.

Делать главную страницу не статическим html может быть нужно для того, чтобы импортировать туда всякоге, например. Отображать сообщения и т.п.
Что касается скорости обработки (на сервере) html или jsp без логики - jsp может быть даже быстрее (зависит от реализации сервера - кэш и т.п.).
Аноним 15/09/19 Вск 14:22:16 1473682221
Аноним 15/09/19 Вск 14:24:07 1473684222
>>1473682
Это мой пост как раз. Pcap4j только захватывает пакеты, а отслеживать соединения, устанавливать их статус и прочее надо делать самому. А мне лень.
Аноним 15/09/19 Вск 14:32:38 1473686223
Аноним 15/09/19 Вск 14:35:28 1473688224
>>1473684
Ну, вообще, делать такие вещи на джаве - не очень хорошая идея, мне кажется. На питоне было бы лучше, наверное (конкретно ничего не подскажу). Там проще подтянуть сишную либу, например. И вообще больше наработок на подобные темы, я думаю.

Алсо, нет ничего плохого в том, чтобы делать это через netstat.
https://stackoverflow.com/questions/18503485/how-to-monitor-tcp-stats-in-windows-with-java-program
Аноним 15/09/19 Вск 15:06:44 1473702225
43141234.jpg (25Кб, 418x223)
418x223
Аноны, а давно визуалка джаву поддерживает?
Аноним 15/09/19 Вск 15:14:40 1473705226
>>1473702
Давно уже _не_ поддерживает.

В незапамятные времена мс хотел подмять под себя джаву, сделал свою реализацию. Несовместимую, естественно. Кончилось всё это ничем.
Примерно в те же годы и джаваскрипт они тоже пытались делать свой - jscript. С тем же результатом.
Аноним 15/09/19 Вск 15:17:04 1473706227
>>1473705
>jscript
Теперь же есть какой TypeScript
Аноним 15/09/19 Вск 15:18:02 1473707228
>>1473705
>Кончилось всё это C#
Аноним 15/09/19 Вск 15:24:21 1473711229
>>1473590
Ссука! 17 минут рассказывать разницу между overloading и overriding! И это вторая часть этой саги!
Аноним 15/09/19 Вск 15:28:28 1473712230
>>1473702
Visual Studio Code поддерживает.

Аноним 15/09/19 Вск 15:29:36 1473713231
>>1473712
Можно нажать на метод и перейти к месту его объявления?
Аноним 15/09/19 Вск 15:37:47 1473714232
Аноним 15/09/19 Вск 15:41:48 1473715233
>>1473711
И, ладно бы, с песнями и плясками, болливуд-стайл, а то просто мозги ебёт.
Аноним 15/09/19 Вск 15:42:18 1473716234
>>1473713
Вот чем тебя, интересно, IDEA не устраивает?
Аноним 15/09/19 Вск 15:44:21 1473717235
>>1473716
Всем. Там даже в строках можно к файлу перейти. Но это не значит, что мне не хочется попробовать что-то еще.
Аноним 15/09/19 Вск 15:48:55 1473720236
>>1473717
Поверь, после идеи пробовать уже ничего не надо.
По крайней мере, в ближайшие несколько лет.

Онлайн-иде не в счёт, это другая тема.
Собственно, VS Code написан на джаваскрипте, и многие онлайн-иде на нём основаны, насколько я понимаю.
Но, юзать эту хуету на десктопе, и писать в ней на джаве - это лютое извращение. Ебля гусей, по сравнению с этим - просто пуританство.
Аноним 15/09/19 Вск 16:10:37 1473733237
>>1471475 (OP)
Какой уровень жавы нужен чтобы вкатиться в ведроид разработку?
Аноним 15/09/19 Вск 16:13:29 1473736238
>>1473733
Жабакор и понимание реста.
15/09/19 Вск 16:39:28 1473745239
>>1473733
Есть же тред про андроид.
Core больше, чем достаточно. Но у андроида свой API, который нужно учить отдельно. Также после вкатывания придётся изучить несколько библиотек, вроде Retrofit, RxJava и Dagger. Ещё понадобится SQL для использования sqlite. И ещё что-то по мелочи.
Аноним 15/09/19 Вск 16:39:51 1473748240
>>1473745
Ой, сажа приклеилась.
Аноним 15/09/19 Вск 16:50:25 1473760241
>>1473716
Очевидно, что это не эклипс
Аноним 15/09/19 Вск 17:45:44 1473796242
image.png (229Кб, 850x400)
850x400
Аноним 15/09/19 Вск 21:07:59 1473931243
>>1473686
Нет макдака в городе.
Аноним 15/09/19 Вск 21:23:44 1473938244
nagoorcorejava.gif (152Кб, 849x458)
849x458
Аноним 15/09/19 Вск 23:35:25 1474026245
Java + GUI на Electron для desktop-приложения - это совсем дно, или кто-то так работает? На чем, вообще, в 2019 году стоит писать GUI? JavaFX жива?
Аноним 15/09/19 Вск 23:39:08 1474028246
>>1474026
На Java не стоит писать GUI, JavaFX жива.
Аноним 15/09/19 Вск 23:41:05 1474029247
>>1474026
Свинг жив.
И долго ещё будет.
FX - и не жил никогда, а теперь - и подавно.

>Java + GUI на Electron
Ну, чисто технически, можно и собак ебать, например.
Аноним 15/09/19 Вск 23:42:25 1474031248
>>1474028
Спасибо
А на чем, тогда, стоит писать GUI?
Аноним 15/09/19 Вск 23:43:29 1474032249
>>1474028
>На Java не стоит писать GUI
Не, ну раз ты говоришь, то конечно.
Напиши в JetBrains - пускай перестают немедленно, скажи, что всё, хватит, теперь будет всё на джаваскрипте.
Аноним 15/09/19 Вск 23:44:38 1474033250
Аноним 15/09/19 Вск 23:45:09 1474034251
Бляяяядь, ебал я в рот джисоны с обжектмапперами сука.
16/09/19 Пнд 00:02:44 1474042252
>>1474032
И бля рили хватит. 100500 IDE для жабы, и все как одна на жабе, и все жрут ОЗУ как не в себя и тормозят. Хоть одну бы на крестах написали.
Аноним 16/09/19 Пнд 00:07:21 1474045253
>>1474042
Жрут озу они потому, что делают _очень_ дохуя всего в реальном времени, понимаешь?
По той же причине занимают процессор.
А тормозят они у нищебродов, на дешманских пк.

И судя по тому, что ты предлагаешь java ide писать на крестах, тебе уже пора идти спать, потому, что завтра в школу.
Аноним 16/09/19 Пнд 07:10:50 1474105254
Аноним 16/09/19 Пнд 07:26:17 1474109255
314324234.jpg (105Кб, 1155x539)
1155x539
>>1473931
Ну тогда иди в пенсионный фонд и через 2 года перекатывайся на Java
Аноним 16/09/19 Пнд 07:51:37 1474114256
>>1474109
sir, java core is needed sir? I learnt java core at durgasoft curses
bobs and vagana
Аноним 16/09/19 Пнд 09:01:58 1474136257
Буду краток. В чём смысл существования метода _jspService? Что мешает сделать это всё внутри простого service, тем более если в jspbase ему не нужно ничем больше заниматься, кроме как отправкой ответа?
Понятно, что вопрос на практике по большей части бесполезный, но мне это почему-то не даёт покоя. Кажется, что упускаю какой-то смысол.
Аноним 16/09/19 Пнд 09:05:31 1474137258
>>1474136
Чтобы было что на собеседовании спросить
Аноним 16/09/19 Пнд 09:25:00 1474146259
Перестал писать на джаве 8 месяцев назад. Чувствую себя человеком с тех пор.
Аноним 16/09/19 Пнд 09:25:51 1474147260
>>1474146
На чем теперь пишешь?
Аноним 16/09/19 Пнд 09:46:28 1474152261
EnYw8LU69p4.jpg (70Кб, 667x640)
667x640
Аноним 16/09/19 Пнд 10:26:21 1474160262
Аноним 16/09/19 Пнд 11:17:18 1474170263
Аноны, а как указывать путь к таблице, в которую надо пихать данные после регистрации в жаба ее? У меня есть бд, а в ней определенная таблица. Всякие аннотации хиберы и жпа нельзя использовать. Пытался прописывать путь бд/таблица - но что-то ничего
Аноним 16/09/19 Пнд 11:31:24 1474176264
>>1474170
INPUT INTO [ owner.]table-name input-options
Аноним 16/09/19 Пнд 14:29:42 1474311265
>>1473217
>И idea вместо eclipse.
Ахахахахаха
Так и думал. У суперпрограммиста-советчика всегда все из-за ИДЕ
Вот если бы тот анон писал в идее, то у него бы заработало все
Пиздец, вы тупые
Аноним 16/09/19 Пнд 14:31:51 1474320266
>>1473200
Прекрати кодить.
Сиди и читай.
Смотри в веб.хмл.
Тебе все понятно, что там написано?
Смотри хотя бы в тупой туториал про сервлеты.
Тебе все понятно, что там написано?
Зачем у тебя в этом проекже жсп есть, тебе понятно?
Вот когда станет понятно, тогда возвращайся в свою ИДЕ, запускай, крути-верти.
Здесь тебе не помогут. Максимум, что посоветуют - поставить жыдбрейн идею. Это максимум ява-программиста с двача, смирись
Аноним 16/09/19 Пнд 14:35:21 1474325267
>>1473653
>принтит весь хтмл по кускам.
>Так и надо делать?
Нет. ТАК делать не надо.
Так делали при царе Горохе, когда сервлеты только появились.

>надо создавать сервлет для главной страницы ?
Никто не знает, что у тебя за главная страница, и чего ты от нее хочешь.
Может, тебе статического хтмл хватит, как мы угадаем?
Аноним 16/09/19 Пнд 14:37:16 1474327268
>>1473716
Тем же, чем тебя не устраивает ебля женщин.
Хуй знает, почему ты ебешься с ашотами.
Аноним 16/09/19 Пнд 15:10:55 1474363269
>>1474311
Не всё так просто. Нужно ещё купить лицензию для идеи
Аноним 16/09/19 Пнд 15:47:04 1474400270
>>1474311
>>1474327
>>1474363
Семён семёныч, вот нахера тут весь этот баттхёрт?
Идея охуенна. И она давно уже есть бесплатная.
Аноним 16/09/19 Пнд 15:54:00 1474403271
>>1474400
>есть бесплатная
Работать всё будет только в платной версии
Аноним 16/09/19 Пнд 15:59:27 1474405272
Аноним 16/09/19 Пнд 20:29:32 1474546273
Чому многие просят PostgreSQL, чем им MySQL оракульский не угодил? Мы его как раз в быдловузике изучаем.
Аноним 16/09/19 Пнд 20:30:35 1474547274
>>1474546
Хз, NoSQL лучше полюбасу.
Аноним 16/09/19 Пнд 20:31:33 1474549275
>>1474400
Между
>Идея охуенна
и
>у тебя не работает, потому что ты на эклипсе кодишь
целая пропасть.
Понятно, что уебок типа тебя не может этого осознать.
У него на любой вопрос один ответ: "идея охуенна, все ставить идею"
Короче, иди дальше хуи сосать
Аноним 16/09/19 Пнд 20:33:25 1474552276
Это в этом треде или в прошлом идеедрочеры не смоги объяснить несчастному анону, как в идее запустить проект, где есть класс с ошибками (который ниоткуда не вызывается при этом)?

Весь визг сводился к "ряяяяянинужна!"
Да, идея охуенна, спору нет.
Аноним 16/09/19 Пнд 20:41:16 1474555277
>>1474552
Ты с прошлого треда никак жопу не можешь обтереть от своего обосрамса, даун?
Аноним 16/09/19 Пнд 21:58:10 1474862278
Наконец-то тред оживился.
Аноним 16/09/19 Пнд 22:52:40 1474915279
Как в Jackson десериалайзере в методе deserialize десериализовать вложенный тип правильно? Допустим у меня есть какой-то список SomeList<Something>, я внутри метода делаю
JsonNode jsonNode = jp.getCodec().readTree(jp);
Iterator<JsonNode> elements = jsonNode.elements();
SomeList<Something> someThings = new SomeList<>();
Каждый объект из elements надо преобразовать в Something, как это сделать, если класс Something неизвестен?
Аноним 17/09/19 Втр 00:43:04 1474978280
>>1474042
1. Eclipse отчасти на крестах - SWT, и это ему не сильно помогает.
2. На тебе чисто на крестах http://www.jcreator.com/ только не блевани
3. Если есть борода, гироскутер и джинсы с подворотами - можешь VS Code заюзать.
Аноним 17/09/19 Втр 03:10:34 1475003281
>>1474555
Охуеть, не можете сделать простейшую хуйню на своей самой лучшей иде вы, а обсорался я.
Ну ок.
Такого упертого говноедства даже в жабоскриптовом треде не встретишь.
Аноним 17/09/19 Втр 04:23:10 1475008282
>>1471475 (OP)
Изучил синтексис, понимаю ООП, но четко осознаю: меня можно завалить 2-3 вопросами не уровня "чем наследование отличается от печеньки?" и задачей сложнее, чем "реализуй интерфейс".

Есть ли какой-нибудь годный хотя, другие не держат сборник задач по Жаве, чтобы получить отточить навыки в области ООП?
Аноним 17/09/19 Втр 07:13:30 1475019283
>>1474978
Ты забыл самую лучшую IDE
Аноним 17/09/19 Втр 07:45:51 1475024284
Аноним 17/09/19 Втр 07:46:19 1475025285
>>1474546
постгре лучше, стройней, стабильнее
Аноним 17/09/19 Втр 07:47:28 1475028286
>>1475008
никто не может. ООП никогда не работало и не работает, и никто не делает программы согласно классическому ооп
Аноним 17/09/19 Втр 08:36:13 1475039287
Аноним 17/09/19 Втр 08:40:57 1475041288
>>1475039
у меня опыта лет 7, мальчик
Аноним 17/09/19 Втр 08:49:40 1475042289
>>1475041
А у анона выше его нет. Думаешь, твой высер для него хоть на йоту полезен?
А, ну да, я же на мейлаче.
Аноним 17/09/19 Втр 10:11:13 1475063290
>>1475019
Я не рискую человеку советовать vim или emacs не зная какой религии он придерживается.
Аноним 17/09/19 Втр 10:22:29 1475073291
>>1475063
Да это же пиздец. Активно юзаю vim и пишу в нём все проекты, кроме жабьих.
Аноним 17/09/19 Втр 19:57:14 1475502292
>>1475073
Ты понимаешь, что ты уже не человек нахуй?
Аноним 17/09/19 Втр 20:16:29 1475521293
>>1475063
Я редачу код в vim и параллельно проект открыт в какой-то IDE, обычно эклипс или вижуалка. Можно, конечно, на vim накатить костыли и собирать в командной строке, но нахуя.
мимо
Аноним 17/09/19 Втр 22:30:21 1475679294
>>1475028
А как поднабить руку?
Аноним 17/09/19 Втр 22:52:43 1475702295
>>1475028
Охуеть!
Только сегодня написал class A extends B
И, ты не поверишь, заработало с первого раза.
Про инкапсуляцию и говорить нечего.
А уж полиморфизма в яве хоть жопой жуй.
Тебе лучше в жс- и питоно- треды перебраться.
Там тебя за своего примут, бля буду.
Аноним 17/09/19 Втр 22:59:49 1475708296
>>1475008
Изучи, что такое параметрический и ad hoc полиморфизм, потом чекни, как он реализован в функциональных языках типа Haskell или Scala. После этого ООП станет для тебя интуитивно понятным и тебе не нужны будут упражнения.
Аноним 18/09/19 Срд 07:50:24 1475837297
>>1475702
>Только сегодня написал class A extends B
запрещено в энтерпрайзе
Аноним 18/09/19 Срд 07:56:17 1475840298
>>1475702
>И, ты не поверишь, заработало с первого раза.
прямоугольник это потомок квадрата или квадрат это потомок прямоугольника?
Аноним 18/09/19 Срд 13:07:51 1475983299
Сап, Джава-бояре. Хочу потыкаться в какой нить микрофреймворк, но не спринг.
Собственно есть три стула : sparkJava, Javalin, Ktor(опционально). Есть у кого опыт с ними, расскажите что зашло/не зашло. Буду благодарен
Аноним 18/09/19 Срд 13:46:28 1476006300
>>1475840
>П - передёргивание пиздёж подтасовка

Они братья. И оба - потомки почтенного многоугольника.
Аноним 18/09/19 Срд 13:49:34 1476009301
>>1475840
>прямоугольник это потомок квадрата или квадрат это потомок прямоугольника?
Зачем тебе это? Наследоваться нужно так чтобы было удобно использовать, а не так что на что больше похоже в реальном мире
Аноним 18/09/19 Срд 13:52:08 1476010302
>>1475837
Правда?
А что там с сервлетами, например?
Надо различать data-классы и сервисы.
Сервисы наследовать можно и нужно, данные - весьма нежелательно.

>>1476006
Лол. Я вместо "прямоугольник" прочёл "треугольник" извините.
Аноним 18/09/19 Срд 13:58:14 1476016303
>>1476006
потому-что ты так сказал? Дух ооп позволяет и так и так и так. И какой из них правильный?

>>1476009
"чтобы было удобно использовать" появляется god object

>>1476010
наоборот. По данным ещё можно подумать о наследовании, но вот сервисы ни в коем случае. И боже упаси от развесистых условий с instance of
Аноним 18/09/19 Срд 14:08:18 1476020304
>>1476016
>И какой из них правильный?
Логически рассуждая, квадрат - частный случай прямоугольника, но не наоборот.

> наоборот
Речь шла об энтерпрайзе. Слова "данные" и "сервис" нужно понимать в этом контексте. Хотя, такое разделение можно провести где угодно.

Например, HttpServlet наследует Servlet'у, или SomeDao наследует AbstractDao - чтобы вынести общий функционал в суперкласс.
Наследовать же классы данных - это геморрой, т.к. они сохраняются в бд, и являются просто наборами полей.
Аноним 18/09/19 Срд 14:10:41 1476022305
>>1476016
>появляется god object
Так зачекм ты собрался наследоваться? Ничего сверхестественного при таком наследовании ты не получишь же.
Можно вернуть центр фигуры, посчитаь периметр и унаследоваться с одним полем данных.

Ну раз уж играть по твоим правилам, то я бы наследовался от квадрата и прямоугольнику добавил ещё одно поле длинна.

Но почему не наследоваться от абстрактной фигуры и? у которой будут метода центра и расчёта и периметра?
Аноним 18/09/19 Срд 14:21:55 1476029306
>>1476022
Где правильный ответ для вкатывальщика?
Аноним 18/09/19 Срд 14:26:27 1476032307
>>1475840
если в твоем мире квадрат обладает некоторыми уникальными свойствами, которыми ты пользуешься, то квадрат потомок прямоугольника
если нет - они не различимы на уровне абстракции
в принципе, это еще в начальной школе проходят.
Аноним 18/09/19 Срд 14:27:38 1476035308
>>1475837
>запрещено в энтерпрайзе
ахахахахахахахахахаха

не удивлюсь, если тебе вообще запрещают к компьютеру подходить, а разрешают только пол мыть в твоем энтерпрайзе
Аноним 18/09/19 Срд 14:29:00 1476038309
>>1476016
>Дух ооп
Твои проблемы в том, что ты дрочишь на духов
Нормальные ребята просто пользуются. Делают. Создают. У них работает.
А ты и твои одноклассники сперва подрочите не духов, потом на дваче будете сраться про какие-то теоретические аспекты, на которые всем насрать.
Так что иди на хуй.
Аноним 18/09/19 Срд 14:30:20 1476041310
>>1476020
>Наследовать же классы данных - это геморрой, т.к. они сохраняются в бд
Гемморой просто потому, что ты не умеешь это правильно делать

>являются просто наборами полей.
Ну, ок, как скажешь. Или это тебе "дух ооп" во сне нашептал?
Аноним 18/09/19 Срд 14:32:01 1476042311
>>1476022
>длинна
Очень ценно мнение человека, который не умеет писать без ошибок простые слова на родном языке, которым пользуется пару десятков лет.
О да. Он-то нам все расскажет про синтетические языки, парадигмы проектирования, да и вообще про жизнь.
Аноним 18/09/19 Срд 14:32:21 1476043312
>>1476029
Где угодно, только не на дваче.
Аноним 18/09/19 Срд 14:35:17 1476045313
>>1476020
прямоугольник это квадрат с расширенными свойствами

>у которой будут метода центра и расчёта и периметра?
а если при этом надо будет общаться с базой данных, это общение делать прямо в сущностях? Как проводить транзакции через эти грозди наследований?
Аноним 18/09/19 Срд 14:35:31 1476046314
Аноним 18/09/19 Срд 14:36:05 1476048315
Аноним 18/09/19 Срд 14:37:24 1476049316
Аноним 18/09/19 Срд 14:39:07 1476052317
>>1476045
>прямоугольник это квадрат с расширенными свойствами
Это называется "хуёвый дизайн".
В смысле - оно работает, и даже приносит выгоду, вроде-бы.
Но, так делать не надо, ибо, в долгосрочной перспективе будут проблемы, скорее всего.

И то, что хуёвый дизайн пропагандируется кем-то (от кого ты это услышал) - это дополнительное подтверждение того, что правило 95% никто не отменял.
Аноним 18/09/19 Срд 14:40:43 1476054318
>>1476052
Да напиши уже как надо, заебал уже
Аноним 18/09/19 Срд 14:42:33 1476055319
>>1476022
кстати само наследование противоречит инкапсуляции. При наследовании доступ к членам класса получает неограниченное количество потомков, в том числе с возможностью их модификации.
В том числе благодаря наследованию возможен паттерн "паблик морозов"
Аноним 18/09/19 Срд 14:45:10 1476058320
Аноним 18/09/19 Срд 14:48:53 1476059321
>>1476054
Это не я поднял этот вопрос.
Мой первый (ошибочный) коммент по этой теме - >>1476006

И я уже написал (>>1476020), что квадрат -> прямоугольник.
Т.е. квадрат расширяет (специализирует) прямоугольник, т.е. явл. его потомком.

При этом, тот, кто задаст такой вопрос на собеседовании, может иметь совершенно другое мнение - у квадрата одно свойство (длина стороны), а у прямоугольника - два (длина, ширина). Как (>>1476045), например. И такая точка зрения тоже имеет право на жизнь, наверное.

Поэтому, на собеседовании лучше выдать оба варианта, с пояснениями.
Аноним 18/09/19 Срд 14:53:32 1476062322
>>1476059
Есть и третий вариант, как заметил >>1476032.
Это одно и то же - просто прямоугольник. Просто у квадрата длина и ширина равны.
И не нужно выделять квадрат в особый случай, если на это нет действительно серьёзных причин.

Более того, если даже это и имеет значение (где-то в коде), то часто можно обойтись просто сравнением сторон, и, если они равны, то делать someZalupa(rectangle). Т.е. отдельный класс не требуется в простых случаях.

Аноним 18/09/19 Срд 14:54:55 1476063323
>>1476055
>членам класса получает неограниченное количество потомков, в том числе с возможностью их модификации
И что? Почему они должны иметь к ним доступа?
Аноним 18/09/19 Срд 14:56:41 1476065324
>>1476062
Выставлять флаг в конструкторе или сеттере
Аноним 18/09/19 Срд 14:58:40 1476066325
>>1476054
Тебе написали -> >>1475028

В реальном проекте у прямоугольника будет метод isSquare, возвращающее true, если длина и ширина равны.

Прямоугольник от квадрата наследоваться не может, потому что тогда в массив<квадрат> ты сможешь запихнуть прямоугольник, что неверно. Это самый плохой вариант.
Аноним 18/09/19 Срд 15:02:59 1476070326
>>1476048
Хули безграмотному мудаку что-то отвечать?
Все равно не поймет ни хуя
Аноним 18/09/19 Срд 15:03:40 1476071327
>>1476052
>Это называется "хуёвый дизайн".
В среде тебя, твоих одноклассников и твоей мамки, наверняка
Аноним 18/09/19 Срд 15:03:54 1476072328
>>1476066
>Прямоугольник от квадрата наследоваться не может
Ну так я и написал что нужно наследовать от абстрактной фигуры

>>1476070
Но всё же я тебе ответил в надежде на твоё прозрение
Аноним 18/09/19 Срд 15:04:13 1476073329
>>1476055
про private еще не проходили в твоей школе?
Аноним 18/09/19 Срд 15:05:30 1476074330
Аноним 18/09/19 Срд 15:11:52 1476079331
>>1476071
Лол.
Ну, прямо тут уже двое, как минимум - я и >>1476066

Не нужно делать настолько контр-интуитивные вещи.
Это design smell, понимаешь?
Конкретно - Broken hierarchy.
https://en.wikipedia.org/wiki/Design_smell
Аноним 18/09/19 Срд 15:12:45 1476080332
>>1476059
Блядь, все твои рассуждения неправильны.
Потому что ты идешь хуй знает откуда хуй знает куда.

ООП нужно не для того, чтобы описывать объекты реального мира на собеседованиях или на дваче.
ООП нужно, чтобы писать программы.
Тебя не должны ебать придуманные тобой свойства (одна сторона или пять).
Тебя должны ебать только те свойства, которые будут использоваться в твоей программе, в ее продолжениях, и, если не дай бог ты делаешь библиотеку, в программах, которые будут ее использовать.
Надеюсь, что ты вообще не программируешь.
Потому что, что у квадрата, что у прямоугольника ЧЕТЫРЕ ЕБАНЫХ СТОРОНЫ, а не одна, и не две.
То, что длины каких-то сторон равны это частности.

Уже говорил, повторяю для тупых:
если у прямоугольника есть уникальные (разница длин смежных сторон не в счет, очевидно почему) нужные тебе черты, которых нет у квадрата, но не наоборот, то прямоугольник наследует квадрату
если у квадрата есть уникальные черты, которых нет у прямоугольника, то квадрат наследует прямоугольнику
если и у того,и у дргого есть непересекающиеся уникальные черты, они братья (пусть даже пятиюродные, не принципиально)
если нет уникальных черт, то они - один класс

хули тут непонятного?

при этом их уникальные черты вырастают не из учебника геометрии, а из принципов использования квадрата и прямоугольника в твоей программе.

если такие простые вещи тебе надо объяснять, то воздержись от высказываний на тему ооп. тебе еще рановато.
Аноним 18/09/19 Срд 15:14:38 1476081333
>>1476079
у меня retard smell на таких как ты
ссылочки на педивикию тебя не спасут
Аноним 18/09/19 Срд 15:16:12 1476084334
>>1476080
>ООП нужно, чтобы писать программы.
ООП не нужно.
Наследование нужно для НАПИСАНИЯ ПОЛИМОРФНОГО КОДА. А не для несуществующего ООП.
>прямоугольник наследует квадрату
Блядь, эта маня еще и падежи русского языка не знает.
Аноним 18/09/19 Срд 15:16:33 1476085335
>>1476080
Но набор методов для работы с фигурой может изменится и что будешь делать? а вот писал бы от абстрактной фигуры и всё было бы заебись
Аноним 18/09/19 Срд 15:17:33 1476087336
Спешу обоссать спорящих: квадрат не связан с прямоугольником наследованием, иначе бы это нарушило принцип подстановки Барбары Лисков. А теперь идите на хуй.
Аноним 18/09/19 Срд 15:18:46 1476090337
Аноним 18/09/19 Срд 15:20:40 1476091338
>>1476066
>В реальном проекте
Но ты же никогда не участвовал ни в одном реальном проекте. Откуда бы тебе знать?
Аноним 18/09/19 Срд 15:22:03 1476092339
>>1476087
>нарушило принцип подстановки Барбары Лисков
Обоснуй
Аноним 18/09/19 Срд 15:22:08 1476093340
>>1476080
У квадрата можно найти площадь по диагоналям, а у прямоугла нет.
Аноним 18/09/19 Срд 15:23:04 1476094341
>>1476085
Я не он, но отвечу.
Абстрактная фигура в этом случае подразумевается, естественно, как предок одного из них.
Просто речь тут не об этом.

Васян где-то услышал про хитрый казус (квадрат<->прямоугольник) и решил блеснуть эрудицией.
Когда его потыкали носом в его плохо пахнущие выделения, он ещё раз обильно просрался - >>1476080
В итоге - адекваты, зажав нос, покидают тред, лол.
18/09/19 Срд 15:23:09 1476095342
>>1476087
Если строго следовать этому принципу, то наследование вообще нельзя использовать, так как даже перегрузка toString() ему противоречит.
Аноним 18/09/19 Срд 15:23:54 1476096343
>>1476084
>маня еще и падежи русского языка не знает.
О, еще один таджик рассказывает, как правильно программировать.

В знач. сов. вида - осуществить право, в знач. несов. вида - иметь право на получение наследства после кого-н. Сын наследует отцу. Он наследовал своему дяде. А слушай, князь, ведь мы б имели право наследовать Феодору. Пушкин.
http://www.endic.ru/ozhegov/Nasledovat-17498.html
Аноним 18/09/19 Срд 15:24:18 1476097344
>>1476092
Если сделаешь что-то типа Square s = new Rectangle();
s.setWidth(1);
s.setWidth(2);

То какое поведение ты ожидаешь? Сто стороны равны? Что они одинаковы и закостылишь в сеттерах приравнивание сторон? А если в результате костылирования ты вместо переданных в сеттеры 1 и 2 получишь геттерами 1 и 1 тебя такой результат устроит?
Аноним 18/09/19 Срд 15:24:36 1476098345
>>1476095
Просто ООП это хуйня
Аноним 18/09/19 Срд 15:25:26 1476099346
>>1476097
>То какое поведение ты ожидаешь?
У объектов с мутабельным стейтом по определению стейт может меняться так, как хочет объект. На то они и объекты с мутабельным стейтом.
Аноним 18/09/19 Срд 15:25:44 1476100347
>>1476085
>Но набор методов для работы с фигурой может изменится
Это характерно для кодеров с двача.
Которые тратят силы на теоретические срачи на темы, в которых ни хуя не понимают, а не на проектирование своих систем.
Им, очевидно, ООП не нужно, они следуют отсюда в жс-тред, им там уютно.
Аноним 18/09/19 Срд 15:26:59 1476101348
>>1476098
Неработающие теоретические изыскания - хуйня. А реальное ООП вполне жизнеспособно, хоть и имеет кучу проблем.
Аноним 18/09/19 Срд 15:28:39 1476103349
Пока вы тут срались, выкатили 13 жабу не нужно.
Аноним 18/09/19 Срд 15:29:03 1476104350
>>1476096
>О, еще один таджик рассказывает, как правильно программировать.
>иметь право на получение наследства после кого-н.
>квадрат имеет право на получение наследства после прямоугольника
Ну так съеби в свой педвуз или откуда ты там.
Аноним 18/09/19 Срд 15:29:22 1476105351
>>1476097
Это лишний раз напоминает нам, что нужно разделять данные и сервисы.
И что данные должны быть иммутабельными.
И что нужно использовать фабрики.
И прочее подобное.
Не стоит искать простых ответов на сложные вопросы.

Это я к тому, что если очень надо, то можно делать наследование квадрат->прямоугольник (хотя, лучше этого избегать). Но, наоборот делать нельзя ни в коем случае.
Аноним 18/09/19 Срд 15:30:29 1476107352
>>1476093
Я ж тебе написал, что надо ориентироваться не на учебник геометрии, а на то, как ты будешь использовать свои классы.

Ты будешь задавать прямоугольник и квадрат не стороной/сторонами, а диагональю?
Ты будешь вычислять площади?

Или ты будешь рисовать на экране, в ЛЮБОМ случае задавая координаты ДВУХ углов?

Или у тебя будет какой-то процессинг, который сможет принимать только квадраты, но никогда прямоугольники (или наоборот?)

С какого хуя великие теоретики программирования с двача бросились рассказывать, что от чего должно наследовать, если не задали самых первых вопросов:
1. определи квадрат и прямоугольник
2. определи, какие функции с ними должна производить программа, и на хуя они вообще нужны (а то окажется, что в программе нужны только овалы и шестиугольники)
3. каков бюджет проекта
?
Аноним 18/09/19 Срд 15:32:24 1476109353
>>1476104
>ррряяяя, ты не владеешь русским языком!
>ах, сука, владеешь...
>тогда, тогда, тогда...
>ррряяяя, мы нинадиктанти, съеби в педвуз
пиздец, как теоретических программистов рвет на части тема квадратов и прямоугольников
Аноним 18/09/19 Срд 15:32:40 1476110354
>>1476104
Добавлю, кстати, что этот хуй >>1476107 - живое доказательство того, что такое ООП.
Это когда гуманитарии пришли в программирование и начали разводить свое типичное словоблудие. А давайте философски определим квадрат, и попилим при этом бюджет. Пиздец нахуй, и он это всерьез.
Аноним 18/09/19 Срд 15:32:42 1476111355
>>1476101
О, хоть еще один адекват в треде
Аноним 18/09/19 Срд 15:33:48 1476113356
Аноним 18/09/19 Срд 15:35:06 1476114357
>>1476100
Ты шизофреник, в курсе? Вместо конкретного ответа ты удаляешься в посторонние рассуждения.
Аноним 18/09/19 Срд 15:35:55 1476116358
>>1476110
>Я технарь!
>Гуманитарии требуют определений!
Пиздец, ты тупой уебок

>философски определим квадрат
Видно, что ты ни дня не работал программистом.
Видно, что как раз ты и есть гуманитарий, потому что не знаешь, что такое определение.
Неудивительно, что программы теперь работают через хуй - программисты не знают, что вообще они программируют. Какие-то абстрактные квадраты и прямоугольники.

>типичное словоблудие
>ррряяяя, ООП нинужна, ООП ниработаит
О, да.

А ты чо не в школе-то?
Уже домой пришел?
А уроки что не делаешь?
Мамка заругает, смотри.
Аноним 18/09/19 Срд 15:36:47 1476117359
>>1476114
Нельзя конкретно ответить на незаданный вопрос.
Нельзя конкретно ответить на мудацкий вопрос.
Нельзя лично тебе конкретно ответить так, чтобы лично ты понял, потому что ты умственно отсталый.
Аноним 18/09/19 Срд 15:37:07 1476118360
>>1476116
>Видно, что ты ни дня не работал программистом.
Аноним 18/09/19 Срд 15:38:03 1476119361
>>1476107
>геометрические фигуры
>надо ориентироваться не на учебник геометрии
Вот именно для тебя, и для таких как ты, пишут статьи про design smell.
Специально для тебя, понимаешь?
Не пренебрегай.
Аноним 18/09/19 Срд 15:38:27 1476120362
>>1476107
>Ты будешь задавать прямоугольник и квадрат не стороной/сторонами, а диагональю?
И так, и так. Несколько конструкторов, перегрузка методов, не слышал?
Вот тебе видос, для твоего уровня.

https://youtu.be/4HJUX_BQgGI
Аноним 18/09/19 Срд 15:41:25 1476124363
>>1476116
>нет ты, ты гуманитарий
>нибамбит
Аноним 18/09/19 Срд 15:41:28 1476125364
>>1476120
Мудака справшивают, что и как он будет делать в своей системе.
Мудак рассказывает, как вообще бывает в жизни.
Употребляет слабопонятные слова типа "перегрузка" и пр.
Найс.

Я теперь сколен согласиться с долбоебом про "ооп не работает".

ВАМ, УЕБКАМ, к ООП даже на километр подходить не следует.
Аноним 18/09/19 Срд 15:42:24 1476126365
>>1476119
Не удивлен, что ты ни хуя не понял из того, что я написал.

Я тут паре имбецилов сказал, что им бесполезно что-то объяснять, они обиделись.
Ты отличная иллюстрация безсполезности объяснения чего-либо имбецилам.
Аноним 18/09/19 Срд 15:42:54 1476127366
>>1476124
А что боевые картиночки не хуяришь?
Твой уровень дискуссии, не сдерживай себя.
Аноним 18/09/19 Срд 15:44:50 1476128367
>>1476109
На флоте тебя порвут за неправильное ударение в слове компас, например. Если ты не можешь в профессиональный сленг (а профессионалы пишут "квадрат наследует прямоугольник", подразумевая кальку с английского square inherits rectangle), то очень сильно палишь свою диванность.
Но я тебя узнал, ты тот шизик из ньюфаготреда, только теперь ты не ставишь пробел после номера поста, чтобы не так сильно палиться.
Аноним 18/09/19 Срд 15:48:29 1476131368
>>1476125
>Употребляет слабопонятные слова
ньюфаг порвался
Аноним 18/09/19 Срд 15:51:17 1476135369
>>1476126
> определи квадрат и прямоугольник
> ты ни хуя не понял из того, что я написал.

Они уже определены. На уроках геометрии в средней школе.
Если ты хотел это использовать просто как абстрактный пример, надо было подобрать соответствующие модели.
А так - получилось, что ты несёшь хуйню с упорством, достойным лучшего применения.
Аноним 18/09/19 Срд 15:56:54 1476138370
>>1476125
>Употребляет слабопонятные слова типа "перегрузка" и пр.
Аноним 18/09/19 Срд 16:09:30 1476150371
>>1476138
Это для синьоров что-то.
Аноним 18/09/19 Срд 16:13:12 1476154372
Несмотря на попытки программистишков с этой доски противопоставлять себя заводчанам и бойцам скота, ООП это как раз подтверждений того, что работа программиста низкоинтеллектуальна, и больше похожа хоть и не на забой скота, но на починку автомобилей или приготовление еды (по словам одного из столпов ООП), чем на науку и ресерч. Современные тенденции типа ФП здесь не в почете. Слесари для собственного утешения даже придумали библиотеку vavr, чтобы подкапотное говно во время починки очередного мерседеса не так резало глаза.
Аноним 18/09/19 Срд 16:22:55 1476163373
Сами, блядь, авторитетные авторы книг про ООП пишут в них, что разработка софта похожа на приготовление еды. Ебаный стыд.
Аноним 18/09/19 Срд 16:34:59 1476175374
А в какой версии джавы ввели аналог цикла foreach ?
Ну где for(element : collection)
Аноним 18/09/19 Срд 16:35:26 1476177375
>>1476154
>подкапотное говно
Заглядывал ли ты хоть раз под капот мерседеса, юный поддаван?
Аноним 18/09/19 Срд 16:38:30 1476179376
Аноним 18/09/19 Срд 16:41:20 1476185377
Аноним 18/09/19 Срд 16:42:17 1476187378
>>1476179
Нет, похоже, я не прав.
Аноним 18/09/19 Срд 16:59:02 1476194379
 .png (10Кб, 564x269)
564x269
>>1476187
>>1476179
Неправда.
Парни, я не могу светлую тему сделать, я дома в темноте сижу без света, будет глаза трахать.
Аноним 18/09/19 Срд 17:42:55 1476210380
>>1476128
>>1476131
Семен рассказывает о своих фантазиях
Продолжай
Аноним 18/09/19 Срд 17:44:17 1476212381
>>1476135
Заебись.
Один задает охуительный вопрос, что из чего расти должно - квадрат из прямоугольника, или наоборот.
Другой не вырос из уроков геометрии, но тоже зашел попиздеть.
И везде им мерещится хуйня.
Во что ява-тред превратили, пиздец просто.
Аноним 18/09/19 Срд 17:46:56 1476214382
>>1476119
>>геометрические фигуры
>>надо ориентироваться не на учебник геометрии
>Вот именно для тебя, и для таких как ты, пишут статьи про design smell.
Охуеть.
В любой системе есть сущность Пользователь. В 99.999% случаев это человек.
Очевидно, ты сперва заглядываешь в учебник биологии, наследуешь юзера от людей, тех от гоминид, и так далее до хордовых.
Ну, удачи тебе, нюхатель дизайнов, удачи. Она тебе не помешает.
Аноним 18/09/19 Срд 17:46:56 1476215383
>>1476177
>Заглядывал ли ты хоть раз под капот мерседес
Я бы нырнул к ней
Аноним 18/09/19 Срд 17:47:59 1476217384
>>1476128
>На флоте тебя порвут
Ты уже пофантазировал, что знаешь что-то про программирование.
Теперь, вот, фантазируешь, что неебаться много знаешь про флот.
Расскажи еще о своих фантазиях, давай, жги!
Аноним 18/09/19 Срд 17:49:28 1476218385
>>1476128
На флоте тебе будут рвать попку негры своими BBCб оооххх...
Аноним 18/09/19 Срд 17:50:02 1476219386
>>1476214
>>1476217
Гуманитарношизик упорно пытается вытащить из жопы дилдаки, напиханные целым тредом.
Аноним 18/09/19 Срд 17:50:11 1476220387
Аноним 18/09/19 Срд 17:50:35 1476221388
>>1476218
Ты перепутал, перезвоним-тред - соседний
Аноним 18/09/19 Срд 17:50:50 1476222389
>>1476219
Ага, еще фантазии про дилдаки в жопе.
Продолжай, не останавливайся.
Аноним 18/09/19 Срд 17:51:34 1476224390
>>1476219
>Гуманитарношизик
К сожалению ты слился как школодаун
Аноним 18/09/19 Срд 17:51:38 1476225391
>>1476154
А ты кем работаешь, интеллектуал?
Аноним 18/09/19 Срд 17:52:03 1476227392
>>1476221
Я не виноват, что всплеск фантазии. Но я правда thicc тянку представил, если что. Просто представь корабль в море и одна блондинка на команду негров.
Аноним 18/09/19 Срд 17:53:03 1476228393
>>1476220
Уже скидывал отвiт, ты мог подсмотреть >>1476194
Аноним 18/09/19 Срд 17:54:20 1476230394
>>1476224
Ты самослился на фразе 'Употребляет слабопонятные слова типа "перегрузка" и пр.'
То, что ты буйный и будешь еще весь вечер говорить о том, как ты не обосрался, а я нет, сути дела не меняет.
Аноним 18/09/19 Срд 17:55:07 1476231395
>>1476227
Эх ты, куколдик, лучше б ты пидором был((((
Аноним 18/09/19 Срд 17:57:20 1476235396
>>1476231
Я негр. Точнее смугловатый, меня заебали летом спрашивать "ты что, на море был?"
Аноним 18/09/19 Срд 17:58:39 1476237397
>>1476230
Он сейчас будет говорить, что учил джаву на английском языке.
Аноним 18/09/19 Срд 17:59:45 1476238398
>>1476230
До этого не я писал, но ты скатился до визгов о гуманитариях
Техническая победа у твоего оппонента и твоё очко уходит в зрительный зал.
Аноним 18/09/19 Срд 17:59:47 1476239399
>>1476235
Теперь представляйся везде копченый-кун
Аноним 18/09/19 Срд 18:00:38 1476241400
>>1476220
Я вообще мимо проходил, на ООП мне похуй. С версией да, проебался.
Аноним 18/09/19 Срд 18:01:05 1476242401
>>1476230
>слабопонятные слова типа "перегрузка"
Просто ты ньюфаня затеял бой против кадрового офицера и потерял контроль
Аноним 18/09/19 Срд 18:02:34 1476243402
>>1476239
Не надо, я не вниманиеблядь. Просто тут полтреда шитпостить начало, а чем я хуже. Но я может и не совсем нормис-натурал, мне не нравится вагина и вагинальный секс с тянками, не дрочу на такое. Все, не буду больше писать, не репортите
Аноним 18/09/19 Срд 18:26:22 1476250403
>>1476238
>До этого не я писал, но ты скатился до визгов о гуманитариях
Ну вот тебе предложение:
>Или у тебя будет какой-то процессинг, который сможет принимать только квадраты, но никогда прямоугольники (или наоборот?)
>но никогда прямоугольники (или наоборот?)
Наоборот. Т.е. мы имеем функцию process(array<rectangle> yoba), которая упадет, если в массиве окажется прямоугольник с равными сторонами. Такую хуйню мог написать только гуманитарий, который в принципе не думает, что пишет.
Собственно, в том посте я могу каждое предложение аргументированно разнести. У меня от каждого блядь предложения кринж. Начиная с непонимания того, что конструкторы не полиморфны, кончая претензией мани с проблемой со школьной геометрий к теоретикам программирования. Типа, нашелся такой великий практик, который несет кринжовую хуйню с серьезным лицом, а мы тут теоретики собрались.
Аноним 18/09/19 Срд 18:35:00 1476256404
>>1476250
>которая упадет, если в массиве окажется прямоугольник с равными сторонами
ты тупой? Как у него могут быть равные стороны? Это либо объект не имеющий отношения к реальному прямоугольнику либо ты обосрался и создал объект с недопустимыми параметрами.

прекращай уже
Аноним 18/09/19 Срд 18:46:17 1476268405
Apache commons-configuration - норм штука или можно без нее обойтись? И кстати, почему apache сделали вообще ВСЕ? Разве что своего DI-контейнера нет, и то я не уверен.
Аноним 18/09/19 Срд 18:58:21 1476271406
Аноним 18/09/19 Срд 19:07:02 1476274407
>>1476250
>>Или у тебя будет какой-то процессинг, который сможет принимать только квадраты, но никогда прямоугольники (или наоборот?)
>>но никогда прямоугольники (или наоборот?)
>Т.е. мы имеем функцию process(array<rectangle> yoba), которая упадет, если в массиве окажется прямоугольник с равными сторонами.
Пиздец, ты тупой.
Попроси мамку почитать тебе про курочку Рябу. Это твой интеллектуальны максимум
Аноним 18/09/19 Срд 19:08:06 1476275408
>>1476250
>кринжовую
Ух, бля, а чо ты про "токсичный" ничего не написал?
Смотри ножки не отморозь в подвернутых штанишках.
Аноним 18/09/19 Срд 19:10:32 1476277409
>>1476256
Это "программисты", которых вы заслужили.
Вы не пиздите их ногами, не ссыте им за воротник. Вы здороваетесь с ними, и думаете про себя "ну, может, он поумнеет, а пока пусть веб-морду сверстает, пока мы на яве пишем".
Вот они и прорываются сюда с "кринжовой хуйней", думая, что сейчас они всех научат нюхать дизайн.
А раньше бы он пошел в ларьке пепси-колой торговать на третьем дне испытательного срока.
Это, блядь, сейчас все добренькие.
Аноним 18/09/19 Срд 19:13:00 1476279410
>>1476274
>>1476275
>>1476277
Гуманитарий, считающий, что прямоугольников с равными сторонами не бывает, тактически семенит, пытаясь перевести все в плоскость личности.
Аноним 18/09/19 Срд 19:18:45 1476282411
На собесе спросили архитектуру CORBA, пиздос...
Аноним 18/09/19 Срд 19:19:53 1476284412
Уровень обсуждений в треде напоминает это видео >>1473590
Мусолить очевидную на уровне подсознания хуйню про ооп - это уметь надо.
Аноним 18/09/19 Срд 19:32:52 1476299413
image.png (2640Кб, 1920x1080)
1920x1080
>>1476284
Вот кстати фото по ту сторону видоса.
Аноним 18/09/19 Срд 19:33:47 1476301414
image.png (524Кб, 800x750)
800x750
Аноним 18/09/19 Срд 20:00:37 1476332415
>>1476066
>В реальном проекте у прямоугольника будет метод isSquare
так и вижу конструктор с десятком аргументов - isSquare, isTriangle, isCircle. Вот это как раз и есть ужасный дизайн. И ооп приводит именно к такому подходу
Аноним 18/09/19 Срд 20:02:52 1476335416
>>1476073
width и height у класса "прямоугольник" будешь делать private?
Аноним 18/09/19 Срд 20:07:41 1476343417
>>1476085
>а вот писал бы от абстрактной фигуры и всё было бы заебись
как ты для абстрактной фигуры будешь писать метод например расчёта периметра?
if (this instanceof Square) return width 4;
else if (this instanceof Rectangle ) return (width + height)
2

Аноним 18/09/19 Срд 20:08:33 1476345418
image.png (828Кб, 1283x1250)
1283x1250
Интересно, что бы на ваш спор сказал mr Nagoor Babu ?
Аноним 18/09/19 Срд 20:09:13 1476349419
Аноним 18/09/19 Срд 20:09:46 1476351420
>>1476101
>А реальное ООП вполне жизнеспособно, хоть и имеет кучу проблем.
>реальное ФП вполне жизнеспособно, хоть и имеет кучу проблем.
Аноним 18/09/19 Срд 20:10:49 1476352421
>>1476349
Нет, надо интерфейсом.
Аноним 18/09/19 Срд 20:12:10 1476354422
Аноним 18/09/19 Срд 20:13:02 1476357423
>>1476352
Зависит от контекста.
Аноним 18/09/19 Срд 20:17:01 1476361424
>>1476357
В общем случае, интерфейсы + делегирование - лучше.
Лучше пахнет.
Аноним 18/09/19 Срд 20:17:09 1476362425
Аноним 18/09/19 Срд 20:19:29 1476365426
>>1476361
Да я отсюда чувстсвую, как от тебя гавной воняет.
Аноним 18/09/19 Срд 20:20:03 1476367427
>>1476362
>V8 is Google's open source JavaScript engine
Опять сука хипстеры тред перепутали! Пошел нахуй отсюда!
Аноним 18/09/19 Срд 20:25:59 1476370428
Аноним 18/09/19 Срд 20:31:15 1476373429
энтерпрайз вей -
public static double calculatePerimeterRectangle(double height, double width) {}

легко писать, легко тестировать, потокобезопасно, расширяемо

ООП вей - анальный цирк с наследованием и попытками выяснить, кто чей предок. Почти сразу появляются грозди instanceof и ClassCastException. Появляется проблема потокобезопасности. Сложно тестировать. Любой потомок может наследовать метод и изменить его, благодаря полиморфизму это никто не заметит, и оно будет считать неправильно
Аноним 18/09/19 Срд 20:32:59 1476374430
Аноним 18/09/19 Срд 20:35:01 1476377431
>>1476351
"Реальное" ООП хотя бы существует.
Аноним 18/09/19 Срд 20:35:46 1476378432
>>1476373
> грозди
Гроздья, блять.
Или кучи, тогда уже.
И никакой связи с ООП, как таковым.

Данные наследовать не нужно. Нужно наследовать сервисы.
А ещё лучше - делегировать + интерфейсы.
Анальный цирк - он в голове, а не в абстрактной методологии, которую как хочешь, так и реализуй.
Аноним 18/09/19 Срд 20:40:16 1476379433
>>1476378
>Анальный цирк - он в голове
Ага, у тебя, например.
Аноним 18/09/19 Срд 20:53:51 1476388434
>>1476099
Принцип Лисков не про стейт, а про поведение объектов. Поведение наследника не должно противоречить поведению родителя. Но в примере с Square s = new Rectangle() или Ractangle r = new Square() имеем противоречие с тем, что ожидается, что сторона объекта будет удовлетворять одним условиям, а на самом деле все по-другому.
Аноним 18/09/19 Срд 20:56:17 1476390435
>>1476097
ебанашка кто ж так инициализирует
Аноним 18/09/19 Срд 20:57:36 1476391436
>>1476388
>Поведение наследника не должно противоречить поведению родителя
тогда любое переопределение метода незаконно
Аноним 18/09/19 Срд 20:58:33 1476392437
>>1476256
>Как у него могут быть равные стороны?
Блядь, ебланы, заткнитесь. С какого хуя это у прямоугольника не могут быть равные стороны? Ой блядь вы здесь ролидовые. Вы же даже школьный курс геометрии не осилили. Вы, наверное, из тех идиотов, которые вечно бугуртят от комплексных числах и говорят про то, что в жизни пригодится, а что нет.
Аноним 18/09/19 Срд 20:59:40 1476393438
>>1476392
Какие ебланы, тут один шизик семенит.
Аноним 18/09/19 Срд 20:59:40 1476394439
Я так понимаю, что хорошей литературы по ОО проектированию тут никто не читал.
Аноним 18/09/19 Срд 21:03:31 1476395440
>>1476394
Нельзя читать то, чего нет
Аноним 18/09/19 Срд 21:03:48 1476396441
>>1476393
Двачую. Когда его в очередной раз мокнули в чан с гавном он чуть выждав прибегает и начинает свои жирные набросы >>1476392
Аноним 18/09/19 Срд 21:04:02 1476397442
>>1476373
> Любой потомок может наследовать метод и изменить его
final
Аноним 18/09/19 Срд 21:07:40 1476398443
>>1476396
Это ты тот ебанат, который уверен, что прямоугольников с равными сторонами не бывает? Наверное, в твоем убитом ООП умишке он сразу превращается с сущность с другим типом, ебанашка.
Аноним 18/09/19 Срд 21:11:38 1476399444
>>1476391
Будет незаконно, если вместо сложения чисел метод выполнит, например, деление. Пока он делает то, что ожидается, переопределение законно.
Аноним 18/09/19 Срд 21:12:08 1476400445
>>1476388
Твое "поведение" - это и есть смена стейта (либо объекта, либо мира). Принцип Лисков - про то, что потомок не должен менять инварианты предка.
Проблема в том, что эти инварианты - вне языка. То есть если для тебя код

Square s = new Rectangle();
s.setWidth(1);
s.setHeight(2);

вызывает проблему, то это потому что ты выбрал то, что setHeight не может менять поле width класса. Хотя казалось бы, с хуя бы. setHeight - это метод, это не поле.

В этом и есть самая большая проблема ООП - оно ни о чем.
Аноним 18/09/19 Срд 21:14:38 1476402446
>>1476399
@Override
public double getPerimeter() {
return super.getPerimeter() + 1;
}

такое законно?
Аноним 18/09/19 Срд 21:19:35 1476403447
>>1476402
Можно ли так?
Да, можно.
Дуракам всё можно.
Аноним 18/09/19 Срд 21:26:29 1476406448
>>1476403
Rectangle rectangle = new Rectangle() {
@Override
public double getPerimeter() {
return super.getPerimeter() + 1;
}
}

а так?
Аноним 18/09/19 Срд 21:28:44 1476407449
>>1476403
Если базовый класс складывает обычные числа, то метод наследника для длинных чисел add должен выполнять сложение длинных чисел, а не какую-то другую операцию, которую придумал умник с двача. Проблема здешних долбоебов в том, что они за деревьями (языком) не видят леса (предметной области). Вы же не гуманитарии, чтобы какой-то нелогичной хуйней заниматься, вам нужна строгость, а лучше гост. И за отступление от госта увольнение.
Аноним 18/09/19 Срд 21:30:30 1476409450
>>1476407
И да, все это касается того, что вне языка, как и предметная область, за работу в которой вы получаете деньги. Хотя с такой дискуссией начинаю сомневаться в том, что здесь кто-то работает.
Аноним 18/09/19 Срд 21:37:28 1476412451
>>1476409
Ну то есть ООП предметную область смоделировать не в состоянии
Аноним 18/09/19 Срд 21:45:36 1476416452
>>1476412
Ну если твои проекты ничего не моделируют и ничем не полезны, может тогда программирование это не твое?
Аноним 18/09/19 Срд 22:17:40 1476437453
А метки можно юзать или это осуждается?
Аноним 18/09/19 Срд 22:18:55 1476438454
Аноним 18/09/19 Срд 22:19:12 1476439455
18/09/19 Срд 22:20:19 1476442456
>>1476406
Представил, как могло бы выглядеть код-ревью подобного шедевра.
18/09/19 Срд 22:22:37 1476444457
>>1476439
ДуркаСофт.
Лучшие ОО проектировщики мейлача наследуют квадрат от треугольника.
4 угла - это же больше, чем 3.
18/09/19 Срд 22:24:39 1476445458
Блядь, ну что за хуйня - саганул 1 раз в другом треде, и сажа так и тащится дальше, пока руками не снимешь. Программисты хуевы.
Аноним 18/09/19 Срд 22:33:43 1476455459
image.png (18Кб, 455x242)
455x242
Аноним 18/09/19 Срд 22:34:50 1476457460
>>1476455
Чем тебе nanoTime не нравится?
Аноним 18/09/19 Срд 22:36:03 1476458461
>>1476457
С чего ты взял? Просто вызов без использования возвращаемого значения.
Аноним 18/09/19 Срд 23:03:50 1476474462
Аноним 18/09/19 Срд 23:42:15 1476495463
puking-rainbows.jpg (89Кб, 1863x1048)
1863x1048
>>1476455
Бля, как же это охуенно, возьму на вооружение
Аноним 19/09/19 Чтв 00:02:55 1476510464
>>1476282
Легаси, заебок.
Ничего нового знать не надо, надо уметь аккуратно копаться в говне мамонта.
Зависит от человека, некоторым вполне нравится. А некоторые не могут вовсе.
Деньги платят, и хули от них отказываться, если умеешь?
Аноним 19/09/19 Чтв 00:04:51 1476511465
>>1476335
Я закончил школу 25 лет назад.
С хуя ли мне программировать прямоугольники?
Это теперь ваше поле, молодежь, развлекайтесь!
Аноним 19/09/19 Чтв 00:06:20 1476512466
>>1476362
БВААХАХАХАХАХАХАХАХАХАХА
JavaScript
Ой-вей, думал, сегдоня уже ничего смешнее школьников, которые не знают, чем квадрат от додекаэдра отличается, не увижу
Аноним 19/09/19 Чтв 00:07:23 1476514467
>>1476374
Зумер называет "плюсы" "крестами", надеясь прослыть опытным пацаном
Ну, ооооок
Аноним 19/09/19 Чтв 00:07:55 1476515468
>>1476390
Он дизайны нюхает, не мешай ему
Аноним 19/09/19 Чтв 00:09:02 1476516469
>>1476394
Тут вообще никто ничего не читал.
Школьники опять спутали яваскрипт с явой и пришли поучить всех жизни
Аноним 19/09/19 Чтв 00:10:25 1476517470
>>1476409
Им насрать на предметную область, они лучше заказчика знают, что такое квадрат, а что такое прямоугольник.
Тут почти все миллиардеры, короче
Аноним 19/09/19 Чтв 00:11:09 1476518471
>>1476412
Прекрасно моделирует.
Просто ты не умеешь.
Да и ни в одной предметной области ты не разбираешься, чо уж.
Аноним 19/09/19 Чтв 01:21:46 1476543472
Хе-хе.
ООП-теоретики приумолкли.
Кому завтра к первому уроку, кому КРУДы херачить на пхп с 9-ти утра.
Аноним 19/09/19 Чтв 01:28:58 1476546473
>>1476543
Физик, кончай семенить
Аноним 19/09/19 Чтв 01:49:23 1476550474
>>1476268
бля зайди попозже, тут сеньоры разбираются куда квадрат отнаследовать
На самом деле я рад, что тред живой
Аноним 19/09/19 Чтв 02:37:48 1476562475
>>1476268
Какие задачи ты хочешь ей решить?
Пропертис ты и так прочтешь, например.
Хочешь ли ты, действительно, еще одну библиотеку себе в проект добавить?
Да и вообще, посмотри, сколько классов в иерархии между Объектом и org.apache.commons.configuration2.XMLConfiguration.
А тебе в треде уже сазали, что ООП не работает.
Аноним 19/09/19 Чтв 07:35:27 1476598476
>>1476514
>зумер называет кресты плюсами
ну оооок
Аноним 19/09/19 Чтв 12:34:42 1476720477
Посоны, нужна помощь. Есть некий объект с 50+ полями. Мне надо собрать статистику с 10-12 полей. Сильно упрощенный и приблизительный код:

getStats(MyObject object) {
MyStatistics stat = new MyStatistics();

if ( object.getAttribute1 != null ) {
stat._stat1++;
}
if ( !object.getAttribute2.strip().isBlank() ) {
stat._stat2++;
}
// ......
}

Вопрос: как сделать более правильно? Убрать кучу ифов чтоб в будущем можно было просто расширить. Поидее что-то типа мапы, где будут сопостовляться атрибуты. Но чет не догоняю что именно мне нужно и как это сделать.
Аноним 19/09/19 Чтв 12:41:43 1476724478
>>1476720
>stat._stat1++;
мы вам перезвоним
Аноним 19/09/19 Чтв 13:41:24 1476766479
>>1476724
По делу есть что сказать?
Аноним 19/09/19 Чтв 13:51:50 1476782480
Аноним 19/09/19 Чтв 16:09:48 1476908481
>>1476782
Не очень представляю как это должно выглядеть. Как такое вообще гуглить?
Аноним 19/09/19 Чтв 17:07:31 1476949482
>>1476598
>07:35:27
Вижу, перед школой зашел ответить. Молодец. Не опоздал на уроки-то? Сменку не забыл?
Аноним 19/09/19 Чтв 17:09:49 1476950483
Аноним 19/09/19 Чтв 17:19:22 1476962484
>>1476908
На самом деле, ты делаешь что-то очень странное. Нет варианта хранить один Map вместо десятков полей и методов?
Ну, если нет, рефлексию можно юзать в твоём случае так. Генерируешь название метода в виде строки, узнаёшь, как с помощью рефлексии получить объект класса Method, соответствующий нужному методу, а затем просто его вызываешь. Но трижды подумай, прежде чем так делать. Пожатый вебпаком js-код и то читабельней.
Аноним 19/09/19 Чтв 17:55:11 1476988485
Аноним 19/09/19 Чтв 19:17:29 1477045486
Аноним 19/09/19 Чтв 19:22:30 1477051487
В джаве нет структур!
Аноним 19/09/19 Чтв 19:24:52 1477055488
в джаве есть структуры вообще-то
Аноним 19/09/19 Чтв 19:25:03 1477056489
>>1477051
Как отдельного типа данных или они не реализовываются?