Это копия, сохраненная 13 февраля 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Java - язык программирования с классами и статической типизацией.
Мне уже нравится. А что ещё делает Java лучшим языком программирования?
- На Java написано столько всего, что любая твоя невообразимая идея уже существует в виде библиотеки, которую можно скочать и юзать;
- Java - мультипарадигменный язык, тут можно писать в любом стиле, который тебе вздумается, даже к памяти можно получить доступ через Unsafe, но, при этом, спроектирован язык для того, чтобы на нём писали в объектно-ориентированном стиле;
- От прошлого пункта плавно перешли к отличной проработке языка - язык с самого начала задумывался как язык для ООП и многопоточности, благодаря чему писать чистокод на Java легче, чем на любом другом языке;
- Java - относительно молодой язык, который до сих пор активно развивается дедами из Oracle;
- Java следует принципу write once во всём. Java никогда не ломает обратную совместимость - твой код, написанный на Java 1.2 будет работать на Java 19 - и не зависит от платформы, являя из себя единственный полностью кроссплатформенный язык с кроссплатформенной экосистемой (если не считать языков-паразитов на JVM).
Тред по жабе на гитхабе: https://github.com/java2ch/java-thread
Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki
Предыдущий: >>2531375 (OP)
ЖАБА ГОРАЗДО ХУЖЕ, ЧЕМ ШАРП
Например мне не нужно хранить сущность,а нужен только ее айдишник. Плюс чтобы хранить сущность очевидно нужно больше ресурсов чем чтобы хранить поле с ключом
Не нужно. Нет.
Так причем тут перфоманс? Это чтобы поля не занулять и самому это ручками не писать. Жпа это вообще не про перфоманс. Никаких хуйлоадов на нем быть не может.
потому-что орм не нужен и вреден
Ты считаешь что если не биг дата,и через приложуху не ходят терабайты данных в секунду то можно забить хуй на оптимизацию?
Да. Сперва пишем, потом оптимизируем, если надо исходя из метрик и нагрузочного тестирования. Только уж совсем косяков, типа n+1 не допускать. Для этого в хуйбирнате есть средства.
Мы например не используем орм, только статический билдер. Но у нас в не очень нагруженных местах пишут по 2-3 простых запроса, вместо одного сложного, чтобы сэкономить время. Я сперва с этим боролся, но теперь сдался.
>Мы например не используем орм
руками я пишу джойны, через jooq-dsl. Когда маленько писал на жпа - графами делал.
![image.png](https://2ch.life/pr/thumb/2542909/16711957515490s.jpg)
>И что это? Поставил, та же ерунда, только теперь до нампада тянуться надо. Чтобы раскомментировать блок всё равно его нужно полностью выделять.
Ты хуй
Нет ты.
В чем конкретно?
Java
Результатов: примерно 1 050 000 000 (0,40 сек.)
Kotlin
Результатов: примерно 118 000 000 (0,33 сек.)
>Менее "многословный" синтасис
В чем плюс? Чем больше слов тем понятнее.
>функциональные фичи
В яве тоже.
>null pointer exception пофикшен
Скорее наоборот сломан, так как котлин полагается на жидбрейновские аннотации для определения типов из ява библиотек, а в аннотациях можно напиздюнькать. Плюс проверки в рантайме замедляют код.
![image.png](https://2ch.life/pr/thumb/2542909/16712052958250s.jpg)
Пушто это просто пиздец, пикрелейтед, разные подходы пытаюсь использовать и нихуя.
Если сами не знаете то может подскажите какие чаты или сборища олдов?
Мне надо, чтобы по языку было много информации в сети.
Так они ее для гуя в мобилках пиарят. В гуе намного больше write-only кода. В жс, не знаю, как в андроиде на обратную даже инфраструктурных библиотек кладут болт. Легче задеприкейтить и переписать фичу с нуля.
В сфере жабы код живет десятилетиями и может читаться сотни раз десятками людей.
А переход это всегда много времени ради не таких и больших профитов.
Вчера попытался оценить переход со спрингбута 2.7.3 на 3.0 в микросервисе на 30к строк, который уже на 17 жабе. Думал вдруг там почти ничего не надо.
Кроме ожидаемых javax - jakarta еще выпилили некоторые классы в кафке. И а из-за фейна почему-то падал рантайм. Разведка показала, что переезд отодвигается на полгода.
Это много типа для микросервиса или что?
Котлин отстойный язык, даже хуже, чем шарп
Было окончательное уничтожение здравого смысла.
Это треды? Это не треды? Это треды, но под капотом не треды?
Это не треды, но под капотом треды?
С ними можно работать например в спринге обычном? или надо вебфлакс?
А сервер решает? Томкат например. Или надо нетти(или джетти, я забыл какой там асинхронный). Ктор?
Я не рофлю а реально не помаю почему нигде нет простого объяснения, везде стены текста, будто они новую свехтехнологию придумали, хотя это просто многопоточка по итогу.
Помню когда старым пользовался, меня обоссывали и били, говорили переписывай мапами, ифами как хочешь, но кто свичнеться - то пидор.
Как там с новым дела обстоят?
Новый свич для зумеров.
Наконец-то завезли exhaustive проверка енамов. А в двадцатой джаве можно будет ебануться на отличненько с рекордами.
Свич на морские интерфейсы - ультимативная основа, которая, к сожалению, очень сильно недооценивается.
А вообще Executor сервисы?
Он создаёт пул тредов с прогретыми кэшами и пихает отдельные твои корутины в один из тредов из пула.
А кто такие сишарперы? Это ребята, которые в больницах формочки шлепают за 30к? И за еду пишут лагающие игры на юнити? Мне на них похуй.
Что он несет - инженеры, девелоперы. И там и тут - анальники, в джаве вдовесок еще и культисты.
>Это треды? Это не треды? Это треды, но под капотом не треды?
Есть такое понятие - "зеленые потоки". Это типа потоки, но управляемые не операционкой (как в случае с нативными тредами), а виртуальной машиной. Отвязка от нативных потоков позволяет реализовывать параллелизм альтернативными методами. Так вот, корутины - это не нативные потоки, но одна из реализаций зеленых потоков, сделанная для котлина. Корутины исполняются на нативных потоках, но не приколочены к ним гвоздями, за счет чего один небольшой тред пул может обслуживать миллион корутин.
>А сервер решает? Томкат например. Или надо нетти(или джетти, я забыл какой там асинхронный). Ктор?
Здесь важна асинхронность. Корутины имеет смысл использовать исключительно с неблокирующим апи. Из вышеперечисленных тобой серверов в теории подойдут все. Томкат и джетти - сервлет контейнеры, асинхронность у сервлетов реализована с версии 3.1. Netty - NIO фреймворк, неблокирующь по определению.
На практике правда вопрос сводится к объемам пердолинга, поэтому на первый раз имеет смысл взять что нить изначально под корутины заточенное (типа ktorа).
>С ними можно работать например в спринге обычном? или надо вебфлакс?
Можно, но пользы от них в обычном спринге скорее всего будет не очень много. Как я уже сказал - с корутинами важна асинхронность. Если несколько шальных корутин впорется в блокирующий неасинхронный API и залочат нативные потоки исполнения, на которых эти корутины исполняются, ты получишь ровно такой же результат как и без корутин (просадка пропускной способности сервиса). При этом ты еще будешь впустую тратить ресурсы на обслуживание корутинконтекстов.
ID передаётся для того, чтобы было ясно, новая это сущность, или нет. Если есть ID, просто отдаёшь сущность на save.
Выбираешь факультет по ID, устанавливаешь значения полей, как в реквесте и save. Альтернативно маппером создаёшь entity из реквеста и кидаешь её в saveOrUpdate
Там куча подводных. Особенно если использовать JpaSpecificationExecutor. Bytecode instrumentation наше всё до сих пор.
Это software engineering. Нафига им знать твой сопромат?
Никогда не причислял программистов к инженерам. Какого хуя из-за шизиков программистам на программистских специальностях в вузах надо учить всякую хуйню типа черчения и инженерной графики? Спасибо ещё, что нет химии и сопромата ебаного.
Ну да, а вместо этого причисляют к математикам и пичкают своими теоремами. А потом на экзамены препод-душнила скажет тебе: как ты можешь учиться на нашем великом математическом факультете, если не знаешь такой-то теоремы!?
За рубежом уже давно ввели отдельные факультеты компьютерных наук, а у нас до сих пор под капотом физ-матов всяких.
За рубежом и гендер стадис есть с историей феминизма. Вообще не показатель.
Подскажите действительно хорошую литру по тому как вообще работает компьютер (можно несколько книг). Хорошую не в плане совсем уж на пальцах (хотя может мне так и надо), но чтобы и не в край сухо и заумно.
Заранее благодарен.
Пошёл нахуй.
Да
НЕ КОМПОЗАБЕЛЬНО Как будешь писать запросы с произвольным количеством параметров + произвольная сортировка по одному или нескольким полям?
Судя по оглавлению, это две одинаковые книги. Тогда имеет ли смысл читать обе?
По логике, во втором издании должны были подправить текст, тогда первая считается браком?
Через билдеры запросов, тупо условное добавление частей запросов в StringBuilder + установка параметров в MapSqlParameterSource. Не настолько часто приходится это делать, чтобы ебаться с ORM.
>писать запросы с произвольным количеством параметров + произвольная сортировка по одному или нескольким полям
Аккурат щас такое через jooq делаю. Все делается максимально чилово и ахуенно - берешь DSL context и делаешь запрос. Более того, помимо вышеперечисленного, в моем случае еще есть нужда делать запросы на разные сэты полей по довольно сильно денормализованной БД (которая вдовесок еще и мне не принадлежит). И на жуке при прямых руках это делается как нехуй делать. С ORMом скорее всего я б утонул в бойлерплейте и багах. Ну нахуй так жить.
Без разницы. Джаву можно изучать по книгам начала 2000-х, потому что у неё полная обратная совместимость, в отличии от сишарпа.
Предположу, потому что самые простые круды со spring data jpa делаются в пару кликов. И для прототипов подходит неплохо. А посложнее можно писать через raw sql/query dsl.
Да
Это понятно. Зачем автор издал еще одну такую же книгу и назвал 2-е издание? Или они не одинаковые?
У автора и почитай. В нормальных изданиях обычно на первых страницах написано, чем издание отличается от предыдущего.
В жабе в новых версиях появляются новые фичи. Они могут быть описаны в новых изданиях. Например с 8 до 17 появилось много фич, но маленьких и не основных, которые на обложке перечислять нет смысла.
Какие например подводные? Какой бы материал по теме я не открыл там всегда приводят графы как топ вариант при прочих равных
Мавендо сих пор используют достаточно часто. Но как правило никто в мавене не разбирается, поэтому помники на проектах быстро превращаются в парашу, и виновники этой параши, вместо того чтобы разобраться, начинают перетаскивать все на гредл... Получая в итоге парашу на груви.
Вот ты не сталкивался с ними и начинаешь предполагать, варианты накидывать кривые. Нахуя?
Читай хорстмана последнего, где есть жаба 17. А этот нонейм не нужон.
Потому что тред захватили петухонщики.
Да, именно мавен с возможностями анта. Можно превратить декларативные скрипты в процедурную парашу и раз в полгода всё переписывать из-за постоянного ломания обратной совместимости в градле. Так-то и в мавене есть AntRun plugin, но там же бумерский XML, слажн.
Да и шарпобляди походу думают, что на жабе пишут из-за каких-то сентиментальных чувств к ней, а не тупо ради работы.
Бойлерпейт (требует создания и референса в коде репозиториев), не работает для JpaSpecificationExecutor, не помогает нормально обрабатывать OneToOne. Bytecode instrumentation куда меньше просит (но придётца самому выбирать связанные сущности).
Я говорил, что их слишком много и они избыточны, а не то, что я не могу их выучить. Если захочу, то выучу. Но это не делает их нормальными.
Для оракла платный, для постгри - нет. Плюс платные некоторые фичи, которые мне кажутся ненужными.
>>вместо одного сложного
Это приведет к тому что на каждый рест запрос будешь отдельный запрос в базу писать. Оптимизировано конечно, но выглядит как говно. Для такого лучше не на джаве писать.
>>Котлин ж вроде пижже во всем джавы. Нахуя народ пишет на джаве?
Ради нескольких мелких фич учить новый язык? Нахуй надо. Написание кода и так занимает от силы 20% времени.
>>43326 (Del)
>>Менее "многословный" синтасис
Ну вот в питоне посокращали все - получилось нагромождение скобочек, спецсимволов и дроч на кол-во пробелов (лишь бы не ставить в конце строки " ; " ). Читается это намного хуже чем жаба.
Ну и опять вот перевел ты код на котлин, а его никто не знает толком. Мидлы и сеньки бугуртят, что надо че то учить за те же деньги, джуны делают фичу в 10 раз дольше с кучей ошибок. Бизнес проебывает сроки и гонит ссаными тряпками архитектора и все возвращаются на привычный спринг с кучей дешевых и опытных разрабов при точно таком же качестве продукта и скорости разработки.
>будешь отдельный запрос в базу писать. Оптимизировано конечно, но выглядит как говно. Для такого лучше не на джаве писать.
Ну иногда я перегибаю и реально хочу переписать под каждый рест запрос по методу в репо. Но например на днях апофеоз. Стажеру нужно засетить 1 поле в табличку из 8 полей. Он делает селект по айди, если ничего нет - отдает 404. А потом в полученный объект со всеми полями сетит 1 новое поле и апдейтит все. Потому что метод в репо на полный апдейт уже был. Я заставил переписать на 1 запрос с отдельным методом в репо.
Да, запрос нечастый. Да 7 лишних полей и один лишний запрос это не так много. Но ведь и update set(one field) where id = id returning(one field) -> fetchOptional(one field type) -> orElseThrow(404exception) это ведь тоже пиздец просто.
>Он делает селект по айди, если ничего нет - отдает 404. А потом в полученный объект со всеми полями сетит 1 новое поле и апдейтит все.
хибернейт так и делает
Так я ему и сказал, что мы не на jpa и можем так не делать. Неверно уже думает, что я токсичный и душный.
у меня ситуация всегда была наоборот - ревьюверы душнилы всячески внедряют jpa и бьют по рукам за sql.
Типа если что-то криво или не получается - это ты просто плохо знаешь кишочки хибернейта
>update set(one field) where id = id returning(one field) -> fetchOptional(one field type) -> orElseThrow(404exception)
че ты за хуйню написал не понял
У нас тимлид сильно против орм. И я даже часто пишу запросы с фичами постгри. И остальная часть команды это не любит, типо непереносимо(или им влом читать доку постгри). Но тимлид меня поддерживает, говорит, что мы все равно не будем уходить с постгри.
ну так и надо хули
Мавен. Почти всегда это копиапста из прежних проектов, где кроме парент помов и зависимостей нихуя и нет. Ну и еще всякие плагины для генерации жука/ломбок/мэпстракт, которые кочуют из проекта в проект.
Всерьез вникать в сборщик никому не интересно. Тащить скриптовый груви - тем более.
>>Я заставил переписать на 1 запрос с отдельным методом в репо.
И как? Сильно скорость запроса выросла?
Тут конечно как договоритесь, что важнее для вас - упор в производительность или читаемость.
Кмк для вебни на спринге упарываться в производительность не стоит - пинг у пользователя/межсервисные запросы/запрос в бд (соединение, без учета выполнения) может свести на нет все эти микро оптимизации. А вот код читать придется постоянно и каждый раз искать нет ли среди сотни методов уже подходящего (или хуярить каждый раз по новой, окончательно забив на переиспользование).
когда-нибудь пробовал включать логирование sql в хибернейте? Там прям стена и непрерывный поток select by id
>И как? Сильно скорость запроса выросла?
Без понятия. Его вариант ведь не дошел даже до дев-стенда. А локально лишний запрос это не проблема. Ну и на дев стенде бд и сервисы хоть и на разных машинах, но в одной комнате. А в проде могут быть в разных зданиях и маловероятно, но могут быть в разных городах.
Но может я и зря заставил - просто там были более критичные косяки, которые точно нужно будет поправлять. Пусть и это поправит.
>пинг у пользователя/межсервисные запросы/запрос в бд (соединение, без учета выполнения) может свести на нет все эти микро оптимизации
Для этого хотел протащить трассировку запросов во всех сервисах.
В начале лета иду на галеру, нужно понимать когда начать изучать спринг.
P.S. - На изучение Hibernate ушла 1-на неделя.
20 минут.
От недели до месяца. Хуле там учить, инфы полно даже на русском, дольше практиковаться будешь.
Просто представь, что в какой-то момент надо будет обрабаотывать не логин и ключ, а что-то другое.
Делал, лол. Создаёшь одну большую спецификацию с помощью Predicate и прочего на основе введенных пользователем параметров, экстендишь репозиторий от JpaSpecificationExecutor, что позволяет прикинуть в методы репозитория объект Specification. И уже на основе этого строятся динамические запросы к бд в зависимости от включаемых параметров. Ебало твое представили, трейняшка-пердёж?
То есть, если летом буду на собесы ходить, где-то в середине весны начинать изучение ?
Начинать обучение надо прямо сейчас. Кто знает, чем месяц для тебя обернётся. Вдруг тебя завтра отчислял, и надо будет сразу же искать работу.
Томкат учится за вечер, сервлеты на нужном уровне за пару дней, всё равно их в чистом виде почти не используют.
У меня есть спринг сервис, который возвращает на гет запросы openApi схему в теле сообщения (пускай в yml формате). Схем этих может быть много, но запрос (контроллер) один на регулярке.
Я хочу, чтобы сервис мог возвращать сваггер с перечнем этих схем в формате документации. Как мне это сделать вручную0?
Сори если сумбурно, пока только осваиваю эту тему.
![image.png](https://2ch.life/pr/thumb/2542909/16714382806960s.jpg)
Крч, к чему это я - как же ахуенна Java, как же ахуенен Spring. Просто пизда, просто технологии бОГА после залезания в бочку с плюсовым говном.
Почему для такого классного языка как джава написано такое ублюдское окружение типа мавена, спринга, хибера и прочих ЕЕ? А что более-менее приличное - платное за офигенный ценник.
мавен практически идеален. В с++ мирке так и не осилили мавеноподобое насколько знаю
Только потому, что что-то типа мавена в принципе невозможно на системном языке без виртуальной машины.
Ты просто не шаришь. Мавен - ультра удобен для управления зависимостями и жизненным циклом проекта. Советую тебе разобраться с ним, пописать собственные плагины, узнать про привязки goal-ов плагинов к lifecycle phase-ам.
Spring - ультра ахуенен, такое количества технологий, такой ебейшей эко-системы хуй найдешь.
Хибер - на вкус и цвет. Нравится писать ResultExtractor-ы и RowMapper-ы - пожалуйста.
>Хибер - на вкус и цвет
Нет, не на вкус и цвет. ORM — это отвратительный анти-паттерн. Так Егор Бугаенко сказал. Тех, кто использует ORM, надо на мороз выгонять, желательно по статье за профнепригодность.
Не стоит недооценивать тупость петушарперов.
>Щас бы в 2023 XML писать. Вы там совсем одебилели что ли?
Просто убей себя в голову, ничтожество. У мавена есть огрехи значительно серьезнее какого то вшивого XMLя, но дебилы все равно кудахчут о самой маловажной хуйне из всех возможных. Литералли не в теме сабжа, а все туда же - лишь бы к серьезным дядькам в разговор вклиниться, попущенцы ебаные.
Не знаю как раньше, но в дотнет коре файлы проекта тоже на xml и туда прописываются все зависимости и ссылки на другие сборки. Но собираются очень удобно через одну команду: dotnet restore. Хотя чаще её писать не надо, а достаточно dotnet build, а если запустить, то dotnet run.
А вот в мавене никто даже не знает на память как запустить проект. Надо копировать магические надписи из мануалов.
>А вот в мавене никто даже не знает на память как запустить проект.
Наверное потому что сначала define что значит "запустить".
А так, mvn spring-boot:run
Кроме хеллоуворлдов, нигде не работает. Надо писать длинную портянку всяких дополнительных аргументов.
все эти параметры внутри экзешника прописываются. А тут многоплатформенная жаба. Так что самому писать батники и шельники
Можно.
В сярпе ебически сложные модификаторы доступа, которые один месиный шиз не осилил.
Я не говорил, что не осилил, а то, что их слишком много. В джаве их всего 4 и хватает, а сишарпе их уже чёрт знает сколько. То ли 6, то ли 7, а может уже и больше. Сами шарписты не знают уже.
Можно писать кроссплатформенные эмуляторы 8-битных ЭВМ
На жопаскрипте слишком сложно найти работу из-за конкуренции.
А чем в жаба-треде, кроме нытья вкатунов и жирного тролинга по сотому кругу можно заниматься? Ну раз в тред или даже в два кто-то задаст какой-то вопрос, на который кто-то ответит. Тредов 5-10 назад был игродел, его поделки никого не зацепили(мне внешне понравилось, но игры надоели).
В итоге одни и те же зеленые уже не один год задают одни и те же вопросы и одни и те же люди им отвечают.
Предложи тему интересную и троллинга тупостью сразу станет меньше.
Нет.
Хз про эстетическое наслаждение, но наверное для обучения нейронок и их практического применения какой нить ограниченный подсет хаскелля бы подошёл лучше всего остального. А че - язык строгий: если компилится, значит скорее всего работает. Двусмысленостей не допускает. Артефакты (тип-классы) крайне переиспользуемы. Единственная проблема - не на чем обучать модель.
Декларативный, опять же
>на котором кроме геймдева никаких серьезных проектов тупо нет
Энтерпрайз ж любит иглу от MS.
Я из всего школьного курса помню только, что на вопросы училки надо отвечать: яс ытыз
Ну так продвинутых тем в любом стеке нет на русском. Тебе кроме языку и спринга нужно будет читать доки для десятков библиотек и мидлваров. И где то по русски вообще ничего не будет.
К примеру, { "A", "B", "C", "A", "B", "A" } - выводит A.
В цикле я без проблем такую задачу решу, но как это делать через этот корявый StreamAPI в упор не понимаю. Нафиг его вообще придумали? Каким-то придуркам из Oracle заняться было не чем, а теперь я должен голову ломать над всякой функциональщиной. Если бы я любил функциональщину, то учил был хаскель какой-нибудь, а не джаву.
>И где то по русски вообще ничего не будет
Да ну лан его пугать то, весь стек, который используется в 90 процентах случаев - не какое-то ноунейм поделище, а технологии, которые как минимум обзорные статейки на том же хабре имеют. Вот насчет детализации и познания глубины всех глубин какой-либо технологии - это да, тут без англа будет сложновато
Советую учить анлюсик. Его ща почти везде требуют. Я как то по угару собес в одну российскую галеру проходил на разработчика Axapta когда только СВО началось и посыпались отмены назначенных мне собеседований от иностранных галер. Так вот, даже в этом говне в конце собеса эти хуесосы захотели поговорить на английском. Я говорю им мол "у меня английский на уровне чтения тех документации", а они мне говорят мол "А что насчет разговорного английского? Давайте переключимся на английский".
И конец этого собеса реально был на англе несмотря на то, что это полностью российская парашная галера, что вакансия и должность - полный кал, шлак, говнище. Axapta блять, 1С, но на английском
Надо было на них донос написать потом
String[] array = new String[] { "A", "B", "C", "A", "B", "A"};
Map<String, Integer> hashmap = new HashMap<>();
String res = Arrays.stream(array).reduce(null, (prev, next) -> {
hashmap.merge(next, 1, (p, n) -> p + 1);
return hashmap.getOrDefault(prev, 0) >= hashmap.getOrDefault(next, 0) ? prev : next;});
System.out.println(res);
![words.jpg](https://2ch.life/pr/thumb/2542909/16715248045350s.jpg)
И как понять эту крольчатку?
Я вот гуглил по типовой задаче частотный словарь и вроде сляпал из их решения что-то своё. Но первые строчки тоже не понимаю.
Проблема дурацкого StreamAPI в том, что он скрывает все типы и не понятно чем ты манипулируешь. А когда идут всякие преобразования сложных вещей, то вообще голову сломать можно.
Очевидно, что StreamAPI максимально неудобен для программиста, но его насильно внедряют везде.
>но его насильно внедряют везде
Шутишь? Это одна из самых удобных фич. Скорее всего, если бы у тебя было хотя бы пару лет опыта работу, стримы бы сами собой выучились чисто за счет преимуществ удобства работы со списками.
Понятно, если деды начинали с Java 1.0 и имеют по 40 лет опыта, то их не будут на собесе спрашивать как посчитать слова через StreamAPI, а вкатуна 100% спросят. Поэтому и они будут относиться к этому функционалу положительно и применять его там, где им захочется.
А у меня вот резко негативный опыт. Если бы жил где-нибудь в США, то может подал бы в суд на Оракл за ментальное изнасилование.
Как говорится, вкатуна спросить забыли.
Получается старая идея была шустрее? Можно ли где-нибудь достать эту старую идею?
>решает инфоцыганские задачи на, прости г-споди, массивы
>заявляет что там очевидно для программиста
>пользует иде
>жалуется на отсутствие инфы по типам
ebloCollection.stream()
.filter(eblo -> eblo.equals(>>46939))
.map(Image::new)
.findFirst()
.ifPresent(ebloImage -> this.flex(ebloImage, "капчую стримы с телефона лолка"));
Да, старая идея была шустрее.
Почему ты тогда о плюсах сразу подумал?
Я не против, чтобы переписали на жабу, главное, чтобы шустро работало. Сейчас, полагаю, основная проблема идеи - куча легаси, необъятная человеческим разумом + куча функциональности.
Я бы написал легкую IDE для джавы, но мне надо готовиться к собесам, чтобы вкатиться в айти.
Легких иде и так хоть жопой жуй, идеей все пользуются, потому что она за тебя код пишет. Нужна не легкая, нужна шустрая. Если это вообще возможно.
И какие к примеру? Кроме идеи ничего нет. Эклипс тоже тяжёлый стал, нетбинс не запускается.
Ошибка 404.
Не тяжелее, но плагины не вытягивают даже минимальный функционал. Нужно ручками прописывать все команды мавена.
Нахуя ты с этим говном мамонта возисся? Наверни спринга! Спринг - топ, а это некродерьмо пусть писю сосет
vim
Бедняжка.
Их и не должно быть много,на английском ресурсов куча
Реально что ли надо так каждый раз ковырятся, чтобы запускать приложения под томкатом?
Чекни админку томката, чекни логи. Варник задеплоился? Чекни в админке context path - возможно что он нихрена не test, и ты ломишся не туда.
>его насильно внедряют везде.
Рофл блять, стримы изнасиловали еще одного джависта)
>он скрывает все типы и не понятно чем ты манипулируешь
Смотри лайфхак: берешь в правую руку манипулятор типа МЫШ. Открываешь идею на том месте, где ты последний раз видел непонятный тебе стрим. Если идея начала индексировать код, дожидаешься пока она закончит. Наводишь в коде на любой лямбда-аргумент, тип которого тебя интересует. Нажимаешь на устройстве ввода типа КЛАВА клавишу ctrl (контроль), и втыкаешь на устройстве вывода типа МОНИК попап с типом лямбда аргумента. Все, ты теперь синьор, и можешь вместе со мной рофлить над неосиляторами неявных (но не менее от этого сильных) систем типов данных.
Та же ботва работает на варах (самых главных маньяках-насильниках маленьких маменьких лолей-порриджей, судя по отзывам в предыдущем треде).
хороший учебный проект
С чтения спецификации к сервлетам. А нахуя?
Да пошел ты нахуй, козлодразина, я в Спринге мастер, а чем там под капотом происходит - нахуй НИНУЖНО. Всё, теперь абстракции правят этим миром.
Петушарпер, спок. Конечно, спринг и хибер и типичный код на петушарпе это небо и земля, но всё ещё дерьмо ебаное.
Ты хуесосина, я твою мать ебал. Ах, да, кваркус и микронавт - говно тупое никому не нужное, высер кала
Зато сервлеты охуенны.
Кек, омежка спринговая) Выше никто ни слова не говорил ни про кваркус, ни про микронавт, но чмоха пытается бить вслепую на упреждение) Как же это потешно)
Чё так бумкнул то?
![2022-12-2021-20-51.png](https://2ch.life/pr/thumb/2542909/16715574674980s.jpg)
Мне надо вывести список самых богатых(если у них одинаковая САМАЯ большая зпха).
Почему-то добавляется только ОДИН последний олегарх, никак не могу вдуплить почему, подскажите плез.
да, я в курсе что ТЫ можешь это сделать в 2 символа через стримы и лямбды, молодец, возьми с полки пирожок
За null баксов сделаю
Что за map в цикле? Что в нем?
>фамилии могут повторятся
Если эти фамилии - ключи той мапы, то нет. Не будут они повторяться.
Фамилии повторяются в файле, это на самом деле значения не имеет..
Мапа TreeMap, ключ фамилия, значения зп-ха.
Есть фамилии с ОДИНАКОВОЙ, при этом самой большой ЗП-хой. По моей задумке ключи с самой болшой ЗП-хой добавляются в коллекцию. Но почему-то в коллекции оказывается только последний ключ.
>Фамилии повторяются в файле, это на самом деле значения не имеет..
>Мапа TreeMap, ключ фамилия, значения зп-ха.
Ну я ставлю на то, что в тот момент когда ты вычитываешь фамилии из файла в мапу, ты теряешь дубликаты. А это уже в свою очередь влияет на результат цикла
Не, все там нормально с мапой, разобрался уже, см выше
double в любом случае так не сравнивается, потому что там всегда погрешность
Ну попробовать то было бы неплохо, хотелось только бы узнать чё анон думает и что юзал.
Сегодня первый раз соап хуйню писал кстати, пытался сам без туториалов отправить и жидко обосрался лол, пришлось копировать туториал спринговский и прямо там внутри менять буквочки
Нет, более того, в одном окне нельзя открыть больше одного проекта, надо запускать несколько окон. Удобно, правда?))0
дефайн "работают"
Если одна приложуха разделена на несколько проектов, это неизбежно. Например, надо параллельно пилить несколько микросервисов. Или параллельно фронт и бэк. И в одном окне это делать удобнее, чем в пяти.
чем удобно? Ты не может открыть одновременно больше одного класса. Если так надо - поставь рядом два окна
Пролистал по диагонали, сойдёт. В целом, надо как-нибудь выучить кор (книги, ну или курсы, если не можешь в книги), дальше базы данных (дефолтный вариант - постгрес, на уровне создания таблиц и написания селектов-апдейтов), потом спринг (кор, дата, mvc, jpa), перед спрингом обязательно изучить мавен или градл, ещё нужно потыкать Git. Порешать примеров, написать пару несложных пет-проектов и можно идти на собес.
Принял. Спасибо!
А что сложного во вкате в джаву/питон/лисп/пыху? Только одно - отсутствие структурирования обучения и задач. Софт скиллы упраздняем.
Сложность вката на 100% определяется ситуацией ны рынке труда. При шатании рынка первыми под удар попадают всякие нахлебники, которые занимаются не основным продуктом, приносящим деньги кабану, а всякой побочной хуйнёй типа лендингов (жс) и систем рекомендаций и анализа (петухон), которая в принципе существует лишь потому, что у барина есть лишние деньги. В энтерпрайзе такого мало.
IO стримы - Closeable. А Closeable нужно закрывать за собой, ибо они могут держать всякие ресурсы типа файл-дескрипторов, офф-хипа какого нить и прочей ботвы, неподвластной GC.
Другой вопрос, почему здесь try-finally, а не try-with-resources.
>>48306
>>48316
Хотя справедливости ради, тут хуй поймешь, на самом деле.
Когда встречаешь какой нить API, который возвращает Closeable-обьект (типа этого твоего ServletResponse::getWriter'а), хочется сказать пару ласковых разрабу такого API. Хуй поймешь иной раз - менеджится ли этот Closeable-ресурс провайдером, или провайдер ожидает что потребитель его закроет когда закончит использовать... Закроешь его сам, а потом окажется что провайдер сам на нем еще чето захочет поделать. В итоге словишь эксепшеном по ебалу из-за того, что его еще после тебя кто-то дернул.
Вот и здесь в джавадоке нихуя не сказано:
https://docs.oracle.com/javaee/7/api/javax/servlet/ServletResponse.html#getWriter--
Ооооо да. Это пиздец в терминальной стадии, блять.
https://stackoverflow.com/questions/22125169/why-is-java-8-stream-class-autocloseable
*Гималаи
Ты называешь петушарп, но называешь его без неуважения.
Можно
Нельзя, придётся учить.
Книги Шилдта по Java стоит читать? Здесь https://www.iso-9899.info/wiki/Books#Stuff_that_should_be_avoided пишут, что его книги по Си стоит избегать. Придумали даже термин bullschildt.
Стоит. Шилдт единственный, кто сможет тебя быстрее всех вкатить в базовый синтаксис джавы и её библиотеку.
Жаль что некоторые школьники-неосиляторы не понимают.
Самая лучшая книга по Java — это «Java in a Nutshell» (Benjamin Evans, David Flanagan), издательство O'Reilly.
Лучше душного Хорстманна. Тем более недавно вышло 12-е издание по 17 джаве на русском. Но нужно понимать, что это первая книга по джаве, потом надо будет ещё почитать более хардкорных.
Книга Шилдта по жабе - это как мать, которая за ручку будет водить и всё, что надо, любезно расскажет и покажет.
>Учить ещё фронт что ли?
Возможно.
Твой пет - твои проблемы (в хорошем смысле, не наброс). Сталкиваясь и решая эти проблемы, ты и качаешься.
На голом жс попробуй. Одна index-html страничка без роутингов.
Там не так много учить. самые основы html + js-core + fetch-api + dom. Ну и бутстрап из коробки.
Я так делал. Не дольше чем насиловать мозг шаблонизаторами и свингом. Сможешь отработать рест со стороны бека.
как что-то плохое. Заодно поймешь преимущества и недостатки джавы.
Но как я могу что-то написать, если ещё не знаю? Я привык подходить к делу обстоятельно. Если нужно, к примеру, выучить фронт, то я бы начал с книги (не меньше 1к страниц) по JavaScript для начинающих, потом advanced-уровня, потом по TypeScript, потом уже по фреймворку React или Angular.
В среднем книгу в 1к страниц можно прочитать за 2 месяца. Таким образом на изучение фронта надо закладывать 8 месяцев.
Поздно, я уже скачал два талмуда по 1000 страниц и пока не прочитаю, не напишу ни строчки.
>>48611
>>48628
>>48638
Всем спасибо. Другой вопрос. Опыт программирования на других языках у меня есть, поэтому хочу сразу попрактиковаться в JEE. Только не знаю что читать. Сбивают с толку специфичные для джавы понятия, такие как сервлет, контейнер сервлетов, сервер приложений. Что читать по этой теме?
>>48611
>>48628
>>48638
Всем спасибо. Другой вопрос. Опыт программирования на других языках у меня есть, поэтому хочу сразу попрактиковаться в JEE. Только не знаю что читать. Сбивают с толку специфичные для джавы понятия, такие как сервлет, контейнер сервлетов, сервер приложений. Что читать по этой теме? Сразу предупрежу, что не надо меня отговаривать изучать JEE и советовать Spring.
Читай: Java EE 6 и сервер приложений GlassFish 3
По нормальному сначала рисуют дизайн, потом сверстывают из него страницы, добавляют интерактивность с помощью JS, а потом пишут для этого бекенд.
JEE мёртв. Спринг не советую, но изучение джава ее это просто просирание твоего жизненного времени, которого у тебя очень мало.
Анон выше прав. Открываешь идею и думаешь, что тебе надо сделать для того, чтобы сделать проект такой, какой ты хочешь. Изучаешь только то, что тебе необходимо по ходу разработки.
Исключение - самые базовые базы, когда ты вообще не ебёшь, что и куда делать. Шилдт и различные пошаговые видеотуториалы для самых дегенератов в помощь.
Хорстманн для тех, кто уже что-то понимает в программировании, а шилдт для нулевых нюфань, которым нужна вода и разжёвывание одного и того же по нескольку раз.
>JEE мёртв
По фразе "язык/фреймворк мёртв" можно определить дурачка. Набор постоянно поддерживаемых библиотек не может умереть. Даже если их уже не будут поддерживать, они не могут умереть.
А латынь в твоём манямирке тоже жива?))0
Выучить новый язык не сложно, даже полезно
Бэкендеру понимать как фронт пишется тоже к лицу.
Вообще хватит этого, программист не должен ограничивать себя языками и менять их по желанию
> Сразу предупрежу, что не надо меня отговаривать изучать JEE и советовать Spring.
Что за хуйня? Почему?
Это шизики с микронавтом и кваркусом. Ищут интересные неэнтерпрайзные технологии в скучном энтерпрайзном языке, кек.
При чем тут JEE?
Какой смысл игнорировать дефолтный фреймворк, вместо того чтобы изучить и его, и что-то интересное?
Короче ничего это не объясняет
Мне нужны библиотечные функции, чтобы принять и отправить http-запрос. Но я уже знаю, что в Спринге это нифига не так. Ты должен подстраивать свой код под фреймворк, обмазывать его километровыми аннотациями. Особенно меня бесят валидаторы, это просто какое-то пробитие дна, когда логика выносится из кода в аннотации. Ещё хуже хибернейт. Казалось бы, что ОРМ должна избавить программиста от работы с SQL, но ни фига, наоборот ты этому тупому хиберу должен на каждый его дебильный запрос сам написать на псевдо-SQL запрос к БД в виде аннотации.
Мне казалось раньше, что это разрабатывали умные люди, но сейчас почему-то кажется, что это разрабатывали дебилы, которые одну сложность заменили ещё большей сложностью.
А тебя суют везде, в любой бочке затычка. Тебе то какое дело?
Еще один сердобольный. Говорит что у анона времени мало, а сам тратит его время своим непрошенным мнением. Откуда вы такие суки беретесь блять.
>Особенно меня бесят валидаторы, это просто какое-то пробитие дна, когда логика выносится из кода в аннотации
Лол. И как ты будешь валидировать большую дтошку с кучей вложений, десятками стандартных валидаций и еще полюжиной кастомных? Императивно, простыней кода с ифами на тысячу строк?
>Что читать по этой теме?
Хуй знат зачем тебе это, но я б если вкатывался в ЕЕ сейчас, наверное начинал бы с https://jakarta.ee (к сведению - с определенонго момента оракл отдал Java EE на аутсорц, и теперь она называется Jakarta EE). Там, насколько я успел чекнуть мельком, собраны все основные понятия м все основные спеки. Ну и активно гуглил бы мурзилки от индусов.
Код на самой джаве - это нормально. Это ожидаемо. А когда вместо джавы надо писать на других псевдо-языках - это раздражает. Тот же Spring придумал свой недоязык SpEL, хотя нафига мне надо учить ещё один язык, если всё тоже самое я могу написать на самой джаве. К тому же все зависимости у меня будут проверены компилятором, а не вывалятся в эксепшен при запуске.
Я и говорю, что обвязка джавы создана какими-то болванами, которые заменяют конструкции языка на внешние инструменты.
Слово dsl тебе известно? В 70ых на коболе писали и код и запросы в бд, никакого псевдо-языка типа sql.
Ну теперь не пишем, а придумываем со стороны СУБД свой язык SQL, а со стороны веб-сервера - ORM. В итоге имеет две абстракции, которые с друг другом не могут толком сконнектиться. В итоге обмазываем их всякими аннотациями, чтобы подружить.
Работает ли способ получение лицензии для IDEA через Stepik?
https://support.stepik.org/hc/ru/articles/360010105180-Как-получить-лицензионный-ключ-от-JetBrains-
Решил 4 задачи, но никаких уведомлений не получил. В каких редакторах/ide пишите код? Думаю, стоит ли заморачиваться с IDEA или заюзать VS Code.
Как у чистой джавы
> монструозный
Так в нем не спроста все нахуеверчено, это же не просто IoC, а набор инструментов для разработки сервисов. Без него тебе все равно придется либо втащить либы, либо написать самому многое из того, что там есть. Ты не то чтобы видишь монструозность в работе.
> производительность как у питона
То что ты требуешь производительности от спринга выглядит, как будто ты не разобрался. Ты от IoC производительности хочешь? Или от веб фреймворка? Я очень сомневаюсь что JEE дает нормальные инструменты для работы с реактивщиной-корутинщиной-нонблокингайо, а это то что ты хочешь, если важна производительность.
Ты точно изучал дальше первой статьи spring vs jee?
Это не наезд, мне серьезно интересно, какая у тебя мотивация, может мне тоже пора перекатываться
> Что в нем есть такого, что не дает JEE?
Вакансии
На самом деле там дохуя того, что тебе придется пилить самому, от тех же реакторов и секьюрити до облачных интеграций
Spring мне пока не нужен. Пока не нужен. В JEE все что мне нужно есть. Если производительность Спринга на уровне Питона, то зачем мне Джава, если я могу использовать Питон с Джанго?
>Тебе коммьюнити идишн религия не позволяет использовать?
Вроде в CE не включены JEE и несколько других возможностей.
>Я очень сомневаюсь что JEE дает нормальные инструменты для работы с реактивщиной-корутинщиной-нонблокингайо
Реактивщина и NIO со спринг фреймворком не связана никак: бери тот же projectreactor хоть в джава SE, хоть в джава ЕЕ и всех делов. Корутинщины спринг тоже не дает. В остальном же неwebfluxовый спринг - это ровно тот же Java EE, использующий сервлеты под MVC и JPA-провайдера под датой. Что касается webflux'а - легкая гуглежка показывает, что и сервлеты, и JAX-RS поверх них поддерживают асинхронщину начиная с JEE7.
Я уже писал в прошлом треде, но писал про создание класса, а по факту это проект.
Кароч, создал проект с названием Test и класс назвал Test. И один хрен выдает ошибку.
Если дома на компе все работает, то на работе комп мозг выносит.
Не понимаю.
Чел, джава это не твоё, перекатывайся
В прошлом треду вопрос задавал и в этом задам. Как проект создаешь? Как билдишь?
Покажи структуру проекта, билд скрипты. По этим двум скринам тебе только Ванга поможет.
Анон... Ты что, негр?
3 . jetbra . in
1. Выбираешь зелёную ссылку.
2. Скачиваешь архив (ссылка наверху страницы будет), сайт не закрываешь.
3. Читаешь инструкцию в Readme.txt.
3.1. Пытаешься разобраться какой именно вирус тебе установит этот скрипт.
3.2. У тебя не получается опознать вирус, вроде как файлы безвредные и делают какую-то хуйню.
4. Всё делаешь как в инструкции Readme.txt.
5. Устанавливается...
6. Работает? Вроде да! Ураааа!!!!
7. Залетаешь на 2ch, благодаришь анона и господа бога за такой чудесный подарок.
>4. Всё делаешь как в инструкции Readme.txt.
То есть заходишь в scripts и выбираешь install-all-users или что-нибудь подобное.
Затем заходишь в саму программу IntelliJ IDEA, во вкладку лицензии стартовой менюшки.
Туда вводишь код с сайта, который ты не закрыл в пункте 2.
Качаю сейчас курсы, но самый нужный мне курс вообще не грузит, 0.3% тупо.
Ну ладно хоть остальное скачается за 47 дней и на том спасибо.
Ха-ха, неужели там всё так сложно? Блять... А как его изучать вообще? Пилить проекты? Вряд ли на CodeWars или подобном есть Spring.
![image.png](https://2ch.life/pr/thumb/2542909/16717159082250s.jpg)
Чё, заебало на бенче сидеть?
C:\Users\ "Имя пользователя" \.jdks\openjdk-18.0.1.1\bin\java.exe "-javaagent:C:\Progect\IntelliJ IDEA Community Edition 2022.1.3\lib\idea_rt.jar=62628:C:\Progect\IntelliJ IDEA Community Edition 2022.1.3\bin" -Dfile.encoding=UTF-8 Fack
Надеюсь, ты это имел ввиду
>Что это значит?
>>Туда вводишь код с сайта
>Где взять код?
Это что-то напоминающее ссылку. Ты настолько туп?
>Под Линукс есть?
Настолько.
Не знаю, вроде скрипт на Windows и на Mac только, но в крайнем случае всё сделаешь руками, там скрипт совсем небольшой.
Наверняка распространенный. Почему не фиксят?
Или пофиксили, а я скачал старую версию?
>>49594
Это Empty? Тоже самое. Первый раз когда сделал, все работало, даже открыв проект с ошибкой, она исчезла при запуске. Я в предыдущем треде описывал. Переключался такой между проектами и всё сломал. Даже не кодил. Просто переключался, хз что не так.
Пофиксили в платной версии, а на бесплатную им наплевать, так как дохода не приносит.
Чел, вот честно, прежде чем джаву учить, тебе б вопросы научиться задавать. У тебя в тексте класс Test, на скринах NewWorld, а теперь вообще - Fack. Заебал, остановись на чем нить одном.
>C:\Users\ "Имя пользователя" \.jdks\openjdk-18.0.1.1\bin\java.exe "-javaagent:C:\Progect\IntelliJ IDEA Community Edition 2022.1.3\lib\idea_rt.jar=62628:C:\Progect\IntelliJ IDEA Community Edition 2022.1.3\bin" -Dfile.encoding=UTF-8 Fack
Из какой директории запускаешь?
0. Почему существуют старые версии Java, если уже вышла Java 17 и она полностью совместима со старыми версиями?
1. Что должен знать Java Junior Backend Developer, чтобы попасть на работу?
2. Где лучше всего брать задания? Есть книги с простыми упражнением, типа того же Хорствеселя, если я верно помню. Есть сайты типа CodeWars и LeetCode.
3. Эти упражнения нужны были для изучения языка. Дальше нужно постигать всякую архитектуру, алгоритмы и прочее. Как это делать? Например, в вакансиях часто встречалась микросервисная архитектура. Есть ли какие-нибудь задания, рекомендации, советы или всё придумывать из головы?
4. Из SQL нужно учить именно PL/SQL для PostgresSQL или что-то другое?
5. Нужно ли знать JavaScript?
6. Часто встречались Apache Kafka и RabbitMQ, ActiveMQ. Нужно ли их смотреть джуну или этому обучат на галере?
7. Хуй знает что такое Docker, Hibernate и Redis, но к ним бы тоже приглядеться, да? Джуну, я имею в виду.
8. Нужно ли знать Linux на уровне Линуса Торвальдса?
9. ААА БЛЯДЬ НАХУЙ
>Это что-то напоминающее ссылку.
Что это? Хули ты мне мозги пудришь? Нарываешься на оскорбление.
>Не знаю, вроде скрипт на Windows и на Mac только
Какой скрипт, откуда?
Да
Разводилово! Ссылка даже не кликается (её там нет), но при посещения сайта тебя какой-то скрипт сканирует и чё-то там отрабатывает активно. Наверно ищет в куках номера кредитных карточек, пароли и т.п.
0. Некоторым не нравятся StreamAPI и они пишут код на 5 джаве.
1. Джуны не нужны, их на работу не берут
2. Джавараш
3. Пишешь свой проект с микросервисной архитектурой
4. Можно, но сомневаюсь, что копнёшь так глубоко
5. Скорей всего потребуется
6. Нужно
7. Нужно
8. Нет
9. Ещё гiт учи
Не удалось развести анонов на бабосы, да? Думал тут лохи одни сидят?
> 0. полностью совместима
Нет, это маркетинг. Несовместимости мелкие, но заебистые для больших систем. Проще не апгрейдить / апгрейдить только на LTS версии (каждая третья)
> 1. Что должен знать Java Junior Backend
Ответ на этот вопрос безмерно велик и зависит от множества вещей
> 2. Где лучше всего брать задания?
Какие? Чего ты хочешь? Алгоритмы? Дрочево знания джавы? Умения писать на ней код? Мое имхо что задания на язык вообще нахуй не нужны, ты учишь его вместе с чем-то еще (алгосами или разработкой)
> 3. Эти упражнения нужны были для изучения языка. Дальше нужно постигать всякую архитектуру, алгоритмы и прочее. Как это делать?
Архитектура - книжки и проекты. Мартин там (не ПЛиО блять), паттерны какие-нибудь
Алгоритмы - литкод + открытые лекции всяких ШАД + литкод
Стандартную библиотеку еще знать нужно - есть гайды в сети
> микросервисная архитектура
Сначала познакомься просто с веб сервисами, архитектура систем (не приложений) - штука сложная, задрочить правильные ответы легко, а вот обрести понимание сложно
> 4. Из SQL нужно учить именно PL/SQL для PostgresSQL или что-то другое?
Там разница хуй да нихуя, но постгря популярная прост и хорошая, учи ее. Настоящая разница в SQL БД совсем не в языке запросов
> 5. Нужно ли знать JavaScript?
Нет
> 6. Часто встречались Apache Kafka и RabbitMQ, ActiveMQ
Выделить день чтобы почитать и посмотреть видео поверхностные стоит, пойдет в плюс. Изучить самому сложно и не особо нужно
> 7. Хуй знает что такое Docker, Hibernate и Redis, но к ним бы тоже приглядеться, да?
Уметь пользоваться, хорошо знать, иметь представление - в соответствующем порядке
> 8. Нужно ли знать Linux на уровне Линуса Торвальдса?
Требование линукса большая наебка, можешь вообще ничего не знать и тебя скорее возьмут. А вот сети знать стоит (ip, tcp/udp, http, rest, websocket, grpc). На уровне качественного понимания конечно, без жести
> 9. ААА БЛЯДЬ НАХУЙ
Ты привыкнешь
>Какие? Чего ты хочешь? Алгоритмы?
Да, пожалуй и алгоритмы. Но ответ, как я понимаю — LeetCode?
>Стандартную библиотеку еще знать нужно - есть гайды в сети
Так и писать "Java 17 Core guide roadmap 2077"?
>Сначала познакомься просто с веб сервисами, архитектура систем (не приложений)
А вот это как искать? Назови пару примеров архитектур, пожалуйста, чтобы я точно на то вышел.
>Там разница хуй да нихуя, но постгря популярная прост и хорошая, учи ее.
То есть PL/pgSQL, да?
>Настоящая разница в SQL БД совсем не в языке запросов
О, а в чём тогда?
>А вот сети знать стоит (ip, tcp/udp, http, rest, websocket, grpc)
Хорошо, анончик, пригляжусь. Спасибо!
ПЛиО = Песнь льда и огня = Игра престолов
![Excel.png](https://2ch.life/pr/thumb/2542909/16717209707910s.jpg)
>Пишешь клон goodreads
Ебать. Попробую.
>Первую работу ищи туда где не требуют алгоритмы, постепенно
Это как, это куда? Хотя вроде из просмотренных вакансий алгоритмы требовались только в двух. Но все видео о том как стать джуном говорят, что алгоритмы и структуры данных это база.
Спасибо за обнадёживающий ответ, анончик.
> Да, пожалуй и алгоритмы. Но ответ, как я понимаю — LeetCode?
Ну ты возьми на литкоде задачку простую. Придумай несколько решений, посмотри какими стандартными средствами ее можно решить. Так и джаву, и стандартную библиотеку поучишь.
Через некоторое время после алгоритмов стоит начинать писать свои проекты. Я люблю советовать новичкам сделать самую примитивную копию линуксового grep а, (ака утилита командной строки для поиска текста в файле), и постепенно улучшать ее, добавляя фичи
> Так и писать "Java 17 Core guide roadmap 2077"?
После 8 больших изменений в стандартной библиотеке не было (но много удобств и оптимизаций добавили), ты вполне можешь учиться даже по гайдам 8. Можно вообще версию не искать конкретную, джава очень стабильна в этом плане.
> А вот это как искать? Назови пару примеров архитектур, пожалуйста, чтобы я точно на то вышел.
Веб сервисы - изучай спринг (Spring Boot, Spring IoC, Spring MVC Rest конкретно). Гайдов в сети много, официальные и baeldung твои лучшие друзья
> пару примеров архитектур
Монолит, сервис-оринетированная и микросервисы и прости-госпади серверлесс, просто по количеству разделений
Но оно немного не так делается, "стандартных" архитектур нет, есть архитектура как специализация - набор высокоуровневых шаблонов и способов принятия решений. В этом круто копаться, но без умения писать код по-настоящему понять не получится.
Я например читал microservices.io и статьи на dzone.com + конференции + дизайн доки в компаниях где работал.
Тебе можно почитать что-нибудь на хабре в духе микросервисы для самых маленьких, но надо понимать что на уровне джуна это всегда будет далеко от реально происходящего в микросервисах (хотя на собесах и спрашивают).
Как сможешь написать свой веб сервис с минимальным фронтендом и бэкендом - будешь готов начать разбираться в микросервисах.
> То есть PL/pgSQL, да?
Да
> О, а в чём тогда?
В том как она под капотом работает, как обеспечивает корректность данных (консистентность и версионирование), какие механизмы ускорения поддерживает (индексы), какие ограничения накладывает, если хочешь параллельно ее запускать на нескольких серверах (масштабирование)
>>49686
> Системы бывают разные. Какие имеются ввиду?
Бэкенд -> распределенные системы. Другие направления могут эволюционировать в другие системы, там будет полностью свое направление архитектуры
> Что это?
>>49696 (Del)
Чистый код хорош, после того как написал свой первый проект на 500 строчек
Чистая архитектура хороша когда проект вырос тысяч до 5.
> Критическое мышление нужно чтоб его читать
Со всеми книжками (да и двачем особенно) нужно так, думать что делаешь и не следовать советам слепо
> Да, пожалуй и алгоритмы. Но ответ, как я понимаю — LeetCode?
Ну ты возьми на литкоде задачку простую. Придумай несколько решений, посмотри какими стандартными средствами ее можно решить. Так и джаву, и стандартную библиотеку поучишь.
Через некоторое время после алгоритмов стоит начинать писать свои проекты. Я люблю советовать новичкам сделать самую примитивную копию линуксового grep а, (ака утилита командной строки для поиска текста в файле), и постепенно улучшать ее, добавляя фичи
> Так и писать "Java 17 Core guide roadmap 2077"?
После 8 больших изменений в стандартной библиотеке не было (но много удобств и оптимизаций добавили), ты вполне можешь учиться даже по гайдам 8. Можно вообще версию не искать конкретную, джава очень стабильна в этом плане.
> А вот это как искать? Назови пару примеров архитектур, пожалуйста, чтобы я точно на то вышел.
Веб сервисы - изучай спринг (Spring Boot, Spring IoC, Spring MVC Rest конкретно). Гайдов в сети много, официальные и baeldung твои лучшие друзья
> пару примеров архитектур
Монолит, сервис-оринетированная и микросервисы и прости-госпади серверлесс, просто по количеству разделений
Но оно немного не так делается, "стандартных" архитектур нет, есть архитектура как специализация - набор высокоуровневых шаблонов и способов принятия решений. В этом круто копаться, но без умения писать код по-настоящему понять не получится.
Я например читал microservices.io и статьи на dzone.com + конференции + дизайн доки в компаниях где работал.
Тебе можно почитать что-нибудь на хабре в духе микросервисы для самых маленьких, но надо понимать что на уровне джуна это всегда будет далеко от реально происходящего в микросервисах (хотя на собесах и спрашивают).
Как сможешь написать свой веб сервис с минимальным фронтендом и бэкендом - будешь готов начать разбираться в микросервисах.
> То есть PL/pgSQL, да?
Да
> О, а в чём тогда?
В том как она под капотом работает, как обеспечивает корректность данных (консистентность и версионирование), какие механизмы ускорения поддерживает (индексы), какие ограничения накладывает, если хочешь параллельно ее запускать на нескольких серверах (масштабирование)
>>49686
> Системы бывают разные. Какие имеются ввиду?
Бэкенд -> распределенные системы. Другие направления могут эволюционировать в другие системы, там будет полностью свое направление архитектуры
> Что это?
>>49696 (Del)
Чистый код хорош, после того как написал свой первый проект на 500 строчек
Чистая архитектура хороша когда проект вырос тысяч до 5.
> Критическое мышление нужно чтоб его читать
Со всеми книжками (да и двачем особенно) нужно так, думать что делаешь и не следовать советам слепо
>Первую работу ищи туда где не требуют алгоритмы, постепенно
Аккуратнее с этим, большие компании (которые и платят джунам достойно и умеют с ними работать) алгоритмы требуют.
Те же стажировки Яндекса - хороший старт (был 5 лет назад, я хз что сейчас)
>Придумай несколько решений, посмотри какими стандартными средствами ее можно решить.
А-ы-а... Я вот видел на CodeWars, там через стримы всё в одну строчку решают, что у меня в строчек 5-10. Поэтому я сначала загляну что это за потоки такие. Или ты про какие альтернативные решения говоришь?
>Я люблю советовать новичкам сделать самую примитивную копию линуксового grep а
Хмм, обязательно попробую.
За остальное — большое-пребольшое спасибо, Анончик!
>>49707 >>49716 (Del)
А что за алгоритмы-то? А то я слышал-слышал, да так и не разузнал. Есть ли список какой-нибудь может? Или так, на словах там.
Понял, анончик, спасибо!
>Бэкенд -> распределенные системы. Другие направления могут эволюционировать в другие системы, там будет полностью свое направление архитектуры
Я прочел несколько твоих сообщений и во всех вижу размазывание смысла. Для чего? Цель выебнуться? Архитектура систем не равно архитектура распределенных систем, и тем более не равно архитектура бекенда. Бекенд не равно распределенная система, и распределенная система не равно бекенд. Там где не надо ты льешь воду, а где нужно строгое уточнение ты вносишь недосказанность. Это эго или ебанутость? А может низкая квалификация. Без обид.
>Или ты про какие альтернативные решения говоришь?
В стандартной библиотеке языка уже реализовано много алгоритмов, например взятие подстроки. Можно использовать их, а можно написать алгоритм взятия подстроки самостоятельно.
>Люди учат алгоритмы не для того, чтобы потом свои велосипеды клепать
В этом высказывании есть противоречие. Взятие подстроки тоже алгоритм. Если люди изучают алгоритмы, значит они должны учиться их реализовывать. В таком случае, твое высказывание противоречиво. С одной стороны люди изучают алгоритмы, а значит должны их реализовывать, с другой строны не должны писать свои велосипеды. Бессмыслица получается.
> Нихуя. Он нужен мидлу. У джуна даже не будет свободы применить что-то на практике, у него скоуп работы очень маленький
Я Мартина прочитал с небольшим опытом в пет проектах, нашел его советы полезными, это в целом помогло мне писать более читаемый код будучи джуном, и например не так много получать по лицу на ревью
Для архитектуры как бы тоже и да, и нет. В первой половине там СОЛИД объясняется, имхо можно понять, чем это хорошо, и как его делать, даже без существенного опыта. Всю глубину не прочувствуешь, да - но это то, что я могу посоветовать, может быть есть книги по качеству кода, лучше подходящие для начинающих
> если ты вкатун тебе бы первую работу найти
Смотря на какой стадии, может чел на втором курсе или деньги есть, на джуновью работу обычно от безысходности идут и это не очень хорошо для карьеры (и собственного комфорта), если можешь позволить себе в яндекс - лучше в яндекс. Имхо.
>>49719
Стрим АПИ и потоки это разное, не путой.
Стримы вообще опциональные и вещь в себе, это не альтернативное решение, а скорее альтернативная форма записи решения.
Количество строк не измеритель качества решения, почитай про асимптотическую сложность алгоритмов.
> большое-пребольшое спасибо
Обращайся, я люблю поболтать :3
> А что за алгоритмы-то?
Не 3 конкретных алгоритма, нет. Это направление, состоит из знания различных алгоритмов и структур данных, умения с ними работать, и умения создавать алгоритмы для решения каких-то задач.
Алгоритмы и структуры данные есть конкретные, которые стоит знать, и есть опциональные. Опять же, чем больше у тебя амбиций по карьере, тем лучше стоит в этом разбираться, тк это сейчас стандарт на собеседованиях в больших компаниях (гугл итд).
Ты можешь нагуглить лекции по алгоритмам, их много на ютубе, там тебе что-то расскажут.
Хорошего качества джентльменский набор (с которым можно суваться в яндекс, например) структур данных примерно такой:
массивы (поиск элементов, слияние, сортировки),
связный список (разворачивание, поиск циклов),
бинарное дерево поиска, б+ дерево поиска (получение и вставка элемента),
черно-красное дерево поиска (примерно понимать как работает),
хэш мапа (уметь написать),
стек, очередь (уметь написать на массиве и списке)
+ деревья (обход в глубину, обход в ширину, поиск циклов),
+ графы (поиск путей, формы хранения в памяти),
+ динамическое программирование
Большой список есть например тут: https://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
Но оно там с уклоном в математику + есть редкоиспользуемая хуйня, которая интересна только если увлечешься
> Нихуя. Он нужен мидлу. У джуна даже не будет свободы применить что-то на практике, у него скоуп работы очень маленький
Я Мартина прочитал с небольшим опытом в пет проектах, нашел его советы полезными, это в целом помогло мне писать более читаемый код будучи джуном, и например не так много получать по лицу на ревью
Для архитектуры как бы тоже и да, и нет. В первой половине там СОЛИД объясняется, имхо можно понять, чем это хорошо, и как его делать, даже без существенного опыта. Всю глубину не прочувствуешь, да - но это то, что я могу посоветовать, может быть есть книги по качеству кода, лучше подходящие для начинающих
> если ты вкатун тебе бы первую работу найти
Смотря на какой стадии, может чел на втором курсе или деньги есть, на джуновью работу обычно от безысходности идут и это не очень хорошо для карьеры (и собственного комфорта), если можешь позволить себе в яндекс - лучше в яндекс. Имхо.
>>49719
Стрим АПИ и потоки это разное, не путой.
Стримы вообще опциональные и вещь в себе, это не альтернативное решение, а скорее альтернативная форма записи решения.
Количество строк не измеритель качества решения, почитай про асимптотическую сложность алгоритмов.
> большое-пребольшое спасибо
Обращайся, я люблю поболтать :3
> А что за алгоритмы-то?
Не 3 конкретных алгоритма, нет. Это направление, состоит из знания различных алгоритмов и структур данных, умения с ними работать, и умения создавать алгоритмы для решения каких-то задач.
Алгоритмы и структуры данные есть конкретные, которые стоит знать, и есть опциональные. Опять же, чем больше у тебя амбиций по карьере, тем лучше стоит в этом разбираться, тк это сейчас стандарт на собеседованиях в больших компаниях (гугл итд).
Ты можешь нагуглить лекции по алгоритмам, их много на ютубе, там тебе что-то расскажут.
Хорошего качества джентльменский набор (с которым можно суваться в яндекс, например) структур данных примерно такой:
массивы (поиск элементов, слияние, сортировки),
связный список (разворачивание, поиск циклов),
бинарное дерево поиска, б+ дерево поиска (получение и вставка элемента),
черно-красное дерево поиска (примерно понимать как работает),
хэш мапа (уметь написать),
стек, очередь (уметь написать на массиве и списке)
+ деревья (обход в глубину, обход в ширину, поиск циклов),
+ графы (поиск путей, формы хранения в памяти),
+ динамическое программирование
Большой список есть например тут: https://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
Но оно там с уклоном в математику + есть редкоиспользуемая хуйня, которая интересна только если увлечешься
Можно получить лицензию на 3 месяца бесплатно. Нужно решить 4 задачи на Степике.
https://support.stepik.org/hc/ru/articles/360010105180-Как-получить-лицензионный-ключ-от-JetBrains-
Вчера я отписывал, что код не пришел на почту, а сегодня он таки пришел. Не все курсы годятся, я решал в этом https://stepik.org/course/2223/
Душнила.
Да хрен его знает. Я пытаюсь совместить объяснение, но не очень развернутое, но чтобы было примерно понятно, в какой момент этим стоит заниматься, при этом без терминов, ведь начинающий их не знает
Вот например человек попросил несколько примеров архитектур. Человек очевидно хочет в бэкенд и в контексте архитектуры упоминает микросервисы.
Разные виды архитектур существуют, да, но ты ведь понимаешь, что архитектура это и близко не прийти и сказать "вот тут мы применим архитектурный стиль "микросервис"". Я пытаюсь и пример привести, и факт того что пример не очень релевантный передать, и получается вода.
А как бы ты написал?
>можешь нагуглить лекции по алгоритмам
Здесь https://github.com/java2ch/java-thread/wiki/Руководство-для-вкатунов#а-может-быть-курсы правильно написано, что нужно забыть про видео, от них нет практической пользы, больше вреда. Видео создают иллюзию обучения. Это так называемое пассивное обучение. Кажется, что учишься, а на самом деле теряешь время.
А у меня другой опыт, в котором я много учился по видео.
Вкатиться вкатился, претензии к видео не имею, мнением делюсь, хочешь бери, не хочешь - не бери
Конечно я и книжек прочитал несколько штук, но вот по алгоритмам информацию брал только из видео и сайта ИТМО (и литкода само собой)
Конечно есть еще нюанс что после видео ты идешь и руками делаешь то, что посмотрел
пишут до 260к ЗП(почитала отзывы там одни переработки)
Расклад такой: есть много классов сделанных из xsd и wsdl, нужно делать реквесты на соап сервис, в случае успеха получая JAXBElement. Учитывая что спринг сам всё сделает я подумал что имеет смысл сделать что-то по типу дженерика. Но в итоге я думаю получилась хуйня ибо выглядит как
JAXBELement(Object request)
{return (JAXBelement) //тут request делается}
Идея ругается что Raw use of parameterized class JAXBELement и не совсем пойму как мне это исправить. А ещё это дело нихуя не выглядит как дженерик, просто Object же взял
Объясните, я сильно хуйню написал? Как исправить? Что нужно понять?
Мне мама не разрешает,отвечай на вопрос лучше🧐
лол
На дваче всё устроено не так, как в РФ.
Гражданство/вид на жительство/разрешение на работу есть? Если документы позволяют, то устраивайся. Не понравится - уволишься.
Пасибо, попробуй как в офис вернусь.
Насчёт использования Object есть мысли? Я пытался там выдумать Class<?> но чёт хуйня и не получалось
Тупо проверять instanceof и делать приведение типа. Это в простом случае, если возможных типов немного. Если много, наворачивать рефлексию.
Я уже поняла что контора неоч,поищу ещё что норм есть(с Яндекса ещё писали,но там как я поняла что-то с созданием алгоритмов связано,хз зачем пишут если у меня стоит жава разраб в резюме)
Сорян, за такой кривой вопрос. Я кучу проектов насоздавали, что в кокой-то момент психанул и удалил все, а скрины с того вопроса остались, ну а эти сейчас забацал.
>Из какой директории запускаешь?
не совсем понял про директории.
Запускаю класс через зеленую стрелку в первой строке.
Это то же самое что ParameterizedTest как я понял. Мне нужно наоборот несколько тестовых методов (с аннотацией @Test) запихнуть в разные тестовые классы. Сейчас сделал через наследование, но мб есть в JUnit что-то получше?
Через наследование это и делается, либо написать отдельный класс с нужными методами, и его дёргать из тестовых классов. Тут ничего другого не придумать.
>директории
Кажись понял
>C:\Progect\IntelliJ IDEA Community Edition 2022.1.3\Progect\Fack\src
Молодец!
Не, нихуя, всё так же ругается что я кастю Object в jaxbelement
> Работая в компании "Рога и Копыта"
Вот поэтому первая компания и важна, чтобы во первых там были эксперты, у которых можно учиться лучшим практикам, а во вторых эти эксперты умели работать со стажерами/джунами (например, прислушиваться к джунам - полезное дело, либо научишь, либо сам что нового поймешь)
> Хорошая и плохая архитектура чувствуется по тому, насколько "дорого" вносить в нее изменения. И нет ничего плохого в том что Джун в своем петпроджекте почувствует это. Даже плюсы есть.
А, короче, у меня во вкатообразовании есть еще первая часть советов, где я рекомендую написать Grep и постепенно добавлять в него фичи (типа поиск строки в тексте -> регексы -> выделение найденных фрагментов -> выделение найденных фрагментов заданным символом -> номера строк -> строки вокруг найденных -> несколько файлов -> ...). Новичку без опыта придется несколько раз перерефакторивать все написанное, и архитектура хорошо усвоится после того, как прочувствовал боль
То что многие темы в книге выходят за уровень джуна я согласен, но цель же найти книгу для читателя, а не читателя для книги
> гораздо спокойнее
Согласен. Частично нивелируется тем, что не Яндексом единым, но в целом все так
Так ломают же. Только добавь еще в список действий деобфусцировать и потом делать это для каждой новой версии.
А еще можно просто заводить фейкопочты раз в месяц.
А еще проще устроиться в джетбрэйнз, для сотрудников все продукты бесплатны навсегда
А они берут вкатунов из РФ, которые ещё в процессе обучения и не могут доучиться, потому что у них нет платной идеи?
Пишет за нас код, сверх удобная навигация. У других поделий жб не так много фич, как для джавы.
Без идеи ты не сможешь даже проект собрать и запустить. Это не РНР, где за тебя сервер всё делает. Тут надо компилировать сотни файлов с кучей зависимостей.
Любопытный факт - на vim есть поддержка джавы. И она даже работает. И ей даже пользуется кто-то.
Хуй знат. Надо смотреть.
>Кста, а че все джаворасы так прям дрочат на эту неделю как будто манна небесная?
Хз. Из действительно клевых штук там можно выделить разве что анализаторы. Ну мне еще персонально code-with-me нравился, пока из РФ не ушел.
В остальном - по субьективным наблюдениям идейка подкупает зумеров тем что она "тул все-в-одном", где и поддержка гита, и поддержка докера, и в базы можно прям из идеи ходить, но как по мне это какая то детская хуйня, из-за которой тем не менее идейка стала жирная как мамки этих зумеров. Ну и поддержка спринга в идее на очень хорошем уровне, но эта уже тема спринготорчей - без дозы спринга у них лютая ломка.
Удобно же.
Вводишь пару символов - а тебе уже предлагается автодополнением подходящий класс из проекта или даже кусок кода. На жс или питоне потом писать просто пытка - все приходится делать руками, очень многословные языки.
Ошибки логики обозначает, подсказывает как оптимизировать/переписать можно.
Встроенные инструменты для гита/баз, удобный дебагер, куча плагинов для кодогенерации какой-нибудь,
Ну и в одной идее можно работать на самом деле с любым языком (на счет пыхи не уверен, но жс, го, sql и питон поддерживаются).
>>50892
>>Без идеи ты не сможешь даже проект собрать и запустить.
Я и в самой идее иногда через терминал собираю. Это конечно чуть дольше чем нажать зеленый треугольник, но особых затруднений не вызывает.
А запускаешь как? Мне помнится там надо с classpath что-то прописывать, чтобы запустилось.
Брали кстати, пока не ушли. JB кучу всего делали для образования в РФ, но теперь уже нет
Платная идея действительно про сахарок, там ничего критичного нет, а у идеи в целом есть два плюса: хороший, годный гуи для всего и автокомплит.
Автокомплит идейный ни с чем не сравниться, ни с ИИ, ни с более примитивными инструментами, после него в других языках оказывается, что надо неадекватно много писать (и это при том что все вечно жалуются на многословность джавы)
Другие продукты джетов хоть и неплохи, но существенно менее умные, там они просто воспринимаются как "ну неплохая альтернатива, но ничего такого"
>там ничего критичного нет
А то, что нет поддержки Спринга - это не критично? По сути круг задач бесплатной версии ограничен простыми консольными приложениями, а ЕЕ-уровень закрыт.
Тагирка говорил, что в автокомплите есть нейронки, работающие на основе сбора данных от пользователей. Но нейронки там решают очень немного. Большая часть автокомплита это все таки куча логики, которую писали десятилетиями руками.
Так ты не с кнопочки запускай спринг, а с мавена с парой флагов.
Господи блять а ты пробовал хоть?
Как подключаешь зависимость спринга коммьюнити идея сразу начинает визжать АЛЯРМ АЛЯРМ ОБНАРУЖЕН СПРИНГ ЗАПЛАТИТЕ 200 БАКСОВ В ГОД ИЛИ УДАЛИТЕ СПРИНГ ИНАЧЕ ВАШ КОМПЬЮТЕР БУДЕТ УНИЧТОЖЕН ЧЕРЕЗ 5 4 3 ...
Ты это так себе представляешь?
Нет конечно, поддержка спринга это про возможность посмотреть куда и откуда автовайрятся бины, подсветка аппликейшн пропертей, просмотрщик бинов в рантайме и прочий сахар.
Все нормально работает в коммьюнити, ты можешь писать приложения и это даже не сложнее чем в ультимэйт. Может тип чуть-чуть менее удобно, но и похуй
>>51169
Да, все так, и это по сути главная сила идеи, жаль, что ее нельзя легко применить для других языков и технологий
Я не могу даже создать спринговое приложение и привязать томкат.
Да, ты можешь сгенерировать через бесплатную jar-файл, но придётся ручками его копировать в томкат и запускать в отдельной консоли.
А в платной просто жмёшь зеленую кнопочку.
> ручками его копировать в томкат
А где простите меня спринг бут, о каком блять томате идет речь в 2к22
---
Алсо, для этого есть системы сборки
Алишев показывал на обычном Спринге все примеры, а не на буте. Но у него платная версия и ему пофиг на нищуков.
Поэтому мне пришлось гуглить всяких индусов, которые такие же нищие как и я, и смотреть как они работают в бесплатной идее. Вот я и нашёл этот способ с копированием ручками. Но это ОЧЕНЬ неудобно, потому что при разработке ты тысячи раз это будешь делать.
Так у них разницы-то нету в плане спринговости спринга, бут просто замена томката инкапсуляция, томкат там конечно жив внутри, но ты его не видишь + плюшки сборки и конфигурации приложения
И спринг бут приложения собирается и запускается одной командой, и инишилизр есть для создания шаблона приложения со всеми директориями и зависимостями
>>51202
Если тебе это нужно в 2022 - либо ты вкатун-извращенец, либо это коммерческая задача, в любом случае плати (либо ебись с новыми почтами раз в месяц, ты же извращенец)
А че, вебсферу нельзя запустить с дебаг-агентом? Или в чем сложность?
Сломай.
Я не умею
Завидую шарпистам, что у них есть бесплатная Visual Studio 2022 с полным функционалом
Шарпистам нужно завидовать потому что у них есть dotnet и другие cli tools. Создание, сборка и многие другие манипуляции с проектами делать одно удовольствие.
>Сломайте мне плагин для twig
Он платный что ли? Или нужна лицензионная idea ultimate? Если второе, то можешь получить лицензию на 3 месяца решив 4 определенные задачи на степике.
Мне чет не дали, задачи были подчеркнутые. Может из-за впн, я хз. Они пишут что если не дали то может потом сами дадут. А может не дадут. И еще и забрать могут
![image.png](https://2ch.life/pr/thumb/2542909/16718246842460s.jpg)
Как подставить введенный пользователем цвет в название констант цветовых, чтобы они поменялись на те, что пользователь ввёл?
Не рвись ты так.
https://learn.microsoft.com/ru-ru/dotnet/core/install/linux
>>51472
Земля пухом. Я тебе дал решение как получить лицензию бесплатно. Выбор за тобой.
>Мне чет не дали
В каком курсе решал? Мне пришло уведомление на следующий день. Решал в курсе https://stepik.org/course/2223/
>задачи были подчеркнутые
В смысле?
enum AnsiColor {
WHITE("..."),
...;
public AnsiColor(String code) {
this.code=code;
}
}
AnsiColor.valueOf(color.toUpperCase());
Хз, дотнет под виндой почему то звучит как миф того же уровня, что и джава без спринга. Но ок. Пока что поверю.
Ты в линуксе хоть один раз dll файл видел? А в дотнете их куча. Конечно он не работает на линуксе.
Нет dll'ек - есть so'шки.
Хуй их знат че они там напортировали, мне пока что влом разбираться, лучше наверну еще джавы.
Обратный отсчет до даты которая через год.
Как сделать чтобы цвет нужный был аааа
>Основы java
Этот курс не годится.
https://support.stepik.org/hc/ru/articles/360010105180-Как-получить-лицензионный-ключ-от-JetBrains-
Курс должен быть с выдачей сертификата. Например https://stepik.org/course/2223/info
![Снимок экрана (8).png](https://2ch.life/pr/thumb/2542909/16718283936320s.jpg)
Вот ошибка из консоли
java: incompatible types: java.lang.Class<org.springframework.security.authentication.UsernamePasswordAuthenticationToken> cannot be converted to java.lang.Class<? extends jakarta.servlet.Filter>
>Дотнет не работает на линуксе
Жопу ставишь?
>Ты в линуксе хоть один раз dll файл видел?
Расширение файла не имеет значения.
На новой работе предложили обзавестись коммерчесикм опытом по жабе, используем quarkus, а у них на сайте дока всё больше разрозненная, и в инете толком нормальных примеров не могу найти, вот чтоб взять и посмотреть, как сделать какой-нибудь REST + Hibernate + JWT + Postgres. Посоветуйте чего-нибудь по quarkus.
ты какую версию spring-security используешь? там с spring-security 6 и spring-boot 3 много ломающих изменений, старые гайды стали неактуальны. Я ни один из старых гайдов на новых версиях запустить не смог в итоге
да вот об этом тоже подумал, сейчас сижу и перебираю версии, думаю откатывать спринг секурити до 5.7 или даже ниже, после 6 там кардинальные изменения пошли
Ну тыж сам сказал что тип не тот. И правильно сказал - тип не тот. Нужен класс фильтра, а ты ему лабуду какую то суешь.
authenticationJwtTokenFilter() у тебя на скрине какого типа?
а муравью хуй приделать надо или это потом?
смотря что тебе надо.
1. у spring жёсткая привязка к версиям, старые версии за пределами жизненного цикла недоступны
2. если пилишь для себя или разбираешься - лучше потрать время и разберись с 6 версией. на ютубе есть плейлист от индуса, он как раз про 6 версию.
Бамп
Сделай инструментацию байткода и хотсвапни кастомным класслоадером.
Ты меня успокоил, анонче, посижу еще годик на jee проекте 97 года
Вообще интересная мысль.
Моя позиция что большая корпорация для первого места работы лучше во всем - широту навыков можно приобрести на петпроектах, а экспертное мнение без экспертов не получишь. После нескольких лет в больших компаниях можно пойти в стартапы - там будет "мэни хэтс", при этом ты, как опытный специалист, будешь сам /учиться/ выстраивать архитектуру и определять лучшие практики в том, что знаешь, а чего не знаешь - поковыряешься как новичок.
Ну и денег в таком пути больше, корпорации существенно лучше платят новичкам, стартапам тоже приходится хорошо платить специалистам.
Мне кажется, в корпорациях почти все просто замирают в развитии в какой-то момент, ведь это так легко сделать когда у тебя мало работы и большая зарплата. А из мелких всратокомпаний люди стремятся вырваться, анализируют, учатся, и потом пишут книги.
Ошибка выжившего опять же - сколько людей бросили прогу, сколько остались во всратокомпаниях на нищенских ЗП. Ну и с третьей стороны - напишешь ты книгу в 40-60 лет, придет признание и много денег - а смысл, уже не сможешь так радоваться этим деньгам, как в молодые годы
А ты много языков видел, которые используются в чистом виде? Чтобы прям каждая строчка текста была целиком на этом языке.
Ну в дотнете есть Razor и там прямо на самом шарпе можно писать разметку html-страницы
То есть кроме шарпа используется как минимум HTML и JS. А ещё всякие конфиги на XML и JSON. И SQL для работы с БД. Часть кода уходит в атрибуты, которые вместо аннотаций. И где тут чистый шарп без других языков, а?
Есть еще Blazor - .NET в браузере
И что?
Корпоративное программирование вообще не программирование - сплошное декларативное описание конфигураций. И для этого всякие аннотации подходят лучше.
Просто потому что все используют одни и те же стандартные инструменты. Иди писать что-нибудь необычное - там и джаву и другой язык будут в изначальном, императивном стиле использовать.
Сервлеты устарели, томкат устарел, JSP устарел.
Поясню:
- сервлеты - низкоуровневый механизм, в чистом виде используется редко. Надо знать, что они есть где-то под капотом, но всякие doGet() самому писать не надо.
- томкат как отдельное приложение для хостинга варнигов не используют. Нужно EE - используют wildfly, не нужно - используют встроенный томкат как либу, которая упаковывается в исполняемый жарник вместе с твоим приложением, например, так делают в спрингбуте.
- JSP устарел в любом смысле, его не используют ни в каком виде.
Иначе я не представляю, как объяснить, что один пришел изучать JavaEE, второй пишет на голом спринге с эксемелями, третий вон томкат с jsp учить собрался?
Что за хуйня? Или это в ру сегменте просто все гайды древние?
Видимо рассчитывают поддерживать легаси до пенсии.
Кстати даже майнкрафт старается перекатиться в декларативный стиль, там теперь все блоки, предметы, рецепты, текстуры итд просто json ами описываются
>там теперь все блоки, предметы, рецепты, текстуры итд просто json ами описываются
Это же норма для геймдева, не?
Да, Razor - язык для описания UI, лучше всякого говна типа JS.
> Или это в ру сегменте просто все гайды древние?
Да, только при поиске на инглише выдаётся актуальная инфа. Когда вкатун ищет инфу для вката на русском, высока вероятность, что он услышит сначала для не про спринг бут, а про сервлеты, JSP и JSF, а при поиске книг на русском он наткнётся на Pro Spring 4. И будет искать, как собрать варник, сконфигурировать его на XML и задеплоить его на сервер приложений.
Был там стажером несколько месяцев, получал около 30к. Не понравилось. Команда - какие-то скуфидоны после курсов гикбрейнс, которых наняли в ковидные времена. Тимлид - провинциальный гопник и самодур, постоянно ругался матом на созвонах. По хард скиллам довольно слабоватые ребята были, один разраб (уже не джун) вообще с джавой особо знаком не был, а такие вещи как рефлексия или треды у него только удивление вызывали, хотя казалось бы, он уже год как делал веб хуйню на спринге и все это должен был знать хотя бы поверхностно. Как люди были в целом неплохи, но простоваты - по утрам, когда народ только подтягивался, часто обсуждали жопы и сиси Ани и Маши, которые вроде тестировщицами были и сидели на другом конце офиса. Поначалу впечатление было, как будто обратно вернулся в 8 класс своей мухосранской СОШ, но потом кое-как научился пропускать подобные разговоры.
Я после этого в сбере был, а потом в яндексе. В сбере ситуация в целом не особо лучше: такой же гречневый коллектив по сути у меня был. Новички обычно чуть скилловее были, а те, кто давно работал, точно так же нихуя не помнили про джава кор, да и вообще не особо сильны были. Видимо это еще из тех пассажиров, которых по объявлениям набирали в середине 10-х годов.
В яндексе и проект, и коллектив в целом были получше чем в лиге и сбере, но при этом иногда на созвонах по пятницам шутейки уровня паст в /b тимлид и сеньоры рассказывали ради смеха. Каких-то супергречневых я не видел, весь молодняк, стажеры и джуны, так вообще был из топ вузов.
Они просто с нами в офисе сидели, причем довольно далеко от нас и с нами по факту не работали. За все 6 месяцев, что я там пробыл, я с Машей поздоровался один раз, а она меня видимо не заметила/не услышала или просто проигнорила...
Просто Спринг монструозное кривое говно. Вот и всё. Jakarta EE на мой взгляд более лаконична.
>я с Машей поздоровался один раз, а она меня видимо не заметила/не услышала или просто проигнорила...
Рофл) Слишком сложной личностью оказался)
![IMG20221224175123.jpg](https://2ch.life/pr/thumb/2542909/16718936384750s.jpg)
Ну вообще лига цифровой экономики большая контора, вернее это несколько контор, которые объединили в один холдинг. Я в философии ИТ чалился, а там еще несколько других было. Ну и в целом там что-то около 5-7к людей работает, то есть где-то наверняка есть сильные команды с хорошими процессами, но есть и всякое дно.
>я с Машей поздоровался один раз, а она меня видимо не заметила/не услышала или просто проигнорила...
Было бы из-за кого расстраиваться. Таких Маш вагон и маленькая тележка
Ну и кстати у меня полностью офисная работа была, удаленку не давали никому. Если удаленка полностью без офиса, то может быть и нормально будет
>наверняка есть сильные команды с хорошими процессами
Сомнительно. В гос и около гос конторках априори треш.
>>52304
Мне рекрутерка сначала написала в требованиях "3 года автоматизации",я угарнула ,переспросила ,она исправила.(хз в чем сложность сразу норм вакансию написать без ошибок)
Ну и в задачах/обязанностях странное описание какое-то,будто я не на мидла,а на сеньора/тимлида устраиваюсь(без самого написания кода).плюс почитала отзывы, везде про бесплатные переработки написано.
Няша скинь ножки
Начал гуглить, последний, и похоже единственный в 2022 году, уже закончился. Они вообще есть в рашке?
>Они вообще есть в рашке?
Пиздуй нахуй отсюда пока не научишься правильно писать название своей страны.
javac -cp .;"C:/путь к первой библиотеке" Main.java - компилирует файл java с использованием одной библиотеки, а мне нужно указать две :/
Долбоеб? Используй мавен.
Покажи пример где JEE локаничнее спринга.
Лахта, спок.
Почему ты не используешь мавен?
Та же хуйня, причину так и не нашёл. Гугл предлагает несколько вариантов, ни один не помог. Переопределил PS1 в .bash_profile, чтобы он не запускал какую-то хуйню для получения имени текущей ветки, когда находишься в папке с репозиторием, начал запускаться на секунду быстрее, но всё равно долго.
Я думаю что дело в антивирусе, потому что дома у меня только стоковый windows defender. Печально, почти две секунды на запуск это никуда не годится.
Хз, не на работе сейчас, думаю, порядка 10 секунд. На домашнем быстро всё работает.
>>А запускаешь как
mvn clean install - получаю джарник
java -jar target/huina-1.0.0-SNAPSHOT-exec.jar - запускаю
Это копия, сохраненная 13 февраля 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.