Двач.hk не отвечает.
Вы видите копию треда, сохраненную 10 апреля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
241 Кб, 620x620
Официальный™ тред Java #25 #687417 В конец треда | Веб
FAQ:
Q: Посоны, собираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.

Q: Значит, я должен буду всю жизнь сидеть в опенспейсе, конвертируя XML в эксепшны? Ура, мне подходит! С чего начать?
A: Туториалы:
BEGINNER: http://myflex.org/books/java4kids/java4kids.htm
MEDIUM: http://www.tutorialspoint.com/java_technology_tutorials.htm
HARD: http://docs.oracle.com/javase/tutorial/

Книги:
- Head First Java, (2nd Edition) : Kathy Sierra, Bert Bates - для совсем нулячих простым языком.
- Core Java (9th edition) : Cay S. Horstmann, Gary Cornell - тоже для нубасов, но на серьёзных щщах.
- Thinking in Java (4th Edition): Bruce Eckel - для тех, кто уже умеет в программирование на другом языке, но хочет перекатиться.
- Effective Java (2nd Edition): Joshua Bloch - для тех, кто знает джаву, но хочет перестать писать костыли.
Больше здесь: http://www.proklondike.com/books/java.html

Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.

Q: В списке книг одно старье. Новее ничего нет?
A: Годноту быдлу не палим. Джава 5 вышла больше десяти лет назад. В шестой и седьмой изменений в синтаксисе минимум. В восьмой было довольно значительное обновление, но а) многие проекты все еще сидят на шестой или седьмой; б) там не такие фундаментальные изменения, чтоб нужно было переучиваться: за пару вечеров лямбды и стримы вполне можно осилить.

Q: Я не могу в книги, но нашел крутую штуку - javarush. Что скажете?
A: В наших тредах постоянно появляются люди типа тебя. Громко обьявляют, что начинают заниматься по джаварашу, задают пару тупых вопросов и куда-то пропадают. Похоже, большинство адекватов бросают джавараш из-за дебильных заданий типа "десять сраз скопипасти этот кусок кода". Тем не менее, иногда появляются и люди, говорящие что прошли его целиком, и что дальше задания получше. Короче, хочешь - пробуй, первые десять занятий бесплатно же. Но, как минимум, лучше совмещать с обучением по другим источникам.

Q: Пока читаю, все понимаю, а сам ничего сделать не могу. Что делать?
A: Практика, больше практики.
Уровня laba1.pas: http://codingbat.com/java http://codehunt.com
Чутка серьезнее: http://programmr.com/zone/java http://codingame.com/puzzles
Рулеточка: http://postimg.org/image/xdfbvgps9/
Олимпиадка: http://codeforces.com
Примеры той-проектов: http://eax.me/programming-language-learning/

Q: Я выучил кор, достаточно ли этого, чтоб взяли на работу?
A: Лол, конечно нет хотя некоторым всё же везёт.
Вот майндмап с джава-технологиями: https://atlas.mindmup.com/2015/10/3d59a040592a0133d02a5d31ebcc5420/java/index.html
Цикл статей что в каком порядке учить: http://dou.ua/lenta/articles/java-beginner-guide-1/ (заблочен РосКомПозором, юзайте прокси)

Q: Слышал, SQL знать надо обязательно. Где его учить?
A: Начни с малого: http://www.w3schools.com/sql/default.asp
Затем переходи к: http://www.sql-ex.ru/
В качестве чтива рекомендую: http://oreilly.com/catalog/sqlhks/chapter/

Q: Всё это хорошо, но без алгоритмов меня на работу не возьмут.
A: Не беда, вот курсы от Принстонского университета: https://www.coursera.org/course/algs4partI
То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java

Q: Я готов к первому собеседованию.
A: Проверь свои знания здесь: http://www.quizful.net/test
И здесь: http://www.careercup.com/

Предыдущий тред тонет здесь: >>673361 (OP)
#2 #687445
побуду хоть первонахом в жава-треде
30 Кб, 427x302
16 Кб, 257x270
#3 #687457
написал сегодня генератор имён. Имена выходят глупые, странные, похожие на имена викингов, но фантазии на большее не хватило. Да и делалось скорее для оттачивания/проверки навыков, а не для "души и творчества".
В общем, поехали.
Класс NameGen - класс с основами и всеми фишками, типа рандома. геттеры-сеттеры тоже тут.
http://pastebin.com/6gvvNn4v
класс NameGenRules. Тут у нас уже методы запуска и всё такое. плюс массивы с кусками имён:
http://pastebin.com/9XBEfEuy
И класс с мэйн методом, в котором я решил реализовать экншлистнеры и гуи. Вышло кривовато и не очень красиво, да, зато теперь знаю, что надо бы про ГУИ побольше почитать и больше позаниматься.
вот тут класс(даже комменты на ангельском вставил):
http://pastebin.com/M83qMNE7

В результате вышла милая программка, пикрелейтед.

Расскажи, что думаешь, Анон. Кроме класса с гуем - там я знаю, там много лишнего и криво.

Спасибо за рейт, гайс)
#4 #687487
Есть ли смысл применять жаву в вебе (сервлеты, вот эти вот хибернеты всякие), если уже может написать сайт на скриптовом языке?
Алсо есть ли какие-то стильные фреймворки для стилизации формочек в FX? Хотя я почему то стили не могу подключить, применяю их прямо в коде к элементам
>>687508
#5 #687508
>>687487
Для мелкосайтов - скриптопараша лучше. Когда же у тебя появляется потребность в кешах внутри приложения, фоновых задачах, а база ложится из-за слишком большого количества коннекшнов (естественно же, в ПХП до сих по коннекшну на реквест открывают), то джава выигрывает.
#6 #687535
>>687457
Пиздец, убери это говно отсюда и никому не показывай.
>>687543
#7 #687538
>>687457
божественно
>>687543
#8 #687543
>>687538
Спасибо. хотя сарказмом веет.
>>687535
а что не так? рассказал бы хоть, для того сюда и залил
#9 #687547
>>687457
Базарю, анон, у тебя явно склонности к кодерству. Не думал в гугл на стажировку зааплаиться? Очень классная и милая программка ))) Как вариант можно еще в майкрософт в отдел разработки графических интерфейсов пользователя. Очень удачно соблюдены пропорции для графических элементов в твоей программе, юзабилити очень крутой. Удачи, у тебя все получится! )))
>>687548>>687551
#10 #687548
>>687559
#11 #687551
>>687547
Бля, ну зачем так, я ж кинул, чтоб мне показали мол в верном направлении иду или нет.

Думал, что в /pr атмосфера не как в /b, и что тут не клюют,а помогают или тыкают носом в баги-ошибки.
>>687564
#12 #687556
Бля, мне на вакансии пхп дауна прислали тест на регулярки. (они типа сайты регулярками парсят). Вообще ахуеть, DOM элементы регулярками, когда в жаве есть куча удобных библиотек!
#13 #687559
>>687548
А если серьезно, выкатывай только реальную прикладную аппликуху, которая будет выполнять конкретную функцию, или несколько функций. Навскидку, минимум 1к строк кода должно быть, чтобы не стыдно было людям показывать и просить ревью. А ты прочитал вступление и первую главу Шилдта, наваял какую-то... программу, блядь, твое ЧСВ зашкалило, и ты решил выкатить свой талант на всеобщее обозрение. Конечно, здесь тебя за такое обоссут. Сколько тебе лет вообще?
#14 #687560
>>687559
мань, это не мое говно.
>>687563
#15 #687563
>>687560
Да поебать, он понял, что это ему
#16 #687564
#17 #687569
>>687559
22.
вкатился месяц-полтора назад.
Шилдта не читал ещёю
залил не ЧСВ потешить, а понять, верно мыслю или надо повторить основы, так сказать.
>>687575
#18 #687575
>>687569
А что читал? Почитай https://docs.oracle.com/javase/tutorial/java/index.html и копируй стиль оттуда. И рановато ты в гуй полез.
>>687578
#19 #687578
>>687575
читаю head first
прочитал до середины файна, с середины пиздец начался какой-то.
оттуда и почерпнул про гуй и про основные элементы его.
сейчас только head first и Java Api листаю.
>>687579
#20 #687579
>>687578
Так ты задачи решаешь? Это пиздец как важно. Причем нужно стараться копировать стиль автора. Во, вспомнил! Забей короче на всю хуйню и кури только эту книгу ближайшие месяцы: http://math.hws.edu/javanotes/
Там самая необходимая база, без которой никуда, и задачи интересные. И не распыляйся на множество источников, добей книгу от начала и до конца. И уже будешь неплохим кодерком. Такое мое видение.
>>687587
#21 #687587
>>687579
задачи решаю на codingbat, уже достаточно много прорешал. Спасибо за ссылку)

А в headfirst задачи простые пока что, даже слишком.

на кодингбат задачи поинтереснее будут.

в хедфёрсте что-то вроде поработайте компилятором и что выведет код

Спасибо за ссылку)
61 Кб, 800x800
#22 #687612
>>687417 (OP)
Походу вкатился в жабу, перезвонили, пригласили. дс-2.
#23 #687623
>>687612
Что знаешь, сколько лет, что в вакансии нужно было?
рассказывай няша
>>687645
#24 #687624
>>687612
Что за контора?
>>687645
#25 #687627
>>687612
Завидоват, сам сейчас сижу, техническое собеседование через 20 минут, страшновато.
>>687645
12 Кб, 486x253
#26 #687637
>>687612
Если интерпрайз (особенно на java), то рано радоваться.
Это такая вещь, которая через полгода убивает у "неокрепших умов" все желание программировать.
>>687639
#27 #687639
>>687637
А что не убивает?
>>687646
#28 #687645
>>687623
22, читал эккеля и немного spring in action. в вакансии было "высшее техническое и желание развиваться в интересной области"
>>687624
данон же
>>687627
удачи братиш, будь уверенней и все ок будет.
>>687657
#29 #687646
>>687639
Логично что НЕ интерпрайз:
• То что можно сделать с нуля
• Где можно быстро увидеть и "потрогать" результат своего труда
• Где к тебе относятся НЕ как к винтику, давая кучу низко-интелектуальных задач
• Где применяются актуальные технологии
• Где можно экспериментировать
• Разрабатывать то чем пользуются простые пользователи, так что можно будет этим хвастаться

С другой стороны, если можешь пережить отсутсвие всего этого, то через год будешь неплохо зарабатывать.
#30 #687647
>>687612
Это ты тот анон, который от безысходности кидал резюме даже в дс? В любом случае, поздравляю!
>>687671>>687794
#31 #687657
>>687645
а у тебя есть высшее техническое? спринг он ЧИТАЛ вообще ахуеть. а делал что?
>>687671
#32 #687671
>>687647
не я, спасиб
>>687657
выпускнота, ничего не делал.
3 Кб, 98x94
#33 #687688
апплаишься на миддла
берут
узнают что нет опыта коммерческой работы
снижают з.п. до джуна
>>687813
#34 #687711
Повторюсь.Есть что почитать вроде архитектуры Фаулера, только не протухшее?
>>687815
#35 #687724
Trainee Java Developer

We are looking for Junior Java Developer who desire to increase his/her knowledge and succeed with great results working with us.

Required skills :
Technical education (related to computer science) - второй курс
Good knowledge of Java - знаю джава кор
Be familiar with Algorithms and Data Structures - да
Good theoretical knowledge of Databases - нет
Experience with HTML and CSS would be a plus - на лабах делал
Be familiar with Java code conventions - да
Desire to work and study new technologies - да
English Intermediate level or above - B2
Fast-learning person - да

Каковы мои шансы? Стоит подавать резюме?
#36 #687744
Джаваны, можно взять день-два перерыва в обучении?
А то кажется невроз уже от переизбытка информации и фрустраций из-за получилось||не получилось
>>687776
#37 #687752
Аноны куда лучше заливать свои проекты, github или bitbucket? Гитхаб вроде как мейнстрим, но на битбакете можно будет скрыть свои говнопроекты от потенциального работодателя(не хочу 100500 аков создавать). VCS до этого не пользовался, вот сейчас вкатываюсь в гит т.к. везде требуют.на самом деле хочу кинуть анонам на ревью свой небольшой проект
>>687756
#38 #687756
>>687752
У меня все публичное на гитхабе, все приватное на битбакете
>>687762>>687773
#39 #687762
>>687756
а какого уровня проекты можно заливать на гитхаб?
находил у некоторых там даже лабораторные типа, если а больше б вывести а.

Это зашквар?
Вообще, каким должно быть портфолио? Как можно больше проектов и задач, даже самых тупых или один ахуенный проджект?
>>687770>>687811
#40 #687770
>>687762
Вообще зашкварненько, но все что не лабы заливай, даже если там будет не самый лучший код, улучшай со временем, пусть видят, что ты развивался. Алсо вот тебе крутой проект успешного ноджс кодера, весь код в index.js
https://github.com/gummesson/is-empty-object/blob/master/index.js
#41 #687773
>>687756
А если ты решишь что нибудь из приватоного сделать публичным, перезалив? Битбакет ведь позволяет?
>>687781
#42 #687776
>>687744
Перерывы обязательны, на мой взгляд. Можно вообще на недельку.
#43 #687781
>>687773
Одну галочку переключить
#44 #687794
>>687647
Не, тот анон с безысходностью - это тот, который как раз сейчас с собеседования вышел. Первые впечатления - ощутил, что я хуй простой и вообще нихуя не знаю. В 2 словах: были вопросы на разные тонкости, стринг буферы разные, цикл жизни сервлетов и jsp, веб, sql и БД, борьба с sql-инъекциями и как именно реализован prepared statement. Еще было про жабаскрипт и css, но на этом я совсем обосрался, так как работал с ними только копипастой и тонкостей нихуя не знаю.
Под конец была оче занятная логическая задача про поезда: дан замкнутый поезд неизвестной длины, определить сколько в нем вагонов. Собственно, можно только перемещаться и включать/выключать свет, изначально освещение в вагонах включено рандомно.

