Этого треда уже нет.
Это копия, сохраненная 2 февраля 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
31 Кб, 750x422
Официальный™ тред Java #49 Perekoter !JLHGEtxGTk #903635 В конец треда | Веб
Добро пожаловать в официальный тред Senior Java Developers.

Шапка: https://github.com/qqqlll/Java-Thread/wiki
PEREKOT Perekoter !JLHGEtxGTk #2 #903639
Прошлый тред >>891251 (OP)
#3 #903640
Первонах
#4 #903648
System.out.println ("Вкатился");
#5 #903660
>>903635 (OP)
Бля, хочу уже работать, но вакансий нет, че делать? На собес ни разу не ходил.
903683
#6 #903669
Можно я нубовопрос задам?
903673
#7 #903673
>>903669
Нет.
903676
#8 #903676
>>903673
Ладно(
911326
#9 #903683
>>903660

>903635 (OP)


>Бля, хочу уже работать, но вакансий нет, че делать? На собес ни разу не ходил.


Дс?
903766
#10 #903723
>>903605

>А чем тебе JAX-WS не нравится?


Я так понял, что мне под каждый вызов придётся интерфейс писать, создавать инстанс и его уже дёргать. А надо-то всего лишь отправить имя команды на сервер и получить строку с ответом.
903777
#11 #903749
А хера у вас книжонки то на английском, когда есть уже русский перевод?
903764
#12 #903764
>>903749
А зачем? Ниасилил английский - джаву тем более ниасилишь.
903770904370
#13 #903766
>>903683
Хохлуша.
#14 #903770
>>903764
Хрена вашу Джаву асиливать? Там все как 2*2 = 4, еще илитная профа пхпхпххахах
903775
#15 #903775
>>903770
А английский ещё проще чем джава - сравни число джавистов и число говорящих по-английски.
904645
#16 #903777
>>903723
jax-ws dispatch api
интерфейсы писать не нужно - всё делается в рантайме
#17 #903778
>>903588

>https://github.com/reficio/soap-ws


ну 3 секунды в гугле, ну
#18 #904370
>>903764
А как все осиливают английский?
110 Кб, 640x640
sage #19 #904445
Что же стало с джява-тредом? Последние джва треда совсем мертвые.
904459904469904476
#20 #904459
>>904445
все перекатились на скалу. попробуй, понравится
#21 #904461
>>904459
Не на скалу, а в жс тред, тк работы тут нет.
904475904492
#22 #904469
>>904445
А какие могут быть вопросы по жаве? Она проста и логична
#23 #904475
>>904459
>>904461
Решил начать изучать джаву, что я сделал не так?
17 Кб, 600x445
#24 #904476
>>904445
До ньюфагов наконец-то дошло, что надо учить JS (после проебанных рублей и времени на обучение и множества проваленных собеседований), анончикам-олдфагам, дорабатывающим последние годы мертвого языка что обсуждать? Ничего нового не выходит, о реакте и ангуляре сраться не надо - работать надо пару лет до пенсии.
904477904480904498
#25 #904477
>>904476
Чисто из любопытства: сам ты на чем пишешь? Или ты из тех самых даунов, что попроходили кучу курсов по джаве, но слишком тупые, чтобы работать?
904482
#26 #904480
>>904476
Разве джава мертва? Вроде на superjob и hh не намного меньше, а то и больше вакансий, чем на js
904487
#27 #904482
>>904477
Работаю с Java шестой год, этом году направление закрывают и ухожу на пенсию - продукт переводят на NodeJS, т.к. проблемы с биг датой и производительностью.
904488
#28 #904487
>>904480
Нулл вакансий на жабе, 5 вакансий на пхп. Даже по базам SQL есть вака. мухосрань 300к
904491
13 Кб, 480x360
#29 #904488
>>904482

> проблемы с биг датой и производительностью


>продукт переводят на NodeJS


Ты бы постеснялся такую хуйню писать
904490
#30 #904490
>>904488
Ньюфаг.
#31 #904491
>>904487
Это была вся ИТ сфера. Я бы работал баристой, но не могу улыбаться успешноблядям и бери от жизни все, что пожелаешьблядкам.
905767
#32 #904492
>>904461

>тк работы тут нет.


похуй, морфизмы можно сидя на мамкином борще писать
#33 #904498
>>904476

> мертвого языка


Это не язык мёртв, а сама сфера IT.
#34 #904503
>>904459
Скала тред еще мертвее.
904526
#35 #904504
>>904459
дурак?? всё учать хескель.
904526
76 Кб, 576x416
#36 #904508
Посоны, хочу игру.
Двухмерная топ-даун ММО песочница вроде зельды на геймбоях.
Как считаете, жава осилит, или лучше на плюсах?
Посоветуйте какой движок может? :3
#37 #904510
>>904508

> топ-даут


this
37 Кб, 736x629
#38 #904512
>>904508

> продукт на pure java


> имеет графический интерфейс



Го анимацию открытия модалки на ассемблере запилишь, я создал.
904619
#39 #904526
>>904503
по крайней мере там проскакивает информация
>>904504
одно другому не мышает http://typeclassopedia.bitbucket.org
904585904700
#40 #904585
>>904526
Спасибо за годноту!
#41 #904619
>>904512
Я правильно тебя понимаю, ты говоришь что на java игры не пишут?
904623
#42 #904621
>>904508
Есть libGdx, но это не движок, а библиотека для кроссплатформенности и отрисовки.
#43 #904623
>>904619
Гугли Terasology. Хотя ясен хер, что волюметрик лайтинг и глобал илюминейшн, скрипты и крутая физика, тени сразу мимо.
904655
#44 #904642
>>904508
runescape на джаве написан, что тебе мешает?
#45 #904645
>>903775
Сравни число джавистов и число знающих латынь
30 Кб, 480x360
#46 #904655
>>904623
У него там LWJGL, OpenGL, 3D.
Мне бы просто тайлы двигать.
За ссыль спасибо, прошуршу его гитхабчик.
#47 #904700
>>904526

>по крайней мере там проскакивает информация


Просто в ява треде пишут в основном вкатывальщики. Вот и разбираем тут хеллоуворлды со спринг бутом который тред подряд.
#48 #904758
Подскажите, как не вляпаться в легаси джава-проект? Что спрашивать работодателя на собеседовании? Может, вообще устраиваться на позицию скалы (язык хоть и сложный, но зато сотрудники по-умнее будут, да и идет он всегда со свежим стэком).
904785904812
#49 #904785
>>904758
Спросить сколько лет проекту?
904812
49 Кб, 669x388
#50 #904809
>>903635 (OP)
Что не так, поясните? Ошибок не выскакивает, но пост не отправляется.

мимо-говнкодер-без-знаний
904816
#51 #904812
>>904758

> зато сотрудники по-умнее будут


> по-умнее


Тебя не возьмут.
>>904785
Это и плюс сколько архитектурных слоев в приложении. Если не будет четкого быстрого ответа, то это означает, что
а) ты пидор
б) Хендлер экзекьютором через фасад погоняет и в процессе через аспекты поебывает твою мать в жопу, пока ты этого не видишь, а первым твоим заданием будет сделать круглое дилдо и чтобы дилдаки можно было менять не трогая лобок и не отходя от кассы. И никого не ебет, что ты ни слова не понял.
в) это древний монолит (вероятно с хуевой модульностью) и немногое количество человек ебет как же все это работает (если таковые вообще есть), и если ты боишься серьезной работы и авгиевого говнища, то пиздуй ты нахуй оттуда. Прямо в JS-тренд, азаза.
Ну еще за тестирование спроси, но тут все очевидно.
904885
#52 #904816
>>904809
капчу так не обойдешь маня
904821
#53 #904821
>>904816
Так в /test/ капчи ж нет.
#54 #904885
>>904812
Неужели ты считаешь, что чем больше в твоем мнении говна, тем авторитетнее оно выглядит в глазах читателя? Мне жаль тебя, чувак.
#55 #904910
Сап джаваны, кто подскажет как сделать слой дао максимально гибким ?
904911904922
112 Кб, 400x400
#56 #904911
904915
#57 #904915
>>904911
Просто я глянул на это
https://github.com/anatoly-shamov/intern-dev-task/blob/master/src/main/java/dao/HibernateDao.java
и чуть не кончил, хочу так же
904922904923
#58 #904922
>>904915

> 2017


> Hibernate


> кривая реализация абстрактного недокруда


> и чуть не кончил, хочу так же


Охуеть. И ладно бы еще от спринг даты охуевал, она все-таки доставляет для неискушенного реальной жизнью глаза, но это.
>>904910

> как сделать слой дао максимально гибким


Интерфейсы, спринг дата, хибернейт. Будет тебе "гибкость".
А до хорошего сам дойдешь. Может быть.
904924904926
#59 #904923
>>904915
Ну и транзакционность на дао - мы вам перезвоним.
904924
#60 #904924
>>904923
>>904922
Ну спринг дату видел, тип предоставляет дефолтную реализацию. Но ведь там ограничено количество методов, остальное придется самому дописывать, то есть большую часть.
904929
#61 #904926
>>904922
И если этот абстрактный круд кривой, покажи годный.
904929
#62 #904929
>>904924

> Ну спринг дату видел, тип предоставляет дефолтную реализацию.


Какую дефолтную реализацию? Реализацию чего? И чего дефолтного?

> там ограничено количество методов


И этому есть причина. Предоставляет быстрый инструмент для стартапчиков, позволяющий быстро дописать то, что немного сложнее круда.

> остальное придется самому дописывать


Это называется работа. Никто за тебя не напишет корректные джоины по индексам дохуилиона страниц с выборкой нужных колонок, агрегацией части данных, и оконной функцией в CTE и сортировкой получившегося резалт сета.
>>904926
Я считаю, что даже самый последний дурак, считающий, что станет программистом, способен использовать гугл и понять оттуда концепцию круда. Но ты ведь намного умнее указанного типажа? Тогда в чем проблема?
904930904932
#63 #904930
>>904929

> таблиц

#64 #904932
>>904929
Ладно, спасибо за пояснения. Вот допустим я студентик, написал пару некрудов на гит. Что делать дальше, когда следует слать резюме ?
904933
461 Кб, 1016x1065
#65 #904933
>>904932
Шли резюме прямо в мы вам перезвоним тренд.
4 Кб, 1049x84
#66 #905374
Для чего это в idea?
905391
#67 #905385
Решил вкатиться в Java, начал с книги Thinking in Java 5th edition. Все правильно делаю?

опыт программирования есть, но давно ленюсь и нихуя не делаю, решил вот не просирать жизнь и снова взяться за это дело.

C-блядок.
905389905500
#68 #905389
>>905385
Ты бы еще в кобол вкатился.
905390
#69 #905390
>>905389

Не понял, это новый мем что Java ВСЁ? Еще в начале треда пишут об этом.

Так куда вкатываться то?
905392905395905495
#70 #905391
>>905374
бамп вопросу
#71 #905392
>>905390
Это старый мем, пиздуй в JS тред.
905394
#72 #905394
>>905392

Нахуй мне JS блять? Что я на нем писать буду? для меня программирование в первую очередь это эксперименты и занятие для себя, а уж потом поиск работы ИРЛ.

На С я ковырял низкоуровненную хуету, Winapi и вот это все. На Java тоже найду что то интересное для саморазвития.

Что я на JS делать буду? стану веб макакой только потому что в твоем мухосранске на 5 ваканский больше?

иди нахуй
905401905413
56 Кб, 920x760
#73 #905395
>>905390
Уже не мем
905396905479905490
#74 #905396
>>905395

И что?
905397
#75 #905397
>>905396

>2k17


>Изучать мертвые технологии

905399
#76 #905399
>>905397

>все еще первое место в рейтинге


>мертвые технологии



маня плиз
905407
#77 #905401
>>905394

> Что я на JS делать буду?


Все что угодно.
#78 #905407
>>905399
Когда-то и Си был первый в рейтинге, так и что?
Джава уже умирает, это давно стало очевидно. Прикладное программирование изжило себя, остался только энтерпрайз, но и он не будет долго жить
905489
#79 #905413
>>905394
А на js по-твоему значит нельзя в винапи?
#80 #905479
>>905395
Ну да, визуал бейсик скален!
905481
#81 #905481
>>905479
Visual Basic.NET == C#
905484
#82 #905484
>>905481
Почему тогда у решеток такое же падение?
905487
#83 #905487
>>905484
Потому что решетка это пиратская Java на волнах баттхерта мелкомягких. Если бы не юнити и гейдев, то был бы на уровне рубипидоров или даже хуже.
#84 #905489
>>905407
Жава и есть внезапно тырпрайз.
А отрицательный рейтинг - это падение не абсолютной доли, а относительной: новые языки растут, это не секрет.
В общем по всем аспектам жава пока впереди планеты всей: скорость, надежность, простота, эффективность, популярность, доступнось, открытость, масштабируемость, модифицируемость, и еще 100500 параметров.

