Шапка треда https://github.com/qqqlll/Java-Thread/wikiПредыдущий тонет здесь >>755953 (OP)
>>767615 (OP)Откуда видеослайды?
>>767676Нашел.
Макаки, пишущие на мёртвом языке перекатили тред? Ну и замечательно, сидите тут.
>>767694Ты ошибся тредом, тебе в .NET
>>767676https://www.youtube.com/watch?v=kLO1djacsfgВесь видеоряд не уместился в лимит.>>767694Следишь за нами?
>>767699А что является оригиналом?
>>767703Ой бля я поц, это для конфы снято.
>>767694А чё это он умер?
>>767615 (OP)Какая классная вемка, где вы это берете?
>>767710Литерали>>767699
>>767705Потому что сишарп.
>>767714а почему они такой ролик сняли?
>>767720Для конференции. http://hot-digital.ru/2010/06/java-movie-java-4-ever/
Это тред отсоса дотпетушков?
>>767723wew там еще и полный фильм будет.
Почему Java лучше C#? Или наоборот.мимо ньюфаг
>>767729потому что шарперы пишут под сперму, а сперма - не тру.
>>767731И всего-то?
Какие годные книги есть для совсем ньюфага, после прочтения которых можно будет сделать розовый калькулятор под андроид?
>>767729Потому что сишарп это пиратская версия Java. Microsoft посмотрело на Sun, посмотрело на Java и платформу JVM, и захотело также. Но чисто Java использовать не по-пацански, поэтому они запилили C#, попутно проебав переносимость и тем самым проебав тырпрайз сектор, который по значительной части или ебал Windows, или ебал C#. >>767735В андроид тред, там инструкция.
>>767735https://github.com/qqqlll/Java-Thread/wiki/AndroidВ шапке все есть.
>>767731Почему виндовс это сперма?
>>767769Ньюфаг штоле? Виндавс эта МАЗДАЙ.
>>767580>>767600hibernate.cfg.xml нет у меня, анотации и jpa.Вот persistence и контекст
Жетбрейнсы, вы сидите здесь, я знаю. Какого я не могу поставить плагины на идею? Ноджс встал нормально, а скала и го не устанавливаются. Начинается загрузка, идёт некоторое время, а потом падает и пишет "Не удалось получить плагин по адресу ---, ответ 200". Захожу на этот адрес браузером - предлагает нормально скачать архив. Можно как то скачать этот архив вручную и бросить в каталог идеи для последующей установки?
>>767775Выруби hbm2ddl нахрен и он не будет пересоздавать твои объекты бд.http://stackoverflow.com/a/3179948/4900642
>>767779Блятьямудакпиздецсука. Изначально был один конеткст, пока разбирался как оно работает. Потом разбил по слоям с импортами. И сейчас несколько дней ебался с конфигурацией ентитименеджера в дао слое, но в веб слое старую не удалил и только замеитил. Пушка.
Джаваны, а дайте линк, где можно хорошо научиться фп-фичам восьмой Джавы - лямбды и Stream API, чтобы можно было писать йобы как здесь: >>767042Только чтобы нормально было, а не "в этой статье мы напишем как анонимные внутренние классы менять на лямбда-выражения".
>>767615 (OP)Обоссал жабистов за шапку.
>>767729Потому что на JVM пишут в Clojure/Kotlin/Scala/Groovy, а в .NET популярен только C#.Жабка то сама по себе та еще параша.
>>767615 (OP)> ОП-видосРазменял батю на пизду на велосипеде. Так мог поступить только джава-пидор.
>>767843> джава-пидорНо ведь в данном случае как раз-таки Джвава-натурал получается.
>>767814Есть хорошая книга -- Java 8 in Action.
Java такая охуенная, что я не могу на ней писать. Только заглядываю в документацию, как обканчиваю монитор, иду курить, а затем без сил падаю спать.
Не знаю где спросить, спрошу тут, так как интересует решения на джаве.Вообщем суть такова:есть клас Screen1, Screen2, Screen3 итд и есть клас GUIBuilder где я планирую насоздавать всякие типичные кнопки, лейблы, графику к ним и их поведение. Так вот как мне сделать так, что бы использовать только один екземпляр класа GUIBuilder, что бы экономить память, а не писать в каждом класе такое:class Screen1 { GUIBuilder builder; public Screen1 (){ builder = new GUIBuilder;}}class Screen2 { GUIBuilder builder; public Screen2 (){ builder = new GUIBuilder;}}итд, как я понял при этом создаются много экземпляров, так как там графика, то все может быть довольно плачевно.Что то слышал о синглтоне, но так и не понял поможет ли оно мне.
>>767932проебал скобки, но не суть
>>767932Dependency Injection.
>>767950И да, синглтон сам по себе (т.е. без DI) поможет. Но тогда придётся класс гуйбилдера проектировать соответствующим образом.
>>767814http://erlang-mnesia-video.ru/
>>767814А если без шуточек то я учился по вот этой книжке https://www.amazon.com/OCP-Certified-Professional-Programmer-1Z0-809/dp/1119067901там не очень уж и подробно, но базовое понимание дает, остается только подгуглить иногда
>>767932http://projects.spring.io/spring-framework/
>>767951>>767950Спасибо начал читать о DI, походу это сложнее чем синглтонТак подойдет, переписал с вики с добавлением своего кода:class GUIBuilder { MyButton btn1, btn2; privat GUIBuilder () { btn1 = new MyButton ("GO!"); btn2 = new MyButton ("STOP");} private static final GUIBuilder instance = new GUIBuilder(); public static GUIBuilder getInstance() { return instance; }}Я не совсем понимаю как это далее использовать, так что ли?GUIBuilder.getInstance.btn1то есть например так:class Screen1 {public Screen1 (){ this.add(GUIBuilder.getInstance.btn1);}}
>>767971Для начала и так сойдёт.Везде, где тебе нужен экземпляр GUIBuilder'а, используй GUIBuilder.getInstance().
>>767973Понятно>>767966Спасибо, в будущем попробую это прикрутить к проэкту.
>>767971Отложи сейчас в сторону код на пару часов, скачай Spring in action 4th edition и прочитай первые 3 главы. Нинада синглтонить руками, тем более код не оптимальный.
Скажите, а обязательно обмазываться хибернетом и спрингом, чтобы быть жава девелопером? Я туториал пробежал глазами, там столько букав, все эти рестфул штуки.
>>767854У неё кадык и отсутствующая талия
>>768038> Я туториал пробежал глазами, там столько букав> чтобы быть жава девелоперомОткуда вы лезете?
>>768038Либо это, либо андроид.
>>768052бля
>>767911>>767963Спасибо.
>>768052а на чистой жаве низя писать? с мвк и паттернами для бд?
>>768190Сколько тебе лет?
>>768190нельзя, грешно
>>768198чому?>>76819711
>>768267Потому что.
Не подскажут ли здешние джентльмены способ конвертирования char в константы KeyEvent? Пишу адаптер к геймпаду, который через Robot нажимает на клавиатурные кнопки, хочется запилить текстовый конфиг для легкости настраивания. Пока додумался только до функции, которая будет смотреть на символ и подставлять вместо него число.
>>768351Предварительно заполнить Map<Char, KeyEvent> и при надобности в неё заглядывать.
>>768351Посмотри на KeyStroke и AWTKeyStroke.
>>768359Лучше, да, но все равно придется писать функцию на ее заполнение.>>768384Там много куда можно посмотреть. Только как закодировать стрелки, их же не запишешь в файл.
Скопирую из ньюфажеского треда. Дискас.Библиотеки в Java разные, и то что потрачено миллиард мегачасов - это правда, вопрос - всегда ли это хорошо. Многие библиотеки писались сто лет назад, с целью "шоб было", и по остаточному принципу ("для ассортимента"). Получились переусложненными, кривыми, полурабочими, но сделать с этим теперь ничего нельзя, потому что в мире гигатонны кода, уже завязанного на них.Основная проблема жабы - что она проектировалась идеологически подкованными людьми и изготовлялась людьми по найму. Т.е. проектировали ее согласно руководящей линии, а делали для дяди и побыстрее. В результате какой-нибудь грегорианкалендар гибок до бесформенности, зато keystore.jks и cacerts.jks а)одни на все приложение б)прибиваются гвоздями при старте. Сервлеты и регексы, например, делали люди, которые про них, видимо, старательно прочитали, но а)сами их не использовали и б)сами использовать написанное не собирались. Про такие закидоны можно рассказывать долго - например, когда отдается xsd для wsdl, отдается не тот, который надо, а тот, который первым попался; пути к .xsd в .jar прошиваюстя целиком, и есть специальный параметр, указывающий, что от пути отрезать, чтобы получить путь в .jar'е к правильному .xsd. А так как у нас 21 век и уникод, то русские имена файлов лучше не надо; нетбинс же старательно пытается уложить все проекты в "Мои документы". Очень изящно получается, особенно если учесть чрезвычайную расплывчатость и невнятность жабьих сообщений об ошибках.Всё что есть хорошего в Java называется JavaEE (это не значит в JavaEE все хорошо, однако вывод не-EE Java полностью бессмысленна, возьмите что угодно другое будет недалек от истины). Самое симпатичное находится в области JPA, JTA, JMS и JDBC. Это не означает что там какие-то невероятные охуенности, только то что делали их умные люди и делали без выдрыгонов - в результате оно есть и оно работает. Ничего сногсшибательного, никаких затей (уточнение - это на поверхности, внутри там если разобраться, особенно в районе JTA, происходит заметное количество штук, напоминающих то как Остап играл в шахматы - если иному народу расссказать, какие замысловатости происходят во время работы их кода - он, народ этот, не верит и сомневается), зато все есть и все как надо.Но если у тебя веб-сайт на коленке, тебе все это не надо. Понимание зачем это надо и почему на ровном вроде бы месте столько странных телодвижений, можно будет к моменту когда веб-сайт на коленке разрастется в нечто плохо-понятное с кучами подсистем и выяснится что RabbitMQ это вообще не MQ, а распределенные транзакции и Оракел от молодежных CQRS и Монгов отличаются тем что работают. К этому моменту появляются многие понимания, например того почему работающих менеджеров транзакций на свете всего три штуки, и все они стоят очень пиздецатых денег. Но большинству этого всего не надо, и Java им не нужна, и мучаются они с ней совершенно зря.
>>768434А что обсуждать? Какой-то эмоциональный высер человека слабо разбирающегося в теме и не способного сформулировать мысль.
Господа! Кто что использовал для отчетов и прочей бизнес интеллиженс (BI)?Есть как минимум 3 стула (Jasper, Birt, Pentaho).Почитал про Jasper, прикинул хуй к носу и эфорт на его деплоймент, поддержку и тп и чет приуныл. Идея с наличием генерирующего сервера мне нравится (это мне тащемта необходимо) , но хули в jasper все так запутано и через 33 пизды? Может кто альтернативы знает?
>>768517Приходилось работать с SAP Business Objects и IBM Cognos. И то, и то квинтэссенция лютейшей ссанины. Если есть возможность, то используй ms sql reporting services.
>>768527К MS-стеку не могу привязываться в текущей задаче
>>768390Тогда тебе не char2KeyEvent нужен. Юзай сразу имена констант, VK_SHIFT, VK_LEFT и пр. На чтение файла в константы переводи рефлексией, в мапу сохрани.for(Field field : KeyEvent.class.getFields()) { int mod = field.getModifiers(); if (Modifier.isStatic(mod) && Modifier.isFinal(mod) && field.getName().equals(...)) { ... }}
>>768643>На чтение файла в константы переводи рефлексиейКошмары по ночам не мучают?
>>768701Я днём сплю. Норм.
Начал читать Java 8 in action и обкончался.
>>768851Продолжай https://github.com/cxxr/better-java
>>768643>FieldТо, что нужно, не знал о нем. Спасибо.
>>768860> Instead, I prefer the C struct style of writing classes that merely hold data:> public class DataHolder {> public final String data;> > public DataHolder(String data) {> this.data = data;> }> }> better Java
>>768860> I dislike heavy ORM frameworks because I like SQL. So I wrote a lot of JDBC templates and it was sort of hard to maintain. jOOQ is a much better solution.jOOQ is ok. Но пушка про ORM пушка. На уровне того дба-обоссанца из прошлого тренда.Пускай забирает свою лучшую джаву с собой и никому не показывает.
>>769108>>769111Попиздите мне тут.Чем меньше в жабе от жабы, тем она лучше.Поэтому и jOOQ чуть меньшее говно чем большинство ORM.
>>769114> инкапсуляция не нужна> мутабельность доменных объектов не нужна> ORM не нужно> стандартизация кода, кстати, тоже
Jаваны, посоветуйте хорошую легкую прогу для подсветки синтаксиса, изучаю сорсы разных прог на досуге, но ждать пока idea прогрузится, создаст проект для одного vasyan.java заебывает. Реквестирую утилиту с охуенной и приятной глазу подсветкой синтаксиа, желательно чтобы были окошки полей и методов класса и в идеале инлайн форматирование javadoc.
>>769153Nodepad++ синтаксис java поставь.> но ждать пока idea прогрузитсяПетуханы, там NetBeans прогрузился (с). Идея грузится долго при старте. Другие проекты открывает быстро. Открой идею и минуту скролль двощ. Потом не закрывай. Или измени параметры JVM идеи и увеличь память - загружаться будет быстрее.
>>769156Кстати кто-нибудь знает в идее включена валидация ее class файлов?Слышал что если ее отключить (какой-то ключик есть), то любая тяжелая Java программа будет загружаться в разы быстрее.
>>769153Вут, не стильно, не модно, не молодежно.
Как защитить файл.класс от декодирования?
>>769181Компилировать в натив?
>>769181Платные обфускаторы, но 100% защиты не будет.
>>769153>>769156А есть легковесная IDE типа блокнота, но с автодополнением? Пытался vim настроить, но не вышло ни хуя.
>>769183>>769187А можно запихнуть в ехе бат? И затем выполнить его да и только?
Зачем идея и андройд студия везде пихает Override аннотации? Для удобства пользователя или так нужно[\i]?
>>769191Вроде по джава-стандарту (иначе даже обычная джава будет ворнинги писать).
>>769191Потому что в Java есть annotations. Служат разным целям. Конкретно @override говорит, что метод оверрайдит родительский метод и проверяет соответствует ли сигнатура метода родительскому.
>>769190https://2ch.hk/pr/res/749121.html
Кто-нибудь проходил жавараш?http://javarush.ru/sale.jsp?gclid=CNaemf61p80CFSTjcgodun4FzgСайт-то у них говенный и криворукий, конечно, я бы не доверил людям, не могущим сделать красивый сайт, свое обучение, но все же спрашиваю, может кто-то там учился?
посоны, есть кодfor (int j = 0; j < 10; j++) { i++;}вызывается из двух потоков, i - это field. реально ли получить по итогу i < 10 ?
>>769212реально если i = 1
>>769153Sublimetext
>>769211Отличный сайт, благодаря ему научился всему и уже руководство рассматривает повышение до синьора.
https://twitter.com/mjremijan/status/742396550584799233
>>769234Призывы к эстремизму, гражданин?
>>769237к*
>>769234Можно немножко разъяснений. Типа Oracle собирается положить хуец на EE?
>>769245Давно положил. В этом или предыдущем ITT треде писал об этом, с линками на пруфы.
>>769246Нахуй нужна вообще эта параша?
>>769246А какая-же тогда официальная от Oracle альтернатива?
>>769256Молчит Оракел, не даёт ответа.>>769254Java без EE бессмысленна целиком и полностью.
>>769259От EE нужны только некоторые стандарты и спеификации, типа JPA.
>>769212реально, используй AtomicInteger
>>769225)
>>769261Так она и есть эти стандарты и их имплементации - JPA, JMS, JTA и товарищи.Вот на все это Оракел и положил.Может свое проприетарное будет пилить аналогичное, чтоб никто из его уютного манямирка не думал вылезать.
>>769213>>769265поясните плиз, как такое может быть (что может быть < 20 понятно, не понятно как < 10)изначально i = 0
>>769284Может и не может, но создает непонятную ситуацию, которую за тобой кому-то придется разгребать. Вот почему так делать нельзя, даже если можно.
>>769284https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601
>>769188>>769153 BlueJ вроде неплохо подсвечивает.
>>769156Просирать батарею и ресурсы на такой юзкейс не лучшая идея. А idea классная весщ, тут спору нет, но мне нужно что-нибудь ламповое и быстрое, если вдруг приспичит поскроллить сорцы явы или дройда.А вот про параметры jvm погуглю, спсасибо, а то на лялексе чтот сильно глючит.>>769178Пробовал, но сильно всратый интерфейс и шрифты, глаз не услаждается.>>769216Спасибо няша, совсем забыл про него
Я у мамы вот уже 4ый год жабамакак в бадишопе."По-верхам" знаю кор, ЕЕ, пару фреймворков какие юзал, вебчик-хуебчик - для работы хватало. Были попытки пойти поучить что-то ещё: руби - хватило на месяц, не понял нахуя, JavaScript - вроде нормально задрочился, но вот бида - чувствую себя нубом.Все ходят выёбываются про какие-то jms-ы, вротвыебаные задачи по многопоточности, ХАЙЛОАДЫ, БИГДАТЫ - жопа жопная. Я хуярю юайчик на gwt, пишу рест-сервисы, с другой энтерпрайз парашей, никакого рокетсайенса.Чувствую что время идёт зря, и полным лохом себя вообще чувствую. Что делать?
>>769340>4ый год жабамакак>про какие-то jms-ы>пишу рест-сервисы>с другой энтерпрайз парашейНе сходится. Тебе ни разу, за 4 года, ни в одном REST-сервисе не потребовалась асинхронная коммуникация с каким-либо другим сервисом, который к тому же может и прилечь на полчасика иногда?
>>769363nah, все коллы - коллы к json-rpc какому-то, какой в базу ходит. Отвечает быстро, всё хорошо
>>769340двачаю. та же проблема.
>>769377И за все это время тебе ни разу не потребовалось обратиться ни к одному сервису дальше соседней машины (я уж не говорю стороннему вообще)? И твоему нащальника заебись, молодца что у тебя синхронные вызовы, которые при задержке ответа от базы поставят раком весь твой сервер?И тебе за все это время ни разу не пришло в голову что можно все это делать хотя бы чуть-чуть прямее?>>769407Парни, я вами обоими восхищаюсь. Я не представлял что такое бывает. Вот на ютубе курицу видел, она без головы бегала какое-то время, потом все-таки свалилась, не смогла. А вы - можете! И вам при этом - охуенно!
сап котаны. есть параметризованный запрос hibernate к бд на postgresql. в таблице колонка timestamp. как вытащить записи из интервала ВРЕМЕНИ(нахуй дату), имея два значения типа java.util.Date (в них дату тоже нахуй, интересует онли время). например есть условиеWHERE timestamp_column >= :timeFrom AND timestamp_column <= :timeToв параметры timeFrom и timeTo передаю объекты java.util.Date. итак, как игнорить дату?
>>769428алсо, читал оракловские доки на тему функций по времени. были там всякие EXTRACT(hours from ...). а мне нужны часы и минуты. итого выходит по два экстракта на два условия = 4 экстракта на запрос. потому и спросил, может нанотехнологии уже решили эту проблему
>>769441https://www.postgresql.org/docs/devel/static/functions-datetime.html
>>769449это уже сегодня читал (как и описывалось выше - экстракты и date_part отдельно по часам и минутам выпиливать)
>>769457Плохо читал. Читай лучше.Заодно спрошу - причем здесь Java?
>>769462не знаю. в целом вопрос по sql, но sql тредов в /pr/ не замечал
>>769464Кастуй к типу time.SELECT '2003-05-11 15:21:21'::time;
>>769464В глаза ебешься? >>735299 (OP)
>>769468добра в тебе мало, няш. блять, задал вопрос, ответили. тебя ебет в какой тред запостил? как будто в джава треде sql никто ни разу не видел. вот анон помог уже. и стоило ебать мне мозги из-за одной строчки ::time?>>769467спасибо
>>769474Давай я приду к тебе домой и насру под подушку, потому что тебе ебет куда я сру, уебок.
>>769478Ну ты и тварь.
>>769478приходи и сри, мне то хули? у меня их все равно две (подушки). а у вас тредов вообще 33
>>769284i++ не атомарная операция. Раскладывается на read,increment,write.Первый поток делает read и останавливается.Второй поток делает 9 раз i++.Теперь i == 9.Первый поток далает increment(0) и write.Теперь i == 1.Второй поток делает read и останавливается.Первый поток делает 9 раз i++.Теперь i == 10.Второй поток делает increment(1) и write.Теперь i == 2.И это все при условии удачной синхронизации кэшей, конечно.
>>769592Ну или volatile i.
Есть массив. Найти в нем самую длинную последовательность нулей и вывести индексы начала и конца последовательности.Как это сделать?
>>769635Ходи "итератором" по массиву и проверяй каждый элемент на соответствие нулю. Если ноль, то проверяешь стрингбаффер и если он пуст, то добавляешь туда ноль, а в начальный и конечный индекс пишешь текущий индекс. Если не пуст, то аппендишь ноль и изменяешь конечный индекс. Если не ноль, то стираешь содержимое стрингбаффера и начальных и конечных индексов.Делай.
https://twitter.com/javaee_guardian/status/742856081895002112
>>769304Идея не жрет ничего кроме памяти если ничего не делает, а она ничего не делает если ты в ней ничего не делаешь.
>>769639Хуйню написал. Какие еще бафферы?Нужно хранить всего лишь 4 числа: начальный индекс, конечный индекс самой длинной последовательности; текущий начальный, текущий конечный индекс. Длина рассчитывается как (конечный - начальный + 1). Если текущая последовательность оказалась длинней максимальной, то обновляешь индексы максимальной.
>>769639алгоритм уровня зк
>>769639Автоматом конечным. Заводишь переменные maxlength и counter. Когда встречается нуль, инициализировать счетчик длины (counter=0) и потом увеличивать, когда нули закончатся (конец строки или другой символ) - брать подсчитывать длину из счетчика (counter), если она будет больше максимума (maxlength), то записывать ее в максимум. В результате в maxlength будет максимальная длина. Также запоминать индексы начала и конца в отдельных переменных (обновлять при изменении максимума).
>>769857Вот: http://ideone.com/q6Ovdj
Где можно I/O поучить, а то в книге экеля нету самых базисов*
Короче, пытаюсь создать gui в intellij idea. Создаю spring приложение, жму new->GUI Form, все норм, появляется дизайнер. Накидываю компоненты, все работает. Закрываю иде. Запускаю, открываю проект, дизайнера нет, есть только файл с xml разметкой. ЧЯДНТ?
>>769921учи сразу nio.2, гуглить так же
>>769946открывай xml-ку в gui дезайнере
>>769966Так его нет, когда иде перезапустишь, не открывается. Или сторонний имеешь в виду?
>>769988https://www.jetbrains.com/help/idea/2016.1/creating-and-opening-forms.html
>>767615 (OP)Сап, двоч. В пятницу собеседование, хочу совета у бывалых, что там могут спросить.
>>770058Чисто гипотетически, могут вообще ничего не спросить, а сразу взять на работу. Шанс есть.
>>770062Было бы неплохо, конечно (особенно на джуна), но хотелось бы подготовиться.
>>770066В шапке там есть ссылочка, а в той ссылочке еще одна ссылочка, а в той ссылочке еще две ссылочки, посмотри что там написаноПервых два клика за тебя я сделал, не благодариhttps://github.com/qqqlll/Java-Thread/wiki/Interview
>>770058> что там могут спросить.Есть два стула...
>>770084Рекурсия или цикл?
>>770058Хуи сосешь?Бочку делал?
>>770088Сам циклами писать буду, а тимлида на монады подсажу.
Зачем нужны классы-обертки? Ну конкретно, а не "есть один метод..."
>>770310Потому что примитивы не имеют методов. Примитивы нельзя определить как тип дженерика.
>>770326Потому что примитивы -- это не ссылочные типы. Соответственно, это не объекты.
>>770387> Потому что примитивы -- это не ссылочные типы. Соответственно, это не объекты.Капитан.
>>770310А зачем нужны книги в ОП-посте, а, ленивый ублюдок? Если по сути, то потому что обобщение примитивом невозможно из-за механизма стирания типов в runtime.
>>770423Блять, вы откуда берётесь? Причём тут type erasure и дженерики вообще? Ты, как, сука, в коллекцию примитивный тип запихнёшь (число / булево значение)? Пусть это будет версия джавы до дженериков, с обычными, не generic, коллекциями. Есть Collection. Есть число 2. Как добавить 2 в эту коллекцию, с учётом того, что она принимает только объекты?Чтобы не хуярить постоянно самописные обёртки, их ввели на уровне спецификации и реализовали в самом первом JDK -- бери и пользуйся.Причём тут дженерики или type erasure, не понятно.
Кучу всякой хуйни наговорили лишней. Примитивы нужны чтобы, блять, памяти жрать меньше, чем объекты, хотя в той же Скале от них вообще отказались. Обертки нужны, чтобы к значениям можно было применять методы, а не делать руками имплементацию каждого ебаного parseInt() и чтобы хранить значение в ебаном хипе, чтобы можно было запихнуть в коллекцию, а не в ебаном стеке треда (хотя последнее корректно только для локальных примитивов, а не для примитивов - атрибутов объекта). Вечер капитанов.
>>770461>не делать руками имплементацию каждого ебаного parseInt() Смотрите, дети. Вот что бывает когда вы видели только кривую эмуляцию полиморфизма в ОО-манямирке. Не делайте так.
>>770561Просто элитный траль 80 лвл. (нет)
>>770444Теперь, когда ты прекратил верещать и плеваться пивом, можно и поговорить. Из твоих воплей ничего новичку не понятно. В ранних версиях Java для работы с теми же коллекциями использовалось, внезапно, наследование. Как выглядела начинка того же ArrayList? Внутри лежал Object[]. Любой класс - наследник Object, значит, можно положить в ArrayList что угодно. За исключением примитивов, которые от Object не наследуются. А так как мы все-таки в 2016, а не в 1995 году, пример с Generics актуален, свеж и тоже показывает потребность в обертках.
>>770669>показывает потребность в обертках в убогих языках без развитых средств реализации полиморфизмадополнил тебя, не благодари
Пасаны, посоветуйте чего-нибудь почитать по паттернам. Желательно что-то не совсем заебное, чтобы по пути на работу/домой в метро полистать.
>>770853Банда четырех.
>>770855Они разве подходят под "не заебное"?
Сеньоры, подскажите какую книженцию лучше взять на русском по Java 8? Выбираю между "Программирование на Java", Нимейер Патрик и "Java 8. Полное руководство, 9-е издание", Шилдт Герберт.
Привет вам, аноны! В общем, я в джаве нуб нубский. Есть у меня одна проблемка. Есть значит программа, которую надо запилить на Swing. Суть программы такова: при открытии программы мы видим пустое окно. Есть кнопка согздать вкладку, есть кнопка создать кнопку. Нажимаю создать вкладку, открывается окошко, где ввожу имя вкладки, жму ОК и оно её создаёт. Нажимаю значит на кнопку "создать кнопку", открывается окошко, ввожу имя кнопки, жму ОК и кнопка создаётся только на открытой мною вкладке, ТОЛЬКО НА ОТКРЫТОЙ! Если вкладок создано небыло, тогда открывается окно с ошибкой. Анон, помоги пожалуйста это сделать.
>>770924продолжение... При нажатии на кнопку, которая была создана, открывается окошко с таблицой и несколькими кнопками. Кнопка 1 - создать столбец, кнопка 2 - удалить столбец, кнопка 3 - создать строку, кнопка 4 - удалить строку. Кнопка 5 - сохранить и отправить в БД(тут ещё используется база данных MySQL). Ну вот закрыл я программу, открываю снова все созданные мною вкладки с кнопками должны сохранится(информация о том какие вкладки и какие кнопки созданны должны записываться в базу данных и, соответственно, браться из базы данных).
>>770901Шилдт - перепечатка доков с docs.oracle.com/javase/8/docs/api/index.html с ошибками. Первую не читал. Для начинающего лучше одну из этого списка:1. Кэти Сиерра, Берт Бейтс «Изучаем Java»2. Кен Арнолд, Джеймс Гослинг «Язык программирования Java» (от автора языка)3. Брюс Эккель «Философия Java»4. Кей Хорстманн «Java 2»5. Джошуа Блох «Java. Эффективное программирование»
>>770924В какой IDE хоть делаешь? Вообще для формошлепства лучше C#, Visual Basic, Delphi/Lazarus или Qt.
>>770935делаю в IDEA
>>770935Понимаю, что формошлёпство не для джавы, но у меня нет выбора.
>>770937Тогда лучше руками все сделать. Или скачать с торрентов JBuilder.
>>770939Ну окей, руками... А как? У меня не особо много знаний... (
>>770933У меня есть "Философия JAVA", но как-то она меня не сильно впечатляет, да и там пятая Java.Я вот Нимейера полистал в магазине, она мне показалась более прокаченная. Там и про лямбды, и про вэб-сервисы и т.д. Ну Шилдт и дороже так неплохо.
>>770940Ну не знаю, я просто гуглил, как создать окно, как добавлять кнопки и другие компоненты и т.д. Когда-то (очень давно) много писал на AWT и Swing. Вот пример из Википедии:https://ru.wikibooks.org/wiki/Java/%D0%9F%D0%B5%D1%80%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BEЕще несколько статей:http://www.javenue.info/themes/java-guiУчебник по Swing на русском:http://progbook.ru/java/181-portyankin_swing_effektnye_polzovatelskie_interfei.htmlЕще у Хорстманна оно было описано.
>>770940У тебя открывающая скобочка не закрыта.
>>770963Вкратце, порядок следующий:1) создаешь окно, если нужно выбираешь стиль;2) добавляешь сетку для автоматического выравнивания/растягивания компонентов;3) добавляешь компоненты в ячейки сетки;4) устанавливаешь обработчики и показываешь окно.
>>770901пока забей на жабу, скоро девятка выходит
>>771005Что в девятке завезут революционного?
>>771009Модули вроде обещали.
>>771011шта?
>>771022http://openjdk.java.net/projects/jigsaw/spec/sotms/#using-modules
>>771022> Based on Project Jigsaw, Java modularization will happen in Java SE Development Kit 9, which is due in March 2017. "If the watchword for JDK 8 was 'functional,' then the watchword for JDK 9 is 'transitive,'" said Alex Buckley, with the Java platform group at Oracle, during a presentation at a Silicon Valley Java User Group meeting. >The new watchword refers to the promise that the forthcoming JDK will understand dependencies across modules, and will attempt to resolve these "transitive" dependencies at compile or launch time.
Не забываем что Java 9 не будет, потом что Оракел положил на нее хуец.
>>771030Эт что значит? От спринга будем отходить?
>>771033В оракле не идиоты сидят, чтобы пилить сук на которых сидят.
>>771034Про OSGi почитай. Теперь это из коробки будет. Компонентная архитектура, расширяемые приложения аки линукс.
>>771034Кто поумней, давно его выкинули нахрен, говна клубок, сильносвязанного.
>>771038>>769234
>>771040Двачую. Если писать сайты, то Play намного удобнее.
>>771041Не нужен.
>>771042Нинужен.
>>771043Кто тебе не нужен?
>>771041Ебать, местный контингент не понимает разницу между Java и Java EE.Дно пробито, господа.
>>771069Чего ты ожидал от джава-макак?
>>771069Ну кстати по сути ЕЕ и так пилится уже не ораклом. Передали бы в управление редхату.
> List<String> collect = Files.lines(path).map(String::new).collect(Collectors.toList());> BufferedReader reader = Files.newBufferedReader(path);> List<String> strings = new ArrayList<>();> String line;> while ((line = reader.readLine()) != null) {> strings.add(line);> }> reader.close();Кончаю от функциональщины. Это норма?
>>771090Кем же оно пилится?Не забудь этим ребятам с guardian рассказать заодно, ты ведь знаешь куда больше их.
>>771095Тут нет нормальной функциональщины, это лишь тень, но да, это норма.
>>771095> Java> Кончаю от функциональщины.Когда попробовал Clojure
>>771095Как уже правильно заметили, это не функциональщина, это мелкие рюшечки, синтаксический сахар, напоминающий по виду некоторые элементы ФП.И не забудь все нуллы, которые в твоих напоминающих по виду ФП конструкциях могут встретиться, монады Maybe у тебя нету, и даже разделить Nullable и не-Nullable ты толком не можешь.
>>771129О точно, я вот щас еле держусь что бы не переписать на кложур диплом.
>>771129>>771137> Clojure> (defn run [nvecs nitems nthreads niters]> (let [vec-refs (vec (map (comp ref vec)> (partition nitems (range (* nvecs nitems)))))> swap #(let [v1 (rand-int nvecs)> v2 (rand-int nvecs)> i1 (rand-int nitems)> i2 (rand-int nitems)]> (dosync> (let [temp (nth @(vec-refs v1) i1)]> (alter (vec-refs v1) assoc i1 (nth @(vec-refs v2) i2))> (alter (vec-refs v2) assoc i2 temp))))> report #(do> (prn (map deref vec-refs))> (println "Distinct:"> (count (distinct (apply concat (map deref vec-refs))))))]> (report)> (dorun (apply pcalls (repeat nthreads #(dotimes [_ niters] (swap)))))> (report)))> > (run 100 10 10 100000)I'll better stick with Java 8 for a while.
>>771140переписывай, не пожалеешь
>>771140Диплом - это единственное что можно написать на Clojure, учитывая то как оно тормозит.Ну и функционального в нем, как в любом Лиспе, только несколько рюшечек. Потому что первое что с ним рекомендуется делать чтоб оно хоть как-то ворочалось, это - верно! - отрубить к хуям все эти рюшечки. http://stackoverflow.com/a/14116215"Гибридный" язык - модно теперь стало такие лепить. "Гибридность" играет с ФП злую шутку потому, что на все проблемы с ФП в таких языках один ответ: Идиоматичный ФП-код тормозит? Не типизируется? Требует экранов бойлерплейта? Не используйте ФП! В нашем языке есть все, для того, чтоб ФП не использовать! (И кое-что, чтоб использовать, но вам это не пригодится). Понятно, что писать оптимизирующий компилятор, реализовывать адекватную систему типов и вообще что-то делать никому не охота. Поэтому у знакомых только с гибридами неизбежно складывается представление описанное Кметтом - "If scala was the only language I had to think in, I'd think functional programming was a bad idea that didn't scale". Scala тут заменяется на любой гибрид без изменения смысла всего высказывания.
>>771154>>771146Выглядит неутешительно, у меня как раз императивная число-дробилка с кучей массивов и вычислений закорюченных функций с рядами.
>>771154А у CL с этим не лучше, там же все таки у же не прожорливая jvm?
>>771160У CL с этим, конечно, на порядки лучше, на уровне сравнимом с сишечкой, даже с бесплатным SBCL, особенно если в критичных по производительности местах помочь компилятору оптимизировать указывая типы. С коммерческими Lispworks или Allegro все совсем охуенно, но они дорогие.
>>771154> 1515 ms in Java versus 169932 ms in ClojureКек.
Анон, помоги с данным куском кода (пикрилейтед).Суть в чем, есть некий сеньор-помидор, который посмотрел задачку эту, и данный фрагмент кода изначально отметил как "замени двойные фигурные скобки, ввиду возможных проблем".Ок, заменил на то, что вы видите на картинке. Выслал ему, его ответ - "formatting!"Что это значит? Как его еще подравить?
>>771168А где изначальный вариант-то?
>>771167Еще какой.Для чего Clojure годится - это для ClojureScript, чтоб эту мерзопакостную джаваскрипту не ковырять. Джаваскрипту оно генерирует годную, а что генерирует небыстро - то не так и важно, к тому же джаваскрипты той обычно не гигабайты совсем.
>>771168Найди на клавиатуре клавишу Tab и отформатируй своих Петровых чтоб столбцы были ровненькие.
>>771168Включи отображение невидимых символов, в т. ч. в конце строки. Убери избыточный Employee из угловых скобок. После этого скинь весь файл целиком.
>>771179Вертикальное выравнивание, серьезно?
>>771142In this example a vector of references to vectors is created, each containing (initially sequential) unique numbers. Then a set of threads are started that repeatedly select two random positions in two random vectors and swap them, in a transaction. No special effort is made to prevent the inevitable conflicts other than the use of transactions.Ну и как ты на джаве это напишешь?
>>771170Вот.
>>771181Серьезно. Ты несогласен с чем-то?
>>771183"Тьюринг-полнота языков, что это и нахуя мне про это знать", издательство "Мир", 1961
>>771188слив защитан
>>771185Я перепутал с горизонтальным, горизонтально нинужно. https://google.github.io/styleguide/javaguide.html#s4.6.2-horizontal-whitespace>>771184Ну конечно {{ в данном случае ебанство. А еще отступ перед констурктором.
>>771189Хочешь сказать такую хуйню на фортране не делали?
>>771189Ты всерьез видишь проблему написать это на Java?
>>771168Может так?
>>771195НЕТ!
>>771195Не, это какое-то издевательство уровня набрать больше строк.
>>771197Зато все ровно.
>>771195У тебя по смыслу эти данные - таблица. Скорее всего, в таблице же и хранятся.Ну и сделай ее выглядящей как таблицу.
>>771201Я лишь предложил вариант анону. Не знаю, что ему нужно конкретно.
>>771201Выглядит максимально ебануто. Алсо между названием класса и атрибутами не должно быть бланк лайна.
>>771194на джаве для того чтобы это написать нужно в пять раз больше строк кода и неплохое понимание java.util.concurrentНа кложуре все компактно и проще. Не легче, а именно проще.
>>771205>не должно быть бланк лайнаГде такое написано?
>>771207java code conventions
>>771206Да сверхъестественной глубины нужно понимание чтоб лочить две позиции в векторе, и снимать после их свопа этот лок. Мастером 100500 уровня надо быть.
>>771184>>771180>>771201https://ideone.com/JblEBu - весь кодНужно было оформить поиск по строке и поиск по году с месяцем.
>>771212забыл вставитьimport java.util.ArrayList;import java.util.List;
>>771212ну форматни средой, перенеси все строки длиннее 80 символов и шли его нахуй.
>>771190>Ну конечно {{ в данном случае ебанство.А когда не ебанство? Прост всегда юзаю и не вижу проблем.
Что спрашивают на собеседовании по EE части? В оппосте хуита какая-то.
>>771222Есть два xml. Чем будешь контейнер описывать?
>>771219Ну во-первых в статическом контексте, а во-вторых, ну может быть в биледре.
Завалил собеседование, поздравьте.
>>771230А хули?
>>771231необучаемый дегенерат, хули.
>>771232Увы.
>>771234
>>771230Пздравил, вопросы какие?
>>771331Чем функциональный класс отличается от конкретного интерфейса.
>>771212Ну ты это, java.util.Calendar используй, если че.
>>771336Так они на 8-ой жабе пишут, повезло что не взяли.
>>771336Класс состоит из интерфейса и реализации. Вот чем. А ты что ответил? Самому такие вопросы задавали и я конкретно срезался. Щас вот погуглил.
>>771404пиздец и с такой кашей в голове еще хотят работу
Какая ide удобней/производительне й/просто лучше?прошу не кидаться дерьмом, только начинаю свой путь в java :c
>>771440IDEA/IDEA и пожалуй IDEA
>>771426Если ответишь лучше, то отвечай или иди нахуй. Ты сам нихуя не знаешь.
>>771404> Класс состоит из интерфейса и реализации> Самому такие вопросы задавали и я конкретно срезался.> Класс состоит из интерфейса и реализацииШто за хуйню ты несешь?
>>771442Я бы посоветовал IDE от jetbrains.
>>771462Как в Гиперборее, брат?
>>771467Как в Гиперборее.
>>771462>что класс состоит из интерфейса и реализации.https://habrahabr.ru/post/30444/с кем я на одной борде сижу боже
>>771483Смотри, класс:class Class {}
>>771483>>771458А теперь найди это в документации оракле или в книжке дядюшки боба, а не в высере нонейма с петухабра.
>>771525Мне открывать документацию оракла и отвечать цитатами на инглише из нее руснявому интервьюверу?
>>771548Yes.
Если я только вкотился в это ваше похрамирование и хочу начать изучать именно джавку, это вообще имеет смысл? А то тут некоторые провокаторы грят, что жаба мертва и нужно начинать с чего-то посвежее...
>>771608Они правы. В бекенде Node JS, а для стартапчиков руби. Ну еще сишарп для виндовых приложений. Java уже уходит в прошлое и вкладываться в нее мало смысло. Это как в кобол вкладываться - раньше тоже был самый важный бузинесс-язык, но он не развивался и все. От себя рекомендую JS - сможешь и во фронтенде работать и в бекенд через Node JS вкатиться. В этом треде помогут: https://2ch.hk/pr/res/767377.htmlУдачи.
>>771608Смотря что хочешь писать. Java или C++ заставляют немного думать над организацией кода в отличии от языков с динамической типизацией.
>>771613> жаба> с++Ты зла ньюфагу хочешь? Пусть обеспечит себе нормальное будущее.
>>771608Джава не мертва, но потиху начинается какой-то пиздец. У меня в конторе осталось очень мало проектов на джаве. Я хз что буду делать когда текущий закончится. На JS мб перекатываться..
>>771620У нас девелопер адвокат недавно проводил митап и сказал, что будем переводить проект на ноду из-за ее быстродействия и акторконтрллинга посоветовал всем готовиться, если не хотим сокращение. Чорт охуевший. Старое и хуевое не значит плохое. Хотя немного он прав.
>>771623>акторконтрллингаЧто это?>посоветовал всем готовиться, если не хотим сокращение.Примерно так и у нас. Только при поиске нового проекта.
>>771624Одна охуенная фишка, которую добавили в новой версии.
>>771625Суля по названию, спиздили Akka, все по пути хорошее из нее поломав, а все ценное но джаваскриптерам непонятное выбросив?
Пизданулись все с этой нодэжээсой.Единственный ее плюс в том что "не надо джаву учить, она слоожная". Имея людей, которые ее уже знают, выкидывать Java и переходить на NodeJS - это какой-то апофеоз маразма.
> Both the Java EE and Node.js tech stack undoubtedly have their strengths and their flaws, but most importantly, I don’t see a single reason which would really let me turn down Java EE just now to write REST APIs. Both technologies offer a range of frameworks, and the opportunity to build your own, to make work easier. Most specifically, the important aspect of model validation currently seems superior in Java EE.> Some of the Node.js packages I covered here clearly are still in a quite early stage> http://www.codebulb.ch/2016/01/java-ee-with-jax-rs-jpa-vs-nodejs-with-hapi-bookshelfjs-part-2.html
Что касается скорости, https://www.techempower.com/benchmarks/NodeJS сливает по всем тестам, с огромным отставанием
Если хочется TrueЪ async, можно взять Quasar и Comsathttp://blog.paralleluniverse.co/2014/02/04/littles-law/
Оракел продолжает сливать Джаву>Oracle says it is closing down the Kenai.com and Java.net forges next year, so all project data has to be copied elsewhere before then
>>771612Ок, спасибо. А что тогда учить для вката в андроед разработку?
>>771623> девелопер адвокатэт че за новая лычка?
>>771707Теперь так буйнопомешанных на модно-молодежных технологиях социоблядей называют.
>>771331тот анон пиздабол, это не я былиз того, что не ответил - чем GET отличается от POST (не по предназначению, а чисто технически), что такое mutex, как отправить файл на сервер из командной строки линукса, что такое индекс (когда начал пытаться хоть что-то ответить, сказали, что я путаю индекс с первичным ключом), ну и самая пушка только не смейтесь - что такое Hashtable. И самое смешное то, что месяц назад завалил другое собеседование, в котором тоже спрашивали про Hashtable, и я тогда пообещал себе выучить нахуй все структуры данных, но, как сказано выше, необучаемый дегенерат.
>>771688Андроид жвм, но в Гугл Плее никто не платит за приложения, поэтому перспективы у андроид ньюфага хуевые. Хуячь лучше iOS - там все платят за приложения и инапп покупки. Язык objective c и новый эпловский. В общем, иди в тред iOS разработки и там подскажут.
>>771789Программирование не твое. Иди в системные администраторы.
>>771795> стажер
>>771799> чем GET отличается от POST> что такое mutex> что такое индекс> что такое Hashtable> не знаю :(((Нужно хоть что-то знать. Иди картриджи меняй и 1С настраивай.
>>771802но... там же.. были другие вопросы... на которые я ответил... пошел нахуй
>>771807Это базис, это знать надо. И сам иди нахуй, псина. Я тебе добра желаю - профессию твоего уровня, а ты говнишься и оскорбляешь человека. Ну тогда продолжай посылаться нахуй на собеседованиях до тех пор, пока не дойдет до тебя, что это не твое.
>>771809я понимаю, разумеется, что ты мамкин траллер, но может ты все-таки объяснишь, зачем так делать? тебя в детстве стажер выебал или ты просто неудовлетворенный гей и тешишь свое чсв на таких, как я?
>>771816Вот это фантазии неграмотного необучаемого дебила.Ладно, раз ты идиот, а не просто глуповат, то объясню на пальцах. Чтобы ты понял. Ты не знаешь основ и не стремишься даже их изучить. Ты необучаемый и, как выяснилось, неграмотный дурачок.Внимание вопрос: нахер ты нужен? Зачем тратить на необучаемого человека время и деньги, чтобы он потратил время и деньги компании, и либо ничему не научился, либо нахватался верхов и при любой нестандартной задаче, где нужно сесть и подумать, будет кококо незнаю глаза в пол? Компаниям на линейном уровне нужны люди, которые будут приносить им деньги, а не которые будут тратить эти деньги. Теперь понял, или ты не просто идиот, а даже имбецил?
>>771842можешь не стараться расходовать ресурс своей клавиатуры как и свое время, ушлепок, тебе меня не сломить.
>>771849Мальчик-имбецил обиделся. Ну тогда:> Ну тогда продолжай посылаться нахуй на собеседованиях до тех пор, пока не дойдет до тебя, что это не твое.
>>771854>обиделся
А существуют ли какие либо аудиокниги по джаве где можно было бы хотя бы теорию послушать? Если они есть то где их скачать?
>>771936stfw
>>767615 (OP)только начинаю знакомиться с многопоточностью в java, в связи с этим возникли несколько вопросов. Модификатор volatile может использоваться для всех типов данных, или только для примитивных типов? И ещё вопрос, для чего нужны атомарные типы данных, если существует volatile? То есть, в чём разница между volatile и атомарными типами данных? И объясните пожалуйста, в чём различие между блокирующей и неблокирующей синхронизацией
>>771936Есть в виде детской книжки для слепых безруких детей-инвалидов. >>772050https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601/ref=sr_1_1?s=books&ie=UTF8&qid=1466171926&sr=1-1&keywords=Java+Concurrency+in+Practice
>>772050Для всех.volatile не даёт атомарность. Он лишь говорит, что сущность с таким модификатором не должна кэшироваться тредом + определяет семантику volatile read и volatile write посредством установления отношения "happens before". Таким образом, любой volatile write сущности будет отображён прямо память, и тред, делающий volatile read этой сущности, гарантированно увидит результат выполненного в другом треде volatile write.Блокирующая синхронизация выстраивает потоки в очередь и в один момент времени синхронизированный участок кода может выполнять лишь один поток. То есть, атомарность операции достигается засчёт использования монитора (lock). Неблокирующие алгоритмы и структуры данных не используют синхронизацию. Вместо этого они пытаются сделать операции атомарными различными способами: для структур это, в основном, volatile read и volatile write с использованием CAS (Compare And Set); для методов -- возврат хэндлера результата асинхронной операции в виде объекта Future.Мб кто из более опытных анонов поправит.
>>768517А для чего тебе именно на джаве?
>>769211Купил подписку, куча задач неясной направленности, но теория, как по мне, даётся хорошо. Учусь только по нему пока, в принципе доволен.
>>772185
Коцаны вопрос по поводу лямбд, сегодня пиздил на работе с старшим коллегой, он говорил что в джаве нельзя присвоить понормальному функцию переменной, я говорю, так можно через функциональный интерфейс, это конечно несовсем удобно по сравнению с тем же ява скриптом, но подругому тип никак, и он говорит что это хуйня и на самом деле это синтаксический сахар для создания анонимного класса, т.е. объект всеравно создается, а в шарпах реализовано, что функция является именно функцией а не объектом, а в яве лямбда не является объектом высшего порядка, и говорит что типо в 9 джаве будет реализовано как в шарпе. Анон скажи он пиздит и чем вообще ущербны лямбды в яве?
>>772705Ну, твой коллега и прав, и не прав одновременно. Действительно, чисто функциональных типов в джаве не завезли - лямбда-выражения строятся на основе функционального интерфейса и в глубине представляю инстанс функционального интерфейса. Синс эврифинг из эн обжект парадигмы. Тем не менее - их вполне можно назвать first-class value, т.к. они умеют делать все, что должны делать first-class value: https://en.wikipedia.org/wiki/First-class_functionКонечно, когда компилер видит лямбду, он выясняет таргет тайп и абстрактный метод функционального интерфейса с помощью чего хавает содержимое лямбы и создает инстанс функционального интерфейса и работает с ним как с объектом и все остальное не в курсе что это лямбда и работает как с объектом, поэтому лямбды так легко вписались в существующий язык.Поэтому first-class value - да. Объект - да.
>>772705Алсо про такое в 9 джаве не слышал.
>>772705> это синтаксический сахар для создания анонимного классаТам теперь внутри invokedynamic.Хуй положи на мнение спермораба.
>>772731Ок, спасибо анон
Захотел выучить эту вашу жабу, и мне нужен гуй.Начал упарываться в жабаFX - и блять, это же полный пиздец! До этого писал на крестах и qml, все было стройно и понятно, документация была интегрирована прямо в IDE где на любой элемент все разжевано и все описано. А я сижу с лицом аутиста над ебучим fxml и гуглю, как сделать чтобы элемент растянуть на размер предка (SomeElement { Zalupa { anchors.fill: parent} }), но блять - в интернетах ваще видимо никто не знает! А их гребаные пасты кода не работают.Накидайте книжек по JavaFX8, желательно чтобы было с примерами объяснение этого ебучего fxml (нахуй они вообще этот ебучий xml впендюрили, был же годный читаемый jfx script суки!)
>>772782>Захотел выучить эту вашу жабу, буду писать гуй>Захотел выучить этот ваш хаскель, буду писать высокопроизводительный игровой движок>Захотел выучить этот ваш С++, буду писать веб фреймворк
>>772802А шо, в ынтырпрайсе гуй не нужен?
>>772803В том энтерпрайзе где до сих пор нужен, для формошлепства берут не голую джаву, а энтерпрайзную формошлепалку - Oracle Forms, например.В остальном все уходят на веб.
>>772811Ну судя по вики это какая-то хуйня для БД.На работке мы юзали шаговые движки EcoStep - к их контроллерам была софтина ECO studio для их настройки и тестирования. Так вот она была на жабе, и гуя там было пиздец сколько, мама-ояебу.
>>772815Энтерпрайз это и есть БД. БД и формочки, формочки и БД.>>в ынтырпрайсе гуй не нужен? >мы юзали шаговые движки EcoStep Как связано одно с другим?
>>772827То что была кроваво-ынтырпрайсная прога к пиздецки дорогим ынтырпрайсным движкам и всякой промышленной хуйне. И там прога на жабе (и разумеется - гуй).
>>772883Ну как обычно - заказали гуй индусам, а индусы кроме энтерпрайзной джавы ничего не умеют
>>772886Но производитель - немчурская корпорация. Разве они тоже гуй индусам заказывают? Я думал, это у муррики прочные связи.
Какой стул выбрали - Runnable | Thread?
>>772888fork(), епта!
>>772883Кстати их проги на компах, управляющие печью и установщиком компонентов - тоже на жабе.Правда там гуй - редкая параша (правда они старые, да и там ваще охуенный девайс - тачскрин на кинескопном мониторе, ахуеть вообще).Собсно, я писал его аналог со свистелками и перделками на крестах и qml.
>>772887Все заказывают. Гуи это ведь у них не основная деятельность, основная - проектирование и производство моторчиков (логично - немцы в этом сильны). Неосновное всегда аутсорсится.
>>772888Что тут выбирать в шестой джаве? implements Runnable запускаешь через Thread. Сам тред деваешь в переменную, в коллекцию, пул, анус, никуда.
>>772887У муррики именно что прочные связи - они основной продукт в либо в индию заказывают, либо местным мурриканским индусам.А немцы только гуй.
>>772891Отбирал у Раджеша с Кумаром лепешку.Не стыдно тебе?
>>772897У Раджеша и Кумара зарплата в 2-3 раза больше, чем у нас.
>>772892У нас сервисники на обучение к ним на завод ездили.Говорят погромистов там пиздец сколько много, огромное здание и сидит их дохуя.Так что возможно, нихуя они не аутсорсят.>>772897И у Ганса и Фрица, лол - мы целиком немецкую печку спиздили, Rehm-овскую, свой софт и начинку электронную поставили и обозвали своей разработкой. Импортозаместили, епт!
>>772900> целиком немецкую печку спиздили, Rehm-овскую, свой софт и начинку электронную поставили и обозвали своей разработкойЭто молодцы. Так почему обозвали - она и есть ваша разработка, начинка и управление все ваше, а сама чугунка - не из секретного наверное бундес-чугуния была.> погромистов там пиздец сколько много, огромное здание и сидит их дохуяОх проиграют они с такими устаревшими бизнес-практиками мурриканско-бангалорско-китайским конкурентам.
>>772705>>772731Порыл вопрос поглубже, почитал пару статей, поглядел байткод лямбы. Анон >>772735 прав - ссы на спермораба тугой струей мочи в рот. В байткоде каждый анонимный внутренний класс генерирует новый класс, который его вызвал, сохраняет референс, загружает его и вызывает его метод для получения ништяков из реализации анонимного внутреннего класса:> Runnable runnable = new Runnable() {> @Override> public void run() {> integerValue.intValue();> }> };> 17: new #5 // class Test$1> 20: dup> 21: aload_1> 22: invokespecial #6 // Method Test$1."<init>":(Ljava/lang/Integer;)VЧто жрет лишнюю память и GC нужно будет его снести. С лямбдой же лямбда фактори возвращает инстанс функционального интерфейса и тело лямбды конвертируется в метод, который будет вызван invokedynamic инструкцией. > Runnable runnable2 = integerValue::intValue;> 33: invokedynamic #8, 0 // InvokeDynamic #2:run:(Ljava/lang/Integer;)Ljava/lang/Runnable;> моар:> invokedynamic #3, 0 // InvokeDynamic #0:apply:()Ljava/util/function/Function;> invokedynamic #4, 0 // InvokeDynamic #1:test:()Ljava/util/function/Predicate;Так что ссы коллеге на голову с кококолямбда это сахар анонимного внутреннего класса.
БЛДЖАД! Почему Хорстманн такой пидарас и упорно не включает упражнения в лучшую книгу по кор жабе? Уже десятое издание вышло, а упражнений нет.
>>773069Потому что это учебник теории.
>>773081И че, бля? Вон тот же Эккель прислушался к фидбекам, и в четвертом издании включил упражнения.
>>773087Читай Эккеля.
>>773093>Java 5>Java 8Наркоман?
>>773097Для кора тебе хватит. Восьмую джаву нужно отдельно изучать.
>>767615 (OP)Сап анон, такое дело. Пишу утилиту для выборки кое-каких данных из бы (бд большая), скачал jooq, нагенерил классов, сделал пару простых запросов и все вроде заебись. Но тут подумал какого хуя, я ж на груви пишу, почему бы не заюзать gorm? В общем такой вопрос, если кто сталкивался, какой фреймворк сами выберете, на какой матушку посадите?
>>773109ORM для бизнес-логики. Крудошлепство SQL/jOOQ для гибкой выборки данных для отчетов.
>>773111хм, звучит убедительно, тем более, что горм за собой еще спрингбут тащит и хибернейт. буду пока жока придерживаться, спс.
>>773118Прочитай что сами разработчики жоки говорят: https://blog.jooq.org/2015/03/24/jooq-vs-hibernate-when-to-choose-which/
>>773124О, даже про горм написали. Ну писать мне ничего не надо в бд, да и не хочется тянуть половину мавен артифактори ради того чтоб избавиться от генерации кода. Сгенерированный код как я выяснил можно вообще заигнорить чтоб не коммитить, вместо этого генерировать при сборке.
Написал интернет-магазин, пока учил жабу с технологиями, не хватает только фронтэнда. Кого может интересовать подобная штуковина? Почем ее можно будет продать? Цена сильно изменится, если я найду клиента и запилю ему фронт такой, какой он хочет?
>>773163
>>773132>можно вообще заигнорить чтоб не коммитить, вместо этого генерировать при сборке. О сколько нам открытий чудных...
>>773163как раз ищу кому бы пропихнуть фронтенд. напиши в жабер-конфу емейл-релейтед
>>7732163Запилить фронт я и сам могу, время у меня не ограничено.
>>773069Потому что у него не учебник а справочник. Причем невнятно написанный с пропуском важных особенностей и заострением внимания на никому не нужной хуйне. Половина книги вообще прямой копипаст из стандартной библиотеки. Сложность подаваемых тем по книге скачкообразно повышается и понижается. Главу назад рассказывает что такое статический метод, переходит к наследованию и тут же заливает про рефлекшн и только потом вводит понятие интерфейса. Примеров очень мало и они не выразительны. Вставки для крестовиков вообще непонятно для кого написаны, как будто они будут читать эту парашу. В общем не рекомендую этот выкидыш печатной индустрии. Head first в сравнении с этой какашкой просто эталон написания обучающей литературы, даром что написан 10 лет назад.
>>773458Зачем вообще нужен рефлекшн обычному кодеру? Профессионал и так сможет ее понять без уебанских книжек.
Внутренние классы нужно еще где-нибудь, кроме как для слушателей событий ГУИ?
>>773479Зачем вообще нужна книжка по кору? Любой вменяемый челвоек все поймет из java-doc'а, в хуевом случае погуглит.
>>773572Хуйню не неси. Матан ты тоже по справочнику формул и теорем изучал?
>>773577Вот теперь хуйню несешь ты. Кор - это и есть справочник формул. Уровня девятого класса.
>>773572Любой вменяемый человек давно все понял не открывая джавадока и пишет на Scala, Clojure, котлинах и цейлонах.
>>773581Узкоспециализированные языки особо не прокормят. Работу хуй найдешь. То ли дело на жабе: вакансий дохуя, плотют прилично.
>>773537АТО. Но лямбды круче.
Есть кто? У меня вопросик созрел
>>773703Нет.
>>773707https://docs.oracle.com/javaee/7/tutorial/jaxws001.htm можешь глянуть?
Зачем вообще нужны интерфейсы? Они нихуюшеньки не делают. Компэрабл, блять. Ну и хули? Он же тела не имеет, все равно писать метод самому. Так нахуя сущностей наплодили?
>>773709глянул
>>773710в оп-посте книжки, там это поясняется
>>773709Да, я тоже глянул.
>>773711Откуда взялся HelloService? И при создании клиента этот класс и клас Hello откуда беруться если предположить, что клиент делается удаленно?
>>773712Я их читал. Ты сам-то понимаешь, что тебя наебали?
>>773710Чтобы избегать сильных связей.
>>773718еще раз прочитай.
>>773714> The source code for the service is in the tut-install/examples/jaxws/helloservice-war/ directory
>>773714Если ты генеришь клиент из wsdl-ки, то классы у тебя автогенерируются, если ты сам пишешь и сервер и клиент, то вот лучш шпаргалку посмотри, в проекте ничего лишнего, только вебсервис-релейтед хуйня https://github.com/hdghg/wstest
>>773721Хехе
>>773722Спс мен! А в сервисе HelloService сам генериться? Просто нет возможности глянуть в приложенные исходники
>>773720Еще раз прочитал.
>>773729OOP is not for you.
>>773729Кста методы уже могут иметь тело
>>773732А теперь по-русски.
>>773737Про полиморфизм слышал?
>>773740Просто скажи. Зачем нужен интерфейс? Практическое применение. Я лишь вижу его применение его в том, чтобы видеть, как мне следует назвать метод и какой тип ему давай в качестве аргумента, если нужно.
>>773726http://tsya.ru/
>>773710Кекус. Через 5 лет ООПизденения ты будешь задавать вопрос нахуя нужно наследование.
>>773743иди читай книжки, вруша
>>773737К примеру возмем пять человек все пять человеки и дышат воздухом одновременно четыре из них петухи и ебутся в жопу одновременно три кодят на паскале и ебутся в рот и т.д.
>>773744Спс =Р
>>773733ИНТЕРФЕЙСЫ ОБЛАДАЮТ ЛИШЬ АБСТРАКТНЫМИ МЕТОДАМИ И КОНСТАНТАМИ И НЕ МОГУТ ИМЕТЬ РЕАЛИЗАЦИИ, ИБО ЭТО НЕ РЕАЛИЗАЦИИ, А СПЕЦИФИКАЦИИ КОНТРАКТОВ, КОТОРЫЕ ДОЛЖНЫ РЕАЛИЗОВЫВАТЬ КЛАССЫ, РЕАЛИЗУЮЩИЕ ЭТИ ИНТЕРФЕЙСЫ@БЛЯ, КОРОЧ, МЫ ПРОЕБАЛИСЬ И ДОХУЯ ЧЕГО ЗАБЫЛИ ВКЛЮЧИТЬ В ИНТЕРФЕЙСЫ И ИХ НЕ РЕАЛИЗОВАЛИ В ДОЧЕРНИХ КЛАССАХ@ПОХУЙ, СДЕЛАЕМ ДЕФОЛТНЫЕ РЕАЛИЗАЦИИ))somewhere in Oracle
>>773748И что? Все равно метод ебли в жопу писать в каждом классе.
>>773751> ДЕФОЛТНЫЕ РЕАЛИЗАЦИИметодов
>>773751ну они решили этим пару проблем, но лучшеб запилили https://msdn.microsoft.com/ru-ru/library/bb383977.aspx
>>773751https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html лох
>>773757Костыль пришелся в тему и весьма функциональным, но это все равно слом парадигмы. >>773758Идиот, я как про дефолтные методы в 8 джаве и говорю.
>>773753Не буду тебе отвечать, специально. Анон сказал что ты вруша, но ты неосилятор. Не осилил интерфейсы, и решил сделать вброс авось кто-то ткнет мордой в то место где ты обосрался. Но нет, никто не ткнет, ищи сам.
>>773760Сорри чувак
>>773763Пжлст чувак :)
>>773761Видимо, ты сам новичок, или просто придаешь интейфесам потаенный смысл. Интерфейс это просто перечисление методов, которые должны быть обязательно реализованы у класса. И все.
>>773743Чтобы отделить контракт от реализации и иметь возможность быстро подменить реализующий объект в месте инициализации, не перелопачивая вместо этого мегабайты кода.
>>773710>>771694
>>773891Годно расписал, схоронил.
Помогите нубасу. Есть 3 класса:1.package pets;public class Pet { String name; Pet(String enter){ this.name = enter; } Pet(){ } }2.package pets;public class Dog extends Pet { }3.import pets.Dog;import pets.Pet;public class PetMaster { public static void main(String[] args) { Dog myDog = new Dog("Sam"); }}IDE говорит, что Dog() in Dog cannot be applied to (java.lang.String), а почему так?
>>774300Но ведь у класса Dog нет конструктора со строкой. У него есть только дефолтный конструктор.
>>773780И как часто ты подменяешь реализацию в коде? ArrayList на LinkedList?
>>774332В книге задание так звучит:In the package pets create a new class Pet with a constructor that will take the name of the pet (of type String) as an argument.Change the declarations of the class Dog so it extends Pet.Create the class PetMaster and give pets names while instantiating classes Dog and Fish.А писать конструктор в Dog не позволено.
>>774338Именно коллекции, конечно, не часто, но зато есть возможность, как я уже написал, сделать это довольно быстро. Какие-нибудь компоненты из IoC-контейнера вообще можно подменить без сборки проекта, изменив его конфигурацию в xml (если, конечно, он кофигурируется через него, а не через классы и аннотации).
>>774338>LinkedListНинужно>как часто ты подменяешь реализациюПодменяю бины без перекомпиляции меняя xml-конфиги спринга, или прямо в коде через удаленный дебаг без остановки продакшена.
>>774387>НинужноИ тут ты такой поясняешь.
>>774395Лучше спрошу у тебя на собеседовании.
>>774417А если серьёзно?
>>774300хуй зна, такой же нубас.Pet p1Dog = new Pet("Ssaka");Pet ssylka;ssylka Dog;вообще блять, пустые классы это что нахуй?
>>774449То что надо?
>>774427У LL лишь одно преимущество - быстрое добавление в середину (ну или удаление), которое ОЧЕНЬ редко когда нужно.AL содержит внутри массив. Когда ты идешь последовательно по LL, ты каждый раз переходишь по ссылке на следующую ноду, а для AL просто сдвигаешься в памяти на размер элемента. Из-за того, что у ЦП есть кэш, почти со 100% вероятностью следующий элемент AL будет лежать в кэше и в память обращаться не нужно, что не гарантируется для LL.При добавлении элемента к AL, если он был полон, приходится создавать новый массив и копировать в него предыдущий, но копирование памяти достаточно быстро, да и происходит нечасто.Короче, LL сосет, AL решает. В 99.99% процентов случаев по мнению сертифицированных энтерпрайз джава-макак.
>>774546Макаба звездочку съела, блядина такая.
>>774352Атрибуты с дефолтным аксесс-модификатором - можно писать напрямую. Но вообще так не делается - нарушается принцип инкапсуляции.
>>774546Ты забыл добавить, что: LL может быть распределён в пространстве, в то время как AL лежит одним куском -- этот факт, конечно, редко где может пригодиться, но это уже отличительная особенность; random access для LL занимает O(n) напротив O(1) у AL; перевыделение памяти под новый массив у AL -- заявка на GC.Короче, я к чему: структуры данных нужно выбирать исходя из требований задачи, и вот так с ходу говорить, что LL или какая-либо другая структура данных не нужна -- по меньшей мере некорректно.
>>774613>>774546В какой книге можно прочитать вот про такие тонкости в жава?
>>774620stackoverflow.com
>>774620Любая книга по алгоритмам и структурам данных подойдёт. Придумано ещё до джавы.
>>774613>LL может быть распределён в пространстве, в то время как AL лежит одним кускомЯ именно на этом и заострил внимание, когда говорил о кэше.
>>771440SciTE
>>774627В этой любой книге будет О-нотация, опирающаяся на представление о процессоре из 1968 года, с детерминированной стоимостью операции, не зависящей ни от чего.Эта модель так же точно отражает реалии современного интеловского CPU как представления о плоской Земле, установленной на трех китах.Не учите анона плохому.Анон, посмотри https://www.youtube.com/watch?v=Nsf2_Au6KxU (слайды - http://media.steampowered.com/apps/valve/2015/Migdalskiy_Sergiy_Physics_Optimization_Strategies.pdf), потом сюда http://danluu.com/new-cpu-features/
>>774791убери из URL '),', парсер этой борды sucks
>>774791В этих книгах, как правило, сразу пишут, что приведённые оценки справедливы для абстрактной машины, и в реальности могут варьироваться в зависимости от устройства конкретной платформы. Ну, и что? Получить общее представление об алгоритмах и структурах данных это никоим образом не мешает. И оно не будет неправильным (плохим). Оно будет корректным в среднем случае, где предполагается, что код выполняется равновероятно на йоба-процессоре, процессоре дидов или вообще на примитивном кристалле с базовым набором операций.Твои ссылки полезны тем, кто уже кое в чём разобрался и хочет идти в ногу со временем.
>>774835Оно будет ПОЛНОСТЬЮ неправильным, до степени обратности правильности на любом современном процессоре кроме Cortex M0 (за 50 центов, у которого кэша вообще нет).И представление об алгоритмах и структурах данных будет таким же.Анон будет хреначить линкед листы, а процессор сходить с ума от джампов по указателям и проигрывать кофеварке. В результате анон бьется головой о стену (и переделывает линкед лист на skip list, от чего процессор превращается уже не в кофеварку, а в самовар), процессор тормозит, довольны только авторы книжек с О-нотацией из 1968 года.
>>774387>без остановки продакшенаЯ уже чувствую уровень твоей конторы.И под той фразой я имел в виду то, что вменяемые люди вообще бизнес интерфейсы не пишут. Времена HuitaDao и HuitaDaoImpl прошли, интерфейсы царят где-то во фреймворках.>>774620Это не тонкости и не явы. Это разница между связным списком и массивом. Можешь навернуть Алгоритмы и структуры данных Вирта (или забить хер, если тебе не предстоит работа с ними, а 80% джавы - сраный веб, который хер клал на скорость работы три мапа и хеш мапа).
>>774872>довольны только авторы книжек с О-нотацией из 1968 года.Ты хотел сказать авторы всех книжек? Не видел ни одной вменяемой книги по программирование. Даже видосики на ютубе уровня "как работает спринг" полезнее.
>>774613Из-за оптимизаций работы массивов AL выигрывает всегда. К тому же вспомни про случайный доступ и вставку в середине: часто они тебе нужны? Ты чаще весь список обходишь итератором.
>>774882>Я уже чувствую уровень твоей конторы.Экстрасенс в треде, всем надеть шапочки из фольги
>>774882>что вменяемые люди вообще бизнес интерфейсы не пишутЯ уже чувствую уровень твоей конторы.
>>774883Что хотел сказать то и сказал>В этой любой книге будет О-нотация, опирающаяся на представление о процессоре из 1968 годаНужны новые книжки, но их нет. Потому что у академиков нет модели на смену детерминированному процессору из 1968 года.> Не видел ни одной вменяемой книги по программирование. Даже видосики на ютубе уровня "как работает спринг" полезнееЕсли ты говоришь о книжках "любая еботень за 24 часа", то понятно.Если о нормальных книжках, то они, конечно, есть. Если бы перед просмотром видосика про Spring программист прочитал бы "Patterns of Enterprise Application Architecture" и "Enterprise Integration Patterns", толку было бы больше. И на Spring он смотрел бы гораздо критичней, понимая его недостатки. И во многих случаях от него для своей задачи отказался бы - что задаче только пошло бы на пользу.
>>774984>"Patterns of Enterprise Application Architecture"Т.е. про процессоры тебе старье, а Фаулеровские "ПАЦАНЫ! XML - ЭТО БУДУЩЕЕ" - это ок?> И во многих случаях от него для своей задачи отказался Ты же понимаешь, что вместо спринга можно вставить что угодно? Серебряной пули пока не подвезли.
>>774984Списочек минусов Спринга, который заставляет отказаться от него во многих случаях при разработке enterprise application, в студию!
>>775054Самый очевидный: он слишком попсовый, для такого крутого парня!
>>775054Спринг - это клубок лапши, сбитый гвоздями и перемотанный изолентой, для тех кто не осилил EJB и кому надо хуяк-хуяк, чтоб через час запустилось, а потом хоть трава не расти. Иногда это оправданный подход.>>775052В будущем XML радостно заменили на JSON (к которому работающего аналога схем так до сих пор и не подвезли) и решили что это все резко изменило.> вместо спринга можно вставить что угодноИменно об этом я и говорю. Книжки нужны для того чтобы понимать какие именно что угодно куда вставлять, а какие куда - не вставлять. И почему. И какие есть подходы к проблеме этого и к проблеме того. И какие у них минусы и плюсы.
>>775057>В будущем XML радостно заменили на JSONДа меня не конкретно XML там печалит. Меня печалит, что во многом книга о том, что тебе не пригодится. Какие паттерны испоьзовать при общении с бд? Хуятерны, возьми любую ОРМ и не выебывайся. Но нет, Фаулера ОРМ упоминаются вскользь и как что-то таинственное и очень крутое.>Книжки нужны для того чтобы понимать какие именно что угодно куда вставлять, а какие куда - не вставлять. И почему. И какие есть подходы к проблеме этого и к проблеме того. И какие у них минусы и плюсы.Найдешь мне хорошую книжку по сравнению различных технологий - свисти, с радостью почитаю. Обычно книжки задвигают либо без конкретики (тот же Фаулер), либо топят за свою любимую поделку (тот же спринг).>Спринг - это клубок лапши, сбитый гвоздями и перемотанный изолентой, для тех кто не осилил EJBБудто бы переусложненность EJB была плюсом. Именно IoC контейнер спринга - хорошо сделанная штука. Лапша, сбитая гвоздями и перемотанная изолентой, начинается, когда они пытаются AOP изображать (а изображают они его сейчас много где).
сап анончикив телеграмме есть уютная конфа по жабке https://telegram.me/joinchat/B7IzvT5twDRYYTqO0y7bQg
>>775063> о том, что тебе не пригодитсяТы лучше меня знаешь что мне пригодится, вероятно. > возьми любую ОРМ и не выебывайсяДавай обобщим это до "возьми X и не выебывайся" и обнаружим что типичной макаке не нужно вообще ничего кроме прилежания, аккуратности и нащальника, который будет хуярить бамбуковой палкой раз в полчаса за косяки.И постановим на этом основании что не нужны не только книги, но и множество иных вещей.Полезным ли будет такой наш вывод?> хорошую книжку по сравнению различных технологийНе бывает (почти - может быть они где-то и есть, утверждать не стану) хороших книжек по сравнению конкретных имплементаций конкретных технологий в конкретной экосистеме - уровень желаемой тобой конкретики ты можешь легко найти среди блогов, поискав по паттерну "X vs Y" (или "X sucks" и "Y sucks"), книжку ради перечисления десяти недостатков JOOQ конкретной версии для конкретных применений писать не стоит. И читать не стоит, если бы ее даже кто-то и написал.> Будто бы переусложненность EJB была плюсомСложность была, конечно, минусом.Плюсом была гибкость и даже некоторая стройность, достигнутая ценой сложности.В результате имеем Spring, давно превысивший все пределы сложности EJB, но стройности и уж тем более гибкости (высокоуровневой, а не микро - это важно) как не было, так и нет.В EJB сложность была up front - видна сразу и дизайнить надо сразу. Но всем хотелось быстренько нахуярить, а потом будем дизайнить - может быть, если время останется.Результат немного предсказуем.
>>775069>Ты лучше меня знаешь что мне пригодится, вероятно. Естественно я имел ввиду себя.>Давай обобщим это до "возьми X и не выебывайся" и обнаружим что типичной макаке не нужно вообще ничего кроме прилежания, аккуратности и нащальника, который будет хуярить бамбуковой палкой раз в полчаса за косяки.Ну так и есть, собственно. Зачем макаке больше?>В результате имеем Spring, давно превысивший все пределы сложности EJB, но стройности и уж тем более гибкости (высокоуровневой, а не микро - это важно) как не было, так и нет.Я не знаю, о какой гибкости ты говоришь. IoC настраивается так, как ты хочешь. Расскажи, что у тебя не получилось сделать в спринге, что ты сделал с EJB.
>>775057EJB - это клубок лапши, сбитый гвоздями и перемотанный изолентой, для тех кто не осилил Спринг и кому надо хуяк-хуяк, чтоб через час запустилось, а потом хоть трава не расти. Иногда это оправданный подход.>>775073Нет смысла разговаривать с вайлдфлайеебом - у него EJB головного мозга.
Привет анон, хочу вкатиться в спринг, написать какое нибудь приложение и устроиться жава макаком. Из кор жавы прочитал том хорстманна и алгоритмы сенджвика. Поэтому реквестирую какую нибудь литературу или туториалы чтобы вкатиться в спринг. С меня как обычно.
>>775240Питон паста.txt
>>775240Тебе не нужна Java.
>>775240spring in action
>>775286Спасибо няш, этого будет достаточно или стоит еще что нибудь почитать?
>>775291Рекомендую сначала прочитать как минимум про Servlet API, JSP, CDI.После этого будет более-менее понятно, откуда растут ноги у многих вещей в Spring.Без представления об этих вещах рискуешь привыкнуть "программировать мышкой".
>>775322Спасибо, укатился читать.
>>775322> "программировать мышкой".Что это значит ?
>>769211Есть ли уроки JavaRush в открытом доступе, или только за донат?
Почему не получается стилизовать fx формочки нормально через подключение стилей?scene.getStylesheets().add("path/stylesheet.css");работают стили, только если их прямо в коде к каждой кнопке прописывать
Спринг неудачный вариант для обучения. Язык сложный, возможностей мало. Сейчас каждая макака учит спринг, а потом не знает что делать с ним. Лучше попробуй 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 Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
>>775369Можно по-разному интерпретировать. Я в это понятие вложил смысл фразы "хуярить без понимания". Например, так происходит, когда копипастишь решения со stackoverflow, особо не разбираясь что, собственно, происходит.
Анон, такая хрень: занимаюсь я по книжке из шапки "Java для детей, родителей, бабушек, дедушек и таких долбоёбов как я" и фейлю с первым же заданием.Сделал ВСЁ как написано Переменная средыCLASSPATH .;Системная перемннаяPathC:\Program Files\Java\jdk1.8.0_91\bin(-это я добавил);C:\ProgramData\Oracle\Java\javapath;C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Skype\PhoneВ cmd прописываю как в книжке, но выходит пикрилейтед.Поясните, что за хуйня? Только так, чтобы понял такой имбецил как я.
>>775560>file not found: HelloWorld.java
>>775560линукс поставь
>>775565Он есть, и он нах-ся по верному адресу.
>>775560тебе нельзя программировать
>>775576можно
Что-то очень дохуя ворнингов скопилось в idea. Нужно ли потакать IDE или писать, как хочется?
>>775589Смотря какие ворнинги, очевидно же. Если тебе говорят, что моджно сократить конструкцию "if (a == true) {}", то это хороший совет с высокой долей вероятности. >>775560>"Java для детей, родителей, бабушек, дедушек и таких долбоёбов как я"Хуевая книга. В действительно версии "для даунов" было бы "установи ide, пидор, желательно idea" где то между нулевым и вторым пунктом.
>>775596Ладно, понял, буду изучать ворнинги, эспэсэ.
>>775596Ох как вы заебали с этой Идеей. Я, конечно, понимаю, что она охуенна и всё такое, но, блять, отбери её у вас -- и вы даже хеллоу ворлд не соберёте. Нахуй так жить? Пусть нуфаня потренируется с конпеляцией и запуском, хотя бы на кошках.
Бампану вопрос.>>775560
>>775618Пусть Хэд Ферст читает. Та хуита для бабушек и дедушек имеет лютые, просто пиздец какие ошибки, которые новичок не сразу увидит. Не факт, что увидит вообще. Я в самом начале пути тоже копипастил оттуда код и не понимал, почему он не работает. А потом выяснялось, что автор не удосужился упомянуть, что нужно импортировать какую-либо директиву или, еще хуже, вообще пропустил кусок вызывающего кода изучаемого метода.
>>775623Была такая трабла, пока не пересел на пингвинятину. Не помню, как решил, но очень много гуглил и пробовал разные варианты. Помню только, что нашел на одном форуме ответ, где мужик пишет, как прописать путь через командную строку, а не через окошечко. В общем, проблема в самом пути, твой терминал просто не видит утилиту javac. Гугли.
>>775625На форумах находил, но я хочу шоб прям по книжным лекалам, а то дальше могут быть нюансы которые всё испортят. Хотя, сразу вон какая хрень. Наверное сменю книгу как >>775624 советует
>>775628Это я и советую. Книга, которую ты читаешь была издана почти 10 лет назад. Хотя хэд фертс вообще вышла в 2004, но она просто эталон преподавательской литературы. Не знаю, найдешь ли на русском, но я на инглише почти все понимал. Сначала очень часто в переводчик лез, но потом освоился. И, да, если не понимаешь перевод некоторых языковых конкструкций или средств - пиши сюда, я либо кто-то еще тебе поможет.
>>775630>>775624Спасибо.
>>775618> как же вы заебали с этими людьми! Отберите у человека одежду, все вещи и инструменты, засуньте в пустыню Сахара и он даже воды себе попить не найдет, куда уж там до прожить всего лишь неделю. Нахуй так жить?
>>775640А вот и любители программировать мышкой пожаловали, хе-хе.
>>775618Ты наверное и classpath руками прописываешь, да? Если нет, то иди нахуй мудак. Надо сразу приучать людей к качественным инструментам, чтобы потом не натыкаться на блять проекты на сука ебучем анте в блять 2016 году, поубивал бы нахуй гандонов.
>>775641Выключи компьютер, возьми витую пару в руки и отправляй нули и единицы с помощью статического электричества.
>>775644Мне кажется что ты его неправильно понял.Он не агитировал за то чтобы прописывать classpath руками - лишь за то чтобы нуб один раз сделал это - и все остальное - руками, и понимал откуда что берется, где что лежит, и что где должно лежать.Засрали уже всю доску глупейшими проблемами "ой, что это оно мне тут пишет файл не найден".
>>775644Много вас по весне оттаяло, смотрю. Перед тем как начать пользоваться инструментами для удобства, неплохо бы понять, какие именно процессы облегчает инструмент. Кактус с антом жрать необязательно, достаточно лишь знать, что он нужен для облегчения сборки проекта. Но, извини меня, не знать, чем, как и во что компилируются java-классы и как запустить скомпилированный хеллоуворлд -- это "мы вам перезвоним".
>>775654А что лучше? Мавен?
>>775658Для кого лучше?По каким параметрам лучше?В каких случаях лучше?Половина вопросов на этой борде сводятся к "что мне сделать чтобы не думать"
Почему в JavaEE нет стримов?
>>775657> Но, извини меня, не знать, чем, как и во что компилируются java-классы и как запустить скомпилированный хеллоуворлдВ реальной жизни эти навыки никому не нужны - ну разве что ты собираешься писать новый Maven/Gradle - но это будет вообще апофеоз велосипедостроения.
>>775731Пользоваться командной строкой это хоть и не относится к джаве, но ващет важный фундамент для любого занятия. И то что пездюков этому не обучили в школе или они сами прогуляли уроки это очень печально. Пусть дрочит командную строку, любой хеловорлд на любом языке предполагает запуск из кс. А потом пусть учит баш, вим, лесс, тейл, тмукс, гит вот это вот все. Это не, жаба это сколько набор инструментов специалиста. Это знать надо, это классика!
>>775560Напиши это, если ошибка - проблема с путями.
Доброанон помоги понять работу методов put & get.Голова уже кипит.http://pastebin.com/yjt0aQac
>>775731> новый Maven/GradleВот такие долбоебы с IDE наперевес и пишут эти велосипеды с квадратными колесами.Потому что в make не умеют, про awk и sed не знают.
>>775699Потому что Оракел положил на нее хуй и всех занимавшихся Java EE уволил.http://arstechnica.com/information-technology/2016/06/oracle-boosts-cloud-sales-but-at-expense-of-java-and-everything-else/
>>775654> ой, что это оно мне тут пишет файл не найденА вот это уже проблема в человеке. Если человек не способен не то что погуглить проблему, а просто прочитать текст "файл не найден" и разобраться в значении этих слов, то он не то что для программирования негоден, он негоден для замены картриджей, а то застрянет бумага, а герой его выбросит нахуй, потому что не печатает.
>>775761один кладет в хранилище, а другой достает. Написано через жопу, конечно.
>>775788Тогда какие альтернативы использовать?
>>775820Хорошо обьяснил, малаца.Сам кое как понял изрисовав бумажку, а потом забыл.
>>775826Чего там понимать?
>>775825Стать сперморабом.
>>775833Интересно, зачем вообще тогда стримы нужны? Ведь основное назначение джавы это тырпрайз.
>>775839Чтобы кратко и гибко работать с последовательными наборами данных, а не писать длинные императивные портянки, которые хуй распараллелишь нормально.
>>775740>вимНахуй иди.>>775786>make И ты тоже.
>>775839В энтерпрайзе стримы нужны даже больше чем в веб-макаканииhttps://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.pla.doc/q005080_.htm
>>775825Купить всем памперсы и соски и внедрять NodeJS
>>775848Понятно. Это вопрос времени, когда вся тырпрайз разработка загнется.
>>775846Нет, это ты иди нахуй, спермовор.
>>775849Как будто там есть стримы.
>>775851Когда твой банковский процессинг будет на NodeJS написан макаками, презирающими транзакции? Хочешь себе такого будущего?
>>775849Тогда зачем мы все здесь учим джаву? Скажи нам!
>>775853Там микростримы, модные, молодежные, на коллбэках и промисах.>>775855Чтобы устроиться в лухософт джуниором за миску риса. Весь /pr об этом.
>>775854Не прикасался к ноде и к ее фреймворкам, которые выходят каждый день. Я вообще тут новичок и только-только выучил кор.
>>775857А как же серверные технологии?
>>775859Вместо них serverless технологии.Бери Docker, кидай в AWS, практикуй Agile
Core Java десятое издание вышло. Пока только первый том.
>>775865Что нового?
>>775866Не читал пока. Да и я вообще ньюфажина.Так, к сведению.
>>775867Для чего учишь джаву?
>>775869Интерес, + желание перекатиться в программирование.
https://twitter.com/puniverseco/status/745184778442276864
>>775872Сейчас имеешь какой-нибудь заработок или у мамки сидишь на шее? Какой лвл?
>>77587524Недавно уволился, есть накопления. Но надо чего-нибудь найти.
>>775877Кем работал?
>>775827как работает код
>>775887Инженегром в нефтянке.
>>775895Платят мало? Не понравилось инженерить буровые?
>>775904Он толстит, видимо.
>>775904Платили 65к.Но при этом ты живешь в диких ебенях 11 месяцев в году. Начальство - бывшие военные и их заискивающие холуи - как следствие полнейший долбоебизм, маразм, формализм и бюрократия. Работай я хотя бы вахтой (мес. через мес.) можно было бы и потерпеть. А так - извините, я один раз живу.
>>773710Очевидно чтобы избежать смертоносного ромба смерти
>>775925Ты выглядишь адекватным аноном, попробую тебе помочь с профориентацией в нашей говноайтишечке.> бывшие военные и их заискивающие холуи - как следствие полнейший долбоебизм, маразм, формализм и бюрократия.У нас тоже такое (или почти такое) есть примерно в тех же местах, только вместо буровых язык программирования Модула-2, а все остальное как ты описал.Java энтерпрайзная лучше, но тоже недалеко ушла от всего этого. Джуниоры корячатся во всевозможных лухософтах не поднимая головы, долбоебизм и маразм почти такие же, формализма и бюрократии поменьше, холуи такие же.Java не-энтерпрайзная - это практически только веб-бэкенды. Загибается медленно но верно, пожираема немного питоно-джангами и руби-рельсами, и много и все больше с каждой секундой - NodeJS.Так что может быть тебе лучше Javascript лучше поучить? Перспективней будет, и формализмов в среднем поменьше заметно.
Анон, прости за платину. Что вообще сейчас пишут на Java? Я вот недавно решил вкатиться, пару недель назад. Читаю книги для ньюфагов, пишу хелловорлды. В чем суть - один мой знакомый посоветовал мне задать себе конкретную цель. В общем, я думаю сделать простенький текстовый редактор, а в процессе учится и осваивать язык. Это вообще возможно сделать на Java? Или мне лучше отбросить эту идею и придумать что-то ещё?
>>775955>может быть тебе лучше Javascript лучше поучить?Вот даже не знаю. Мне хотя бы азы освоить, а выбирать можно бесконечно. Вообще тяжело перекатиться с Java на JS? И как там с трудоустройством?
БЛЯ, ПОСОНЫ, ХОЧУ ВКАТИТЬСЯ В ПРОГРАММИРОВАНИЕ@БЛЯ, ПОСОНЫ, РЕШИЛ, БУДУ УЧИТЬ JAVA
>>776044ВЫУЧИЛ@ПОЛУЧАЕШЬ 300К В СЕКУНДУ
Перекатываемся, судари:https://2ch.hk/pr/res/776055.htmlhttps://2ch.hk/pr/res/776055.htmlhttps://2ch.hk/pr/res/776055.html
>>776011Можно калькулятор, можно Мейнкрахт, можно текст редактор, можно просмотрщик изображений.
Легитимный перекат >>776122 (OP)Легитимный перекат >>776122 (OP)
>>767615 (OP)Поясните за "Head First java". Можно ли с нее изучать изучение явы, если за спиной только школьный курс паскаля?
>>778038перекатывайся дурачек
>>778056Перекатился