Алсо, пасаны из return on intelligence внезапно вспомнили обо мне и прислали тестовое задание, позже напишу подробнее. Ну и тянка-HR сильно доебывалась, что я на курсы инглиша не хожу.
#45 #687807
>>687794
Не везет тебе братишь, хотя это как посмотреть. Судя по твоим постам конторы попадаются не самые хуевые и если ты не собираешься писать рутину 24\7 за зарплату, а стать приличным программистом то в такие конторы и надо устраиватся.
60 Кб, 875x880
#46 #687811
>>687762

> заливать что-то на гитхаб только для портфолио


> не контрибьютить в чужие проекты и не разрабатывать свои


И себя ты называешь программистом?
>>687818
#47 #687813
>>687688
Ливай тогда оттуда.
#48 #687815
>>687711
Фаулер и не протух как бэ. Тебе когда про паттерны GoF советуют, ты тоже нос воротишь?
>>687885
#49 #687818
>>687811

> заливать что-то на гитхаб только для портфолио


Залил свой проект, а потом через год работадатель именно его решил открыть, а там код ньюфани.

> не контрибьютить в чужие проекты


Хотеть, но пока не уметь

>И себя ты называешь программистом?


НАЧИНАЮЩИЙ
#50 #687823
>>687794

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


Как решил? Нельзя просто везде включить, потом выключить любой один, начать идти со следующего, дойти по кругу до выключенного - он будет являться концом вагона. Где подвох?
>>687834>>687836
#51 #687826
>>687794

>стринг буферы разные


поподробнее, че там можно спрашивать?
>>687849
#52 #687834
>>687823

> везде включить


Длина же неопределена, вот ты выключишь, а потом окажется, что ты до конца не дошел.
>>687839
#53 #687836
>>687823

>просто везде включить


А вот в этом и подвох, как ты поймёшь, что включил "везде"? То, что тебе попались n светлых вагонов подряд еще ни о чем не говорит.
>>687839>>687855
#54 #687837
Заходят программист, математик и Леночка в вагон…
#55 #687839
>>687834
>>687836
Понял, подумаю ещё.
#56 #687849
>>687826
String а = "a"+" b"+"c";
Сколько будет создано объектов в памяти? Что произойдет, если стринг заменить на стрингбилдер?
#57 #687855
>>687836
Если не заданы условия оптимизации думаю можно так:
Включить в вагоне свет, он будет отправной точкой, продвинуться вперед на 1 вагон и вернуться обратно, проверить свет, потом на два вагона впереди и обратно, если на старте свет выключен, то мы обошли поезд целиком.
#58 #687856
>>687855
Кто вообще такую хуйню задает?
#59 #687860
>>687849
Effective java наверни, там все это будет, насколько знаю из опыта знакомых, любят оттуда вопросы.
>>687855
>проверить свет, потом на два вагона впереди и обратно
Забыл дописать что потом на 3,4 и т.д., пока не будет выключен свет в первом вагоне
>>687862
#60 #687861
>>687855
Угу, я так же решил.
#61 #687862
>>687860
Е-мае, забыл еще указать что в каждом следующем вагоне выключаем свет.

Пойду я лучше спать
#62 #687874
>>687849
Зависит от версии Java и Hotspot (или вообще хотспот это или другая JVM).
#63 #687877
>>687849
>>687849
3, string immutable, но эт изи
>>687880
#64 #687880
>>687877
"a", "b", "c", "abc" же
>>687884
#65 #687884
>>687880
ой да, и "ab" тоже вроде
>>687887
#66 #687885
>>687815
Первая половина книги не протухла, а вот дальше чувствуется, что в 2002 году писалось. Ну и хотелось бы книжку, где мне за си шарп не задвигают и не вспоминают местами про питон с руби.
#67 #687887
>>687884
Так блять, в этом "вроде" по сути весь вопрос и заключается.
#68 #687889
>>687887
5, вместе с ab по-любому
#69 #687895
>>687887
а что нибудь по сложностям алгоритмов было?
#70 #687897
>>687887
Нахуя вообще такое спрашивать?
>>687900>>687918
#71 #687900
>>687897
да норм вопрос, узнать понимаешь ли ты, что такое стринги
>>687903>>687905
#72 #687903
>>687900
Ну не должно это ебать типичного дева, вопросы по языку - да, по алгоритмам - конечно, попросить написать код - само собой. Но с этой хуйней пусть jvm разбирается, главное знать, что не нужно много строк создавать.
12 Кб, 753x228
#73 #687904
>>687849
Один. Три константы же сложили. Компилятор не тупой.
>>687906
#74 #687905
>>687900
Ну, тут, скорее, надо знать не что такое стринги, а что они immutable и берутся из пула.
#75 #687906
>>687904
А в спецификации прописано, что компилятор должен делать такую оптимизацию?
#76 #687907
An implementation may choose to perform conversion and concatenation in one step to avoid creating and then discarding an intermediate String object. To increase the performance of repeated string concatenation, a Java compiler may use the StringBuffer class or a similar technique to reduce the number of intermediate String objects that are created by evaluation of an expression.

For primitive types, an implementation may also optimize away the creation of a wrapper object by converting directly from a primitive type to a string.
>>687909
#77 #687908
>>687906
А про стринги почти ничего и не написано.
На то String и final что бы не ограничивать компилятор.

Про интрисики в JDK 9 вы наверное вообще не слышали.
>>687916
#78 #687909
>>687907

> may


> may


> may

#79 #687912
>>687906
Всем "стремящимся джунам" советую посмотреть https://www.youtube.com/watch?v=SZFe3m1DV1A
>>687927
#80 #687914
>>687906
Да, написано.
http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.5

>Strings computed by constant expressions (§15.28) are computed at compile time and then treated as if they were literals.

#81 #687916
>>687908

>интринсики


Хули ты умничаешь-то? Тебе говорят, блять, что это не прописано в спецификации и все оптимизации типа тех же интринсиков -- это воля разработчиков JVM. Поставь себе другую JVM от Васяна, а не Hotspot -- обязательно там интринсики будут?
>>687917
#82 #687917
>>687916

>Тебе говорят, блять, что это не прописано в спецификации


Пост выше. Это стандарт компилятора, а не JVM.
#83 #687918
>>687897
С той же целью, что и "расскажите подробно, как отрабатывает команда put в мапе" - проверить знание тонкостей кора. Знаешь ты про putfornullkey, корзины и связные списки внутри них или для тебя это просто магическая хуйня, где всякие штуки парами лежат.
Алсо, спрашивали про устройство памяти и работу GC, тут я тоже частично обосрался: в общих чертах знал, но на вопросы о более подробном устройстве хипа (я читал, что там с позиции GB ещё как-то память разделена, но детали не запомнил) и о том, как именно GC поступает с объектами, указывающими только друг на друга (я знаю, что он умеет искать перекрёстные ссылки, но КАК он это делает - в душе не ебу) не ответил.
Ещё были вопросы про веб, мол, я на ссылочку нажал, а что там за магия в интернетах происходит, как оно всё отрабатывает и на какой порт стучится. Как jsp преобразуется в сервлет спрашивали.
Про композицию, множественное наследование и это всё, мол, что я буду делать, если мне нужно запихать методы нескольких классов в третий класс.
Был вопрос про 5 принципов объектно-чего-то-там-дизайна, но я про это впервые слышал.
>>687920
#84 #687920
>>687918
А мы точно про джунов говорим?
>>687921>>687937
#85 #687921
>>687920
Т.е. если я знаю, как находятся циклические ссылки (а точнее не находятся), то могу увольняться со своей стажерской должности и идти миддлом?
>>687926
#86 #687926
>>687921
Нет, я не к тому, я сам просто шарпист, и сам довольно таки глубоко лез внутрь, вникал в работу гц, медитировал над разницей в генерировании машинного кода старым компилятором и рослином, и все такое, но на собеседованиях на джуна меня ни разу ни о чем на таком уровне не спрашивали. Может у вас в джаве там конечно все иначе и хардкорней, но я не думаю, что джуну нужно знать о настолько тонких подробностях.
>>687930>>687932
#87 #687927
>>687912
о, спасибо, интересненько
#88 #687930
>>687926
ну я читал про это у эккеля где-то вначале, но максимум, что там писалось это то, что gc пытается раскрутить все ссылки до стека, а про сурвайволы и олд генерейшон там не было и слова.
>>687935
#89 #687932
>>687926

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


Ну всякое говно вроде во сколько там стрингов скомпилится твое выражение и правда немного лишнее, но знать как там внутри устроена хеш-таблица (можно даже без выебонов вроде лоад факторов и "а чому это там суспрес ворнинг стоит") - это вполне вменяемые требования, как мне кажется.
>>687938
#90 #687935
>>687930

>там писалось это то, что gc пытается раскрутить все ссылки до стека


Наоборот. Он начинает со стека (точнее с некоего "корневого множества"). Так что всякие там объекты с только цикличискими вообще не попадут к нему в претенденты на живых.
#91 #687937
>>687920
А хуй знает, кстати. Формально у них и джуновских вакансий-то не было, но они сказали, что если норм, то в теории могут и взять джуном.
Это, кстати, те самые, про которых я в прошлом треде писал, я у них ещё в блокноте игру в города пилил на первом собеседовании.
А Return on Intelligence что-то удивили, берут в интернатуру на 4 месяца, зп 20к, после интернатуры могу взят в штат, а могут и не взять.
>>687941
#92 #687938
>>687932
Против алгоритмов и структур данных ничего против не имею, это очень хорошие и правильные вопросы. Просто когда доходит до вопросов, где начинаешь пытаться думать как компилятор, чтобы он сделал, оптимизует он или нет, то это все-таки лишнее уже.
>>687946
#93 #687940
Так сколько объектов-то создастся?
>>687945
#94 #687941
>>687937

> А Return on Intelligence что-то удивили, берут в интернатуру на 4 месяца, зп 20к


С такими ситуациями я знаком, тут можно попытаться договориться уменьшить такой срок хотя бы в 2 раза
>>687955
#95 #687945
>>687954
#96 #687946
>>687938
Ну просьбы пояснить что-то вроде такого https://ideone.com/3IImWm это совсем долбоебизм, имо.
>>687947
#97 #687947
>>687946
вопрос про автоупаковку, что не так?
>>687949>>687951
#98 #687949
>>687947
Причем тут упаковка?
#99 #687951
>>687947
А то, что я даже если буду бухой и неспавший пятеро суток, я не стану сравнивать ссылки на объекты.
И вопрос не про автоупоковку, а про кеширование. Мы вам перезвоним.
#100 #687954
>>687945
На самом деле вопрос "сколько объектов создастся (в рантайм"), а не как скомпилируется.

А если он дальше по коду не используется (в условии это не уточняется)?
Какая нибудь хитрожопая реализация JVM может это оптимизировать и выкинет это в рантайме,
в спецификации ведь про такие случаи не говорится.
>>687958
195 Кб, 1080x1920
180 Кб, 1080x1920
#101 #687955
>>687941
Вот, кстати, из задание. Да ладно уменьшить, взяли бы хоть. И так боюсь, что даже если задание сделаю хорошо, могут к разговорному английскому приебаться.
>>687957>>687974
#102 #687957
>>687955
Собственно, делается первое задание и одно из второй части на выбор.
#103 #687958
>>687954
Так вот этот код в рантайме создаст один объект. На любом компиляторе и любой jvm. Иди выебывайся в какой-нибудь другой тред.
>>687963
#104 #687963
>>687958
Мамой клянешься?
>>687966
#105 #687966
>>687963
Тебе еще раз дать ссылку на спеки или сам найдешь?
>>687968
#106 #687968
>>687966
Там ничего не говорилось про исполнение кода, а только про компиляцию.
>>687969
#107 #687969
>>687968
Исполняется вроде как байт-код, не? А в нем _вообще_нет_твоей_ебаной_конкатенации_. Ты меня утомил.
#108 #687974
>>687955
Хорошие задания, мне нравятся. Но не на джуна, на стажера, да.
>>687976
#109 #687976
>>687974
Так да, это на стажера и есть.
#110 #688070
Сап. Почему при сравнении двух положительных чисел возвращает false, в при сравнении отрицательных - true?
https://ideone.com/VsOC4C
>>688074
#111 #688074
>>688070
Во-первых ты неверно перепечатал образец: минус в a1.
Во-вторых загляни в метод Integer.valueOf и обрати внимание на границы кеша Integer объектов.
>>688081
#112 #688081
>>688074
Cпасибо. Я просто еще даже не начинал учить. Просто рандомный код скопипастил в редактор и поигрался с числами.
>>688087
#113 #688083
Кстати, если добавить к аргументам что-то вроде -Djava.lang.Integer.IntegerCache.high=9000, то и 128 == 128 станет true.
>>688092
#114 #688087
>>688081
А с int все хорошо работает, кстати, не знаю, откуда я знаю это, лол. С пыхи вкатился.
>>688180
#115 #688092
>>688083
Ну заебись и валхала не нужен.
#116 #688168
Пиздец, ананасы, дрочу джавараш, в перерывах почитываю Head First Java. И, знаете, чувствую себя нереально тупым. Вот иной раз читаю что - то и понимаю, что я ровным счётом нихуя не соображаю. Прочту 3 -4 раза одно и то же пока до меня начинает доходить смысл. Сконцентрироваться не могу нихуя толком постоянно что - то отвлекает. Когда дело до заданий доходит постоянно ползаю в лекции подсматривать то что прочёл пару минут назад, алгоритм придумать для меня иной раз совсем непосильная задача. С программированием раньше дела не имел совсем, но так как времени много решил подучить жаву. Может мне не дано, или это у всех так было?
>>688187>>688191
#117 #688180
>>688087
Потому что в случае с int сравниваются значения, а в случае с Integer - ссылки.
>>688203
#118 #688187
>>688168
Это нормально, у всех так было.
#119 #688191
>>688168
Заруби себе на носу - для того, чтобы программировать не нужен какой-то божий дар. Только практика и ещё раз практика. Тех, кто тебя убеждает в ином, шли нахуй.
#120 #688203
>>688180
То есть Integer это числовой объект, а int это просто тип переменной?
>>688210>>688212
#121 #688210
>>688203
Integer -- ссылочная обёртка над примитивом int.
>>688281
#122 #688212
>>688203
То есть по сути -- да, это объект. А int -- не объект, а примитив.
>>688281
#123 #688228
Насколько в idea хорошая поддержка git, нужна ли мне будет консолеебля или все связанное с git(домохозяйка-левел) можно сделать из иде? Вот ща добавил проект, но хуй проссыш как заигнорить папки, файлы.
#124 #688245
>>688228
Бери SourceTree - охуенная весчь на маке особенно, полный контроль за репой без консолеебства.
Я с ней просто отключаю все VCS плагины в идее, тк не нужны.
#125 #688247
>>688228