Жава уступает только в одном сегменте - где низкий уровень, там до сих пор безальтернативен си, без крестов.
В остальных сценариях нет причин не пользоваться жавой, кроме долбоебизма головного мозга и тяги к сложностям на ровном месте.
909185
#85 #905490
>>905395

> нет хескеля


Говно, а не рейтинг.
905496
#86 #905495
>>905390
Посмотри измненение частоты поискового запроса "java" в гугле.
905501
#87 #905496
>>905490
Он у параши на 23м месте
#88 #905500
>>905385
Не верно. Прочитай за >2 недели хорстмана, нихуя не делай - тупо читай, потом хуярь чатик на NIO без либ (тогда и почитаешь Thinking in Java). После можешь накатить Efficient Java, если няшно-блядок, поймешь немного сути.
Потом в спринг вкатуйся.
905502905508905686
152 Кб, 2310x1198
#89 #905501
>>905495
Все в процентах упал, просто у джавы проценты больше.
905654
#90 #905502
>>905500
<2 недели, конечно же.
Не читай о графическом прогораммировании.
#91 #905508
>>905500
Почему чатик и почему именно на NIO?
905510
#92 #905510
>>905508
Потому что это не описано в хорстмане, и мне кажется что это важно. Можешь сразу в спринг вкатываться, или в что тебе интересно.
NIO важная часть и ее нужно понять. Чатик - не что иное как самое простое клиент-серверное решение. Еще специальный протокол можешь придумать.

Что веб-серверы на жаве, что игрушки, все юзают NIO для работы с подключениями.
905512
#93 #905512
>>905510

>Юзают, но в блокирующем режиме.

905513
#94 #905513
>>905512
Да, NIO чатика должен быть неблокирующим. Это бля, весело.
Еще юнит-тестами все покрыть - в декомпозиции поупраэняться.
46 Кб, 1629x741
#95 #905654
>>905501
Можно ли сказать, что программирование в целом начинает умирать?
905656905664906678
#96 #905656
>>905654
Куда можно перекотиться? Послашал этих 200к\сек из /Бе, проебал время только.
#97 #905659
Такой вопрос: какие из фишек Джавы у вас спрашивали на собесах/вы слышали от коллег-фанатиков, но ни разу не видели в применении?
Начну я - weak ref/smart ref-ы. Трудно представить где это нужно, кроме самой VM, хотя примеры можно придумать с использованием каких-то особо толстых кэшей/IMDB.
905685905783905924
#98 #905664
>>905654
Нет, нельзя. Все и так уже знают, что такое программирование, а гуглеж теперь идет на более специальные темы.
#99 #905685
>>905659
Ты их не видишь, потому что умные дяди уже все запихнули куда надо, а если ты начинаешь в них лезть:
1) Не лезь блядь дибил сука ибаный! Она тебя сожрет!
2) Ты уверен что это будет правильным решением, а не следствием кривой архитектуры?
3) Ну если ты знаешь, то ОК, тогда ты и сам большой дядя который может писать либы.
905924
#100 #905686
>>905500

Мне пока нравится стиль Thinking in Java, так что продолжну читать. К тому же ничего делать и тупо читать я не могу.
905765
#101 #905744
Реализуйте метод, возвращающий true, если среди четырех его аргументов ровно два истинны (любые). Во всех остальных случаях метод должен возвращать false.

В качестве примера уже указано заведомо некорректное решение задачи. Исправьте его.

public static boolean booleanExpression(boolean a, boolean b, boolean c, boolean d) {
return a & b & c & d;
}

Не смог справиться в своё время с этой задачкой, может кто-нибудь разжует?
#102 #905749
Что скажете про джава раш? Курсы для даунов или реально годнота?
905758905760
#103 #905750
>>905744
Ты хуй? Насри себе в рот : поебись с конем.
#104 #905758
>>905749
Очевидно же что годнота для даунов, научат примитивам а дальше ебись сам.
#105 #905760
>>905749
я вот это проходить начал.

https://stepik.org/course/Java-Базовый-курс-187/syllabus

Если хочешь то закатывайся тоже, можем вместе тупить. Отпиши если хочешь вместе разбираться и решать задачи оттуда.
908550908551
#106 #905762
>>905744
Тупо же:
return (a?1:0)+(b?1:0)... == 2;
905763
#107 #905763
>>905762
Не, такого еще не давали, никаких тернарных операторов. Тут надо булевой логикой разрулить, а не if'ами
905770905864
#108 #905765
>>905686
Как знаешь, бро, но потом все равно придется навернуть фичи современной Java.
#109 #905767
>>904491
Да ты холдер в руках держал на 15мл? Иди блять с 7кой работай, баристой он, блядь, захотел побыть.
905790
#110 #905770
>>905763
А тернарный оператор - это не булева логика?
Ну тогда
int sum = 0;
if (a) sum++;
if (b) sum++;
...
return sum == 2;
905775905792905821
#111 #905775
>>905770

>if (a)


>if


>Тут надо булевой логикой разрулить, а не if'ами



Вот пример неправильного (наверное) ретерна из комментов, надо как-то так.

return (a&b)^(a&c)^(a&d)^(b&c)^(b&d)^(c&d);
#112 #905783
>>905659

> weak ref/smart ref


Первый раз о них услышал. Почитал статьи, пописал код, вспомнил недавний бузинес-кейс, где можно было софт рефы использовать, но посмотрел видео с медведем и успокоился.
#113 #905790
>>905767
Еее, молоко взболтни.
#114 #905792
>>905744
>>905770
Это бред, для дебилов каких-то.
4 Кб, 1049x84
#115 #905812
Вы можете объяснить что не так с IDEA на этом пике?
905814
#116 #905814
>>905812

У меня такая же хуйня, просто пропустил
#117 #905818
>>905744
!((a ^ b ^ c ^ d) | (a & b & c & d))
905824905836
#118 #905821
>>905770

>А тернарный оператор - это не булева логика


Нет, тернарный оператор это сахар для if'a. Булева логика это множество значений {true, false} вместе с определёнными операциями &, |, ^, ! на нём.
#119 #905824
>>905744
Хотя не, на четырёх нулях неправильный ответ будет моим способом.

>>905818-кун
#120 #905831
>>905744
Можно наверное так:
!((a ^ b ^ c ^ d) | (a & b & c & d) | (!a & !b & !c & !d)), но уже как-то не особо красиво. Надо подумать можно ли упростить.
905833905836
#121 #905833
>>905831
Я просто оставлю это здесь:

> 10.5 Miscellaneous Practices


> 10.5.1 Parentheses


> It is generally a good idea to use parentheses liberally in expressions involving mixed operators to avoid operator precedence problems. Even if the operator precedence seems clear to you, it might not be to others-you shouldn't assume that other programmers know precedence as well as you do.



> if (a == b && c == d) // AVOID!


> if ((a == b) && (c == d)) // RIGHT



За подобную хуитку нужно безжалостно деклайнить пры.
905839905841
#122 #905834
C# ЛУЧШЕ
И ВООБЩЕ СКОРО .NET CORE ВАШИ ЛИНУПСЫ ЗАВОЮЕТ
905835
#123 #905835
>>905834
Да, это так.
#124 #905836
>>905818
>>905831
Разжуйте как вы дошли до этого? я вот только с подсказки понял про вот такой вот метод:
(a & b & !c & !d) ^ (a & !b & c & !d) ^ (a & !b & !c & d) ^ (!a & b & c & !d) ^ (!a & b & !c & d) ^ (!a & !b & c & d)

Но это полный кек очень втупую, а хочется понимания как это дело можно упрощать хотя бы до 3 скобок как у вас.
905840905846905853
#125 #905839
>>905833
а что там тебе не понравилось?
вот это вот что ли:

>(!a & !b & !c & !d)


??

Предлагаешь ((!a) & (!b) & (!c) & (!d))
905844
31 Кб, 600x400
#126 #905840
>>905836

> (a & b & !c & !d) ^ (a & !b & c & !d) ^ (a & !b & !c & d) ^ (!a & b & c & !d) ^ (!a & b & !c & d) ^ (!a & !b & c & d)


Упростить.
create task "Упростить"
mark as Needs Work
#127 #905841
>>905833
Не совсем уловил твою мысль. Я выделил скобками подвыражения, где используются одни и те же операторы, т.е. у меня нет mixed operators в подвыражениях. Или ты хочешь чтобы я писал (((a ^ b) ^ c) ^ d)? Или наоборот, чтобы убрал скобки?
#128 #905844
>>905839

> а что там тебе не понравилось?


Да мне все там не понравилось от начала строчки до ее конца. Подобная задача - работа условных операторов, тернарников в частности, а не булевых операций с которыми по-прежнему однострочник и делающаяся работа читается как английский по белому, а не невразумительная последовательность булевых рун. Обязательность юнит-теста для такого условия я и не говорю.

Что с тернарником, что булевыми рунами один хуй зависимость от числа аргументов. Вот только с тернарником проще, короче и читаемее, а за вышеперечисленные разные варианты нужно руки отрывать.
#129 #905846
>>905836
Счас расскажу.
xor это как + по модулю 2.
a1 ^ a2 ^ ... ^ an = a1 + a2 + ... an mod 2 = 0 тогда и только тогда, когда среди "слагаемых" чётное число true/1, а всё остальное false/0.
По условию задачи у нас 4 переменных, !(a ^ b ^ c ^ d) выдаст true/1, когда среди них ниодного true, 2 true или 4 true. Чтобы исключить ноль и четыре true надо добавить условия:
!(a ^ b ^ c ^ d) & !(a & b & c & d) & !(!a & !b & !c & !d)
Выносим "не" за скобку по закону де Моргана и получаем ответ.

Ещё можно просто угадать, что тут как-то замешан xor. Построить таблицу истинности для a ^ b ^ c ^ d. И увидеть, что это false, тогда и только тогда, когда true в выражении чётное количество.

для справки https://en.wikipedia.org/wiki/Exclusive_or#Relation_to_modern_algebra
905849
#130 #905849
>>905846
Если бы я увидел что-то вроде a ^ b ^ c ^ d в коде, мои крики "что за пидор это написал" слышали бы в соседнем здании точно.
905852905856
#131 #905851
Нахуй всех уволил бы, если такой булевой поебенью занимались бы в реальном проекте. Надо посчитать сколько true - ну посчитай и не еби мозг.
return Stream.of(a,b,c,d).filter(b->b).count() == 2;
905862906016
#132 #905852
>>905849
Бтв, про тернарные операторы в большинстве случаев такая же реакция. Видел у js коллег в коде что-то вроде: a ? b = c : null; Это вообще каким мудаком надо родиться, чтобы тернарный оператор использовать как обычный иф без элса?
907474
#133 #905853
>>905836
Ну и может расскажу ещё что такое "по модулю 2".
Это типа как обычные числа 1, 2, 3, ... n, n + 1. Только они закольцованы. Выставляем n + 1 = 1 и гуляем по кругу. Если гулять по модулю 2 начиная с 0 будем идти так: 0, 0 + 1 = 1, 1 + 1 = 0 (по определению), 0 + 1 = 1. Получается 0, 1, 0, 1.

Можно по модулю 3 гулять: 0, 1, 2, 0, 1, 2 и т.п. Надеюсь суть ясна.
905859
#134 #905856
>>905849
Задача скорее математическая, про булеву алгебру. Просто в контексте курса программирования. Булеву алгебру в отрыве от программирования немного покрутить полезно.
905859
#135 #905859
>>905856
В каком её месте полезно курить? Чтобы потом такие дебильные задания для новичков пилить? Очень полезно. Дальше побитовых операций вообще ни разу не пригодилось.

>>905853
Проснись, ты обосрался. Иди круды писать. Гуляет он по модулю, блять.
905860
#136 #905860
>>905859
Ясно, байтослесарь ебучий, иди пиши сайтики, хуйло. Вся суть явабомжей итт.
#137 #905862
>>905851
Два чая. Когда читал Java 8 in action - терял сознание от охуенности. Жаль, что на работе 7 jdk и обновление будет примерно никогда нескоро.
#138 #905864
>>905763
>>905744
Ненавижу задачи типа:

> ну короче реши такую задачу


> хм, но тем что вы дали решать глупо, давайте возьмём материал из след. уроков и решим им?


> ниииилзяяяя, решай так, ебись 3 дня, но реши!!!

