Это копия, сохраненная 22 июля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
А: Нет, не поздно.
Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Что скажете за джавараш?
Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.
https://github.com/qqqlll/Java-Thread/wiki
Допустим я хочу удалить сообщение. Если я удаляю через бд - то мне сначала надо удалить записи в таблице с лайками, которые относятся к этому сообщению, а потом я могу удалить само сообщение ( может можно сразу и сообщение, я не знаю, но компилятор ругается)
Как реализовать такое через метод ? Надо перед методом прописывать логику удаления лайков из другой таблицы, относящимся к сообщению?(если да то как и на чем ? Или а методе это прописывиь ?) Или можно сразу снести сообщение?
Делаю метод
Find by text Containing Ignore Case - не работает, выводит сообщение, только если я его полностью вбиваю в поиск.
Если я правильно тебя понял, то тебе стоить повесить на сущность сообщения что то типа
@OneToMany(cascade = CascadeType.REMOVE)
Параметр говорит о том, что при удалении сообщения будут удаляться все связанные с ним сущности, в данном случае лайки.
findByTextContainingIgnoreCase(String word)
text - сообщение, должно быть поле в искомом классе;
word - слово для поиска, приведи к аппер кейсу перед передачей в метод
https://stackoverflow.com/questions/25362540/like-query-in-spring-jparepository
См второй ответ если без @Query хочешь
А если у меня все идёт в такой иерархии : юзер-сообшения-лайки, будет все и о юзерах удаляться с такой аннотацией ?
Я что-то не понял до конца как удалять, если я хочу просто удалять по айдишнику что-то, то мне не надо ничего в сервисах и репах писать, сразу написать логику в контроллере и реализовать отображение на сервере и все ?
Нет, ты будешь удалять только дочерние сущности, как из названия видно Cascade (каскадно). То есть если у тебя буудет удален скажем юзер, который является родительской сущностью для сообщений, которые являются родительской сущностью для лайков, и у тебя будет везде стоять cascade remove, то при удалении юзера, удалятся все мессаджи и при этом при удалении каждого мессаджа удалятся лайки.
Насчет логики в контроллере.
Ну вообще принято всё таки делать сервисный слой который уже будет всю бизнес логику держать и общаться с базой через репу, но хочешь можешь прям в контроллере ебнуть, просто рано или поздно он разрастётся как хер згает что
Почти. Сет<User> likes = new HashSet<>.
Мне вообще хоть с каким-то удалением бы сначала разобраться.
Хоть юзера удалять и чтоб потом за собой тянуло и удаляло лайки и сообщения с сессией.
Я гуглю и не понимаю, везде разные варианты.
стандартный метод deleteById в одних ситуациях сразу вставляется в контроллер и все.
В других случаях он почему-то прописыватся сначала в одном сервисе (интерфейсе), потом имплемент в другой сервис, а потом уже контролер
Предлагаю создать таблицу like с user_id, message_id.
Тоже сделать в коде. В класс сообщения добавить сет лайков. С аннотацией onetomany cascade remove. И при удалении сообщения будут удаляться все лайки.
1. Java 7, Spring, Hiber, React. Пилить только бэк, фронт - если будет желание.
2. Java 8, EJB, JSF. Фулстек.
На какой присесть?
This
Первый приятнее
Ye xtv nfv djcmvfz jnkbxftncz& Njkmrj kzv,ls? rjnjhst yt ckbirjv-nj dkbz.n yf aeyrwbjyfk b d офмфач ефидуМшуц
Имею в blueprint.xml одного из бандлов вот такую штуку:
<jaxrs:server id="custom1Service" address="/rest1">
<jaxrs:serviceBeans>
<ref component-id="rest1ServiceImpl"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref component-id="jsonProvider"/>
</jaxrs:providers>
</jaxrs:server>
Хочу заменить blueprint на Bundle Activator, но не знаю как сконфигурировать внутри активатора xml описанный выше. Есть у кого варианты?
Хочу удалять аккаунт, когда я уже залогинен на сайте.
@PostMapping("/deleteUser/{id}")
public String delete(@PathVariable Long id, Model model){
userRepo.deleteById(id);
return "redirect:/login";
}
и кнопка <form method="post" action="/deleteUser/${user.id}>
Хочу сделать без сервисов, сделал таким же способом удаления сообщений пользователя - все работает. Тут жму на кнопку - ничего не происходит.
На фото тетрадочки - то, как должно было быть. В пастбине и первом скрине код. Второй скрин - диаграмма побольше.
https://pastebin.com/uDLE4Tfc
ЧЯДНТ? Почему не получается? Вроде, все цифры передал, обошел, загенерил датасет. А оно друг под другом детальки хуярит.
А мы в шараге формочки в javafx рисуем с функционалом уровня "заполнить tableview данными из файлика"
изначально план такой и был. Только в свинге, потому что в нетбинсе удобный встроенный редактор. Но время поджимает
>Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
>
>А: Нет, не поздно.
>
>Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
>
>A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Это что получается, начинать не поздно никогда, но в джаве путь только в энтерпрайз? Приходит такой дядя лет сорока на джуна и ему "милости просим!".
byte[] bytes = new byte[]{-2,2};
StringBuffer buffer = new StringBuffer();
for(int i=0; i < bytes.length; i++){
buffer.append(Character.forDigit((bytes >> 4) & 0xF, 16));
buffer.append(Character.forDigit((bytes & 0xF), 16));
}
Что это за ебола? HEX to syting что ли?
А как ты хочешь, пришел в 40 тебе сразу синьор-програмодор, просто за то что ты дожил до 40?
У нас так и было в эбаме. Взяли мужика 40 лет после курсов, потому что он со старой работы уволился чтобы вкатиться и надо было семью кормить. Все с ним общались на равных от мала до велика.
Эбам всех рекрутит, тем более хули тут такого? Что ему 40 лет. Не вижу преград, хоть 50, кодит? -кодит, хули еще нужно?
Все старое - это хорошо вспомненное новое.
Схуяли не кодит? Нахуй он тогда нужен? Хотя 90% епама говнокодит и как минимум пол года после курсов сидят без зарплаты на чистке кода.
Его надо отдельно скачивать и устанавливать, если у тебя идея ультимат?
Пытаюсь деплоить, так у дядек в гайде в проекте в папке таргет уже лежит джарник. А у меня нет джарников в этой папке. Это потому что я не скачал и не установил мавен или не включил его в начале при создании проекта ? Да нет же, включал в спринг инице. И как мне получить такой джарник в таргетах теперь ? Там в названии джарника ещё снапшот написано было
Пробовал билдить по гайду через прожект структуру, но там выходит что-то слегка другое и в папке аутпут, нежели то, что у дядек
Может, тип кнопки внутри формы неправильный? Должен быть submit, хотя он вроде по дефолту ставится, но попробуй явно указать.
Аннотация.
Функция не подойдёт, надо биКонсюсер:
BiConsumer<Byte[], StringBuffer> zavernitePls = (bytes, buffer) -> {
for(int i=0; i < bytes.length; i++){
buffer.append(Character.forDigit((bytes >> 4) & 0xF, 16));
buffer.append(Character.forDigit((bytes & 0xF), 16));
}
}
Если с первым все понятно, то как правильно запихнуть в приложение на Spring сервлет? там ведь один-единственный сервлет, насколько я знаю, который перехватывает все запросы и распределяет по контроллерам
спасибо! почитаю
What's wrong?
>>03526
Тебя обезьяны воспитывали, что ты объясняться нихуя не можешь? Джарник у них, потому что они проект сбилдили. И билдили они это вероятно через мавен-вкладочку в идейке (гугли). У тебя помник то хоть есть? Сделать из немавен проекта мавен проект - как нехуй делать, особенно в идейке - достаточно соблюсти файловую структуру правильную и пометить папки в идейке (а как это сделать гугли).
делаю по этому гайду
https://www.youtube.com/watch?v=8S8o46avgAw
но в месте, где используется Autowired сущность вылетает NPE.
чтоб автоваиреды работали нужно весь контекст поднимать, (@SpringBootTest), если хочешь юнит тест то надо мочить депенденси
мне просто нужно повесить @SpringBootTest над классом-тестом? чото не воркает. И я не понял, что значит "мочить депенденси"(
короче я заавтовайрил нужные штуки в классе-тесте и сеттерами их добавил тестируемую сущность. пиздос. зато работает
А то зашёл вчера на stepik в курс от jetbrains с задачами по джаве и сильно загрустил.
посмотри что-нибудь типа modern java in action. мож пойдет
ну или шилдта смтори. у него последнее издание под 1.5к страниц. думаю, там есть все
Твои предложения?
Книжка есть, Лямбда-выражения в Java 8, Ричард Уорбэртон
Тоже нашел её и полистал после разочарования в себе на жидбрейнсском курсе
Сервису приходят сообщения. На основе каждого делается джоб в очереди. Если джоб выполняется, возвращается сообщение об успехе. Если джоб провалился, он попадает в очередь retry, в лог пишется ошибка и возвращается сообщение об ошибке.
Мне надо добавить в свою дипломную докер. Чисто на отьебись. Что можно реализовать ? У меня просто сайт в идейке на буте.
Сделать джарник проекта и сделать какой-то кейс с нужной джавой и бд и попытаться через докер задеплоить это на убунту? Или что? Докер же выполняет деплой ? Или просто какие-то процессы в кейсах развернуть?
И у меня не десятая винда, пробовал ставить тул бокс докер - опять что-то ругается. Есть вариант это все как-то по быстрому сделать без настоек и еботни с консолью.
Алсо видел в идее ультимат моей мелькало пару раз слово докер, что эта шняга делает ? Можно с ее помощью что-то сделать ? Или обязательно скачивать с сайта докера ?
Спасибо всем
1) я буду сидеть весь день и гуглить то, что мне сказал ментор утром и потом ему докладывать ?
Или мне надо будет его дергать каждые 5 минут и бегать к нему ? Или меня кинут на какой-то проект, пусть и учебный.
2) я буду сидеть в комнате с мидлами сеньорами и хрюшами, или меня запрут в какой-то подсобке? Как коллектив ? Я могу там пиздеть со всеми ходить, просить у всех помощи, или не имею права ?
3) все ходят со своим железом или там свое ? Если там саое, полная хуйня?
4) могут ли меня выгнать посреди стажировки ?
Будет ли там группа стажёров, или берут только по одному ?
5) можно там бесплатно питаться ?
6) какие шансы на успешную социализацию? Там веселые мужики, которые рофлят с двача, доты, футбола и прочей хуеты, или серьезные щашоренные дауны как в моем вузе, которых только код интересует?
7) каков шанс подкатить яйца к хрюше и выебать ее? Много ли там тян? Могу ли я свысока общаться с хрюшами и прочим скам персоналом ?
Алсо допилю,
Очень сложно там находиться и выживать ? Если ты никогда целый день не пахал до этого ? Как вы справились
Мы вам перезвоним.
1) Он тебе все объяснит, ты же по общению с человеком можешь понять как с ним себя вести?
2) Зависит от офиса;
3) Если со своим железом то просто разворачивайся и уходи, нахуй такое место надо?
4) Ну если ты в реальности такой же долбоеб каким ты показался мне, и ты таким же покажешься там, то вполне;
5) Хз что ты под этим понимаешь, не во всех конторах сотрудникам оплачивают обеды, вряд ли на галерах так принято, но чай/кофе/печеньки вполне, если там их в достатке, а то аборигены могут обидеться;
6) Если ты лох по жизни, то и на галере таким же будешь. Разные люди, тебе сложно представить как разные люди (подпивасные дотеры и олимпиадник-задроты) взаимодействуют с другом? Открой мозг что ли, мысли шире;
7) Здался хрюше за 30 какой-то сопляк-даже-не-джун, ну камон, ну если ты альфая то наверное но что ты тут тогда делаешь? Вообще секас на работе может быстро превратить офис в серпентарий, ну нахуй оно тебе надо?
>Могу ли я свысока общаться с хрюшами и прочим скам персоналом
Охуенно ты о людях думаешь, браво, с таким подходом если ты не какой-то супер-гений-рокстар нахуй ты не нужен.
>Очень сложно там находиться и выживать
Ты в универе 8 пар не сидел что ли никогда? Ну и ты там не в литейном цеху стоишь как бы.
Не опять, а снова.
Я не помню уже, что мне раньше отвечали. Скорее всего какую-то хуету, раз я вернулся
Бамп
Ты бы быстрее по докам с докером разобрался чем тут спрашивал.
Задача простая и средства решения должны быть такими же простыми. Не нужна ни кафка, ни пюрефка, когда на рест апи прилетают простые JSON'ы, по ним должна создаваться простая таска и класться в очередь. Надо как-то обойти инкапсуляцию и узнавать об ошибке обработки или успешности таска, и в зависимости от статуса таска выполнять некие действия.
Ну так это стандартная message queue, выбирай любую https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-messaging.html
1) ты будешь сидеть весь день и гуглить, а если гугл не помог идти к ментору за советом или рядом сидящим.
2) когда я был в лабе, меня посадили в опенспейс с остальными java-разработчиками, благо было место. Люди из лабытс другим стеком сидели все в одной комнате, на другом этаже.
3) железо не свое. Для работы хвататет с лихвой.
4) выгнать не выгонят, но если будешь не справляться, то намекнут, что как бы можно и получше стажироваться и либо не занимай место либо делай лучше.
5) у нас в офисе был бесплатный чай кофе молоко, фрукты. Хоть упейся этим кофе, всем пох. Плюсом было то, что на свой др каждый покупал пиццу на офис, а ему скидывались деньгами. С меня, как со стажёра, никто денег не брал, а др было чуть ли не каждый день у кого-то.
6) если ты можешь в социализацию, то с этим проблем не будет. Мне попались хорошие, люди всегда готовые помочь. А основном, в опенспейсе сидели все молодые шутливые, помидоры были в отдельной комнате.
7) шанс такой же, как и любую тян, с ними ты будешь пересекаться очень редко. Можешь общаться свысока с любым, но что тебе это даст?
Есть сайт нужно его просто развернуть докер контейнере.
Тебе нужно написать dockerfile, который является образом(туда твой jar, маппинги портов и прочая чепуха), потом по этому файлу собираешь контейнер и вуаля, у тебя задеплоеное в контейнере прилижуха.
В идее ультимат действительно есть в конфигурациях билда докер, но вроде это всего лишь гуишка для написания вышеуказанного докерфайла и других докер приблуд, так что научившись делать это в консоли, не составит труда разобраться в идее.
Успехов
>>04422
>>04424
>>04426
Это снова анон, которому надо реализовать асинхронную очередь сообщений. RabbitMQ для нас оверкилл. Начал читать в книге по спрингу о JMS и автор предлагает скачать и установить Apache ActiveMQ. Но задача несложная. Как ее можно решить быстро и качественно без установки дополнительных оперденей?
Соре, если вопрос тупой, RMI ещё актуальная технология? В "паттернах проектирования" много страниц посвящены этой штуке, я их пролистал, суть примерно понял, стоит углубляться в эту тему?
Не пойму чо мешает заюзать BlockingQueue и обернуть ее в синглтон? Я же так понимаю, что у тебя очередь задач существует внутри аппликухи
Бля ну тогда MQ. Или хранить эту очередь в KeyValue базе типа etcd. Совсем ебанутое решение - попробовать сохранять состояние очереди в файл на момент стопа JVM и восстанавливать при старте (но это для совсем отшибленных - я сомневаюсь что очередь успеет сдампиться во время хука да и в случае крэша все по пизде пойдет)
Если нужно сохранять, то очевидно, что должна быть где то вне приложения, так что без установки доп хуевин предназначенных под эту задачу ты не справишься, можно конечно упороться и взять какую нить nosql базу типа Redis и с ней мучаться, но зачем писать велосипеды из костылей, когда есть хорошие готовые решения?
Впрочем если тебе пиздец как жмет религия юзать проверенные решения и хочется велосипедов без доп-библиотек, то вот тебе один навскидку. При получении джейсона, создаешь сущность джобы, пишешь ее параметры в файлик (каждая джоба - отдельный файлик, что то типа name_timestamp) а саму джобу пихаешь в конкурентную очередь. Тредик берет джобу - выполняет - если все ок-норм - тредик должен файлик удалить, если нихуя - переносишь файлик в егор-папку, а джобу в другую конкурентную очередь. Если аппликуха наебнулась - первым делом парсишь свои джоб папку и егор-папку и восстанавливаешь очереди по тайму. Мимо >>04876 анон
>>04599
Не стоит
Сейчас учусь на 3 курсе, был на нескольких стажировках, и, хоть в вакансиях и указан спринг, там используют в основном кучу всего другого.
Пример: Читаю требования - Spring, Hibernate, Spring Data. На деле стек совсем другой - Apache CXF, Camel, Felix, ActiveMQ.
Складывается ощущение, что на спринге все только учатся чтобы потом идти работать с чем-то более сложным.
Это работает вместе с весной.
>Apache CXF, Camel, Felix, ActiveMQ
Опять ты про ServiceMix? Не очень тебе повезло со стажировкой, если там ковыряешь эту не особо актуальную ерунду. Но сами CXF или ActiveMQ вполне себе используются вместе со спрингом.
Подскажите как вкатиться в весну?
Да, опять я, двач тесен.
Судя по всему так и есть, не повезло. Хотя, узнал кучу нового, что будет полезно и вне Apache фреймворков. Всё лучше, чем на кровати валяться и деградировать.
Надо пережить зиму.
Как это можно реализовать ГИБКО и РАСШИРЯЕМО?
Я гуглю создание шаблонных писем на спринг буте, и пока что расширяется только мое очко.
Главное в задаче то, что нужно легко добавлять новые шаблоны писем и типы входящих пакетов.
Во входящем JSON могут быть ВЛОЖЕНИЯ. Их несколько штук. Перед отправкой на мой сервис они кодируются base64. При формировании письма эти вложения нужно декодировать и прикрепить к письму. Как лучше декодировать вложения, чтобы прикрепить к письму: в памяти или сбрасывать во временный файл?
Что делать, если вложение может быть тяжелым, например, 20 мб?
Это нормально, просто постоянно используй и привыкнешь
мимо-тоже-всегда-ебусь-с-ебаным-collect
>Как это можно реализовать ГИБКО и РАСШИРЯЕМО?
Находишь нужный шаблон по какому-то id из запроса, передаешь в него целиком json (HashMap). В чем сложности?
>Как лучше декодировать вложения, чтобы прикрепить к письму: в памяти или сбрасывать во временный файл?
Только ради декодирования сбрасывать нет смысла, но ты в любом случае не захочешь делать отправку письма синхронно с получением запроса. Тебе нужен какой-то буфер в виде записей в БД и/или очереди, там все и будет храниться.
У меня все хранится в очереди activemq. Не могу решить, как и куда лучше раскодировать вложения и как сделать шаблоны. Нвгуглил только thymeleaf
thymeleaf вполне норм. Вложения в десятки мб activemq может и не прожевать, лучше сохранять их отдельно, да хоть в какой-то обычной бд в блобах.
>поздно ли вкатываться в 9001 лет?
Этот вопрос, видимо, следует понимать как "не поздно ли проебать на вышку N лет"?
Куда в Java без вышки-то.
да
> Куда в Java без вышки-то
Все правильно сказал, без вышки ты хрюшин фильтр не пройдешь. Им похуй что ты дохуя опытный тимлид в свои 23, для них ты очередной неосилятор и "такие нашей компании не нужны"
>>05602
>>05615
Задача оказалась сложнее: нужно предусмотреть различные каналы отправки сообщений, а не только емейл. Здесь подошел бы паттерн стратегия, но все мое приложение завязано на ебучем контейнере спринг бута с внедрением зависимостей. То есть, в классе, отвечающем за отправку емейлов, у меня внедряется движок thymeleaf.
Это мешает динамической установке стратегий при помощи ctx.setStrategy(new SMSStrategy()), потому что при этом зависимости не автовайрятся. Я в архитектурном тупике. Уже думаю о том, что лучше было бы вообще не использовать спринг, а все сделать руками, но я уже написал много кода.
Как мне кажется, именно стратегия здесь лучше всего подходит: стратегия создания письма по шаблону, стратегия отправки по нужному каналу связи. Но автовайринг мешает.
Как решить задачу?
зачем джава,если есть куда более перспективные языкы
Я еще подумал. Не обязательно отправлять все вложения в одном json'е. Можно вместе с json отправить список файлов, сохранить их на диск и положить в очередь json с путями к файлам.
Такая идея норм?
Спринг рест умеет получать списки файлов?
В этом и есть большая проблема рестов-хуестов и каскадных аннотаций - большая часть пользующих вообще не понимает, ни как это в базе устроено, ни какова семантика, ни как это работает в коде.
Вот без обид, анон, но лучше бы ебануть теорию поглубже, потом сделать руками, потом подумать и решить - нужно ли тебе автоматизитрованное удаление данных из базы?
Чтобы ты не обижался, все-таки, совет от больших пацанов - из базы вообще ни хуя не надо удалять, просто ставить флаг, что запись удалена.
У тебя действительно есть проекты, где ты что-то удаляешь из базы?
Или ты курсачи только писал пока?
С нынешними законами имеется и возможности полного удаления, если кто-то попросит. Есть и таблицы для аудита.
Да, это так. Но это специальный случай.
Который реализуется специальным алгоритмом, который продумывает и реализует человек (-ки), которые не задаются вопросом "а что у меня произойдет при каскадном удалении из такой-то таблицы".
Оперативное удаление оперативной же информации - это какой-то нонсенс.
Нашел, как отправить и принять несколько файлов.
А как вместе с ними отправить данные, нужные для формирования письма?
А теперь свой вопрос переведи на английский и в гугл. Первая ссылка.
Для чего??
Прежде, чем что-то сделать, ты должен точно понимать, что и для чего ты хочешь сделать.
Подумаешь, глядишь, решишь, что тебе это на хер не надо.
Я нихуя не понял чо тебе надо, но блядь не благодари https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html
Двачую, нихуя не понял, насколько не изменяет память, можешь юзнуть метод first(), который переместит курсор на первую строку. Хз это ли ты просил
Блядь, ты дебил ёбаный. Я просто не представляю, насколько уёбищным мудаком надо быть, чтобы сформулировать, напечатать, перечитать и отправить настолько бездарно выраженную просьбу. Я не удивлюсь, что и ссылка на ResultSet выше для тебя не нова, но, блядь, она на английском языке и там много букв, поэтому лучше будет - ты решил - прочесть всё это в сжатом виде и на родном языке.
Один только вопрос, сука - какой же для тебя язык родной, если ты так хуёво выражаешься на том, на котором слепил эту мудовую просьбу о помощи.
config.setMinimumIdle(5);
config.setMaximumPoolSize(15);
config.setConnectionTimeout(20000);
config.setIdleTimeout(300000);
При подключении, как и положено, создает 5 idle connection-ов, если аккуратно (медленно) отправлять запросы, то есе норм, это 5 подключений справляются. Но если начать кликать как сумасшедший и отправлять по 2-3 запроса в секунду, то количество Idle connection-ов вырастет до 20 (и выше, если дольше кликать), хотя в setMaximumPoolSize явно сказано 15.
Более того, старые коннекшены спустя время, указанное в setIdleTimeout не будут закрываться.
Что я делаю не так?
Начинаю догадываться.
Я создаю новый коннекшн и присваиваю ему тот, что возвращает Hikari. А закрываю как раз первый:
Connection dbConnection = hikariClass.getConnection();
dbConnection.close();
Насколько я понимаю, закрывать нужно именно тот объект, который мне Hikari выдает?
Ну и там не graph и adjacent, а tree и children должно быть.
Какого, блядь, дерева?
Как ты его хранишь?
В еба-структуре "узел-дети"? В массиве? Обмотанным вокруг хуя?
Так какое дерево-то?
Бинарное? Черно-красное? Дженерик граф?
Какой обход тебе нужен? Хоть какой-нибудь? По возрастанию?
В коде у тебя ни хера не "узел-дети", а граф какой-то.
У тебя какой-то дейкстра со стеком вместо очереди.
Чо-то расхотелось вникать.
На
https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/
Только учти, что у них ява-код часто бывает бездумной калькой с С, и там пиздец.
Ну дерево это граф, поэтому поиск в глубину/ширину всегда подойдёт.
Окей, это даже и не дерево получается. Простой направленный граф. Надо обойти все вершины, начиная с тех, из которых не выходит никаких ребер. Хранится это как
class Node {
String id;
Collection<Node> children;
}
1. Как только у тебя в графе появится цикл, ты рискуешь его весь не обойти. Я, кстати, так и не очень понял, что у тебя там значит "обойти".
2. сколько раз ты один и тот же узел запихиваешь в стек?
А если поменять его на очередь?
Справедливости ради, он вел речь о дереве, так что циклы - вряд ли.
Но в общем случае - да. Хлебнет горюшка.
Да, на Baeldung норм, если можешь хоть чутка в эльфийский
https://www.baeldung.com/java-concurrency
Вы вообще в гугл свой запрос не пробовали хуярить, прежде чем анонов отрывать о катания других анонов на хуях?
>Я, кстати, так и не очень понял, что у тебя там значит "обойти"
Проделать какие-то действия с конечными узлами, затем с теми узлами, со всеми детьми которых эти действия уже проделаны и т.д.
>сколько раз ты один и тот же узел запихиваешь в стек
Несколько.
>>07771
Как раз вспомнил, что там есть двунаправленные связи. По моему это вообще невозможно.
А, так это я тупой, циклов там быть не должно. Ну тогда все норм.
>>сколько раз ты один и тот же узел запихиваешь в стек
>Несколько.
Ну, меня бы это навело на мысль, что я что-то делаю не так.
Даже если бы оно работало, на первый взгляд, как надо.
Как осилить джава канкаренси и джава мемори модел? Как запомнить все эти правила из джиэмэм?
Потому что такие вопросы задают на собеседованиях где меня валят по кд. Им видите ли недостаточно того, что я рассказываю про кэши процессоров и необходимость синхронизации с общей памятью (RAM) и что для этого нужно использовать объекты синхронизации и потокобезопасные коллекции. Им видите ли кишочки JVM подавай и рассказывай как все работает под капотом.
Да нет же, все норм. Достаем из стека узел, если у него есть дети - кладем узел обратно и его детей, повторяем. Суть в том, что надо в определенном порядке все делать.
И еще, какое название больше подойдет методу Function.identity(), чтобы сразу было очевидно, что он делает?
Да нет же, не норм.
Достаем из очереди узел, обрабатываем, детей этого узла добавляем в очередь.
В нужный момент проверяем, в этом узле уже были? Если были, то отбрасываем сразу.
Когда этот нужный момент наступает, догадаешься сам?
И ВСЕ! Каждый объект подержали в руках один раз (не считая момента закладки в очередь).
У тебя - раз достали, посмотрели, положили обратно, два достали, посмотрели.
НА ХЕРА?
>обрабатываем
Начинать обрабатывать надо с узлов, у которых нет детей, либо все дети уже обработаны.
Не было такого условия
Была задача - обойти.
Если у тебя такое условие, иди не вширь, а вглубь.
Тогда доставать будешь заведомо подходящий, не придется обратно запихивать.
Ну либо с двумя стеками.
Но он же не всегда лучше!
Но иногда я в чужом коде вижу ЛинкдЛист, и сразу начинаю думать - бля, тут какая-то мысль!
Лазаю 10 минут по коду - ни хуя. Просто очередной уебок писал.
Но по сути вопроса - я знаю, что некоторые собесодователи любят эти вопросы. Вот мне интересно, они там прям что-то низкоуровневое пишут, потоками управляют, чи що?
>Но по сути вопроса - я знаю, что некоторые собесодователи любят эти вопросы. Вот мне интересно, они там прям что-то низкоуровневое пишут, потоками управляют, чи що?
Нет, просто что бы оценить насколько в глубь ты знаешь.
Ни разу не видел, чтобы Линкедлист использовался в качестве листа. Только очередь.
Бамп.
План такой: прохожу https://www.pluralsight.com/paths/java, и за полтора месяца перекатываюсь на Фул Стак. Норм?
Почему не нода? Тебе как минимум не придется менять так много тулзов и привыкать к тому что многие вещи работают совсем не так.
как раз и хочется заставить мозги поработать по новому. да и у нас на канторе на ноде не пишут.
Вряд ли ты тогда за полтора месяца перекатишься нормально. Хотя конечно зависит от задач, если тебе только и нужно будет что дергать уже существующие сервисы и выплевывать жсон на фронт то получится.
Ну полгодика мб, я сам не пециалист в серверной джавке. Я нормально с разработки под ведро перекатился в разработку под гейось ну года за пол, ну то есть у меня не было времени что я тупо что-то там учил - сел и начал делать таски, просто только через времени что-то более менее красивое стало получаться.
>>10035
Ну, бывает же, что тебе не надо get(i) делать, добавляешь ты всегда только в конец, и итерация у тебя от начала до конца в одном направлении.
АррейЛист будет тебе при превышении размера перехерачивать массив, перевыделять память, копировать. В ЛинкдЛисте этого нет.
>Ни разу не видел, чтобы Линкедлист использовался в качестве листа. Только очередь.
Вот видишь, а АррейЛист видал в качестве очереди? Нет? То-то же, не всегда он лучше ЛинкдЛиста.
О чем я и вел речь.
Мы говорили про списки, а не очереди. В очередях бывает важна жесткая предсказуемость выполнения операции, а у аррейлиста добавление не постоянно.
Копировать-то он будет, но итерирование будет быстрей, и мусора меньше, смотри бенчмарки.
А еще если у тебя используется только одна-две имплементации интерфейса, JIT может хорошо разрулить и быстрей выкупать какую конкретно реализацию дергать.
Ты уверен, что ты программист?
>Мы говорили про списки, а не очереди.
О чем ВЫ говорили, никого не ебет.
Анон сказал ровно следующее:
>Там небось спросили почему arraylist лучше linkedlist.
На что другой анон ответил:
>Но он же не всегда лучше!
Хули такие простые вещи разжовывать надо?
Ты ТЗ так же читаешь? Жопой? А потом заказчику рассказываешь "мы говорили..."?
Пиздец, это же не жс-тред, ебаный рот этого казино!
>итерирование будет быстрей, и мусора меньше, смотри бенчмарки.
Мусора меньше, согласен.
Про итерирование смешно.
Покажешь бенчмарки, посмотрю.
пиздец....
вопрос "хуже/лучше"
ответ: "блох не использует"
Поэтому, блядь, и говно ваш код. Вы, блядь, говно с мочой путаете постоянно.
А еще ява-тред....
var s = new org.apache.cxf.jaxrs.JAXRSServerFactoryBean();
s.setServiceBeans(Arrays.asList(new Foo(), new Bar()));
s.start()
Первая ссылка в гугле это типичная задача. Наверное, это такой вид задач, когда у тебя есть Model, и ты ее передаешь в рендер. У меня совсем другое. Мне из очереди приходит пакет с HashMap внутри. В этом HashMap - данные для формирования письма по шаблону. Строка с html-телом письма формируется так: return templateEngine.process("sendErrors", ctx);
Теперь вместо sendErrors мне надо сформировать другой шаблон. Случай sendErrors простой - там надо было просто проитерировать по мапе при помощи th:each.
Сейчас мне надо в разные места шаблона вставить значения из мапы. Но если сделать так: ${map.get('claimNumber')} то подстановка значения не происходит. Письмо приходит с этими канделябрами для движка.
Документацию читать долго. Если у меня мапа с данными письма называется content, как мне связать ее с переменной map в шаблоне?
Могу только насрать в эту парашу для токсиков.
Сделал <span th:text="${content.get('text')}"></span> и передаю шаблонизатору мапу context.
та кодомакака
Нихуя ты умный.
И то и другое. Надо чтобы сервер замедлялся когда меня нет и работал в полную мощь, когда я подключен.
Я тут погуглил и понял, что управление процессорным временем только к ОС относится. Я бы мог пропускать часть тиков (обновлений игрового цикла) через sleep(), но непропущенные все равно бы считались на процессоре с обычной рабочей частотой, пусть даже и занимали бы меньше процессорного времени.
В нормальной операционке это решается сгруппой на уровне systemd.
systemctl set-property --runtime minecraft.service CPUQuota=20%
>нормальной операционке
>systemd
Выбери одно. Лучше уж окна юзать, прости госсподи, чем шкварить ось системД
>>11926
Дело в том, что это лишь ограничивает процессорное время так, что процессор всего лишь отвлекается от "урезанного" процесса на другие. То есть если я сам добавлю Thread.sleep() это будет тем же самым. Поэтому мой изначальный вопрос был некорректен: ограничить-то использование процессора можно, но это не то, что мне нужно.
А мне нужно управление питанием процессора: в винде, например, есть такая тема, что снижает частоту процессора и тем самым энергопотребление и выделяемое тепло. Но это уже тема не для этого треда и даже не для /pr/. Скорее всего придется ограничиться "сном".
Бамп
Весь твой рассказ намекает, что ты выставляешь одну переменную, а в ноль выставляется другая.
Да нет, одна и та же. Может, немного криво выразился - не в ноль, а в пустую строку.
Еще раз. Твой рассказ намекает, что ты не прав.
Доступ у тебя приватный, сеттеров нет.
Задай себе вопрос - что может ее обнулить?
Только
1. прямое воздействие (ты утверждаешь, что этого не делаешь)
2. переинициализация объекта, в котором ты ее объявляешь и присваеваешь значение. Но в этом случае это уже ДРУГАЯ переменная.
3. какой-нибудь замысловатый рейскондишен, при котором тебе кажется, что чтение произойдет после записи, а на деле происходит наоборот. Думаю, этот вариант можно смело отмести.
Отвечая на твой изначальный вопрос - общего способа нет.
Сделай переменную таким типом, где у тебя есть листенер на чендж. Сделай свой класс, например.
Но гораздо быстрее будет, если ты внимательно посмотришь на свой код.
может, она кроме private у тебя еще и volatile static?
Не, обычный public String.
Нашёл, в чём дело. В конструкторе делаю:
try{
string = new String(string_.getBytes(), "UTF-8");
}catch(Exception e){
System.exit(0);
}
После этого строка безвозвратно портится, даже если ей присвоить другое значение чистой латиницей. Если заменить эту строчку на:
string = "test";
то тогда строка инициализируется нормально. Но потом всё равно не меняется.
Странно то, что ещё неделю-другую назад все эти же функции работали нормально.
Ох говнокоды, говнокодеры.
1. вот это new String(string_.getBytes(), "UTF-8"); лютейший говнокод
2. System.exit(0); ты хоть что нибудь напиши в лог, сам же потом прибежишь с вопросом "приложение неожиданно выходит"
>>13322
>Не, обычный public String.
>>12972
>даже когда устанавливаю ей приватный доступ
Ты уж определись.
Ну и вообще выложи уже код.
>вот это new String(string_.getBytes(), "UTF-8"); лютейший говнокод
Что ты предложишь для конвертации из одной кодировки в другую?
Думаю, конечно, что здесь не в том дело. Но тем не менее.
>Что ты предложишь для конвертации из одной кодировки в другую?
1. String это уже UTF-16 строка. Т.е. туда у тебя уже должна попадать правильно декодированная строка. Если есть проблемы с кодировкой, то править их надо на этапе конвертации их байт в строку.
2. string_.getBytes() работает в дефолтной кодировке ОС. Переехал на другую машину с другими региональными уставновками - ловишь загадочные баги.
>>13501
>Думаю, конечно, что здесь не в том дело. Но тем не менее.
Ну так выложи код, что мы тут гадаем на явовой куче.
>уже должна попадать правильно декодированная строка
Не должна.
У тебя чужой проект, где хуй знает что наверчено.
>string_.getBytes() работает в дефолтной кодировке ОС
В принципе, да, без указания в гетБайтс говновато.
НО!
у меня был проект, где несколько предопределенных типов устройств со своими кодировками. И всякая поебень читалась из файлов в их кодировках и, внезапно, оказывалась в строке в дефолтной кодировке этого устройства
Короче, теперь я понял твое негодование.
Но у всякого, на первый взгляд, говнокода бывают разумные объяснения иногда.
Хотя, конечно, у анона, который теряет значение переменной, не тот случай.
>Ну так выложи код, что мы тут гадаем на явовой куче.
И да, я не тот, анон, который не может уследить за строкой.
Обычно я печатаю исключения в консоль, просто именно тут стало лениво. Когда буду готовить рабочую версию, всё равно пройдусь по всему коду и добавлю всем исключениям вывод в лог-файл.
>вот это new String(string_.getBytes(), "UTF-8"); лютейший говнокод
Не знаю, почему, но без этого кириллица адекватно не выводится. Кодировки - это самая мутная пока для меня тема.
>Ты уж определись.
Она публичная, но приватной (с сеттером) я её делал для теста, чтоб отсечь манипуляции извне. Отсёк, ничего не поменялось.
>>13506
>Ну так выложи код, что мы тут гадаем на явовой куче.
Код класса с этой переменной?
> Код класса с этой переменной?
Нет, блять, сорцы JDK кидай. Я поражаюсь тебе анон, ты бы давно решил свою проблему просто вбросив свой говнокод и спросив "Что за хуйня творится с этой переменной?". Или решить ее самому, отписавшись потом "Я дебил, вот как надо было...". Но ты почему-то решил позаебывать и проверить телепатические способности анонов, написывая в треде
А может у него код закрытый, а сам он под анальным нда с товарищем майором кгбзаместителем начальника сб за плечом.
Ну, я на доску недавно вкотился, мало ли.
На пикче класс. Вывод в консоль добавил для теста. При вызове сеттера в консоли следующее:
test
test
test
test
string changed to test212313532
test
test
test
test
Да, первая. Что не так, кроме того, что можно сделать просто if(!visible) return без блочной конструкции?
Ты чё написал дибил?!
Хотел уже скопипастить, но тут выяснил новую подробность - строка всё-таки меняется. Но позже.
Наверное, ещё немного поотлаживаю, а потом отпишу итт, если там окажется действительно что-то интересное скорее всего я, конечно, просто не замечаю чего-то очевидного. Ну или если всё-таки не получится.
Коллекция формируется в контроллере
Iterable<Message> messages = messageRepo.findAll();
model.addAttribute("messages", messages);
Потом попадает в шаблон где без макроса спокойно доступна, но если передать ее в макрос вот так:
<@messages.messages messages />
то все - хуй. Вот сам макрос:
<#macro messages messages>
<#list messages as message>
<div>
<span>${message.id}</span>
<b>${message.text}</b>
<i>${message.tag}</i>
<strong>${message.authorName}</strong>
</div>
<#else>
<div>No messages!</div>
</#list>
</#macro>
Вот ошибка:
FreeMarker template error (DEBUG mode; use RETHROW in production!): The value you try to list is a namespace (wrapper: f.c.Environment$Namespace), thus you must specify two loop variables after the "as"; one for the key, and another for the value, like <#... as k, v>). ---- FTL stack trace ("~" means nesting-related): - Failed at: #list-#else-container [in template "parts/messages.ftl" in macro "messages" at line 2, column 5] - Reached through: @messages.messages messages [in template "greeting.ftl" at line 26, column 5] ~ Reached through: #nested [in template "parts/common.ftl" in macro "page" at line 8, column 1]
Если я делаю как пишет ошибка, то есть типа чере ключ значение:
<#macro messages messages>
<#list messages as k, message>
<div>
<span>${message.id}</span>
<b>${message.text}</b>
<i>${message.tag}</i>
<strong>${message.authorName}</strong>
</div>
<#else>
<div>No messages!</div>
</#list>
</#macro>
То получаю за щеку вот что:
FreeMarker template error (DEBUG mode; use RETHROW in production!): For "." left-hand operand: Expected a hash, but this has evaluated to a macro+misc_template_model (wrapper: f.c.Macro): ==> message [in template "parts/messages.ftl" at line 4, column 21] ---- FTL stack trace ("~" means nesting-related): - Failed at: ${message.id} [in template "parts/messages.ftl" in macro "messages" at line 4, column 19] - Reached through: @messages.messages messages [in template "greeting.ftl" at line 26, column 5] ~ Reached through: #nested [in template "parts/common.ftl" in macro "page" at line 8, column 1]
Коллекция формируется в контроллере
Iterable<Message> messages = messageRepo.findAll();
model.addAttribute("messages", messages);
Потом попадает в шаблон где без макроса спокойно доступна, но если передать ее в макрос вот так:
<@messages.messages messages />
то все - хуй. Вот сам макрос:
<#macro messages messages>
<#list messages as message>
<div>
<span>${message.id}</span>
<b>${message.text}</b>
<i>${message.tag}</i>
<strong>${message.authorName}</strong>
</div>
<#else>
<div>No messages!</div>
</#list>
</#macro>
Вот ошибка:
FreeMarker template error (DEBUG mode; use RETHROW in production!): The value you try to list is a namespace (wrapper: f.c.Environment$Namespace), thus you must specify two loop variables after the "as"; one for the key, and another for the value, like <#... as k, v>). ---- FTL stack trace ("~" means nesting-related): - Failed at: #list-#else-container [in template "parts/messages.ftl" in macro "messages" at line 2, column 5] - Reached through: @messages.messages messages [in template "greeting.ftl" at line 26, column 5] ~ Reached through: #nested [in template "parts/common.ftl" in macro "page" at line 8, column 1]
Если я делаю как пишет ошибка, то есть типа чере ключ значение:
<#macro messages messages>
<#list messages as k, message>
<div>
<span>${message.id}</span>
<b>${message.text}</b>
<i>${message.tag}</i>
<strong>${message.authorName}</strong>
</div>
<#else>
<div>No messages!</div>
</#list>
</#macro>
То получаю за щеку вот что:
FreeMarker template error (DEBUG mode; use RETHROW in production!): For "." left-hand operand: Expected a hash, but this has evaluated to a macro+misc_template_model (wrapper: f.c.Macro): ==> message [in template "parts/messages.ftl" at line 4, column 21] ---- FTL stack trace ("~" means nesting-related): - Failed at: ${message.id} [in template "parts/messages.ftl" in macro "messages" at line 4, column 19] - Reached through: @messages.messages messages [in template "greeting.ftl" at line 26, column 5] ~ Reached through: #nested [in template "parts/common.ftl" in macro "page" at line 8, column 1]
1) name_, зачем? Если это перекрывает видимость поля ты всегда можешь использовать this.name;
2) Game.bg_layer, подозреваю это своего рода синглтон, такое дело не оттестить + сильная связанность, почему не передавать объект над которым будет происходить какое-то изенение в качестве параметра?
3) Систем экзит убери, можешь честно взять случившийся эксепшн и завернув его в RuntimeException кинуть дальше, и зачем ты трай свернул в одну нечитаемую кишку?
4) Название string конечно очень хуевое для поля/переменной;
5) Ну и в данном коде нечему менять значенеи строки на null; Показывай как было изначально;
Документацию к ж2се 8. Перекидывает на логин страницу.
Что ты подразумеваешь под меняется? Случайно не то что нарисуется в окошке? Я вижу ты с каким-то ui говном играешься. Тогда ничего удивительного, твоя смена значения не тригерит перерисовку.
В обычной System.out. Я же постил чуть выше код и то, что в его результате выводится в консоль.
То есть ты утверждаешь что после вызова setString
у тебя выведется не "string changed to test212313532"?
Лучше закинь уже всю свою лабу1 на pastebin, нихуя непонятно че за хуйню ты там делаешь.
Нет, это и выведется. Но потом продолжит выводиться изначальное значение.
Там несколько классов сотен на 4-5 строк. Это из того, что непосредственно контактирует с этим объектом и влияет на его обработчиков.
Значит воспользуйся гитом.
Кароче ты либо долбоеб и передаешь туда мапу, либо ты долбоеб и используешь Iterable вместо Collection, у меня аналогичный код работает.
БВАХАХАХАХАХА
это какой-то пиздец.
Говоря коротко: иди ты на хуй.
Ты уже заебал.
Тебе сказали раз сто - хочешь помощи, покажи исходники.
Но уже не делай этого, просто иди на хуй!
Чего злой такой? Я чуть выше написал, почему не выложил весь код сразу.
А с гитом тогда завтра буду разбираться. Всё равно давно уже надо было.
Нахуя system.out? Ты дебагом пользоваться умеешь? В курсе что есть conditional breakpoints? Впиши туда условие со своими злоебучими строками, отладка остановится и ты уже по стеку увидишь какое говно меняет твою переменную
ты блядь
кексу со строками настоятельно советую в мейне создать объект, сменить ему строку и сымитировав логику не связанную со строкой запустить любимый им систем.аут и удивиться
Это его первая программа а он уже игру пишет, GameObject, лол, а вы ему про дебаг, про тестирование.
Наверняка что-то с жавараша. Там есть комплекс задач по построению логики игр из готовых классов. Базовые классы вроде гамеобжект и есть.
>По-моему, хороший способ освоить гуи и заодно закрепить Core.
Нет. В играх зачастую используется паттерн Entity-Component-System, который достаточно сложный и в типовых проектах редко встречается.
Ну, значит, в моей его либо нет, либо я его более-менее нормально применил.
>Я не в иде пишу, в этом основная загвоздка
Нет.
Основная загвоздка в том, что ты не умеешь читать.
А сразу пишешь.
Но писать ты тоже не умеешь.
То, что ты пишешь не в ИДЕ, это просто вишенка на торте.
Твой ИДЕ, судя по всему, это двач, который должен найти у тебя ошибки и исправить их.
Тебе 12 лет или 13?
Гуи пишут либо на C#, либо на Qt, либо на Electron, но никак не на ебаной Джаве. Даже с Андроида Джава была выдавлена Котлином и React Native.
Иди лучше JS учи для таких целей. Или C#/C++, если хочешь быть геймдевом.
Не понимаю тебя. Что тебя не устроило? Я прошу помощи на дваче, потому что не смог разобраться с проблемой, а не потому, что мне лень с ней разбираться.
Иде мне просто пока не нужен, я кроме компиляции ничего сейчас не делаю.
>>13950
Ну, лишним в любом случае не будет, думаю. Потом проще будет вкатываться в другие гуи библиотеки. Да и игру эту я уже давно хотел написать.
Объекты со строкой я сначала добываю даункастом из GameObject, а потом из результата каста читаю строку. Тогда она не меняется.
Когда сохраняю объект сразу в переменной StringObject, то строка из него читается нормально и все изменения тоже видятся.
Логики я в этом по-прежнему не вижу, но теперь, вроде, хотя бы примерно понятно, в каком направлении думать.
Нет, если это один и тот же объект разницы не было бы. Вероятно тебе разные объекты приходят и в каком-то значение менялось, но в других нет.
Напечатай хеш код объекта которому делается setString и на котором вызывается process(). Вангую что выше правильно сказали - это разные объекты будут.
По-моему нужно указать в user и в password строчку "mysql", если никаких настроек не менял
я не очень понял, это как?
>Не понимаю тебя. Что тебя не устроило?
Меня не устроило, что ты не знаешь своего собственного кода.
И неделю срешь в тред глупыми вопросами.
На которые ИДЕ отвечает примерно за то время, что ты нажимаешь кнопки, чтобы набрать String.
Короче, хуй с тобой.
Не выгонишь же тебя с двача.
Прости, больше не буду.
Спасибо анонам, за это время я взял на вооружение несколько новых способов отладки.
> Ладно, кажется, я выяснил, в чём дело. Ничего интересного или фундаментального там не оказалось, с даункастом это тоже связано не было. Просто я недоглядел.
> Спасибо анонам, за это время я взял на вооружение несколько новых способов отладки.
Через какую либу нынче принято ходить в HTTP/Websocket сервисы на Java? Глянул на retrofit и feign - но там какая-то срань с генерацией кода в рантайме. Мне этого говна было достаточно в Spring Data. Еще есть AsyncHttpClient - вроде неплохо, правда хз, на сколько оно живое.
В чем проблема генерации кода в рантайме? У Спринга ещё так АОП работает, насколько я помню.
мимо-вкатыш
Retrofit это фасад поверх OkHttp - вот его глянь.
А вообще подумай может тебе и GRPC норм будет.
Спасибо, бро. В итоге заработал только драйвер версии 5.1.47. Все которые нашел 8-ые не конектились, как такое может быть!?
Потому что это не настоящее программирование, а говно. Дал методу нужное имя и машина сама сгенерирует реализацию — ну это же пиздец полный, лол, говно для казуальных детей. Медленно работающее, к тому же. Какой дурак будет этим пользоваться?
Я при каждой смене экрана (уровня) очищаю список объектов, кроме игрока. А объект-обработчик строки забыл, и он тоже очищался. В итоге изменял я одну строку, а переборщик объектов выводил совсем другую.
Лол, щас бы засирать бандл туевой кучей сгенеренных классов.
В данном случае проседания по скорости не заметны банально потому что время работы запроса намного больше.
Я представляю какое у тебя там ведро говна. И уже вижу как ты его отмоешь, оставив самые въевшиеся части в стыке дна и стенок, и будешь гордиться собой - ну вот, чистое ведро. Хотя в него можно было просто не срать.
Но опыт есть опыт, его не отнять.
Не, это говно спринговое. Тем более не асинхронное. Нахуй тащить спринг, когда можно отделаться какой-нибудь легковесной библиотекой? Тем более у меня нет спринга в проекте, слава богу.
Ок, посмотрю. Только GRPC мне точно не подойдет, т.к. мне нужно ходить в сторонние сервисы, которые предоставляют HTTP/Websocket API. А GRPC - это немного другая тема.
Потому, что я хочу быть уверенным, что когда я запущу приложение, оно будет работать так как я задумал (тесты конечно никто не отменял). Зачем перекладывать подобную задачу в рантайм, когда это можно проверить в компайл тайме? Мы же не на джаваскрипте пишем, в самом-то деле!
Ээээээ....
Может, ты и селекты все руками пишешь?
И инсерты с делитами?
Может, ты вообще ОРМ не пользуешься, а напрямую, кодишь через ждбц?
В общем, я ковыряюсь в java concurrency. Решил потестить асинхронность в гуи (javaFx). Написал, как мне кажется, потокобезопасный код, но он, сука, периодически падает, да так, что гуи сходит с ума (пикрил). если убираю тред.слип(), падает чаще, но с другой ошибкой
https://pastebin.com/9DjjpeUQ
Ааа. Спасибо)
Вводная: знание английского, говновышка откуда я нихуя не извлёк и эмайтишный сишный курс (введение в информатику).
Задача: не сосать хуи при взгляде на код модов к майнкрафту.
какой же ты душный, пиздец. У человека написавшего первую программу разные объекты будут иметь одинаковый хеш код ага
> Задача: не сосать хуи при взгляде на код модов к манкрафту
Вряд ли эта книга сильно поможет. Ну если у тебя даже базовых знаний нет, то ок. А так мне кажется, что даже опытный разработчик будет какое-то время сосать хуи при взгляде на код модов к Майнкрафту, ибо геймдев на Джаве это нифига не стандартная практика.
Подозреваю, так, что он не переопределял хешкод -> вероятность совпадения ~0.0000000000000001, что норм для разового дебага
>Ну если у тебя даже базовых знаний нет
Нет базовых знаний ООП, чего нет того нет.
Совсем базовая хрень уровня ветвление-цикл-хуикл есть.
Могу пузырьком массив отсортировать https://ideone.com/dMas4l , не знаю как это отложилось в голове но могу.
>А так мне кажется, что даже опытный разработчик будет какое-то время сосать хуи при взгляде на код модов к Майнкрафту
Но я его даже разобрать не могу, т.к. не знаю синтаксиса и ооп.
>душный
Это не питоно- и не жс-тред. Съеби туда с таким лексиконом
>У человека написавшего первую программу разные объекты будут иметь одинаковый хеш код ага
return 1;
Как тебе такое, Илон Маск?
Ты ебаный мудак, ты человеку, написавшему первую программу, уже рассказываешь хуйню, не соответствующую действительности.
Потом такие обмудки и ходят, и думают, что хэш обязан быть уникальным.
Иди на хуй, короче
Выйди с двача, читай книжку свою.
Она тебе все, что надо, даст.
Включая базовый ООП и т. д. Там все это есть, насколько я помню.
Заметь, что с тобой все пытаются поговорить о чем угодно, а не о том, о чем ты спрашиваешь.
Это хороший показатель, что с тобой разговаривает мудак, которого надо слать на хуй без лишних слов.
Никак.
Какой-то уебан решил рассказать всем о своих фантазиях.
С другой стороны, отвечал он другому уебану, который вторую неделю не разберется, почему у него переменная меняет значения.
К концу лета, даст бог, они поебутся.
Да, запустится в том же потоке. Если нужно запустить в отдельном, то можешь написать new Thread(() -> {}).start. Но лучше используй пулы потоков (см. класс Executors).
Мало ли долбаебов. Что теперь, за каждым бегать и думать почему это он решил вот так написать, а не по другому, лол? Читай документацию к классам, которые ты собираешься использовать и уже решай как писать код исходя из задачи, которую собираешься решить.
Я хуею с того, какой же ты ленивый, анон. Ты же знаешь где обосрался, гуглишь и разбираешь эти моменты, пока сам не поймешь, иначе так и будешь посасывать хуйцы на собесах
>пососал хуй на том как работает очередь у методов класса обжект
Лучше поясните, где все это говно используется. Это очередной способ прогнуть по ЗП? Нативные си методы в джаве, охуеть вообще.
у тебя есть длл, которую надо дергать из явы
хули тебе непонятно, где это используется?
COM-объекты ты как будешь вызывать, когда понадобится?
Вангую, что этот даунич спрашивает про wait, notify, notifyAll
Тебе кто-то мешает первые две главы "ява для чайников за 24 простых урока" прочесть?
Ты пришел на двач за помощью.
С абсолютно мудацким вопросом.
И выебываешься.
Сразу видно, что тебя ждет прекрасная карьера в программировании на яве. Так держать!
>COM-объекты ты как будешь вызывать, когда понадобится?
Когда понадобится, тогда и вызову. Единственный раз, когда одним из способом решения задачи было обращение к ком-объекту, был проект, в котором надо было запрашивать данные из уебищного совкового долгостроя.
Что вычислению до окончания самого вычисления расскажет, каким типом должен быть результат вычисления?
>Так run() - тоже метод, только оверрайденный, не?
Чтобы один класс не засирать огромными методами.
Ну wait/notify только студенты на лабах используют, а нативные методы много где, в netty например, в андроиде часто.
Где, вон же после гс все вернулось на круги своя.
Ошибка вылетает с редкой периодичностью, не ебу как репродьюсить ее, знаю только стектрейс ошибки.
>Я мудак и не могу прочесть спецификацию
>Буду срать в тред гринтекстом и посылать вас на хуй
>Срочно объясните мне, почему инт/инт=инт, а то я вас второй раз на хуй пошлю
>Лучше поясните, где все это говно используется.
Я тебе пояснил
>Когда понадобится, тогда и вызову.
>Рррряяя нинунжна!
Тебя не берут на работу не потому, что ты чего-то не знаешь, а потому что ты мудак, и со второго предложения в любом разговоре об этом громко заявляешь.
Не понял. Если у этих классов методы переименовать и их вызвать, ничего же не изменится.
может быть такое, что someMethod выбросил исключение и метод вернул null, а не SOME_CONST?
используй своё студенческое мыло. реактивные мозги дают свои продукты студентам бесплатно на год. а там уже бабосика на лицензию накопишт
На три месяца можешь получить лицензию после частичного (малой части) прохождения курса на stepik, посвященном Java. Там ещё неприятный молодой человек ближе к тридцати пяти годам ведёт, а стоит он так, будто пытается произвести впечатление на девушку своей отсутствующей мускулатурой.
Почему? Смысл мне писать в методе if (smth != null) {...} else {...} если я могу написать optValue.map(...).orElse(...)?
Да по хуй.
Любой не примитивный объект може быть налл.
Хули она на Опшионал ругается, а на Интеджер не ругается?
Опционал мне возвращает другой метод, который не знает ничего о том, какое должно быть дефолтное значение.
Добавляется только два слова. И идея не ругается и всем хорошо.
Ебучая макаба, не дописал.
getOptValueMethodWithLongName(someData).map(SomeClass::methodRef).orElse(defaultValue);
Против
parseValue(getOptValueMethodWithLongName(someData))
ну вот. а ты ждешь, что там не налл, ты же для этого опшенал и заводил
и все равно надо проверять на налл.
так какого хуя тогда опшенал туда гнать?
Шизик, ты?
Ты видимо не то читал. Optional предназначен для того что бы его возвращать внешним потребителям, а не хранить в полях или создавать из него что-то.
Что за приложение? А вообще byte хранит значения от -128 до 127, т.е. 1 байт, а инт - 4 байта. Поэтому в переменной b сохраняется только младший байт инта. Посчитать что получится очень просто для байта 127+1=-128 ; -128+2=-126.
Может, ты не то читал?
https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html
Где тут "предназначен для"?
Для чего я решу его использовать, для того он и предназначен.
Что вы как пионеры все? Если дедушка Ленин не велел дрочить, то и не будем, мол, хуй не для того предназначен.
Заебали.
Епам проводит отбор на полугодовые курсы, после которых будет стажировка. Как не зафейлить и попасть ? Там будет собес по англ и тесты.
Я хорошо читаю документацию уже и все понимаю, но разговорной практики у меня не было очень долго, что-то простое может вогнать меня в ступор. Что они там будут спрашивать? Какие темы заранее подготовить ?
И ещё такой вопрос, если я свалю от них посреди курсов в другую компанию или захочу в стажировку епама, скипая курсы, я не буду там считаться врагом народа и не попаду в Бэн?
Дайте советов, пж
Все будет хорошо. Не переживай. Иди по зову сердца.
Охуенный аргумент.
Напиши еще пару раз, как тебе похуй.
Особенно после твоих рассказов про анти-паттерны и "я точно знаю, что для чего предназначено".
Пиздец, скорей бы у вас каникулы кончились.
Обнял. Sololearn - качать строго ради интри левельных поединков
Полезно в итоге оказалось ? Я не то, чтобы рассчитываю на них прям сильно, просто поставил задачу оторваться от стула и попасть на них, ну а дальше дома доучиваться на стажёра тому, чего не знаю
У нас курсы были рассчитаны прям на нубов, так что для меня они были не особо полезны, потому что у меня базовые знания были.
Но это 2 года назад было, к тому же я у мухосрани живу. А если ты из Киева там какого-нибудь, то у вас может и отбор жёстче, но и знаний больше дают.
Языки (платформы) с вендорлоком. Шо то шо это.
Джава тоже нормально развивается, быстрее чем раньше, нужно только потерпеть пока начнется реальная миграция на пост 8.
Допустим пакеты больно, ладно, но unsafe то вам нахуя? Для него и замены подвезли, и вообще зачастую его суют просто потому что.
Я имею в виду чужое легаси в библиоткеках.
Просто вчера получил тестовое, которое надо было сделать в течение восьми часов, из них часть, которая отведена бэку, была выполнена мною за час дай бог, а всё остальное время я пытался решить проблемы вывода всё это на экран, потому что я даже элементарного html не знаю. В итоге в обозначенный срок не уложился. Может этот самый html с javascript начальным подучить, практикуясь в создании более-менее динамичных страниц? Хотелось бы, конечно, больше самой java заниматься.
Основы html css js надо знать, если с jquery чото можешь делать, то вообще норм. А на работе тебе скорее всего еще и с разворачиванием/настройкой окружения придется ебаться, так что linux/docker тоже лишним не будет.
> linux/docker
Вот, кстати, да, я в их сторону тоже смотрел просто потому что про docker на каждом шагу слышно, ну а linux иногда даже в вакансиях пишут, хотя это, кажется, само собою разумеющееся.
Спасибо.
А с самой java и фреймворком что дальше делать? Я до сих пор имею крайне смутное представление о том, что придётся делать на работе, потому вчера немного погуглил, но там ничего кроме баз данных, дёрганья json, реализации rest толком ничего нет.
>баз данных, дёрганья json, реализации rest
Это самое и есть. Можешь алгоритмы подтянуть, время от времени будет нужно.
Компактные строки, шенанда, новый хттп клиент, локальный вывод типов, VarHandlы, Constant API, CDS, превью паттерн матчинга, ZGC, нормальные иннер классы (без генерации доп. кода для доступа к приватным), по криптографии всякой добавки, TLS 1.3. ну и всяких хелпер/дефолт методов добавлено. И старые говна вроде аплетов вырезаны.
Ебучую джаву надо облегчить, выкинув все легаси. Старперы поначалу будут сосать хуи на старых проектах, но постепенно все станет хорошо.
Модный молодежный уже может собирать свой кастомный образ содержащий только то что юзается.
Я только начинаю напрягать извилину, а тут как раз твои картинки... или ещё какие картинки или сообщения, а они меня наводят на эти странные мысли. Не могу и в голову взять мысли о том, что здесь причина во мне. Себя я вдоль и поперёк знаю - каждый сантиметр своего грубого, волосатого тела.
Ну и зачем это нужно? Без этого не обойтись или сторонние либы при нужде не использовать?
Тебе надо либо чтобы JRE был на машине, либо тащить с собой, либо компилять под винду.
Для первого есть launch4j
Для второго нужно первое + ставить JRE через свой инсталлятор, либо как-то пердолиться и писать свой лаунчер.
Для третьего нужна AOT конпеляция, которая экспериментальная, полноценно работающей GraalVM для винды пока нет, и не известно как это все работать с gc, рефлектами и прочими темами работать будет.
В этом и есть огромный минус перед сисярпом: экзешники собираются по дефолту и дотнет фреймворк есть на каждом утюге с виндой.
Просить пользователя накатить JRE в 2019 для чего-то не крупного, да еще и надеясь, что никаких проблем с установкой и пропиской путей не возникнет, - извращение.
Хотя вроде есть варианты, типа javapackager.
В строке кода синим по серому написано " b = 2, b-- "
Так хуль не 1?
Потому что второе условие (там где b--) не вычисляется, так как зафейлилось первое и используется && (тоесть результат выражения известен сразу после вычисления первой части).
Большое спасибо, обнял
> будучи джуном
> Функционал писать не дают
А ты как думал? Ты сейчас разгребаешь всю ту накопившуюся хуету, для которой нет времени у мидлов, это распространенная практика. Через пару месяцев, если не обосрешься, то доверят какую-нибудь мелкую фичу самому сделать
Многие из этих улучшений находятся на уровне jvm. Конечно ты их либами не получишь. Ну и никто не будет поддерживать восьмерку вечно.
Аноны, которые уже выше джунов, расскажите, как изменилась ваша жизнь ? Буст деньгами сильно стал заметен ? Повлияло это на общую удовлетворённость от жизни? Какие новые хобби появились? Какие вообще есть кроме кода ?
Пилите стори истори ыыы блять, хватит только на вопросы ньюдаунов отвечать, время отвлечься !
Всегда было интересно, что это за животное такое, кодер.
Думает ли он о чем-то кроме кампутеров, может ли быть социоблядью, или всегда это забитое в угол омежье существо ? По мифам это всегда такое существо и в жизни я только таких и встречал только
Сам я пока стажер, прыгаю с тянкой на дудке каждые выходные, но вот в офисе все какие-то очень странные и угрюмые, может, я пока не сильно хорошо узнал их
Это везде так ?
Я развиваюсь через аниму. На улицу не выхожу без надобности. У нас все такие .
24 лвл мидл листва
Омежа, как ты дошел до такого умозаключения?
> Fatal error compiling: invalid target release: 1.11
Как правильно задать версию в мавен компилер плагине? 1.11 и 11 не подходят.
public static void main() {
ClassA a = new ClassA();
a.methodA();
}
}
public class ClassA {
public static final ClassB b = new classB();
public void methodA() {
b.methodB();
}
}
Как перехватить метод methodB() и выполнить код перед и после его вызова? b заменить и оверрайдить не могу.
Из-за такого быдла я боюсь на улицу ночью выходить
Пасиба.
А без аспектов никак? Ведь аспекты - та же жава. Плюс там, вроде, нужные классы генерируются при компиляции, а мне нужно подгружаться в реалтайме.
Не можешь по условию что ли? Чем рефлексию и раз-раз поехал. Еще можно A расширить.
По какому условию? Чужая программа загружает мой код и иногда дает ему выполняться. В сишарпе я такое делал через Гармони.
А смысла нет расширять, так как объект создается в методе как локальный.
Просто хочется понять, что лучше повторить перед собеседованием, учитывая, что спрашивать меня будут скорее по основам языка Java и непосредственной web-составляющей, так как о моём абсолютном незнании ruby собеседующие будут в курсе.
Ну я завтра первым делом спрошу, но мне первое, что пришло в голову - именно то, что перепутали. Но кадровик сказала, примерно дословно: "У нас web и mobile разработка на java, бэкенд - ruby". Сходу отказываться не стал, потому что условия в плане принципа трудоустройства для меня очень привлекательны, хотя на предложения от других языков я сразу отказывался.
Просто придумали, может подсмотрели где. Доменные имена потому что гарантировано уникальные, обратные потому что более привычный для неймспейсов порядок от общего к частному (тогда как в домене идет от частного к общему, тоесть сначала суб домен, потом домен более всыкого уровня).
Это не обратные доменные имена, а самые что ни на есть прямые.
Пошло с того, что это удобно и обеспечивает достаточно разумную защиту от нейм-клешинга.
>Но кадровик сказала
>кадровик сказала
>кадровик
И у тебя еще есть какие-то сомнения?
Мне, например, однажды кадровик "але, нам нужны программисты" на вопрос "и на чем надо программировать?" ответила "как на чем? на компьютере!"
Я нашёл двух сотрудников этой компании, и у обоих помимо ruby on rail есть ещё и java в навыках. Это, конечно, ни о чём конкретном не говорит, но в недоумении оставляет.
Про кадровика в Интернете нашёл отзыв, что она до этого набирала ещё и менеджерский персонал, то бишь ошибка почти стопроцентная.
Ладно, завтра всё узнаю. В любом случае мне с первого собеседования сразу на второе - готовиться так и так придётся.
Т.е. на самом деле ты спрашиваешь, зачем нужен интерфейс, когда ты своему классу можешь метод приделать?
public class Coitus {
static public void ebites(Supplier<? extends Huy> papa, Supplier<? extends Pizda> mama){
papa.ebi(mama);
}
}
.......
Supplier<MalenkiyHuy> anon1 = () -> new MalenkiyHuy();
Supplier<BolshoyHuy> anon2 = () -> new BolshoyHuy();
Supplier<KrivoyHuy> anon3 -> new KrivoyHuy();
Supplier<VonyuchayaPizda> tvoyaMamasha = () -> VonyuchayaPizda.getInstance();
Coitus.ebites(anon1,tvoyaMamasha);
Coitus.ebites(anon2,tvoyaMamasha);
Coitus.ebites(anon3,tvoyaMamasha);
Дальше пояснять надо?
Ну так в данном случае все сапплаеры можно спокойно заменить на методы. Но видимо дело в скоупе применения, ок.
Замени, посмотрим, что ты имеешь в виду
Только не забывай, что потом придут еще пара анонов с хуями.
Учти в своем решении и это
Алсо, перед изучением спринга нужно знать java ee?
Алсо2, я фанат по книгам изучать все, но вот не раз видел, что многие пишут "смотри код, я по ним выучил все", бля, а где мне его смотреть? Типа в поисковике java github искать анонов и смотреть их код?
К сожалению они мне светят только в мечтах. Чтоб с такими быть, надо в швятых родиться =(
Я, конечно, имею в виду, что в вакансиях выделяется бэк из веба, а не то, что кто-то пишет их на двух разных языках.
алсо ногти как в том пассажа из фэмили гай про афроамериканок в колл-центре лол
public class Coitus {
static public void ebites(IHuemraz papa, IDirka mama){
papa.ebi(mama);
}
}
IHuemraz anon1 = new MelkoHuy();
IHuemraz anon2 = new SredneHuy();
IHuemraz anon3 = new MikroHuy();
IDirka tvoyaMamasha = new Vedro();
Coitus.ebites(anon1, tvoyaMamasha);
Coitus.ebites(anon2, tvoyaMamasha);
Coitus.ebites(anon3, tvoyaMamasha);
И зачем сапплаеры?
Ну так сделай интерфейс IEblivi, тогда ебаться сможет и один, и группа, и с хуем, и с двумя, и со страпонами, и кулаком, и ногой.
И дело тут вовсе не в интерфейсе, а в нужности сапплаера. Все, что делает сапплаер можно и без его применения сделать тоже касается и остальных свистоперделок.
>Using the class name is the preferred way to refer to a static variable. Not only does it
emphasize that variable’s static nature, but in some cases it gives the compiler better
opportunities for optimization.
В каких именно случаях и как это выглядит? Стаковерфлоу или не знает или я не знаю по какому запросу гуглить.
ну, твой смешной код сам это объясняет:
Сапплаер дан свыше. Он есть у всех. Про него всем все понятно.
Что у тебя за ихуемраз и идырка, и зачем вообще они нужны - непонятно никому
Если ты хочешь писать так, что из жре ты будешь испльзовать только ява.ланг.*, то твой подход охуенно работает.
Но кроме тебя так писать, а тем более читать, никто не хочет.
А ты код не видел?
Да, ебутся только хуй с пиздой вдвоем.
Или ты еще не научился отличать написанный код от своих фантазий?
>Все, что делает сапплаер можно и без его применения сделать
Все, уболтал, чертяка языкастый.
Сапплаер не нужен.
Никогда его не используй.
Каждое собеседование прям с этого и начинай, не дожидаясь вопросов - Сапплаер не нужен, я лучше придумаю!
Поверь мне, ты не хочешь СЕЙЧАС выяснять, как работает оптимизация в компиляторе (и даже не в компиляторе, а в ЖВМ).
Просто всегда пиши КлассНейм.ПеремНейм, чтобы всем сразу было понятно, что это за переменная, и откуда она растет.
Правильный вопрос - зачем нужен Сет.
Да, в том числе и для того, чтобы проверять.
Или чтобы из миллиона повторений сделать набор уникальных объектов. Без всяких проверок.
>Что у тебя за ихуемраз и идырка, и зачем вообще они нужны - непонятно никому
>Supplier<? extends Huy> papa, Supplier<? extends Pizda>
Ты ебобо? У тебя то же самое в коде.
Я имею ввиду какой объем знаний должен иметь человек, что бы успешно устроится джуном.
Запили прохладную плес. Резюме/собеседования/первые месяцы
Пиздец, ты даже свой собственный код прочесть не можешь, не то, что мой.
Повторяю - оставь попытки понять, что люди с полноценным мозгом реализуют в языке для других людей с полноценным мозгом.
Тебе это не нужно. Иди своей дорогой.
Все долбоебы, кроме тебя. Успокойся, Антоша.
Иди напиши Laba2.java без непонятных тебе интерфейсов, и все пройдет.
А долбоебы пусть пользуются всякой хуйней из стандартной поставки, поделом им.
Предсказуемо.
Бери любую вакансию на мидла/сеньора и убирай оттуда пункт о наличии опыта.
Тебе так нравится прыгать, когда тебе ссут в рот?
Что ты не успокоишься?
Тебя уже послали на хуй, сказали, что ты во всем прав, и что аргументы можешь искать за щекой.
Но ты не унимаешься.
Ну, давай еще и насру за шиворот тебе, мне не жалко.
Прыгай дальше
Ты долго еще зарывать себя будешь?
Подожди, но раз они готовые, значит идут в поставке с javaFX, а ты просто не читал документацию. Т.е. быдло на самом деле ты, а не я. Т.к. у меня нормальный английский, а ты просто слесарь, которому рассказали, что программисты зарплату баксами получают, лол.
Так пригорело, что аж сажу включил))
Может я хочу написать вектор или комплексные числа и определить операции над ними?
Ну тебя как ученика 8б разработчика это не растеривает? Код писать не мешает?
Ты вообще на джаве много пишешь?
Что-то там почти все проекты мертвые.
Похуй вообще на твою перегрузку операторов в Java.
Я на Java обычный энтерпрайз код фигачу. Возможно есть предметные области, где бы это пригодилось. Какую-нибудь штуку с финансами пилить, где нельзя проебаться с деньгами и нужно использовать BigDecimal/Biginteger. Здесь какая-нибудь скала зарешала с ее implicit conversion и перегрузкой операторов - https://www.scala-lang.org/api/current/scala/math/BigDecimal.html
>определить операции над ними
Тогда тебе придется выкручиваться имеющимися средствами. В ООD нет арифметических или алгебраический операций, как и выражений: это понятия другой области, области математики. В ООD объекты лишь обмениваются сообщениями, поэтому в идеале сумма двух чисел выглядит не как x = a + b, а как sum(a, b).
Чет проиграл с этого стажера
На хуй она нужна?
Потом ты спросишь, почему нет прямого доступа к памяти и адресной арифметики?
Тебе тоже ответят: а на хуй это нужно?
Потом ты спросишь, почему вставки на ассемблере нельзя делать?
Тебе ответят знаешь что?
АПИ референс и пару ссылок из гугла прочесть не судьба?
Но ведь не автомобиль+кролик, а автомобиль+автомобиль
И твой вопрос равнозначен вопросу "Что значит автомобиль.мердж(кролик)"
Оператор это (для читателя) просто вид записи. Так же как и вызов функции.
Но тот анон в принципе неверный вопрос задал.
В яве не просто нет перегрузки операторов, а в принципе нет операторов для референсных типов (за редким исключением типа Стринга, но Стринг вообще ебанутый тип в яве).
И нет их просто потому, что все можно сделать вызовом методов.
Хочу сделать что-то вроде онлайн радио на спринге (лично для себя).
Возникает вопрос, можно ли как-то проигрывать с подливой рандомные треки из плейлиста Яндекс.Музыки или Spotify чтобы не хранить треки внутри приложения. Если да, то как лучше реализовать подобное?
З.Ы. когда уже перекат с нормальными тегами в треде .-. Неудобно искать без каталога.
пикрандом
>Но ведь не автомобиль+кролик, а автомобиль+автомобиль
Именно как объект + объект.
>>И твой вопрос равнозначен вопросу "Что значит автомобиль.мердж(кролик)"
Почему ты решил, что + значит мердж?
>И нет их просто потому, что все можно сделать вызовом методов.
Их нет потому, что нахуй не нужны большинству. Лямбды и прочие сапплаеры же ввели, хотя их тоже можно сделать методами и классами (они и так ими делаются компилятором).
Ты кто токой? Не воруй идею.
Это другой анон какой-то. Я уже нашел и Spotify Web API (они оказывается постарались и запилили REST API свой) и даже обёртку под него, чтобы удобнее было.
Тогда этот тред для вас
Хули ты тогда пришел в Java-тред?
Потому что в плюсы не сумел?
Так и отюсда на хуй ссаными тряпками выгонят.
Иди на хуй, даун
>Почему ты решил, что + значит мердж?
Этот вопрос говорит о том, что ты хуево понимаешь русский язык.
что уж говорить о яве и прочих.
иди на хуй, короче
А когда ты про сапплаер и лямбды заговорил, стало вообще понятно, что ты НИХУЯ НИ В ЧЕМ НЕ ПОНИМАЕШЬ, ебаный пидор
Иди на хуй второй раз
Spring 5. Пилю сайт. Repo, Service, Controller, все дела. Условный юзер сервис инжекчу в несколько контроллеров. В первом контроллере - все ок, во втором - вместо сервиса null. Пробовал инжектить и через конструктор, и через поле. Аннотации проставлены, бины через new не создаю. В чем может быть проблема?
Оказалось, все из-за @PreAuthorize в одном из методов контроллера. Правда, не совсем понятно почему так происходит
Spring boot+JPA+SQL.Кто нибудь знает как сделать автообновление для поля через определнный временной интервал в БД?
Это копия, сохраненная 22 июля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.