>Насколько в idea хорошая поддержка git


Хорошая, если не любишь пердолиться с консолью хотя как можно не любить, можно этого избежать. Пиздато мерждить через него, например.

>как заигнорить папки


редактируй гитигнор через само ide, там есть даже плагин для людей с особенностями.
#126 #688258
>>688228
Прекрасная, всяко лучше чем в ВС.

мимо-VSеб
#127 #688278
Анон, что скажешь про джавараш?
>>688283
#128 #688281
>>688210
>>688212
Спасибки. Ладно, пойду книжку начинать читать.
#129 #688283
>>688278
Вы, блять, издеваетесь что ли? Откуда вы такие берётесь вообще?
#130 #688285
public static int min(int a, int b)
{
return a < b ? a : b;
}

Что за конструкция такая? Где почитать?
Понимаю, что если а меньше б, то вернуть а, в противном случае б. Так?
>>688292>>688308
#132 #688308
>>688285
Только погугли статью про тернарные операции (с телефона не скину). Там есть свои подводные камни, иногда приходится использовать if-else
>>688311
#133 #688311
>>688308
А в чем с них профиты?
#134 #688313
>>687417 (OP)
Ворвался в джаву 3 недели назад на позицию джуниора в дс, не зная ни одного фреймворка и ни одной системы сборки. Оцените хуевость конторы.
>>688317>>688455
#135 #688314
>>688311
Тернарных? Просто запись короче, больше никаких
#136 #688317
>>688313
Что платят? Долго учился перед этим?
>>688321
#137 #688321
>>688317

>Что платят?


Ну сказали, так как опыта нет, то будут платить первые 3 месяца 30к.

>Долго учился перед этим?


про алгоритмы и ещё писал скрипты на ней для нагрузочного тестирования.
>>688323
#138 #688323
>>688321
Блять, проебал часть написанного.
Писал, как дебил, одни реализации алгоритмов дома по книге лафора и сенжвика. Больше на ней ничего не делал.
Мистика #139 #688328
В обещм есть в основном треде такая стандартная конструкция:

public final Random random = new Random();

И есть куча остальных тредов, которые использут этот random.

Программа огромная. Появились страшные глюки. Не понимал в чём дело, пока не добрался до сути. Дело оказалось в этом самом random.

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