905867
20 Кб, 271x303
#139 #905867
>>905864
ТЕТЯ СРАКА 60 ЛЕТ НАЗАД НАПИСАЛА НА ОТХОДНЯКАХ УЧЕБНУЮ ПРОГРАММУ И ДАЛА ЗАВЕТ УЧАЩИМСЯ УЧИТЬСЯ ПО НЕЙ - УЧИСЬ ПО НЕЙ! НЕ ХОЧУ! ХОЧУ УЧИТЬСЯ БЫСТРО, ЭФФЕКТИВНО И КАЧЕСТВЕННО! ГОВНО КАКОЕ-ТО, А НЕ УЧАЩИЕСЯ
sage #141 #905870
Посоны, поясните за формат вывода строк в Java. Почему это не работает?

System.out.println("Hello, today is :", new Date());

или

System.out.println("Hello, today is :"), new Date());

как сделать так чтоб работало в одном вызове System.out?
sage #142 #905871
Приходится делать так

System.out.println("Today is : \n");
System.out.println(new Date());
#143 #905872
>>905870
Эх, нюфек.
System.out.println("Hello, today is :" + new Date());
905873
sage #144 #905873
>>905872

Бля, точно. Я привык использовать запятые. Спасибо няша.
905917
#145 #905874
>>905870
В гугл читать про конкатенацию строк. Если хочешь через запятую аргументы - в гугл читать про форматирование строк.
905881
sage #146 #905881
>>905874

>конкатенацию строк.


а ты сук умный, молодец
905882
#147 #905882
>>905881
Он возможно умный, но ты точно !умный.
905885
#148 #905885
>>905882
ну и ладно
#149 #905913
>>905870
Потому что не запятая, а плюсь
#150 #905917
>>905873
Это где так?
#151 #905923
Анон я так понимаю что тип дженериков проверяется не в рантайме, а на этапе компиляции ? Если это так, то можно ли это обойти. И где можно почитать про их внутреннее устройство ?
905926905967
#152 #905924
>>905659
>>905685
Ну так что, какие ещё фишки? Меня как-то раз доспрашивали на собесе, как устроен хэшмап внутри. Я хоть и читал исходники когда-то, но подзабыл, и отвечал с точки зрения как я бы делал. Им понравилось.
905937905949
#153 #905926
>>905923
О дженериках у Эккеля должно быть нормально написано.
#154 #905937
>>905924
У меня нет коллег фанатиков. И вообще я на ведре, а там все очень печально, даже MethodHandle не завезли. Насчет крутых фишек почитай JEPы Panama и Valhala. Ну и Graal
#155 #905949
>>905924

> как устроен хэшмап внутри


Ну это нормальный и абсолютно имеющий отношение к практической реальности вопрос.
905958
#156 #905958
>>905949
Оптимизации сейчас уделяется очень мало внимания. Хуяк-хуяк и в продакшен. А в их случае это была трейлинговая платформа, поэтому для них было важно, что не такой частый случай.
905961
#157 #905961
>>905958
Трейдинговая*
#158 #905967
>>905923
Типизация дженериков проверяется в компиляции. Это просто сахар, тут тебе не сисярп. В рантайме вообще никаких дженериков нет - вытерты type erasure в "ближайшие" типы. И если тебе в рантайме приспичит сделать каст в "дженерик", то рискуешь поймать ClassCastException. Ну и вообще каст к дженерику это костыль, говорящий о хуевой архитектуре.

> ?


> ?


Что заставляет людей нажимать лишний раз пробел перед вопросительным знаком?
905983905987
#159 #905975
>>903635 (OP)
Подскажите как вкатиться на джуна, и какой нжуен минимум знаний чтобы собеседование пройти.
905979905980906003
#160 #905979
>>905975
Ты бы еще в кобол вкатился.
#161 #905980
>>905975
Мне тоже самое, только на мидла, подскажите.
905997
#162 #905983
>>905967

>Ну и вообще каст к дженерику это костыль, говорящий о хуевой архитектуре


ArrayList еще почему-то не сломался.
#163 #905987
>>905967
Спасибо, но почему они стирают типы на этапе компиляции, а не в рантайме(как в шарпе)?
906020
#164 #905997
>>905980
В мидла не вкатываются, в него вырастают после 5 лет работы.
906000
#165 #906000
>>905997

>мидла


>5 лет работы

906039
#166 #906003
>>905975
Это зависит от твоей локации. В Киеве из 79 вакансий(на dou) только 27 мидловых. Никаких джунов естественно нет.
#168 #906020
>>905987
Они не стирают, их нет. А в шарпе про женерик тащится инфа, она не стирается.
#169 #906039
>>906000
Да, чувак, тащить проекты начинают после 5 лет, до этого учатся.
#170 #906201
Анон, как убедить начальство перейти на 8 джаву? Кровавый скучный ынтырпрайз, сравнительно недавно перекатившийся только на 7. А мне хочется чего-то нового, модного, хочется лямбд, указателей на методы, стримов и прочих понтовых штук.
Какие аргументы можно предъявить? Начальство разумеется будет давить на "раз все работает то и нехуй менять".
#171 #906213
>>906201
Раз все работает, нахуй все менять?
906216
#172 #906216
>>906213
Мне лично хочется чего-то нового, плюс я попробовал немного функциональные языки и хочется что-то из этого использовать и в джава-коде. Я при этом единственный разработчик серверной части, так что нет проблем в виде коллег которым будет влом вникать в стримы. Но поскольку это кровавый ынтырпрайз, у меня нет возможности стукнуть кулаком по столу и залить втихаря на прод 8 джаву самостоятельно.
#173 #906258
>>906201
Такая же проблема. На джаву 8 перейти вообще нереально в нашей компании, ну я и решил добавить Котлин в проект и переписать самый страшный код с анонимными классами в функциональном стиле. Так наши синьоры в лямбды же не могут - пришлось убрать библиотеку. Вывод для себя сделал, буду устраиваться на Scala-должность (пока экспериментировал с котлином, открыл для себя это чудо). Сейчас заканчиваю показательный проект и буду рассылать резюме.
906261
#174 #906261
>>906258
Я легко могу представить эти многоэтажные лямбда-уродства от нюфажика. Так что думаю дело не в плохих сеньорах, а в том что одно говно привычное сменили на другое.
906324
46 Кб, 620x620
#175 #906324
>>906261
Почему обязательно многоэтажные? Хотя, при должном оформлении, они читаются все-равно гораздо легче.
906364
35 Кб, 350x513
#176 #906346
>>906201
Сбертех?
906357906575
#177 #906349
Хорстманн подойдет для вкатывания в джаву?
906362
#178 #906357
>>906346
Какой ЦК?
906455
#179 #906362
#180 #906364
>>906324
Потому что упоминались анонимные классы, которые очевидно содержат не однострочные методы.
906368
#181 #906368
>>906364
Ты синтаксис лямбд видел вообще?
list.forEach(a -> System.out.println("a=" + a));
Как раз все сделано для однострочности.
906462
#182 #906455
>>906357
Перепиливания монолитного говна в монолитное модульное говно.
#183 #906462
>>906368
Алё, контекст обсуждения - рефакторинг анонимных классов в лямбды. Очевидно, методы анонимных классов не однострочные, вроде бы импликация здесь не сложна, нет?
906482
#184 #906482
>>906462
Возможно возникло недопонимание, но с самого начала подразумевается преобразование таких конструкций

CollectionUtils.transform(collection, new Transformer() {
@Override
public Object transform(Element elem) {
return elem.getSomething();
}
});

в такие:

collection.map(_.getSomething)

Единичная подобная операция еще более-менее читаема в терминах анонимных классов, но если их несколько, то начинается сущий ад.
#185 #906519
Сап, джаванимусы, есть немного философский вопрос. Пилю простенький учебный проект на сервлетах+jsp+jdbc, и возникла такая проблема: у меня есть класс, который, используя jdbc, ходит в базу данных и производит различные операции. Проблема в том, что со временем количество различных методов в этом классе выросло до неприличных размеров - он у меня и селектит, и вставляет, и обновляет, и проверяет кое-какие флаги.
Вопрос простой: что с этим делать?
Разделять на множество классов, типа класс-селектор, класс-инсертер, класс-апдейтер?

И вдогонку. Что лучше: выделять по соединению к бд на каждое обращение к сервлету или создавать сессии и выделять по соединению на сессию? Или делать что-то еще?
#186 #906524
>>906519

>И вдогонку. Что лучше: выделять по соединению к бд на каждое обращение к сервлету или создавать сессии и выделять по соединению на сессию? Или делать что-то еще?


Берешь jdbc connection pool по вкусу и берешь из него соединения когда потребуются, только возвращать не забывай.
906537
#187 #906526
>>906519
Берешь гугл и изучаешь паттерны дао и репозиторий до кучи (хотя они похожи).
906537
#188 #906530
>>906519
У этого класса должно быть всего 4 основных метода, по числу операций. Ну и пара вспомогательных для флагов.
906533
31 Кб, 512x512
#189 #906533
>>906530

> У этого класса должно быть всего 4 основных метода, по числу операций.


Оу бой, ю хев со мач ту лерн.
906542906579
#190 #906537
>>906526
>>906524
Ладно, спасибо. Пойду гуглить потихоньку.
#191 #906542
>>906533
Тебе лично я разрешаю иметь один метод execute() и кучу билдеров (или даже один).
906544
#192 #906544
>>906542
Ты даже не понял что я имел в виду.

> Оу бой, ю хев со мач ту лерн.

906545
#193 #906545
>>906544
А ты сам понял, что написал? Это какой язык вообще?
906547
#194 #906547
>>906545
Это нурискрипт, ньюфаг.
906553
#196 #906559
>>906519

>сервлетах+jsp+jdbc


Замени на spring+jpa

>что с этим делать?


Разделить по доменным объектам. Как сказали выше, это будет DAO|Repository. Т.е. вместо одного супер-пупер-класса будет UserDAO, HuitaDAO, ZalupaDAO, например.
906561906567
#197 #906561
>>906559

>Замени на spring+jpa


Планирую следующим шагом как раз этим заняться.

>Разделить по доменным объектам


Да, уже понял идею.
Спасибо.
#198 #906562
Можно ли вкатиться в java core за полгода?
906567906939
#199 #906567
>>906562
Нет.
>>906559
Успеется со спрингом и орм. Особенно со вторым. Один хуй потом придется писать SQL. Много.
#200 #906575
>>906346
Ноуп. Думаю такая ситуация много где есть. Ынтырпрайз очень медленно на новые технологии переползает. Сейчас еще и на 6 джаву можно много где напороться, а в клинических случаях древнего легаси - и даже на более старую.
#201 #906579
>>906533
Боженьки мои, да пусть лепят свои дао на хибернейтах. В конечном счете, есть узкие области где jooq не справляется.
906593
#202 #906593
>>906579
Лол, сравнил лопату с трактором.
#203 #906678
>>905654
Можно только ради того чтобы ты успокоился и принес наконец двойную колу
#204 #906679
>>906201

>Анон, как убедить начальство перейти на 8 джаву?


Скажи что ты готов возместить весь материальный ущерб от возможных убытков по причине перехода на java8.
906779906924
#205 #906779
>>906679
Обратная совместимость совместимостью, но у моего друга работавшего в люксофте проектик для карт нихуя не собирался на восьмерке, а было там говно мамонта, которое антом собирали.
906829906844906861
#206 #906829
>>906779
Тому що это прекрасный триггер говнософта. Видел похожее у местечковой компании Диасофт. Амбициозные, но бездарные программисты лезут безосновательно в разработку системного уровня/подпрограммного обеспечения - класслоадеры, unsafe - вот это всё. И вполне обоснованно получают грабли на ровном месте.
#207 #906844
>>906779
Оно бы и на 7-ке не собралось вангую. На переходе от 6 к 7 всю совместимость поломали в криптографии, например (то есть в 6 там были пустые заглушки, лол)
#208 #906861
>>906779
ко ко ко
теперь во время компиляции зависимости нужны на класспасе все интерфейсы других зависимостей ололо.
мимо крокодил который два легаси перетаскивал с шестерки на восьмерку
#209 #906924
>>906679
Еще чего, буду я им там возмещать. Даже не говоря о том, что в любом серьезном ынтырпрайзе простой серверов в течение нескольких часов из-за сбоя может стоить столько денег, что ты даже своей жопой не расплатишься.

Нет, есть ли какие-то внятные аргументы в пользу перехода на более новые технологии?
Мигрировать-то все равно рано или поздно придется, когда старые версии перестанут поддерживаться и патчиться. Только тогда это будет намного больнее.
906926907383
#210 #906926
>>906924

>Нет, есть ли какие-то внятные аргументы в пользу перехода на более новые технологии?


