зачем наследовать класс, например JFrame? почему бы просто не создавать новый объект класса JFrame в своём классе и не напихивать его параметрами? или я совсем тупой?
>>999054 (OP) помогите пожалуйста с задачей. Допустим есть множество чисел, и нужно разбить это множество на 2 подмножества так чтобы разность сумм этих чисел была минимальной. В этих двух подмножествах может быть разное количество чисел. Подскажите, как эту задачу решить, но не с помощью жадного алгоритма.
Hi! Юзаю canvas javafx, туда рисуется картинка из файла, а на нем пользователь рисует круги. Как по-человечески сделать, чтоб потом можно было выбрать круг? Сейчас сделал просто вычисление, попадают ли координаты клика а заданный круг. Как-то костыльно, не?
Подскажите, пожалуйста, почему в wiki треда рекомендуют девятое издание Core Java, хотя уже доступно десятое? Последнее чем то хуже или просто wiki не обновляется?
>>999818 >>999902 можешь учить десятую но все новые фишки вряд ли ты будешь юзать на практике плюс там изменений вообще практически нет, каждое издание дополняется с учетом выхода новой версии SE
>>999911 С учётом сокращения питерского офиса оракл и перевода разработки в Индию, может оно и к лучшему. И жирбрейнсов реальная возможность получить хороших специалистов.
>>999864 >Ну что, петушки энтерпрайзные, прибытие поезда с релизом java9 переносится на осень? Как вам? Лучше бы дальше перенесли, очень не хочется учить эти модули. Я сейчас с OSGi разбираюсь (пишем ERP систему на ядре Eclipse), это пиздец полный. Бандлы, активаторы, голова пухнет.
>>999992 Все модули это ненужная хуета, для управления зависимостями есть Maven/Gradle, для разделения кода jar файлы. Но работодатели заставляют кушать сладкий хлебушек и чистить унитаз вилкой. Java 9 это катастрофа, ведь на каждом собеседовании будут подробно спрашивать про эти модули.
>>1000007 Есть библиотека B, которая использует либу C версии 1.1. В твоём проекте A используются B и либа C версии 1.2 (не совместима на 100% с C 1.1). Как решать это будешь через Maven/Gradle?
Вкатился в чудесный мир джавы в 2015 году начав писать с товарищем поделку под ведро. Поделка разрослась, собрала 20к пользователей в гугл плей и угасла. Этот первый опыт мне позволил пройти собеседование на джуниор-макаку в энтерпрайзе, и с Июля 2016 я пилю веб-говно-ECM-DAM на Liferay и Nuxeo.
Вот уже почти год как я занимаюсь этой хуйнёй, и понимаю что надо бы перекатываться в другую компанию. Но при этом я так же понимаю что я за этот год толком нихуя и не выучил. Сделал полтора портлета, списывая всё со стака и учебников, сверстал несколько сайтов, пошатал jQuery немного, потупил над сборщиками, освоил всякие ойти-штуки полезные типа Jenkins, GIT, SVN, JIRA и проч. Короче дошёл до уровня собсна самого днищенского дауна-джуниора.
Так вот, уважаемые джаваны: какие основы должен знать каждый уважающий себя J2EE-разработчик? А то как глянешь список вакансий, так глаза разбегаются. Спринг-хуинг, Ваадин, рест, гора фронт-энд фреймворков плюс пачка разных БД. Бросаться учить всё одновременно - нихера не выучу, сидеть и дрочить одну технологию - выйдет несколько новых версий пока учиться будешь.
Извините уж за платиновый вопрос. Всем своевременного вызова GC.
>>1000049 А а чем проблема? Gradle позволяет использовать разные версии библиотек в classpath. Транзитная зависимость будет использовать старую версию, твой софт - новую.
Насчёт Maven не знаю, но наверное он тоже должен такое уметь.
Посаны, доброй ночи. Вышло так, что я занимаюсь по Head First Java, или что там у вас в шапке было, в твердом переплете, прямо рядом со мной лежит.
Дошел до классов и обьектов, начал разбирать программу-угадывалку, и меня просто доебали баги. Помогите в них разобраться или хотя бы намекнуть, откуда эти бляди лезут?
На первых трех картинках сам код всех трех классов, последняя - результат работы проекта. Как вы могли заметить, какого-то хуя конвертируется в ноль предположение третьего игрока. А если третий игрок выдал верное предположение, то true приписывается первому игроку. И да, третий обнуляется. как показала практика, такая картина наблюдается при загадывании числа больше или равном 5
Программа, к слову, ни разу не сработала идеально и без ошибок.
>>1000305 Ради интереса добавил четвертого игрока - он тоже нулевой. Есть предположение, что информация о guess третьего и четвертого где-то теряется во время вызова\передачи в код игры. С двумя игроками все работает как часы.
>>1000315 >>1000354 Больше никогда не буду клепать код на ночь глядя уставшими глазами. Пардон, что побеспокоил. Как проснулся - сразу увидел свою опечатку.
По JSON API тут спросить можно? Мб кто делал бот для телеги? Мне там нужно узнать время пользователя, и вывести ему расписание нужного дня недели. Использую api.timezonedb.com В плагине JSON API: GET api.timezonedb.com/блаблабла пишу, а как вытащить оттуда именно дату (formatted) и засунуть ее в созданный user attribute не ебу. Помогите, если кто-то сталкивался.
>>1000933 - Прямое управление памятью - Шаблоны - Множественное наследование - Очевидная обратная совместимость с С на уровне исходников - Неймспейсы (!= жабьи пакеты, т.к. нет привязки к реальной файловой структуре) - Виртуальные методы (в жабе все по умолчанию виртуальное, в крестах нужно указывать руками) - жабий байткод интерпретируется виртуальной машиной - жабья стандартная библиотека срать на одном поле не сядет со стандартной библиотекой крестов - детерминированность уничтожения объектов и управление этим процессом (детерминированные деструкторы в крестах vs недетерминированный finalize() в жабе)
>>1001067 pre-intermediate, параллельно с джавой учу и английский, читаю простенькую литературу, подтягиваю грамматику и улучшаю произношение. В джаве я почти нуб и учу на данный момент java core, не думаю, что для этих целей нужен учебник на инглеше, уверен, есть хороший материал и на русиче, вот и спрашиваю. А пока читать такую литературу на инглише крайне стрёмно.
Окей, попытка номер 2. Сап братцы, вкатываюсь потихоньку в Джаву, по этому прошу помощи с обучением, посоветуйте годных книг/ туториалов на русском языке, а то в шапке учебники на английским коим я не настолько хорошо пока владею. Может кто то расскажет как он пришёл к успеху и какие материалы для него были наиболее полезны. Всех благ
>>1001111 Жава неудачный вариант для новичка. Язык сложный, возможностей мало, работы тоже мало, а на каждую вакансию десяток макак. Сейчас каждый школьник учит жаву, а потом не знает что делать с ней. Лучше попробуй Haskell. На нём и конкуренция пониже, и зарплаты больше, и сам язык понятней. Если никогда не занимался программированием, то начинать лучше всего с Haskell. Работы полно, платят отлично. По книгам. Если есть хоть немного знаний программирования, читай это: http://www.ozon.ru/context/detail/id/30425643/ Если совсем новичок, пойдет эта книга: http://www.ozon.ru/context/detail/id/28346038/ Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.html Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
>>999054 (OP) Сап жавач. Есть один класс, Person, в нем ФИО, возраст и т.д. Мне надо вывести ФИО из всех объектов, для этого я использую ListView<Person> listView; добавляю все объекты в ObservableList<Person> personCollection; , далее listView.setItems(personCollection); Ну и понятно, выходит говно, выводятся ссылки объектов. Как запилить это? Я в жаваФИкс ньюфаг.
>>1001331 Нахуй нужно добавлять интерфейс и реализацию представления объекта в списке, точно. Можно же наговнять toString, а когда потребуется представлять в таблице дабавить switch-ей, а потребуется показывать что-то кроме строк - подговняем еще что-нибудь.
>>1001307 >основное назначение toString - отладочный вывод Это ты скозал? >>1001344 Вот когда нужно будет отображать что-то еще, тогда и будем мудрить.
>>1001478 Предлагаю заранее предусматривать в каждом приложении все возможные варианты, включая проблему переполнения 64-битного timestamp-а. Настоящие помидоры пишут только так.
>>1001486 Кретин, не путай теплое с мягким. Есть здравый смысл и логика вещей, если их придерживаться, это уже половина дела. Про toString, макака, к сожалению в javadoc таких деталей не нашел, возможно у Блоха прочел, ну это и очевидно, жалко что не для тебя.
аноны, что не так. должна получится виселица через диалоговые окна. в гоголь хроме <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" <title>виселица йоу</title> </head> <body> <h1>Виселица, твоя</h1> <script> var words = [ "макака", "двач", "диван", "бабах" ]; var word = words[Math.floor( Math.random( )*words.length )]; var answerArray = [ ]; for ( var i = 0; i < word.length; i++ ) { answerArray = "_"; } var remainingLetters = word.length while ( remainingLetters > 0 ) {
alert( answerArray.join(" ") );
var guess = prompt( "Угадай букву или нажми 'Отмена' для выхода из игры" ) if (guess === null) { break; } else if (guess.length !== 1) { alert( "Введи одну букву" ); } else {
for( var j = 0; j < word.length; j++ ) { if( word [j] === guess) { answerArray [j] = guess remainingLetters--; } } } alert( answerArray.join(" ")); alert( "Было загадано слово " + word ); </script> </body> </html>
>>1001493 Мне здравый смысл подсказывает, что в данном случае человек хочет выводить строки, а не что-то другое, так вот и пусть выводит. Алсо, я сразу сказал, что не работал с fx и предложил самое очевидное для меня, как незнакомого с технологией, решение.
На работе дали пизды за сложение строк типа "abc" + 123, сказали что я безмозглый долбоеб и нужно использовать printf. Оно что действительно так медленно работает?
>>1001857 >>1001861 >>1001865 Это все байки со времен чуть ли не первой жабы, когда через плюс действительно работало медленно и все хуярили через билдеры, буферы и прочую хуйню. Сейчас конкатенация под капотом работает именно через билдер (или буфер, точно не скажу), так что в большинстве случаев должно быть однохуйственно. printf - метод для форматирования, использовать его каждый раз, когда тебе нужно к строке пририсовать хуец - глупо.
>>1001879 Буфер - старый вариант билдера, билдера только в пятой жабе завезли. >Так StringBuilder медленнее printf или нет? В душе не знаю, погугли. 100% кто-нибудь на стэковерфлоу уже проводил бенчмарк.
>>1001952 Можно и из буханки хлеба построить троллейбус, вот только зачем? Манагеру похую на твои маняоптимизации, ему надо чтобы проект соответствовал спеке и не падал иногда даже и это не обязательно, так что конкатенируешь ты строки плюсом, билдером или своего говна через JNI напихал - всем насрать. Хотя нет, не насрать, тебя выебут до кучи за то что вместо того чтобы формочек нужных нашлепать, ты с какими-то там коньюктинациями возился и ничего толком не сделал. Идите, ребята, в энтерпрайз.
>>999987 >>999990 В ДС как-то проходил собеседование в конторке, которая занимается кассовыми аппаратами и смежной техникой. Они используют жаваМЕ и какую-то аналогичную херню для C#. С понтом "пилим код один раз - пользуемся на десятках устройств". Но вообще в электроникомире про эти вещи многие даже не слышали, ибо нахуй не надо, все пишут на С или крестах.
>>1002125 А почему нет? 228 превратится в Integer, стринг вообще конвертировать не надо, оба наследуют от Object. А вот если будет Vector<Integer> то тогда нельзя будет.
>>1002017 За самописный JNI байтопетушка в любом бодишопе выебут в сракотан прямо на рабочем месте на глазах у всех. Ибо надо писать код, который могут поддерживать индусы.
Java-боги, представьте. Есть у вас много-много клиентов, которые подключаются к вам, заставляют вас обращаться к БД и что-то отвечать по сети. Все клиенты совершенно независимы. Как бы вы, в общих чертах, решали бы эту проблему? Какими бы инструментами пользовались?
Сап, вечерний. Нужно сделать не очень сложный проект типа клиент-виртуальный_RPC_сервер. Основное требование - использование внешних библиотек для RPC не допускается; только socket. Срок до завтрашнего вечера. О цене договоримся, кину на палку.
>>1002368 Горизонтально масштабирующиеся стейтлесс аппники работающие с реляционной бд / кластером. Если на реляционщину поебать и клиентов прямо до пизды, то хадуп и кассандры.
Такое дело, сейчас учусь в универе на программиста, и вот изучил вроде как java на нормальном уже уровне (не лез в java 8.0 только особо), но как-то не понимаю как в реальной жизни происходит разработка приложений под java. Как найти в дс2 стажировку на лето на java разраба, если не знаю ничего про Java EE, и вообще не представляю как происходит работа над реальными проектами. Везде требуется опыт и тд, а я хочу устроиться хоть за бесплатно, чтобы понять как вообще процесс этот происходит, и что-то понаписать конечно же. Возможно ли такое найти при нулевом опыте?
>>1002557 Хуйня какая-то у твоего папы между ног, а на Spring можно писать ML, самообучающиеся программы с нейросетями. Индусы конечно в Spring не могут.
Поясните за архитектуру fx приложения. Вот есть у меня 3 окна и 3 контроллера, и как мне все это дело связать нормально? Чтобы можно было передавать данные и т.д. Пока что придумал юзать синглтон, но чую это костыль.
>>1002619 вы заебали, спарк хуярк. спарк это, в основном,аналитическая тулза поверх хадупа или еще какой-нить касандры. а нейросети сейчас пишут на трех либах MxNet, TenserFlow, caffe
>>1002679 Нормально - это когда оно при пользовании не падает и не тормозит шибко сильно. Если будешь писать много - в будущем поймёшь, хуйню написал или нет.
Так что сейчас пиши как пишется, без оглядок на местных двачекодеров которые вызубрили тонну конвенций, фреймворков, знают все различия версий джавы и лучшие практики на каждый случай жизни, они тебя только хуесосить будут.
>>1002679 только через такие костыли. заюзай спринг для DI на сколько строк у тебя контроллеры, раз один на каждое окно? они же здоровые получаются. можно сделать несколько контроллеров на одно окно, тогда код код будет хорошо сконструирован
>>1002772 Диплом пишу, перепиливаю одну легаси парашу. >>1002773 Про несколько файлов не знал, а контроллеры не очень большие, самый большой 700 строк. Просто было бы неплохо заиметь какой-нибудь аналог конструктора, чтоб хуякс, и форма открылась с начальными данными, которые ей переданы. Ну и обрано тоже как-то надо, но это не так критично.
Ну ка раскидайте довну чем плох справочник Герберта Шилда по джаве, кроме того что вроде последняя книга по Джаве 8. Вроде автор буквально на пальцах все разжевывает для нубасов, еще и в каждой своей книги основы ООП вспоминает, а в шапке нет.
Сразу говорю. Сам вкатываться не хочу, но попросили совета насчет книг.
И какую ИДЕ то выбрать. Тоже кстати добавьте в шапку. А то на вашу эту Джаву их как собак. Правда что Intellij IDEA в бесплатной версии не поддерживает веб разработку? Или стоит просто поставить НЕТ БЕАНС и не париться?
>>1002800 Я не согласен где-то с 80% того, что он говорит, но мне нравится, что он всегда чешет против шерсти. Регулярно читаю потому, что заставляет задуматься, а иногда даже переубеждает.
>>1002885 >НЕТ БЕАНС Беги от этой мрази, как от чумы. По дурости выбрал в качестве иде для последнего своего проекта (жава на бекенде + жс на фронтенде) - каждый день плююсь и матерюсь. Краткий список охуенных фич нетбинса:
1. Вечно что-то индексирует, обновляет, проверяет, синхронизирует. Не так, как идея - один раз проиндексировалась за две минуты и дальше все летает - нет, нихуя. Постоянно. Особенно радует, когда эта параша начинает выполняться параллельно с каким-нибудь maven build, из-за чего приходится десятки минут ждать, пока соберется проект. 2. Каждый раз при запуске просит у меня какие-то пароли, причем иногда просит системным диалоговым окном, а иногда своим собственным, и никак не может этот ебучий пароль наконец-то запомнить. 3. Стабильно раз в рабочий день крашится без объявления войны и объяснения причин. 4. Ткнул однажды то ли в эксепшн в стек-трейсе, то ли в ошибку - нетбинс услужливо мне ее выделил в коде, да так, что ничем, кроме рестарта, убрать это выделение мне не удалось. К слову, выделено было настолько вырвиглазно, что не видно было выделенного текста. 5.Настроить можно чуть менее, чем нихуя. Настройка работы с длинными строками - хуй. Настройка стиля расстановки скобок - хуй. Настройка отступов - хуй. 6. Элементарные вещи называются непроебически умными и длинными именами и находятся в максимально неожиданных местах. Например, переименование файла находится в меню "Средства реорганизации кода". 7. Не умеет автоматически добавлять импорты, обязательно требует нажатия ctrl+space на каждый ебаный класс. 8. Постоянно куда-то проебывает документацию стандартной библиотеки js. Если подключаешь js-библиотеку с документацией - 90% вероятности, что нетбинс ее проебет и нихуя тебе не будет показывать. 9. Самый пиздец - это регулярное (раз в неделю по умолчанию вроде) обновление репозитория мавена. Оно может проходить сколь угодно долго. Я однажды около часа прождал. Стоит ли говорить, что выключить этот процесс невозможно, и работать в то время, пока он идет - тоже. Слава богу, хоть эта погань в настройках отключается. 10. Пидорасит jsx по страшному, несмотря на заявленную поддержку.
Единственная хорошая фича, которую я нашел у нетбинса - это возможность прямо из него без лишних телодвижений развернуть томкэт. Итог: сраный кусок тормозного, нестабильного, неудобного и кастрированного говна.
>>1002412 > не лез в java 8.0 только особо Лучше залезь - там много няшного: лямбды, стримы и т.п. И про EE изучи. > вообще не представляю как происходит работа над реальными проектами. На Java пишется довольно много веб-приложений например, с использованием таких фреймворков как Play, GWT, ZK, Spring и т.п. Погугли про тот же плей и поймешь, как и какие аппликухи пишутся на жабе. Вообще готовься к тому, что надо будет дрочить какой-нибудь фреймворк, а также HTML+javascript+jquery (для клиентской части). >Возможно ли такое найти при нулевом опыте? Да. Вообще как раз программисткая специальность (и в частности Java-программиста) хороша тем, что там много стажёрских вакансий, где опыт не нужен. Ищи.
Сап двачик, недавно начал вкатываться в джаву и решил запилить мини игру по туториалам разбирая её и догоняя по ходу, что к чему и вот уже на стадии создания модельки персонажа не получается реализовать метод setViewport, подскажите нубасу в чё чём ошибка, с меня как обычно нихуя (:
Анон, вчера я дунул и мне показали охуенную лекцию по Scala (как работают монады). Я был в ахуе. Всем, чем я занимался - полная херня и просто создание велосипеда.
С чего начать вкатывание в Scala? С Java знаком, писал на Spring, но не прямо лютый enterprise.
>>1003052 На сколько вообще это популярный язык? Вчера я подохуел насколько легко на нем написать все, что я делаю сейчас на работе. Однако вторая мысль, которая меня посетила - да пиздец же это тяжело обслуживать.
>>1003054 Если не упираться в монады, макросы и прочую лапшегенерирующую ебеню — самый продуктивный статический язык на жвм, спокойно поддерживается. Используется в тинькове, тумблере, твитере и ещё полусотне хипстерских контор, и просто топ 2 после питона язык для бигдаты и прочего анализа данных.
Если хочется больше прибитых к полу деревянных игрушек со странным синтаксисом и без библиотек — прислушайся к этому >>1003058
>>1003078 > без библиотек Лол, также ведь это ровно наоборот дела обстоят: скала - это отдельная экосистема, зачастую несовместимая с джавой. У котлина же 100% интероперабельность с джавой, никаких своих отдельных библиотек ему не нужно: просто берёшь и пользуешься библиотеками джавы. В одном проекте можно писать и на джаве и на котлине одновременно, вообще никаких проблем нет.
>>1003096 Конкретно с джава-библиотеками скала совместима точно так же как и котлин, и как бы тебе не мыли мозги евангелисты ЖБ, лозунг "В одном проекте можно писать и на джаве и на котлине одновременно" применим к любому ЖВМ языку. Суть везде в еле с системами сборки, не более.
>>1003078 >>1003058 Спасибо за мнения. Я просто вчера нормас этой концепцией зацепился. Меня уже дико заебало на работе рожать всевозможные костыли и прочее.
С чего начать Scala? Ну кроме очевидного hello world. И ещё поясните за фреймворк Play. Он вообще изначально для чего задумывался?
>>1003111 Инструкция по поиску фреймворков и прочего готового кошерного кода для любого изучаемого языка: гуглишь вот такие https://github.com/lauris/awesome-scala списки и смотришь. >И ещё поясните за фреймворк Play. Он вообще изначально для чего задумывался? Как монолитная залупа для всего, очевидно, ты сам знаешь какой фреймворк они пытались скопировать.
>>999054 (OP) Блядь как эта мерзкая наигранная шмара в хипстерских очоках доебала. Осталось дождаться пока андройд порашу смоет и можно будет заходить в раздел без отвращения.
>>1003140 У меня с эклипсом прям больших проблем не было за последний год, хотя конечно с идеи тяжело было пересесть. Какие у тебя проблемы с эклипсом? Обновиться до чего-нибудь более свежего чем Джуно или Кепплер пробовал?
>>1003188 > Version: Neon.3 Release (4.6.3) Я хуй знает, конечно, у меня тоже мнение предвзято, ибо я на Идее сидел и иногда нетбинсе. Но из последнего почему-то перестали подсвечивать ошибки, если скомпилировать, тогда все ок. Еще пресеты бесят, java/debug, ну и хоткеи непривычные, хотя их и поменять можно наверно. Да и вообще интерфейс не нравится.
>>1002925 >Лучше залезь - там много няшного: лямбды, стримы и т.п. И про EE изучи. Собственно там 3 вещи: 1. Лямбды - через класс с 1 методом 2. Стримы - обработка коллекций методами map, reduce и т.д., включая ленивую и параллельную, аналог LINQ без Expression Trees 3. Методы, имеющие реализацию внутри интерфейсов - при реализации можно взять готовую либо переписать (если вспомнить, откуда вообще взялись интерфейсы - крайне плохая идея, extension методы в C# лучше) + небольшие доработки стандартных классов
>>1003451 SQLite считается эталоном по покрытию тестами, 100% branch coverage, 100 MC/DC, код тестов на несколько порядков больше кода самого приложения. Там правда не Java, а C, а для тестов - Tcl: http://www.sqlite.org/testing.html
>>1003452 Тестирование позволяет быстро находить баги, уменьшая время отладки и соответственно разработки в целом. Логические ошибки в коде, допущенные по невнимательности, ловятся сразу же. Только многие почему-то ограничиваются юнит-тестами, а вот интеграционные не проводят.
>>1003484 Как по мне, так интеграционные тесты важнее множества юнит-тестов, если сразу писать нормальные тестируемые классы и юнит-тесты только на сложную бизнес-логику.
Анон, подскажи, пожалуйста, какую-нибудь книгу-статью описывающую новые тренды в аналитике логистического бизнеса.
Хотелось бы поиграться с этой темой. Задача такая: существует множество заказов. Каждый из них меняет свои статусы в зависимости от результата на каждом из этапов.
Сейчас единственный подход, который есть в голове - пересчитывать метрики, такие как сколько заказов дошли до конца успешно, сколько заказов не дошло, каждый час, записывая в БД, а потом предоставляя отчет.
Убого же, да? Как вообще построить охуенную аналитическую систему?
Жавач, пишу одну хуйню, и в ней надо грузить картинку в бд. Конвертирую в байты https://pastebin.com/LNgVScAD Так вот вставляю setBlob(1, new javax.sql.rowset.serial.SerialBlob(picture.getFile())); это строчка из метода, офк Тут все хорошо, в базе появляется инфа. Вот, теперь надо извлечь все это дело обратно. Извлекаю из базы picture.setFile(result.getBytes("File")); Пока все норм, что-то приходит. И вот тут я объебываюсь. В чем фишка, где я обосрался? image = pic.getFile(); Toolkit.getDefaultToolkit().createImage(image); //потом нихуя не кажет ImageIO.read(new ByteArrayInputStream(image)); // тут img2 вообще нулл
Берешь машину, ставишь на неё свое приложение. Берешь машину, ставишь на неё свое приложение. ... Берешь машину, ставишь на неё свое приложение.
Перед Машинами ставишь балансер/очередь/любой другой источник данных. И поехал.
Каждая машина берет из него информацию, обрабатывает и сохраняет куда надо. Пиши приложения таким образом, чтобы данные не приходилось синхронизировать.
Чтобы что-то подробнее написали - опиши задачу, которую ты собираешься горизонтально масштабировать, ибо, может быть, твоя задача все ещё решается вертикальным масштабированием.
>>1004120 Например, очереди типа FIFO, которые гарантируют доставку сообщения одному и только одному потребителю. Сообщение пришло, его взяла одна из копий твоего приложения и обработала. Другие копии даже об этом не знают.
>>1004149 как там в 20 веке, еще пишут софт для 2-ядерных ксеонов, соединенных через коаксиал в "распределенную систему"? Приходилось писать такое еще на Аде, но это никому уже не нужно, разве что в качестве лабы для 1-го курса.
Уже сказали тебе аноны - стателесс микросервисы. Или это не распределенная система по-твоему?
>>1004170 >Уже сказали тебе аноны - стателесс микросервисы. Или это не распределенная система по-твоему?
Нет, тупое ты животное, это архитектура предоставляющая возможность делать горизонтальное масштабирование (т.е. это можно делать на любом языке), вопрос был конкретно как делают это на джаве (какой стек технологий юзают и прочая информация в контексте джава экспирианс).
>>1004180 >Как (чем) в джаве горизонтально масштабируют приложение и как синхронизируют данные? Не маневрируй, или ты настолько туп что:
как, чем (каким способом, какими решениями) в джаве (в джаве КАРЛ!) горизонтально масштабируют (распределяют, масштабируют!) приложение (не твои скрипты, а полноценное приложение, демон/служба)! и как синхронизируют данные? (если это позволяет архитектура, то как? Например в EE)
>>1004194 Мс всегда подмазывал девелоперов, а для джетбренска это единственных хлеб. Бесплатно чтобы подсадить, а обмазаться - покупай.
Они лучше какого евангелиста подмажут, чтобы на конфиренциях IDE посвятил, или даже язык сделают для самопиара компании, чем тебе бесплатно что-то дадут годное
>>1004165 Всё просто - чтобы научиться и похалтурить для себя достаточно платформы и базовых плагинов. Если хочешь полноценно зарабатывать - заплати за DLC промышленные плагины.
>>1004243 Настоящий жабокодер должен любить сладкий хлебушек швабодку. А IDEA это для латентных спермохлебов, которые втайне мечтают о C# и Visual Studio.
>>1004272 У баз разный sid или service name (в строке коннекта он в самом конце). Если ты про две схемы в одной базе, то либо коннектишься к нужному пользователю, либо к таблицам обращаешься по schema.table_name (при этом должны быть права у пользователя под которым коннектишься).
>>1004336 Да не пизди. Большинство программистов на джаве и 60% community edition не используют, не говоря уже о Ultimate. Это как с фотошопом: большинству пользователей хватит функций бесплатного гимпа, но все хотят фотошоп.
>>1004352 >Стандартную библиотеку лучше вообще в блокноте учить Вот не понимаю. Материал ты лучше не выучишь, а времени будешь тратить больше. IDE подсвечивает синтаксис и все конструкции быстрее запоминаются. Она опять же указывает на ошибки, которые ты в итоге запомнишь и не будешь больше допускать. Так в чем же профит учить "в блокноте"?
>>1004366 Какой материал? От недоджуна требуют знания стандартной библиотеки, которую можно разве что гуглить и зубрить. IDE может помочь, но с большим успехом она потакает лени.
> которые ты в итоге запомнишь Оно так, только если ты разобрался в чём ошибка и сам её исправил, а не нажал на кнопку "сделать заебись".
>>1004385 >Какой материал? >Стандартную библиотеку Одной зубрежки недостаточно. Нужно еще и писать всякие калькуляторы. Нажимая кнопки "сделать заебись" язык не выучишь, согласен. Но если человек чмо которое не хочет учиться, то неважно что он использует - IDE или блокнот. Результата не будет.
На работе заставляют писать скобки в стиле Оллмана: if (<cond1>) { if (<cond2>) { <body> } } Прописано в Code Conventions корпоративного стандарта. Это правильно вообще? Ни в одном open source проекте для жабы такого стиля не видел. Писать тяжело, т.к. непривычно, читать тоже - код увеличивается в размере, короткие методы становятся большими (а другой пункт к тому же запрещает методы длиной более 30 строк).
>>1004398 писать правильно так, как принято в конкретном проекте или соглашениях в организации. Ну читать код ещё ладно, и правда непривычно, а писать - настроить IDE на автоформат, или гит-хуки сделать, чтобы все писали, как им удобно, а по гит-хукам автоформат бы проходил
Я все еще не могу совладать со вставкой пикчи в базу. Если загрузить в workbench'e, то картинка в приложении открывается. Значит, она хуево вставляется. Поясните, что не так. >>1004104 https://pastebin.com/LNgVScAD
>>1004398 У тебя на работе оборзевшие сисярподебилы, тащащие свое говно и проеб строчек в джаву. > Это правильно вообще? Пиши по java code conventions. На любые вскукареки тыкают лицом в стандарты сана и теперь оракла. Если упорствуют в сисярподебилии и трате лишних строчек, то вали от этих долбоебов. >>1004496 > писать правильно так, как принято в конкретном проекте или соглашениях в организации. В общем случае да. Но у Java есть конкретный законодательно закрепленный стандарт написания и форматирования кода. Он незыблем. И все корпоративные расширения должны расширять JCC, где надо. Но не противоречить ему.
>>1004708 пожалуйста, никто не мешает это сделать в комьюнити версии. Только удобной поддержки не будет, там комплишена для работы с Java EE, Spring, базами данных. Для научиться вполне подходит. Везде, где будешь стрелять в ногу, научишься находить ошибку, IDE не предупредит. По сути останется полезным только дебаг и автокомплит кода на джаве
>>1004572 А тебе именно в базу их позарез надо блобом сохранять? Вообще так не делается обычно, картинки а каталог сохраняются, а в базу кладутся имена файлов/ссылки.
есть три листа - Test, Quest, Reward (по сущностям) у каждого теста есть несколько квестов, у каждого квеста в свою очередь несколько ревардов. таким образом как в пасте собираю джсон из базы ( база - динамо дб) проблема сейчас в том, что запрос на такой полный джсон со всеми деталями ( 160 тестов, у каждого 2-3 квеста, у каждого квеста 2-3 реварда) уходит 5 минут. вопрос - или это сложность работы с базой, или тот код что в пасте надо распараллелить на несколько процессов? Заранее спасибо
>>1004951 Насчёт базы - ну можешь попробовать выполнить SQL запрос для одного теста (или как там у тебя) и проверить, нет ли в нём тормозов. А вообще да, код в котором для множества объектов идёт сложная сериализация с подсосом к базе лучше распихать по тредам для оптимизации. Попробуй сначала этот подход и проверь, насколько улучшилось время.
Чтобы ньюфагу начать изучать Spring, что перед этим нужно почитать? Начал с туториалов по спрингу, но они видать рассчитаны на тех, кто хоть какой-то тырпрайз на чистой J2EE пилил до этого.
Парни, будьте добры, помогите. Безмерно сильно желание полгать на джаве. Неделю уже залипаю в циклы и условия и нихерища их не понимаю. Точнее как. Понимаю но подзабываю постоянно. Мой максимум щас это создать массив, например и из него вывести все нечетные или четные числа. Экземпляры класса не понимаю почему то хотя имею представление что это. Киньте годнейшей литературы для обезьяны. Помоги ближнему своему, друг!
>>1005504 1. берешь простейший гайд с spring.io по типу REST Endpoint 2. тупо делаешь то, что там написано. если тут возникают трудности, то непонятно как у тебя хватило мозгов написать в этот трэд 3. радуешься, что уже есть реальное приложение 4. осознаешь, что познавать спринг можно еще много лет. лезешь по ссылкам. 5... 6. профит
>>1005533 Harvey Deitel - Java How To Program. - Охуенно теория написана, охуеннейшие примеры кода. После каждой главы - задания. Читаешь, разбираешь примеры, делаешь задания - охуенно понимаешь тему. Учил по ней. Всем рекомендую.
Head First Java, (2nd Edition) by Kathy Sierra, Bert Bates - Из шапки книжка. Для даунов на пальцах обсосано ВСЕ, чего она касается. Охуенные и прикольные примеры кода, веселые картинки - чего еще нужно, чтобы понять?
>>1005504 > но они видать рассчитаны на тех, кто хоть какой-то тырпрайз на чистой J2EE пилил до этого
Почитай про сервлеты до этого. Глубоко не въезжай, это тебе не нужно. Но это центральная тема веба под тырпрайзом. Поделай хэлло ворлды на них - не особо больше.
Главное - изучи объекты, классы, интерфейсы, которые там используются, как конфиги делаются. Что описывается. Все это будет и в спринге. Что-то явно, а что-то неявно.
Проблема с JavaFX приложением. На первом изображении показана выжираемая память с -xmx64m, всё прилично, на второй если я не ставлю ограничений, вопроса два, должен ли освобождаться не нужный heap size, почему он так и остается, спустя даже час размером с гигабайт, хотя приложение ничего не использует, если должен то как. И второй вопрос, если я поставлю -xmx64m, как избежать outOfMemory в случае чего? Как спрогнозировать и рассчитать необходимую память?
>>1006356 Добавил сборщика мусора, после затратных операций с построением таблиц, ситуация стала ещё тупее, было видно, что раньше он вызывался, но память не чистилась, сейчас он заранее вызывается, но память всё равно так и остаётся выделенной непонятно на что. Всё таки главным остаётся вопрос, как его ограничить так, чтобы не получился outOfMemory?
>>1006399 Меня волнует случай, что в планах сейчас сделать программу, которая будет обрабатывать большой объем данных после передачи их по сети, а остальное время простаивать и ей возможно будет необходимо совсем небольшое количество времени 1гб памяти, но остальное простаивать, я и интересуюсь, можно ли сделать heap size процентом допустим от используемой, чтобы он динамически менялся с used memory, на 10% например всегда был больше.
>>1006471 Никто этой хуйней не занимается, потому что это удар по производительности. Кроме того, если твоё приложение отожрало один раз N памяти, то оно когда-нибудь и второй раз отожрет этот объем снова. В случае, если память под кучу уже выделена, это не сулит никаких проблем. В случае, если лишняя память освобождена, её может не хватить при очередной необходимости и твой сервис упадет. Довод не то что бы железный, но достаточно ясно показывает, почему эти лишние телодвижения не нужны.
На случай, если ты лучше рантайма знаешь, как работает твое приложение, какие объемы данных обрабатывает и каких ресурсов ему достаточно, ты можешь указать рантайму лимиты этих самых ресурсов.
> в планах сейчас сделать программу Сначала пишется программа, а потом начинаются оптимизации. Обратное является разновидностью соплежуйство и деструктивно влияет на процесс разработки.
> которая будет обрабатывать большой объем данных после передачи их по сети Объем требуемой памяти далеко не всегда напрямую зависит от объема обрабатываемых данных. Иными словами, можно терабайты циферок перемолоть, зарезервировав для алгоритма сущие килобайты. Смотри на свои алгоритмы, а не на цифры в диспетчере задач.
Рекомендую тебе выкинуть хуйню из головы и делом заняться, пока не придешь к просветлению.
Такая херня. Делаю гуи на FX, и нужно сделать нормальный вывод картинки. Юзаю Canvas, потому что потом на нем еще рисую. Вопрос такой, как сделать возможность прокрутки и масштабирования? Ну, с масштабированием вроде понятно, а вот прокрутка хз.
>>1006924 Блядина, тебе сложно в двух словах пояснить как скомпилить jar? Я уже и парашную ИДЕ поставил, лишь бы тебе не пришлось много писать. Просто скажи как получить JAR и я съебу из этого треда навечно.
>>1006926 Всё, нашел и без вас, пидарасов. Какое же дно эта жява, пиздец просто. Как хорошо что мне только хеловорд нужен. Я бы умом тронулся писать на этом говне.
Всем привет, вот пример тестового задания, общий смысл такой: Разработать в тестовых целях простой распределенный сервис, для запуска которого предполагается иметь несколько (4 или 6, в зависимости от выбранного количества нод) контейнеров. Пусть 2(3) контейнера будут нести приложение, общающееся с внешним миром по HTTP, а оставшиеся 2(3) - базу данных этого приложения. Приложение лучше написать на Java (можно написать сервлет и запустить его в контейнере сервлетов Tomcat). База данных - любая, которая поддерживает multimaster-репликацию и с которой нетяжело работать из Java (выбрать самостоятельно, выбор обосновать). Сценарий использования такой: приходит запрос "положить в параметр v значение 1" или "дать значение параметра v", этот запрос прозрачно перенаправляется сервлетом к БД (пусть экземляр БД выбирается каждый раз разный, по кругу, как бывает в Round Robin DNS). Если экземпляр БД упал, то просто выбрать другой экземпляр по кругу.
Вопрос в чем: Работадатель хочет что бы ему написали архитектуру на халяву? Или это нормально?
Кстати, как-то предложили поработать удаленно, но для этого выполнить тестовое задание: написать блог со всей пердой кэшированием админкой и т.д. за день. Это норма вообще?
Почему для клонирования объекта говорят реализовывать интерфейс cloneable и переопределять clone() с вызовом метода через super. Почему нельзя просто в самом классе, который ты хочешь наделить копированием просто переопределить clone()?
>>1006956 Потому что Cloneable это еще интерфей-маркер, как Serializable. и если ты не имплементишь CLoneable, то просто получишь CloneNotSupportedException.
>>1006956 Аз да забыл, я собственно согласен с мнением на стеке: "This is one of the most badly-designed parts of Java. Usually, you should prefer using a copy constructor instead of using clone()." Хорошо зоть эжтот clone() - protected, уже намекает что это какая-то залупа.
>>1006973 но получу я исключение не потому, что это маркер, а потому что просто в клоне проверяется, реализует ли класс клонабл или нет. Или я не прав?
>>1007010 >>1007020 Маркер это маркер, исключение ты получишь потому что в Object::clone есть проверка на instanceof. Не используй Clone и забудь о нем, Serializable тоже старайся не использовать.
>>1007034 Дефолтная сериализация не эффективна. И это только первая из ее проблем. Сразу могу вспомнить что она не поддерживает версионирования. Вроде как еще какие-то уязвимости с ней, но это не точно и скорее всего это фиксится обновлением джавы.
>>1007102 Да, есть. Я буду продакт оунером и скрам-мастером.
Я хочу чтобы ты сделал рогалик во всем как дварф фортресс эдвенчур мод, только не дварф, а гном.
Приступай к поставленной задаче. При необходимости проведи анализ и декомпозицию. Ежедневный скрам-митинг в 9 утра. Завтра расскажешь что сделал сегодня и что сделаешь завтра. Приступай.
>>1007190 > за контейнеры, блять? Сервлеты я так понял, пишем 2 сервлета или что-то там и деплоим томкатом. Ноды хуй знать Сеньйора? Внатуре? Вообще показалось не так уж и сложно. На джуна только Core спрашивают штоль? Хуле тогда я сижу еблом щелкаю.
Почему System.getenv("HOME") в линуксе возвращает /home/user, а System.getnev("HOMEPATH") в шинде возвращает Users\user ? Как в винде получить абсолютный путь к хомяку?
Анон работающий, привет. У меня к тебе вопросы: как расти и развиваться в Spring + Hibernate? Что популярнее и востребованнее нынче - AngularJS или ReactJS? В данный момент читаю "Spring 4 для профессионалов", читаю гайд по PostreSQL. Спрашиваю потому что не знаю куда уже направлять свои усилия. Более-менее ориентируюсь в Spring и Hibernate. А на работу всё ещё как-то неохотно зовут.
>>1007508 определись для начала хочешь ли ты идти по пути фуллстэк или специализироваться на бэкэнде. везде свои плюсы и минусы. но в каждой команде есть негласное (иногда и более ярко выраженное) разделение ролей. слишком напрягаться на сопутствующих технологиях вроде БД я бы не стал. Основы знать надо, а детали узнаешь в боевой обстановке. Нет смысла читать много книг по БД, ведь ты же не на позицию админа/дев БД собираешься.
п.с. напиши пет проджект, который можно показать. для вменяемых людей это большой плюс, они увидят что ты уже можешь сделать сам
>>1007528 ну, я то хочу бэкенд. Меня прёт делать штуки, а не заниматься вёрсткой. Только вот в моей мухосрани какой-то пиздец по вакансиям. Пет проджект уже написан, это да. Штука действительно помогает. Намного чаще начинают перезванивать и приглашать на собеседования, но тем не менее. Явно надо куда-то съёбывать, но пока нет возможности.
>>1007695 сам хочу перескочить на спринг. сейчас заканчиваю очередной пет проджект на молодежном спринг клауд: микросервисы, стримы, амазон и все такое. надеюсь что найду что-то подходящее. ну а если вакансий мало, то идти надо от обратного: смотреть что они хотят и учить эти технологии/фреймворки (ну или написать что уже знаешь, если вытянешь потом)
>>1000105 Тебе нужно знать только спринг (ioc, data, security, mvc), JPA, JTX. Если ты норм спец, то адекватный работодатель закроет глаза на незнание какого-нибудь гвт, монги или че там у них еще.
Полезным будет прочитать Clean Code и научиться писать юнит тесты, если еще нет.
Как к готовому проекту на Java подключить систему сборки любую? Собирал с помощью Artifacts в Intellij IDEA но что-то неудобно подключать новые библиотеки.
Весь код лежит в такой чудесной иерархии. Я совсем всё неправильно делал?
Я запилил одну говнобазу MySQL, и работаю с ней через JDBC. Можно ли не трогая основной код, перепилить базу в какую-нибудь встраиваемую? какую? Гугл предлагает создать БД с нуля, но у меня есть скрипт и модель в тоаде, поэтому не хочется все руками делать.
Спрошу тут. Пишу ботов для вк, хощу на raspberry pi. На чем экономичнее их будет держать, на питоне или jvm? Сейчас они на питоне просто дёргаются по крону, работают и выключается в течение 30 секунд, в случае с джавой лучше будет запущенными держать?
>>1008386 Ну ей будет смысл быть все время включенной, только если она действителньо все время работает, но вряд ли ты заметишь разницу между питонов и джавой в плане производительности.
Кароч, есть старинная прога InClassTranslator для изменения захардкоденнных строк в .class файлах. Раскажите как он это делает/скиньте исходники/посоветуйте аналогичную программу для анализа Хочу перевести большой someApp.jar с кучей строк, но если пытаться дизассемлить ебала получается. Направьте меня на путь истинный.
>>1008478 В Java не шарю, дизассемблированный код выдает кучу ошибок. Потому и спросил про ту прошу и как она все это делает. Ведь в идеале надо все строки экспортировать, удобным образом перевести и импортировать в .class обратно
Интересует строка Timer t = new Timer(1000, super::greet); Вторым параметром нужно передать объект типа листнер. А мы передаем ссылку на метод родительского класса. Почему это вообще работает?
Сап джаваны, подскажите годноту по oauth. Надо в своей приложухе запилить авторизацию через вк. Совсем заебись если подскажите библиотеки для спринга. С меня как всегда.
>>1008853 Но внутри JVM они устроены одинаково? Зачем было вводить такое отличие и делать static method(Class) несовместимым с нестатическим Class.method() неясно.
Возможно, тут не конкретно в Java дело, в C# и C++ вроде так же. Но зачем? Только запутывает понимание, особенно при использовании всяких указателей/делегатов/лямбд.
Сап братцы. Поясните мне нубу, второй месяц вкатываюсь в Java, прошёл видео курсы от Javabegin, посмотрел все лекции по Java от мэилсру, прочёл Шилдта "Руководство для начинающих" от корки до корки, написал пару простеньких программ (аля миниигры, мп3 плеера, органайзера и т.д), так же освоил git, Sql. И собсна сам вопрос, что изучать дальше? Spring, или стоит перед ним ещё, что то изучить, почитать, и что делать после него. Понимаю, что я освоил лишь базу и ещё очень далёк от просвещения, но насколько я близок к вакансии ебучего джуниора? В общем, что посоветуете братцы?
>>1008960 Я с подобным бэкграундом (даже меньшим - трехнедельные курсы жабки, где изучил основы языка, базовые классы, сервлеты и JDBC) смог устроиться джуном. Но это в 2008 было. Погляди сейчас какие требования у джун-вакансий, варианты разные бывают, может и найдешь такую, на которую уже сейчас заслать можно. Заодно узнаешь, какие требования основные. А вообще c HTML/javascript/jquery у тебя как? На жабе много веб-приложений и от кандидатов могут ещё и это потребовать. Можешь ещё про паттерны всякие почитать - MVC например, просто для общего развития.
>>1008964 Года 2 назад пробовал сайт писать на HTML но занимался этим мб неделю, помню точно, что с ним нечего тяжёлого не было и синтаксис немного помню, но думаю подтянуть его не очень сложно, а вот с js и jquery совсем всё плохо. Думаю может стоит пойти на курсы какие или подучить ещё пару месяцев и пробовать заджунится.
>>1008960 Нужно хорошо знать Core, включая многопоточность, ввод-вывод, Stream API из 8-й версии и все стандартные коллекции (лучше с изучением исходников, они есть в архиве src.zip в каталоге с установленной JDK). Инструменты - обязательно владение системами сборки Maven и Gradle, системой контроля версий git (+ лучше и Mercurial), владение консольными командами java, javac и jar. Базы данных - нужно знать SQL, теорию и основные реализации (типа что такое транзакции и уровни изоляций), JDBC и Hibernate с аннотациями. Веб - сервлеты, REST веб сервисы, уметь настроить хотя бы Tomcat и деплоить на нем WAR приложения. Уметь создавать веб-приложения со встроенном сервером типа Jetty. Spring - большая тема, как минимум нужно знать Boot, CDI, MVC и Security. Также нужно знать front-end, сейчас это не только jQuery, но и ReactJS (а также с большой вероятностью webpack и Redux). В legacy проектах может потребоваться знание EJB, SOAP и XML/XSD/XPath/XQuery. К сожалению, я не знаю книги, где описывались бы все основные EE технологии, но можно посмотреть серию ...in Action, например, Spring in Action.
>>1009033 Да, и к вебу переходить, только когда уверенно пишешь десктопные приложения. Там все намного сложнее. Начинать лучше с сервлетов, деплоящихся на Tomcat'е.
>>1009033 >Также нужно знать front-end, сейчас это не только jQuery, но и ReactJS (а также с большой вероятностью webpack и Redux). И еще хаскелль, куда же без него?
>>1009033 > Также нужно знать front-end, сейчас это не только jQuery, но и ReactJS (а также с большой вероятностью webpack и Redux). Для джуна/стажера это всё же некритично я думаю, хватит и некоторых знаний JS/jquery, этого достаточно чтобы в ходе работы начать изучать реакт или аурелию (или что там в конкретном проекте используется). В плане контроля версий знаний SVN и гита в 99% случаев хватает за глаза. Мавеном и прочим если что очень быстро научат пользоваться и на работе.
>>1009190 на моём первом месте работы вот так пользовались Apache Wicket + спринг + самописный ад вместо нормального орма. Всё это как-то функционировало вместе. Пришлось учить викет, EJB, SOAP и всю эту прочую поебень. После того, как я заебался мигрировать их legacy проекты со второго спринга и wicket 1.4 на современные версии, я успешно от них съебался. Никогда не знаешь, что пригодится даже на самое первой работе
>>1009548 Пиццевозы и школота с жабораша нахлынули, прознав о "самых высоких зарплатах". В итоге теперь и зарплаты стали меньше, и требования выросли. В .NET вкатиться проще, например, достаточно пары проектов на github'е.
>>1009436 > Сейчас отсев в Java жесткий В крупных конторах - возможно. В других нанимают если ты в состоянии && от || отличить и вложенный цикл написать, потому что научить сносный код на джаве писать сейчас можно за год.
>>1009828 >В других нанимают если ты в состоянии && от || отличить и вложенный цикл написать Ну-ка приведи пруф такой конторы. Только чтобы не в ДС и оклад не 20к.
Я с 3 годами опыта не могу найти на жабе работу, не надо мне сказки рассказывать. Если бы не .NET (динамической скриптопарашей брезгую), давно бы умер от голода.
Вообще где-то с 2012 года наступила жопа. Раньше брали всех, кто знал синтаксис и мог написать и деплоить сервлет с HeloWorld'ом на Tomcat'е. А если знаешь SOAP, криптографию, JNI - вообще принимали без вопросов. Золотое время было... Но я как полный мудак смотрел аниме на работе и проебал по срокам важную задачу. Сейчас же скоро Hadoop начнут ставить в обязательные требования.
>>1009830 Меня так наняли. Французская контора, сижу джуном год. Тест на первом собеседовании прошел на 16/30 с мультитредингом обосрался. Чем тебе пруфать?
>>1008459 В общем, анон выше накидал ссылок, и в одной из них предложили использовать BCEL. Осталось попробовать на готовом приложении, держу вас в курсе.
Здравствуйте. Может ли кто-то объяснить зачем нужен <? super X> синтаксис? Я очень тупой, уже столько перечитал и до сих пор не понял. Почти гуманитарий. Так для каких ситуаций нужно гарантировать, что объект будет от Oject до X?
Братцы, хочу попробовать написать игру на джаве, но есть проблема, я не могу понять как правильно анимировать спрайты к примеру которые на пикрил, подскажите годную литературу или видосики можно на ангельском.
Какие задачи можно решать с помощью явы? Что могут доверить джуну? Я так понимаю, что под десктоп ты не напишешь ничего. Реализовать полностью веб-сервис как на шарпе тоже не получится, наверное. Ну и что нужно знать, чтобы в катиться джуном в этот дивный мир? ДС
>>1010787 Как вы заебали уже, а. >Какие задачи можно решать с помощью явы? Вот что это за вопрос вообще? Что конкретно ты хочешь узнать? Вопрос ради вопроса, лишь бы спиздануть, блять.
>>1010669 /gd Там есть тред libgdx. А если на сырой джаве, то, скорее всего, объект анимации будет представлять собой контейнер для последовательности спрайтов (циклический список) + ссылка на текущий спрайт + переменная для задержки между спрайтами. При рендеринге твоей игры ты берешь ссылку на текущий спрайт и отрисовываешь его. Смену текущего спрайта можно делать по-разному: по таймеру или руками при расчете логики сцены. Может быть, я не прав, но я так пилил анимацию в универе при написании прототипа простого платформера.
Джаваны, тред не читал, поясните мне немного за IDE. Попробовал вчера Android Studio, так мне внезапно очень понравилось после Эклипса. Нагуглил, что Idea почти такая же, тоже от JetBrains. При этом также нагуглил, что бесплатная версия не содержит всяких удобных плагинов и утилиток. Вопрос у меня такой: можно ли будет нормально (то есть с генерацией нужных файлов/автодополнением, а не еблей руками) писать на бесплатной версии программы со всякими Spring, Hibernate, и т.д., или же стоить спиратить?
>>1010798 На шарпе можно в десктоп. Ява в десктоп не может с ее ебанутым гуем. На асп можно дохуя чего придумать в вебе. Что на яве то можно. Нихуя не понимать я
>>1010827 во-первых, не ява, а джава. гуй у джавы вполне нормальный, я пробовал javafx с fxml-разметкой, ничего удобнее ещё не видел. просто десктоп слишком маленькая сфера, ща всё в вебе не ебу чё там в аспе, но джава - это в первую очередь веб. это её конёк
Аноны, а если я хочу вкатиться в яву, то 8(!) издание Хорстаманна подойдет? Или же надо искать только 9, в худшем случае. Может кто-нибудь знает толковую книгу для новичка в яве по SE 8?
>>1010862 кор хорошее понимание ооп (понимание того, как его применять, а не просто что есть наследование и т.д.) базовые паттерны коллекции (понимание, как работает всё внутри, подебажь исходники коллекций ради интереса) базовая многопоточность (туториалов от оракла достаточно) основы sql spring (если на работе ejb, то быстро вкатишься, всё то же самое) jdbc, hibernate потыкайся в какой-нибудь шаблонизатор, типа jsp или thymeleaf какой-нибудь можешь ещё пройти туториалы по angularjs, чтобы понять отличия рендеринга страницы на бэке и фронте
junit, tdd будет большим плюсом
перед собесом нужно сделать свой пет-проект (простенький crud, сильно не вылизывай его), в котором продемонстрируешь владение spring, hibernate, фронтом
из книг Spring in Action, Hibernate in Action наверни.
всего этого более чем достаточно, будет лучше 95% стучащихся на позицию джуна
>>1010944 Никто не захочет писать под твой фреймворк, а времени у тебя уйдёт дохрена. Тут уже кто-то вспоминал C++ммиста из поколения 1975-77 гг. напийсафщего свою STL.
>>1010956 Да эт для себя пет-прожект скорее. И Unsafe внутри него сидит, как во всяких спарках. Потом можно будет на VarHandles переписать. Не клепать же веб в качестве пет-прожектов, этого говна и на работе полно. А будет ли фреймворк популярным или нет - поебать, я скорее про какие-то трудности при использовании Unsafe спрашивал.
>>1010965 А поконкретнее? Почему орм мешает? >>1010964 О, ебать, можно хуиту с миграциями сделать, чтобы хранимые процедуры в jpql писать. Ну или что-то вроде, надо подумать.
>>1010969 >А поконкретнее? Почему орм мешает? 1) Взаимодействие с базой - самое ответственное и самое тормозящее действие. Очень недальновидно доверять это автогенератору запросов. Только если ты не любишь поебаться 2) орм исходит из ложной аксиомы, что твои объекты плоско мапятся на таблицы. В большинстве случаев это не так
>>1010972 >1 Поэтому Unsafe, ебана. Хочу быструю орм. >2 95% случаев уже разрешено костылями в JPA, если немного их понятнее сделать, то получится норм в принципе. >>1010971 >>1010973 Зачем вообще логику держать в бд, мазохисты? Потом же с миграциями ебаться и ебаться надо.
>>1010978 >Зачем вообще логику держать в бд, мазохисты? Даже книга есть такая, «Человеческий фактор». >Потом же с миграциями ебаться и ебаться надо. Ну а тогда с расползающимися по всему проекту простыми запросами надо.
>>1010978>>1010979 >Зачем вообще логику держать в бд, мазохисты? Даже книга есть такая, «Человеческий фактор». Я имел в виду, чтобы облегчить задачу поддержки бизнес-логики, вот зачем.
>>1010978 >Хочу быструю орм. запрос уровня "хочу коробку автомат, которая будет лучше ручки". ОРМ всегда будет костылем, скобы "упрощающим" работу. Что там писал каталог-кун про современное программирование?
>95% случаев уже разрешено костылями в JPA из недавнего - хибернейт не поддерживает json поля. Пришлось ебаться. Или тебе нужна ебля ради ебли?
>Зачем вообще логику держать в бд, мазохисты? наследие времен двухзвенки
>>1010980 >>1010979 Ну это известная проблема в тырпрайзе, прост не нужно спринги всякие использовать, которые пытаются делать все, надо простые мелкие фреймворки тупо под свои задачи брать. Тогда и бизнес-логику можно четко выделить и инфраструктурную часть.
>>1010982 ОРМ значительно упрощает масштабирование и позволяет писать меньше бойлерплейта (внезапно). На первой моей работе был легаси-модуль с sql-запросами в базу, который вдруг понадобилось расширять, тогда из двух стульев я выбрал орм, уж лучше поебаться немного, чем писать кучу бойлерплейта. Бтв, какие еще у тебя проблемы были? Мне на будущее.
>>1010990 1) Обновление всех данных, даже которых не нужно. Например было поле "статус", и оно перезатиралось после нажатия кнопки "сохранить" в интерфейсе. Нужно жестко настраивать, какие поля и когда можно обновлять. Через sql это конечно проще 2) Нужен слой конвертеров, которые преобразуют DB Entity объекты в DTO объекты. Это огромное потребление памяти. Сделал заполнение этих dto руками - потребление памяти упало вдвое 3) Я так и не смог добиться Lazy от отношения один к одному. Эта сука постоянно делала отдельный запрос для заполнения этого объекта 4) Хуй проссышь какие запросы генерятся. Ибо их очень много и они малоинформативные 5) Нельзя взять запрос и проверить его работу в менеджере БД 6) Если нет плоского маппинга объектов на таблицы - начинается БОЛЬ 7) Практически невозможно делать более-менее сложные запросы, или например аналитические запросы, всевозможные группировки
>>1010999 Ух ебать, впереди много работы лул. >>1011021 Сорян за тупой вопрос, но его можно отдельно подключить без спринга? Я прост не большой его любитель.
>>1010837 из java fx даже доступа к области уведомлений (аки трею) не получить, для этой задачи лучше сделать набор костылей на AWT. Не в курсе, что там с джавой 9 правда, может и поменялось что Хотя, конечно, писать на javafx достаточно удобно, если понимать его mvc, в который новичкам сложно
>>1010824 Можно, автокомплит по методам классов будет. Остальное в большинстве случаев не будет и нахуй оно и нужно. И если что, использование бесплатной Community Edition в коммерческих целях противоречит соглашению, так что если для работы то что ты пиратишь, что юзаешь бесплатную - всё равно лицензию нарушаешь
>>1010999 >менеджере БД Ну вы таки посмотрите на этого мамкиного анархиста. Понаписали фреймворков своих, дураки! Вот я им сейчас покажу как надо! Джава коммьюнити прошла путь JDBCTemplate => JPA => Spring Data не просто так. Никому неинтересно тратить время на муторную однотипную SQL писанину, поэтому и был создан концепт ORM. Если без философии, то просто откройте первые десять вакансий по Джаве и посчитайте в скольких из них встречается требования по ORM. Советую просто разобраться в сложных моментах вместо того, чтобы использовать подходы из прошлого века. Иначе в команде работать не получится.
п.с. настрой логгирование запросов - увидишь весь SQL, который можно "проверить в менеджере БД".
>>1011361 >Джава коммьюнити прошла путь JDBCTemplate => JPA => Spring Data не просто так. Быдло долбится в стену, не видя двери. Для быдла выпиливают люк. >Никому неинтересно тратить время на муторную однотипную SQL писанину, поэтому и был создан концепт ORM Хуясе заявление. НЕИНТЕРЕСНО. Нужно решать задачи бизнеса, и не играться в очередные дилдаки и серебрянные пули >Советую просто разобраться в сложных моментах Команда этих моментов тоже не знает. Бодишопы просто забивают, ибо поддерживать и развивать продукт не им. Для бодишопов главное побольше умных аббревиатур впихнуть и накалябать чтобы кое-как крутилось на тестовых запросах >п.с. настрой логгирование запросов - увидишь весь SQL, который можно "проверить в менеджере БД". Там будет огромная портянка из блевотного дриста. И хуй разберешь какой дрист к чему относиться и как его исправить
>>1010999 >1) Обновление всех данных, даже которых не нужно. >Например было поле "статус", и оно перезатиралось после нажатия кнопки "сохранить" в интерфейсе. >Нужно жестко настраивать, какие поля и когда можно обновлять. Через sql это конечно проще Проблема неосиляторов. >2) Нужен слой конвертеров, которые преобразуют DB Entity объекты в DTO объекты. Это огромное потребление памяти. Сделал заполнение этих dto руками - потребление памяти упало вдвое Проблема байтоёбов. >3) Я так и не смог добиться Lazy от отношения один к одному. Эта сука постоянно делала отдельный запрос для заполнения этого объекта Проблема неосиляторов. >4) Хуй проссышь какие запросы генерятся. Ибо их очень много и они малоинформативные Проблема неосиляторов. >5) Нельзя взять запрос и проверить его работу в менеджере БД Проблема неосиляторов. >6) Если нет плоского маппинга объектов на таблицы - начинается БОЛЬ Проблема ORM. >7) Практически невозможно делать более-менее сложные запросы, или например аналитические запросы, всевозможные группировки Проблема ORM.
>>1011363 Дартаньян. ORM как раз и решает проблемы бизнеса, а не тратит время на писанину. Дартаньян. Неосилятор.
>>1011369 Осиляторство это знание каждой скрытой грабли и костыля наизусть? И для чего? Чтобы использовать проблемную и ограничивающую возможности технологию? Ебаные ёжики
>>1011363 >Там будет огромная портянка из блевотного дриста. И хуй разберешь какой дрист к чему относиться и как его исправить Я в таких случаях копирую запрос, вставляю в dbeaver, форматирую, переименовываю имена и всё. делов на минуту
>>1011392 Там может быть несколько запросов на одно jpa действие. Например eager зависимости оно подтягивает отдельным селектом. И там будет куча таких вот селектов и хз к чему они относятся
Посоны, можно ли сделать, чтобы ембеддед sql бд, работающая в ин-мемори моде, была общей для всей JVM, а не создавались новые инстансы бд для каждого соединения?
Попробовал H2 и sqlite - если в одном соединении создать таблицу, то другое соединение не видит эту таблицу в селекте.
>>1011754 конечно, это же лучшая IDE под жаву, ну может сливает Visual Studio Code на простых проектах где не нужны рефакторинги частые. Не Идеей же пользоваться
Handsome Duce: »999054 Помогите разобраться со следующей проблемой. Имеется несколько классов enum, допустим: A, B оба реализуют маркировочный интерфейс Marker.
public interface Marker{}
public enum A implements Marker{ TEXT }
public enum B implements Marker{ ANOTHER_TEXT }
Далее имеется класс с обобщением вроде: public class Test <T extends enum<T> & Marker>{
//some fields
private T category;
//gettes-setters-constructors }
Соответственно при создании объекта через new ограничение по типу перечисления срабатывает. Но вот когда дело доходит до Спринга и создания бина через xml - совсем прекращает работать адекватно. Смоделируем ситуацию что имеется ещё один enum: NotExistEnum , не реализующий интерфейс Marker.
или даже вот так: <bean id="test" class="Test" p:category="#{T(NotExistEnum).FAKE}"/>
Пытаемся создать экземпляр класса с таким значением ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("Spring-app.xml"); Test<A> test = (Test<A>) context.getBean("test");
И эта ебала отрабатывается не бросая никаких исключений, значение присваивается как будто и не было никаких ограничений. Экспериментируя с ограничениями - результат одинаковый, разве что <T extends Marker> даёт нужный эффект, но исчезает логика enum-ов в таком случае. Как считаете коллеги, в чём может быть проблема? Через аннотации всё прекрасно работает при этом.
>>1011959 Авотхуй. Сто хуев в сраку тому, кто написал точно такое же на SO вчера вечером.
Работают в пределах одного соединения, если идентификатор базы не указать в url (каждый раз новый экземпляр). Если же указать, то инстанс живет в пределах жизни jvm.
Embedded Mode In embedded mode, an application opens a database from within the same JVM using JDBC. This is the fastest and easiest connection mode. The disadvantage is that a database may only be open in one virtual machine (and class loader) at any time. As in all modes, both persistent and in-memory databases are supported. There is no limit on the number of database open concurrently, or on the number of open connections. http://www.h2database.com/html/features.html#connection_modes
Кто-нибудь работает с хайбрисом? Как он вам? Сейчас прохожу трейлы по нему и жутко заебался, хочу обратно няшный голый спринг. Понимаю, что в хайбрисе куча всего готового из коробки, но сколько в нем лагов и нервотрепки, просто ужас...
>>1012087 > SAP > для тех, кто вынужден его использовать (как разработчик, админ или пользователь - в любом виде), а не для тех, кто получил жирнющий откат от Сапа за внедрение Сапа себе в компанию :)
> но сколько в нем лагов и нервотрепки, просто ужас... Ну хули ты хотел от управляемой не коммьюнити, а менеджерами тырпрайз разработки? Где менеджеры на самом деле в рот ебали конечного клиента, IT и даже логику, т.к. их главная задача не в этом, а в оправдании собственной нужности, выражающейся в регулярных вскукареках "а давайте сделаем так, как я только что придумал!" в которых главная цель в принятии их вскукарека в продукт, тем самым доказывая свою "нужность" и по максимуму в выбивании жирных премий, если проект, против всего, кое-как выкатился в релиз и нашел первого пользователя (которому нассали в уши продакт менеджеры). И где разработчики индусы, которым похуй что и как писать лишь бы платили, и чем дольше, тем лучше (в идеале на протяжении жизни).