Собственно вопрос. КАК БЛЯТЬ ТАКОЕ ВОЗМОЖНО?
>>688331
#140 #688330
>>688311
Краткая запись. Проблема в том, что тернарная операция - суть оператор, и тип значения решается в момент компиляции. То есть если у тебя (true) ? int : double, то независимо от условия тебе вернётся double.
Более того, если ты используешь несколько раз этот оператор (c1? r1 : c2 ? r21 : r22) и один из r1, r21, r22 равен null, а jcnfkmyst - два разных типа (точно не помню какой), то ты словшь null poiter exception когда условия сложаться так, что этот null будет результатом условий. Потому что сгенерированныйкод будет пытаться скастить null и сгенерирует невализный код.
>>688332
#141 #688331
>>688328
т.е. при вызове из других тредов int i= random.nextint(1000), например.
>>688336
#143 #688336
>>688331
Instances of java.util.Random are threadsafe. However, the concurrent use of the same java.util.Random instance across threads may encounter contention and consequent poor performance. Consider instead using ThreadLocalRandom in multithreaded designs.
>>688340
#144 #688339
>>688311
Тернарный оператор используется для того чтобы инициализировать значения в переменных или выражениях.
Например:
System.out.println("Оп - " + (new Random.nextInt%2==0) ? "няша":"мудак";
Можно делать такое гавно цепочкой.
#145 #688340
>>688336
Хуясе.
#146 #688352
Короче, никогда не обращайтесь к обычному рандому из другого треда. Будут проблемы там, где даже от этого рандома ничего не зависит.
>>688362
#147 #688362
>>688352
А что за проблемы-то были? Лагало?
43 Кб, 1133x549
Business Layer to Data Layer mapping #148 #688446
Пытаюсь реализовать паттерн "репозиторий".
Есть уровень бизнес-логики, есть уровень данных (Hibernate). Общаются они через репозитарий.

Бизнес-логика вызывает Repository.save(object); Репозитарий должен извлекать из бизнес-объектов данные и наполнять этими данными POJO-объекты, которые аннотированы Hibernate'овскими аннотациями.

Это делается для того, чтобы бизнес-логика ничего не знала о том как хранятся данные.
Но возникает проблема как сделать переход между бизнес-объектами и Hibernate-аннотированными объектами.
После опробования разных способов пришёл к тому, что в моем случае проще бизнес-объектам наследовать hibernate-объекты.

Тогда внутри репозитария можно безопасно кастовать аннотированные hibernate-классы на бизнес-объекты. И потом сохранять.

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

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

//ENUM
enum Selector {
User(BusinessUser.class,POJOUser.class)
//...
}
//Где-то в бизнес-логике
Repository.get(Selector.User.byId(369);
//...
//Внутри репозитария
public Object get(Selector selector) {
return manager.get(selector.getPOJOClass, selector.getId);
}

Но всё это было очень костыльно.
43 Кб, 1133x549
Business Layer to Data Layer mapping #148 #688446
Пытаюсь реализовать паттерн "репозиторий".
Есть уровень бизнес-логики, есть уровень данных (Hibernate). Общаются они через репозитарий.

Бизнес-логика вызывает Repository.save(object); Репозитарий должен извлекать из бизнес-объектов данные и наполнять этими данными POJO-объекты, которые аннотированы Hibernate'овскими аннотациями.

Это делается для того, чтобы бизнес-логика ничего не знала о том как хранятся данные.
Но возникает проблема как сделать переход между бизнес-объектами и Hibernate-аннотированными объектами.
После опробования разных способов пришёл к тому, что в моем случае проще бизнес-объектам наследовать hibernate-объекты.

Тогда внутри репозитария можно безопасно кастовать аннотированные hibernate-классы на бизнес-объекты. И потом сохранять.

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

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

//ENUM
enum Selector {
User(BusinessUser.class,POJOUser.class)
//...
}
//Где-то в бизнес-логике
Repository.get(Selector.User.byId(369);
//...
//Внутри репозитария
public Object get(Selector selector) {
return manager.get(selector.getPOJOClass, selector.getId);
}

Но всё это было очень костыльно.
>>688487>>688512
#149 #688455
>>688313
Что, как джуна тебе дают за задания?
#150 #688487
>>688446
Помнишь си? Вот ты кастанул лишь указатель(ссылку). От этого каста объект лежащий по тому адресу не перестал быть User. А еще кастовать засраные хибернейтом домены к чему-либо - плохая идея. Там же привалит хуй пойми какое прокси и у тебя будет класс каст эксепшн на каждом шагу.
>>688494
#151 #688494
>>688487
Понял, спасибо.
#152 #688512
>>688446
Глянь dozer, orica и прочие бин-мапперы.
>>688514
#153 #688514
>>688512
*orika
#154 #688515
Есть ли способы делать криптоконтейнеры? Либы или что?
43 Кб, 676x493
Говнокод сам себя не исправит #155 #688682
Как и в прошлом треде, прошу помощи у настоящих программистов. Есть проект - игра на libGdx, которую я пилю в свободное время. Репозиторий - https://bitbucket.org/dksurname/rolik . Хочу критики по поводу некрасивых (с точки зрения программирования) решений, конструкций и архитектуры. Кода уже довольно много, но качество его таково, что можно тыкать в сорсы наугад и стабильно попадать в говнокод. Большое спасибо анону из прошлого треда, который указал на одно улучшение. Попробовать игру (пока просто по сути - прототип) на баги можно по вышеприведённой ссылке (downloads).
>>688685>>691394
#156 #688685
>>688682
Я не пойму какие библиотеки надо подключать, чтобы развернуть проект в иде?
Алсоу на чем графику делал?
>>688695>>688698
sage #157 #688695
>>688685

>какие библиотеки надо подключать, чтобы развернуть проект в иде?


Да. Прошу прощения за такое. Короче, проще всего брать пустой libGdx проект и копировать (форкать) в него. Скачиваешь libGdx жарник с их сайта, запускаешь. Нужно добавить галку на FreeType и, вроде tools (ну или потом их в грэдл зависимостями сунуть). Generate -> получаешь пустой проект. В core обычно лежит весь, собственно, код.
>>688737
sage #158 #688698
>>688685

>на чем графику делал?


Всмысле? libGdx там сам как то её рисует. Глубинные механизмы мне не известны. А спрайты я сам рисовал. Преимущественно в gimp-е.
#159 #688702
>>687417 (OP)
Ребята, прохожу курс на курсерии по джаве. И у меня проблема с HashMap.
>>688703>>688709
#160 #688703
>>688702
<pre>
public void buildMap (){
map.clear();
WordGram gKey = new WordGram(myText, 0, myOder);
int ind = 0;
while (myText.length >= ind+myOder){
System.out.println(gKey);
if (!map.containsKey(gKey)){
ArrayList<String> list = getFollowsKeys(gKey);
map.put(gKey, list);

}
if (ind+myOder == myText.length){
break;
}
for (String s : map.get(gKey)){
System.out.println("\t" + s);
}

String s = myText[ind+myOder];
//System.out.println(s);
gKey.shiftAdd(myText[ind+myOder]);
// System.out.println(gKey);
ind +=1;

}
printHashMapInfo();
}
</pre>
#160 #688703
>>688702
<pre>
public void buildMap (){
map.clear();
WordGram gKey = new WordGram(myText, 0, myOder);
int ind = 0;
while (myText.length >= ind+myOder){
System.out.println(gKey);
if (!map.containsKey(gKey)){
ArrayList<String> list = getFollowsKeys(gKey);
map.put(gKey, list);

}
if (ind+myOder == myText.length){
break;
}
for (String s : map.get(gKey)){
System.out.println("\t" + s);
}

String s = myText[ind+myOder];
//System.out.println(s);
gKey.shiftAdd(myText[ind+myOder]);
// System.out.println(gKey);
ind +=1;

}
printHashMapInfo();
}
</pre>
>>688704>>688717
#161 #688704
>>688703
Тут же послу добавления ключа проверяю - все хорошо. Уникальные ключи добавляются. их значения тоже. Но когда пытаюсь использовать этот HashMap в коде - выясняется что все ключи заменены, на то которое было добавлено вторым. Как так?
>>688706
#162 #688706
>>688704
Проверял вот этим
<pre/> public void printHashMapInfo () {
System.out.println("map size " + map.size());
for (WordGram wg : map.keySet()){
System.out.println("key " +"\""+ wg +"\""+" :");
for (String s : map.get(wg)){
System.out.println ("\t"+ s);
}
}</pre>
>>688707
#163 #688707
>>688706
И да, как правильно код вставлять? Как гугл подсказал что-то не работает. А обсираться дальше прям не ловко.
>>688708
#164 #688708
>>688707
Никак, используй http://ideone.com
#165 #688709
>>688702
оо, обожаю хэш мэп. такой сложный я даже не знаю как это назвать, коллекция?
>>688710
#166 #688710
>>688709
ну, ладно тебе, не язви. Я ж настлолько слаб что даже не понял где ирония зарыта.
#167 #688717
>>688703
Вангую, что не переопределил метод hashCode у класса WordGram. Угадал?
>>688724>>688736
#168 #688724
>>688717
угадал. и equals переопределил. задание было таким.
>>688731
#170 #688736
>>688717
спасибо за подсказку. завтра после работы займусь.
#171 #688737
>>688695
это считай минус
>>688755
#172 #688748
Захотел изучать джаву вбил в поиск выскочил курс javarush.ru, я начал, мне вроде нравиться, много простых задач сначала, постепенно добавляется новый материал и оседает старый как усвоенный.
И теперь я хочу спросить и попросить совета - как вообще этот курс, стоит ли продолжать и заплатить за курс, кем я буду когда закончу эти 40 уроков?
Ну и я понимаю что мало кто вообще с этим курсом знаком, но вдруг кто-то может что-то посоветовать.
Понятно что развиваться надо будет и дальше и много, но работать мне нужно уже сейчас что бы не умереть с голоду, смогу ли я это сделать, то есть смогу ли я найти хоть какую нибудь работу с этими знаниями?
>>688764>>688784
sage #173 #688755
>>688737
Тут не всё однозначно. Чтобы libGdx проект сразу запускался надо очень много всяких сопутствующих файлов. Но даже, если покидать их все в репозиторий, человек, не занимавшийся раньше программированием под андроид, всё равно не сможет его просто клонировать и сразу запустить. Надо будет ставить андроид апи нужной версии и т.п. Это всё мультиплатформенность. Удобнее конечному пользователю = больше геморроя разработчику.
В общем, я изначально рассчитывал, что кто-то просто посмотрит код в src на битбакете. Но, раз уж тебе хочется именно в ide его развернуть - добавил в Downloads архив roli2ch.zip. В нём идеевский проект целиком и без андроида. Надо только запустить, импортировать грэдл и кликнуть таск desktop - other - run.
>>688763
#174 #688763
>>688755
Если твой прект под андроид, почем ты не пиаришь его в андроид треде?
>>688775
#175 #688764
>>688748

>вбил в поиск выскочил курс javarush.ru


>Ну и я понимаю что мало кто вообще с этим курсом знаком

sage #176 #688775
>>688763
А он и не под андроид. Просто движок позволяет делать одновременно и под него и под десктоп. Мультиплатформа. Да и андроидовского там в коде (в core) ровно ничего.
#177 #688784
>>688748
Не будешь ты программистом. Понимаешь, в этой профессии очень важны усидчивость, внимание к деталям, способность самостоятельно искать решение проблем. А ты, дебилушка, даже шапку просмотреть не осилил. Для вас, идиоты, специально добавили там вопрос про джавараш. Сложно, блядь, поиском по треду пройтись? Ты, кстати, уже второй такой за два дня существования этого треда, что как бы символизирует уровень аудитории джавараша.
#178 #688797
>>688784
Ну в принципе спасибо за ответ.
#179 #688800
>>688784
Вот усидчивость - это то, что у меня есть. Однажды делала маникюр соседке - она так и сказала, что я такая усидчивая.
#180 #688801
>>688784
Кстати шапку я читал давненько уже, этого вопроса не видел, не буду же я перечитывать шапку к каждому треду.
>>688830
5 Кб, 374x79
#181 #688830
>>688801
А Ctrl+F нажать перед тем, как задать вопрос религия не позволяет?
>>688841
#182 #688841
>>688830
Ну после гневного поста так и сделал, тащемто.
#183 #688844
Аноны, выкатываю свой первый проект. Прога сохраняет альбомы, диалоги, сообщения, музычку, группы и инфу о вас в файл.
https://bitbucket.org/GlowEffect/java-vksaver/
Все началось с того, что пару тредов назад посоветовали написать качалку фоток с vk.
#184 #688860
>>688844
А я тот кто придумал, заценим, из того что сразу бросается - VkAPiUtils.PERMISSION. Нейминг enumов такой же как и у обычных классов, то есть Permission. Еще не вижу смысла держать енам в том же классе, зачем тебе дополнительная вложенность, почему не VkPermission.java? Ну и перед toString() анноташку оверрайда добавить.
#185 #688865
>>688844
Алсо отформатируй весь проект, там есть места где совсем все поехало, и еще насчет енамов, обычно пишут их в столбик - по одному в строке.
#186 #688872
>>688844
Осиль мавен или грейдл. Незачем в репозитории хранить джарки распространенных либ.
Добавь *.iml в гитигнор.
Почему не восьмая джава?
Учи java.util.concurrent. За код типа while(!isStopped()) { Thread.sleep(1000);} должно быть очень стыдно.
За автоформаттер написали уже.
>>688877
#187 #688877
>>688872
1.В мавен умею, просто освоил позже чем начал писать проект. Кстати что лучше мавен или градл?
2. А где форматирование поехало?
#188 #688879
>>688877

> что лучше мавен или градл?


ANT
#189 #688881
>>688877
Ну в файле VkApiUtils например, вообще можно настроить так что бы оно по всему проекту сразу чинило. Мне кажется Gradle, так как он более гибкий чем Maven, но проигрывает в скорости Ant, но ant совсем уже гибкий, но все пишешь в xml.
>>688913
#190 #688891
>>688877
2. Форматирование у тебя непривычное для джавистов, слишком плотное, пробелы неконсистентны. Между методами вставляй пустую строку, пробел между ) и {, пробел вокруг операторов, и т.д. Алсо не пытайся выравнивать названия полей по вертикали: мороки много, переименовал класс в одном месте - в другом форматирование поплыло, запустил автоформаттер - все сбросилось нах. Короче, таким только сишники сейчас занимаются.

1. Ант - говно мамонта. Гредл - дофига гибкий, но с кучей граблей, магии и недокументированных плагинов. Мавен - оптимальный выбор для большинства проектов.
>>688913
#191 #688902
Что такое мавен?
>>688913
#192 #688913
>>688902
Автоматизация сборки, чтобы не нужно было твои 100500 файлов вручную компилировать и слепливать в единый jar + как намекают аноны выше с помощью него можно удобно добавлять библиотеки в проект одним куском xml кода. Все остальное сделает maven.
>>688891
>>688881
Форматирование поправлю(кстати значение enumoв пишеться капсом или тоже как обычное имя переменной? Типа Permissions.DOCS или Permissions.docs?

А по общей архитектуре, кривым решениям есть какие-нибудь замечания?(concurrent тоже учту)
>>688927>>688934
#193 #688925
Слышал, тут не очень многие любят эклипс, почему?
#194 #688927
>>688913
https://google.github.io/styleguide/javaguide.html#s4.8.1-enum-classes
>>688925
Неудобно, другая структура, некрасивый интерфейс.
#195 #688933
>>688925
А как к свингу относитесь?
>>688936
#196 #688934
>>688913

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


Ориентируйся на код JDK, например https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/TimeUnit.html

Вообще, почаще заглядывай в код самой джавы, вдохновляйся.
#197 #688936
>>688933
Он умер.
>>688947
#198 #688940
>>688925
А что любят? IDEA?
>>688945>>688947
#199 #688945
>>688940
Офкорс
#200 #688947
>>688936
>>688940
Я понял. Чтобы стать разработчиком под платформу ведроид - нужно сначала учить джаву, а потом уже средства разработки под ведро?
#201 #688949
>>688947
Ясен хер. Я так и делаю. Так и во всех учебниках по андроиду написано.
>>688955
#202 #688951
>>688947
Да не, там все просто, в андроид-студии накидал кнопочек и полей для ввода, хуяк-хуяк и готово.
Тут где-то рядом андроидотред, там подробнее расскажут.
>>688955
#203 #688952
>>688947
Выучить джаву, чуть-чуть. В это же время выучишь и все инструменты для разработки, все, можешь учить фреймворк ведроида и его специальные инструменты.
>>688955
2 Кб, 99x103
#204 #688955
>>688952
>>688951
>>688949
Ничего себе, адекват на адеквате, в пыхотреде бы сейчас нахуй послали и убили бы за такие вопросы, спасибо.
>>688964
#205 #688964
>>688955
Ну лан, иди нахуй.
#206 #689064
В джава программу можно вставлять С или Asm код?
>>689077
#207 #689077
>>689064
офк, jni
>>689079
#208 #689079
>>689077
ну то есть с dll работать, просто код хуйнуть нельзя
>>689082>>689084
#209 #689082
>>689079
можно говорят тебе
#210 #689084
>>689079
В самой джаве очевидно нет. Ты наверно слово кросплатформенность не понимаешь.
34 Кб, 460x460
#211 #689120
Знающие аноны, поясните за тяжелый энтерпрайс.
Начал изучать JavaEE (ту, которая не спринг) и на меня посыпались какие то модули EJB, сервера приложений и куча вложенных проектов в один (типа модули). Спустя 2 дня мавеном смог все это собрать, задеплоить и запустить, чтобы работало то что я наговнокодил. И чтобы не повторять эти 100500 действий по сборке как шизофреник у меня созрел вопрос - как быть, если я хочу внести поправки в проект? Типа изменил что то на jsp странице, и чтобы не компилировать и собирать весь проект заново, изменения сразу были видны просто перезагрузив страницу в браузере. И то же самое с классами - изменил 2 символа в строке кода и не пришлось заново компилить и деплоить весь проект... Как тут быть? Как это вообще практикуют?
#212 #689139
Выполнил свой первый системаутпринтлр в идее.
Что означает строчка: Process finished with exit code 0
>>689140
#213 #689140
>>689139
Значит все заебись
>>689145
#214 #689145
>>689140
Фенки.
#215 #689150
>>689120
если пользуешься идеей, то запускаешь проект в контейнере и прямо налету можешь подменять классы. Называется это hotswap, если не ошибаюсь. Срабатывает не всегда, ну ты погугли. Насчет JSP, их можно тоже подменять налету редактируя jsp в твоем контейнере. Ты вообще, пробовал? Быстрее проверить было бы или загуглить чем писать пост.
>>689609
#216 #689156
Есть интерфейс Rtriangle, который задает прямоугольный треугольник. Координаты задаются методами getApex.., имеют тип int. Есть метод RtriangleProvider.getRtriangle(), который возвращает треугольник. Нужно написать JUnit тест, который будет проверять является ли треугольник прямоугольным по координатам вершин. Тест должен быть проваленным, если треугольник не является прямоугольным, и проходить без ошибок и комментариев, если треугольник - прямоугольный. Проверяю то, что никакие две точки не совпадают, и то, что какие-то два вектора ортогональны, но решение неправильное. На каких именно данных не работает неизвестно. Может кто подскажет, что я делаю не так? http://pastebin.com/XUPhWzzf
>>689158>>689380
#217 #689158
>>689156
запускаешь в дебаггере, ставишь бряку, смотришь
>>689163
#218 #689163
>>689158
У меня все работает, но тест проверяется автоматической системой и она выдает, что тест неверный.
>>689171>>689185
#219 #689169
Как же нам узнать, что в классе System есть что‐то с именем out? Eclipse помогала мне с этим. После того, как напечатаю слово System и поставлю точку, Eclipse показывала мне все, что есть в этом классе. А как быть с IJStudio?
>>689170
#220 #689170
>>689169
А, нет, работает, отбой вопроса.
>>689184
#221 #689171
>>689163
перепиши тест с assertTrue на assertEquals, добавь побольше проверок в методе вместо одной на конце. Тот факт что ты столкнулся с этой проблемой, сам по себе говорит что тест написан безолаберно. Включи мозг и залей, в следующем ночном билде будет у тебя причина.
#222 #689184
>>689170
Пишешь System. и нажимаешь Ctrl+Space для автодополнения.
Пишешь System и нажимешь Ctrl+ЛКМ - тебя перекидывает в исходники System и ты спокойно ищёшь всё, что надо.
#223 #689185
>>689163
А к чему такие выебоны? Банальщина вроде http://pastebin.com/P3qHdQ5W не катит? И что за приведение к лонгу?
>>689187
#224 #689187
>>689185
Ой, я проверил, что он _не_квадратный_. Ну да неважно, суть ты понял.
>>689191
#225 #689191
>>689187
Приведение к лонгу потому что может быть 210е9 и -210е9, разность в инт не помещается. Биг интеджер нужен, потому что надо перемножать два больших лонга, в лонг может не поместиться.
>>689199>>689222
#226 #689199
>>689191
один хуй не понимаю вашу систему тестирования. Обычно ты хардкодишь ну или запихиваешь в какую-то структуру входные данные и ожидаемые данные. Ты же входные данные получаешь из провайдера, а выходные считаешь сам. Т.о. у тебя в проекте два дублирующихся участка кода. Первый вычисляет что-то, а второй проверяет что первый вычислил правильно. Бред. Скопипасти из первого во второй и вот тебе будет вечнозеленый тест. По уму так мне бы пришло в голову вытаскивать ожидаемый ответ из провайдера и с ним сверять. Но никак не проверять код кодом.
>>689222
#227 #689218
тест
#228 #689222
>>689199
Так это тест провайдера. Что он действительно выдает, что надо.

>>689191
Ну так что, если не вспоминать про ортогональность, а пойти влоб с теоремой Пифагора как-то так http://pastebin.com/gPBZKepZ - тест твой проходится?
>>689247
#229 #689247
>>689222
У меня там ограниченное количество попыток, не хочется лишний раз посылать. Просто хотелось узнать нет ли какой-то дурацкой ошибки, которую я упустил в своем коде. Но все равно спасибо, если ничего другого не надумаю, попробую через Пифагора. Хотя разницы не должно быть по идее.
#230 #689272
Почему класс Main обязательно должен быть паблик, а паблик обязательно должен быть Main?
>>689296
#231 #689295
Жабка синер в треде, спрашивайте ответы

4-5 лет экспириенса
>>689313
#232 #689296
>>689272
Чтобы когда ты запускал свой файл, JVM не искала, какой из методов ей запускать. Должен быть один публичный класс, если ты собираешься запускать свой проект, а не использовать его как библиотеку .По крайней мере я так понял из Эккеля.
>>689297
#233 #689297
>>689296

>>публичный класс


метод конечно.
#234 #689300
>>689120

есть такая штука как hot swap, идейка заебись удобно это делает. Зависит конечно какие изменения ты делаешь, в большинстве случаев hot swap отрабатывает.

Ну и + нахуя тебе оракловый стек? EJB? вот это все
Занимайся спрингом лучше. И то и другое ссанина, но со спрингом все же привкус говна не такой сильный :3
>>689609
#235 #689309
>>689120
Как тебе уже сказали, Идея это может сделать за тебя. Чтобы можно было менять на лету html/js/css, артефакт должен быть exploded. Потом просто нажимаешь апдейт ресурсес или типа того.
>>689609
#236 #689313
>>689295
хуи сосешь?
#237 #689314
Меня послали из "си" треда сюда >>689271
Суть вопроса: Учу джаву что бы стать программистом на джаве а не парнем который пишет забавные скрипты, один вроде как понимающий в вопросе человек сказал учить ещё и Си так как си+джава это очень круто.
Вопрос насколько эта связка актуальна и востребована?
#238 #689315
>>689314
Это явно не для энтерпрайза, я не знаю где для джавы нужен соСи, разве что андроид, но это совсем другое.
#239 #689318
>>689314
Дай угадаю, он бородат и носит свитер? Это, дружок, byte'o'yobis vulgarius. Вид вымирающий, но все ещё встречающийся.
>>689328
#240 #689319
>>689314
А кроме того, что это очень круто, понимающий в вопросе человек больше ничего не сказал?
Так-то можно дохуя чего выучить, так как это очень круто.
>>689328
504 Кб, 1214x1080
#241 #689326
Хочу сказать, что Java охуенна. Хоть некоторые вещи мне сейчас непонятны, но это намного лучше, чем другие языки, ориентированные на веб. Я получаю удовольствие, когда пишу на Java. Это просто с ума сойти.
>>689332>>689355
#242 #689328
>>689319
Ещё он интересовался почему я не работаю работу, а читаю на рабочем месте.
>>689318
Свитер не носит, почти не бородат. Но работает в должности "технического директора" средненькой конторы.
>>689341
#243 #689332
>>689326
Какие цели джавы, я вот знаю про серверы только, но это ведь не все, верно?
мимо-ньюфаг
>>689353
#244 #689341
>>689328
Короче, связка не слишком популярная. Обычно с таким багажом нужны системные программисты под оптимизации кастомных JVM, разработка и поддержка софта с embedded Java, ну и просто разносторонний специалист, ибо в конторе Java может являться лишь одной из используемых технологий.
Сегодня в рассылке (вроде с линкедина) видел вакансию от Ignite Technologies (Москва) на Java Chief Software Architect with C++ на 100k$ annual. Но это редкая вакансия. На чисто джаву больше, так что и с ней одной будешь сыт и одет, если не даун.
А если ради интереса изучать, то почему бы и нет. Мне вот нравится системное программирование и байтоёбство, иногда с удовольствием почитываю всякие статьи на эту тему.
>>689356
#245 #689353
>>689332
Цели? Любые. Ты выбираешь джаву и знаешь, что все пути для тебя открыты. От ссаного веба до разработки программного обеспечения для банков, от разработки приложений на Ведре до написания своего собственного плеера для винды с сортировкой и эквалайзерами/скинами. И все это - Java. Она как математика - очень обширна. И чтобы выучить все ее примудрости нужно потратить много лет. Да это и не нужно никому, лол. В общем, в ОП-посте есть ссылочки для определения твои технологий, отталкиваясь от области разработки. Мандмап и еще что-то под ней.
>>689357
#246 #689355
>>689326

Ты или тралируешь или совершенный нубас, блеать.
Я жабоеб со стажем, но у меня конечно язык не повернется назвать жабку охуенной.
>>689358
#247 #689356
>>689341
удваиваю этого
#248 #689357
>>689353
А игры есть смысл на ней пилить, или все же лучше в спп?
>>689360
#249 #689358
>>689355
На вкус и цвет, как говорится.
А что по-твоему охуенно? Scala? Swift? Кресты?
>>689612
#250 #689360
>>689357
Если твоя конечная цель - пилка игор, то лучше учи сисярп + юнити.
>>689370
#251 #689370
>>689360
А разве юнити не говно по сравнению с божественным анриалом?
>>689371
#252 #689371
>>689370
Ну или анриал. Я вообще все это знаю понаслышке, если что. Не шарпист я.
#253 #689380
>>689156
nonZero=((ax1!=0||ay1!=0)&&(ax2!=0||ay2!=0)&&(ax3!=0||ay3!=0))
Тут ты перепутал || и &&.
Забота о возможном переполнении это вообще похвально, понимаю твою логику. Но не уверен, что от тебя ждут биг интеджеров. Хотя хз что у них в голове.
Достаточно проверить две пары сторон. Как-то так https://ideone.com/SoOjgd
>>689394>>689412
#254 #689394
>>689380
А не, не перепутал, сори.
Но всё-таки лучше написать
boolean isZeroSideFound = ((ax1 == 0 && ay1 == 0) || (ax2 == 0 || ay2 == 0) || (ax3 == 0 || ay3 == 0));
>>689396
#255 #689396
>>689394
Бля, то есть
boolean isZeroSideFound = ((ax1 == 0 && ay1 == 0) || (ax2 == 0 && ay2 == 0) || (ax3 == 0 && ay3 == 0));
>>689418
5 Кб, 314x162
4 Кб, 271x167
#256 #689402
Поясните, зачем создавать интерфейсную переменную и ссылать её на объект класса LinkedList, который реализует этот интерфейс?
можно же написать LinkedList<String> list = new LinkedList<>();
>>689405>>689419
#257 #689405
>>689402
Ну только такие как ты так и делают. Молодец, продолжай.
>>689408
#258 #689408
>>689405
trolls everywhere
#259 #689412
>>689380
Где именно перепутал? Мы для каждого вектора проверяем, что хотя бы одна сторона не равна нулю, поэтому внутри ||. Это должно выполняться для всех векторов, поэтому между скобками &&. Конечно я не сразу про биг интеждер подумал, но чисто теоретически есть варианты, где лонга не хватает. И да, нужно проверять все три пары.
>>689418
#260 #689418
>>689396
>>689412
Без разницы, одно - отрицание другого. Скорее всего я что-то не учел, но что - непонятно.
>>689426
24 Кб, 361x126
#261 #689419
>>689402
Лови спам.
#262 #689426
>>689418
Я тут попробовал сравнить найти корректный набор данных, на которых твой тест фейлится (и наоборот) в диапазоне байта, ничего не получилось. Я думаю, что тест твоего теста - говно.
>>689434>>689437
#263 #689433
чем плох JavaFX ? почему его так никто толком и не стал использовать для десктоп?
>>689445
#264 #689434
>>689426
Вообще это задание от Яндекса, может их тест говно, но вряд ли. Можно еще проверить, что triangle не null, но больше идей у меня нет.
>>689441
#265 #689437
>>689426
Ты прав, что надо проверять все три стороны. Обновил код на ideone

>ничего не получилось


Почему не получилось?
>>689439
#266 #689439
>>689437
Не смог таких найти. Тот тест, который я набросал, ни разу не разошелся во мнении с исходным тестом. (хотя я вру: он еще перебирает, но я не думаю, что там _внезапно_ что-то найдется).
>>689443
#267 #689441
>>689434

>Можно еще проверить, что triangle не null


Бесполезно, эксепшн от нулевого указателя тоже зафейлил бы тест.
#268 #689443
>>689439
А текст задания то есть? Ты уверен, что треугольники с нулевыми сторонами невализные?
>>689447
#269 #689445
>>689433
Он целился на работу в браузере, а хром бортанул джаву например, потом ораклы пиздобляди. А ну и еще есть более лучшие решения для десткопа.
>>689456>>689458
#270 #689447
>>689443
Ну очевидно, что если стороны нулевые - это вообще не треугольник.
Сам текст задания:
Вам дан интерфейс
public interface Rtriangle {
int getApexX1();
int getApexY1();
int getApexX2();
int getApexY2();
int getApexX3();
int getApexY3();
}

Методы возвращают 6 целых чисел, которые являются координатами трех вершин прямоугольного треугольника в декартовой системе координат

Есть метод, возвращающий прямоугольный треугольник:
public final class RtriangleProvider {
public static Rtriangle getRtriangle() {
...
}
}

Требуется: написать код одного junit (http://junit.org/) теста, проверяющего метод getRtriangle на то, что он действительно возвращает прямоугольный треугольник.

Формат ввода
В тестирующую систему отправьте файл, содержащий ваш юниттест. Не описывайте в решении никакой package, имя основного класса должно быть Testtriangle.

Ниже приведен пример кода, получающего от обёртки треугольник:
import org.junit.Before;
import org.junit.Test;

public class Testtriangle {

@Before
public void setUp() {
Rtriangle triangle = RtriangleProvider.getRtriangle();
}

@Test
public void test() {
}
}

Формат вывода
Тест должен быть проваленным, если треугольник не является прямоугольным, и проходить без ошибок и комментариев, если треугольник - прямоугольный.
#270 #689447
>>689443
Ну очевидно, что если стороны нулевые - это вообще не треугольник.
Сам текст задания:
Вам дан интерфейс
public interface Rtriangle {
int getApexX1();
int getApexY1();
int getApexX2();
int getApexY2();
int getApexX3();
int getApexY3();
}

Методы возвращают 6 целых чисел, которые являются координатами трех вершин прямоугольного треугольника в декартовой системе координат

Есть метод, возвращающий прямоугольный треугольник:
public final class RtriangleProvider {
public static Rtriangle getRtriangle() {
...
}
}

Требуется: написать код одного junit (http://junit.org/) теста, проверяющего метод getRtriangle на то, что он действительно возвращает прямоугольный треугольник.

Формат ввода
В тестирующую систему отправьте файл, содержащий ваш юниттест. Не описывайте в решении никакой package, имя основного класса должно быть Testtriangle.

Ниже приведен пример кода, получающего от обёртки треугольник:
import org.junit.Before;
import org.junit.Test;

public class Testtriangle {

@Before
public void setUp() {
Rtriangle triangle = RtriangleProvider.getRtriangle();
}

@Test
public void test() {
}
}

Формат вывода
Тест должен быть проваленным, если треугольник не является прямоугольным, и проходить без ошибок и комментариев, если треугольник - прямоугольный.
#271 #689456
>>689445

>А ну и еще есть более лучшие решения для десткопа.


А какие?
#272 #689458
>>689445
Лучшие решения для десктопа - это какие, например? Qt, конечно, охуенный, но jambi же никто даже не пытается саппортить.
>>689464
#273 #689464
>>689458
а чтобы чисто на джаве без С++ нет ничего более менее распространенного?
>>689465
#274 #689465
>>689464
Javafx пока ещё жив, swt тоже. Но пользоваться этим говном после qt не очень хочется. Ну и awt со свингом тоже как бы никто не собирается выпиливать.
>>689474
#275 #689474
>>689465
А чем все-таки конкретно так ужасен JavaFx по сравнению QT ? QT наверное памяти жрет меньше раз он на С++, а чем еще? мне небольшое приложение нужно сделать - несколько кнопок, полей, простая анимация какая-нить. С++ не знаю
>>689478
#276 #689478
>>689474
Бля, ты вместо того, чтобы хуйню писать, взял бы уже и попробовал.
>>689481
#277 #689481
>>689478
я уже попробовал, просто интересно стало почему его так не любят
>>689482
#278 #689482
>>689481
Тебя волнует чужое мнение?
#279 #689495
Привет, джависты. Нужна ваша Профессиональная™ помощь. Вопрос вкратце звучит так: как можно в рантайме переопределить метод класса? Чтоб примерно в таком виде:

MyClass myInstance = new MyClass();
myInstance.getFive(); // возвращает 5
MyPatcher.reimplement(MyClass.class, "getFive", 8); // или что-то в этом роде, вместо 8 например можно какой-нибудь Runnable, возвращающий 8
myInstance.getFive(); // теперь возвращает 8
MyClass myNewInstance = new MyClass();
myNewInstance.getFive(); // тоже теперь возвращает 8

с помощью java.lang.reflect.Field можно примерно таким макаром переопределить в рантайме значения полей. А мне нужно то же самое, но уже для методов. (И почему в java.lang.reflect.Method нет метода set или reimplement?..)

про ООП прошу не напоминать -- речь идет о рантайм-патче для одного приложения, исходный код которого править нельзя.
#280 #689496
>>689495
Класс final?
>>689498
#281 #689497
Невероятно заебал спринг и всякое говно типа AspectJ. Сижу в свободное время клепаю всякую хуиту. Например, пишу понемногу проект обширного веб приложения на Spark + Freemarker. Без говноспринга и без EE. Данных немного, все в памяти. Сохраняются в CSV подобное месиво и маппятся при загрузке на сущности с помощью хитровыебанного парсера (без рефлекшена вовсе).

Пример сущности (запись подгружаемого плагина):
Nebula.Plugin.Sync,Sync,UI,{Allows to sync data through Nebula Sync Protocol.},{http://2ch.hk/},{web/sync.ico},0,{0.1},true,tk.anonsoftware.nebula.server.core.sync.SyncPlugin,INSTALLED (М)

Самое смешное, что эта хуита работает пиздос как быстро. Темплейты вообще правятся без перезапуска. Локализацию сам написал. И тоже пашет.
>>689521
#282 #689498
>>689496
нет, к счастью нет
>>689499
#283 #689499
>>689498
Есть вариант отнаследоваться от этого класса, все вызовы методов прокидывать к этому инстансу, а один нужный тебе метод переопределить.
>>689500
#284 #689500
>>689499
просто приложение пользуется именно оригинальным классом, если я там отнаследуюсь - приложение этим наследником пользоваться явно не будет. Или я немного не понял?
>>689501
#285 #689501
>>689500
Если референс на оригинальный класс хранится только в одном месте, то можно его тупо заменить.
>>689503
#286 #689503
>>689501
они там помногу штук создаются. В общем, легких путей нет, я так понимаю. А может можно с ClassLoader поиграться? Ну чтобы при попытке создать com.x.y.z.Original он выдавал мой класс, а все остальное - как раньше?
#287 #689510
Как в intellij для консольной программы послать завершение работы аналогичное "ctrl+c" в командной строке windows?
>>689587
#288 #689511
>>689495
выкинь MyClass, не закладывай костыли в свой продукт.
#289 #689514
>>689503
Да, с класлоадером всё можно. Или динамически
http://www.ibm.com/developerworks/java/library/j-dyn0916/index.html
https://community.oracle.com/docs/DOC-983723
Но проще всего заменить в .jar-нике класс на свой.
#290 #689515
#292 #689521
>>689497

> Freemarker


> Сохраняются в CSV


> Локализацию сам написал


Нахуй так жить?
>>689758
#293 #689574
>>689495
Подмени класс на свой. Гугл в помощь.
30 Кб, 780x384
#294 #689579
быть джавапрограммистом, это также и отвечать на еженедельный спам.
>>689594
#295 #689587
>>689510
System.exit(0) например.
#296 #689594
>>689579
Обосрался с одеждой. Мы вам перезвоним
#297 #689609
>>689150
>>689300
>>689309
Спасибо аноны, смог настроить артефакты. Более менее норм, но если делать изменения например на сигнатуру методов (имя, параметры и пр.), то все равно приходится редеплоить весь проект.

> нахуя тебе оракловый стек? EJB? вот это все


Дали тестовое задание в конторке. Как начал в это вникать прихуел от количества лишней хуиты проекте. До этого делал пару проектиков на спринге обмазанный модными фраемворками в 4 строчки, тут же, нужно создавать какой то ЙобаБизнесМодуль модуль, создавать к нему дескрипторы и прочий нагроможденый кал мех
>>689645>>689646
#298 #689612
>>689358
Kotlin
#299 #689645
>>689609
ну тащемта раз это требуют значит им это надо.
#300 #689646
>>689609

>создавать к нему дескрипторы и прочий нагроможденый кал мех


Ты ебанутый?
В последних версиях EJB просто ставишь аннотацию @Stateless или @Singleton и все.
>>689649
#301 #689649
>>689646
и все попизде, без понимания как это работает один хуй ЕЕ ты не поймешь
#302 #689720
Str.substring(a, b)
как работает этот метод?
>>689734
#303 #689734
>>689735>>689740
#304 #689735
>>689734
Сорри за оффтоп, как вставлять код с ideone? Парсер сам подтягивает или тэги какие-то писать?
#305 #689740
>>689734
Доставь, пожалуйста, сайтов где я могу искать методы, классы и другую нужную инфу не доебывая анона в тредике.
>>689743>>689764
#306 #689743
>>689740
программирование это не твое, забудь
>>689748
#307 #689748
>>689743
Двачую этого. Я, конечно, всё понимаю, но что тебе мешало вбить в гугл, не знаю, "String java"?
docs.oracle.com
#308 #689758
>>689521
Будет летать на пекарне 10+ летней давности. Не говоря уже про Raspberry.
#309 #689764
>>689740
rt.jar
Прямо у тебя на компьютере. Или прямо в ide кликни по стрингу.
#310 #689765
Сап, джаваны.

Итак, вопрос уровня laba1:
Нужно реализовать систему персональных сообщений. Как это делают белые люди? Знаю про JMS, ActiveMQ и няшнописечные спринговые обвязочки, но знаю крайне поверхностно. Допустим, оно позволяет слать сообщения в каналы вида allo:eba:etoti, можно всю эту радость гонять на вебморду через STOMP. Но, бля, в туториалах захардкожены имена каналов в аннотациях, а мне надо слать конкретным юзерам. Что мне делать? Обзывать каналы айдишниками юзеров(ок, ок, какими-то токенами, генерёнными из айдишников, чтобы типа секурно)? Или подскажете какую-то модную-молодёжную технологию для таких вещей?

Разумеется, я могу это за двадцать минут навелосипедить, чтобы мессаги тупо писались в базу, а потом не менее тупо выгребались селектом по айдишнику юзера, но мне кажется, что это хуита, и в индустрии есть более правильные способы написания таких вещей.
>>690254
#311 #689774
>>689495
Не уверен, что правильно тебя понял, но посмотри может это? - https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html
#312 #689780
Часто встречаю упоминания о том, что Scanner лучше не импользовать, чому так? Если мне нужно тупо прочитать файл построчно, нахуй мне ебаться с BufferedReader?
>>689871
#313 #689783
Чем отличается Java SE, Java ME и Java EE своими простыми словами?
>>689786>>689789
#314 #689786
>>689783
Язык ничем не отличается. Просто различные обвязы для разных задач. МЕ - мобилы (сдохло). ЕЕ - жырный ынтерпрайз.
>>689790
#315 #689789
>>689783
JavaME - кастрированная хуитка под холодильники. Не нужна.
JavaSE - собственно джава, JVM там, JCL, все дела.
JaveEE - набор спецификаций для ЭНТЕРПРАЙЗНЫХ СЕРВЕРОВ. Вариантов реализации овердохуя. В современном джавамирке ты скорее всего ЭНТЕРПРАЙЗНЫЙ СЕРВЕР не увидишь, но используемые в проекте фреймворки будут реализовывать куски J2EE

А вообще, это всё была сановская маркетинговая хуитка, забудь про неё.
>>689791>>689827
#316 #689790
>>689786
А SE это стандарт?
#317 #689791
>>689789
Все, понял, спасибо.
35 Кб, 396x327
#318 #689802
Что не так? Отказывается сравнивать ссылку с нулём, так как она может быть не инициализирована, но, блять, я же для того и сравниваю, чтобы понять, инициализирована она или нет.
#319 #689804
>>689802

>jaaaaava


Просто напиши при инциализации br = null;
А еще лучше используй try with resources
>>689808
#320 #689805
>>689802
Если ссылка не инициализирована, она не является null. Она просто пустая.
>>689808
#321 #689808
>>689804>>689805
Что-то я даун немного, спасибо.
#322 #689814
Вопрос на засыпку, кто-нибудь пользуется типа byte, short, чтобы сэкономить несколько бит памяти, или это все нужно было делать в старые времена, когда машины были слабые?
>>689827
#323 #689817
>>689802
Кстати нет слухов, что в Java N+1 отменят чекед исключения (хотя бы через флаг jvm)?
>>689819
#324 #689819
>>689817
В Kotlin вот уже отменили (с самого начала).
>>689820>>689824
#325 #689820
>>689819
Нахуй нужен котлин, когда есть джава?
>>689821
#326 #689821
>>689820
Нормальные дженерики, более удобные лямбды, куча сахара, null-safety.
Отлично сочетается в одном проекте с самой джавой и позволяет переписывать громоздкие куски в небольшие и читабельные.
>>689825
#327 #689824
>>689819
Это то я знаю, сам уже перекатился.
Мне про java интересно, ведь ChEx это же бред и даже на уровне байткода их нет.
#328 #689825
>>689821

>Нормальные дженерики


В статических методах не способных на интеграцию с жавой. Просто побаловаться.
>>689832
#329 #689827
>>689814
Это нужно для Java ME, см. >>689789
>>689829>>689832
#330 #689829
>>689827
Байты не только та мнужны, не надо тут
#331 #689832
>>689825
Ты наверное хотел сказать inline методах, в остальных местах там java-совместимые дженерики.

>>689827
Android (с 3.0) к хранит в byte[] картинки, что бы они были в области управляемой кучи.
>>689896
#332 #689834
>>689802
Кстати, стоит ли в таких ситуациях использовать do while? С одной стороны, это логично, с другой - он мне вообще не особо нравится, какой-то он, кхм, не интуитивный что ли.
>>689835
#333 #689835
>>689834
В таких ситуациях следует подумать, не написал ли ты хуйню. У тебя цикл бесконечный. Если line изначально не было null, то оно будет, не меняясь, бесконечно печататься. Ты же не считываешь следующую строку.
>>689837
#334 #689837
>>689835
Очевидно, что в цикле считывается следующая строка, я просто забыл это дописать.
>>689838
#335 #689838
>>689837
Обычно делают так:

while ((line = br.readLine()) != null) {
что-то
}
>>689854
#336 #689854
>>689838
А в общем случае, если мы не файл читаем, а что-то другое делаем, и нам нужно, чтобы цикл выполнился минимум один раз?
>>689855>>689856
#337 #689855
>>689854
Тогда - почему бы и нет? Его, фактически, для этого и сделали.
#338 #689856
>>689854
Одноразовый цикл это if.
#339 #689871
>>689876
#340 #689876
>>689871

>It is not intended for reading in large files.

>>689881
#341 #689881
>>689876
laba1.txt насколько большой?
#342 #689896
>>689832
Они java-совместимые, и по этом они не являются нормальными, точнее они такие к каким мы привыкли, а не обвязанные сишарповскими изъебами.
>>689912
#343 #689912
>>689896
А что ты хочешь?, в C# есть поддержка дженериков на уровне байт-кода, в отличие от java.

Тут и получается что нужные сделанные с нуля свои (несовместимые с java) дженерики.
Но от этого появилась бы куча лишних багов в компиляторе и огромный рантайм.
Они так и планировали, но потому передумали и оставили только в inline.
>>689921
#344 #689919

>К сожалению, мы пока не готовы сделать Вам предложение. Мы могли бы взять Вас на позицию Junior-разработчика, но пока у нас таких позиций нет - на прошлой неделе закрылась последняя.


>Если таковые появятся, я буду держать Вас в курсе.


Мде, программирование в блокноте и определение длины поезда не взлетело. Пиздец, конечно, хочется уже человеком себя почувствовать, когда тебе поступает оффер и ты думаешь, стоит ли идти в эту контору или нет. А на деле на тебя смотрят как на говно и даже если собеседование проходит в стиле "дрочи мой код себе в рот, я знаю, ты любишь отсасывать" ты всё равно думаешь, мол, бля, ну может они меня хоть за еду возьмут, а? Впрочем, это не имеет значения, потому что в конце тебе всё равно проводят вялым по губам. Пойду вскроюсь нахуй тестовое задание в RoI пилить.
>>689941
#345 #689921
>>689912
Ну так зачем говорить о нормальных дженериках? Хотя вообще не понимаю прелести сишарповских, кроме того что можно без проблем сделать new T[100500]; Это же можно сделать через class, только и нужно его выхватить. А вообще такая зависимость от дженериков - от плохих решений.
>>689955
#346 #689941
>>689919
А почему так происходит? Ты мало знаешь? Мало умеешь?
>>689957
#347 #689954
Где можно про gui почитать?
#348 #689955
>>689921
нету - значит и не нужно.
#349 #689957
>>689941
В том, что джуны не нужны. Зачем брать человека, учить его и платить за это деньги, если можно взять сразу с опытом. Ну и, очевидно, мало знаю.
А вообще - мистика. Аж на позапрошлой неделе был в одной конторе, дали 3 даунские задачи в стиле "сделайте вставку в начало списка", которые я очевидно решил верно хотя бы из-за того, что ошибиться в них нереально. И что? И нихуя, даже не перезвонили. Самому им позвонить, что ли.
>>689962>>691192
#350 #689960
Ананасы, а число "32.0" это int или float?
>>689961>>689970
#351 #689961
>>689960
Ну Integer.parseInt об нее сломается, а вот float и double - нет.
#352 #689962
>>689957
А ты в какую отрасль целишься? Просто я под ведро хочу кодировать, может быть, что мы с тобой не понимаем друг дружку.
>>689965
#353 #689965
>>689962
Тырпрайз.
>>689987
#354 #689970
>>689960
с кавычками строка, без кавычек double
#355 #689987
>>689965
А что в этом прайзе вообще есть? Чем вы там занимаетесь все? Я просто себе слово "энтерпрайз" ассоциирую с высокими небоскребами и офисами, которые заполоняют куча одинаковых людей.
>>690020
#356 #689998
В чем разница между | и ||?
>>690020
#357 #690020
>>689998
гуглится
>>689987
тырпрайз считай фреймворк для высоконагруженных приложений.
>>690114
#358 #690071
Надо сгенерировать 100 рандомных чисел и записать их в таблицу, как это сделать? В гуглах только как пихать с бд есть.

Примерно так, но этот говнокод не работает
for (int i = 1; i < 100; i++){
table.setModel(new DefaultTableModel(
new Object[][] {
{i, Math.random()},

},
new String[] {
"kek","lol"
}
));
}
>>690086>>690088
#359 #690086
>>690071
никак
#360 #690088
>>690071
Что ты называешь таблицей? Ты короче хуйню какую-то делаешь, ставишь табличку в цикле, вместо того что бы заполнить и вообще.
#361 #690114
>>690020

>тырпрайз считай фреймворк для высоконагруженных приложений.


С горой опыта приходит ощущение, что нет никаких джуниоров, миддлов и сеньйоров, нет никаких лоу-лоад и хай-лоад, есть только твое отношение ко всему этому.
#362 #690119
>>690114
Проиграл.
Ты там вскрываться не собираешься?
>>690175
#363 #690173
>>690114
это типа оскорбление было
#364 #690175
>>690119
Да нет, лол, просто стал похуистично относиться ко всему. И всем стажерам советую.
>>690263
JOP #365 #690177
Sup, зкач.
Прочитал почти половину Эккеля, башка уже не переваривает RTTI. Думаю потом вернусь.
Что можно почитать о фреймворкам, какие фреймворки для чего нужны, какие уже устарелы и т.п. Менять буквы в строках на codingbat уже заебало. Хочется начать что-нибудь реальное и учиться уже по ходу. Или надо все-таки сначала Эккеля дочитать?
>>690182>>690183
#366 #690182
>>690177
Читани Spring in Action, нормальная тема.
>>690188
#367 #690183
>>690177

>почитать о фреймворкам


>устарелы


Попробуй взять несколько дней выходных подряд, рили.
#368 #690188
>>690182

>Spring in Action


Спасибо, читану. Спринг, как я понял, универсальный фреймворк для тырпрайза?
>>690190
#369 #690190
>>690188
Что-то около того. Только читани сразу последнее издание.
>>690194
#370 #690194
>>690190
Ок. Что-нибудь еще кроме Эккеля нужно для понимания книги?
>>690199
#371 #690199
>>690194
Зависит от тебя.
>>690212
#372 #690212
>>690199
Реролл!
#373 #690254
>>689765
AMQ позволяет очереди динамически создавать, я думаю. Обратиться к конкретной ты сможешь по селектору.
Хотя зачем тебе именно очереди сообщений я не представляю.
Я бы просто при отправке клиентом мессаги скидывал серверу, а другие клиенты периодически опрашивали бы сервак на наличие новых сообщений.
KISS bro!
>>690257
#374 #690257
>>690254
Я бы взял mqtt. Совсем изич.
#375 #690263
>>690175
джуниор - думает, что знает
мидл - думает, что не знает
сениор - похуй
#376 #690305
>>690114
Двачую этого ПОЗНАВШЕГО ИСТИНУ. В приличных местах за баззворды опыт хайлоад разработки обычно бьют в морду.
А некоторые синиоры с 5 годами на деле макаки которые круды ебашили 5 лет или на багфиксе сидели.
21 Кб, 935x392
#377 #690322
Аноны, почему мое число округляется?
>>690324
#378 #690324
>>690322
9/5 - целочисленное значение, так как в делении участвуют два целых числа.
9d/5, например, починит. Или скобки местами поменяй.
>>690351
#379 #690351
>>690324
Намек понял, починил при помощи добавления нулевого остатка. Про "d" пока еще не прочитал.
>>690352
#380 #690352
>>690351
То есть, не нулевого остатка, а нуля после точки, вот.
#381 #690360
Слышал, что AWT и Swing тут не любят. А какие у них есть годные альтернативы-то?
#382 #690369
#383 #690370
>>690360
А нету альтернатив.
>>690404
#384 #690371
Анон, в шапке ссылка на учебник по SQL битая, подскажи название
>>690499
Proxy #385 #690376
Поясните за прокси, я совсем запутался.

Вот код: http://pastebin.com/1hWH78n6 (из книжки Хорстманна).

Класс TraceHandler - это обработчик вызова, который определяет, какой метод вызывается + какие-то параметры.

Object proxy = Proxy.newProxyInstance(null, new Class[] { Comparable.class } , handler);
Собственно здесь и создается эта прокси(Класс который она определяет - Comparable, но это же интерфейс, или сюда помещается какой-то рандомный класс, который реализует Comparable? ???).

elements = proxy;
Здесь элементу массива(Object) присваивается объект прокси. Но происходит ли при это cast в Comparable? Или в какой-то абстрактный класс, который реализует Comparable?

Где вообще эти прокси применяются? Сам Хорстманн вот что пишет: You can use a proxy to
create, at runtime, new classes that implement a given set of interfaces
. Но когда в рантайме может понадобиться прокси и что вообще такое рантайм в джаве?
>>690457>>690499
#386 #690404
>>690370
Не верю!
>>690455
#387 #690455
>>690404
http://griffon-framework.org/
Есть какой-то гриффон, на котором можно писать графические приложения, попробуй его, потом скажешь норм он или не норм.
#388 #690457
>>690376
оставь на потом, рефлексия не особо нужная вещь в жабе. а там, где нужна это делают фреймворки.
74 Кб, 596x380
#389 #690472
>>687417 (OP)
Сап двощ, нужно запилить очередь, в которую накидываются входные данные. Когда входные данные помещены в очередь, она возвращает уникальный айди. и 4 потока их асинхронно вытягивает, вычисляет результат и кладет в бд. Можно проверять состояние операции, и если она завершена успешно, вытащить результат из бд по уникальному айдишнику.
Сам уже придумал реализацию, но интересно твое мнение. Какие паттерны/классы из стандартной библиотеки ты бы использовал? Java 1.6
#390 #690499
>>690360
JavaFX
>>690371
sql-ex.ru достаточно
>>690376
Вся суть описана в той цитате из Хорстмана, что ты привел. Подаешь на вход список интерфейсов - на выходе получаешь объект, который реализует все их (просто кастишь к любому из них и все сработает).
Рантайм - время, когда программа работает. В компилируемых языках, как Джава, есть ещё compile time (время компиляции).
#391 #690531
Как компилить приложухи без консоли, объясните нуфагу.
>>690536>>690548
#392 #690536
>>690531
Но зачем?
>>690541
#393 #690541
>>690536
Потому что программисты из /б/ уверяли меня, что для java консоль вообще не нужна.
>>690542>>690545
#394 #690542
>>690541
Так иде тебе на что?
#395 #690545
>>690541

> программисты из /б/


Ха-ха.
#396 #690548
>>690531
Все просто.
Описываешь сборку проекта в maven/gradle/ant/sbt.
Делаешь git/mercurial/svn/perforce репозиторий для своего проекта.
Сетапишь nexus/artifactory для хранения сбилдженных артефактов.
Настраиваешь jenkins/teamcity, чтоб они автоматически билдили проект по пушу в репозиторий и заливали артефакт в несксус/артифактори. Если веб-приложение - то еще и деплоить само может.
Итого, делаешь изменение, пушишь, а через несколько минут получаешь готовое приложение. Красота!
#397 #690572
Котоны, расскажите что Ява умеет делать по-настоящему крутого, что в перспективе сможет полностью убить плюсы.
Знаю, что одно из последних достижений - это сбор статистики вызова методов и их автоматический инлайнинг в рантайме.
Нужно провести исследование и составить заявку в комитет, чтобы в плюсы добавили реальные фичи, а не уродских клонов буст::асио и буст::файлсистэм.
Иначе в скором будущем упадут и наши зарплаты и ваши, т.к. крестобляди перекатятся в Яву и составят вам неслабую конкуренцию.
>>690578>>690579
#398 #690578
>>690572
Ты из какого года? В большинстве областей кресты с явой сравнивать вообще нельзя, никак.
#399 #690579
>>690572

> одно из последних достижений - это сбор статистики вызова методов и их автоматический инлайнинг в рантайме.


JIT в сановской джаве с 98-го года.

> расскажите что ложка умеет делать по-настоящему крутого, что в перспективе сможет полностью убить вилки.


Подправил немношк.

> крестобляди перекатятся в Яву


Ахаха.
>>690669
#400 #690669
>>690579

>Ахаха.


Чё, памятью управлять не надо. С битами, байтами и перформансом трахаться не надо. Да и кому нужна оптимизация производительности на современных и7...
Ну а интрерфейсы 2-3 сотен классов любой зазубрить может.

Что такого есть в Яве, чего не сможет осилить среднестатистический советский проектировщик самолётов инженер или школьник, умеющий решать квадратные уравнения?
#401 #690675
>>690669
Так в том-то и дело, что крестобляди придут вкатятся в яву и будут тут байтоебством заниматься, а не по делать.
>>690689
#402 #690680
>>690669

> Чё, памятью управлять не надо. С битами, байтами и перформансом трахаться не надо. Да и кому нужна оптимизация производительности на современных и7...


Вот потому крестобляди и не перекатятся на яву.
>>690689
#403 #690689
>>690675
>>690680
То есть вы не можете привести внятных аргументов почему средненький крестопетушок не сможет осилисть Яву?
И вы не боитесь, что тысячи плюсошлюх отнимут у вас работу?

>и будут тут байтоебством заниматься, а не по делать


такого петушка уволят быстро, на его место придёт другой, а первый пойдёт в соседнюю контору и уже не будет заниматься байтоеблей

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


Значит они пойдут таксистами амфетамины и шлюх клиентам вдувать?
>>690693>>690780
#404 #690693
>>690689

> почему средненький крестопетушок не сможет осилисть Яву?


Неправильный вопрос. Очевидно, сможет. Но не захочет. Да и не нужно ему это.

> Значит они пойдут таксистами амфетамины и шлюх клиентам вдувать?


Нет, будут дальше на крестах байты ебать.
149 Кб, 811x656
#405 #690695
>>687417 (OP)
Нубейший вопрос, можно?
Как мне откомпилировать и запустить это?
http://tim.hibal.org/strolen/times_ultra_new_roman/times_ultra_new_roman_java.zip
сделал
javac *
в каталоге с распакованными сорцами, появились два файлика .class
Потом пытаюсь выполнить
java Main
И нифига.
Хальп плиз!
>>690704>>690707
#406 #690704
>>690695
Нифига всмысле пустой экран или нифига всмсле ошибка? Если первое, то а что ты ожидал собственно увидеть?
#407 #690707
>>690695
java alientextgenerator.Main
>>690709>>690727
#408 #690709
>>690707
Error: Could not find or load main class alientextgenerator.Main
>>690732>>690744
#409 #690727
>>690707
Не шути так, кек.
#410 #690732
>>690709
Ты не в той папке вызываешь java. Не лезь в папку с Main.class, будь там, где лежит alientextgenerator.
#411 #690744
>>690709
Открываешь код, видишь в первой строке "package alientextgenerator;"

~/tmp> mkdir alientextgenerator
~/tmp> cp .java alientextgenerator
~/tmp> javac alientextgenerator/
.java
~/tmp> java alientextgenerator.Main
~/tmp> ls -l
total 56
drwxrwxr-x 2 anon anon 4096 Mar 17 14:22 alientextgenerator/
-rw-rw-r-- 1 anon anon 48007 Mar 17 14:22 C:\Users\Tim\Desktop\example_sentence.png
#412 #690748
>>690744
Тупая макаба снова съела звездочки
#413 #690761
>>690744
Спасибо, анон.
#414 #690769
>>690744
Хохол в треде!
57 Кб, 572x600
#415 #690778
#416 #690780
>>690689
Кресты используются там где джава не может, так что крестовикам очевидно не нужна джава, а если крестовику захочется вкатится в джаву, ну окей пусть вкатывается, но это явно не хороший крестовик, а просто макака которая не сразу попала в болото джавы.
#417 #690900
Вы все куда-то перекатились, что ли?
>>690908
#418 #690908
>>690900
Ага, в кресты.
394 Кб, 1200x1758
#419 #690915
Что-то треды про java в бамп-лимит скатываются. Это сезонное обострение?
>>690932>>690936
#420 #690932
>>690915
Что за непристойности на пике, лол?
Ответь-ка мне лучше на вопрос.

Есть такой-то код:
Calculator(){
winContent = new JPanel();
GridBagLayout gb = new GridBagLayout();
this.setLayout(gb);

Идея ругается на this, не может решить метод. Хотя в книжке для бегиннеров именно так написано. Хочу как можно лучше понять этот момент. В прошлых штуках тоже рукался, но я их как-то фиксил. Юзаю 8 версию джавы.
>>690967
#421 #690936
>>690915

>notice me, senpai

479 Кб, 1200x1745
#422 #690967
>>690932
Может ты не относледовался от какого-то класса(Jframe), и он у тебя метод не видит. Как я могу подсказывать по 3 строчкам, кидай все.
>>690972>>690984
#423 #690972
>>690967

>не относледовался от какого-то класса(Jframe)


Хм, странно, в книжке об этом не говорится. Благодарю.
#424 #690984
>>690967
моар
#425 #690991
Интересно, тут есть вообще люди, которые используют Java не для вебовских дел? Это пиздец какой-то.
#426 #691007
>>690991
А для чего еще использовать?
>>691069
#427 #691025
>>690991
Есть. 90% времени пишу мапредьюсы, 10% - REST для доступа к результатам.
>>691069
#428 #691041
>>690991
Привет, пишу на JavaME в 2016 году.
#429 #691061
>>691041
К нам на первом курсе(1.5 года назад) приходили разрабы игорей для старых телефонов, говорили что работы много, учите джаву.
>>691080
#430 #691069
>>691007
>>691025
>>691041
А что тогда учить-то, чтобы не делать что-то для веба? Ненавижу веб.
>>691076
#431 #691076
>>691069
Учи SOAP и веб покажется сказкой
>>692002
#432 #691080
>>691061
А как ты там разрабатываешь, вот есть у меня старый телефон нокия аша, джава там точно есть, как с ней что-то сделать?
>>691109>>691113
#433 #691090
>>691041
Под что пишешь? Телефоны или что-то другое?
У нас в бодишопе еще год назад был проект на J2ME для автомобильных хед-юнитов, ты не в этой же сфере?
>>691107
#434 #691107
>>691090
http://www.tc65.ru и всякие аналоги. Дрянь, короче. Такое ПО, как у нас, на сях надо писать.
#435 #691109
>>691080
Не знаю, я не умею в джаваМЕ
>>691113
#436 #691113
>>691109
Я промахнулся
Это >>691080 сюда >>691041
#437 #691126
>>690669
ооп-паттерны

>Чё, памятью управлять не надо.


Ну это пока утечку не получил. А там заглядываешь под капот и громко материшься.
>>691128
#438 #691128
>>691126
Как раз сегодня подвисшее говно в очередях находили, ага.
>>691133
#439 #691133
>>691128
Причем здесь утечка памяти?
>>691135
#440 #691135
>>691133
То, что там некое говно осталось бы навечно. И копилось, копилось, копилось.
>>691146
#441 #691146
>>691135

List<Integer> l = new ArrayList<>();
while (true) l.add(0);

Это тоже по-твоему утечка памяти?
>>691182
#442 #691182
>>691146
Рано или поздно вывалится OutOfMemoryError. Утечкой, конечно, это сложно назвать, т.к. тут намеренно происходит наполнение коллекции без удаления. Утечка -- это когда ресурс, от которого по наступлению некоторого условия, ожидают освобождения занятой памяти, не освобождает её.
>>691194
#443 #691192
>>689957

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



Затем, что если не брать, то через несколько лет отрасли пизда.
#444 #691194
>>691182
Это не утечка памяти - не подменяй понятия.
>>691197
#445 #691197
>>691194
Дай академическое определение утечки в таком случае.
>>691215
#447 #691221
Работаю неделю на джуниорской должности, еще не оформляли трудовую книжку, даже еще паспорт не спрашивали, каков шанс что меня пидорнут и не заплатят? И как вообще происходит устройство на работу? Когда начнет бежать этот мифический "опыт"?
>>691227
#448 #691227
>>691221
Кто ж его знает какой шанс? Как повезет. Если ты устроился в какую-то шарагу, то это твои проблемы.
#449 #691249
>>691215
По этому определению в яве вообще нет мемориликов. Однако формальное отсутствие мемориликов тебе не поможет отслеживать и лечить эти ситуации http://zeroturnaround.com/rebellabs/rjc201/
>>691255
#450 #691255
>>691249
Формально их нет, если это чистая Java без вызова нативного кода или не баг JVM. Ты говоришь о Resurce Leak, частный случай которго - Memory Leak. Утечку ресурсов я тебе легко нарисую.
#451 #691362
Как подтвердить свою профпригодность по java, если ты зелень? Слышал, есть какие-то сертификаты. Java ведь промышленно-ориентированный язык, значит, точно должно быть что-то официальное.
>>691366
#452 #691366
>>691362
Есть OCA и OCP. Хорошие сертификаты если хочешь доказать что ты можешь работать компилятором и у тебя много денег.
sage #453 #691394
>>691414>>691425
#454 #691414
>>691394
Слушай, убери уже сажу, некрасиво же.
>>691744
#455 #691425
>>691394
Это понятно, я для себя программы тоже пишу на Джаве, а вот чтобы деньги на этом зарабатывать в промышленных масштабах есть сисярп. А Джава-то для чего? Для ведроида? Для сокетов ебаных? Холодильнички прошивать?
#456 #691432
>>691425
Иди в одноклассники, там весь бэкенд на Java.
Вообще у огромной кучи контор бизнес построен на Java (к примеру IBM).
>>691436
#457 #691436
>>691432

>IBM


А что сразу не Гугл?
>>691464
#458 #691445
>>691425

>сисярп


Не все конторы желают быть анальным партнёром майкрософта.
#459 #691451
>>691425
Зачем нужен Шарп, если не для вэбовских дел? Формошлепство? На дворе 2016 год так-то.
>>691456
#460 #691456
>>691451
Да пошел ты нахуй, скоро на асме будем для веба писать.
#461 #691464
>>691436
Тебе говорят бизнес. Сервера и софт они продают для джава-приблуд, а также курсы по подготовке джаваиндусов.
#462 #691479
При помощи свинга можно реализовать выпадающий заполняемый список? То есть, вот, я кликаю по нему, а мне выдает определенное количество полей для заполнения.
>>691481
#463 #691481
>>691479
И еще хотелось бы реализовать графическое поле, где можно было, к примеру, поставить подпись. Такое можно?
assert #464 #691524
Помогите разобраться с оператором контроля assert.

Вот что пишет Хорстманн:

• Assertion failures are intended to be fatal, unrecoverable errors.
• Assertion checks are turned on only during development and testing.

Что он подразумевает под фатальными, неисправными ошибками?
Во втором пункте он говорит про разработку, то есть код выходит в продакшн без использования assert?

Часто ли вы используете assert в своих программах?
#465 #691535
>>691524
Нахуй ты его читаешь? Он недостоин даже печати.
#466 #691540
>>691524
Двачую вопрос, сам не использую, но интересно не настолько что бы гуглить:
1) как это выглядит в байт-коде
2) как включаются/отключаются эти ассеты (флаг какой для HostSpot или как)?
3) что там в Android?
#467 #691544
>>691524

> под фатальными


То что после них программа умирает.

> в продакшн


Да, assert это отладочный инструмент.
#468 #691546
Посоветуйте видео-курсы для не совсем новичков кроме Головача, я знаю, вы любите отсасывать.
>>691586
#469 #691557
>>691524

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


Да. Код для компилится с флагом, отключающим ассерты, так что их даже в байткоде не будет.

> Часто ли вы используете assert в своих программах?


Ни разу не видел.
#470 #691561
Пиздец, позвонил в контору, где собеседование проходил, говорю, я у вас был две недели назад, делал тестовое задание, когда какой-нибудь фидбек будет уже. ОЙ, А ЕЩЁ НЕ ПРОВЕРИЛИ, Я ВОТ ИМ ГОВОРИЛА, ЧТО ЛЮДИ ЗВОНЯТ ПОСТОЯННО, СПРАШИВАЮТ, НО ВРЕМЕНИ НА ПРОВЕРКУ НЕТ, ПОСТАРАЮТСЯ В БЛИЖАЙШЕЕ ВРЕМЯ. Нахуй так жить, там же на проверку одного задания от 2 до 5 минут нужно.
>>691574
#471 #691570
>>691535
Нравится - читаю.

А кого ты посоветуешь?
#472 #691572
>>691535
Достоин. Ты пидор.
#473 #691574
>>691561
Если есть ещё варианты, то шли такую конторку подальше.
#475 #691599
Реквестирую пикчу-сравнение языков и людей, которые на них пишут.
#476 #691611
>>691586
Спасибо, ананас.
Пиздец, я думал, что перекатившись на Java, я перестану лицезреть лица мерзких людей, как это было в PHP, но не тут-то было, опять какие-то жиробасы уродливые, но все-таки лучше сальноволосых девственных истеричных школьников на пыхе.
>>691618
#477 #691616
Реквестирую внятный и короткий гайд по многопоточности нет, не уровня "как запустить поток", нужно запилить простенький пул на 10 потоков.
>>691621
#478 #691618
>>691611
Это курсы от мейл.ру, а сам препод писал сервак для аллодов. Так что выводы делай сам. А еще он шатается, как алкаш.
#479 #691621
>>691616
Executors.newFixedThreadPool(10);
>>691661
#480 #691622
>>691586
Если решите смотреть, то рекомендую увел
>>691626
#481 #691626
>>691622
Увеличить скорость. Ненавижу писать с телефона
>>691647
#482 #691647
>>691626
Хорошо, няша, посмотрю.
#483 #691661
>>691621
Ох ты ж, и правда работает, никогда бы не подумал, что всё настолько просто, спасибо.
#484 #691672
Нужно в соснольном приложении постоянно проверять фолдер на появление новых файлов. Это нормально, что я делаю бесконечный цикл, sleep на 5 секунд, а потом сканирую фолдер на наличие новых файлов? Или у белых людей такие задачи решаются как-то иначе?
>>691674
#485 #691674
>>691777
sage #486 #691744
>>691414

>некрасиво


В каком смысле? Сажа - такой инструмент, позволяющий не бампать тред, когда это не нужно. Я никакой негативный подтекст в эту галочку не закладываю.
>>691745
#487 #691745
>>691744
Ты, видимо, сюда не раньше 2013 года пришел.
>>691747
sage #488 #691747
>>691745
Если "сюда" - всмысле на борды, то я со времён Педалика тут.
Если - в pr - таки да, я тут почти не бывал. У вас тут какие то свои традиции по этому поводу? Или у вас тут такая скорость постинга, что треды с сажей тонут до бамплимита?
>>691766
#489 #691766
>>691747
Лол, и если ты сидишь тут со времен Августины, то почему ты не знаешь, что сажа - это выражение отношения к треду.
#490 #691767
>>690991
Мне нравится дескопные приложухи на жаве писать. Но ща занят с другим кое-чем. А так ботов пописать, формочки постилизовать - круто же.
#491 #691777
>>691674
Спасибо, охуенно.
А как вообще работает WatchService? В смысле, как он получает оповещения о событиях?
>>691789
#492 #691789
>>691777
Я б знал.
#493 #691799

>erinnerung


Нахуй ты дойч с инглишем мешаешь?
#494 #691811
Ананасы, хочу организовать живой поиск по одному каталогу шиндошс. Примерно как штатный win7, только удобнее. Какие инструменты юзать?
>>691822
#495 #691822
>>691811
Проиграл.
>>691854
#496 #691854
>>691822
Что смешного?
#497 #691857
Раньше читал книгу в которой автор на состой странице пояснял за наследование и виртуальные методы всегда используя класс box. У него были параметры он создавал объекты разные и в действии показал как наследование меняет размер коробки. Эта книга была первая в гугле. Напомните название.
>>691864
#498 #691864
>>691857
Философия Java.
>>691872
#499 #691872
>>691864
Вроде не то. Он ещё через слово заметки для тех что знает С++ делал.
#500 #691930
Хм, подучиваю тут немного awt+swing, объясните чайнику, что означают термины "компонент" и "контейнер".
Как я это понимаю: контейнер это оболочка для компонента, а компонентом может быть все, что угодно: от кнопки до поля ввода. Правильно?
>>691934>>691935
#501 #691934
#502 #691935
>>691930
А нет, не совсем.
Контейнер это оболочка для компонентов.
>>691937
#503 #691937
>>691935
Если на собеседовании так ответить, то это ошибка?
>>691939
#504 #691939
>>691937
На собеседовании у тебя этого не будет.
если всё-таки будет, то вряд ли. Главное чтобы ты понимал истинное назначение. я просто уточнил для тебя. контейнер может оборачивать как один компонент, так и несколько. насчёт контейнер в контейнере хз. мои познания свинга ограничиваются универскими лабами
>>691951
#505 #691951
>>691939

>насчёт контейнер в контейнере хз


Да хоть контернер -> контейнер (button, field) + контейнер (label, button, button);

В пакете карп в пакете, что называется.
#506 #691964
чет прочитал главу про программирование графики на Swing первого тома Хорстманна и нихуя не понял про двумерные формы, где он рисовал эллипсы, прямоугольники, линии, окружности
про окрашивание в разные цвета несколько страниц, и про вывод изображения 1.5 страницы, на этом глава закончилась, можно перечитать и попытаться понять ещё раз
скажите, это ведь не критично?
>>691965>>691969
#507 #691965
>>691964
Нет.
>>691972
#508 #691969
>>691964
Если хочешь лучше понимать Swing, палю годноту быдлу:
Иван Портянкин - Swing. Эффектные пользовательские интерфейсы. Там все: от истории разработки до форм любой сложности. Автора хотя бы читать приятно, в сравнении с этим вашим Эккелем.
>>691982
#509 #691972
>>691965
спасибо за ответ
а вообще понадобится мне Swing в 2016?
я слышал как анончики писали, что сейчас ГПИ программируют онли на Spring`e
>>691975
#510 #691975
>>691972
Программируют-то на Спринге, а формы делают при помощи Свинга.
#512 #692002
>>691076
Да ты охуел.
мимо SOAP и UDDI девелопер
#513 #692137
ПЕРЕКАТ: >>692136 (OP)
ПЕРЕКАТ: >>692136 (OP)
ПЕРЕКАТ: >>692136 (OP)
ПЕРЕКАТ: >>692136 (OP)
ПЕРЕКАТ: >>692136 (OP)
#514 #692257
>>691535
Или предлагай свое, или не пизди.

Хорстман годный для нуба, ящитаю. Получше Шилдта намного. Но трудновато все укладывается. Я из Хорстмана дочитывал по некоторым темам. Есть еще годная у него книжка: Java concepts, вроде, называется.
Лучшие книги, чтобы читать, как по мне - Head First начал читать нулевым нубасом, хотел узнать, что такое класс)), охуел от картинок и ебанутых сравнений\объяснений, многабукаф, чтобы добраться до определения чего-то-там. Но потом дочитывал, все разжевано, схематизировано, объяснено. Если тему прочитал с этими комиксами и долбоебскими картинками - понял охуительно все. А примеры кода - просто супер. И очень интересные примеры. Их хочется набрать только затем, чтобы посмотреть, как такая охуительная прога будет работать.
В общем, я эту книжку читать начинал, но не стал продолжать. (Потому, что у меня уже был Харви Дейтель DD) Хотя, очень годно. Рекомендую всем стремящимся, кому необходимо, чтобы ему на пальцах объяснили
, и Harvey Deytel - "Java, how to program" По ней занимался. На английском, но язык простой. (Хотя, я могу в английский, в словарь далеко не каждый день заглядываю.) Охуенно все объясняется. Примеры кода - супер. Каждая строчка кода, по-сути, объясняется дальше. Понимаешь все, перенимаешь стиль автора. А он охуенный препод, ящитаю. В конце каждой главы - резюме по теории, читаешь, повторяешь. Потом упражнения - это самая охуительная фишка. Сначала теорию проверяешь, как освоил. Потом задания делаешь, кодишь сидишь. Охуенно! Практически закрепляешь все.
В общем, по-большей части по Дейтелю я и освоил кор. Чего стремящимся анонам и советую.

Желаю тому анону, который рекомендовал Харви Дейтеля итт, многие перекаты назад, тонны добра, счастья, здоровья!
#515 #693265
Посоны, нужно ли обычному java-погромисту изучать Кнута или есть более современные книги, содержащие необходимый материал?
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 10 апреля 2016 года.

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

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