Ну, красота кода - к сожалению, не аргумент для бизнеса. Так что только более существенные вещи (безопасность, экономичность, зависимости: например некая библиотека для вебсокетов требует только 8-ку).
907383
#211 #906939
>>906562
Если бэкграунд есть, то да.
Сам вкатился за полгода после двухтомничка Хорстамана. Но это было 5 лет назад.
#212 #906940
>>906201
Переходил с 6 на 7 и с 7 на 8 прописав java version в помничке. Учись, студент.
906945907063
#213 #906945
>>906940
Ты конечно ловкий жучара, но только этот фокус прокатит, лишь если ты админ локалхоста.
24 Кб, 704x528
#214 #906970
>>905744

public static boolean booleanExpression(boolean a, boolean b, boolean c, boolean d) {

int r =0;

If (a){r++;}
If (b){r++;}
If (c){r++;}
If (d){r++;}

If (r==2){return true;}
Else return false;
}
906980907993
sage #215 #906980
>>906970
лучше сделай так:
int r = a+b+c+d;
Если java автоматически приводит тип bool в int: true в 1, а false в 0. Если нет, то приведи bool в int вручную.
sage #216 #906983
>>905744
20 минут ебли с булевой алгеброй и рисованием хуев логических вентилей и вот, что я получил

public static boolean booleanExpression(boolean a, boolean b, boolean c, boolean d) {
return ((a ^ b) ^ !c) ^ d;
}

мимо-906980
907039
#217 #906987
Временно перекатился на линь. Скачал IDE, OpenJDK 8.
А потом обнаружил, что IDE не может найти JavaFX.
Он в OpenJDK отсутствует, надо отдельно качать? Или это вообще проблема не в JDK, а IDE шалит?
907006907044
#218 #907006
>>906987

>Он в OpenJDK отсутствует


Хуле тебе не понятно.
907017
#219 #907017
>>907006
Это вопрос был, дегенератор
907106
#220 #907039
>>906983
Хуйня какая-то. По смыслу задачи выражение должно быть симметричным.
У тебя же, если все аргументы - false, то результат тоже равен true.
908051
#221 #907044
>>906987
А чо не оракловский?
907045
#222 #907045
>>907044
ККОКОКОКОКОКОКО
ЖМУ/ПИНУС, ШВАБОДКА, ПИТУХИ,
КОКОКОКОКОКОКО
907049
#223 #907049
>>907045
Кек, году так в 2012 у опенждк6 были жуткие расхождения с официальным. Вплоть до того что там какие-то константы были по-другому названы (связанные с работой с файловой системой), мне приходилось переименовывать их каждый раз, когда я компилялся с разными SDK.
#224 #907059
Нахуй вообще нужен openJDK? Слышал, что там коммитятся фичи, который будут в оракловском ждк, но что-то я там не видел новых сборщиков мусора и jigsaw.
907071
#225 #907063
>>906940
В серьезных компаниях накатыванием софта на продакшен сервера занимаются админы, только по запросу утвержденному у начальства. Повторюсь, незаметно это не сделать - у меня на продакшене вообще прав нет, только на запуск/остановку томката и доступ к его папкам logs, webapps и conf. Никакую джаву я там обновить не смогу.
#226 #907071
>>907059
Ну так швабодка же
907118
#227 #907074
Сап, код-манкис
Задача такая - нужен сервис для хранения mp3 который позволяет получить прямые ссылки на этот файл.
Ссылку буду использовать в своем бекенде.
Проблема в том еще, что мне нужно будет каждый день заливать новый файл и юзать прямую ссылку на него также
Как это все автоматизировать?
Или какой сервис позволяет использовать одну статическую ссылку, но менять файл который по ней лежит?

Свое решение пилить не очень хочеться
907075907122
#228 #907075
>>907074
Поясни подробней. А то нихуя не понятно.
907080
#229 #907080
>>907075
У меня есть бекенд, который на определенный ендпоинт возвращает JSON.
В этом JSON должна быть прямая ссылка на mp3 файл (для скачивания)

MP3 должны хранится на удобном сервисе, чтобы заливать новые каждый день, типа подкаст, новости

Мне нужно решение, какое позволит по одной ссылке получать каждый день тот новый подкаст
Ну или можно напиример не хранить старые подкасты, а просто на место старого новый заливать
907082907084
#230 #907082
>>907080
Дропбокс. Позволяет заменять файл без замені ссілки.
907087907092
#231 #907084
>>907080

Нужно использовать готовый сервис типа как SoundCloud (у него таких возможностей нету, или я тупой), или файлообменник какой
#232 #907087
>>907082
О, заебись, спасибо
#233 #907092
>>907082
Анон, эта хуйня не работает(
Мне нужна прямая ссылка, чтобы по ней сразу файл скачивался, а не открывалось окно для скачивания
907094
#234 #907094
>>907092
Все ок, нашел как сделать такую ссылку
#235 #907106
>>907017
Ну ты даун, это тоже вопрос.
#236 #907118
>>907071
Так нахуя?
907121
#237 #907121
>>907118
Штобы за лицензию своего велосипедо-говна денег ораклу не платить.
907125907135
#238 #907122
>>907074
Заливаешь файл и хранишь в БД мета-инфу по файлу, его хэш и либо ссылку на файл в файловой системе, либо его блоб. Для скачивания либо по мета-инфе ищешь файл и получаешь его, либо передаешь его ID / хэш и по нему получаешь файл и ссылка всегда будет одинаковая.

> Свое решение пилить не очень хочеться


А нахуй ты тогда пришел сюда? То, что ты хочешь спокойно обеспечивается дропбоксом, яндекс диском, мегой и чем угодно - все умеют шарить файлы и иметь постоянные ссылки на них.
#239 #907125
>>907121
И много там такого?

> своего велосипедо-говна


Что мешает велосипедоговно вынести в отдельную библиотеку и обмазываться им сколько влезет, не объебываясь еще с коммитом своего говна в openjdk?
907127
#240 #907127
>>907125
Встретимся в суде, хитропопик.
907130
#241 #907130
>>907127
В каком суде? Компания написала говносипед и это ее говносипед, принадлежащий ей, и она может с ним делать все, что угодно - использовать, выкладывать на гитхаб или с помощью него проклинать Романа, Ирину, Татьяну на деньги отца-подлеца.

Зачем ей трахаться с запихиванием своего говносипеда в openjdk?
907132
#242 #907132
>>907130

>все, что угодно


Вот это вот все будут делать с жопой компании в суде, когда она будет распространять своё приложение и зарабатывать на нем много денег, а ты иди проспись, чудесный.
907134
#243 #907134
>>907132
Что ты несешь? Объясни нормально или пошел нахуй.
#244 #907135
>>907121
IBM скорее владелец openjdk, чем оракл.
#245 #907300
Анончики. На днях вышла идиотская игра медузы

https://meduza.io/games/bud-hakerom-igra-meduzy

Типа взлом телефона, где надо подобрать четыре символа.

В общем, так как идей у меня никогда нет, а программирование - небольшое хобби, я решил повторить алгоритм игры на Java.

http://pastebin.com/ZYZpKHFg

ГУЯ нет, просто написал, чтобы проверить механизм в консоли. Вроде работает, но некоторые моменты, я прям вижу, можно было бы сократить, особенно ветку if в checkPin.

Буду рад советам адекватных мастеров Явы
907302916563
#246 #907302
>>907300
там где "обнуляю б" также обнуляю а. забыл сразу
#247 #907304
Хочу узнать говно или сойдет. Подскажите чо поправить. Грубо говоря нужно поделить входящий список на 5 частей, где 4 части состоят из 8 элементов, и 5-я остаток.
И запихать в метод.
http://pastebin.com/d2q6gEQ9
#248 #907383
>>906926

>безопасность, экономичность


тоже зачастую не аргумент, тут главный принцип "работает - не трожь" у начальства

>зависимости


это может быть аргументом, если без этого никак нельзя исполнить желание важного клиента
>>906924

>Еще чего, буду я им там возмещать.


Ну вот и они не хотят возмещать.
25 Кб, 500x518
#249 #907402
Таки ознакомился с gradle и кончил радугой, это же 10 барухов из 10. Зачем что-то другое если есть божественный gradle? Почему все дрочат мейвен?
#250 #907407
>>907402
Потому что maven был раньше.

> дрочат мейвен


Никто на него не дрочит. Его используют, те, кого он устраивает и не используют те, у кого нужно в процессе сборки выебать мать, заказать кофе и при этом не охуевать от времени процесса.
#251 #907410
>>907402

>gradle


Уже заценил статически-типизированные Kotlin DSL?

Мы кстати на Android юзаем его не по собственному желанию, но все равно рады.
907447
#252 #907447
>>907410
Как-то оно не православно конечно, но я вхожу во вкус.
#253 #907474
>>905852

помогает когда надо показать кучу данных которые могут быть null или например надо нули заменять прочерки. Ифы увеличат текст в три раза без всякого смысла.
#254 #907500
>>907402
Пришлось заценить по одному проекту со DSL на груви. Скрипт - какая-то непонятная мешанина, из-за того, что что-то где-то можно опустить, а можно и не опускать, а еще вот этот оператор здесь действует вот так, а не так ...
Врапперы вообще в непонятки ввели - билд биндится на версию сборщика! Так гибко что пиздец.
Вобщем пока не вижу реальных причин уходить с мавена.
907641907681
#255 #907641
>>907500
Удвоил.
Давеча понадобилось один академический проект причесать. Ничего особенного - зависимости, shadowJar, манифест со специальными полями, т/к компилируется агент для jvm. Сгенерировал .pom через IDE, местами отредактировав файл.

Взглянул, вздохнул, переписал .gradle аналог, хотя зарекался уже. И что же? .pom работает. Просто работает. Тогда как .gradle собрал какое-то говно. Ебал я эти buildscript выписывать.
#256 #907646
>>907402

>Почему все дрочат мейвен?


1) Легаси. Куча проектов на мавене, куча спецов его знают, куча всяких плагинов для него есть. Грейдл при этом не предлагает каких-то киллер фич ради которых стоило бы переносить существующий проект (к вопросу о "работает-не-трогай vs я-хочу-нового", который обсуждался выше про джаву 8).

2) У XML подхода есть один плюс. Чтобы распарсить xml тебе ничего не надо дополнительного, ты можешь легко вытащить из структуры pom нужные тебе метаданные о чем угодно - версиях, плагинах, зависимостях - и как-то поиспользовать их в своих кастомных сборочных скриптах и тулзах. У грейдла же скрипт сборки - это именно скрипт, который надо как-то суметь выполнить (ничего при этом реально не сделав) чтобы получить те же зависимости. Это может быть принципиально для проектов с какой-то нетривиальной сборкой.
908047
#257 #907681
>>907500
А что не так с врапперами то? Этош гениально просто. Мое говно билдится идеально с нуля на чужих системах. А чтобы разобраться в скрипте и писать его надо два дня на чтение базовой документации. Груви вообще интуитивен, можно насколько я понимаю на джаве это все писать.

Помоему тут все дело только в лени, ибо надо же выучить еще чето, новые паттерны, структуры, апи. А времени и нервов грейдл потом сэкономит.
907687907872
#258 #907687
>>907681

> А времени и нервов грейдл потом сэкономит


Часть проектов у меня на мавене, часть - на грейдле. Вот честно, не вижу никаких серьезных преимуществ у грейдла. Да, он хорош для тех кому не нравится XML, да скрипты у него менее избыточны и более короткие (добавление зависимости - одна строчка вместо 5-8 в xml). Но это в общем-то мелочь.
907910
#259 #907872
>>907681

>А что не так с врапперами то? Этош гениально просто.


Это гениальный хардкод фактически. Я не спорю, хардкод почти всегда проще абстракции на момент написания, вот только ты же наверное не хардкодишь в обычном коде?
Гибкость и поддерживаемость этого решения планомерно идут в жопу
#260 #907910
>>907687
Хуйню несешь, хардкод у него блять. Не нравится, не юзай враппер, ставь второй грейдл и абстрагируйся.

Типа с мейвеном не юзают врапперы.

Да и какой нахуй хардкод? Ты можешь враппером изменить враппер, можешь при его наличии проигнорировать его. Че несет, вообще охуеть.
908012
#261 #907993
>>906970

>


>public static boolean booleanExpression(boolean a, boolean b, boolean c, boolean d) {



>int r =0;



>If (a){r++;}


>If (b){r++;}


>If (c){r++;}


>If (d){r++;}



>If (r==2){return true;}


>Else return false;


> }



Это законно?
908001
#262 #908001
>>907993
Ну компилятор сожрёт (если исправить большие буквы), но так-то это дичайший говнокод.
909030
#263 #908012
>>907910

