прошлый https://2ch.hk/pr/res/1173657.htmlQ: Поздно ли вкатываться в айти в 20/30/40/100 лет?А: Нет, не поздно.Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.Q: Хули все книги на английском?A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.Q: Что скажете за джавараш?Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.https://github.com/qqqlll/Java-Thread/wiki
Java переживает свой закат. 10я версия окончательно вбила гвоздь в её гроб. Уже учите новый язык, петушки?)
>>1186677
>>1186703Какой-то совсем зелёный троль. С приближением каникул таких в прогромаче будет появляться всё больше, к сожалению.
>>1186706/pr всегда был прибежищем для дурачков и вайтишников, ну и пары процентов залетных спецов. От времени года мало что меняется.
Насколько будет больным перекат с JS на Java?Надо ли открывать книгу для чайников и реально учить все с нуля?
>>1186719> с JSУ тебя необратимо поврежден головной мозг. Так что придется тебе остаться на долларовом фрилансе на апворке, учить ноду и возможно го, после длительной медитации.
>>1186719var есть и там и там. Остальное несущественно
Всем привет. Я новичок поэтому простите за банальщину. У меня есть простое javaapp приложение с библиотекой jSSC, которая считывает данные с ком порта. Мне нужно эти данные отправить на сервер, чтобы вывести значения в браузере. Как это сделать? Можете ссылки примеров скинуть и тд
Сейчас какой-нибудь фреймворк для десктопа развиваетс, или уже все приостановлены?
так я и не знаю с чего начать
>>1186741React Native
>>1186677джаву с девяностных хоронят
>>1186741гуи на джаве не нужны
>>1186786Одной из главных фишек Джавы была обратная совместимость, а теперь её полностью проебали, кек.
>>1186719>2018>перекат с JS на Java
>>1186864починят
В тему гуйцов - на чём нынче делают кроссплатформенные толстые клиенты? А тонкие?
>>1186897веб. По моему субъективному мнению, всякие системы реального времени нельзя переводить на веб, он для этого не подходит
>>1186897qt, gtk кроссплатформены
Аноны, есть годные задачки, чтобы отточить навык новичку? Читаю Шилда, но понимаю что если не практиковаться то толку мало.
Хибернейт можно сконфигурировать через .properties файл или только через хмл? Читал сейчас доки хибернейта и там ничего по этому поводу не нашел.
>>1187110Можно через код, в который ты сам подставишь значения из .properties или откуда удобно
Как в java прочитать строку из фаила?Я пробую через inputstream или сканер.Получаю на выходе null.
>>1187239Ноль на входе - ноль на выходе.
>>1187110>Хибернейт можно сконфигурировать через .properties файл или только через хмл? Читал сейчас доки хибернейта и там ничего по этому поводу не нашел.Через проперти можно конфигурировать конект к базе, маппинг через XML или аннотации.>>1187239https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#lines-java.nio.file.Path-
>>1187305>Через проперти можно конфигурировать конект к базеДа, мне это и нужно. Как это сделать?У меня сейчас есть hibernate.properties в класспасе, но вылетает ошибкаorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory'Есть статья как это правильно сделать? Весь гугл облазил и не нашел
>>1187494Настроить коннект к базе != сконфигурировать хибернейт. Раз у тебя спринг, гугли PropertyPlaceholderConfigurer
>>1187496>PropertyPlaceholderConfigurerНаверное для моей задачи он был не нужен. Я просто хотел коннект к базе указать в .properties.Короче я решил иначе внезапно, я так уже делал, но не работало, а сейчас заработало:Я просто прописал в application.properties[CODE]spring.datasource.url = jdbc:mysql://ip/dbspring.datasource.username = 123spring.datasource.password = 123spring.datasource.driver-class-name = com.mysql.jdbc.Driver[/CODE]И всё заработало. Хотя до этого была проблема что EntityManager не автовайрился через @PersistenceContext
Как можно писать один проект несколько лет? Что там может быть настолько сложного?
>>1187643толсто
>>1186864> а теперь её полностью проебалиКаким образом?
>>1188044На 10 половина либ не работает.
>>1188102A. Ссылку на источникБ. ССЗБ, если использовали недокументированные особенности
>>1187731Серьезно спрашиваю.
Список заданий на спринг буте, с постгрес в роли бд и vue в роли фронтенда - норм?
>>1188222Норм
>>1188173бизнес не может просто взять и написать как оно должно быть в идеале, ибо бизнес сам не знает, что должно получиться в итоге.Итого делаем одно. После некоторого периода эксплуатации переделываем. Потом опять. И так до состояния, когда всех более-менее устраивает.И тут приходит время добавления фич, а после и доработки этих фич.Дальше два пути:1) Если менеджмент неадекватный, если нет единого хозяина-конечной точки принятия решения, то этот проект тонет под грузом неюзабельного интерфейса и неюзабельных фич2) Хороший менеджмент, есть конечная точка принятия решения, фичи не добавляются ради фич. В таком случае проект живёт и приносит деньги
>>1188226Не, чет дохуя сложно. Сделаю SPA на шаблонизаторах.
>>1188397Чем тебе vue не шаблонизатор?
>>1188397на каких таких шаблонизаторах маня?
>>1188401Freemarker>>1188400Да хуй знает, там чета устанавливать надо, конпелировать, ну его. Все равно фронтендом не планирую заниматься.
>>1188402тебе ОЧЕ много JS кодить руками придётся маня, бери ангулар и всё
>>1188404Вот я и не хочу js трогать. В ангуляре сильно меньше?
>>1188406Ты бы хоть почитал что такое SPA что ли. В любом случае для SPA нужен JS, весь вопрос в том кто будет его писать.
есть какой-нибудь js продукт без всех этих бабелей и компиляции? Чтобы просто взять и ваять внутри js файла?
>>1188408Я знаю, что vue для этого больше всего подходит, и все.
>>1188410без JS можешь в сторону GWT или Vaadin посмотреть
>>1188402>Все равно фронтендом не планирую заниматься.Лучше при этом все равно сделать нормальный REST-бэкэнд. А дальше можешь какой угодно к нему фронт делать, хоть на JS через немогу как умеешь, хоть консольное приложение, хоть телеграм-бота. Все больше пользы, чем от возни с неактуальным server-side рендерингом.
>>1188413неактуален он только во влажных мечтах фронт-эндеров, большая часть ресурсов на сервер-сайд рендеринге работает без проблем, для SPA он не подходит конечно
>>1188413Я уже делал rest-бекенд, фронт там был сделан с помощью freemarker, а в js коде использовал только jquery. Просто хочу сделать все более стандартно и сам.
>>1188417Хрюкни.
Какую библиотеку мне надо скачать, чтобы я мог просто поставить над классом аннотацию @POJO, указать там приватные поля, и мне автоматически сгенерировались бы геттеры, сеттеры, конструкторы, toString, equals и hascode?
>>1188422но зачем? Пару хоткеет и идея это сгенерирует
>>1188423Точнее не сгенерировались бы, а я сразу мог их использовать, а в коде класса ничего не писать.
>>1188422KotlinLombok
>>1188425как ты себе это представляешь?
>>1188428В ломбоке можно указать параметры генерации equals и hashcode?>>1188429Вот так.
>>1188432дык эти аннотации в рантайме работают все, у тебя не скомпилится если ты будешь геттеры дёргать
>>1188433Ну ломбок же как-то работает.
>>1188433Ломбок при компиляции дохуярит.>>1188432Какие параметры генерации?https://projectlombok.org/features/Data
>>1188422Просто переходи на Kotlin, у тебя нет причин этого не делать
>>1188443лучше на скалу
>>1188445А лучше разбежавшись прыгнуть со скалы.
>>1188445Вот именно что на котлин, если есть задача просто убрать бойлерплейт, а не получить полностью другой язык
>>1188419>rest-бекенд>freemarkerЭто был не rest-бэкэнд (ну или только частично rest)>хочу сделать все более стандартноСтандартно на сегодняшний день - именно чистый rest, без фримаркера и подобного
>>1188432Да, можно.
Объясните как получать координаты мыши при условии что окно неактивно.Мне подсказали что можно использовать jnativehook.Но я не могу отыскать пример.
>>1188905Виндоус?Вначале ищещь как это сдлеать на твоей платформе из нативного кода. Потом пишешь этот код, конкпилируешь его проверяешь что рабоатет. Потом закидываешь как динамическую бибилиотеку и подключаешь к джаве. Вуаля.
>>1187029codewars
Зачем нужно разделение на проверямые и непроверяемые исключения?
>>1189419чтобы был выбор
Почему Checked Exceptions не пометят как Deprecated?
>>1189419Исторически слежалось.>>1189434Потому что поднимется шитсторм говноедов.
>>1189539>говноедовПо-твоему чекед не нужны?
>>1189541Не нужны.
>>1189551Как сказать, что этот метод может выкинуть исключение, и что его надо обязательно обрабатывать?
>>1189556Javadoc.> его надо обязательно обрабатыватьЧто ты подразумеваешь под словом "обработать"? 99% случаев они логируются и выполнение кода прерывается. А в 1% случаев разработчик сам знаешь как обработать и продолжить выполнение кода.
>>1189557>Что ты подразумеваешь под словом "обработать"? Прологгировать и выкинуть код бизнес-ошибки на выход например.Чекед ЗАСТАВЛЯЕТ тебя знать и обрабатывать эксепшены.Анчекед просто вывалятся в рантайме и все, с непредсказуемым результатом
>>1189541По-моему анчекед не нужны.
Хочу подключить файловую БД, и чтобы не нужно было писать запросы руками, типо как в Room Persistance Library для ведроида, только для декстопного приложения. Что скажете за jOOQ, этого вообще кто-нибудь использует?
А как вам такое Илн Маск?ЭКСЕПШНЫ НЕ НУЖНЫПусть метод возвращает юнион успешного результат и возможных ошибок. А кидать только ошибки которые никак не хендлятся.хуй такое в джаве будет
>>1189653Вы теряете самое полезное, что есть у эксепшна: стектрейс.
>>1189660Тебе не нужен стектрейс если ты (и автор библиотеки) обязан обработать все варианты поведения.нигга.жпг
>>1189660Для стектрейса конструкция try/catch необязательнп. Его можно создавать в конструкторе эксепшена. Речь идёт о другом способе передачи эксепшона наверх, к вызывающей функции.И да, в жаве оно сильно и не нужно. Это для пирформанса или взаимодействия с другими языками может быть удобно (одна из причин, почему хотят сделать подобную штуку в C++ [1]).[1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0709r0.pdf
Как это починить? В других java-приложениях тоже шрифты ломаются или вообще ничего не показываетmanjaro linux, openjdk-8(На oracle java то же самое было)
>>1189653>>1189660>>1189668>>1189672Ладно я погорячился признаю. В своем коде я предпочитаю юнионы, они отлично заменяют чекед эксепшны, но унчекд не надо убирать, пусть будутт для простых вещей.
>>1189681Впервуюочередьябысталискатьпроблемувсистеме,скореевсегоджаватутсовершеннонепричемещевозможнопроблемазаключаетсявсамойideтакчтоябыпопробовалпереустановитьее
>>1189672Для редких ситуаций (см. Эксепшнл) эксепшны в джаве работают быстрее, чем ретурн флаги. Гугли The exceptional performance of Lil' exception.
>>1189694Потмоу я и сказал, что в жаве (как и любом языке, работающем поверх VM) оно особо и не нужно. JIT эту хрень может неплохо соптимизировать. А вот для компилируемых в нативный код языков этот вариант гораздо лучше.
>>1189691Хаха, очень смешно. Шутник блядь. Зарепортила тебя, хуесос.
>>1189702Ну у нативных тоже не всё так просто. Вон в цпп до сих пор не решили как им работать: так и компилят стандартную либу в двух вариантах, половина либы в макросах.
>>1189755В ЦПП стандарта на такие ошибки просто не было (впрочем и сейчас нет, не факт, что документ вышу примут к C++20). Тут стоило бы вспомнить об optional, который добавили только недавно, а в стандартной библиотеке вместо него используют итераторы.А ошибки там это вообще больная тема. Вспомнить хотя бы ублюдский math.h с наследием Си.
>>1189681>>1189748Мне с этим тут помогут или нет?Стоит ли идти в Linux-треды?
>>1189748>ЗарепортилаТяночка!!! Как же хочется тяночку! Няшиться под пледиком! Тян тян тян!
>>1186719как тебе пришла в голову перекатываться с джс на джаву?
>>1188445лучше на clojure
>>1188452это задача groov7
>>1189757Ну там многие проблемы - наследие си. Его главная проблема - там не изобрели мавен до сих пор. Только по этой причине писать на плюсах не хочется.
>>1189763Не помогут. Пиздуй нахуй отсюда.
>>1189763Я ебу поспрашивай красноглазых.https://stackoverflow.com/questions/17510099/ugly-fonts-in-java-applications-on-ubuntuЗнаю что жидея по идее (привет тавтология) это вроде должна фиксить, точнее во встроенной жре у нее есть фикс.
Сап тред1) Код типа такого (спринг) - норм или как такие вещи делают нормальные люди?@AsyncListenableFuture<Void> doSomethingAsync() { dolgayaOperacija();}...где то в другом местеListenableFuture<Void> result = superService.doSomethingAsync();result.addCallback(s -> { resultatGotov(); // #1}, e -> { // хуй});2) как в коллбаке #1, убедится что транзакция которая вызывала метод doSomethingAsync() уже закоммитилась?
>>1189983> нормНе норм. ListenableFuture костыльная хуйня без задача. Если так уж хочется - используй CompletableFuture, он намного удобнее в чейне операций. Если у тебя IO операция, или хочешь быть модным - используй rxjava или reactor.> 2) как в коллбаке #1, убедится что транзакция которая вызывала метод doSomethingAsync() уже закоммитилась? Чоблять? Транзакции не вызывают методы. Если тебе нужно знать закоммитилась ли уже транзакция в рамках которой был вызван метод, то выбрасывай архитектуру компонента и переделывай заново на функциональный подход, чтобы лямбде в колбеке было вообще похуям что было до нее и что вокруг нее. Костыли с пробросом объекта мануальной транзакции монадой до добра не доведут и сделают еще хуже. Если ты говнокодер и не можешь сделать иначе, то хотя бы вызывай асинхронщину в самом конце транзакции.
А лучше после коммита.
>>1189998> Чоблять? Транзакции не вызывают методы. Не кипятись, писал быстро и неправильно выразился. Ты же понял о чем я.Мне надо чтобы транзакция в контексте которой был вызван асинхроный метод была закончена на момент колбека, чтобы обновить там стейт объекта.> то хотя бы вызывай асинхронщину в самом конце транзакции.Вот я хотел спросить, как это правильно сделать? она не всегда завершается раньше, чем приходит коллбек.примерно так:Request r = new Request();r.setState(NEW);....ListenableFuture<Void> future = superService.doSomethingAsync();future.addCallback({ // вот тут изначальная транзакция еще не обазательно закоммитилась, поэтому нельзя сделать просто r.setState(DONE);}, e -> { r.setState(FAILED);});
>>1190006Ты делаешь транзакцию и изменяешь какие-то данные. Во время транзакции запускаешь асинхронную операцию, которая выполняется в отдельной транзакции, и тебе нужно, чтобы первая транзакция уже завершилась, чтобы вторая транзакция с увидела изменения первой транзакции (вангую дефолтная read commited изоляция) и изменить их. Просто все эти данные в одной транзакции, а не занимайся ебатекой, что у тебя может быть логически неконсистентность, что транзакция выполнилась, а асинхронщина ебнулась и хули теперь. > Вот я хотел спросить, как это правильно сделать?Ты накурился там? Просто вызываешь свой superService.doSomethingAsync() после завершения транзакционного метода (если декларативно) или транзакционного блока (если вручную рулишь).
что думаете о j-born?
>>1190006Лучше тупо запустить асинхронщину после завершения метода (как уже писали выше), но если сильно приспичило, спринг позволяет вешать колбэки на завершение текущей транзакции, см. TransactionSynchronizationManager
>>1190020Наеб на доллары тупых войтивайти.
>>1190020Норм фильмец.
>>1190096Какую альтернативу предложите?
У меня есть Entity класс User, у него есть поле List<UserAliases> userAliases = ..., это связь с таблицей user_aliases, маппинг настроен корректно, есть UserDaoImpl, так вот как получить из него поле userAliases?Или сформулирую подругому - как получить из entityManager текущий объект/класс текущей сессии? или только обращаться к sessionManager? Я ньюфаг, поэтому неуверен что четко сформулировал вопрос.
>>1190306>неуверен что четко сформулировал вопрос.Не зря сомневаешься, получился совсем бессвязный набор слов, попробуй ещё раз
Посоветуйте каких-нибудь актуальных книжек по Spring Security, в частности интересует авторизация через REST API и управление ролями/привелегиями пользователей.
>>1190333google: spring security example
>>1190164Книги для начала. На курсах тебе предложат те же книги только ужатые раз в 50. А потом можно на всякие coursera записаться. Из отечественных говорят хекслет норм. Но опять же новичкам иам тяжело по тем же отзывам.Ну а если спросишь меня то самый православный вариант это учить java core по книгам потом spring in action и пиздуй кодить где только можно
>>1190449>>Книги для начала. На курсах тебе предложат те же книги только ужатые раз в 50. А потом можно на всякие coursera записаться. Из отечественных говорят хекслет норм. Но опять же новичкам иам тяжело по тем же отзывам.>Ну а если спросишь меня то самый православный вариант это учить java core по книгам потом spring in action и пиздуй кодить где только можноЯ про себя могу описать кратенько.Лет 10 назад на заочке закончил универ по ИТ, все языки были базово. Потом подзабил и вот пару лет как хочу вкатить.Мне главное повторить то что знаю хорошо, прокачать то чего не было тогда (тот же гит) и понять как работают паттерны и прочие новые фишки. читать пробовал, ролики смотрел но вопросы задавать некому и по большому счету. цена вопроса не такая большая чтобы в случае неудачи винить кого-то кроме себя. А там вроде и обратная связь и соревновательная часть.
>то чувтсва кагда использавал линкед лист потому что она начинается с буквы Л хатя аррай лист лучши...
>>1190164Никакую. Пошел нахуй.
>>1190475> Лет 10 назад на заочке закончил универ по ИТ> 30+ (33-34+ по факту)> заочка говноадмина > 0 коммерческого опыта разработкиМы вам перезвоним.
>>119053729 по фактуну перезвоним так перезвоним чо. бабки говорю же небольшие, профессий за плечами уже много: от продажников до руководителя небольшого производствасам то где работаешь и кем? сколько лет? какой опыт?
>>1190536и вам хуй соси
У меня ебанутый вопрос. А есть какие-нибудь аудиокниги по общим вопросам программирования? Парадигмы, методологии и т.п. Мне бы не хотелось ещё и в метро глаза выжигать, а вот послушать чего-нибудь можно.
>>1190557>>1190558Зашкворчало от ненайдящего работу войтивайти.> абсолютно нерелевантный бэкграундЕще и это.>>1190576> не хочу глаза выжигать> хочу получать зарплату за программированиеЕще один. Хочешь быть геем, но не хочешь долбиться в жопу с горки кататься, а саночки возить не хочешь.
>>1190583У меня всё хорошо с работой, не переживай. И расслабь булки, от твоих постов несет детской злостью.Нечего сказать - пройди мимо, не вываливая дерьмо из своей головы.
>>1190584Ого, войтивайти пытается огрызаться. Но ничего, жестокая жизнь еще обгрызет.
>>1190597хуле ты резко против? на галере места мало?
>>1190600Это же двач, тут омежки могут себя немного людьми почувствовать. В реальной жизни же слова боятся сказать, не принимай близко к сердцу.
>>1190608Вкатывайся, в отрасли жуткий кадровый голод, места хватит всем.
Если кому интересно могу тут раз в 2-3 дня писать о своих успехах-неудачах с j-born
>>1190600Потому что ты будешь, как и все войтивайти, демпинговать, лишь бы взяли, и просажить зарплатный рынок. >>1190608Проекции. На собеседовании напрямую людей спрашиваю в чем их цель войти в айти, если они перекатчики, а не нормальные люди.
>>1190615Все равно этот рынок имеет один из самых высоких планок по входу. Все остальные уйдут или в php или в js.Ну да ладно
>>1190620Глупости. Джава не особо сложнее промышленного php и современного фронтенда. Особенно на юаньском уровне.Тогда как каждая каждая школа по объебу вотивайти на доллары, обещая золотые горы за минимум усилий и скромную сумму за курсы, учит именно джаве.
>>1190636Я провел небольшой анализ рынка и понял что собственно java выше всего оплачивается, или почти
Пытаюсь перекатиться в погромисты, работать qa уже просто достало. Есть несколько простых проектов на гитхабе, читаю теорию. Вот тут проблема - чтение "Филосифия Java" нелегко дается нет анон, материал понимаю, но лучше усваивается интерактивный материалда и времени на чтение остается мало после работы. Товарищи говорили уйдут выходные на чтение и понимание материала, но что-то как-то не идет. Может это я такой тупой.Понравился сайт этого чувака, где все просто и лаконично укладывается без тонны текста: http://developer.alexanderklimov.ru/android/еще опробовал codecademy - вещь прикольная, теория+практика считай что без отрыва от производства Но у них проблема - курс заканчивается быстро, и нет больших проектов. Надо бы ресурсу больше проектов замутитьК чему это я? Может кто подскажет интерактивное обучение по типу джавараш/codecademy/developer.alexanderklimov.ru немного теории+практика на месте+проектыБуду признателен
>>1190649Много раз писалось - udacity. Для вката в джаву книги не нужны, достаточно гугла и онлайн туториалов. Особенно игнорируй SICP, который так любят тут советовать. Ну, как будешь сениором можешь прочитать на досуге.
>>1190649Если ты не можешь осилить простую фесолофию java, то это значит, что ты тупой программирование не твое и твои мозги заточены под другую сферу деятельности.
>>1190647Скажи это фронтенд-разработчикам, у которых долларового фриланса полон апворк и полно хорошо оплачиваемых фуллтайм позиций что здесь, что там.
>>1190671уговорил, ушел на фронт-энд. чао
>>1190673>>1190671зря зря, как фронтендер говорю - вся удаленка задемпингована школьниками и индусами.
>>1190691Подскажи где найти? Реакт нужен.Запостил джобу на апворке - ни одного нормального кандидата. Есть парочка нормальных с Украины, но они хотят овер $40 в час, я же могу макс $25 платить.
>>1190691и куда следовать тогда (кроме как нахуй)?
>>1190691Если твои конкуренты - это школьники и индусы, то у тебя все не очень хорошо.
>>1190710Роботы-ебобаты, интернет вещей, VR, вот это всё.
>>1190475Нормальное образование не может дешево стоить. Посмотри на зарплаты среднего java сеньора и прикинь сколько будет стоить у него обучение. Так что дружище не страдай херней и прочти хотя бы базовую книгу а вопросы гугли или тут задавай
Чо делать если я слишком тупой для задачек на codewars?
Сап, ананасы. Хочу вкатиться в Java для распределенных систем. С чего начать погружение в архитектуру распределенных систем на java? Когда уместно использовать броккеры сообщений? Есть какие-то советы, каких практик стоит придерживаться, чтобы бек можно было относительно безболезненно разнести по разным нодам? Если все упирается в базу, то как масштабировать классическую sql базу, чтобы ее тоже можно было разнести по разным нодам?
>>1190761>С чего начать погружение в архитектуру распределенных систем на javaЧто именно интересует? Кластеры, что бигдату мапредусят? Микросервисы? Горизонтальное масштабирование по типу N копий за балансировщиком?>каких практик стоит придерживаться, чтобы бек можно было относительно безболезненно разнести по разным нодамВидимо, речь все же о масштабировании/отказоустойчивости. Тут достаточно понимать, что все состояние (сессии, кэши, локи), которое можно было бы держать в памяти с одной нодой, теперь придется как-то разделять между всеми. Иногда может оказаться достаточным просто все вынести в БД, в более интересных случаях можно использовать хранилища вроде Redis либо какой-нибудь встраиваемый IMDG.>как масштабировать классическую sql базу, чтобы ее тоже можно было разнести по разным нодамСильно зависит от специфики приложения и того, в каком режиме собираешься использовать ноды. В любом случае не помешает грамотный DBA.
>>1190761Как уже говорил в твоем вылезатор тредике -1) Караван всегда движется со скоростью самого медленного верблюда. Хоть усрись.2) Распараллеливание работает на независимых данных/тасках. На зависимых оно не работает. И в реальной жизни, тем более в реальном интырпрайзе, такой лафы, конечно же, не будет, или будет очень мало. Основным твоим геморроем будет придумать как преобразовать алгоритмы/входные данные в независимые друг от друга.3) Балансировка сама по себе не балансируется, ебись с ней сам, перепиливаю граф тасков полностью по 4 раза в день. Я запускаю профайлер по 1 раз в день, каждое профилирование с правками занимает 24 часа.
>>1190787Забыл:4) Распараллеливание работает онли на большом объеме данных, в проитивном случае будет только проигрыш на оверхеде и latency, особенно в варианте с распределенным сетевым кластером.
>>1190787Собственно, вот посмотри пример из гейдева:http://www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine
>Java для распределенных систем.>брокеры сообщений>бек>масштабировать классическую sql базу>пример из гейдева
Аноны, как сильна нужна математика для джава программиста? То что нужна, это понятноне вдаваясь в подробности, какая именно. Мне интересно, как нужна она начинающему прогеру
>>1190808Энтерпрайз-макаке не нужна
>>1190805>http://www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine > Мы разнесли обработку рендера и игровой логики на разные кадры и теперь у нас все охуенно, джобы не простаивают.> Enterprise Java
>>1190691У меня знакомый уехал в тайланд на 100 баксов в час рейт работать на калифорнийскую компанию.Так что прибереги свой пиздеж для кого-нибудь другого. Если твой уровень это школьники и индусы, то проблема в тебе.диванон по знакомому, азазаз
>>1190808Нужна и сильно.
>>1190837какая именно?
>>1190835>в тайланд на 100 баксов в часХм...
>>1190964Пиздит он, не слушай
Аноны, появился вопрос. У меня есть отдельная функция которая подставляет данные файла к переменной. Но нужно что бы подстановка не прекращалась, и если была подставлена последняя строка, все начиналось заново. Как мне это реализовать?
>>1191119чевоблять?
>>1191124я не знаю как еще проще объяснить
Джаваны поясните что из этих глав можно нахуй пропустить или все же все нужны? lлава 7. Наследование Iлава 8. Пакеты и интерфейсы lлава 9. Обработка исключенийIлава 10. Ввод-вывод данных lлава 11. Мноrопоточное программирование lлава 12. Перечисления, автоупаковка, статический импорт и аннотации lлава 13. Обобщения Iлава 14. Лямбда-выражения и ссылки на методы lлава 15. Аплеты, события и другие вопросы lлава 16. Введение в SwingГлава 17. Введение в JavaFX
>>119113415-17 пропускай
>>1191124чето типо постоянная работа с файлом. Открывать его заново, когда закончились строки для чтения
Пиздит он >>1191074 , не слушай.
>>1190835ой плес. у всех есть такой знакомый. по факту заграницей требуются спецы по нормальным языкам типа жавы или функциональщины, а не индусофронтендеры
>>1191197> у всех есть такой знакомыйВот только по факту все эти знакомые это фронтендеры, сидящие либо на долларовом фрилансе тут ебанутые, либо сидящие на долларовом фрилансе в более приятных странах.
>>1191137А лямбды нужны? Без них то как то обходились раньше
>Q: Что скажете за джавараш?>Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.Можно подробнее? Кто-нибудь пробовал - как оно?
>>1191230вцелом тоже можешь пропустить.
>>1191230Нужны. Хуево без них было раньше
>>1191230Лямбды сделали Джаву менее громоздкой, более удобной, добавили гибкости, которой так не хватало, убрали анальное ООП.
Всем привет. Хочу написать библиотеку, работающую с высокоуровневым прикладным протоколом поверх java.nio.channels.SocketChannel. Этот протокол описывает определенные сообщения, которые клиент и сервер шлют друг другу, причем сервер может отправлять сообщения клиенту в любой момент времени, не только как ответ на запрос клиента.И вот, вопрос: как лучше всего спроектировать/оформить библиотеку? Хочется, чтобы она была неблокирующей, простой в своем АПИ, ну и чтобы она НЕ создавала свой собственный Selector, и НЕ делала бесконечный цикл в отдельном треде (хочется оставить контроль пользователю библиотеки).Если есть пример какой-нибудь высокоуровневой библиотеки поверх java.nio.channels.SocketChannel, был бы благодарен за ссылку, потому что гуглил-гуглил - а ни одну не нашел, у всех хелловорлдов высокоуровневая логика непосредственно рядом с while (true) { selector.selectedKeys() ... }, и все норовят создавать тред сами, а я хочу это оставить за пользователем.
>>1191579>ну и чтобы она НЕ создавала свой собственный Selector, и НЕ делала бесконечный цикл в отдельном треде (хочется оставить контроль пользователю библиотеки).Как-то мало вяжется с высокоуровневостью, у тебя кишки имплементации видно получается.
>>1191579Не создавать свой селектор это слишком, но вообще посмотри на kryonet
Как лучше хранить JSON-поле сущности? Map<String, Object>? Нужно хранить отформатированный текст, созданный с помощью Draft.js.
>>1191632Сделай POJO модельку.
>>1191632Делай класс, не обмазывайся мап-говном.
>>1191074>>1191196И кому из вас верить теперь?
>>1191589>>1191627Хочется, чтобы если пользователь захочет - он сможет в том же треде и в том же while (true) работать с другими высокоуровневыми надстройками над nio. Я вообще даже предполагаю, что библиотека не будет никуда ни с кем соединяться, а требовать готовый SocketChannel в конструкторе (ее еще будет в таком случае удобно тестировать).Реально что ли плохая идея держать библиотеку минималистичной? Почему "Не создавать свой селектор это слишком"? Я же не знаю, что еще захочет пользователь в том же треде организовать.
>>1191579Открой для себя netty.
>>1191693он разве не утратил свою актуальность с появлением nio? да и хочется минимум зависимостей, тут будет из пушки по воробьям
>>1191698Наоборот, netty нужен, чтобы не ебаться напрямую с низкоуровневым nio
>>1191579Напиши лучше новый фейсбук.Чтобы понять как библиотека должна работать, нужно понять какую проблему ты решаешь. Если у тебя нет никакой проблемы, а хочется просто библиотеку, то забудь и не трать время.Если ты не знаешь, как с ходу сделать идеальное API, то начни с любого, т.к. с первого раза не получится в 99%. Потом в процессе использования (да даже тестирования. У тебя ведь будут тесты?) поймешь ту "боль", которая возникает у пользователя.
Как писать интеграционные тесты?
>>1191691>Почему "Не создавать свой селектор это слишком"? Я же не знаю, что еще захочет пользователь в том же треде организовать.Потому что неясно, в чем тогда смысл такой "высокоуровневой" библиотеки
>>1191715Что ты подразумеваешь под интеграционными тестами?
>>1191731Ну типа как юнит но интеграционные.
>>1191733Ну вот и пиши типа как юнит, только на целые законченный сценарии. В чем сложность? Какого типа приложение?
>>1191761Приложение для работы с бд с фронтендом на вебе.
>>1191579Хуйней не страдай и используй thrift или protobuf, если тебе нужен бинарный протокол. Лучше все равно не напишешь, а если ты хочешь ПРОСТ, то ты не в тот язык зашел, байтоёбушек.
>>1191769Спринг?
>>1191787Да.
>>1191772он там полубинарный, JSON, перед которым идет бинарный хедер.>>1191730смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельно в/из ByteBuffer
>>1191790Тогда тебе повезло, там все для тестов есть. Гугли по словам вроде spring test или читай https://docs.spring.io/spring/docs/current/spring-framework-reference/testing.htmlИдея в том, чтобы поднять вместе с тестом целый спринговый контекст, желательно максимально приближенный к "настоящему", и in-memory БД вроде hsqldb
>>1191799> он там полубинарный, JSON, перед которым идет бинарный хедер.И нахуя? Оверхед на обязательства по http протоколу хуй три пизды да нихуя по сравнению с самими джейсонами.> смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельно в/из ByteBufferИ трифт, и протобаф умеют вполне высокоуровнево конвертить сразу в классы. >>1191819> объяснять тестирование спринга как какое-то откровениеЧет слегка кекнул.
>>1191799>смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельноТ.е. сериализация тебе нужна по сути, а дальше ебись с сокетом как хочешь. Для этого уж точно свой велосипед лучше не изобретать.
>>1191822>Чет слегка кекнул.Думаешь стоило просто сразу нахуй послать?
>>1191828Вариант. Или проигнорировать. Если человек даже не пытался погуглить миллиарды статей на хабре про интеграционное тестирование самого популярного кейса использования самого популярного джава фреймворка, то разжевывать ему и засовывать пережеванное в крепко сжатый рот это просто себя и свое время не уважать.
Аноны, вот я начитался советов в интернете и хочу купить книгу Effective Java (3rd Edition).На русских сайтах я нихуя не вижу кроме доисторических изданий. На амазоне она стоит неебических 30 бачей. На пиратских сайтах чёт все ссылки битые.Покажите долбоёбу, где её взять, не потратив две моих дневных зарплаты, пожалуйста.
>>1191932>не проверил рутрекеря долбоёб, игнорьте вопросНо тем не менее, где вы покупаете книги, если хочется в бумажном виде?
>>1191938Я книги уже 4 года не читаю.
>>1191938Не знаю. Не помню когда последний раз читал бумажную книгу. Лет 5 назад? Больше?
>>1186670 (OP)Есть в треде господа, работавшие с REST-приложениями на фреймворке Stripes?Я собрал maven'ом фреймворк Stripes из исходников. Убедился, что в библиотеке есть все нужные мне классы. Написал такой простой компонент: https://ideone.com/DGZ1cvКак заставить это работать, чтобы приложение принимало запросы и возвращало ответы? Чтобы можно было запросить API через браузер, curl или postman.
Почему UserDetailsService даёт только метод loadUserByUsername и не даёт метода loadUserByUserId? Ведь у пользователя может и не быть юзернейма, например, если он зарегался через сторонний сервис (например, ВК или Гугл), а id будет всегда. И если я на самом деле буду передавать в loadUserByUsername id пользователя (буду наёбывать Spring Security!), это нормально или плохо?
Сап, помогите с событиями. При клике на иконку должно меняться изображение и цвет задника. Это я сделал. После этого кнопка остается "нажатой". Как сделать так чтобы после нажатия цвет обратно становился серым?
>>1192147Ты археолог?
>>1192189На чем это делается в наши дни?
>>1192190Spring Boot, если для ленивых, а так вариантов - масса.
>>1192147Ну как там в 2008?>>1192151Даже обоссывать лень. Такую хуйню написал.>>1192155Телепаты джаваскрипта в отпуске.
Нормально ли начинать учить яву с нуля по Шилдту?
>>1192368http://developer.alexanderklimov.ru/android/java/java.phpЯ по этому сайту начал, вроде норм.
Поясните за спринг бута. Разница между 2.0.0+ и 1.Х+ версиями только в смене томкэта на хиккари? Проект с 1,5 не работает на 2,0.Есть смысл ковырять версии до 2 или уже все на нее переехали?
>>1192451
>>1192474ЯННП
>>1192451Разница в переезде на пятый спринг, восьмую жаву, вот это вот всё.
>>1186670 (OP)Сап, джава-мэны. Написал такой код для обработки запросов: https://ideone.com/z7VioEЕсли потребуется делать роутинг многих путей запросов, как избавиться от увеличения рамера кода? Можно как-то более красиво добавлять обработчики?
>>1192151Кароч я понял, тут username это необязательно тот юзернейм, который используется при логине в паре с паролем. Поэтому буду его генерировать каким-нибудь образом (например, user_id[id юзера]_[рандомная строка]), а для логина через имя пользователя и пароль буду использовать другое поле.
>>1192568От увеличения какого кода ты хочешь избавиться?Добавь отдельный файл с маппингом запросов на методы контроллера. Или возьми любой mvc фреймворк и не изобретай велосипед.
>>1192568Откуда get post методы взялись? ЯННП.
>>1192592>Добавь отдельный файл с маппингом запросов на методы контроллераМожно пример?
>>1192564Я надеюсь в реальной работе все уже давно на 2.0?Пробую перекатываться из С# в спринг.
>>1192606Нет.Оставайся на месте.
>>1192568Ну и говнокод. Даже обоссывать противно, вдруг зашквар через мочу вверх по струе передается.
>>1192568Сперва я испугался, что тырпрайз совсем меня кодить разучил, но потом понял, что ты просто хуйню написал.
>>1192629Что за буйный шизик. Почти забыл что я на дваче.
>>1192629>>1192631>>1192651Когда сказать по делу нечего, а кукарекнуть хочется.
>>1192666> это сок, а не моча111 и вообще у вас бомбит
>>1192606Он релизнулся полтора месяца назад. Spring Cloud соответствующей версии ещё не релизнулся. Как думаешь?
>>1192783То есть одна версия еще недостаточно устарела, а другая не доработана. Заебись.
>>1192794В смысле? Что тебе не нравится в 1.х версии?
>>1192794>>1192795Ну и они там не то чтобы делали breaking changes, так что хз о чем ты беспокоишься.
Что лучше для REST апи один большой реквест или много маленьких?Например есть страничка пользователя которой нужно подгрузить аватарку инфо комменты и тд. Лучше сделать это как /user/1или /user/1/photo/1/messages/1и тд?В первом случае отпугивают проблемы с тем как это кэшировать и проблемы с реализацией. Но это кагбы быстрее чем много запросов.
>>1192798отдаёшь html страницу. Для кого html делали?
>>1192814Андроиду тоже хтмл передавать?
>>1192798/api/user/{id}/photoХули тут думать?
>>1192819>Хули тут думать?Оно и видно, что ты не подумал нихуя.
>>1192820Зато ты такой охуенный умник высрался.
>>1192798Описалово не полное у тебя.Если брать в пример соцсеть со страничкой, сообщениями, оповещениями и т.п., то тут нужно какую-то середину искать, не отсылая 500 запросов на каждую хуйню, но и не передавая огромные пакеты данных. Я бы отдавал страницу с фото, например, а сообщения и оповещения отдельным запросом забирал, тебе ведь их в любом случае отделить надо.Глянь вообще апи разных сетей, как они это сделали.
>>1192795Ну вообще то там солидная разница в конфигурации.
>>1192825>не отсылая 500 запросовТолько что смотрел Фейсбук который буквально делает 250 запросов чтобы загрузить страничку группы.
>>1192828Зачем ты смотрел говно?
>>1192829>>1192822>>1192666>>1192631Кек, это один и тот же токсичный ребенок?>>1192828Глянь ещё что-нибудь, фб слишком большой и старый.
>>1192783Финчли уже релиз кандидат, тащемта. Да и пружина облако постепенно становится не нужна с нашествием k8s-based решений. >>1192798Второе. The Interface Segregation Principle же. >>1192814Эх, сейчас бы в 20!8 рендерить HTML на сервере.
>>1192848>Эх, сейчас бы в 20!8 рендерить HTML на сервере.придумывать себе проблемы, а потом героически с ними бороться
>>1192850Можно было бы по делу обоссать тупоголового деграданта, но ты спалился раньше - не ставящая точек мелкобуква. Это ставит на тебе крест.
Где можно почитать про конфигурцию спринг секьюрити на буте 2,0?Гугл выдает старье 1,5+.
>>1192876https://docs.spring.io/spring-security/site/docs/5.0.5.RELEASE/reference/htmlsingle/
>>1192884Спасибо. Мне просто интересно почему гугл выдавал какие то говнобложики вместо офф документации.
>Запускаю идею>Обновление политики безопасности, пожалуйста прочтите>Мы собираем ваши юзернеймы, пароли, телефоны, куки и ИНН>Принять/Отказаться и выйтиКак же я блядь это обожаю.
>>1192912Ну это наверно Ultimate?
Сейчас учу Java. В какой момент начинать осваивать SQL?
Пикрелейтед пример из Спринг ин экшн. В верхнем методе jsp рендерит поля из объекта в "spitter" в модели, в нижнем при проверке ошибок мы объект в модели не сохраняем, откуда спринг берет значения неправильно введенных полей? И вообще нахера эти теги нужны, в чем разница с обычным EL?
>>1193148Для начала, ты же понимаешь, что вся эта jsp-херня не нужна, ее можно скипать?>мы объект в модели не сохраняем, откуда спринг берет значения неправильно введенных полейПодозреваю, что как изначально спринг забайндил форму в объект и засунул его в модель, в соответствии с modelAttribute="spitter", так и оставляет его там, в том числе на время рендеринга результата.>И вообще нахера эти теги нужныЧтобы вот это самое modelAttribute="spitter" писать, а потом в инпутах только path="firstname", типа форму целиком на объект байндишь. Иначе надо рисовать обычные html-инпуты с конкретным value; можно, действительно, и так, без специальных тэгов.
>>1193128Ни в какой. Бросай вообще.
>>1193072Да, и что? В бесплатной версии тем более все собирают.
>>1193216Аргументируй
>>1193148Зачем тебе аннотация @Valid?
>>1193238Там можно отключить отправку данных
>>1193199На время какого блин рендеринга? Аттрибуты модели не сохраняются между запросами. Я выяснил, что в нижнем методе объект (который с @Valid) уже находится в модели, откуда он там? Вот в чем вопрос>>1193245Проверяет значения параметров запроса
>>1193261>Проверяет значения параметров запросаУверен?
>>1193269проверяет объект валидатором, если тебе угодно, или что не так?
>>1193276Ну если валидация настроена, то все в порядке.
Ребзя, не кинете ссылочку, на годные исходники сеньоров, чтоб набраться опыта и узнать какие-нибудь фишечки и профессиональные фичи использования джавы? инбифо гитхаб
>>1193335Открываешь исходники спринга и обмазываешься.
>>1193261>На время какого блин рендеринга? Аттрибуты модели не сохраняются между запросамиУ тебя один запрос, POST на /register, в ответ на него сервер отправляет ту же самую html-страницу (return "registerForm"), во время ее рендеринга в модели лежит объект, который спринг туда положил в начале обработки этого же запроса.
>>1193340Я понимаю, что он в модели, но я не понял, почему спринг его туда самостоятельно добавил.Но судя по ответам отсюда https://stackoverflow.com/questions/8688135/modelattribute-annotation-when-to-use-it/26916920#26916920 объекты автоматически добавляются в модель, тогда собственно все понятно
Java-господа помогите. Есть класс, конструктор которого принимает строку. После в том классе нужно разделить строку методом split(), но возникает ошибкаjava.lang.NullPointerExceptionкак фиксить?
>>1193370Добавить обработку пустой строки.
>>1193372Но строка же не пустая, или я тебя не правильно понял?
>>1193390У тебя где-то строка становится равна null. Вот проверку на null и надо добавить. Желательно найти причину почему в функцию передаётся null вместо строки. Так что отладчик в руки и вперёд.
>>1193370Ты ведь не поленился и загуглил, в каких случаях получается такой эксепшен?
Тупой вопрос таймВ чем разница в спринге между использованием DAO, Сервисами и ЖПА/XYZрепозиториями? По сути это же одна и та же хуйня, не?
>>1193536Не.
>>1193390Телепат из отпуска заглянул. У тебя передается null вместо пустой строки, т.е. "". В Жабе это разные вещи.
шатает
>>1193693https://pastebin.com/R7tcwywv
Хочу сделать AfterReturning-эдвайс у методов интерфейса, который экстендит JpaRepository. Эти методы помечены моей аннотацией. Будет ли этот эдвайс работать? Просто ведь Спринг подсовывает свой прокси и я боюсь, что мои аннотации "потеряются"/не будут видны эдвайсу.
>>1193699https://www.youtube.com/watch?v=BmBr5diz8WA
опишите в двух словах нахуя нужны референсные методы и в чем они незаменимы? это же лямбда по сути, просто с сахарком
>>1193712>просто с сахаркомЗатем и нужны. Как и лямбды.
>>1193713> лямбды> сахарЕбать ты долбоеб.
>>1193720Кыш, ребенок.
>>1193834Сдрисни, войтивайти.
Нормально ли передавать PageRequest в сервис-слой из контроллера или нет?
>>1193885Ну как бы методы в репозитории, которые отдают данные постранично, принимают параметр Pageable.
Поменял через рефлексию значение Boolean.TRUE на false, мой мир пошатнулся.
>>1193956Можешь еще изгавнякать кэшы оберток над примитивами.
>>1186670 (OP)Анончик. Помоги, пожалуйста, ответить на несколько вопросов.Какими из следующих способов можно запретить наследование класса (речь идет о top-level классах в Java)?Отметьте все подходящие варианты ответа.1. Добавить модификатор abstract2. Добавить модификатор final3. Добавить модификатор private4. Не определять конструктор5. Объявить все конструкторы класса private6. Запретить наследование нельзя
>>11941262.5.
Джаваны, распишите свои стори, плизи еще кому не лень, но вроде здесь это не так часто встречается, как в веб треде, к примеру, лел.За сколько вкатились/устроились, сколько зп была по началу и вообще, как устроились в первый раз. Особенно интересно, если город милионник, не более. спс
Блять, мне так стыдно за NPE, но я не понимаю. У меня есть List<HashMap<String, String>> и я тупо хочу его перебрать. Но суть в том, что у меня жсон на пикриле 2. Я просто получаю его с сервера, ему не нравится то, что сначала идет 0, а потом 2? Если мне приходит ответ аля [0, null, 2, 3] то почему trimToSize не помогает?
>>1194233А, ну я сам ответил на свой вопрос) кек. Какой я догадливый:removeAll(Collections.singleton(null)) спасло если шо
>>1194237>removeAll(Collections.singleton(null)) Как же хочется лямбдочку... Но понятно, что это android
>>1194252Почему все так уверены, что лямб нет?
>>1194233Ты из listClients по индексу нулл вытаскиваешь, придурочный.
>>1194197Устроился без опыта, первые два года 70-80к, потом 140Сейчас пытаюсь на апворк войти, но там на хуях катают пока что.
>>1194255потому что ты их не использовал
>>1194197Нахуй иди.
>>1194297Я знаю лямбды только на примитивном уровне и вообще далек от версии 8 и выше. Пока андройд на 8-ой сидит и меня все устраивает, да и код других людей вполне читаем.И вообще я удивляюсь тому, как джава стартанула до 10 версии. Совсем они там ебу дали я смотрю.
>>1194305> Пока андройд на 8-ой сидит и меня все устраиваетЧоблять? В ведро восьмую джаву завезли только в седьмой версии ведра. 99% устройств на предыдущих версиях.
>>1194308че блять? прописываешь compileOptions { targetCompatibility 1.8 sourceCompatibility 1.8 }и идешь нахуй.
>>1194316> java.util.stream API level 24 or higher.> java.lang.FunctionalInterface API level 24 or higher.> java.util.function API level 24 or higher.Так что нахуй придется пройти тебе, мелкобуква.
Аноны, выручайте.Class A{ public void print(){} }Class B extends A{ public void print(){} }Class C extends B{ public void print(){} }A a = new C();a.print();Здесь происходит восходящее преобразование и позднее связывание метода, я прав?
>>1194394Здесь происходит вызов виртуальной функции, а у тебя какой-то новояз. Студент чтоле?
>>1194402> вызов виртуальной функцииЧегоблять.
>>1194402>>1194402У Эккеля читал в разделе про полиморфизм.
>>1194405Впрочем да, в жаве почти все функции (кроме тех, что отмечены private или final) являются виртуальными.
>>1194410Чегоблять. В джаве нет виртуальных функций.
>>1194414Хотя ладно, есть, я обосрался.
>>1194414Есть они там, просто тебе не надо писать virtual, чтобы получить определённое поведение. Они там все по-умолчанию виртуальные, чтоб ынтерпрайс-макаки не заморачивались с виртуальными деструкторами и прочим говном из C++-мирка.
>>1194394Если jvm и компилятор могут доказать, что a всегда будет инстансом C, то хуй знает что там будет на самом деле.
>>1194418в примере есть позднее связывание(late binding) и восходящее преобразование типов (upcasting)? все методы кроме статических, финальных и прайвет связываются во время выполнения, и для ускорения их записывают в таблицу методов, правильно?
>>1186670 (OP)Меня заставили ковырять опердень. Есть прототипы на го и джаве. Суть такова, что надо написать рест, который будет позволять заливать файлы большого размера и файлы, помещающиеся целиком в тело запроса пост, добавлять их в GridFS и запрашивать метаинформацию о файлах. Есть рабочий прототип, но мне не нравится, что пришлось писать свое локальное файловое хранилище. Есть библиотека, которая позволяет развернуть локальное хранилище, создавать файлы, удалять и добавлять к ним байты по имени файла или по его метаинформации (например, идентификатору)?Как выстроить архитектуру приложения? Про архитектурные слои я только читал. Додумался своим микромозгом только до создания классов-обработчиков HTTP-запросов, у который вызывается статический метод при роутинге реквестов.
>>1194570Система хранения контента. Почти классическая тащемта задача с множеством подводных камней. Задача для повидла или помидорки. Учитывая, что ты задаешь такой вопрос и тем более несешь какую-то хуйню про ручную статику при роутинге HTTP-запросов, то очевидно, что не являешься ни одним из перечисленных. Поэтому объяснять тебе что-то абсолютно бессмысленно - не поймешь. Поэтому покупай IBM Filenet или юзай какой-нибудь бесплатный owncloud и используй их.
>>1194570>Есть библиотека, которая позволяет развернуть локальное хранилище, создавать файлы, удалять и добавлять к ним байты по имени файла или по его метаинформации (например, идентификатору)?https://docs.oracle.com/javase/7/docs/api/java/nio/package-summary.html
>>1194580>BM Filenet или юзай какой-нибудь бесплатный owncloud и используй ихГовно. Нужно хранить файлы локально, а потом, если выполняются некоторые условия, перегонять их в GridFS. Есть локальные системы управления контентом?
>>1194296Спс>>1194299Сам иди
Пикрил, объясните для чего здесь оператор return и почему именно val?
>>1194840> объясните для чего здесь оператор returnПотому что возвращается значение из функции.> и почему именно valПотому что так эту переменную назвали.А вообще попробуй написать этот же код в редакторе с подсветкой кода (или IDE) и подобыне вопросы сразу уйдут.
>>1194842Да бля хз почему но именно на этом ебучем return пиздец туплю. Ни с чем до этого момента проблем не возникло. Вот нихуя не могу понять.Скачал intelijIDE но пока не использую. В онлайн компиляторях работаю. Видимо действительно стоит в IDE начать практиковаться
>>1194580>Поэтому объяснять тебе что-то абсолютно бессмысленно - не поймешь. А ты не выебывайся, а дай совет по инструментам и архитектуре. Мне это задание дали, потому что никто не брался за эту грязь и занимались простыми вещами. Меня попросили сделать хотя бы работающее хранилище, а я еще хочу создать хорошую архитектуру.
https://www.udemy.com/java-tutorial/learn/v4/contentПринес годноты для нюфань. Бесплатный курс основ Java. На инглише.
>>1194984>годноты для нюфань>На инглише
>>1194988Ну бля там интермидиэт уровня хватит. Еще и сабы завезли.
>>1194955> А ты не выебывайся, а дай совет по инструментам и архитектуре.Заплати за консалтинг - дам на понятном тебе языке. > Мне это задание далиНу и делай.
>>1195009Токсичный ребенок, ты вообще из этого треда не вылезаешь, что ли?
пока обучаюсь по книге Сьерра и Бейтса. код набираю в emacs. какой ide пользуетесь и что посоветуете?
>>1195034Читай спецификацию языка, она как затычка для жопы. Если ты ее не знаешь, то тебя ей будут тыкать.
Это нормально, что InputStream для skip() читает пропускаемые байты? Мне, например, в 8Гб файле нужно сначала прочитать несколько заголовков по 8 байт - это мне стриму придется все 8Гб через буфер прогнать? Эта хуйня еще и лимит на пропуск имеет.Может есть какой-то другой способ быстро и эффективно прочитать только нужные байты?И это не считая того, что байты в строку переводятся через new String() и пришлось свой метод перевода байтов в uint32 (long в жабе, охуеть) писать
>>1194126Добавить final. Так ты запрещаешь иметь подклассы основному классу.
>>1195547>InputStreamЭто абстрактный класс. FileInputStream работает по-другому, а реализация зависит от платформы.>другой способRandomAccessFile
>>1195034Idea. По-мне, самая удобная ide. Все, что тебе нужно идёт из коробки. Только немного глуповатый "Jar of Web". На том же pycharm работает лучше.
>>1186670 (OP)Поясните нуфагу за лямбда и функциональные интерфейсы. Их часто используют? А ссылки на методы вообще нахуя нужны?
>>1195603https://www.youtube.com/watch?v=Gsfmfeb2XW8
Привет ан он.Помоги реализовать всплывающие кнопки.Суть такова.Я пытаюсь создать две jpanel так чтобы одна была прозрачный.На одну панель вывожу изображение через jlabel.А на прозрачную панель хочу вывести кнопки.Чтобы они появлялись над изображением только когда я навожу туда мышку.Мне посоветовали переопределить класс jpanel но это не помогает. JPanel otherPanel = new JPanel( new BorderLayout() ) { @Override public void paintComponent( Graphics g ) { super.paintComponent( g ); // Apply our own painting effect Graphics2D g2d = (Graphics2D) g.create(); // 50% transparent Alpha g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); g2d.setColor(getBackground()); g2d.fillRect( 0, 0, getWidth(), getHeight() ); g2d.dispose(); } }; otherPanel.setOpaque( false );
В общем, делаю на спринге каталог товаров.Хранится в базе данных. Задача: нужно чтобы при нажатии на кнопку edit вместо ссылки с названием появлялся input.Как лучше всего реализовать?
>>1196234На js
>>1188102Очень просто фиксится. не использовать новую версиюВсё равно 90% говна написали ещё 20 лет назад.
Сап двач. Есть autocloseable класс в нём метод который с помощью bufferedreader читает из файла без try with resource и я не закрываю его в этом методе. Если я помещу объект этого класс в try with resource и вызову этот метод то ридер закроется?
>>1196557Можешь сунуть bufferedreader в поле класса и в close методе класса закрывать его. Тогда можешь в блоке инициализации try with resources хуячить свой autocloseable класс - по выходу из блока вызовется close метод твоего класса. А там что напишешь в методе.
>>1196559Понял принял спасибо
>>1196560Пшел нахуй.
Где лучше проводить конвертацию сущностей в DTO и обратно — в контроллерах или сервисах?
>>1196715В сервисе офк.
>>1194197Стажирвался сначала месяцев 5, но можно было и быстрее, если бы времени больше уделял.Далее 3 месяца испытательног сроки с зп в $250, после этого $500, так уже работаю чуть меньше года, скоро обещают поднять
>>1194296на апворк именно с джавой хочешь войти?
>>1194296> апворк> джава
>>1188102Пиздец. Хорошо, что я на восьмёрке.
Уважаемые Java-господа, поясните. Почему в последней строке невозможно выполнить присваивание? Ведь Student - это Human. Можно ли, не меняя тип переменной в строке (1), все-таки выполнить присваивание в (2)? Если эта проблема имеет известное название - скиньте, загуглю.
>>1197572Вставь дженерики вида ? extends ...
>>1197572Пoтому что иначе можно было бы:class NotStudent implements Human {...} humanContainer.add(new NotStudent);Student student = studentContainer.get(0); <-- ClassCastExceptionКлассКасты должны происходить только при явных кривых кастах, неявные кривые касты должны выявляться и заворачиваться компилятором. Но и тут джаваны обосрались - https://dev.to/rosstate/java-is-unsound-the-industry-perspective
>>1197591>https://dev.to/rosstate/java-is-unsound-the-industry-perspectiveЖабу год от года хоронят, но год от года выясняется, что альтернатив-то и нет нихуя, кек.
>>1197572это называется generic invarianceОбычные массивы же covariant, поэтому с ними бы такой финт сделать можно было бы
>>1197612Удваиваю, по ссылке от этого >>1197591 теоретическое дрочево той же степени полезности, что и бага найденная в реализации сортировки (timsort). Я сам топлю за формальные методы, но нужно остановиться и понять, где, блядь, академическая поебота оправдывающаяся за гранты (со всей демагогией в аргументации) и где промышленное программирование с перспективами.Условно говоря, Мартин со своим вкладом в реализацию дженериков - это полезная академия и даже промышленное программирование. Чуваки нашедшие изьян в этой работе, что ж, проделали интересную и даже полезную работу, но для академии. Как только они начинаю верещать о надежности и промышленной разработки, можно слать на парашу.
1
>>1197612>альтернатив-то и нет нихуя, кек. Scala
>>1197698Как там обратная совместимость поживает? Готовы переписывать всё под новую скалу? Вам создатель языка в рот уже который раз ссыт таким образом? Третий?
>>1197612> альтернатив-то и нет нихуя
>>1197706>КотлинХватит пиарить это говно уже.Это недоязык, сделанный для внутреннего применения в компании. Состоит из грязных хаков чуть более чем полностью.
>>1197698Скала - это не альтернатива.Это просто годный язык. Сам по себе.
>>1197718>грязных хаковКаких?
>>1197718>>1193615> А вот и имбецилы из секты свидетелей отрицания главной Java-конференции в СНГ подъехали. > Мне кажется, что отношение к Котлину это такая же лакмусовая бумажка как мелкобуквенность. Человек вопит, что Котлин не нужен - бац, он долбоеб, с ним все ясно - нет нужны разговаривать с ним дальше и выяснять, что он и джейпоинт отрицает и наличие остального долбоебизма.
>>1197724>главной Java-конференции в СНГ Что ж ты делаешь, содомит.
>>1197720грязных
Есть один бинарник, который читаю через RandomAccessFile, но так как встроенная читалка не работает из-за Big-Endianness и невозможности в UnsignedInt без ебли, не пришло в голову идеи лучше, чем наследовать свой класс со своими методами чтения.Так как для конвертации в другую последовательность нужно читать байты, возник вопрос: "создавать массивы байтов в методах или создать их один раз как члены класса?"Снова выхожу на связь
>>1197913>наследовать свой класс наследование противоречит ООП. Создавай utility-класс, а в нем статический метод long readUIntLE(RandomAccessFile)
>>1197917Но ведь BufferedInputStream extends FilterInputStreamАFilterInputStream extends InputStream
>>1197920Декоратору можно.
>>1197917>>1197922>A dry summary of all their arguments is that utility classes are not proper objects; therefore, they don't fit into object-oriented world. They were inherited from procedural programming, mostly because we were used to a functional decomposition paradigm back thenКороче, создам класс, но не буду наследовать. Сделаю хэндл RandomAccessFile членом, а в конструкторе инициализирую его. Методами класса буду обращаться к файлу и возвращать что нужно.
>>1197935> Сделаю хэндл RandomAccessFile членом, а в конструкторе инициализирую егоВо, правильное решение. Композиция решает. Гораздо гибче наследования и, в отличие от последнего, вписывается в ООП.> Методами класса буду обращаться к файлу и возвращать что нужно.Заодно implement-ь те же интерфейсы, что и RandomAccessFile.
>>1197945> Заодно implement-ь те же интерфейсы, что и RandomAccessFile.Это и называется декоратор.
>>1197946Да, знаю. Я недавно решал проблему с endianness по другому: (надо было поддержать разные платформы):interface Endianness () { int readInt (Stream);}class BigEndianness implements Endianness {...}class LittleEndianness implements Endianness {...}ну и статический метод getInstance для подбора верной реализации для текущей платформы
>>1197913Неужели на жаве так тяжело байтоёбить? Даже в JS, когда добавляли типизированные массивы сделали специальные методы для работы с порядком байтов.Впрочем да, о чём это я. В жаве же даже нет беззнаковых типов, а я тут о байтах что-то говорю.
>>1197954Даже в си эта экономия спичек на беззнаковости не оправдана
>>1197954> Неужели на жаве так тяжело байтоёбить?В Java™-вселенной в этом нужды нет.Конкретно эту хрень >>1197949 мне пришлось ввести исключительно потому, что локальный IPC-сервер написан на голых сях, а авторы не озаботились кроссплатформенностью его протокола (на разных процессорах разный протокол, охуеть). Т.о. если в Java™ и встает вопрос об endianness, то только из-за косяков низкоуровневых товарищей.
>>1197954Мне не тяжело, просто есть подводные камни. В 1.8+ вроде как завезли всякие облегчающие штуки.Смотрю в код читалки на С# - там все гораздо проще. На руби код так вообще пиздато выглядит.
>>1197954>Неужели на жаве так тяжело байтоёбить? Нет, не тяжело.Постоянно это делаю вообще без проблем.
Анонче, что можешь посоветовать из литературы/статей о работе жвм? Хочется больше понимать саму платформу.
>>1197973http://www.allitebooks.com/java-performance-the-definitive-guide/Ну и очевидную Java Virtual Machine Specification.
Вот только понять не могу почему что жава, что c# читают/записывают long как int << 32 + int
>>1197612> альтернатив-то и нет нихуя, кекАльтернатив чему? Ёбаному легаси по ставке 15 баксов в час? Ты думал как языки умирают - хоп и всё, все отказались и разошлись? Да хуй тебе, даже на RPG можно найти вакансии.Очнись, пидрила, на джаве новый проект уже стрёмно стартовать - к выкату на рынок всё нахуй поменяется. Та жаба которую ты знаешь уже агонизирует и переписывается под новые концепции последнего десятилетия, как это было сделано с плюсами и c# несколько лет назад, лол - и тут жаба в хвосте, скоро жаба так же развалится на 2 языка, сторонники которых будут ненавидеть друг друга. И нужна ли будет кому-то та часть языка, который по удобству использования отстала даже от плюсов? Конечно нет, старая жаба умрёт, а если что-то и выживет, то похоже оно будет на своих современных "убийц".
>>1198124Эх, святая толстота
>>1198124>Очнись, пидрила, на джаве новый проект уже стрёмно стартовать - к выкату на рынок всё нахуй поменяется. Та жаба которую ты знаешь уже агонизирует и переписывается под новые концепции последнего десятилетия, как это было сделано с плюсами и c# несколько лет назад, лол - и тут жаба в хвосте, скоро жаба так же развалится на 2 языка, сторонники которых будут ненавидеть друг друга. И нужна ли будет кому-то та часть языка, который по удобству использования отстала даже от плюсов? Конечно нет, старая жаба умрёт, а если что-то и выживет, то похоже оно будет на своих современных "убийц".Лол, сохрани себе это - сможешь постить и через 15 лет.Именно это и слышно каждый год.
>>1198138Что-то подобное помню в начале 2K было. Только упоминалась еще, что мультиязыковость .Net, но и здесь убийцы обосрались.
>>1197984Обход беззнаковости. Читаем два раза по 32 бита и суем в 64, так что бы ничего не проебалось.
>>1198159Выглядит как грязный хак.
>>1198152> помню в начале 2K былоА теперь сравни жабу тогда и жабу сейчас.В начале 2K и вплоть до выхода 1.5 ява была тем ещё дерьмом общим с современной явой имеющим только подмножество синтаксиса. Что характерно для явы, она уже тогда отставала от плюсов.И так же как сейчас помирает java pre-1.8, java 1.4 уже сдохла и библиотек, поддерживающих её, кот наплакал, а жопосед поколения 1.4 хуй что разберёт в 1.8. Как и жопосед поколения 1.8 возненавидит код эпохи 1.4.
>>1198419sed -e s/java 1.4/кресты 98/ -e s/java 1.8/кресты 11/.
>>1198124>Альтернатив чему? Ёбаному легаси по ставке 15 баксов в час? Ты думал как языки умирают - хоп и всё, все отказались и разошлись? Да хуй тебе, даже на RPG можно найти вакансии.>Очнись, пидрила, на языкнейм новый проект уже стрёмно стартовать - к выкату на рынок всё нахуй поменяется. Тот языкнейм которую ты знаешь уже агонизирует и переписывается под новые концепции последнего десятилетия, как это было сделано с плюсами и c# несколько лет назад, лол - и тут языкнейм в хвосте, скоро языкнейм так же развалится на 2 языка, сторонники которых будут ненавидеть друг друга. И нужна ли будет кому-то та часть языка, который по удобству использования отстала даже от плюсов? Конечно нет, старый языкнейм умрёт, а если что-то и выживет, то похоже оно будет на своих современных "убийц".Эй, бротан-наротан, подготовил тебе боевую пасту.
>>1188102Работает, просто теперь они отдельно подрубаются, а не сразу идут.
>>1198428Есть такое. Только вот видишь в чём разница - c++11 не просто новая версия языка, а вообще нахуй новый язык. А в java 1.8 в качестве языковых фич мы получили стримы, лямбды и обвязки для удобного их использования, а также возможность протащить в язык var через 5 лет. Стримы охуенны, к ним вопросов нет. И ...всё? Охуенно, чё, дайте две! А теперь мотаем на 3 года вперёд и получаем Map.of - это ж вообще нельзя воспринимать иначе чем как толстый троллинг. Да я блять не удивлюсь если они джепы на одобрение Кубо шлют перед реализацией.
>>1198382Нормально выглядит. Решился байты ебать - не плачь.
Spring MVC. Почему поля пустые? По задумке, при нажатии кнопки edit открывается новый view и там уже заполнены поля предметом, который был выбран.инб4: как можно кодить на чёрном фоне
>>1188102ПИЗДЕЖИЗДЕЖ
>>1198455> var Проснись, студент ты обосрался. Запилили уже.
>>1198529это рли так, даже спринг бут отдельную обнову выкатил
>>1198529Несколько библиотек поотваливались из-за неправильного определения версии. 10 они воспринимали как 1. https://github.com/rzwitserloot/lombok/commit/9ecfe2302f3cd1d654196e072cce0b334f21ffd9
Как же я рад, что не поддался на хайпоговно типа руби, когда вкатывался в джаву 4 года назад. Да, было тяжело с Java 7, учитывая, что до этого работал с C# и его сладким LINQ, а тут все ручками. Зато сейчас, когда хипстерская параша под названием Руби окончательно умерла, Го и прочие "убийцы" джавы сдулись, а сами она развивается семимильными шагами. На подходе джава 11, котлин уже давно в релизе, выкатили Spring 5 с лучшей облачной инфраструктурой. Из конкурентов правда остался питон (ноду не рассматриваю, писать бекенд на js это детект).HR-ы заваливают офферами на 150к+, даже на upwork куча заказов на Spring.Джава (JVM) явно не умерла, она упала, чтобы вновь подняться.
>>1198545Молодец, возьми пирожок. А теперь перечитай что там написано.
>>1198628Это очевидно любому человеку с более-менее нормальным кругозором.JVM это охуительная платформа, без вендор лока, с кучей либ промышленного качества. А Говно потеряло для меня всякий авторитет, когда его разработчики, взяв GC коллектор 40 летней давности, начали орать что ГС бистрее чим в джави, что радостные фанбои подхватили, не понимая, какой ценой в их производительном го
>>1186897electronпривет майкрософту с их новым скайпом. ненавижу
>>1198649А какой ценой?мимо
>>1198646Там ни о чем. Если бы ты работал в компании с собственностью кодовой базы под 100К человеко-лет, то понял бы, как языковые перделки уходят на второй план.
>>1198665Меньшая пропускная способность.Вообще все алгоритмы GC подчиняются эмпирическому правилу "величина stop-the-world паузы * cpu-overhead-rate = константа"В альтернативных jvm есть альтернативные реализации сборщиков, например С4 в azul jvm, разумеется не бесплатно, производительность у этой реализации хуже.
>>1186670 (OP)Стоит ли учить джаву для того чтобы скатится в мобильный игрострой? Сколько вообще нужно минимум потратить времени на учебу чтобы соответствовать джуну без опыта работы?
>>1198711Не стоит.> игры> джава
>>1198721Ну я вообще ньюфаг. Просто мне всегда казалось что игры на андроид пишут на джаве.
>>1198721Уже забыл времена ИК-портов и J2ME игр? Или ты их попросту не застал?
>>1198723> времена ИК-портов и J2ME игрНа календарь посмотри, долбоеб. Java ME использовать собрался.И да, застал, Siemens CX 75 до сих где-то лежит. Но какое отношение имеет твоя ремарка? Пока ты будешь думать, я на работу схожу.
>>1198729> какое отношение имеет твоя ремарка?> > > игры> > > джава
>>1198669> 100k человеколет> 2000 человек в течении 50 летТы совсем там ебанулся человекоднями однострочники считать? Ой прости, какие однострочники, ведь в жабе до Stream Api одной строчкой можно было сделать ровно нихуя только поебаться по аннотациями.
Кто-нибудь в хешмапе переопределяет hash функцию, или в основном все пользуются встроенной в Object?
>>1198871>в хешмапе переопределяет hash функциюДля начала покажи как.
>>1198881Какая разница как? Я имею в виду использует кто-то override хеш функции на практике или нет?
>>1198871Ты не в ту сторону воюешь, упоротый.
>>1198899В каком смысле? Если вы тут дохуя сеньеры - объяснили бы нубу что не так. В том что я сказал что переопределять в хешмапе, а не в объекте? Из за этой неточности вы тут распетушитились?
>>1198711Не стоит. Джава не для игр, серьёзно. А если линала не знаешь, то и ты не для игр.
>>1198923Покажи код, где ты переопределяешь её. В процессе написания поймёшь, где именно ты обосрался.
Есть класс A, есть подклассы AA, AB, AC и так далее. Суть в том, что у класса A есть переменные, от которых зависит, какого типа надо возвращать объект.Например, есть файл со строками:x1 y1 z1x2 y2 z2xn yn znИзначально я не знаю, какого типа будет объект, поэтому создаю объект класса A и функцией read() читаю нужные переменные (их нужно будет хранить и потом использовать). И тут появляется два варианта:Либо создавать новый объект через конструктор В(A object) и внутри перезаписать переменные (this.x = object.x)Либо создавать новый объект через конструктор B(int object.x, int object.y)Но это как-то не очень выглядит, хочу чтобы было красиво и легко переделывалось (общих переменных позже может оказаться другое количество или с другими значениями).
>>1198994Сделай отдельный класс, который будет читать эти твои строки и на основе их содержание решать создавать и возвращать нужный объект.
>>1199001Это надо будет либо строки повторно читать, либо как-то передавать в конструктор переменные.Если читать строки повторно, то придется повторять код в каждом подклассе. Если передавать в конструктор, то опять придется одно и то же писать.Попробую метод с кастом return (AA) A;
>>1199011>Попробую метод с кастом return (AA) A;Дерьмо. Избегай приведения типов.>>1199011>либо как-то передавать в конструктор переменныеthis
>>1198987Ну написал, и что, ублюдок? От того что я говорился в каком месте переопределять, ты тут распетушился, вместо того чтобы ответить по теме?
>>1199018Ну так покажи его, мудачок дёрганный.
>>1199021https://pastebin.com/jSNB5mLbНу и?
>>1199016>либо как-то передавать в конструктор переменныеПозже они могут оказаться в других типах и в другом количестве.С кастом действительно тоже дерьмово выглядит. Тогда попробую так:Создам новый класс H, который и будет хранить эти общие переменные.На основании значений этого H буду вызывать конструкторы и передавать H, а у родительского класса будет переменная типа H, где наследуемые объекты и будут их хранить.Но этого тоже как-то избыточно выглядит.
>>1198709Ну заоптимизировали латенси за счет throughput, никто же не жалуется. Народу хватает производительности + многопоточность дешевая. Я то думал сейчас будет срыв покровов, а ты упомянул какой-то нерелевантный довод, иначе бы не плодилось на go новых сервисов/субд.
>>1198895Конечно блять, посмотри на hashCode Object'aИ теперь подумай что это выдаст для:var pojo1 = new POJO(1, "kek");var pojo2 = new POJO(1, "kek");> pojo1.hashCode() == pojo2.hashCode();> pojo1.equal(pojo2);
>>1199050Наркоман?falsefalse
>>1199062Ну вот, а объекты по-сути одинаковые.
>>1199069А, это я наркоман.
>>1198895Да, используют. В любой нормальной IDE есть генерация методов equals() и hashCode().
>>1186719Постоянно будешь недоумевать, что программа крашится, если где-то пустая ссылка. А ещё будешь забывать ставить ; в конце
>>1188425А в чем проблема нажать АЛТ инсерт м два раза энтер?
>>1199259А в том, что когда у тебя 10 полей, вероятность получить конфликт в ПР при малейшем изменении в pojo возрастает раз так в дохуя. Это, конечно, не долго подмержить говно и исправить конфликт в модели, но это все равно время. Да и классы короче выглядят для восприятия. Про другую годноту генерала деломбока я и не говорю.
>>1186670 (OP)Нужно передать достаточно большой файл по НТТР. Сервер читает куски файла прямо из тела пост-запроса. Для передачи файла на клиентской стороне я использую apache httpclient 4. Проблема в том, что при передаче запроса как multipart сервер получает в теле запроса какое-то говно: например, рандомные разделители параметров запроса. Как при помощи этой библиотеки сформировать запрос так, чтобы в теле запроса были только сырые данные, а не разделителя, параметры и прочее дерьмо?
Ребята, востребован ли сейчас javaFX или стоит учить Swing?
>>1199349Вы не понимаете сути multipart, дотвиданья.
>>1199381нет
>>1199382Тогда каким образом передавать большие файлы? Почему почти во всех результатах в гугле для аплоада используется мультипарт?
>>1199450Используй веб-сокеты и алгоритм как в торрент-кдиентах. Делаешь несколько веб-сокет соединений (чтобы лучше нагрузить канал) разбиваешь файл на несколько частей (например по 8Мб) и передаёшь кусок + индекс + хэш. Сервер проверяет правильность получения куска по хэшу и если что-то пошло не так просит отправить кусок снова. Потом всё собирает воедино, опционально проверяет хэш уже собранного файла и готово.
В общем, есть ThreadPoolTaskScheduler, в него я в цикле запихиваю задачи: scheduler.schedule(myObj, date), на каждой итерации создаю новый экземпляр MyObj и сеттерами сую туда данные. Вроде всё ок, но в классе MyObj мне надо заинжектить пару сервисов и прочих штук, пока что это мне не удаётся. Ну и самое интересное, все это запускается через InitializeBean. Чувствую, где-то объебался я с такой схемой.
>>1199453А, вопрос такой. Что должен представлять из себя класс MyObj? Сервис с @Autowired полями?
>>1199453>сеттерами сую туда данные. Вот и сервисы сеттерами суй
>>1199452>Используй веб-сокеты и алгоритм как в торрент-кдиентахНе я это решаю. Мне дали спецификацию рест-апи для аплоада файлов, и я пишу. Файлы требуется передавать в теле запроса. Я ищу способ написать это как можно лучше, короче и надежнее. Рабочий код уже есть, но он мне не нравится.
>>1199450Я про то что мультипарт СПЕЦИАЛЬНО вставляет разделители, и если бекендер не криворукий мудак то все нормально читается, а ебля с сокетами это экзотика.Вот попробуй на каком-то сервисе аплоаднуть фотку и посмотри в консоли браузера что там в теле запроса.
Вот некоторые заявляют, что наследования и абстрактные классы в жабе и ООП - зло, надо все на интерфейсах делать. А если у меня есть "подклассы", у которых есть некоторые общие переменные - мне в каждом "подклассе" их объявлять и в каждом конструкторе инициализировать? Интерфейс-то переменные не может объявлять и определять методы.Допустим, есть у меня абстрактный класс Entity с полями long id и boolean active. Я могу сделать конструктор и там назначить, а потом просто в подклассах в родительский конструктор передавать.А с интерфейсами как? Композиты - по-гейски.
>>1199485Переделал сервер под получение мультипарт запросов. Ну ладно, пусть так работает. Тимлид сказал, что никаких вебсокетов. Рест и только рест.
>>1199491что ты будешь делать, когда в одном из наследников нужно будет например сменить тип active на integer?
Что скажете про работу в сбере?Кто-нибудь имел опыт там?
>>1199525C абстрактными классами? Сменю в родительском классе и конструкторах.
>>1199527так ты остальных наследников сломаешь
>>1199532Каким образом?
>>1199547была boolean переменная, стала integer. Код сломался
>>1199553Смотри:abstract class Entity { long id; boolean isActive; public Entity(long id, boolean isActive) { this.id = id; this.isActive = isActive; }}final class EntityX { public EntityX() { ... super(id, isActive); } public EntityX() { super(id, isActive); }}
>>1199559У EntityX extends Entity забыл.
>>1199559теперь тебе в EntityX isActive нужно сделать integer. А в EntityY оставить по-старому
>>1199572Так не может быть потому, что к EntityX и EntityY я буду обращаться как к Entity.
>>1199577тогда зачем вообще делать разные классы?
>>1199581Не все методы и поля общие.
>>1199586так ты же обращаешься к ним как к Entity. Или уже нет?
>>1199587Не всегда же. Я обращусь к ним как к Entity, если мне нужные общие поля или переопределенные методы. В остальных случаях как к объектам подклассов.
>>1199381сейчас gui на джаве не пишут
>>1199641я на работе пишу
>>1199662Swing или JavaFX?Насколько это будет перспективно в будущем? Правда, что десктоп приложения умирают?
>>1199665>Правда, что десктоп приложения умирают?Правда, а на джаве они особо и не рождались
>>1199665JavaFX. Сыроватый он. Свинг получше будет, и продуманней
>>1199491Давай конкретный код, а не абстрактные entity. Поясню тебе почему нинужна.
>>1199781Да выше уже похожее кидал. Если более конкретно, то есть файл со строками вида:entry_length entry_type data_1 data_2 ... data_nТипов записи несколько, всю информацию считывать не нужно. Создал абстрактный класс FileEntry с переменными entry_length и entry_position (они потом пригодятся), от него наследовал классы FileEntryData, FileEntryTree и тд.Кроме entry_length и entry_position подклассы содержатFileEntryData: hash name data_typeFileEntryTree: name tree_entries_number tree_entries[tree_entries_number]Ну вот и смотри: если делать не через абстрактный класс, то мне в каждом подклассе придется объявлять и инициализировать entry_length и entry_position.Снова хотел спросить совета по другой проблеме, но пока описывал, придумал возможное решение. Спасибо, моя уточка.
есть некая программа color centro Konica-Minolta, у неё дохуя фиксированных окон. Как-нибудь можно сделать их динамичными или точнее чтобы можно было менять размер произвольно? В Ярлык запуска что-нибудь прописать?
>>1199981Только декомпилировать и исправлять код. Впрочем если авторы не предусмотрели ресайз от простого включения у окна толку не будет. Просто при увеличении размера будет появляться пустое место, а все элементы будут оставаться там где они есть.
>>1199986хуево, спасибо за ответ.
>>1199934Все равно решение не сработало - мешают downcasts.Нужно построить многоуровневое дерево записей исходя из типа и содержащейся информации в записи:FileEntry fileEntry = MyFile.readEntry(position); //Фабрика, так что я не могу знать заранее возвращаемый типFileTreeNode.addChild(fileEntry);Вот тут и возникает проблема:if(fileEntry.isNode()) { //Пришлось добавить в абстрактный класс этот метод, чтобы не использовать instanceof int[] positions = ((FileEntryTree) fileEntry).getEntries(); //Без каста метод не вызвать, а он только есть только у этого подкласса}Дальше рекурсивно все читается-добавляется. Но как избавиться от этих кастов и проверок? Неужели только для каждого подкласса по списку и методу вводить, чтобы фабрика сама сразу ноду добавляла?
>>1200165Используй instanceof и не еби нам мозг.
>>1200212Как пишут в интернете: "Using instanceof is a code smell".
>>1200226В Интернете много что пишут.
Взялся за курс сэджвика по алгоритмам.Пытаюсь настроить среду джава разработки.В мануале по настройке написано что нужно прописать в переменную среды CLASSPATH значениеC:\Users\username\algs4\algs4.jar;Я так понял это дает знать рантайму джавы где в первую очередь искать собранные исходники.Пытаюсь запустить через cmd как в книгеjava RandomSeq 1000 100.0 200.0пишет Error: Could not find or load main class RandomSeqТак работаетjava edu.princeton.cs.algs4.RandomSeq 1000 100.0 200.0даже без настройки класспасаЧто я делаю не так?
>>1200343Лезешь куда тебя не просят.
Чем Java лучше C#, кроме того, что на ней уже написано много чего?
>>1200462>Чем Java лучше C#Ой, мальчик, здесь мы идем опять
import java.util.Scanner;public class Test { public static void act(){ String phrase; Scanner sc = new Scanner(System.in); System.out.println("Да или нет?"); String ans [] = {"да", "нет"}; phrase = sc.next(); phrase = phrase.toLowerCase(); //конвертируем всю строку в строчные буквы boolean a = phrase.equals(ans[0]); boolean b = phrase.equals(ans[1]); if (a == true || b == true) { System.out.println("На что ты ответил то?!"); } else { while (!a || !b) System.out.println("Я просто просил ответить 'да' или 'нет', не более!"); phrase = sc.next(); } }}Сап как дело доходит до цикла, он выполняется бесконечно. Объясните почему и как исправить.
>>1200476Во-первых, код выкладывают на pastebin или ideone или на что-то еще.Во-вторых, чтобы цикл не выполнялся бесконечно, нужно либо чтобы условие цикла перестало быть истиной, либо чтобы где-то внутри цикла его выполнение прерывалось (break/return/exception). Ничего из перечисленного у тебя я не вижу.
>>1186670 (OP)Есть тут hybris макаки?
Встретил вот такой пример кода: https://pastebin.com/ZUBs6SWXОбъясните, зачем в восьмой строке брать создание HelloThread в отдельные скобки?
>>1200528Попробуй без скобок и посмотри что будет, ленивая ты жопа.
>>1200579Пробовал -- ничего не изменилось, хоть со скобками, хоть без них.
>>1200593Это тема многопоточности, но я не знаю, распространяется ли такое написание в других разделах.Читал до этого Философию Java, там все писалось без скобок. А тут вот набрел на такой пример со скобками и не понимаю, зачем оно нужно и что это меняет.
>>1200601Видимо, new имеет больший приоритет, чем вызов методов, а скобки - Abundant Parentheses.
>>1200593Раз не изменилось, то и разницы нет. Поздравляю, ты ответил на свой вопрос.
Нужен жизненный совет бывалых джавистов. Ситуация такова: 30 лет от роду, 9 лет коммерческой разработки на PHP, сеньер, в общем. Применяю Linux, postgres, rabbitmq, docker, nginx и тп.Задача: максимально быстро перейти на Java, для разработки серверных приложений. Посоветуйте, что почитать про саму Java и про Spring, чтобы это было... как бы выразиться, сразу по теме, без нубства, с нормальными примерами.
>>1186670 (OP)Аноны, помогите плиз отвтетить на пару вопросов1 вопрос такойЧто будет выведено при выполнении следующего кода?String str = "0";str += 1;str *= 3;System.out.println(str);варианты ответаОшибка во второй строкеОшибка в третьей строкеБудет выведено «3»Будет выведено «010101»
>>12007442
>>1200768Спасибо огромноеЕсть еще один вопросКакой из методов доступен в любом экземпляре класса в Java?1. main (String[] args)2. notify()3. parallel()4. plus(Object o)5. sleep (long timeout)6. stream()
>>12007842. notify()Ты блять можешь писать на зекач но не можешь октрыть иде или jshell?
>>1200721>PHP>думает, что умеет программировать и способен сходу вкатиться в язык белых людей>не умеет гуглитьНу такое.
>>1200866> думает, что джава язык для белых людей, чем-то принципиально отличающийся от PHP
>>1200528Незачем.
>>1200866Что «ну такое». У тебя аутизм?Я спрашиваю про джавовские литературные бестселлеры.Нагуглить говна, В котором дауны для даунов объясняют наследование и дженерики я могу легко. И последнее: мне не нужно уметь программировать на джаве, мне нужно уметь разрабатывать с использованием джавы. Это две разные вещи.
>>1200969Ну и пошел нахуй тогда, раз сам все знаешь.
>>1200969Если бы ты хоть немного интересовался вопросом, то знал бы, что Java чуть ли не единственный язык со строгой спецификацией языка и виртуальной машины, за это все её любят,это значит, что если ты будешь соблюдать все стандарты (что там написано), то у тебя всё будет хорошо и у тебя будет обратная совместимость, а если нет, то у тебя будет шанс, что твоё приложение лет через 10 на новой JVM не запустится
это я к тому, что читай что тут дяди написали, раз такой сеньёр помидор и подавай тебе туториалы "недлябыдла"https://docs.oracle.com/javase/tutorial/java/
>>1200721Бля, идёшь и читаешь reference documentation Spring, Spring Boot, Spring Cloud, Spring Integration. Именно в таком порядке. Десять лет в ит, а спрашиваешь как маленький.
>>1200768Нет, там все правильно. Для строки + означает конкатенцию, str += 1 это "0" + 1, т.е. "01".Ошибка будет в третьей строке, т.к. для String операция * не определена.
>>1194842>Потому что так эту переменную назвали.Потому что автор тупорылый быдлокодер, тоже видимо из бывших похэпешников.
Помогите, пожалуйста, понять за какое свойство объекта отвечают интерфейсы маркеры:Remote interfaceи ThreadSafe interface
Spring SecurityНе работает авторизация in-memory.Да и он вообще игнорит мой xml security файл, а из класса java аннотация работает. Но авторизация - нет.Чувствую, что не добавил какую-то важную ерунду куда-нибудь, но не знаю какую и куда.Подскажите, куда копать?
Ищу ментора или такого же нубаса для изучения Джавы с последующим перекатыванием в разработку под андроид.tg: sickboi
Кто-нибудь обмазывался Netty?Поясните за разницу между close() и disconnect(). И за разницу между вызовом этих close/disconnect у Channel и ChannelHandlerContext.
Аноны что означает бэкенд? Ну понятно что сервера и тому подобное но если конкретнее что там разрабатывается?Например во фронтэнде понятно что разрабывается на интутитивном уровне. Но что делают бэкендеры?
>>1202040Сервера пишут, лол.
>>1202041А что подразумевается под "писать сервера"?
>>1202043https://ru.wiktionary.org/wiki/писатьhttps://ru.wikipedia.org/wiki/Сервер_(программное_обеспечение)Не благодари.
Hibernate это библиотека или фреймворк?
>>1202115Скорее фреймворк, но эта граница часто размыта
>>1202122Если он нужен только для того чтобы связать ООП и реляционную базу данных, то используют ли его, когда используют Spring, учитывая, что там есть Spring Data??
>>1202132Используют. Spring Data это не замена, а еще один необязательный слой поверх JPA/Hibernate.
>>1202115Это реализация JPA.
Спринг в вебе используется? Или только для корпоративных приложений?
>>1202269Используется для любой серверной джавы. Т.е. в вебе тоже, если считать что на джаве бывает "веб".
>>1202355В каждой второй вакансии вижу желательно знание html css javascript. Это ли не веб?
>>1202396Веб, да, но если ты противопоставляешь его корпоративным приложениям, возможно, о вебе у тебя некое узкое представление.
Почему я не вижу сообщения от исключения в консоли?
А вот если сделать аналогичную фигню, но с отдельным классом, все нормально выводится
>>1202550Вызов getMessage не выводит сообщение в консольку, а просто отдаёт значение, которое уже ты сам дополнительно должен вывести в консоль. С отдельным классом ты вызываешь не ту функцию. Надо вызывать callDivide, а ты вызываешь divide, который выдаёт эксепшн, который отлавливает уже сама JVM.
>>1202558на самом деле я сейчас онял, что правильней сделать вот так и вообще не обрабатывать unchecked exception, просто потому что это ненужно,но почему тогда JVM не может точно так же обработать такое же по типу исключение, не выводит сообщение для нуллпоинтер?
>>1202571> что правильней сделать вот такНе, не правильней. Даже наоборот, некоторые в code style запрещают делать else, если в предыдущем if есть throw или return.> но почему тогда JVM не может точно так же обработатьПотому что конструкцией try/catch ты сообщаешь, что хочешь самостоятельно обработать данное исключение. А то что ты не умеешь выводить содержимое эксепшона в консольку JVM уже не ебёт.
>>1202575так что ли правильней? а я думал обрабатьвать самому unchecked исключения это зашкварТут я кстати в консоль сам ничего не вывожу, а вызываю все тот же гет мессадж,
Аноны, это норм тема?https://geekbrains.ru/geek_university/java
>>1202543Потому что ты не понимаешь что делаешь.1) s.length само кинет эксепшн;2) В блоке catch ты словил эксепшн, достал его месадж, но в консоль не вывел, из-за кетча приложение нормально закончилось.
>>1202593>1) s.length само кинет эксепшн;бля, вот этого я реально не понимал, по сути программа и не доходила до моего второго эксепшена,спасибо
>>1202589Да хрен их знает. Чтоб от мейл сру что-то годное было... Если шаришь в англюсик хотя бы на интермидиет уровне то вот годные курсы.https://www.udemy.com/java-tutorial/learn/v4/overview - бесплатный курс по основамhttps://www.udemy.com/java-design-patterns-tutorial/ - бесплатный курс от них же. Design patterns and architecturehttps://www.udemy.com/java-multithreading/ - от них же про многопоточность курс.https://www.udemy.com/spring-hibernate-tutorial/ - платный курс по Спрингу. 35 часов лекций за 11 долларов. Нормальная цена.
>>1202756Спс анон, а то на курсере они скурвились и берут денюжку
Хочу написать программу, которая берет html страницу с отдельными css и js и превращает все в одну standalone страницу, для этого подойдет java или лучше javascript?
Долбоеб репортинг ин. Что вы пишите на жаве?
>>1203393Хулло ворлды.
>>1203426А потом?
>>1203393Что на галере прикажут, то и пишем
>>1203584Да бля, ну что примерно? Я даже хуй знает как загуглить.
>>1203393Не твое дело.>>1202589Нет.
>>1203639Я же не прошу конкретных вещей. Можно же примерно сказать что делаешь для человека который только пару недель изучает жаву кор.
Java господа, вы моя последняя надежда. Как сделать ввод матрицы в оконном приложении? Нужно потом эту матрицу записать в массив.
>>1203626>Я даже хуй знает как загуглить.Вбиваешь на hh.ru слово java, читаешь в вакансиях описания проектов или самих контор, в ужасе дропаешь жаву и забываешь навсегда
>>1203770>Слово javajavascript)))0)хрюши не различают
>>1203738Ширина и высота есть?Берешь сканнер и читаешь инты/флоты. Или можешь построчно считывать и дальше разбивать как тебе надо.
Подкиньте каких-то чатиков, где будут рады нубасам. Много вопросов, но некому задать. :<
>>1204474Тут задавай
>>1204487Слишком много вопросов, хочется живого общения.Ознакомился с книгой Шилдта, более менее выучил базис и в состоянии писать мелкие консольные приложения типа поиска последовательности Фибоначчи или факториала. Знаком с ООП. Хочу идти в андроид/вэб, но не имею понятия, что делать дальше. На оф.сайте андроида скудная документация, на мой взгляд. А гайды типа "ну, ебашим эту строку потому что так надо" кажутся не очень эффективными. Какие движения делать дальше? inb4: рычать и двигать тазом
>>1204508>Хочу идти в андроид/вэбТак в андроид или в вэб? По андроиду может быть лучше в соответствующем треде спрашивать.
Напомните, что там поменялось со времен 8 версии?
>>1204596Моудли, var, Graal вот-вот почти, сотни-милион диприкейтов.
https://www.udemy.com/spring-hibernate-tutorial/https://www.udemy.com/spring-framework-5-beginner-to-guru/Никак не решу какой из курсов купить. Curriculum какого курса вас впечатлил больше?
>>1203393Кросскомпилятор пишу, который генерит код для ZX Spectrum. BASIC подобный язык с ООП, лямбдами и подсчетом ссылок.Но застопорился на делении целых чисел. Умножение легко выразить через сложение и сдвиги, типа 123x17 = 123x16 + 123x1 = 123 << 4 + 123, а вот как можно делить не знаю...
>>1204600https://spring.io/guides - тут все бесплатно
>>1204609Официальная документация must have конечно. Но приступаю к ней когда уже имею опыт какой-никакой. Да и 10 баксов небольшая цена за курс хороший.
+ Spring in Action на русском (издание 2013 года): http://eldude.ru/files/books/Spring_in_action.pdf
>>1204615Проблема этих курсов, что там учат делать все по шаблону, без понимания общей архитектуры. Пока все делаешь по методичке - ок, как только нужно что-то поменять, приходиться гуглить и копипастить кучу непонятного кода, переопределять какие-то методы, о которых вообще ничего не рассказывали и т.д. В итоге приходится учить все ту же документацию.
>>1204623Да согласен.Но я делаю так.1. Краткий курс по основам.2. Книга по нужной теме3. Офф документация.И в голове потом много чего остается.
>>1204508> Ознакомился с книгой Шилдтанинужна> поиска последовательности Фибоначчининужна> На оф.сайте андроида скудная документациянужна>
>>1204521В контексте моего вопроса это не так важно. Я не знаю, что делать после выбора специальности. Пока пробую себя в андроиде. Стоило бы спросить в их треде, да.
Когда уже введут protected методы в интерфейсы? Тогда можно будет официально заявить, что абстрактные классы нинужны.
>>1204630Ну тебе виднее, мне лично жалко отдавать бабло на пересказ бесплатных статей с хабра.Лучше купить хорошую книгу.
>>1204893Состояние, т.е. данные в интерфейс ты не запихнешь.
Есть сервер поднятый на apache tomcat 9, сделал всю структуру для моей части работы, я нагрузочник, все работало пока не определил список работающих методов в зависимости от типа ссылки, по которой проходит юзер.Т.е. я задал определение отправляющегося объекта от типа полученной ссылки HttpServletRequest request, String link = request.getRequestURL.Но есть одна нестыковочка в этой структуре, я не знаю как задать эти ссылки в апаче. Их где то надо захардкодить? Или ониваляются в xml каком то.Все работало когда я стучался на сервер по названию сервлета StartServer. Перестало когда мне понадобилось работать с разными типами ссылок, которые отправляют разные типы xml.Сори за сумбур, если вкратце, то как создавать ссылки в Apache TomCat?
Рибят, а если я, вот, изучаю java, мне обязательно ставить Linux? Вообще, поясните, плиз, на пальцах за Linux. Что он дает?
>>1205431обязательновся инфраструктура заточена под юних
>>1205431Пока изучаешь, не обязательно. На линуксах работают все серверы, но вести разработку на джаве прекрасно можно и под вендой.
Кто-нибудь использует на практике аннотации прекондишенов, посткондишенов, инвариантов и.т.п, как в исходниках джава библиотек?
Пацаны! Я создал программу, которая случайным перемешивает музыкальные файлы в папке. Зачем это нужно? Ну если есть машина, то вы вставляете флешку в магнитолу и слушаете, но вскоре вас заебет один и тот же порядок воспроизведения треков. И тут на помощь приходит эта программа. Но есть один минус - все файлы переименовываются в череду рандомных цифр, ну почти как названия картинок, которые вы скачиваете с двача. Но всё же читать их название не нужно во время езды, как я полагаю.
>>1205873А какой линукс лучше изучить? Или значения не имеет для работы?
>>1205920Линукс он и в африке линукс. Ты наверное имеешь в виду какой дистрибутив/Desktop Environment?
>>1205923Да, именно это и имею в виду. А то как наслушаешься, то каждый дистрибутив чуть ли не отдельный мир
>>1205928Debian. А вообще лучше бы ты в /s с этим вопросом пошёл.
>>1205935Понял, спасибо
>>1205919А нахуй ты их перееименовываешь, засунуть в массив и оттуда рандомом вытаскивать не варик?
>>1205919Можно лучше.1. переименовываешь файлы (сперва запатентуй эту технологию)2. создаешь двоичную кучу, в нее суешь названия файлов3. проходишь по одной из веток4. как только доходишь до пустых детей разворачиваешь дерево5. идешь по одной из веток
>>1205944Так в папке по имени все равно отсортируются, да и читает с флешки по порядку.
>>1205358Нихуя не понял, но вангую тебе надо слать get-запросы? Возьми у разрабов, или посмотри по коду, чё там должно быть.
Куда легче вкатиться зная Java? Веб, энтерпрайз или мобилки?
>>1206328Не знаю.
Сап, джавач! Помогите макакену разобраться: приходят сообщения, в зависимости от содержимого создаются разные задачи(расширил Callable, происходит работа с бд), после их выполнения у меня возвращаеся объект и мне его тоже нужно обернуть в задачу и выполнить. Нагуглил, что вроде бы ListenableFuture с callback удовлетворяет моим требованиям. Набросал примерный каркас https://pastebin.com/AKrVernGСкажите, это приемлимое решение? Интересует использование разных Executor'ов под различные задачи - не слишком ли это плохо? До этого с многопоточкой почти не работал, потому предупреждаю, код может вызвать неудержимые приступы смеха.
Есть один факап, с которым надо разобраться. В качестве побочного таска получил задание разобраться с запросами в информационную систему РЖД ЭТРАН, которая вставляет наружу SOAP-эндпоинты.У меня есть макулатурка с описанием всего ЭТРАН. В ней указан формат записи эндпоинтов, сказано, что запросы делаются при помощи процедуры GetBlock, есть wsdl-описание этой процедуры и куча запросов.Как все это использовать?Приблизительно понимаю, как создаются SOAP-сервисы на джаве. Я написал простейший сервис и клиент к нему.Не понимаю, как соединиться с эндпоинтом и выполнять запросы. Со своим простым сервисом я соединяюсь, получая при помощи wsimport классы, описывающие сервис, и для моих четерех круд-методов их получилсь дохуя (66 или 7). Что будет, если так же я попробую сгенерить классы для всего огромного ЭТРАН? Пиздец.Как лучше написать простой клиент для ЭТРАН? Нужно показать выполнение хотя бы одного любого запроса.Что делать с WSDL ЭТРАНа? То есть, wsimport'ом генерю классы, подключаю к проекту клиента и при помощи них выполняю запросы. Не знаю, как лучше сделать это для этрана.
>>1206781Гугли cxf-maven-plugin. Класть в проект генерируемые файлы - зашквар. Ну и не похуй ли тебе сколько там методов тебе нагенерируют? Используй то, что надо и всё.
>>12067001. Java 8 тебе недоступна? В ней есть удобный CompletableFuture на замену ListenableFuture из гуавы.2. В твоем коде создается newCachedThreadPool(), который нигде не используется, а также directExecutor необязательно в явном виде запихивать в addCallback, там должна быть перегрузка без 3-го параметра. В целом нормально, если считать что сидим на java 7.
рибзя, можно найти рабоут по джаве не зная спринга? месяц уже висит резюмеха, присылают всё что угодно, но не по джаве
>>1206983А что предлагают? И какой уровень у тебя? Java Core?
>>1206983Вот и поковыряй спринг пока, раз все равно висит.
>>1206831>Гугли cxf-maven-pluginОк, научился генерировать классы этим сервисом. Куда их сохранять? В отдельную директорию или в исходники src/java? Как подключать сгенерированные классы в свой проект, если они сохранены не в директории исходников?>Класть в проект генерируемые файлы - зашкварКуда их класть?
>>1207071Предлагают просто айтишником\техподом, кем я и работаю. Максимум было по тестерству.Пока знаю только кор и jdbсне знаю
>>1207115>Ок, научился генерировать классы этим сервисом. Куда их сохранять?Два варианта:1. Никуда не сохранять, будут генерироваться при каждой сборке перед компиляцией2. Положить в исходники (src/java), но настроить сборку (maven) так, чтобы можно было в любой момент их перегенерировать.Т.е. wsdl в проекте в любом случае тоже будет лежать.
>>1207128Окей, с этим понятно. В моем маленьком проекте все заработало. Хочу вернуться к исходной задаче. Есть спека на ИС РЖД, два wSDL-описания методов SendBlock и GetBlock, при помощи которых клиент общается с ИС. И есть описание всех запросов. Как это использовать?Систему, кстати, с 93 или 95 года писали на делфи 10 лет, а потом 5 лет запускали, лол. На их сайте конкурс частушек, конкурс "лучший работник РЖД" и какие-то матрешки. Пиздец.
>>1207182>Как это использовать?В чем проблема? Ты ж писал, что в принципе клиенты к сервисам у тебя получались. Или ты хочешь, чтобы тут кто-то за тебя разбирался со спецификой твоего ржд?
>>1207211>Ты ж писал, что в принципе клиенты к сервисам у тебя получалисьЛадно, дальше я сам. У меня из дома недоступен эндпоинт, а ставить випнет мне лениво, поэтому я даже не знаю, что меня ждет на работе. Наверно, получится с ним работать так же, как с моими сервисами.
>>1207119Ну с одним кором тяжело устроиться. Спринг нужен джуну. Плюс еще html css js нелишним будет.
сап, джаваны, подскажите, есть КлассА и КлассБ, написать для них что-то типа обертки(нормальное наследование уже не сделать, код не мой) и потом уже возвращать из нее соответствующие экземпляры предварительно вызвав какой-нибудь метод типа isClassB?
Для спринга бывают шаблоны админок? Не те которые spring boot admin, а те который для контент менеджеров например.
Прошел курс на coursere по Java. По отдельности все понимаю, циклы там, наследование, полиформизм и все такое, но воедино свзять не получается. Знаковый посоветовал читнуть Effective Java Блоха и все встанет на свои места. Это поможет мне?
За что сейчас платят деньги и как прокачиваться? Расклад такой, год работаю джава джуном, уже хорошо знаю core и некоторые фишки ЕЕ, юзаю jsf, освоил hibernate и в некоторой степени sql, ну круд напишу, короче. Как я понимаю, стек немного устарел? Пытаться вкатываться в спринг, а что ещё?
>>1207749Не поможет. Советчик хуйню сморозил.
>>1207893Что тогда делать в таком случае? В Факе темы вон тоже написано что поможет не писать костыли.
Ты сейчас вообще нихуя написать не сможешь, не то что что-либо без костылей.Напиши пару крупных консольных программ, потом сам поймешь, что тебе нужно.
>>1207905>>1207928
Хочу пройтись по базе, этот курс всё ещё релевантен? (2011 год)https://www.youtube.com/watch?v=TBWX97e1E9g&list=PLE7E8B7F4856C9B19
>>1208448Лень коменты прочитать? Второй же комент отвечает на вопрос
Где перекат, пидоры?
>>1208992https://2ch.hk/pr/res/1207656.html
>>1186670 (OP)Поясните вкатывальщик за апплеты, господа! Нужно их учить или пропустить, так как они диприкейтед?
>>1186670 (OP)>На джаве фриланса нета андроид приложухи?сильно не стукай
Кто тут кукарекал, что с варом будет непонятно, какой тип у переменной?
Идея все нормально выводит, подсвечивая и изменяя тип в реалтайме
мальчишки всем привет, кто растолкует что за ошибка такая? http://www.slf4j.org/codes.html#StaticLoggerBinder , делаю приложение на сервлетах