>Хуйню несешь, хардкод у него блять. Не нравится, не юзай враппер, ставь второй грейдл и абстрагируйся.


Зачем мне вообще юзать гредл? Чтобы быть типа "хиповым чуваком"?

>Типа с мейвеном не юзают врапперы.


Представь себе, блять...

>Ты можешь враппером изменить враппер


>Че несет, вообще охуеть.


согласен, какую только хуйню не придумают, только лишь бы юзать любимый гредл
908144
#264 #908047
>>907646

>к вопросу о "работает-не-трогай vs я-хочу-нового", который обсуждался выше про джаву 8



А какие могут быть проблемы при повышении версии явы? Полтора года назад моя контора меняла и как то даже в памяти то событие не отложилось.
908053908315
#265 #908051
>>907039
Можно в лоб:
e=(
(a&b)|(a&c)|(a&d)
)|(
(b&c)|(b&d)
)|(
(c&d)
)
Оно выдаст истину если есть как минимум 2 истины.
Осталось отсечь 3 и 4 истины:
f=(a&b&c&d)
g=((a&b&c)|(a&b&d)|(a&c&d)|(b&c&d))

И сложить:
return e&!f&!g
#266 #908053
>>908047
Примерно такие же, как при переезде со 2-го питона на 3-й
908068
#267 #908068
>>908053

>пук

#268 #908144
>>908012
Ты дурак, потому что определили меня в фанаты грейдла зачемто. Я исполюзую спокойно все что надо. Просто смешно с уровня дискуссии. Удачи тебе.
#269 #908212
с чего лучше после head first java закусывать? Философией или Core Java?
908243908336
#270 #908243
>>908212
А тебе мало или че?
#271 #908315
>>908047
Как минимум потребуются некоторые действия, которые в крупной бюрократизированной компании могут быть довольно значительными (всякая деловая переписка по этому вопросу займет в разы больше времени чем собственно накатывание обновления).
В итоге два варианта - ничего не делать и что-то делать. Очевидно что для варианта "что-то делать" нужно какое-то обоснование пользы. Иначе можно рабочее время сотрудников потратить с большой пользой и направить на решение реальных задач.
#272 #908336
>>908212
Философия норм, после плюсов хорошо идет.
#273 #908392
Аноны, вижу много вакансий в своем городе связанных с Hybris.
Есть тут кто-то к с ним работал? Опишите пожалуйста своими словами максимально подробно что это.
908394
#274 #908394
>>908392
Говно.
Аноним #275 #908550
>>905760
Я не хотел бы с кем-то порешать задачи,в данный момент смотрю geekbrains java 1 решал задачки и на джавараш и на степике
908606
Аноним #276 #908551
>>905760
Я хотел бы с кем-то порешать задачи,опечатался.
#277 #908606
>>908550
Telegram:@asexual_pirate
#278 #908873
>>905744
>>905744
return a ^ b & c ^ d;
908975
#279 #908975
>>908873
true ^ false & false ^ false
909214
#280 #909030
>>908001

>


Схерали это говнокод, вась? Это может быть как раз и не элитный код, но это как раз то что ты хочешь видеть в своем проекте, что бы за 2 секунды без документации понять что если в функцию передали 2 тру аргумента, то она вернет тру. И ВСЁ.

Куда хуже увидеть в проекте вот это:
return (a & b & !c & !d) ^ (a & !b & c & !d) ^ (a & !b & !c & d) ^ (!a & b & c & !d) ^ (!a & b & !c & d) ^ (!a & !b & c & d);
909061
#281 #909048
>>903635 (OP)

>тред Senior Java Developers


Синьёры, какие вам вопросы задавали на собеседованиях по стеку жабки и вообще?
909438909439
#282 #909061
>>909030
Там выше нормальное решение на стримах показали, практически в одну строку, но читаемое. Если бы 8-ки не было, я бы замутил с предикатами что-то похожее.
#283 #909146
Сап, собираюсь пилить сервак для рил-тайма, что взять? Смотрел netty.io, слишком мудрённый фреймворк, собственно, что и как разрабатывать(Не на чистых сокетах)
909168909195
#284 #909156
Сап, более менее вкурил синтакис и занимаюсь активно практикой задач. Хотелось бы попробовать что-то начать запиливать,веб или хз, какой фреймворк начать курить?
909168
#285 #909168
>>909146
Vert.x, Reactor
>>909156
Spring Boot+MVC очевидно же.
#286 #909185
>>905489
А можно в жаве картинку конвертнуть в webp или видео без нативных либ? Или интерфейс нетормозящий нарисовать? Не сказал бы что это низкоуровневое программирование, но в джаве этого нет.
909256
#287 #909190
>>906016
так короче и читабельнее
#288 #909195
>>909146
че не так с нетти, томкатом и джетти?
909241
#289 #909214
>>908975
return ((a != b) & (c != d)) | ((b != c ) & (a != d));
Вроде должно работать.
909236909251
#290 #909236
>>909214
Горшочек не вари
#291 #909241
>>909195
В нетти до сих пор не могу разобраться с тем, как мне извлекать канал каждого юзера, для управления за пределами хандлера
#292 #909251
>>909214
Молодец. Теперь напиши большой развернутый комментарий, что делает эта строчка и можно на кодревью отправлять.
http://ideone.com/RpRfdh
#293 #909256
>>909185
Интерфейс можно, не знаю как ты сделал тормозящий. А конвертации всякие всегда в нативе делали, это довольно ресурсоемкая задача и делать ее со сборкой мусора, ну как-то тупо.
#294 #909398
>>903635 (OP)
Почаны, через неделю собеседование в epam, накидайте материала, чтобы подготовиться
909417
#295 #909417
>>909398
все в шапке же, что тебе еще надо?
#296 #909438
>>909048
пиздаболы тут одни
#297 #909439
>>909048
а не синеры
24 Кб, 512x384
#298 #909442
Разместил вопрос на СО, отпишись анончик если есть соображения
http://stackoverflow.com/questions/41574097/xmlelement-is-null-when-it-has-no-namespace
909453909461
27 Кб, 1287x416
#299 #909453
>>909442
Скопипастил твой код в идею.
909461
#300 #909461
>>909442
>>909453
То было на jdk1.8. На 1.7 тоже null, но лечится @XmlElement(name = "item", namespace = "http://jabber.org/protocol/muc#user").
909469
#301 #909469
>>909461
Миллионы нефти тебе, анон!
P.S. У меня не работало на openjdk version "1.8.0_112"
#302 #909491
Аноны, только вкатился в джаву, хочу попробовать поработать с графикой какие то простенькие ландшафты порисовать или что то такое, какие движки юзать? Опенгл?
909504909746
0 Кб, 20x20
#303 #909504
>>909491
Мамкину щель юзай. азазазаз
#304 #909575
Погроммисты, подскажите, как в netty можно получить сокет каждого клиента из вне?(За пределами хэндлера и инитиалайзера)
909797
#305 #909742
Сап анончики, посоветуйте книгу по Java EE, желательно не с экстра сухим текстом, от которого я засну через 5 минут. Год назад хотел начать по гонсалвесу, но как-то не зашло, хотя мб там просто начало не такое простое, как ожидал
909748
#306 #909746
#307 #909748
>>909742
хз какой у тебя уровень. Если засыпаешь - это не твое, я вообще по тех докам учился, если сухо юзай лубрикант.
http://forcoder.ru/java/java-programming-1169
909754
#308 #909754
>>909748
Уровень мой, думаю средний, опыта работы в конторах нет, знаю базу Java SE по хорстману, писал приложения со свингом, фх и ваадином. Сейчас на работу вроде берут, но надо бы java ee подтянуть еще на теоретическом уровне
#309 #909797
>>909575
Опиши подробнее что ты хочешь сделать.
911588
#310 #909880
Теоретический вопрос. Если надо отсортировать слова по длине, которые нах. между пробелами. Как же это сделать?

Юзать стрингбуффер, найти самый длинный токенайзер и делать проходы со свапами, пока самое длинное слово не окажется последним?
17 Кб, 956x102
#311 #909889
>>909880
А если так например? а там массив в строку перекинуть как надо
909894909899
#312 #909892
>>909880
Да и токенайзер ж устаревший класс, который не рекомендуется юзать в новых проектах
#313 #909894
>>909889
Схоронил
#314 #909897
>>909880
Простейший вариант: простой символьный автомат + сортировка вставкой.
#315 #909899
>>909880
Я тебя не понял. Тебе надо отсортировать их с сохранением пустых мест? Или просто достать и отсортировать? Ну тогда вот этот вариант норм >>909889

А если оставить пробелы, то тогда чуть сложней, можно заменить все слова на %s (записать это в template) и потом выдать String.format(template, sortedWords);
#316 #910017
Object instance = new Object();
Вот что это за маразм. Есть ли какая-нибудь хитрая придумка на это?
910021910022910056
#317 #910021
>>910017
Есть дифференциация.
#318 #910022
>>910017
Ты о чем вообще? Ничего не понял
60 Кб, 400x427
#319 #910029
Сап, програмач. Поясните за Java 8, а именно у меня такой вопрос:
Вот в Java 8 в интерфейсах появились default-методы и, собственно, вопрос: "Чем теперь интерфейсы отличаются от абстрактных классов?". Вот раньше я бы сказал, что в абстрактных классах можно создать реализацию некоторых методов, а в интерфейсе - нельзя. Но теперь реализация есть и там и там. Нахуя это сделано? Например, мне создать фичу, у которой некоторые методы реализованы, а некоторые должны реализовывать конкретные потомки. Чем я в данном случае должен руководствоваться чтобы решить что мне использовать: интерфейс или абстрактный класс?
910036910121
#320 #910036
>>910029
Так же как и раньше руководствуйся. Поля реализаций через дефолт метод ты все равно изменять не можешь. Назначение у нового интерфейса осталось тем же по сути, а новые методы по умолчанию, как я понимаю, можно использовать для внесения нового функционала в интерфейс, без перепила всей существующей программы
910038
#321 #910038
>>910036
Хм... Если честно, я думал, что тут дело в обходе запрета на множественное наследование, типа теперь можно "заимплементить" кучу интерфейсов с этими default-методами, чтобы затем пользоваться всеми их методами. Но чёто я прозевал тот факт, что эти default-методы не могут изменять состояние объекта.
Спасибо, анончик, за ответ.
910071
sage #322 #910054
>>905870
Джаварашному хуесосу, не способному нагуглить про Formatter и printf, здесь не место.
Иди сайты-визитки на PHP верстать, это твой максимум.
#323 #910056
>>910017
Хуюмка блять, в местном маркете половина касс пустые.
910059
#324 #910059
>>910056
Естественно - это же кассы самообслуживания
910061
#325 #910061
>>910059
Абстрактные кассы
#326 #910071
>>910038

> Но чёто я прозевал тот факт, что эти default-методы не могут изменять состояние объекта.



Могут.

public interface I { default int m(int x) { return - x; } }

public class C implements I {
private int n;
private C() { n = 0; }
@Override
public int m(int x) { n = ~x; return n; }
public static void main(String[] args) { System.out.println(new C().m(12)); }
}
910086
#327 #910086
>>910071
О чем ты? Состояние изменяет твой переопределенный метод.
#328 #910121
>>910029

> Нахуя это сделано?


Для обратной совместимости.

> обходе запрета на множественное наследование


Ошибка компиляции.

> Чем я в данном случае должен руководствоваться чтобы решить что мне использовать: интерфейс или абстрактный класс?


Тебе нужен контракт по API и полиморфизм - интерфейс и реализации. Тебе нужно наследование часть общей функциональности - абстрактный класс. Тебе нужен контракт по API и базовый абстрактный класс - интерфейс, базовый абстрактный класс и реализации.
У тебя есть интерфейс, куча реализаций и тебе приспичило допилить общую функциональность и ты не хочешь менять много лет работающий код и менять иерархию наследования - костыль дефолтного метода. Только смотри, чтобы костыли не обезумели и возможно разумнее просто рефакторинг с вынесением общего функционала в предка.
#329 #910124
А вообще будь правильным пацаном и угорай по композиции.
#330 #910136
Аноны, с помощью чего можно получать информацию, об уровне звука в системе?
910139
#331 #910139
>>910136
javax.sound
#332 #910209
wassup fellas
как в JPA замапить объект, поля у которого получаются из кучи разных таблиц с применением DISTINCT, SUM, PARTITION BY и тому подобного.
В идеале нужно чтобы объект получался из запроса
910285910424
17 Кб, 442x184
#333 #910252
Почему у окошка с проектом такие огромные отступы в идее? Как исправить?
910405
#334 #910285
>>910209
Пиши sql.
910407911247
#336 #910407
>>910285
Алё, это пользователь Hibernate/JPA, очевидно, он не умеет в SQL.
911114
#337 #910424
>>910209
Сделай вьюшку с нужными полями и замапь
#338 #910481
Как тестировать слой данных?

Есть приложение, которое использует бд. Доступ к ней происходит через JPA реализация - eclipse link . Вопрос: как написать тесты к этому делу?

Создавать отдельную бд (и конфигурациию для работы с ней), запускать её во время тестирования (локально и на ci-сервере)?
910498910508910536
#339 #910498
>>910481
Молча
#340 #910508
>>910481
На сколько я знаю дял таких целей исполюзуют маленькие инстансы h2 чтоли, они живут в оперативке прямо и умирают по завершению теста.
910660
#341 #910536
>>910481
Есть два стула - либо мокать все что не относится непосредственно к проверяемому коду. То есть у тебя есть какой-то класс для доступа к БД с методами типа getUserByLogin(). И ты просто в тесте этот метод мокаешь, и реальная бд тебе не нужна. Это скорее для юнит-тестов.

Второй подход - скорее для интеграционных, тут ты наоборот стремишься воспроизвести максимально окружение приложения. Так что да, заводишь H2 базу в памяти вместо настоящей БД, и работаешь с ней.

Сложнее если у тебя используются какие-то нетривиальные фичи твоей БД (например ты вручную пишешь запросы на ее родном диалекте SQL). В таком случае только мокать или поднимать реальную БД. Но с реальной БД тестить вообще плохо - это медленно, ненадежно, требует чтобы эта бд была доступна. Таких тестов должно быть меньшинство.
910660911120
#342 #910660
>>910508
>>910536
Спасибо.
#343 #910785
Использовать SQLException в качестве логики нормально или пизды дать могут на нормальном проекте?
910789
#344 #910789
>>910785
Что именно ты имеешь ввиду?
К примеру, Spring transactional interceptor откатывает текущую транзакцию, если метод в транзакции кинул какой-то exception.
910797911122
#345 #910797
>>910789
Например, если на rs вызвать next(), в случае когда туда ничего не вернуло, то это означает, что такого пользователя нет например. Со спрингом еще не знаком просто. Задание написать все чисто на сервлетах.
910802
#346 #910802
>>910797
В коде лучше отдавать Optional и уже там кидать exception. А если на уровне REST сервиса, то отдавать клиенту 404 или 410 ошибку.
910807
#347 #910807
>>910802
Ну я просто получал исключение в дао и пробрасывал в сервис слой. Если тут не выкидывать, то тогда в сервисе придется как-то проверять, а при большом количестве данных это не лучший вариант на мой взгляд.
910810
#348 #910810
>>910807
Optional самый лучший вариант. А твоя проблема - это не такая уж исключительная ситуация.
910813
#349 #910813
>>910810
Окей, а можно еще вопрос. Например есть класс получаемый синглтоном. Статический метод этого класса потокобезопасен? Там просто проверяются входные параметры регуляркой или лучше это остовлять в теле класса?
910817
#350 #910817
>>910813

> Статический метод этого класса потокобезопасен?


Ну если этот метод не обращается к полям или другому общему состоянию, то да.

> Там просто проверяются входные параметры регуляркой или лучше это остовлять в теле класса?


Если можешь это переиспользовать в другом месте, то лучше вытащить в отдельный класс типа StringUtils. А если нет, то оставь.
910819
#351 #910819
#352 #910842
Ну что анончики, на ваших галлерах уже планируют переезд?
http://eta-lang.org/
910846910981911626
#353 #910846
>>910842

> v0.0.5


> Frege не взлетел


> Даже Scala не так уж популярна


> Да и сам Haskell и другие млоиды не оче

910851
#354 #910851
>>910846
Вангую, из-за рынка труда в Индии и кое-каких трендов, мировое число разрабов на этой эте превысит мировое число разрабов на расте.
Скриньте.
910855
#355 #910855
>>910851
Сравнил жопу с пальцем. У Раста есть хоть какой-то шанс.
910881
#356 #910881
>>910855
Конечно, конечно. Шанс переписать браузер или переписать postgresql.
#357 #910981
>>910842
Это что, хаскель под JVM?
910997
38 Кб, 1042x323
31 Кб, 1173x264
#358 #910997
>>910981
И оригинальный Haskell под JVM делали. Только не в коня корм, жабокодеру в жизни не осилить монадки. Сложна, насяльника, нипонятна!
911010911331
#359 #911010
>>910997

>Эти потуги пиарить никому не нужное говно


плес
911027
#360 #911027
>>911010
Хаскель - простой и понятный язык для нормальных людей вроде физиков и математиков, отчищенный от байтосодомии и делающий специально выведенных компьютерных опущенцев-программистов ненужными. Да, вы не ослышались. После того, как этот язык для нормальных людей получит распространение, байтоспарта закаленных еблей в жопу архитектурой фон Неймана и еблей в рот аппликативным порядком боевых пидарасов-программистов потеряет всякий смысл. Что останется делать после этого жалким недочеловекам, у которых пять лет в шараге вымывали из мозгов все человеческое? Остается только прерывание своего жалкого существования.

Да, байтобляди были актуальны пару-тройку десятков лет назад, когда кроме этого пресловутого отлизывания регистров и микросхем не было способов заставить машину быстро решать задачу. Но теперь-то в нашем распоряжении оптимизирующие компиляторы, многоядерные процессоры с параллелизацией, которые производительнее машин 20-летней давности в сотни тысяч раз. Жаль, что программирование было поглощено стереотипным быдлом, не могущим в думать, и способным работать лишь по зазубренной инструкции, написанной кровью и потом сотен павших хомячков-байтоебов до него. Настоящее, полноценное программирование, благодаря подобным обмудкам, мало теперь где востребовано. Хотя там где оно востребовано, можно кататься как в масле сыр и получать в три раза больше не то что сеньора-байтоеба, а ебаного заместителя директора быдлоконторы в которой этот байтоеб работает. С другой стороны это и хорошо - в космическую промышленность, Data mining и прочие сложные и непосильные для императивных байтохомячков сферы попадает лишь элита.
911886
#361 #911114
>>910407
А придется.
#362 #911120
>>910536

> Сложнее если у тебя используются какие-то нетривиальные фичи твоей БД (например ты вручную пишешь запросы на ее родном диалекте SQL). В таком случае только мокать или поднимать реальную БД. Но с реальной БД тестить вообще плохо - это медленно, ненадежно, требует чтобы эта бд была доступна. Таких тестов должно быть меньшинство.


Не соглашусь. Это позволяет писать наиболее приближенные к реальности интеграционные тесты, целиком тестирующие функционал в почти боевых условиях. Но тогда придется для сервисов также писать генератор тестовых данных, который создает и удаляет данные после каждого теста.
А то, что медленнее юнит-тестов, ну да. Интеграционные тесты как правило на стендах и прогоняются.
911218911332
#363 #911122
>>910789

> Spring transactional interceptor откатывает текущую транзакцию, если метод в транзакции кинул какой-то exception.


По-умолчанию только Runtime exception, это важно.
911332
#364 #911218
>>911120
Поддвачну.
Пишу на scala и play и нихуя почти не мокаю. Честно запущенный аппликейшн, есть реальная тестовая база (Postgres), поднятая локально и на серваке, почти все манипуляции с данными через АПИ.
Тесты прогоняются минут 20, но, как результат, багов на бекенде почти нет.
911294
#365 #911247
>>910285
У меня уже есть SQL запрос, только как с него замапить объект? Уникальных полей нет.
#366 #911294
>>911218
В душе не ебу, в какие игрушки ты там играешься, но было бы интересно посмотреть как ты выкрутишься, когда тебе надо будет писать систему платежей или управление группировкой спутников.
#367 #911326
>>903676
У тебя в жопе прохладно
911328
#368 #911328
>>911326
Очень даже горячо.
#369 #911331
>>910997

>жабокодеру в жизни не осилить монадки


Я попробовал вкатиться в хаскелль, после освоения базового синтаксиса решил для начала сделать несколько алгоритмов на графах, которыми тогда занимался на основной работе. Сразу же выяснилось что я не могу задать граф как структуру вида "у ноды есть ребра, а у ребра есть начальная и конечная нода", так как Алгебраические Типы Данных, на которые все в функциональном мире себе шишки стирают, плохо подходят для задания цикличных структур. Дерево задать - пожалуйста, а граф с циклами - уже пердолинг пошел с какими-то тонкостями. В общем после этого я к хаскелю охладел.
911551
#370 #911332
>>911120
>>911122
Ну это вы такие молодцы, но ИРЛ часто получается так, что как только твои тесты начинают требовать внешнее окружение (настоящие БД или сторонние сервисы), то их начинают лениться запускать. Ведь это так лениво - поднимать БД, убеждаться что в ней все как надо лежит и т.п.

В итоге тесты перестают запускать. А даже самый лучший тест бесполезен если его не запускают.

Такие интеграционные тесты должны быть, да, но их должно быть меньшинство, а большая часть кода должна быть покрыта простыми тестами, не требующими сложного окружения, которые можно в один клик запустить.
911401911450
#371 #911401
>>911332
Шта? Современные хипстеры поднимают минисервер на докере/вагранте и не имеют проблем с окружением.
Я тоже на работке поставил в итоге Oracle в вагрант, потому что охуел от установки этого поделия.
#372 #911450
>>911332
Именно поэтому я и написал про интеграционные тесты на стендах.

> то их начинают лениться запускать


Это проблемы разработчиков.

А для всего остального есть CI. Каждый коммит в PR - мерж с форком девелопа, тест сборки и прогон юнит-тестов. Если неуспешно - PR не пройдет ревью. Каждая сборка триггерит интеграционные тесты. Список провалившихся тестов на почту и таски на исправление.
Если разработчику нужно вручную протестировать определенный функционал - запускает необходимые интеграционные тесты локально.
911905
22 Кб, 629x295
#373 #911489
На сколько мой код говно?
#374 #911492
911494
#375 #911494
>>911492
Поясни
911553
#376 #911501
>>911489
Последняя строчка ничего.
58 Кб, 991x559
#377 #911541
>>911489
какой-то пиздец, смотри как надо.
911546
9 Кб, 200x200
#378 #911546
#379 #911547
>>911489

отформатируй

и еще зачем тебе а2?
911548
#380 #911548
>>911547
a2++ же. Как без а2?
911762
#381 #911551
>>911331
Я даже не знаю, вот сходу https://wiki.haskell.org/The_Monad.Reader/Issue5/Practical_Graph_Handling чем плохо?
Или скажем, что за алгоритмы, которых нет в Hackage?
911949
#382 #911553
>>911494
Пояснил тебе.
#383 #911567
Ребятки, недавно только вкатился, интересует такой вопрос, при объявление переменных в классе, могу я сразу задать в переменной формулу, например
int a
int b
int s
double sum = a*b/s
Будет ли формула работать на объектах класса?
911568911763
#384 #911568
>>911567

> только вкатился


уже 300к в сек?
911570
187 Кб, 1280x719
#385 #911570
>>911568
уволился с охраны пятерочки, в понедельник денюжку заберу
#386 #911575
Блять, а где можно задавать тупые вопросы по Java, а то тут хуй ответят?
911578
#387 #911578
>>911575
В гугл задавай довн.
#388 #911588
>>909797
Смотри, мне необходимо иметь список подключенных пользователей, одновременно с тем, прогоняя их по buisseness logic, но вот я не могу понять, как получить сокет клиента(Чтобы сразу ему отправить ответ) из-за пределов Handler'a
911592
#389 #911592
>>911588
Пишешь в нужный Channel откуда хочешь и всё.
911593
#390 #911593
>>911592
Ну а как мне этот самый чаннел то и получить, ведь он регистрируется в хэндлере
911594
#391 #911594
>>911593
Собирай их в какую-нибудь коллекцию при обработке события в хендлере и потом используй как хочешь.
911597
#392 #911597
>>911594
https://gist.github.com/anonymous/304e23ca5d7106eadc6cec56a96c44a2
Вот к примеру дефолтный код, как мне в нём, учитывая, что сам сервер запускается из другого класса, собирать каналы в коллекцию
911599
#393 #911599
>>911597

>Вот к примеру дефолтный код, как мне в нём, учитывая, что сам сервер запускается из другого класса, собирать каналы в коллекцию


например http://stackoverflow.com/questions/10372801/netty-how-to-get-all-client-channel - первый ответ
#394 #911626
>>910842
quicksort [] = []
quicksort (x:xs) = quicksort left ++ [x] ++ quicksort right
where left = [ y | y <- xs, y < x ]
right = [ y | y <- xs, y >= x ]

>x:xs


>x as a pivot


Минуточку, а если массив уже отсортирован в обратном порядке? Тогда квадратичная сложность?
911662
#395 #911662
>>911626
Во всех рандомизирванных реализациях quicksort асимптотическая сложность - n2
911715911718911719
#396 #911715
>>911662
Падажжи, но в данном случае лучше брать рандомный х, не?
#397 #911718
>>911662
Альзо, так-то все выглядит заебись, но и императивщина не сильно хуже выглядит!
Но вот хотелось бы посмотреть на 3-way quicksort и прочие оптимизации.
#398 #911719
>>911662

>асимптотическая сложность


И какая вероятность, что она будет квадратичной при обычной императивной реализации? А при вот этой вот реализации?
#399 #911745
Ребят, я понимаю что адептов говяжьего хаскеля тут много. Но посоветуйте какой Пет проект пытаться мутить на java? Я так понимаю чистая не котируется и нужно что то на spring hibernate. Чтобы в idea с ней работать нужна торрент версия. Ок. Как лучше играться с сервером? Запускать где то в облаке или на домашнем поднимать? Что сообственно выбрать? Часто из-за расплывчатости цели, ну кроме денег, теряется мотивация, но хватает сил возвращаться к обучению , приходит потихоньку понимание что все языки примерно одинаковы и первый java вполне нормальный выбор. Я так понимаю всё алгоритмы это зачастую про сортировку массивов и баз данных? Структуры данных не кажутся сложными, но деревья и графы еще рассматривал, следующий шаг я так понимаю это очереди и приоритет? Спасибо
911766911958912027
#400 #911762
>>911548

оно читается только в одном месте и может в нем быть заменено на а3
#401 #911763
>>911567

нет
913749
#402 #911766
>>911745

у идеи бесплатная 30дневка есть
На домашнем пк поднимай пока не станет нужно показывать посторонним людям.
#403 #911780
Подключаю к приложению SQLite бд. Подключается нормально, данные добавляются нормально, а вот выборка (resSet = statmt.executeQuery("SELECT Command FROM Commands");) не работает, получаю NullPointerException. Использую JDBC. В чем может быть проблема?
911809
#404 #911809
>>911780

Если нпе на этой строке то у тебя statmt == null
91 Кб, 1138x559
#405 #911845
>>911489
Код то у тебя нормальный, а ты задумывался что если в код придётся вносить изменения? Сколько твой код проживёт месяц? Два? Потом на него обязательно начнут сыпаться кейсы и тут оп, приехали. Запомни Dont Repeat Youself. Встречай модульно-ориентированый гибкий код построеный на принципах DI, IoC и AOP. Использованы паттерны, которые уберегут тебя от постоянного переписования кода, и боже упаси копипаста. Осталось написать несколько интеграционных тестов, подключить 60 зависимостей с помощью gradle или maven(если ты новичек) и развернуть всё это дело на контейнер, а вообще переходи на Spring, там вообще код можно не изменять, всё делается само в рантайме. Надеюсь что помог.
911872911953
#406 #911872
>>911845
А ты веселый, взял бы у тебя в рот.
#407 #911886
>>911027

> для нормальных людей вроде физиков и математиков


То-то физики и математики пишут такой код, на который без слез не взглянешь.
#408 #911905
>>911450
Кстати о CI. Появились ли что-то лучше, чем Jenkins? (бесплатное и self-hosted) А то он вызывает у меня уныние.
911937
#409 #911937
>>911905
Вроде есть Teamcity для мелких комманд

А в чем уныние вообще то?

Я давно Jenkins юзаю только для переодического запуска моего build.sh (который запускает gradle с нужной логикой сборки).
Сам build.sh лежит в сорцах вместе с gradle.build файлами.
911968
#410 #911949
>>911551

>Или скажем, что за алгоритмы, которых нет в Hackage?


Да дело не в самих алгоритмах (я-то хотел какую-нибудь простуй дейкстру сперва написать), а в том что я взял первую попавшуюся задачу и внезапно выяснил что язык не дает мне ее реализовать тем способом, которым я ее решал во всех других языках.

Да, можно хранить граф в виде матрицы смежности - но это довольно ограниченное представление которое подходит только для маленьких плотных графов. Да, можно представить граф иначе, хранить в ребрах не сами ноды а только их ид в каком-нибудь словаре. В таком случае тип данных получается не цикличным и его можно легко задать (в твоей ссылке вроде так и делается). Но блядь, какого хуя? Почему я должен добавлять лишние индиректы, структуры данных и потенциальное место для ошибок? Потому что язык не позволяет просто реализовать простейшую концепцию? Ну и нахуй его тогда.
#411 #911953
>>911845

>Оставил while и for


Да ты охуел что ли, пидор? Даже перезванивать не будем.
#412 #911958
>>911745

>Чтобы в idea с ней работать нужна торрент версия.


Не обязательно. Можно и в коммьюнити работать. Ну не будут у тебя автоматически контексты подхватываться и некоторые фичи работать, похуй.

> Как лучше играться с сервером? Запускать где то в облаке или на домашнем поднимать


Начни с домашнего. Скачай томкат какой-нибудь, разархивируй, запусти startup.bat / sh - вот тебе и вебсервер котовый, знай только war файлы подкидывай.

Если хочешь в облаке - погляди Heroku например, у них есть бесплатный хобби-план. Сам его использую, зависимость есть.

> посоветуйте какой Пет проект пытаться мутить


Тут тебе совета никто не даст. Пет-проект должен быть интересен (и в идеале - полезен) лично для тебя. Ну реши что тебе надо, какого софта тебе не хватает. От банального какого-нибудь TODO-списка или трекера времени до каких-нибудь вычислений или автоматизации по твоей основной профессии.
Я вот например как-то ради интереса написал программу которая вычисляет взаимные долги в компании людей. Ну типа собрались побухать, вася купил бухла на 300, петя закуси на 200, а саша привел блядей за 1000. Вопрос: кто кому и сколько должен денег передать, чтобы в итоге поровну все расходы на всех участников поделились.
Да, такие софтины и так есть, но я вот написал свою лично для себя. В итоге мотивация была - так как мне реально надо было часто такие расчеты проводить.
#413 #911968
>>911937
- мало возможностей по сборке бранчей
- неверсионированный скрипт сборки
- глючный как хуй знает что (устанваливаешь плагин, всё перестаёт работать)
#414 #911980
А можно через циклы создавать объекты?
911990
#415 #911990
>>911980
Опиши подробнее, какие объекты тебе нужны? Какой у них класс, зачем им цикл? Впринципе тебе никто не мешает создать через конструктор:
List<Cococo> list;
while(1){
Cococo cudax = new Coocarecoo(i);
list.add(cudax);
}
В итоге получаешь список объектов созданых через цикл.
912047
#416 #912026
Что лучше: два десятка текстовых файлов, по десятку строк в каждом, или SQLite DB с тем же объемом данных? Важна скорость чтения данных.
912048
#417 #912027
>>911745
Документная NoSQL база, типа Lotus Notes, но с веб-интерфейсом, чтобы клиенты могли работать через браузер. Можно MongoDB взять в качестве движка. Сам такое писал, но забросил.
#418 #912047
>>911990
Ну например мне просто нужно сделать N объектов класса с разными данными и именами
#419 #912048
>>912026
Возьми и протестируй оба варианта.
#420 #912049
>>912047
СОрян,данные одинаковые, но с разными значеними
#421 #912052
>>912047
Есть два стула: рефлексия и кодогенрерация. Куда сам сядешь, куда мать посадишь?
#422 #912066
>>912047
с разными именами? В цикле единственная вещь которая будет разной каждую итерацию это переменная i и исходя из этого предположу что ты хочешь создать объекты с именами например Dog1, Dog2, Dog3? Анон, у тебя недостаток в проектировании задачи, тот же порядок можно обеспечить аррейлистом. В нём будет коллекция твоих объектов и у каждого будет свой порядковый номер - его индекс в аррейлисте. Ну я почему-то уверен на 99,9% что твоя задача не требует того решения что ты придумал. Энивей нельзя, рефлексия и кодогенерация как написали выше.
#423 #912093
Может кто помочь написать JUnit тест на DAO слой, а то нигде норм примера найти не могу.
Вот например протестировать такой метод надо
http://pastebin.com/U1870kfH
912242912255
#424 #912242
>>912093
Не майся хуйнёй, раньше люди байт-код забивали прямо в регистры, который писали в тетради и это были ОПЕРАЦИОННЫЕ СИСТЕМЫ без всяких юнит тестов. А ты ебучего эмплоера не можешь нормально извлечь из бд, что там может пойти не так с твоим jdbc, ты просто в головое представь что делают твои три строчки и что они не делают.
912255912258
#425 #912255
>>912093
Ебать лапша. Причеши сам код сначала а потом уже тесты пиши. Выше обсуждалось, используй in memory database

>>912242
А ты иди нахуй, быдлокодер сраный.
912261
#426 #912258
>>912242

>байт-код забивали прямо в регистры


>байт-код


>регистры


wut?
912315912525
#427 #912261
>>912255
Проиграл с идиота который не может написать мок и ищет примеры на стековерфлоу (видимо венец карьеры). Называет других быдлокодерами. Найс.
912270
#428 #912270
>>912261
Что за проекции, Ванга? Иди нахуй, блядь бестестовая.
#429 #912315
>>912258

> >регистры


> wut?


Ебать обезьяны пошли. Не знают что такое регистры.
912320
#430 #912320
>>912315
А в массовой продаже уже доступны процессоры, которые могут выполнять байт-код джавы?
912328
#431 #912328
>>912320
Да, как минимум у STMicroelectronics есть серия J с поддержкой Jazelle
https://en.wikipedia.org/wiki/Jazelle
912331
#432 #912331
>>912328

>писали в тетради и это были ОПЕРАЦИОННЫЕ СИСТЕМЫ


А что за операционные системы на джаве, запускающиеся на Jazelle DBX? И нахуя там что-то в тетрадку записывать? Это про какие года вообще речь?
Сорри, никогда про такие ОС не слышал, возможно, сильно отстал от жизни, поэтому и спрашиваю.
912332
#433 #912332
>>912331
в случае STM32 - очевидные RTOS очевидны
912335
#434 #912335
>>912332
Ну-ка, примерчик RTOS на Java. И где там сразу в регистры сохраняли из тетрадки?
912351
#435 #912351
>>912335
Они все самописные. В регистры всегда из тетрадки сохраняют.
912375
#436 #912375
>>912351
Ты шизик какой-то, все с тобой ясно.
55 Кб, 420x280
#437 #912492
Вот какой байт-код имелся в виду, писали в тетрадках, забивали в регистры.
912523912611
#438 #912523
>>912492
О, на ZX Spectrum в детстве таким занимался. Там был учебник (по встроенному Бейсику), где в конце давалась таблица кодов от 0 до 255: десятичное число, HEX число, ASCII символ и код операции процессора Z80. До сих пор помню, что 201 - это RET.
#439 #912525
>>912258
Ну не в регистры наверно все же, а в память.
#440 #912526
>>912047
Что за задача? Может, просто поместить эти объекты в Map, разные имена соответственно будут разными ключами?
#441 #912611
>>912492
И в каком это байт-код, даун?
#442 #912808
где clojure-тред?
912892
#443 #912892
>>912808
В lisp-треде.
#444 #912935
>>905744
Немного переделать метод:

public static boolean booleanExpression(int n, Boolean ... bools){
return Stream.of(bools).filter(Function.identity()).count() == n;
}

Работает с любым числом входящих булеанов, количество необходимых верных передать первым параметром.
#445 #912936
>>912935
А то, блядь, ебаные школьники булевой алгебры наворотили сюда.
Код должен быть читабельный, а куча логических операций никогда не читабельной.
Учитесь, сынки.
912960
#446 #912960
>>912936
Лал. У них хотя бы код рабочий, в отличии от...
#447 #912995
>>912935

>bools


Прочитал, как boobs. Херово как без бабы то.
#448 #913046
>>912935
Полтреда назад написали блять то же самое.
913124
#449 #913047
Наверное, вопрос больше не по джаве, а общего плана, но задам здесь.
Новичок в бэкенде, пишу веб-сервис. Использую Spring Boot, для управления сессиями пользователей использую Rufus. Вопрос: в каждой сессии для каждого пользователя мне надо хранить какую-то индивидуальную информацию о сессии (несколько простых объектов). Как в Spring Boot сделать доступ к этой информации в зависимости от сессии делающего реквест пользователя? Самый тупой вариант, который я сейчас вижу: ебануть тупо синхронизированный Map с ключом-именем сессии, но это очевидно хуёвое решение (проблемы со скоростью, сложное изменение кода, проблема с добавлением-удалением сессий). Как вообще на серверсайде происходит доступ к такой индивидуальной информации? Почитал интернеты, чего-либо внятного не нашёл.
БД не предлагать, потому что пока что я храню информацию, которую можно потерять при рестарте сервера. Кроме того, как я понимаю, точки взаимодействия с БД будут там же, где и в моём текущем задании.
913049913367
#450 #913049
>>913047
Возьми Spring Securty (и Spring Session - напиши обертку. В Spring Security используется threadLocal поле для хранения сессии.
913050
#451 #913050
>>913049
Значит, копать в сторону Spring Security? Да, я читал про него немного, но мне показалось, что это именно для разграничения доступа к веб-страницам, а не внутренним объектам. Пойду почитаю ещё.
913064
#452 #913064
>>913050
Не слушай поехавшего.
#453 #913124
>>913046
Мне теперь перед каждым постом весь тред читать?
#454 #913132
>>912935
public static boolean booleanExpression(int necessaryTrues, Boolean... booleans) {
if (booleans == null || necessaryTrues < booleans.length) {
throw new IllegalArgumentException();
}
return Stream.of(booleans)
.filter(Boolean::booleanValue)
.count() == necessaryTrues;
}

Чутка переписал, теперь пиздато и как надо.
913133
#455 #913133
>>913132
Только там >, а не <, но не суть.
913156
#456 #913156
>>913133
Objects.requireNotNull
913218
#457 #913164
Мне интересно, представители JetBrains читают двач? Интересует такая штука как ultimate версия IDEA. Понятно что ее можно сделать или найти бесплатной и что есть trial на 30 дней. Но мне кажется было бы логичней и интересней, trial для изучающих скажем на пол года. То есть вкатывальщикам Community версия нужна, но рынку javaSE не нужна. Вкатывальщику, который не уверен что не дропнет в какой то момент изучение, платить тоже не очень хочется. Но в тоже время если вкатывальщик осилит вкат, я думаю платить не составит труда, либо ему компания предоставит лицензию. Ну то есть я думаю желание халявы как таковой есть тока у совсем уж бедных студентов. А JetBrains могла бы привлекать и воспитывать будущих потребителей своего продукта. Даже барыги первые дозняки дают бесплатно, подсаживая крепенько, чтобы подсадить на явуЕЕ крепенько мне кажется 30 дней вообще не хватит. Хотя вижу есть какой то расширенный trial на сайте.
913175913205913304
13 Кб, 800x188
#458 #913175
>>913164
Братишка! Братишка! Как поспал, братишка? Покодить захотел, наверное? Я тебе свободную IDE принес.
#459 #913184
>>913175
К такому тексту больше лого jetbrains подойдет.
#460 #913187
>>913175
Понимаешь, я не хочу на этапе изучения языка, изучать разные idea. Я пользователь джавасраша, сказали поставить идею и дали плагин под него. Я послушно повинуюсь. В современном мире мультивыбора самое сложное что то выбирать
913207
#461 #913193
От вас мы ожидаем:
ответственность и внимательность
1-2 года опыта разработки на Java
базовые понимания ООП, алгоритмов и структур данных
желание развиваться как Java-разработчик и как аналитик

Мне интересно эйчар в логику написанного умеет? То есть за 1-2 года разработки на java обрести базовые понимания? Какую часть можно зачеркнуть? Про 1-2 года или про базовые понимания? Вакансия Джуна.
#462 #913205
>>913164
По студаку дают лицензию на год.
#463 #913207
>>913187
Сука, с таким подходом ты не нужен. Джавист должен уметь быстро вкатываться на любую иде/фреймворк. Алсо сам начинал с эклипса, сейчас идеей пользуюсь, брат жив. Учись давай.
913212
#464 #913212
>>913207
Вам шашечки или ехать?
#465 #913218
>>913156
Ненужное говно, NPE выкидывает.
Эксепшоны должны явно говорить что юзверь сделал не так.
913291
#466 #913232
>>913193
За 1-2 года разработки ты разве не будешь знать ооп? Они пишут не очевидные вещи. А ты тупой хуисос.
913239913419
#467 #913239
>>913232
Иди нахуй мудак.
913252
#468 #913252
>>913239
Тоупои хуисос.
#469 #913254
>>913193

>Вакансия Джуна


>Какую часть можно зачеркнуть?


Часть про 1-2 года. 1-2 года - это мидл.
913419
#470 #913269
>>913193
тут хотят мидла за бабло джуна.
Не благодари.
913419
#471 #913283
сап, что не так в этом коде? Крашится на вызове addLine - NullPointerException.

class ClassName {
private String[][] board;

void Maze() {
board = new String[5][5];
}

void addLine(String line) {
board[1][1] = "abc";
}
}
913285913296
#472 #913285
>>913283
board создай для начала
913294
#473 #913291
>>913218
Да, и плодить на каждый кейс исключение. Потом сигнатуры методов обрастают исключениями, после чего вообще нихуя нельзя понять, что там внутри происходит.

throw new MamkuTvojuEbalException();
#474 #913294
>>913285
Код мейна:

Board board = new Board();
board.addLine("ABC");
913307913311
#475 #913296
>>913283
упс, не
void Maze() {
а
void ClassName() {
913303
#476 #913303
>>913296
Создай String[][] board, заебал уже тупить.
#477 #913304
>>913164
Подписка не такая уж и дорогая, на завтраках накопишь.
913323
#478 #913307
>>913294
Братишка, у тебя class называется ClassName а не Board. Ты даже один небольшой кусок кода без ошибок написать целиком не можешь.
#479 #913311
>>913294
Где у тебя класс board?
#480 #913323
>>913304
Я у своей жены завтраки не покупаю. Как копить то? )
#481 #913346
Изучаю java, вот скажите, что я делаю не так? Почему цикл не хочет работать? Джавасрачер
public class Solution
{
public static void main(String[] args) throws Exception
{
for (int i=1;i<10;i++) {
if (int a=1;a>i;a++)
{
System.out.print(8);
else
System.out.println(" ");

}
}
#482 #913357
>>913346
У тебя с базовым синтаксисом беда.
913363
#483 #913363
>>913357
Что не так? Уже переправлял 100 раз код, не пойму что не так
#484 #913364
>>913346
Условия так не записываются вроде, разбирай так чтобы самому было понятно что происходит, а то в условие конструкцию цикла вставил.
#485 #913365
>>913346

проверь правильность расставления фигурных скобок(в этом и вся ошибка)
913366
#486 #913366
>>913365
Блин, вот я как раз их и переставлял по 100 раз, бесят эти скобочки пздц
#488 #913376
>>913346
Почему ты засунул for each в if?
913380
#489 #913380
>>913376
А так нельзя делать? Мне показалось это удобным, для рисования треугольника.
913385
#490 #913385
>>913380

>А так нельзя делать?


Ну ты же не объявил его как цикл for, а просто пихнул условия.
913387
#491 #913387
>>913385
Да, верно, щас поменял эту хератень и все заработало!
913404
#492 #913404
>>913387
Ну все читай ты уже джун на две штуки баксов. Так держать.
#493 #913406
Аноны, поясните за GWT? Мне тут говорят, что эта утилита загибается. Даже если и так, то ее частичное освоение в рамках работы заимпрувит как-то мои скиллы? Или лучше игнорить таски, связанные с ней?
913427
288 Кб, 1920x1080
#494 #913407
Сап джавач, сегодня был первый день на работе показали здоровенный интерпрайз проект с под тысячу классов и тут я охуел. Дали пару тасков, и большую часть времени я не писал код, а пытался в логике работы этого говна. Я от силы за день строк 100 написал. Это всегда так, или пока я аутист ? Алсо, я тимлида по каждому пустяку дергал, потому что в одиночку не реально в этом дерьме разобраться.
913410913427
#495 #913409
>>913175
Это говно уже умерло.
Достаточно Sublime и IDEA Community для редкого дебаггинга легаси (в нормальном коде есть тесты и дебаггинг нуден ещё реже).

Однако мы заказали несколько штук Ultimate для фишек подключения к БД и удобной работы с Cucumber и ёбаным Хибернейтом.
#496 #913410
>>913407
лучше не просто не написать 100 строк, а выкунить впизду тысячу-другую. Время на разбирание в подобной хуеплетии на начальных этапах требуется. Потом освоишься будет легче. Главное - не пытайся сделать что-то архитектурно проще или стройнее - соснешь хуйца.
913413913416
#497 #913413
>>913410

>не пытайся сделать что-то архитектурно проще или стройнее пока нет опыта


Наверное лучше так, иначе совсем пиздей какой-то получается, а не совет.
#498 #913416
>>913410
Почему не стоит пытаться делать проще ? Алсо, компания молодая и львиная доля кода написана студентами, алсо тестов не пишут, а проверяют все ручками.
155 Кб, 770x592
#499 #913417
>>913175

> Я тебе свободную IDE принес.



Ну что ананасики, ждете новый eclipse на JavaScript?

http://jug.ru/2017/01/eclipse-two/
#500 #913419
>>913232
>>913254
>>913269
А где можно проверить джун ты или мидл? У них зарплаты различаются, не знаю какую просить.
913428
#501 #913427
>>913406
Никому не советую это дерьмо. Закопали бы уже по-быстрее. Знание его подойдет для поддержки НАСЛЕДИЯ.
>>913407
Привыкай, сынок - это джава энтерпрайз.
#502 #913428
>>913419
джун думает что знает
мидл знает что не знает
сеньёру похуй
PEREKOT Perekoter !JLHGEtxGTk #503 #913430
ПЕРЕКОТ в тред >>913429 (OP)
#504 #913551
>>913175
У них есть IDE для PHP бесплатная:
https://eclipse.org/downloads/packages/eclipse-php-developers/neon2
А пидорахи зажали.
#505 #913749
>>911763
Программиста ответ
#506 #913758
>>913193
ЕйчАры же не погромисты, что ты от них хочешь. Главное придумай 3 своих плохих качества и где ты видешь себя через 5 лет
#507 #913760
>>913346
Ты написал какую-то ссаную хуйню
#508 #916563
>>907300
Ни разу не адекватный и не мастер, но

Во-первых, нахрен ты так номера генеришь в самом начале? У тебя массив numbers используется во всём коде один раз - чтобы узнать размер этого массива.

Делай сразу
public int getTen()
{final static int TEN = 10; return TEN;}

Во-вторых
(tryFindPin[0]==pin||tryFindPin[1]==pin||tryFindPin[2]==pin||tryFindPin[3]==pin)
это что такое? вложить ещё один массив никак?
#509 #922099
>>903635 (OP)
Камераден, помогите с запуском программы на Java. Поставил JDK 8, прописал все пути. Скачал нужный мне модуль JAR и файл с программной для него на java. Сделал директорию classes

По инструкции, они запускаются так:
javac.exe -cp mymodule.jar -d classes SimpleApp.java

После нормального выполнения в консоли печается результат. Но у меня выдается, что невозможно найти пакет com.moduleXXX. Но этот пакет же находится в архиве mymodule.jar.

В чём причина ?
922114922234
#510 #922114
>>922099
UPD
сделал -verbose. Пишет
...
[parsing SimpleApp.java]
[search path for source files: mymodule.jar]
[search path for class files: и начинает перебирать поддиректории в \program files\Java\JDK]

пробовал также при запуске javac указывать полные пути и к файлу .JAR, и к файлу .JAVA
#511 #922222
Что это за вещь такая - OSGi? Зачем оно нужно? На собеседовании спросили.
#512 #922234
>>922099
В -cp надо указывать полный путь.
922242
#513 #922242
>>922234
с полными путями тоже пробовал

UPD2

в [search path for class files: мой JAR-модуль перечисляется в конце, но дальше идёт

[loading ZipFileIndexFileObject[C:\Program Files\Java\jdk1.8.0_121\lib\ct.sym(META-INF/sym/rt.jar/java/io/File.class)]]

и

SimpleApp.java : 4 : Error package com.moduleXXX doest not exist.

Почему, ведь компилятор увидел архив Jar ?
Почему ZipFileIndexFileObject берёт какой-то архив в директории Java, а не мой модуль ?
#514 #923497
Читаю Хорстмана первый раз, ничего в проге не понимаю. И тут встречаю темы, вроде Протокалирования на 30 страниц. Вопрос: стоит ли это скипать? И учиться именно писать что-то. Вопросом таким задался еще и потому, что меня дико напрягают такие темы, я понимаю, что отладка это важно и т.д, но я толком то написать ничего не могу, и какой в этом смысл...
Тред утонул или удален.
Это копия, сохраненная 2 февраля 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски