Сохранен 548
https://2ch.hk/pr/res/571481.html
Прошлые домены больше не функционируют, используйте адрес ARHIVACH.HK.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Официальный™ тред Java #19

 Аноним 02/11/15 Пнд 17:26:01 #1 №571481 
14464743612720.jpg
Этот тред для тех, кто пишет (или хочет научиться писать) на кроссплатформенном, свободном, и самом распространенном языке современности. Java это воистину простой как камень и потому бессмертный язык. Во время войны в Ираке, американские солдаты выбрасывали свои ЯП, и подбирали Java. Британские ученые провели исследование, в результате которого выявили 58 видов Java. Женщины Вестероса шьют флаги и слагают песни в честь Java. Как тут не оставаться равнодушным?

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

1. Туториалы есть?
BEGINNER: http://myflex.org/books/java4kids/java4kids.htm
MEDIUM: http://www.tutorialspoint.com/java_technology_tutorials.htm
HARD: http://docs.oracle.com/javase/tutorial/

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

3. Я не умею читать и хочу видео
Пожалуйста http://dou.ua/forums/topic/8113/
http://habrahabr.ru/company/golovachcourses/blog/215275/

4. А где практиковаться?
Начните с бесплатных задач по данному языку: http://codingbat.com/java
Дополнительную практику можно получить здесь: https://www.codehunt.com/
Код играючи: http://www.codingame.com/puzzles
Рулеточка: http://postimg.org/image/xdfbvgps9/
Ещё задачки: http://eax.me/programming-language-learning/
Олимпиадка: http://acmp.ru/?main=tasks + acm.timus.ru
Простенькие: http://www.programmr.com/zone/java

5. Что насчет SQL?
Начни с малого: http://www.w3schools.com/sql/default.asp
Затем переходи к: http://www.sql-ex.ru/
В качестве чтива рекомендую: http://oreilly.com/catalog/sqlhks/chapter/

6. Java EE, Java FX:
https://www.youtube.com/channel/UCYTFfeXufxZM5pdC_OEmJwg
https://github.com/KriechelD/YouTubeChannel

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

8. Я готов к первому собеседованию.
Проверь свои знания здесь: http://www.quizful.net/test
И здесь: http://www.careercup.com/
Советы по написанию резюме: потеряли. Может, у кого есть скрин?

Прошлый тонет тут: >>558842 (OP)
Аноним 02/11/15 Пнд 17:48:06 #2 №571503 
14464756868400.jpg
14464756868411.jpg
Перезадам вопрос про ебаный Swing. Загружаю картинку баферед имедж. Жму кнопку, лейблу задается размер, как у картинки, затем картинка отображается в лейбле. Проблема в том, что кнопку вывода изображения приходится нажимать дважды. При первом нажатии картинка отображается в лейбле, но обрезается, а подгоняется размер только при втором нажатии. Развиваю ситуацию: загружаю картинку, жму кнопку, жму еще раз — картинка выведена и отображена корректно. Нажимаю другую кнопку, которая вешает на лейбл MouseListner, размер лейбла сбрасывается на начальный. Нажимаю кнопку еще раз — картинка принимает нужный размер, листнер работает. В принципе ничего особо страшного, но напрягает и не могу понять причину такого злоебучего поведения элементов. Эту залупу возможно как-то пофиксить? Может проблема в том, что форма и элементы созданы через конструктор свинга и мне нужно православно переписать все вручную?
Аноним 02/11/15 Пнд 18:55:25 #3 №571550 
>>571503
>> jButton1ActionPerformed
>> jButton3ActionPerformed
>> jLabel3
>> jLabel5
УБИВАТЬ УБИВАТЬ УБИВАТЬ ЗА ТАКУЮ ХУЙНЮ КАК ВЫ ЗАЕБАЛИ БЛЯТЬ ИЩИ ПОТОМ ОЧЕРЕДНОЙ BUTTON100500 НА FORM4 ПО ВСЕМУ ЕБАНОМУ ПРОЕКТУ УРОВНЯ LABA6 БЛЯТЬ
Аноним 02/11/15 Пнд 18:59:20 #4 №571551 
Каково это, писать на мёртвом языке?
Аноним 02/11/15 Пнд 19:45:01 #5 №571579 
>>571551
Поищи тред про JavaScript, там тебе расскажут подробно.
Аноним 02/11/15 Пнд 19:49:17 #6 №571581 
>>571503
Гуй на яве? Да ты совсем ебанулся!
Аноним 02/11/15 Пнд 19:51:22 #7 №571586 
Бампану, пожалуй, так ничего и не получилось.
>>571059
https://gist.github.com/anonymous/cae2a60f56f51c996196
Аноним 02/11/15 Пнд 19:57:09 #8 №571592 
>>571586
Тебе нужно именно сабмитить через jsoup? Я через него только получал id для запроса и сабмитил через апачевскую либу
Аноним 02/11/15 Пнд 20:02:43 #9 №571595 
СССУУУУКААААААААААААААААААААААААААААА

Они идею обновили, кейген ВСЁ. Что делать?
Аноним 02/11/15 Пнд 20:03:45 #10 №571599 
>>571595
Ну, есть варик юзать 30 дней бесплатно и постоянно дрочить скриптом при запуске компуктера сброс, но лучше же нормально спиздить.
Аноним 02/11/15 Пнд 20:05:37 #11 №571603 
>>571595
1. Зачем обновлялся?
2. Там вроде триал сбрасывается удалением папки идея из документов.
Аноним 02/11/15 Пнд 20:06:12 #12 №571604 
>>571595
Пришло время переходить на спэйсмакс.
Аноним 02/11/15 Пнд 20:06:40 #13 №571605 
>>571592
Взрослые дядьки тоже советовали HttpComponents, но там пока ничего не понял, какие-то простыни кода, кажется, через Jsoup должно быть проще.
Аноним 02/11/15 Пнд 20:07:22 #14 №571608 
>>571595
Держи, братишка: https://kat.cr/jetbrains-intellij-idea-ultimate-v14-0-139-224-incl-keymaker-dvt-t9847083.html
Аноним 02/11/15 Пнд 20:08:02 #15 №571611 
>>571605
А что ты делаешь? И почему не использовать что-нибудь более подходящее, чем ява?
Аноним 02/11/15 Пнд 20:10:27 #16 №571615 
>>571603
>1.
Новые фичи же, ты чё))))))
>2.
Да, там вообще один файл, но это же цирк.

>>571604
Вот знаешь, прямо сегодня попробовал этот твой спейсмакс. Во-первых, в мануале сказано, что в шиндовсе нужно, чтобы %HOME% указывала на %USERPROFILE%. По умолчанию на %APPDATA%. И ебаться не нужно даже, просто в аппдату клонируешь репу и всё. Ну это хуй с ним. Неудобный он какой-то. Хоткеи не все из вима есть. Не хочу, короче.

>>571608
Сейчас запущу с виртуалки. А то знаю я этих кейгенописателей.
Аноним 02/11/15 Пнд 20:11:36 #17 №571617 
>>571615
>Сейчас запущу с виртуалки. А то знаю я этих кейгенописателей.
Да не боись, там обычный jar-кейген, по-моему, даже с открытыми исходниками.
Аноним 02/11/15 Пнд 20:11:43 #18 №571618 
>>571605
В смысле? Если там тебе плохо, можешь юзать стандартные джавовские, там ещё легче.
Вообще, jsoup создавался для парсинга DOM, не для создания запросов.

>>571615
>Новые фичи же, ты чё))))))
15 идея вышла?
>Да, там вообще один файл, но это же цирк
Ну тогда сиди на эклипсе или в саблайме.
Аноним 02/11/15 Пнд 20:12:06 #19 №571620 
>>571615
>Сейчас запущу с виртуалки. А то знаю я этих кейгенописателей.
Мда... даже декомпильнуть не может.
Аноним 02/11/15 Пнд 20:13:12 #20 №571623 
>>571618
>15 идея вышла?
Йуп.
>Ну тогда сиди на эклипсе или в саблайме.
Нахуя?

>>571620
>ахах ебать ЛОХ декампилеть не могёт гы) пацаны ебать смарите))
Аноним 02/11/15 Пнд 20:14:42 #21 №571625 
>>571623
Ясно. Нафиг этого клоуна.
Аноним 02/11/15 Пнд 20:16:40 #22 №571628 
>>571617
А, так это. На четырнадцатую у меня есть, я могу даже скинуть, там один класс сурсов. На 15 надо. Там CLion тоже на эту же хуйню переехал.

>>571625
Что тебе ясно, чмоша? Что чужие мнения иногда отличаются от твоего? Что твоё мнение не всегда самое верное?
Аноним 02/11/15 Пнд 20:18:17 #23 №571630 
>>571611
Да просто осваиваю джаву и пытаюсь провернуть аналогичные вещи, которые раньше писал на питоне - всякие штуки, типа уведомлялок или музыко-загрузчиков.
>>571618
>можешь юзать стандартные джавовские
Либы для парсинга? И какие же это?
Аноним 02/11/15 Пнд 20:20:29 #24 №571635 
>>571630
Для отправки запроса. HttpUrlConnection
Аноним 02/11/15 Пнд 20:22:02 #25 №571638 
>>571628
> На 15 надо
А, cорян тогда. Как-то быстро они клепают.
Ну ничего, скоро васяны сделают и на 15 ключи.
Аноним 02/11/15 Пнд 20:23:29 #26 №571643 
>>571638
CLion 1.2 30 октября вышел, васяны додумались только модифицировать системные файлы.
Аноним 02/11/15 Пнд 21:12:27 #27 №571693 
Что лучше, навернуть гайд на https://www.codecademy.com/en/courses/learn-java или какую-нибудь унылую литературу на 600 страниц, где одна вода и мало чего по теме?
Аноним 02/11/15 Пнд 21:15:35 #28 №571696 
>>571693
Хочешь устроиться на работу - первое. Хочешь нормально пркоачаться - второе.
Аноним 02/11/15 Пнд 21:17:35 #29 №571698 
>>571696
Ты серьезно? Пройти часовой гайд и я готов к работе с зарплатой в ~90к?
Аноним 02/11/15 Пнд 21:19:35 #30 №571700 
>>571698
Нет. Оно даст тебе базовые понятия чтобы ты двигался дальше. Дай-ка мне краткое содержание этого курса.
Аноним 02/11/15 Пнд 21:20:36 #31 №571702 
>>571700
INTRODUCTION;
CONDITIONALS AND CONTROL FLOW;
OBJECT-ORIENTED JAVA;
DATA STRUCTURES.
Аноним 02/11/15 Пнд 21:21:55 #32 №571704 
>>571702
Ну, если ты пройдёшь этот курс, ыт будешь просто быстрее читать книгу, т.к. многое станет понятно. Если, конечно, курс толковый.
Аноним 02/11/15 Пнд 21:22:59 #33 №571706 
>>571704
Окей, понятно. Спасибо за разъяснение.
Аноним 02/11/15 Пнд 22:32:28 #34 №571756 
Чо думаешь, двощ. Норм книга после того, как изучил синтаксис?
http://ecx.images-amazon.com/images/I/518SsjvbEzL._SX378_BO1,204,203,200_.jpg
Аноним 02/11/15 Пнд 22:37:21 #35 №571759 
Встал пораньше и сразу за ИДешку, ебошить свой мега-крутой проект "ту-ду лист для даунов" на спринге с хайбернейтом.
Целый день ебался с томкатами, тремя идеешками, структурой папок, расположением dispatcherservleta, мавеном и бог его знает чем.
Уже 11 часов вечера а я в 50 раз конфигурирую структуру проекта. Охуенно, люблю программирование.
П.С кто то может на пальцах объяснить как сделать форму входа используя Спринг-сесурити и хайбернейт? В интренетах какие-то огрызки информации.
Аноним 02/11/15 Пнд 22:43:27 #36 №571763 
>>571759
Я хуй знает, я ньюфаг. Мб подскожешь чо делать >>571756
?
Аноним 02/11/15 Пнд 22:44:53 #37 №571764 
>>571586
Ура, таки получилось через Jsoup!
https://gist.github.com/anonymous/df0947369185b6c456dc

Только поясните ещё нубу, как указывать запросы на кириллице в data("query","запрос") ?
На инглише всё работает, а кириллицу переводит в восклицательные знаки.
Аноним 02/11/15 Пнд 22:46:27 #38 №571766 
>>571764
Проблема с кодировкой, конечно же. Попробуй проставить UTF-8 (в идее можно справа снизу переконвертировать файл).
Аноним 02/11/15 Пнд 22:47:48 #39 №571767 
>>571764
А, кстати. Знак вопроса из ссылки можно убрать + раз "create" пустой, не надо его прикреплять.
Аноним 02/11/15 Пнд 22:49:19 #40 №571769 
>>571766
Хм, действительно, не заметил кодировку файла.
Теперь всё охуенчик, даже проще, чем на питоне!
Аноним 02/11/15 Пнд 22:52:20 #41 №571770 
>>571763
В моем случае книги оказались бесполезны(тем более индусские я не пробовал). Т.е я их читаю-читаю, а толку почти ноль.
Лично я бы посоветовал вызубрить на память лекцию по джаве на интуите, пройти курс кодакадеми html/css и сразу js чтобы приблизительно понимать как оно вообще все устроено, и сразу садиться пилить свой проект.
Аноним 02/11/15 Пнд 22:59:17 #42 №571777 
>>571766
Кстати, а можно как-нибудь подключить стили, картинки в выходном документе? Я так понимаю, весь хтмл каким-то хитрым образом очищается от всяких внешних ссылок?
Аноним 02/11/15 Пнд 23:00:46 #43 №571778 
>>571777
Нет, хтмл должен быть, по идее, нетронутым.
Аноним 02/11/15 Пнд 23:02:57 #44 №571781 
>>571778
Тогда почему всё перекошено и без стилей? По идее то ссылки на стили и скрипты то всё равно сетевые, их то не нужно скачивать.
Аноним 02/11/15 Пнд 23:04:43 #45 №571783 
>>571781
Ну ты посмотри, абсолютный ли к ним путь или относительный.
Аноним 02/11/15 Пнд 23:07:31 #46 №571786 
>>571783
Похоже, относительный, неполные адреса.
А есть какая-нибудь функция, делающие их абсолютными? Или это уже вручную ковырять и заменять надо?
Аноним 02/11/15 Пнд 23:08:44 #47 №571787 
>>571786
Может и есть, почитай доки jsoup'а.
Аноним 02/11/15 Пнд 23:08:46 #48 №571788 
>>571786
Ну так поройся в методах в цепочке запроса, что ты как маленький?
Аноним 02/11/15 Пнд 23:10:12 #49 №571789 
>>571787
>>571788
Ну ладно, попробую покопаться.
Аноним 02/11/15 Пнд 23:13:34 #50 №571795 
>>571759
Вообще, надо было начинать с Spring Boot.

1. Делаешь Hibernate entity User с атрибутами username и password.
2. Делаешь формочку на HTML/CSS/JS с шаблонизатором (рикамендую JMustache).
3. Создаешь контроллер для формочки.
4. В контроллер как параметр передаешь DTO формы.
5. Реализуешь интерфейс AuthenticationManager, который по username/password ищет в User.
6. Если есть, то создаешь новый DTO, который реализует интерфейс UserDetails и пихаешь его в SecurityHolder
7. Допиливаешь все до конца.
8. Вы восхитительны.
Аноним 02/11/15 Пнд 23:14:48 #51 №571796 
>>571795
Ой нет, надо создать новый AUthentication (UsernamePasswordAuthentication), и реализовать UserDetailsService который будет таскать UserDetails из БД
Аноним 02/11/15 Пнд 23:32:34 #52 №571818 
>>571787
Читнул доки, нашел метод: doc.absUrl();
http://jsoup.org/cookbook/extracting-data/working-with-urls
По отдельности он может линки элементов делать абсолютным, только теперь что-то не понимаю, как переконвертить весь хтмл-документ.
https://gist.github.com/anonymous/c6835e75fc41dba35b76
Аноним 02/11/15 Пнд 23:36:21 #53 №571822 
>>571818
>Element link = doc.select("a").first();
Да я поверить не могу, что этот метод может вернуть только 1 элемент из всего списка.
Аноним 02/11/15 Пнд 23:37:11 #54 №571823 
>>571795
Спасибо.
Антоша, я что-то недопонимаю, как привязать hibernate User к контексту приложения.
Ну то есть если аутентификация hibernate Usera прошла успешно, откуда мне потом брать данные для реализации бизнес-методов номального юзера с полями увлечения/контакты/сообщения?
Т.е если еще проще - вот где мне(после того как я верну страницу аутентифицированному юзеру) брать Id и искать по нему в базе данные?
Аноним 02/11/15 Пнд 23:38:14 #55 №571824 
>>571823
Почитай про SecurityContext.
Аноним 02/11/15 Пнд 23:38:54 #56 №571826 
>>571823
SecurityContextHolder.getContext()
Аноним 02/11/15 Пнд 23:40:45 #57 №571828 
>>571824
>>571826
Спасибо!
но чувствую это моя далеко не последняя запара
Аноним 02/11/15 Пнд 23:41:19 #58 №571830 
>>571822
М? Что один, что несколько, они работают только с линками, не возвращают же весь хтмл-документ.
Аноним 02/11/15 Пнд 23:45:06 #59 №571837 
>>571796
>реализовать UserDetailsService
Там вроде дефолтный есть.
Аноним 03/11/15 Втр 04:26:04 #60 №571998 
>>571550
а как правильно именовать элементы интерфейса?
Аноним 03/11/15 Втр 09:44:58 #61 №572045 
>>571998
b1a, b3a, l3, l5. Нахера длинные названия, ты тупой что ли и не можешь запомнить какая переменная за что отвечает? А так - код короче, читаемость выше.
Аноним 03/11/15 Втр 10:12:28 #62 №572065 
>>572045
Бляяяяяяять! Тебя ЕБЕТ что ли?
Аноним 03/11/15 Втр 10:14:36 #63 №572067 
>>571998
По тому, что она делает. Ты же не именуешь функции function1, function2 и function3, а переменные - variable1...
Аноним 03/11/15 Втр 10:15:09 #64 №572068 
>>571581
То есть дело именно в этом?
Аноним 03/11/15 Втр 10:27:17 #65 №572075 
14465356372300.jpg
>>572068
чтобы с твоим пуканом было, если бы я тебе сказал, что веб-морды на яве тоже пишут?
GoogleWebToolkit, Vaadin, Wicket
Аноним 03/11/15 Втр 10:55:00 #66 №572087 
>>572075
GWT для всратых, кто не может в JS. Vaadin вообще высер обезумевшей обезьяны
Аноним 03/11/15 Втр 11:09:10 #67 №572095 
>>572087
>Vaadin вообще высер обезумевшей обезьяны
Удвою.
Аноним 03/11/15 Втр 11:41:05 #68 №572105 
Пользуясь случаем, спрошу у знатоков - через что нужно пилить гуй под десктоп-приложухи?
Аноним 03/11/15 Втр 13:11:06 #69 №572143 
Хуячу на дачу сбрасыватель триала.
Аноним 03/11/15 Втр 13:36:37 #70 №572162 
>>572087
Истинные господа пишут гуи на ScalaJS
Аноним 03/11/15 Втр 13:41:04 #71 №572164 
>>572162
>the Scala to JavaScript compiler
Обосрался.
Аноним 03/11/15 Втр 13:44:59 #72 №572166 
>>572164
>>572162
ещё всратей чем GWT с его java-to-js compiler наверное
Аноним 03/11/15 Втр 13:47:41 #73 №572170 
>>572166
http://www.teamten.com/lawrence/projects/turbo_pascal_compiler/demo/
Аноним 03/11/15 Втр 13:50:53 #74 №572173 
>>572166
Нет, гвт это отдельный велосипед, а scalajs это просто интерфейс к джяваскрипту. То есть там можно, например, писать контроллеры под angular на скале: https://github.com/greencatsoft/scalajs-angular/blob/master/README.md
Можно теперь написать на скале всё, вплоть до библиотек для node.js, и дополнений для браузера.
Аноним 03/11/15 Втр 18:22:49 #75 №572319 
>>572075
Ничего. Мне интересно, почему блядский лейбл себя так ведет, вот и все.
Аноним 03/11/15 Втр 20:43:16 #76 №572405 
14465725963200.png
Поясните эти строки.
Гугл не пояснил.
Аноним 03/11/15 Втр 21:11:02 #77 №572421 
>>572405
Что не так?
Аноним 03/11/15 Втр 21:14:01 #78 №572427 
>>572405
Первое - гугли generics.
Второе - получение переменной типа Class, очевидно
Аноним 03/11/15 Втр 21:29:25 #79 №572440 
Читаю Шилдта. Дошел до Аннотаций. Поясните зачем это нужно? Что за надязык в языке? Потому что я чет прихуел от "давайка мы в коде возьмем эту хуйню которую писали перед ним и чёто с ней сделаем)))". Ну ладно там всякие @Depricated и @Override, но блять, собственные аннотации... короче я охуеваю, поясните, будь добры.
Аноним 03/11/15 Втр 21:30:28 #80 №572442 
>>572440
Аспектно-ориентированное программирование полуркай
Аноним 03/11/15 Втр 21:53:12 #81 №572467 
>>572440
чтобы не охуевать ок количества xml кода. Дойдешь до orm и ioc сам поймешь.
Аноним 03/11/15 Втр 22:20:22 #82 №572490 
>>572440
Удвою предыдущих ораторов. В junit еще используются активно.
Аноним 03/11/15 Втр 22:43:14 #83 №572518 
Друзья, я так понял, что ебучий SWING и нахрен для работы не нужен? О нем походу на собеседовании не спросят и от указания в резюме толку не будет?
Аноним 03/11/15 Втр 22:45:47 #84 №572521 
>>572518
Всё верно, если ты не в jebrains собрался.
Аноним 03/11/15 Втр 23:35:05 #85 №572550 
>>571795
Антоша, я целый день бился над этой хренью и так и не смог реализовать.
Не мог бы ты поподробнее описать контроллер и какой DTO в него передавать?
Пытаюсь взять за основу проект http://devcolibri.com/3810 вот этого чувака, но не могу написать контроллер который бы меня пробрасывал хоть куда-нибудь после авторизации. И да, у него там захардкожена реализация получения логина/пасса из базы, но на данном этапе мне все равно.
Спасибо.
Аноним 04/11/15 Срд 01:12:46 #86 №572619 
>>571795
И еще, объясни пожалуйста что в пункте
> Допиливаешь все до конца.
Редиректить куда-то в глубь приложения?
Аноним 04/11/15 Срд 06:30:47 #87 №572689 
>>572518
Ну я бы не сказал что он безполезный. Я вот на нем лабы в универе сдаю.
Аноним 04/11/15 Срд 08:59:56 #88 №572699 
>>572067
ну таблица например вмещает данные из базы данных полученные, называть ее tableDB?
Аноним 04/11/15 Срд 09:40:30 #89 №572708 
Блять, какого хуя?
Есть синглтон. Есть у него поле интежер.
Этот синглтон в одном из методов вызывает другой класс, который изменяет это поле. Но, сука, оно меняется только на время. Когда я выхожу из этого ёбаного метода, интежер остается тем же. Я заебался, в чем баг?
Аноним 04/11/15 Срд 10:25:46 #90 №572723 
>>572708
блядь, ссылки на этот синглтон разные, лол
окей, что я делаю не так?
class Singleton{
public static final Singleton singleton = new Singleton;
int yoba=0;
void changeYoba(){
yoba++;
}
private Singleton(){}
}
abstract class abstractShit{
Singleton s = Singleton.singleton;
}
class fuckingShit extends abstractShit{
void fuck(){
s.changeYoba();
}
}

|
Аноним 04/11/15 Срд 10:26:57 #91 №572724 
>>572708
Значит, не там меняешь, очевидно же.
Код показать боишься, потому что знаешь, что обоссут?
Аноним 04/11/15 Срд 10:27:41 #92 №572725 
>>572724
показал, но без лишней хуеты
Аноним 04/11/15 Срд 10:30:18 #93 №572726 
>>572723
Нет, ты реальный код кинь, в этом все правильно кроме того, что он не конпелируется.
Аноним 04/11/15 Срд 10:32:52 #94 №572728 
И сразу в догонку: меняешь и читаешь потом в разных тредах?
Аноним 04/11/15 Срд 10:37:55 #95 №572729 
>>572728
без мультитрединга
http://pastebin.com/xXChHCUg
вот, все нужные для понимания проблемы классы
бага возникает при вводе "new game". вызывается parseLine, который находит нужный эвент (являющийся енумом с полем regex), потом передает это в delegateEvent, который потом распределяет это в нужный класс (GlobalMode, MapMode или BattleMod)
в GlobalMode после долгой херни вызывается метод из самого Game startGame, который меняет значение gameMode. Но когда ты выходишь из всей этой каши и второй раз парсишь строку, замечаешь, что gameMode остался тем же
Аноним 04/11/15 Срд 10:39:45 #96 №572731 
>>572699
У тебя какие-то абстрактные данные? Приложение, которое коннектится к любой базе и может вывести содержимое любой таблицы?
А image с аватарой юзера ты как назовешь - image1 или fileImage (картинка же из файла загружена)?
Аноним 04/11/15 Срд 10:46:31 #97 №572732 
>>572729
а, да, еще при дебаге ссылки на Game каким то хером разные, говорил вроде, но это важно
>Game@426
>Game@576
Аноним 04/11/15 Срд 10:49:13 #98 №572733 
>>572732
ну ёпта, ну какого хуя не работает то?(
Аноним 04/11/15 Срд 10:56:34 #99 №572735 
>>572729
У тебя в мейне создается второй инстанс.

А теперь немного обоссу.
Если бы мейн у тебя был в другом классе, бага вылезла бы еще на этапе компиляции.
Вообще, ты слишком увлёкся синглтонами, прекращай. Если попробуешь написать юнит-тесты, поймёшь почему это плохо.
implements GameConstants - не делай так, есть же статик импорты.
Объявляй переменные как Map, а не HashMap.
Энумы тоже могут иметь методы.
Аноним 04/11/15 Срд 11:02:03 #100 №572737 
>>572735
сссссссссссссука
бля, точняк.
спасибо, анон
пиздец
А че за статик импорты?
И что плохого в синглотонах? Ведь hero и game (и еще куча, которых мне было лень сделать синглтонами) у меня будут только одними
Алсо, предполагаешь, что нужно вынести мейн в другой класс?
Аноним 04/11/15 Срд 11:16:03 #101 №572740 
>>572737
заменил new Game() на GAME и получаю теперь нулл поинтер эксэпшн, когда пытаюсь обратиться в GlobalMode к синглтону через game. Какого хуя то теперь?
Аноним 04/11/15 Срд 11:30:37 #102 №572746 
>>572740
Смотри, что происходит.
1. Запускается мейн
2. видит p.s.f. game = new Game
3. вызывает конструктор
4. внутри конструктора идёт обращение к твоим mode'ам, инициализируется класс AbstractMode и наследники.
5. в AbstractMode копируется значение game
- но посмотри на второй пункт - конструктор ещё не завершился, переменная пустая.
Аноним 04/11/15 Срд 11:47:13 #103 №572750 
Есть String вида "op хуй".
Как этот стринг разделить, чтобы в стринг1 был "op", а в стринг2 был "хуй"?
Аноним 04/11/15 Срд 11:53:50 #104 №572752 
>>572750
Ты конченый.
Аноним 04/11/15 Срд 12:20:29 #105 №572766 
>>572750
.split(" "), не?
мимо
‮минонА 04/11/15 Срд 12:23:43 #106 №572773 
>>572750
http://www.tutorialspoint.com/java/java_string_split.htm

http://www.tutorialspoint.com/java/java_string_substring.htm
Аноним 04/11/15 Срд 12:43:47 #107 №572781 
>>572750
String[] op;
op[0] = ophui[0] + ophui[1];
op[1] = ophui[3] + ophui[4] + ophui[5];
Аноним 04/11/15 Срд 12:53:21 #108 №572785 
>>572746
сука, сложно как то
а как пофиксить?
Аноним 04/11/15 Срд 13:09:56 #109 №572794 
>>572785
Два варианта:
Либо сначала инициализировать синглтон game, а уже после этого вызывать на нём fillModeToExecutor, но тогда нет гарантий, что подобная штука не вылезет в другом месте;
Либо передавать this в fillModeToExecutor и в конструктор AbstractMode. Опять-таки, такая же хрень может вылезти ещё где-то, в итоге будешь передавать синглтон везде параметром, и толку от того что он синглтон?
Кстати, ты уже передаёшь его в hero.init. Кстати2, в джаве вместо init-методов есть конструкторы. Это уже как бы признак того, что hero не должен быть синглтоном.
Аноним 04/11/15 Срд 15:57:04 #110 №572959 
Смотрю вакансии в Харькове - всего несколько штук и везде нужен пздц опыт. Может всем подряд компаниям резюме рассылать? Реально ли устроиться вообще?
Аноним 04/11/15 Срд 16:01:12 #111 №572963 
>>572959
Проиграл.
На вот http://dou.ua/forums/topic/15451/?from=comment-digest_ao&utm_source=transactional&utm_medium=email&utm_campaign=digest-comments
почитай.
50 человек на место в прямом смысле, учитывая что из них у некоторых уже есть опыт в IT.
Аноним 04/11/15 Срд 16:31:17 #112 №572980 
>мотрю вакансии в Харькове - всего несколько штук и везде нужен пздц опыт. Может всем подряд компаниям резюме рассылать? Реально ли устроиться вообще?
Мерзкий нытик.
1. Заведи аккаунт на линке.
2. Сделай для него нормальное наполнение, только на ангельском.
3. Попроси дуржков с двача перекрестно добавить друг друга и натыкать плюсов.
4. Добавь 9000 рекрутеров.
5. Обязательно разошли свой линкаккаунт(ссылочку на твой проект и на гит) с сопроводительным письмом (на ангельском, в письме перечисли весь свой путь обучения Джавы) во все конторы. Список найдешь на доу.
6. Обязательно прикрепить ПОРТФОЛИО проектов в которых ты учавствовал.
При этом это должно быть что то выше уровнем чем программа учета книжек в библиотеке. Например сейчас можно получить опыт тут:
https://docs.google.com/forms/d/1gwhSfGp3SyBXctFQ_VZQy4o9bbPY9Kw8ujbW4FuqhcU/viewform
...
ГЕШЕФТ!!!1111

А вообще да. В Польше на порядок больше джуниорских вакансий чем в Украине. Но для того чтобы туда перектиться нужна виза на три месяца/полгода и небольшая жировая прослойка.
Аноним 04/11/15 Срд 16:33:36 #113 №572985 
И да, вам ничего не мешает кодить на апворке за пачку мивины.
Аноним 04/11/15 Срд 16:53:25 #114 №573003 
>>572985
Разве на ява есть фриланс?
>>572980
> Обязательно прикрепить ПОРТФОЛИО проектов в которых ты учавствовал.
Если бы они у меня были, я бы тут не сидел.
> При этом это должно быть что то выше уровнем чем программа учета книжек в библиотеке.
У меня и такого нет.
> https://docs.google.com/forms/d/1gwhSfGp3SyBXctFQ_VZQy4o9bbPY9Kw8ujbW4FuqhcU/viewform
Что-то я сомневаюсь что там нужны люди прочитавшие несколько книжек и с грехом пополам осилившие свой игрушечный todo list собранный с миру по нитке.
Аноним 04/11/15 Срд 17:10:36 #115 №573018 
>>573003
ты - это не я. лол. Вот мой пост >>572959
> проект
Можно запилить во время обучения, особенно учитывая что есть немало видеообучалочек, где делают что-то с нуля. Вот только сильно ли это поможет делу, если есть всего 3.5 вакансии, где нужен сеньор-пересеньор?
Аноним 04/11/15 Срд 17:18:39 #116 №573029 
>>572985
Мешает. Либо уебанские ТЗ, либо не отвечают.
Аноним 04/11/15 Срд 18:23:38 #117 №573109 
>>573003
>Разве на ява есть фриланс?
Да.
>Если бы они у меня были, я бы тут не сидел.
>У меня и такого нет.
Хули ты тут сидишь иди пиши апликухи.
>Что-то я сомневаюсь что там нужны люди прочитавшие несколько книжек и с грехом пополам осилившие свой игрушечный todo list собранный с миру по нитке.
Это ж волонтерский проект. Та нужны все потому что бесплатно.
Аноним 04/11/15 Срд 19:19:57 #118 №573176 
Пацаны, я полный ноль в джаве, но у меня вопросы

1. Есть какие-нибудь репозитории, аля композера для пхп?
2. Чем и как проигрывать аудио, в т.ч. мп3? Сейчас пробую JMF
Аноним 04/11/15 Срд 19:33:27 #119 №573192 
>>573176
>композера для пхп
Хз что это, но глянь mvnrepository.com

>Чем и как проигрывать аудио, в т.ч. мп3? Сейчас пробую JMF
Ну пробуй JMF.
Аноним 04/11/15 Срд 21:27:11 #120 №573303 
>>572980
>Например сейчас можно получить опыт тут
На днях смотрел кстати. Глянул бэкэнд и там в заданиях даже большинства слов не понимаю. Хз. Там по-моему только с немалым опытом нужны
Аноним 05/11/15 Чтв 05:09:47 #121 №573624 
ArrayList alA = new ArrayList();
ArrayList alB = alA;

Если я изменю alB, изменится ли alA? Или = простое копирование?
Аноним 05/11/15 Чтв 09:47:28 #122 №573650 
14467060486990.jpg
>>573624
>ArrayList alA = new ArrayList();
>ArrayList alB = alA;
>Если я изменю alB, изменится ли alA? Или = простое копирование?
пидорас, ты охуел? А для копирования есть метод Clone() интерфейса Clonable ну или как там
Аноним 05/11/15 Чтв 10:02:13 #123 №573652 
14467069333170.jpg
Какие есть стандартные функции для прямого доступа к пикселям Image?

Нашел только MemoryImageSource, который вообще не понятно зачем, ни собственного массива данных не содержит, ни картинкой не является, просто лишняя ссылка с методом "смыть", перекачивающая данные из массива во внутрение массивы Image. Причем картинка, завязанная на этот класс, почему-то создается методом визуального компонента со "стандартным" представлением цветов.
Без него никак? Вот в делфи у битмапа было что-то вроде scanline, возвращал указатель на начало данных указанной строки. Можно как-то получить доступ к массивам данных собственно Image?

И еще вопрос, мне одному кажется, что стандартные классы намеренно навороченны-усложнены?
Аноним 05/11/15 Чтв 10:41:48 #124 №573679 
есть что-нибудь весёлое по нахождение комментария в самом коде проги и вывода его в (похуй куда)
Аноним 05/11/15 Чтв 10:47:33 #125 №573686 
>>573650
пидорас, ты охуел? Для кого сан пилил стаил гайды, сука, что за открывающеюся фигурная скобочка на новой строке?
Аноним 05/11/15 Чтв 10:49:33 #126 №573690 
>>573652
>Какие есть стандартные функции для прямого доступа к пикселям Image?
У BufferedImage есть setRGB и getRGB. Подробнее смотри в документации.
Аноним 05/11/15 Чтв 14:38:02 #127 №573872 
Братишки, помогите мне сделать гребаную форму регистрации.
Вот код http://pastebin.com/xfauUF02
Там контроллер и сама форма на два поля, плюс стек-трейс от сервака.
Нихера не работает, не моу понять в чем дело.
Спасибо.
Аноним 05/11/15 Чтв 14:39:01 #128 №573873 
>>573650
Так изменится или нет? alA - static, кстати.
Аноним 05/11/15 Чтв 15:56:05 #129 №573926 
>>571579
Но JS то живёт и развивается, а жава умерла.
Аноним 05/11/15 Чтв 16:07:37 #130 №573935 
>>573872
> root cause
> java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'command' available as request attribute
Дальше сам нагуглишь
Аноним 05/11/15 Чтв 16:18:11 #131 №573941 
>>573926
То то чуть ли не весь софт на ведро на яве написан, походу из-за того что умирает
Аноним 05/11/15 Чтв 16:27:39 #132 №573948 
>>573926
> Но JS то живёт и развивается, а жава умерла.
Ну и какое там развитие?
Аноним 05/11/15 Чтв 16:41:00 #133 №573957 
14467308602320.jpg
>>573873
Вам больше не стоит заниматься программированием.
Аноним 05/11/15 Чтв 16:43:40 #134 №573962 
>>573957
ДА или НЕТ. Что ты мне картиночки показываешь?
Аноним 05/11/15 Чтв 16:52:04 #135 №573967 
>>573935
Не понимаю что он от меня хочет - у него не получается создать бин "command" потому что нет для него аттрибутов? Или что?
Аноним 05/11/15 Чтв 16:59:52 #136 №573974 
>>573962
Да или нет
Аноним 05/11/15 Чтв 17:45:18 #137 №574035 
>>573962
Нет.
Аноним 05/11/15 Чтв 17:49:10 #138 №574040 
>>574035
Врёшь ведь.
Аноним 05/11/15 Чтв 18:23:08 #139 №574070 
>>574040
Тогда да. 2 варианта всего же.
Аноним 05/11/15 Чтв 18:23:26 #140 №574071 
>>574070
Есть ещё "не знаю".
Аноним 05/11/15 Чтв 18:44:06 #141 №574139 
>>573652
Анон, ты тут ещё? Я тебе православный способ принёс.
BufferedImage image;
...
int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData();

Это даёт тебе массив всех пикселей. Чтобы получать пиксели по x и y:
pixels[x + y * image.getWidth()]
Аноним 06/11/15 Птн 06:26:26 #142 №574505 
>>574139
Тут я. Повозился с дата-буффером, он в чуть более чем в два раза медленнее уродства через MemoryImageSource. Но и тот fps 100 не даст при выводе на полный экран, у него 50 на небольшом кусочке. И это без учета собственно подготовки массива и прочих действий..
Немножко disappointed.
Аноним 06/11/15 Птн 06:29:04 #143 №574506 
>>574139
Да, и суть не в чтении из буффера картинки, а в скоростной записи туда, "рендеринга" т.е. Ну чтобы для пользователя выводить.
Аноним 07/11/15 Суб 05:41:44 #144 №575121 
Поясните по хардкору, зачем нужны геттеры и сеттеры?
В Хед Ферсте этой теме всего страницу уделили, типа легко. А я вот ни хуя не могу понять, зачем они мне
Аноним 07/11/15 Суб 09:24:11 #145 №575137 
>>574506
Походу тебе нужен OpenGL
Аноним 07/11/15 Суб 09:26:56 #146 №575141 
>>575121
Для полиморфизма
Аноним 07/11/15 Суб 10:23:42 #147 №575160 
Утро в хату.
Есть потребность в написании следующего HQL-query:
Внутри query создается некоторый объект, аргументом которого является исходная сущность, условно назовем объект dto. Далее фильтр по свойствам этого дто выбирает обжекты(не дто) из таблицы. Сам пока додумался только до чего-то вроде "select o from Object o where (new dto(o)).property == some ...". Не знаю пока, работает это или нет. Хотелось бы присвоить алиас дто, но не знаю как это сделать.
Сразу напишу ответы, на очевидные вопросы:
1. У сущности нету этих полей, они достаточно сложно вычисляются.
2. По-другому сделать никак, т.к. джун-нюфак и пишу как говорят.
Аноним 07/11/15 Суб 10:43:58 #148 №575168 
>>575160
HQL должен транслироваться в SQL, то что ты написал - не работает.
Я бы попробовал найти способ хотя бы частично фильтровать по полям исходной сущности, а потом в DAO слое.
Можешь еще посмотреть @Formula, возможно с ней получится описать поля, нужные в твоем dto.
Аноним 07/11/15 Суб 11:13:37 #149 №575177 
>>575168
За @Formula спасибо огромное.
Аноним 07/11/15 Суб 12:04:18 #150 №575201 
>>575137
Да, думаю в том же направлении.
Аноним 07/11/15 Суб 12:19:48 #151 №575206 
>>575160
Я так и не понял на сто процентов, что тебе нужно, но если ты хочешь фильтровать записи, причем фильтры передаются как параметры, то в этом случае используют Criteria. У старого Hibernate есть свой Criteria, в новом поддерживается JPA-шный.
Аноним 07/11/15 Суб 12:29:47 #152 №575213 
>>575121
Допустим надо тебе базу данных работников макдака создать, с полями - возраст, пол, етц. А кто работает в макдаке? Правильно, дауны-аутисты, и ты тоже даун аутист, не применяешь геттеры и сеттеры, в итоге, в твоей, базе возраст у всех минус 1945654 лет, пол рептилоид. Сэд, бат, тру, это я тебе примитивно показал.
Аноним 07/11/15 Суб 13:55:42 #153 №575262 
>>575213
Честно говоря, не совсем понятно.
Такие данные могут быть из-за хуево вбитых запросов
Аноним 07/11/15 Суб 14:01:21 #154 №575268 
>>575121
Суть в инкапсуляции. Класс написанный тобой должен быть долбоебоустойчивым. Ты не можешь контролировать чужой код, но ты можешь сделать свой высер безопасным. Сделать так что изменятся поля объекта будут только определенным образом. Методы буду вызваться только тогда когда необходимо. Вся опасная логика скрыта, а для внешнего пользователя предоставлены безопасные методы доступа к ней. Ты никогда не дашь перевести валюту с одного счета на другой без проверки баланса.
Аноним 07/11/15 Суб 14:12:04 #155 №575274 
>>575268
Но, правильно ли я понимаю, что можно в классе, например, что значение переменной напрямую изменить, что через сеттер -- один хрен оно изменится, просто разными путями?
Аноним 07/11/15 Суб 14:39:38 #156 №575291 
>>575274
В сеттере, ты можешь прописать логику один хуй так почти не делают и отсеять не подходящие значения. Да и в нормальные языки давно уже пропертя завезли.
Аноним 07/11/15 Суб 14:47:14 #157 №575299 
>>575291
А, типа, написать, что переменная "bitardName" изменится только если новое значение != "Erokhin" или типа того?
>один хуй так почти не делают
То есть, можно вообще забить и вообще не юзать это?
мимо-джава-ньюфаг
Аноним 07/11/15 Суб 14:52:50 #158 №575305 
>>575299
забить не выйдет, погули по pojo, их юзают все популярные фремворки. Хочешь сприг или хайбернейт, будешь писать pojo.
Аноним 07/11/15 Суб 15:22:07 #159 №575330 
>>575121
Инкапсуляция же. Поля должны быть скрыты, чтоб в них со стороны не занесли какую-то лютую хуиту, поэтому обращение к ним должно быть организовано через гетеры/сетеры в которые можно поместить какую-то логику. А вообще продолжай учить и дальше сам прекрасно поймешь.
Аноним 07/11/15 Суб 16:16:56 #160 №575380 
>>575299
Типа того. Например capaсity у эррейлиста:
1. Ты не хочешь, чтобы его меняли напрямую, потому что нужно при этом расширять/сужать массив. Делаешь его приватным и делаешь сеттер, в который и пишешь логику расширения массива и проверку, что тебе подсунули неотрицательное число.
2. У тебя есть класс, описывающий медицинские показатели человека (рост, вес и тд). Ты хочешь предоставить всем эти параметры, но не хочешь чтобы их кто-то менял. Также прячешь переменную или контейнер с ней, а пишешь публичный геттер.
Аноним 07/11/15 Суб 18:22:18 #161 №575463 
Я тут декомпилировал один тырпрайзный проект, подправил буквально одно число, а скомпилировать обратно не могу, компилятор выплёвывает кучу дебильных ошибок типа "not a statement" и " illegal start of expression ". В чём тут подвох, несоответствие версий? С жабой знаком очень поверхностно к счастью, бгг.
Аноним 07/11/15 Суб 18:44:25 #162 №575473 
>>575463
Декомпилятор кривой, скорее всего.
Аноним 07/11/15 Суб 18:47:09 #163 №575475 
>>575291
Но ведь уже есть валидирующие аннотации.
Аноним 07/11/15 Суб 18:59:29 #164 №575478 
14469119699530.png
>>575473
Код вроде валидный, а компилятор словно обезумел.
Аноним 07/11/15 Суб 19:05:00 #165 №575480 
>>575478
Где-то я видел, что есть противная утилитка, которая ломает исходники - меняет многие символы на похожие. Например, была точка и осталась точка, но вот если посмотреть по коду символа - абсолютно разные вещи.
Возможно, этот декомпилятор делает что-то подобное, чтобы код не воровали.
Аноним 07/11/15 Суб 19:32:04 #166 №575485 
>>575480
>>575478
Разобрался, там в коде напихано кучу меток в неположенных местах, так что и правда декомпилятор виноват.
Аноним 07/11/15 Суб 19:46:54 #167 №575493 
>>575380
Про это где-нибудь можно почитать подробно и конкретно? Для нюфань примеры и все такое
Аноним 07/11/15 Суб 19:47:18 #168 №575494 
Джаваны
Вот уже который день обмазываюсь спринг фреймворком.

Ну нахуя он такое говно?
Этот аоп с его блядскими проксиклассами и советами на аспектдж.
Ебаное говно блять.
Аноним 07/11/15 Суб 20:23:24 #169 №575521 
Господа, подскажите хороший учебник по спринг секьюрити. В спринг в действии почти нихуя нет.

>>575494
Неосилятор?
Аноним 07/11/15 Суб 20:26:24 #170 №575524 
>>575521
Кто неосилятор - ты неосилятор

Читаю pro spring 4
Аноним 07/11/15 Суб 20:26:36 #171 №575525 
>>575485
Шоколад не виноват, обфускатор так корёжит байткод, что он уже не соответствует валидному джава-коду.
Аноним 07/11/15 Суб 21:16:32 #172 №575539 
>>575521
Есть только такое.
https://ru.wikibooks.org/wiki/Spring_Security/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_Spring_Security#.D0.9E.D0.B1.D1.8A.D0.B5.D0.BA.D1.82.D1.8B_SecurityContextHolder.2C_SecurityContext_.D0.B8_Authentication
Аноним 07/11/15 Суб 21:27:40 #173 №575547 
Явисты, объясните простым языком в каких взаимоотношениях состоят tomcat, catalina и jboss? Потому что там родовые связи почище дворянских фамильных. Что часть чего, зачем вообще нужны 3 штуки этой хуйни, если, вроде как, во всех 3х всё та же жава, которая изображает вебсервер путём обвешивания её кучей надстроек?
Аноним 07/11/15 Суб 21:37:37 #174 №575553 
>>575547
Tomcat и Catalina - одно и то же. Ты, наверное, хотел спросить про Glassfish, Tomcat и JBoss.
Так вот. Tomcat - это просто контейнер сервлетов. Больше он не делает ничего. Его можно использовать сам по себе, например, для Spring'а.
Glassfish и JBoss - это различные реализации Java EE API, которые используют в качестве контейнера сервлетов тот самый Tomcat + реализуют кучу-кучу всякой хрени.

Впрочем, я могу ошибаться насчёт "различные реализации Java EE API", поскольку на тырпрайз я особо не смотрел.
Аноним 07/11/15 Суб 21:49:29 #175 №575562 
>>575553
у джейбоса свой контейнер сервлетов
про гласфиш не знаю, только с джейбосом работал
Аноним 07/11/15 Суб 21:54:17 #176 №575565 
>>575553

Про глассфиш вообще впервые слышу. Ну как может это быть одно и то же если называется блять по-разному, томкэт и каталина?
Аноним 07/11/15 Суб 22:00:19 #177 №575570 
>>575565
Каталина - старое название каталины.
Аноним 07/11/15 Суб 22:00:37 #178 №575571 
>>575570
>Каталина - старое название томката.
Аноним 07/11/15 Суб 22:23:49 #179 №575587 
реально ли фрилансить на java?
Аноним 07/11/15 Суб 22:48:05 #180 №575597 
>>575587
пили сразу свой опердень
Аноним 07/11/15 Суб 23:40:02 #181 №575633 
>>575571

А почему он стал называться по-другому? Ребрендинг, типа, котиков вск любят?
Аноним 08/11/15 Вск 00:02:05 #182 №575644 
>>575633
Тебе не похуй ли еблан
Аноним 08/11/15 Вск 00:02:24 #183 №575645 
>>575463
Ну если только одно число, то возьми и прямо в байткоде поменяй.
Аноним 08/11/15 Вск 00:08:23 #184 №575650 
>>575644

Раз спрашиваю, значит не похуй, щегол.
Аноним 08/11/15 Вск 00:56:53 #185 №575677 
>>575493
Вот, например:
https://github.com/reinderien/mimic
Аноним 08/11/15 Вск 01:01:44 #186 №575680 
>>575633
Не знаю.
Аноним 08/11/15 Вск 01:04:42 #187 №575684 
>>575650
Харкнул в еблет быдлану
Аноним 08/11/15 Вск 01:08:59 #188 №575685 
>>575677
Ты промахнулся.
Википидор 08/11/15 Вск 01:11:33 #189 №575686 
>>575633
> Tomcat 4.x was released with Catalina (a servlet container), Coyote (an HTTP connector) and Jasper (a JSP engine).
Из этого предложения можно сделать два вывода:
1) Видимо, сначала был сервлет-контейнер каталина, потом он стал обрастать компонентами, все вместе решили назвать томкатом.
2) Это было так давно, что уже никто и не помнит.
Аноним 08/11/15 Вск 02:12:42 #190 №575709 
>>575684

Придавил щенка ботинком к обоссаному полу )))
Аноним 08/11/15 Вск 02:22:01 #191 №575713 
Что написать на яве для непустого гитхаба? Дайте идю какого-нибудь игрушечного проекта. Спринг, хибер, вот это все.
Аноним 08/11/15 Вск 02:23:22 #192 №575715 
>>575713
* идею
Аноним 08/11/15 Вск 02:41:42 #193 №575720 
>>575713
Борду напиши.
Аноним 08/11/15 Вск 02:52:33 #194 №575724 
>>575713
хуйню для продажи билетов, подобие банка, интернет-магазин. Что-то в этом духе
 Аноним 08/11/15 Вск 02:53:04 #195 №575725 
>>575713
web решатель судоку
чат
парсер новинок 1080р для hdreactor
Библиотеки  Иван 08/11/15 Вск 02:54:37 #196 №575726 
Узнал недавеча про loombok, а какие удобные либы знаешь ты аноним ?
Аноним 08/11/15 Вск 02:56:24 #197 №575727 
>>575713
А если я напишу приложение, которое по кнопке будет качать видео с ютуба -- это норм?
Сколько просить денег  Петр 08/11/15 Вск 02:56:36 #198 №575728 
Опыт разработки за деньги - 1.7года + 9 месяцев + 6 месяцев.
Вышки нет. На последнем месте работы получал 65к в ДС2.
В какой вилке лучше искать зарплату ?
Опыт - недоконца уверенный мидл.
Аноним 08/11/15 Вск 11:16:57 #199 №575829 
>>575720
Сотни борд и движков.
Нахрена ещеодна.
Аноним 08/11/15 Вск 13:02:26 #200 №575915 
Джаваны как граббить хтмл если на сайте требуется js?
Есть какие либы для отработки js
Аноним 08/11/15 Вск 13:40:56 #201 №575927 
>>575915
Щито?
Аноним 08/11/15 Вск 13:43:31 #202 №575930 
>>575927
Есть сайт - одностраничник.
Например хуета на ангуляр-жс который отрисовывается жс-ом а данные берет с какого то своего рест-апи.
Или еще какой сайт, на котором идет проверка умеет ли клиент ЖС.

Ну я попердолил HtmlUnit
Но он отваливается изза ексепшена в лимите степени вложенности в js.
Селениум же использует обычные браузеры.

Может еще что есть?
Аноним 08/11/15 Вск 15:24:51 #203 №576002 
>>575930
Смотрел phantomjs? Там были какие-то потуги написать java-биндинги к нему, может кто что и напердолил.
Аноним 08/11/15 Вск 16:01:37 #204 №576054 
>>575930
А чего бы не дергать напрямую тот же рест апи, который используется ЖСом на сайте?
Аноним 08/11/15 Вск 17:04:27 #205 №576104 
>>576054
ебать копать.
сидеть и реверсить чужой JS?
Аноним 08/11/15 Вск 17:05:14 #206 №576105 
>>576054
алсо если там нужна авторизация, через куки, или jwt какой нибудь?
Аноним 08/11/15 Вск 17:06:58 #207 №576106 
>>576002
А стандартным движком который в яве есть никто не пытался реализовать ?
Ну может попытки хоть какие были?
Аноним 08/11/15 Вск 17:08:18 #208 №576107 
>>576106
я про
https://docs.oracle.com/javase/7/docs/api/javax/script/package-summary.html
Аноним 08/11/15 Вск 17:14:11 #209 №576111 
>>576107
http://winterbe.com/posts/2014/04/05/java8-nashorn-tutorial/
вот что первое нагуглилось
Аноним 08/11/15 Вск 17:20:34 #210 №576119 
14469924346900.gif
Анончики, как лучше написать?
вар. 1:
if (obj == null) {
obj = getSomeObj()
}
вар. 2:
obj = obj == null ? getSomeObj() : obj;

Первый вариант понятнее, но второй экономит две строчки и визуально воспринимается лучше, так как в нем нет отступов.
Аноним 08/11/15 Вск 17:25:44 #211 №576124 
14469927447160.jpg
>>572781
Смотри дед, какая хуйня.
Аноним 08/11/15 Вск 17:29:13 #212 №576133 
>>576119
Наркоман штоле?
Кто так пишет?
Кто так экземпляры инициализирует?

if !(obj instanceof HuiPizda){obj = new HuiPizda}
Аноним 08/11/15 Вск 17:31:52 #213 №576139 
>>576133
лол
сказалась привычка автокомплита
конструктор со скобками уж
Аноним 08/11/15 Вск 17:33:09 #214 №576141 
14469931894310.jpg
Реально найти теплое местечко без знаний Spring/Hibernate? А то у меня на работе они почти не использовались, но зато почти во всех вакансиях требуют это дерьмо
Аноним 08/11/15 Вск 17:35:44 #215 №576146 
>>576133
вопрос не об инициализации и не о проверке инстанса. Вопрос о том, плохо ли использовать тернарный оператор для моего случая или хорошо.
Аноним 08/11/15 Вск 17:36:25 #216 №576147 
>>576146
тернарные операторы для пидорасов
пожалей тех кто твое говно после тебя расхлебывать будет
Аноним 08/11/15 Вск 17:37:18 #217 №576149 
>>576141
ну это как фундаментальная херня для жабы. Если ты два года проработал у тебя никто и спрашивать не будет, по дефолту считается что ты знаешь что это.
Аноним 08/11/15 Вск 17:39:36 #218 №576152 
>>576147
че непонятного в тернарнике, вот что реально с толку собьет это instanceof. Первая мысль: нахуя проверять этот инстанс? Он может быть чем-то другим? Ну и давай искать чем он еще может быть.
Аноним 08/11/15 Вск 17:40:30 #219 №576154 
>>576152
Если переменная не инициализирована то instanceof вернет null
Аноним 08/11/15 Вск 17:43:33 #220 №576156 
>>576119
>obj = obj == null ? getSomeObj() : null;
Вот так лучше.
Аноним 08/11/15 Вск 17:44:13 #221 №576158 
Аноны, поясните за отладку в идее: есть проект с несколькими независимыми java-файлами. В одном из них ошибка, но в main class в запуске прописан из другого, не проблемного файла. Но запустится он не может, т.к. ошибка в первом файле. Как игнорировать этот проблемный файл при запуске?
Аноним 08/11/15 Вск 17:44:17 #222 №576159 
>>576154
Он же булево возвращает, какой null?
Аноним 08/11/15 Вск 17:45:53 #223 №576163 
14469939539310.jpg
>>576158
Вот.
Аноним 08/11/15 Вск 17:48:56 #224 №576166 
>>576163
Cпасибо.
Но как-то стремно после каждого запуска лезть в глубокие настройки и указывать файл, если нет зависимостей, могли бы и запилить игнорирование запуска автоматом.
Аноним 08/11/15 Вск 17:51:57 #225 №576168 
>>576166
исправь ошибку и все будет автоматом
Аноним 08/11/15 Вск 18:19:14 #226 №576181 
http://habrahabr.ru/company/luxoft/blog/256877/
я вам покушать принес
Аноним 08/11/15 Вск 19:05:03 #227 №576225 
>>571481 (OP)
ДЖАВА, не языг, еби гусей брат
Аноним 08/11/15 Вск 19:05:10 #228 №576226 
>>576181
чот не увидел dequeue
Аноним 08/11/15 Вск 19:05:56 #229 №576229 
>>576226
deque* фастфикс
Аноним 08/11/15 Вск 19:26:47 #230 №576243 
>>576229
хуево смотрел
в коллекциях jdk есть же
Аноним 08/11/15 Вск 19:40:23 #231 №576261 
>>576243
Dequeue это двустороння очередь, в jdk она отдельно не реализована, но есть в linkedlist по-моему.
Аноним 08/11/15 Вск 19:48:15 #232 №576275 
>>576261
>ConcurrentLinkedDeque
Это из jdk
Аноним 08/11/15 Вск 21:55:14 #233 №576410 
Такс, какие либы навернуть, если с ними дело не имел до этого? Гуаву знаю только.
Аноним 08/11/15 Вск 23:16:04 #234 №576450 
>>576410
Смотря для чего, лол.
Чего не хватает в дждк или где не хватает производительности.
Аноним 09/11/15 Пнд 22:35:05 #235 №577154 
>>576410
Я бы посоветовал апач. Очень много где используется.
Либо дозер, но это уже фреймворк для маппинга. Очень удобная штука. На своём проекте (нашёл UI на двачах) только в путь маппит entity в dto, а сейчас ещё в userDetails пробую для Spring Security.
Аноним 10/11/15 Втр 00:24:39 #236 №577262 
keygen для 15 идеи уже завезли?
Аноним 10/11/15 Втр 01:50:18 #237 №577321 
Анон, есть массив из 4 булевых значений. Мне нужно перегнать его простым способом в интовое число, не меняя интерпретации. То если есть { true, false, true, true}, на выходе мне нужно просто инт 1011.
Аноним 10/11/15 Втр 02:02:07 #238 №577327 
>>577321
boolean boo[] = {true, false, true, true};
int num = 0;
int inc = 1;
for(int i = 3; i >= 0; i-- ) {
num += boo ? inc : 0;
inc *= 10;
}
Аноним 10/11/15 Втр 02:02:38 #239 №577328 
>>577262
Нет, и не завезут, ибо RSA, используй license server
http://0.idea.lanyus.com/
Аноним 10/11/15 Втр 05:52:21 #240 №577365 
>>577321
>>577327
Это такой особо извращенный маршаллинг для бомжей не слышавших про информатику и алгоритмику?
Аноним 10/11/15 Втр 09:23:59 #241 №577440 
>>577328
> Нет, и не завезут, ибо RSA,
Хмм, а что помешает взять один настоящий ключ и раздать всем?
Аноним 10/11/15 Втр 09:46:07 #242 №577456 
>>577328
хм.
а где исходники сервера лицензий этого кетайского?
Аноним 10/11/15 Втр 13:43:11 #243 №577578 
Ребят, вы не в курсе, effective java будет для 7-8?
Аноним 10/11/15 Втр 16:05:42 #244 №577648 
>>577321
Походу, ты там придумываешь костыльную реализацию БитСета, вместо того, чтоб взять готовую джавовскую?
Аноним 10/11/15 Втр 16:14:41 #245 №577655 
Абывыгл! Я тупой но я заебался. Почему эта штука не хочет нормально сортировать?

private static <V extends Comparable> V[] sortMT(int start, int end, V[] v) {
int left = start;
int right = end;
V mid = v[(left + right) / 2];
while (left <= right) {
while (v[left].compareTo(mid) < 0) {
left++;
}
while (v[right].compareTo(mid) > 0) {
right--;
}
if (left <= right) {
swap(left++, right--, v);
}
}
if (left < end) {
final int finalLeft = left;
Thread th = new Thread(new Runnable() {
@Override
public void run() {
sortMT(finalLeft, end, v);
}
});
th.start();
}
if (right > start) {
final int finalRight = right;
Thread th = new Thread(new Runnable() {
@Override
public void run() {
sortMT(start, finalRight, v);
}
});
th.start();
}
return v;
}
public static <V extends Comparable> V[] sortMT(V[] v) {
return sortMT(0, v.length - 1, v);
}
private static <V extends Comparable> void swap(int i1, int i2, V[] array) {
V temp = array[i1];
array[i1] = array[i2];
array[i2] = temp;
}

Помогите анончики, я заебалмя(((
Аноним 10/11/15 Втр 16:33:24 #246 №577663 
>>577655
Сортировка интыпрайз едишн™
Аноним 10/11/15 Втр 16:45:01 #247 №577667 
>>577655
Потому что ты делаешь какую то хуйню.
Аноним 10/11/15 Втр 18:59:56 #248 №577737 
Ребят, таков вопрос возник.

Допустим у меня есть HashSet<Object> в котором 2 типа объектов Obj1 и Obj2.

Можно ли вытащить в другую кучу или удалить объекты одного типа?

Всем спасибо за ответы.
Аноним 10/11/15 Втр 19:05:55 #249 №577741 
>>577737
toArray?
Аноним 10/11/15 Втр 19:13:39 #250 №577748 
>>577741
т.е. если я правильно понял
" Returns an array containing all of the elements in this set; the runtime type of the returned array is that of the specified array."
То для того чтобы вытащить все объекты одного типа, допустим Obj1

Obj1 obj[] = new Obj1;
HashSet<Object> allObjects //содержит все объекты
obj = allObjects.toArray(obj)// тут окажутся копии всех объектов одного типа Obj1?
Аноним 10/11/15 Втр 19:19:52 #251 №577752 
>>577748
Нет, это не так работает.

>>577737
Можно так (удалит все экземпляры класса Obj1):
Set<Object> set = что-нибудь;

set = set.stream()
.filter(o -> !(o instanceof Obj1))
.collect(Collectors.toSet());
Аноним 10/11/15 Втр 19:24:12 #252 №577757 
>>577752
хм...
Направь пожалуйста по какой теме читать доки чтобы понять
set = set.stream()
.filter(o -> !(o instanceof Obj1))
.collect(Collectors.toSet());
Заранее спаибо.
Аноним 10/11/15 Втр 19:27:31 #253 №577763 
>>577757
Stream API. И лямбда-выражения.

На самом деле, всё, что эта хрень делает - что-то вроде foreach. Берёт поочерёдно каждый элемента set'а, и затем, если он проходит по фильтру, отсылает его дальше - в штуку, которая обратно собирает все элементы (которые, конечно же, прошли) в новый Set. Ну и мы перезаписываем старый, потому что он не нужен этим вот самым присваиванием.
Аноним 10/11/15 Втр 19:41:26 #254 №577780 
>>571481 (OP)
Немного могу в ООП, делал лабы на VB.Net, прогал для себя на Питоне в стиле ООП (без паттернов), умею SQL на нубском уровне и в MS Access, лол. Из алгоритмов почти ниичего не знаю. За сколько реально дойти до уровня стажёра?
Аноним 10/11/15 Втр 19:44:15 #255 №577783 
>>572045
>jYesNoDialogButtonOk
>jMainWindowMainMenu
Разве так не лучше?
Аноним 10/11/15 Втр 19:46:37 #256 №577784 
>>577780
6-8 лет
Аноним 10/11/15 Втр 19:47:35 #257 №577786 
>>577763
Спасибо мил человек. Всего самого тебе хорошего и светлого, и даже если сейчас в жизни пасмурно и грустно чтобы все прошло и у тебя все стало хорошо.
Аноним 10/11/15 Втр 20:54:39 #258 №577819 
Антошки, я знаю тут есть те кто могут в спринг сесурити.
Пытаюсь рендерить страничку "хэлло" после регистрации. Если в контроллере просто возвращать страницу то все гуд. Но я пытаюсь вложить в модель аттрибуты юзера и у меня пстоянно ошибка томката, даже не исключение.
Пробовал так:
---public String showHomePage(@AuthenticationPrincipal User customUser)
Тогда юзер customUser null, у него все поля неинициализированы
---public String showHomePage(Principal principal)
principal.getName() выводит верный e-mail, но если пытаться вытащить юзера из репозитория то опять ошибка томката. Репозиторий привязываю @Autowired, и приложение развертывается как надо и регистрирует пользователя, но на этапе выдачи страницы "хэллоу" выдает error.
---Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
User custom = (User) authentication == null ? null : (User) authentication.getPrincipal();
Так тоже ошибка томката на этапе выдачи страницы.
В чем может быть дело?
Аноним 10/11/15 Втр 20:55:23 #259 №577820 
Сейчас это выглядит так

@Controller
@EnableWebMvcSecurity
@EnableWebSecurity
public class HomeController {

@Autowired
private UserRepository userRepository;

private static final Logger LOGGER = LoggerFactory.getLogger(HomeController.class);

protected static final String VIEW_NAME_HOMEPAGE = "index";

@RequestMapping(value="/", method = RequestMethod.GET)
public String showHomePage(@AuthenticationPrincipal User customUser, Principal principal) {

LOGGER.debug("Rendering homepage.");

LOGGER.debug("Current principal is " + principal.getName());

Authentication authentication =
SecurityContextHolder.getContext().getAuthentication();
User custom = (User) authentication == null ? null : (User) authentication.getPrincipal();

LOGGER.debug("Current user is " + custom);

return VIEW_NAME_HOMEPAGE;
}
}
Аноним 10/11/15 Втр 20:57:19 #260 №577824 
какие пулы юзаем?
dbcp? c3p0? bonecp?
Аноним 10/11/15 Втр 21:19:01 #261 №577834 
>>577819
>>577820
Нихуя не понятно.
Навскидку:
Читай стектрейсы.
Непонятно как происходит собственно аутентификация.
SecurityContext должен содержать класс, реализующий интерфейс Authentication. User - это твой класс или из Spring Security?
Где Model или ModelAndView?
Сделай свой DTO для формы, вытаскиваешь оттуда нужные поля формы, которые будешь аутентифицировать при помощи своего AuthenticationManager, перекладывать в Authentication и совать в контекст
Аноним 10/11/15 Втр 21:26:42 #262 №577843 
>>577834
Юзер мой, с дополнительными полями. DTO тут не нужен, я не собираюсь принимать от пользователя данные, Model добавил. Пользователь УЖЕ аутентифицирован, я даже могу получить его email через вызов principal.getName(), но эта сука не дает в контроллере вызвать
userService.findUserByEmail(email) -
а почему я понять не могу. Это точно не ошибка связывания или еще чего то, потому что страница логина и регистрации рендерится нормально.
Аноним 10/11/15 Втр 21:30:05 #263 №577845 
>>577843
Понятно. Что значит не дает вызвать userService.findUserByEmail(email)? Там исключение или что? Посмотри по дебаггеру
Аноним 10/11/15 Втр 21:41:13 #264 №577849 
>>577845
Вот такая штука:
> Request processing failed; nested exception is org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: net.petrikainulainen.spring.social.signinmvc.user.model.User.notations, could not initialize proxy - no Session
Добро пожаловать в Hibernate! Аноним 10/11/15 Втр 21:50:46 #265 №577859 
>>577849
В гугле забанили что ли?
> LazyInitializationException
Ну и что тебе не ясно?
Есть много путей обхода этой хуйни. Зачем тебе нужны notations в User?
Аноним 10/11/15 Втр 21:51:48 #266 №577860 
>>577783
Ты там сарказм не заметил.
Кстати, еще лучше будет без бесполезных префиксов.
Аноним 10/11/15 Втр 21:54:50 #267 №577862 
Пацаны, дочитал Хэад Фертс.
Можно проситься джуниором?
Аноним 10/11/15 Втр 21:58:17 #268 №577870 
>>577859
Еее!!! Поменял на EAGER и заработало. Если бы не твой совет посмотреть стек-трейс(точнее закомментить конфигурацию ExceptionHandlera) я бы еще сто лет ебался с этой хренью и скорее всего броил нахрен.
Алсо я вообще нуб и ньюфаг, только-только начинаю понимать как оно все работает.
Аноним 10/11/15 Втр 22:04:33 #269 №577875 
>>577870
Понял прикол с разными фетчами? При ленивой загрузке, поля этого Entity на самом деле нет. Когда ты дергаешь геттер, Hibernate делает запрос к БД и отдает ответ. А LazyInitializationException возникает, потому что сессия хибернейта закрыта и он не может обратиться к БД. Eager это значит, что значение поля notations грузится сразу - это удобно, но к сожалению оче страдает производительность, потому грузится целая коллекция для каждого entity. Так что смотри наперед.
Аноним 10/11/15 Втр 22:46:00 #270 №577904 
>>577875
Да, спасибо антоша, я знал про мгновенную и отложенную загрузку, но не знал про сессию не знал.
Аноним 10/11/15 Втр 22:47:22 #271 №577908 
>>577824
>2015
>юзать что-то кроме HikariCP
Аноним 11/11/15 Срд 12:46:39 #272 №578315 
Открыл ваш "синькин ин жава", понял, что знаю всё, что там написано. Где мне устраиваться джуниором за 10к$? Что мне почитать следующим? В шапке всё для совсем ньюфагов
Аноним 11/11/15 Срд 13:16:06 #273 №578326 
>>577908
Кстати
Вот хиккоблядок из одноглазников публично обсирает хиккоЦП, мол там говнокод.

Кстати посмотрел видосики этого андрея пангина.
бля.
ну это просто типикал всратый омежка аутист.
даже жалко его стало.
мог бы с его ЗП тыщи тянок ебать, но нет он выглядит как уеба, голос как у уебы, и сам уеба.
типикал жабамакака
Аноним 11/11/15 Срд 13:29:14 #274 №578336 
>>578315
Эффектив джава - там по большей части о том, как разрабатывать хороший АПИ, но много вообще о том, как правильно юзать всякие джавовые вещи типа сериализации, клонирования, коллекций и дженериков.
Джава паззлерс - просто чтобы поохуевать.
Дальше - а) читать книги по конкретным технологиям, которые тебе будут нужны; б) обо всякой архитектурной дряни типа паттернов, энтерпрайз-паттернов, юнит-тестирования и т.д.
Аноним 11/11/15 Срд 13:33:07 #275 №578337 
>>578336
Спасибо.
Аноним 11/11/15 Срд 14:43:26 #276 №578404 
>>577578
Бумп.
Аноним 11/11/15 Срд 15:00:45 #277 №578428 
>>577578
найди уже книжку по stream-api лол
будет тебе эфективная ява 8
Аноним 11/11/15 Срд 15:04:56 #278 №578431 
>>578336
Кстати что посоветуешь по юнит-тестированию? И насколько нужно в этом разбираться новичку?
Аноним 11/11/15 Срд 15:40:11 #279 №578449 
>>571481 (OP)
Остоебало возиться с js, пришло время перекатываться на java. Отсюда возникает ряд вопросов, с которыми я пришёл к гуру java программизма.

Итак мои вопросы
1. Насколько актуальная Java? Речь про поддержку новых технологий, графики.

2. Как сейчас дела у Java на могилках? Скажем, очевидно, что наступила эпоха C# вместе с Unity. Что там у явы?

3. Посоветуйте легковесный (не хуйбрейны) IDE, современный, быстрый, модный.
Аноним 11/11/15 Срд 16:17:40 #280 №578470 
>>578449
>IDE
>Легковесный
Плиз. Если блокноты для недоязыков вроде руби с подсветкой синтаксиса, деревом файлов и списком функций по какому-то недоразумению называют IDE, то не думай, что и с нормальными языками дела обстоят так же.
Начинай с нетбинса. Потом на идею. Эклипс - петушиный зашквар.
Аноним 11/11/15 Срд 16:42:56 #281 №578487 
>>578449
>поддержку новых технологий, графики
какая блядь графика?
ява - бакэнд язык
какие новые технологии нахуй?
во фреймворках реализуют модные ныне http/2 и прочую хипстопарашу на хайпе.

>наступила эпоха C# вместе с Unity
хули сюда зашел тогда наступатор?
Аноним 11/11/15 Срд 16:51:31 #282 №578494 
>>578431
Хз, я "TDD by example" Кента Бека читал, считается букварем, но не могу сказать что мне сильно понравилась. Имхо лучше прочитать пару статей по ТДД вообще, по junit и mockito, и на практике самому попробовать, заставить себя недельку писать только по TDD, тогда проникнешься.
Аноним 11/11/15 Срд 20:22:56 #283 №578609 
Ок, раз тут есть парочка опытных анонов, спрошу еще кое-что:
делаю страничку создания некоторого события на jsp и на этой страничке блок выбора даты. Плюс валидатор который будет проверять дату как дату в будущем. У модели переменная типа joda DateTime, валидатор я знаю как написать, но не знаю какой тип брать в DTO и как собственно написать этот datepicker на странице. Кто-то сталкивался?
Гугл советует лезть в jQuery, но для меня это темный лес, и непонятно в каком формате с этого jQuery будет приходить данные.
Аноним 11/11/15 Срд 20:26:17 #284 №578614 
>>578609
Вроде йода сериализуется в timestamp. Также как и с обычной датой.
Аноним 11/11/15 Срд 20:41:18 #285 №578628 
>>578614
тогда в DTO объект типа Date, гут, а как блок выбора данных сделать?
Аноним 11/11/15 Срд 20:42:11 #286 №578630 
>>578628
В смысле - календарь?
Аноним 11/11/15 Срд 20:45:36 #287 №578634 
>>578630
ну получается да, календарь в котором можно сохранить дату, datepicker или как там это называется.
Аноним 11/11/15 Срд 20:46:29 #288 №578635 
>>578634
Это js. Бутстрап вроде умеет. Быстро и без пыли/мусора.
Аноним 11/11/15 Срд 20:47:29 #289 №578636 
>>578635
А не, не умеет. Вот то что поможет тебе
https://bootstrap-datepicker.readthedocs.org/en/latest/
Аноним 11/11/15 Срд 20:50:51 #290 №578639 
>>578636
Ну с виду то что нужно. Спасибо анончик.
Аноним 11/11/15 Срд 20:58:17 #291 №578646 
>>578639
А вообще, любой js фреймворк это может. Поищи по тегу "js datepicker".
Аноним 12/11/15 Чтв 00:10:34 #292 №578786 
>>578639
лучше бы делал на JAX-RS
jsp немного протух, уже лет 5 назад
и даже richfaces протухли
Аноним 12/11/15 Чтв 06:12:42 #293 №578951 
>>578639
Внезапно.
Можешь навернуть говна под названием vaadin или gwt.
Но говорят там пиздец.
Аноним 12/11/15 Чтв 06:17:13 #294 №578952 
Джаваны скажите.
А пилить свою имиджборду на спринге с хибернейтом это уже моветон? Или абулик одобрит?
Ну там что андертоу в кач-ве ембедед сервера впихнуть, кеширование всего и везде, статику раздельно обслуживать?
Аноним 12/11/15 Чтв 08:16:34 #295 №578960 
>>578952
> пилить свою имиджборду
Не моветон, но зачем тебе еще одна имиджборда? Только разве что для обучения.
Аноним 12/11/15 Чтв 11:01:15 #296 №579012 
>>578960
для обучения хороша.
таблиц минимум
работа и с данными, и с безопаностью, и с веб отображением
правда фронтенд на JS пердолить не очень охота
Аноним 12/11/15 Чтв 16:23:58 #297 №579157 
>>571481 (OP)
Апплеты актуальны или можно пропустить их изучение?
Аноним 12/11/15 Чтв 17:48:21 #298 №579221 
>>579157
Пропускай смело, решительно.
Аноним 12/11/15 Чтв 18:45:02 #299 №579252 
14473431024710.jpg
Господа, есть вопрос, не совсем по джаве, но я не знаю, где спросить, если можете - ткните в нужном направлении.
Дело в том, что мне нужно написать с нуля сорт оф интернет-магазин на джаве нет, я не собираюсь что-то продавать, это сорт оф учебный проект и в данный момент думаю о проектировании БД.
Сначала я хотел ебашить все товары в одну таблицу, но товары могут быть разной природы и набор характеристик у них тоже будет разным. Можно создать отдельные поля с общими характеристиками (цена, габариты, вес) и одно текстовое, куда будут пихаться данные, индивидуальные для товаров (диаметр для дилдака, размер для куртки, бренд для модных дизайнерских трусов и тд). Это решение тоже хуёвое - если я захочу поставить дополнительные фильтры, скажем, позволить пользователю выбирать только красные труселя фирмы абибас - придётся очень дохуя парсить и вообще всё это будет работать невероятно медленно. Можно создавать по таблице на каждую категорию товара, но я не уверен, что это хорошее решение.
Из более-менее разумных вариантов, которые мне пришли в голову: 3 таблицы
- "товары", общие сведения вроде названия, цены и количества на складе
- "категории", все категории товаров с айдишниками
- таблица привязок, в которой будут содержаться айдишник товара, айдишник категории и значение
Вроде всё будет работать, но выглядит это несколько громоздко, плюс поле "значение" будет всегда одного типа. В общем, хуй знает, вероятно есть способ сделать проще. Ну и ещё всё усложняется с тем, что я мало работал с БД и слабо представляю, какие операции будут накладными по ресурсам и чего следует избегать, а что - норма.
Аноним 12/11/15 Чтв 18:49:28 #300 №579253 
Ребзя, что можете посоветовать по конкаренту на русском? Заканчиваю читать эффективную джаву и думаю, что бы ещё купить почитать.
Аноним 12/11/15 Чтв 18:57:31 #301 №579256 
14473438519630.png
>>571481 (OP)
Поясните, что значит буква e в параметре метода actionPerformed
Аноним 12/11/15 Чтв 18:59:32 #302 №579257 
>>579256
Ты чё, издеваешься?
Аноним 12/11/15 Чтв 19:03:08 #303 №579261 
>>579257
Нет
Аноним 12/11/15 Чтв 19:05:16 #304 №579262 
>>579261
Название переменной.
Аноним 12/11/15 Чтв 19:14:03 #305 №579272 
14473448439810.png
>>579262
Это и есть переменная evt или нет? Почему в некоторых частях кода используется evt, а в других на тех же самых местах переменная e
Аноним 12/11/15 Чтв 19:24:27 #306 №579282 
>>579272
Как захотели, так и назвали.
public void actionPerformed(ActionEvent ояебал) тоже будет работать
Аноним 12/11/15 Чтв 19:28:40 #307 №579289 
>>579282
Я понял. И нахуй так делать-то? Зачем читателя заводить в тупик? Используется переменная е, затем дается объяснение для чего используется переменная evt, затем используется evt, а через пол страницы используется опять e.
Аноним 12/11/15 Чтв 19:33:21 #308 №579297 
>>579252
В основном делают так:
- таблица с товарами и общими для всех полями;
- таблица с категориями. Тупо name и parent;
- таблица с аттрибутами товара: productId, attributeName, attributeValue.

Дальше можно фантазировать и выносить отдельно тип аттрибута, его возможные значения, делать обязательніе аттрибуты для каждой категории, но обычно на это кладут.
Алсо, скачай какой-нибудь быдло-OpenCart и посмотри на их схему для примера.
Аноним 12/11/15 Чтв 19:49:23 #309 №579306 
14473469635310.jpg
>>579297
Ясно, спасибо, держи няшку.
Аноним 12/11/15 Чтв 20:04:10 #310 №579312 
>>579252
Гугли Entity–attribute–value model.
Аноним 12/11/15 Чтв 20:08:59 #311 №579313 
>>579306
Лучше каком либо учебником по ER Обмажся.
А то ты поди и про НФБК и нормализацию не слышал ни разу
Аноним 12/11/15 Чтв 20:13:30 #312 №579314 
>>579289
Если тебя это заводит в тупик и ты старше 14 лет - то ничего хорошего это для тебя не значит.

>>579312
> EAV
Но ведь родина дала тебе кучу нереляционных возможностей - наследование, избыточные атрибуты, типы JSON и XML. Нет, не хочу ими пользоваться, хочу жрать говно, под ормным соусом небось еще.
Аноним 12/11/15 Чтв 20:23:10 #313 №579318 
>>579314
>нереляционных возможностей
азаза
JPA тебе нагенерит хуиты))))
да и хибернейт.

лучше именно сначала проектировать базу, а потом уже поверх нее писать ДАО
Аноним 12/11/15 Чтв 20:47:49 #314 №579334 
Блять, уже 4 раз делаю решеджул экзамена на программер1. Как заставить себя подготовиться?
Аноним 12/11/15 Чтв 20:49:31 #315 №579339 
>>579314
>Если тебя это заводит в тупик и ты старше 14 лет - то ничего хорошего это для тебя не значит.

Ты глупец. Глупо и бессмысленно искусственно усложнять простые вещи в книге для начинающих. Если ты этого не понимаешь, то у меня для тебя плохие новости.

В принципе, твоя грамотность все и так о тебе сказала.
Аноним 12/11/15 Чтв 21:50:59 #316 №579389 
>>579252
Я бы на твоем месте взял и прикрутил ElasticSearch/Solr. В БД хранил бы только товары и дерево категорий. Все свойства товаров - в индекс. Это позволит сделать удобный фасетный поиск.
Аноним 12/11/15 Чтв 22:27:27 #317 №579415 
>>579389
>Solr
>магазин
ололо
предложи ему еще кластерную конфигурацию JBoss поднять с Oracle дл ябазы
Аноним 12/11/15 Чтв 23:00:49 #318 №579437 
>>579415
Что тебя смутило, малыш? Распределенный индекс он может и не юзать.
Аноним 13/11/15 Птн 18:20:54 #319 №579864 
Антошки которые знаю хибернэйт, вы еще здесь? У меня новая запара, может чего подскажете.
Суть в том что есть user и в нем хранится данные: имэйл, имя, фамилия и список покупок List<Item>. Покупка вынесена в отдельный класс и соединена с пользователем аннотацией ManyToOne.
Когда я создаю пользователя то присваиваю ему имя, фамилию, имэйл и для поля покупки новый пустой аррай лист. Сохраняю в базу пользуясь методом saveAndFlush(user) интерфейса JPARepository<User, Long> который я унаследовал.
Для управления покупками у меня отдельный сервис, в методах которого я сначала нахожу пользователя, вытаскиваю геттером его список покупок, что-то с ним делаю(удаляю, добавляю новую и.т.д), обратно присваиваю пользователю уже отредактированный список сеттером и сохраняю методом saveAndFlush(User user).
Но проблема в том что когда я в другом контроллере заново нахожу пользователя и вытаскиваю его список покупок - у него он пустой! Вот то есть как будто я нихера не сохранял.
Ошибок нет, логированием не могу найти то место где запара.
В чем может дело? Кеширование? Еще что-то?
Аноним 13/11/15 Птн 18:28:49 #320 №579873 
>>579864
Ээээ
В hql-запросах в случае джойнов фетч используешь?
Аноним 13/11/15 Птн 18:29:44 #321 №579874 
Хотя ты наверное бы ловил эксепшены изза лэйзи....
Аноним 13/11/15 Птн 18:32:42 #322 №579878 
>>579874
Это уже пройденный этап, в аннотации стоит EAGER.
Аноним 13/11/15 Птн 18:35:58 #323 №579880 
>>579864
И вообще, правильно ли так делать - искать юзера, брать его свойство, модифицировать и сохранять вместе с юзером, или надо напрямую долбиться в таблицу со свойством со сложным запросом и что-то там менять?
Аноним 13/11/15 Птн 18:41:17 #324 №579881 
>>579880
Ты хибернейт + jpa используешь?
Или просто спринг + хибер?
Аноним 13/11/15 Птн 18:49:59 #325 №579885 
>>579881
Спринг + JPA, JPA transaction manager, BoneCP, в настройках jpa указан хибернэйт диалект и остальные свойства хибера.
Аноним 13/11/15 Птн 18:52:33 #326 №579887 
>>579880
а может надо создавать отдельный interface ItemRepository extends JpaRepository<User, Long> и уже у этого репозитория вызывать метод save(Item item)?
Аноним 13/11/15 Птн 18:56:43 #327 №579890 
>>579887
Использовал бы CrudRepository и не ебался с методами сохранения
Аноним 13/11/15 Птн 18:58:54 #328 №579893 
>>579890
Лол.
Оно его потомок
Аноним 13/11/15 Птн 19:17:31 #329 №579896 
>>579887
короче попробовал сделать как в этом посте, создал новый интерфейс репозиторий и получил
> HTTP Status 500 - Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: detached entity passed to persist: com.davach.User; nested exception is org.hibernate.PersistentObjectException: detached entity passed to persist: com.2ch.User
Аноним 13/11/15 Птн 21:28:11 #330 №579959 
>>579890
А я всегда с JpaRepository работают.

>>579887
Нет, по идее должно работать и так. Попробуй указать в классе Item на юзера аннотацию @JoinColumn(mappedBy = {тут впиши имя поля Item в классе User})
Аноним 13/11/15 Птн 21:31:27 #331 №579960 
>>579959
Точнее не JoinColumn, а OneToMany.

Проблема в том, что persistence не видит связи между твоими сущностями, а этот параметр указывает, что связь находится на другой стороне.
Аноним 13/11/15 Птн 21:34:43 #332 №579962 
>>579960
Мля, опять не так. Короче, скинь все классы User и Item.
Аноним 13/11/15 Птн 22:11:09 #333 №579987 
>>579962
@Entity
@Table(name = "user")
public class User extends BaseEntity<Long> {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@Column(name = "email", length = 100, nullable = false, unique = true)
private String email;

@Column(name = "first_name", length = 100,nullable = false)
private String firstName;

@Column(name = "last_name", length = 100, nullable = false)
private String lastName;

@Column(name = "password", length = 255)
private String password;

@Enumerated(EnumType.STRING)
@Column(name = "role", length = 20, nullable = false)
private Role role;

@Enumerated(EnumType.STRING)
@Column(name = "sign_in_provider", length = 20)
private SocialMediaService signInProvider;

@OneToMany(mappedBy = "user", cascade = CascadeType.ALL ,fetch = FetchType.EAGER)
private List<Item> items;

public void setItems(List<Item> items) {
this.items = items;
}

public List<Item> getItems() {
return items;
}

public User() {

}

public static Builder getBuilder() {
return new Builder();
}

@Override
public Long getId() {
return id;
}

public String getEmail() {
return email;
}

public String getFirstName() {
return firstName;
}

public String getLastName() {
return lastName;
}

public String getPassword() {
return password;
}

public Role getRole() {
return role;
}

public SocialMediaService getSignInProvider() {
return signInProvider;
}

@Override
public String toString() {
return new ToStringBuilder(this)
.append("id", id)
.append("creationTime", this.getCreationTime())
.append("email", email)
.append("firstName", firstName)
.append("lastName", lastName)
.append("modificationTime", this.getModificationTime())
.append("signInProvider", this.getSignInProvider())
.append("version", this.getVersion())
.append("items", this.getItems())
.toString();
}

public static class Builder {

private User user;

public Builder() {
user = new User();
user.role = Role.ROLE_USER;
user.items = new ArrayList<>();
}

public Builder email(String email) {
user.email = email;
return this;
}

public Builder firstName(String firstName) {
user.firstName = firstName;
return this;
}

public Builder lastName(String lastName) {
user.lastName = lastName;
return this;
}

public Builder password(String password) {
user.password = password;
return this;
}

public Builder signInProvider(SocialMediaService signInProvider) {
user.signInProvider = signInProvider;
return this;
}

public User build() {
return user;
}
}
}
Аноним 13/11/15 Птн 22:12:36 #334 №579990 
>>579962
@Entity
@Table(name = "items")
public class Item extends BaseEntity<Long> {

private static final Logger LOGGER = LoggerFactory.getLogger(Item.class);

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@Column(name = "label", nullable = false, unique = true, length = 55)
private String label;

@Column(name = "date_to_execute", nullable = true)
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime dateToExecute;

@Column(name = "description", length = 255, nullable = false)
private String description;

@Enumerated(EnumType.STRING)
@Column(name = "category", length = 20, nullable = true)
private Category category;

@Column(name = "checked", nullable = false)
private boolean checked;

@ManyToOne(fetch = FetchType.EAGER)
@JoinTable(name = "user_items",
joinColumns = {@JoinColumn(name = "user_id")},
inverseJoinColumns = @JoinColumn(name = "item_id"))
private User user;

@Override
public Long getId() {
return id;
}

public Item() {
}

public Item(String label, DateTime dateToExecute, String description, Category category) {
this.label = label;
this.dateToExecute = dateToExecute;
this.description = description;
this.category = category;
}

@Override
public String toString() {
return "Item{" +
"id=" + id +
", label='" + label + '\'' +
", dateToExecute=" + dateToExecute +
", description='" + description + '\'' +
", category=" + category +
", checked=" + checked +
", user=" + user +
'}';
}

public void setId(Long id) {
this.id = id;
}

public DateTime getDateToExecute() {
return dateToExecute;
}

public void setDateToExecute(DateTime dateToExecute) {
this.dateToExecute = dateToExecute;
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}

public Category getCategory() {
return category;
}

public void setCategory(Category category) {
this.category = category;
}

public boolean isChecked() {
return checked;
}

public void setChecked(boolean checked) {
this.checked = checked;
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public String getLabel() {
return label;
}

public void setLabel(String label) {
this.label = label;
}
}
Аноним 13/11/15 Птн 22:15:27 #335 №579994 
>>579962
ХЗ, может это пригодится.
@Service
public class ItemServiceImpl implements ItemService {



@Autowired
private UserRepository userRepository;


@Override
public List<Item> findAll(String email) {
return userRepository.findByEmail(email).getItems();
}

@Override
public List<Item> findChecked(String email) {
List<Item> checked = new ArrayList<>();
for(Item notation : findAll(email)){
if(notation.isChecked()){
checked.add(notation);
}
}
return checked;
}

@Override
public List<Item> findUnchecked(String email) {
List<Item> unchecked = new ArrayList<>();
for(Item notation : findAll(email)){
if(!notation.isChecked()){
unchecked.add(notation);
}
}
return unchecked;
}

@Override
public Item findItem(String email, Long itemId) {
for(Item item : findAll(email)){
if(item.getId().equals(itemId)){
return item;
}
}
return null;
}

@Override
public void saveItem(String email, Item item) {
User user = userRepository.findByEmail(email);
List<Item> items = user.getItems();
items.add(item);
user.setItems(items);
userRepository.saveAndFlush(user);
}

@Override
public void removeItem(String email, Item item) {
User user = userRepository.findByEmail(email);
List<Item> items = user.getItems();
items.remove(item);
user.setItems(items);
userRepository.save(user);
}

@Override
public Item createNewItem(ItemForm itemForm, String email) throws DuplicateNotationLabel {
Item item = new Item();
item.setLabel(itemForm.getLabel());
item.setDateToExecute(itemForm.getDateTime());
item.setCategory(Category.valueOf(itemForm.getCategory()));
item.setDescription(itemForm.getDescription());
return item;
}
}
Аноним 13/11/15 Птн 23:38:35 #336 №580030 
Ну хуй знает.
Как то странно у тебя оно выглядит.
Я лично вообще аннотации ставлю над геттерами полей класа ентити. А не над обьявлением полей.
И работу с полем списка делаю не в контроллере, а в семом методе.
И внешние ключи не листом а сетом делаю.

Например в твоем случае под геттером и сеттером items я бы добавил addItems (Item item) , delItems(Item item)

С содержимым типа метода
public void addItems(Item item){
item.setUser(this);
getItems().add(item);}

А методы уровня save для всего репозиторая оставляю на реализации самого репозитория по умолчанию.


Аноним 13/11/15 Птн 23:40:43 #337 №580032 
>>580030
>не в конторллере а в методах самого класса

Быстрофикс
Аноним 13/11/15 Птн 23:52:08 #338 №580039 
Это в случае spring-data-jpa
Аноним 13/11/15 Птн 23:54:36 #339 №580040 
И ты используешь именно spring-data-jpa а не spring с jpa

Раз используешь репозитарий а не
@PersistenceContext
EntityManager em
Аноним 13/11/15 Птн 23:58:44 #340 №580043 
>>580040
И разница между ними есть.
Если бы использовал просто jpa с ентитиманагер, том нужно было использовать em.permit em.merge для сохранения энтити.
А в случае спринг-жпа полоаину работы уде реализует репозиторий по умолчанию
Аноним 13/11/15 Птн 23:59:48 #341 №580045 
>спринг-жпа
>спринг-дата-жпа
Бля спать хочу
Ну ты понел....
Аноним 14/11/15 Суб 00:01:35 #342 №580047 
>>580040
Я такой, начинающий, поэтому много пробелов в понимании.
Но все равно спасибо! Попробую с emf поиграться.
Аноним 14/11/15 Суб 00:01:57 #343 №580048 
>>579864
Поставь над методом сервиса аннотацию @Transactional.
Используй Lombok для генерации геттеров-сеттеров-хэшкодов-тустрингов-билдеров. А иначе это пиздец.

>>580030
> И работу с полем списка делаю не в контроллере, а в семом методе.
Ну это кагбе неправильно. Нужно разделять классы по назначению. Entity - просто пассивные классы, которые маппят атрибуты таблицы. Все простые CRUD-запросы выносятся в DAO/Repository. Вся логика делается в другом месте - сервисах.
Аноним 14/11/15 Суб 00:04:43 #344 №580050 
>>580048
Алсо, все же не стоит делать Fetch.EAGER над List<Items>, потому что для каждого пользователя будет каждый раз выбираться целая коллекция (а их я так понимаю, будет не мало). Так что тебе придется поебаться с LazyInitializationException.
Аноним 14/11/15 Суб 00:11:06 #345 №580055 
>>580047
Ты определись.
Хочешь спринг-дату. Или вручную спринг-джпа.
Спринг-даьа-жпа имхо лучше.

>>580050
Я не он, но я вообе тспользую namedquery для методов сервиса. И там в запросах fetch для подгрузки. А игер на уровне связи да говно.
Аноним 14/11/15 Суб 00:12:42 #346 №580056 
>>571581
А как же майна, пидор???
Аноним 14/11/15 Суб 00:21:11 #347 №580061 
>>580047
http://docs.spring.io/spring-data/jpa/docs/current/reference/html/

Советую теребить строго этот писюн.
Аноним 14/11/15 Суб 00:21:59 #348 №580062 
>>580048
Жаль, но аннотация не сработала. Кстати заметил что в логах есть такая строчка
DEBUG - TaskServiceImpl - Saving item Item{id=null, label='Label', dateToExecute=2016-01-10T00:09:00.000+02:00, description='Desc', category=WORK, checked=false, user=null} to user [email protected]
Почему-то не хочет сеттить юзера Item-у.
_______________________________________

Ладно, всем спасибо антошки, попробую еще покопаться, если что - передалаю на Hibernate или еще что-то.
Аноним 14/11/15 Суб 00:23:03 #349 №580063 
>>580062
Я же тебе написал что ты неверно со списком работаешь.
Аддитем в энтити делай а не сервисе
Аноним 14/11/15 Суб 00:34:06 #350 №580069 
>>580062
И еще.
Тебе сверху ссылку дал.
Там четко написано про то что репозиторий сам реализует все find query get count методы по имени метода
Достаточно описать интерфейс расширяющий репозитори, и все методы автоматом создадутся без необходимости писать их вручную.
Аноним 14/11/15 Суб 00:35:31 #351 №580070 
>>580063
>>580069
И именно по этому со списком /внешним ключем надо работать в энтити а не репозитории
Аноним 14/11/15 Суб 03:07:55 #352 №580130 
14474596753570.png
Просвятите джуника (два года с десктопом работал, про ЕЕ только по телику слышал). Вот у меня есть приложение которое будет при запуске создавать тред, который является ботом но это уже детали. Ну и нужно что бы этот апликейшен на томкате вертелся. Ничего умнее чем запускать тред в методе init() сервлета я не придумал. Есть ли для этого какие то менее дибильные решения?
Аноним 14/11/15 Суб 09:43:12 #353 №580177 
>>580130
Нахуя?
Памяти дохуя?
Напиши супервизора который будет чекать процесс и собирай/запускай мавеном
Аноним 14/11/15 Суб 11:00:47 #354 №580194 
>>580130
Нормальное решение (за исключением того, что пишешь на голых сервлетах). Что тебя не устраивает?
Аноним 14/11/15 Суб 13:17:24 #355 №580237 
>>580130
https://docs.oracle.com/cd/E11035_01/wls100/webapp/app_events.html
>>580194
Спецификация не гарантирует, что инстанс сервлета будет только один, насколько я помню.
Аноним 14/11/15 Суб 13:19:19 #356 №580239 
14474963599380.jpg
Чуваки, качаю Java SE Development Kit 8 с сайта оракла, запускаю инсталяшку, потоv потом даю ему доступ вносить изменения на компе и нихуя больше не происходит.

Windows 10, антивирусов нет.
Аноним 14/11/15 Суб 13:38:18 #357 №580252 
>>580239
Вселенная говорит тебе, что Java™ не для тебя. Выбирай скриптоблядство.
Аноним 14/11/15 Суб 13:47:13 #358 №580254 
>>580239
Ставь опенбсд
Аноним 14/11/15 Суб 13:56:03 #359 №580256 
>>580252
не ну серьезно, очень надо

>>580254
нет
Аноним 14/11/15 Суб 15:17:41 #360 №580290 
Привет котаны. Хочу с веб backend на java. Пробовал Play! Framework. Но там пиздец какой-то с документацией. Всё что ни пробовал запускать из примеров, нихуя не работает. Может есть тут адепты сего фреймворка?
Ну или мне стоит перекатиться на spring? Там проще со всем этим?
Аноним 14/11/15 Суб 18:09:14 #361 №580403 
>>580237
Ну оберни тред синглтоном.

>>580290
> из примеров
Я надеюсь ты про второй Play - нормально там все, берешь активатор, генеришь проект из шаблона - работает.
Если хочешь совсем просто, то бери какой-нибудь микро-фреймворк - Jodd, Pippo, Spark.
А вот у Spring да, проблем с документацией нет.
Аноним 14/11/15 Суб 22:42:02 #362 №580625 
Таки сделал. Спустя почти 12 часов yebli. Суть в том что когда я создавал новый Item, то не сеттил ему юзера, т.е Item получался бесхозным.
Интересно конечно решать такие задачи, но бесплатно я бы этим никогда бы не стал заниматься.
>>579864 кун
Аноним 15/11/15 Вск 00:35:48 #363 №580696 
>>580403
Мне-то ничего оборачивать не нужно. Зачем костылять, когда есть нормальный startup hook?
Аноним 15/11/15 Вск 18:15:30 #364 №580982 
Только сел изучать джаву. С понятием класса разобрался. Что такое объект понятно - это экземпляр класса. И все бы хорошо, но автор книги вдруг начинает оперировать понятием "экземпляр объекта". Это одно и то же, что и экземпляр класса?
Аноним 15/11/15 Вск 18:16:07 #365 №580983 
>>580982
Да.
Аноним 15/11/15 Вск 18:17:18 #366 №580984 
>>580982
Причем оперирует так, что по смыслу там должен быть "экземпляр класса".
Аноним 15/11/15 Вск 18:20:59 #367 №580993 
>>580983
Так почему же этот червяк пишет не "создаем объект" или "создаем экземпляр класса", а создаем "экземпляр объекта". Я прекрасно понимаю, что класс по своей сути тоже представляет объект, но зачем он это делает?
Аноним 15/11/15 Вск 18:27:17 #368 №580996 
>>580993
Ни за чем. Возможно, косяк переводчика (если книга на русском). Нет, серьёзно, в этом случае подразумевается "экземпляр объекта"="экземпляр класса".
Аноним 15/11/15 Вск 18:30:10 #369 №580997 
>>580996
Спасибо. Я тоже, кстати, подумал, что это косяк перевода.
Аноним 16/11/15 Пнд 06:21:27 #370 №581183 
>>580625
Ну а я тебе что в >>580030 писал?
Аноним 17/11/15 Втр 08:58:17 #371 №581771 
14477398975530.png
Господа, вопрос
Предисловие: нужно написать жадный алгоритм для коммивояжера. Метод, который на скрине, запускается изначально с CurrentVertex = 0 и когда он заходит в первый for, j = 0 и дальше он идет, разве он не должен по всем значениям j пройти то есть до 4
Где я накосячил?
Сам код http://pastebin.com/Bf2F2bqp
Аноним 17/11/15 Втр 10:31:40 #372 №581810 
>>581771
У тебя в конце цикла рекурсивный вызов этого же метода. Пока он не выйдет из рекурсии, цикл не перейдёт на следующую итерацию. И, несколько я вижу, твой код будет мучить нулевую вершину, пока не выпадет со StackOverflowError.
Аноним 17/11/15 Втр 10:40:18 #373 №581813 
Репостну из закрепленного треда. Там видимо никто не знает или мой вопрос слишком нубский.

Коданы, решил на гласфише сайтец попробовать зделать, но уже при первом запуске сталкнулся с проблемкой - не видится извне. Гласфиш в принципе не видится снаружи или в нем что то настроить надо?

Аноним 17/11/15 Втр 14:10:16 #374 №581919 
>>581813
Порты закрытые, инфа сотка.
Аноним 17/11/15 Втр 14:11:18 #375 №581922 
>>581919
Что их закрывает? Брандмауэр отключил, антивируса нет вообще.
Аноним 17/11/15 Втр 14:17:12 #376 №581928 
>>581810
А как сделать так, чтобы цикл с for пробегался по всем значениям, а затем только дальше шёл?
На паскале почему-то так и делается
Аноним 17/11/15 Втр 14:55:45 #377 №581963 
>>581928
Я тебе скажу одно.
Это не паскаль.
Свои двухмерные массивы убирай.
Пользуйся коллекциями и их итераторами
Аноним 17/11/15 Втр 14:59:30 #378 №581967 
>>581928
Куда - дальше? У тебя рекрсивный вызов - внутри цикла, а не после него.
Аноним 17/11/15 Втр 16:31:10 #379 №582039 
>>581922
Роутер/модем, скорее всего.
Аноним 17/11/15 Втр 21:17:09 #380 №582292 
>>581919
Двачую этого.

Попробуй сделать проброс порта из роутера.
Аноним 17/11/15 Втр 23:37:07 #381 №582433 
14477926273680.jpg
почаны, как вам эта книженция?
Аноним 17/11/15 Втр 23:47:21 #382 №582443 
>>582433
бамп, собираюсь купить 2500р
Аноним 17/11/15 Втр 23:59:21 #383 №582457 
14477939617970.png
Аноны, херня слева очень похожа на JSON или что-то подобное, нет ли какого конвертера (не является это стандартным форматом данных) в правый вариант? Спрашиваю тут просто потому что. Парсер в принципе написать не проблема, просто ниже есть пара не совсем понятных моментов.
Аноним 18/11/15 Срд 00:01:22 #384 №582461 
>>582443
бамп
Аноним 18/11/15 Срд 00:01:43 #385 №582465 
>>582433
Хуета тчк
Аноним 18/11/15 Срд 00:02:10 #386 №582466 
>>582457
Слева - чистый JSON. Его парсить можно через Gson, Jackson, ...
Справа - какая-то ересь. Тут помочь ничем не смогу.
Аноним 18/11/15 Срд 00:10:29 #387 №582480 
>>582443
Но нахуя?
Аноним 18/11/15 Срд 00:15:09 #388 №582485 
>>582457
Слева JSON, правда какой-то ебанутый - отдельный словарь для каждого поля зачем-то.
Справа - какой-то самописный формат.
Транслятор написать не проблема, если знаешь соответствие типов (на картинке справа после двоеточия очевидный тип значения, а слева этой инфы нет).
Аноним 18/11/15 Срд 08:52:48 #389 №582659 
>>582433
Говно.
Как и все книги шилдта.

Лучше обмажся хорстманом коре ява по семерке + ява 8 от него же
Аноним 18/11/15 Срд 10:41:15 #390 №582698 
>>582659
Двачну, только скипай сразу всё, что связано с gui swing/javafx, а то он любит эти темы.
Аноним 18/11/15 Срд 11:32:18 #391 №582720 
>>582433
Как по мне, так не очень. Лучше Хорстманна почитай. Сам его читал и ща работаю. Шилдта пробовал тоже, но как-то не пошло.
Аноним 18/11/15 Срд 12:44:14 #392 №582761 
>>582659
Мнение безработного петуха конечно же важно!
Аноним 18/11/15 Срд 13:29:12 #393 №582782 
>>582761
Ты че бобманул на пустом месте?
А?
Тебе вьебать чтоли чухан?
Аноним 18/11/15 Срд 14:21:08 #394 №582811 
Есть один код, который никак не хочет мне расфосовать по полочкам ячейкам массива слова. Есть ли у кго алгоритм считывания строки, разделения ее на слова и загон отдельного слова в ячейку массива?
Аноним 18/11/15 Срд 14:36:10 #395 №582817 
>>582811
Наркоман? Есть же разбиение по регексу.
Аноним 18/11/15 Срд 14:52:32 #396 №582825 
>>582433
Двачую уже отписавшихся. Хуеватая книженция. Много воды, все размазано. Ошибок дохуища, не только в коде. И не только переводчики постарались тут.
Можно и отсюда кое-что дочитывать по теме, если не дошло из других. Но как основную, использовать не советую.
Из переводных для нуба - Хорстманн более-менее. А так - учи английский, пригодится. Все источники и книги годные на нем. Переводы - все хуйня.
Когда-то один анон писал, что собеседует джуниоров. И, если кто говорил, что по Шилдту учил - нахуй сразу. Такие дела.
Аноним 18/11/15 Срд 15:15:49 #397 №582855 
Кто нибудь этим мудилам напишите http://career.ru/vacancy/15178289
пригласят вас или нет?
Аноним 18/11/15 Срд 19:25:38 #398 №583053 
>>582782
давай мне в попку заряди
Аноним 18/11/15 Срд 19:34:58 #399 №583059 
>>582465
>>582659
>>582698
>>582720
>>582825
Долбоебы, хуле вы такие быдланы, вы же блядь безработные, хуле вы тут советуете?
Аноним 18/11/15 Срд 21:49:32 #400 №583202 
>>583059
Нет, я работаю. Хорстманн лучше.
Аноним 18/11/15 Срд 23:22:13 #401 №583301 
>>582811
String.split
Аноним 18/11/15 Срд 23:35:08 #402 №583318 
14478789083980.png
>>571481 (OP)
Туплю после Objc, короче поясните.

Вот есть метод который принимает массив на вход и выводит его.
Есть метод который просто выводит массив.
Почему я не могу передать в первый метод второй метод?

Алсо this в джаве не как self работает разве?
Аноним 18/11/15 Срд 23:41:19 #403 №583332 
>>583318
Хз что такое self, но this указывает на текущий объект. Покажи весь класс.
Аноним 18/11/15 Срд 23:42:52 #404 №583338 
>>583332
main стандартный
Аноним 18/11/15 Срд 23:43:46 #405 №583341 
>>583338
Ну теперь ясно. Ты пытаешься из статик метода вызвать обычный. Не получится. Создай объект сперва.
Аноним 18/11/15 Срд 23:44:30 #406 №583343 
>>583341
И без this.
Аноним 18/11/15 Срд 23:47:54 #407 №583352 
14478796749660.png
>>583343
>>583341
Заработало, спасибо. ох уж эта джава.
self - по сути сообщение (ну метод допустим) самому себе отправляешь.
Аноним 18/11/15 Срд 23:51:11 #408 №583359 
>>583352
Ничего не понял. Короче, в джаве, если ты вызываешь методы или поля класса, по умолчанию подразумевается, что ты работаешь с текущим объектом. This нужен только в методах, где название параметра совпадает с названием поля класса, и тебе нужно использовать оба. Классический пример - сеттер.
Аноним 18/11/15 Срд 23:52:11 #409 №583361 
>>583359
> This нужен только в методах, где название параметра совпадает с названием поля класса, и тебе нужно использовать оба. Классический пример - сеттер.
Поскольку если не использовать this, то область видимости переменной будет ограниченна методом и ты будешь рабоать только с переменной, но не с полем.
Аноним 18/11/15 Срд 23:53:40 #410 №583367 
>>583359
Спасибо за инфу, пошел оракл шерстить документацию.
>Классический пример - сеттер.
Ууу, на дворе 2015, а вы геттеры сеттеры все еще вручную пишите?
Аноним 18/11/15 Срд 23:54:13 #411 №583368 
>>583367
Нет. Сама IDE генерит. Просто привёл как пример чтобы ты понял.
Аноним 18/11/15 Срд 23:55:05 #412 №583371 
>>583368
Либо можешь использовать lombok либу, в ней есть аннотации, которые ты вешаешь на поля класса (@Getter, @Setter), либо на сам класс (@EqualsAndHashcode, @ToString)
Аноним 18/11/15 Срд 23:56:30 #413 №583374 
>>583371
>>583368
Вообще на практике cсобеседовании норм если я сразу буду делать вещи в стиле Arrays.toString(arr) без ебли лишних велосипедов,а брать вот такие вот готовые методы objecta?
Аноним 19/11/15 Чтв 00:01:56 #414 №583384 
>>583374
В использовании стандартной библиотеки ничего плохого нет. Наоборот, большинство джунов не знают её достаточно хорошо и пытаются самостоятельно сделать то, что уже написано, так что, я считаю, это будет плюсом. Не большим, но плюсом. Писать велосипед нужно только если собеседующий дал пометку "не использовать стандартную библиотеку" (а такое бывает часто).
Аноним 19/11/15 Чтв 00:07:50 #415 №583389 
>>583384
>"не использовать стандартную библиотеку" (а такое бывает часто).
Всегда бесили такие придурки, засрут мозг молодому, а когда реальная задача будет распарсить тот же json, такое блядь начнется, мама не горюй
Аноним 19/11/15 Чтв 00:11:18 #416 №583396 
>>583389
Все понимают, что это лишь способ проверить логику человека (другу, к примеру, давали задание, сделать из строки число без юзания стандартных либ. Хотя я тут хз, по-любому нужно использовать её для привидения из char в int), а в реальном мире просто пара минут гугла и нужная либа у тебя в кармане.
Аноним 19/11/15 Чтв 00:16:07 #417 №583402 
Ты все еще пердолишь массивы?
Ну и мудак.
Открой для себя коллекции, стандартные из concurent, из guava.
Открой для себя stream-api.
Это блядь КОРЕ ява !

А массивы и их пердоленье это байтоебство уровня си и ненужно
Аноним 19/11/15 Чтв 00:17:17 #418 №583404 
>>583402
Ну и что? У меня, например, в проекте, в одном месте используются массивы, и я пожалел что в своё время слабо с ними разбирался, поскольку тут нужно было гонять лист в массив каким-то осбым способом (toArray чёт не отрабатывал, уже не помню почему).
Аноним 19/11/15 Чтв 00:50:54 #419 №583436 DELETED
>>583402
Кто ты, ты вообще ебнутый? Че хамишь, хуйлан малолетний.
Аноним 19/11/15 Чтв 00:51:10 #420 №583437 
>>583404
Что ты несешь?
Назови хоть 1 применение массивов?
Точнее задачу где массивы предпочтительнее коллекций?
Аноним 19/11/15 Чтв 00:51:43 #421 №583438 DELETED
>>583436
Тебе вьебать чтоли чухан?
Аноним 19/11/15 Чтв 00:52:12 #422 №583440 DELETED
>>583438
Въеби, хуйло и пиздуй нахуй со своим щитпостингом.
Аноним 19/11/15 Чтв 00:53:33 #423 №583442 DELETED
>>583440
Эта пидораха опять подгорела на пустом месте.
Иди вьеби стекломоя и спать.
Завтра на завод
Аноним 19/11/15 Чтв 00:53:33 #424 №583443 
>>583437
Сразу так не скажу, но у HttpServletRequest метод getParamterMap возвращает Map<String, String[]>. Вот в таких ситуациях и нужно подстраиваться.
Аноним 19/11/15 Чтв 01:56:25 #425 №583476 
>>583437
Прямая работа с пикселями в изображении.
мимо-другой-анон
Аноним 19/11/15 Чтв 09:08:35 #426 №583558 
>>583476
> байтоебство уровня си и ненужно
Аноним 19/11/15 Чтв 16:41:09 #427 №583996 
14479404693880.png
Делаю все по книге. Путь в Path прописал. Проверку на версию проходит. Но архив распаковать не получается. В чем проблема?
Аноним 19/11/15 Чтв 16:44:37 #428 №584001 
>>583996
Пришло время переустанавливать ШIНДОШS!!!
Аноним 19/11/15 Чтв 16:51:26 #429 №584008 
>>583996
Это же толстый тролленк, да?
Аноним 19/11/15 Чтв 16:53:27 #430 №584011 
>>583996
Проиграл, что за книга?
Аноним 19/11/15 Чтв 16:53:32 #431 №584012 
>>583996
Куда ты путь прописал? Запускай команду напрямую из C:\Program Files\Java\jdk1.8.0_60\bin, зачем ты из папки src ее запускаешь?
Аноним 19/11/15 Чтв 16:54:15 #432 №584013 
>>583996
Я же по флагам вижу, что там команда tar
Аноним 19/11/15 Чтв 17:41:13 #433 №584050 
14479440732620.png
>>584011
Корнел и Хортсман - библиотека профессионала.

>>584012
>Куда ты путь прописал?
В системных переменных к папке bin

>Запускай команду напрямую из C:\Program Files\Java\jdk1.8.0_60\bin, зачем ты из папки src ее запускаешь?

Библиотека профессионала с тобой не согласна. Пикрилейтед.
Аноним 19/11/15 Чтв 17:44:03 #434 №584053 
>>584050
Ну ты сам прекрасно видишь, что консолька не видит твой jar.exe. Значит криво прописал. Проверяй.
Аноним 19/11/15 Чтв 17:52:33 #435 №584059 
14479447537170.png
>>584053
Исключено.
Аноним 19/11/15 Чтв 17:55:01 #436 №584064 
>>584059
Ну так зайди в папку bin и попробуй напрямую оттуда эту команду запустить, подкорректировав путь к jar-нику.
Аноним 19/11/15 Чтв 17:57:23 #437 №584068 
>>584064
Эта проблема возникает только на работе. Дома все отлично работает.
Аноним 19/11/15 Чтв 18:04:20 #438 №584078 
>>583996
Мужик, ты херней занимаешься, вот честно. Тупо просыраешь время. Человеку без опыта все эти книги как мертвому припарки.
Скачай IDE, попиши хэллоу ворлды,потренируйся в sql комманды, прочти сэйджика чтобы хотя бы помнить названия алгоритмов и шли резюме на стажера.
Потом как устроешься будешь читать и реально осознавать что ты читаешь и зачем оно надо(скорее всего не надо).
Аноним 19/11/15 Чтв 18:08:40 #439 №584085 
>>584078
Я просто хотел немного поиграться с консолью.
Аноним 19/11/15 Чтв 18:32:28 #440 №584122 
За сколько времени можно изучить джабу? Ну чтобы джуниором взяли
Аноним 19/11/15 Чтв 19:40:00 #441 №584215 
>>584059
Перезагрузиться пробовал? Это ж шиндошс.
Аноним 19/11/15 Чтв 19:44:22 #442 №584220 
>>584059
Ну и сделай echo %PATH%, или как там у вас выводится переменная в консоль. Будешь знать, подхватилось ли твоё изменение. Если да - неправильный путь, нет - хуево сохранил.
Аноним 19/11/15 Чтв 20:35:27 #443 №584257 
Пацаны, вопрос по спрингу и мавену: есть модуль А, в нём модуль Б. В модуле Б в тест пакете лежит мок. Нужно его использовать из модуля А (в модуле А лежит тестовый апп контекст). Но модуль А не видит этот мок. Если положить мок в main пакет - видит. Из тестов - нет. Все контексты прописаны правильно.
Аноним 19/11/15 Чтв 21:01:29 #444 №584288 
>>584078
>Скачай IDE, попиши хэллоу ворлды

Вопрос треду: где взять простенькие задачки, чтобы практиковаться?
Аноним 19/11/15 Чтв 21:10:48 #445 №584298 
>>584288
codewars.com
Аноним 19/11/15 Чтв 21:17:23 #446 №584302 
>>584298
На русском есть какая-нибудь литература?
Аноним 19/11/15 Чтв 21:17:44 #447 №584304 
>>584302
Или в книжных магазинах есть задачники, как думаете?
Аноним 19/11/15 Чтв 21:19:01 #448 №584306 
>>584304
Нет.
Аноним 19/11/15 Чтв 21:28:33 #449 №584316 
>>584298
Еще варианты?
Аноним 19/11/15 Чтв 22:34:24 #450 №584363 
>>584316
В шапке треда. И учи английский, без него ты никому вообще не нужен.
Аноним 19/11/15 Чтв 22:46:13 #451 №584371 
>>584363
(
Аноним 20/11/15 Птн 03:02:12 #452 №584504 
>>584363
Кстати насчет английского. Я другой анон и тоже сейчас упарываюсь джавой. Несложную техническую литературу и документацию читаю более-менее норм, но сам не могу даже и двух слов связать. Можешь посоветовать что-нибудь?
Аноним 20/11/15 Птн 06:30:23 #453 №584535 
>>584504
Запишись на курсы лол.
>>584257
Ты втираешь какуюто дичь
Аноним 20/11/15 Птн 08:34:25 #454 №584543 
>>584257
В pom.xml у А пропиши Б как зависимость.
Аноним 20/11/15 Птн 15:45:50 #455 №584726 

Correct this code, so that the greet function returns the expected value.

s
public class Person {
String name;

public Person(String personName) {
name = personName;
}

public String greet(String yourName) {
return String.format("Hi %s, my name is %s", name , yourName);
}
}

Двач, что от меня хотят? Что тут не так?
Аноним 20/11/15 Птн 15:53:05 #456 №584735 
>>584726
Вот код в IDE, там все работает:

public class Person {
String name;

public Person(String personName) {
name = personName;
}

public String greet(String yourName) {
return String.format("Hi %s my name is %s", name , yourName);
}
}
Аноним 20/11/15 Птн 15:53:34 #457 №584738 
>>584735
Фикс:

public class Person {
String name;

public Person(String personName) {
name = personName;
}

public String greet(String yourName) {
return String.format("Hi %s my name is %s", name, yourName);
}


public static void main(String[] args) {

Person pr = new Person("asd");
System.out.println(pr.greet("fuck"));
}
}
Аноним 20/11/15 Птн 15:54:29 #458 №584739 
>>584726
Нужно переписать всё на хаскелле
Аноним 20/11/15 Птн 17:23:22 #459 №584892 
Когда Java умрет, господа?
Аноним 20/11/15 Птн 17:25:26 #460 №584893 
>>584892
Не скоро - достойных альтернатив пока нет.
Аноним 20/11/15 Птн 18:16:31 #461 №584943 
>>584726
Местами name и yourName поменяй.
Аноним 20/11/15 Птн 18:31:00 #462 №584955 
>>584943
Да уже допер, спасибо. Тупорылое задание.
Аноним 20/11/15 Птн 19:47:36 #463 №584993 
>>584543
Прописано.

В общем, я решил проблему просто: мок перекинул в модуль Б, а интерфейс и его имплементацию оставил в А.
Аноним 20/11/15 Птн 19:48:58 #464 №584994 
>>584543
Под фразой "в модуле Б модуль А" я и имел ввиду зависимость.
Аноним 20/11/15 Птн 19:49:41 #465 №584995 
>>584993
Точнее наоборот, в модуль А перекинул мок, а в б оставил интерфейс и имплементацию.
Аноним 20/11/15 Птн 21:00:30 #466 №585048 
>>584995
Что такое модуль?
Аноним 20/11/15 Птн 21:34:55 #467 №585070 
>>585048
Папка проекта с помкой внутри.
Аноним 20/11/15 Птн 21:38:20 #468 №585072 
Посоны, кто тут дрочит на дядюшку Боба? Роберта Мартина.
Аноним 20/11/15 Птн 21:42:04 #469 №585077 
>>585072
Хз. Мне из Москвабада едет Макконел.
Аноним 20/11/15 Птн 21:44:37 #470 №585081 
14480450777740.png
Еще такая хуйня, анончики - кто-нибудь пробовал на топтал пройти? Или уже работает там, например.
Аноним 20/11/15 Птн 22:10:15 #471 №585094 
>>585081
Самая большая проблема фриланса - что нужно въёбывать. Если тебе быдлоработа нужна только ради денег, а сам ты всю эту веб-парашу на хую вертел, фрилансить будет изнурительно. На топтале эта проблема усиливается на порядки. Лично моё мнение: стоит того, если деятельность, которой ты там будешь зарабатывать - это смысл твоей жизни.
Аноним 21/11/15 Суб 00:11:51 #472 №585244 
>>584298
>codewars.com

какой-то говеный стартап с невнятными условиями
Аноним 21/11/15 Суб 00:40:11 #473 №585260 
Можно ли написать Юнит тест для класса который читает содержимое папки, так чтобы тест не зависил от реального существования этой директории и файлов в ней?
Аноним 21/11/15 Суб 00:46:21 #474 №585265 
Тут, короче, аутист какой-то создал отдельный тред по джавараш, и пока я ему писал ответ, тред закрыли (и правильно). Репостну-ка я ответ сюда, не зря же писал, вдруг прочитает.


Прошел эту парашу до 20 левела, купив подписку за 2000 гривен по акции. Идиот.
Сказать по правде - как земля. Как общее знакомство с миром программирования - норм, безусловно. Особенно учитывая, что до 10 бесплатно. Потом, если захочешь дальше, сделай пять рефералов и проходи еще месяц. Уверяю, ты заебешься раньше.
Профиты:
+ довольно неплохо для понимания основ
+ много разных задач, бывают даже интересные
+ Java SE рассматривается довольно подробно

Подводные камни:
- нихуя больше, кроме, собственно, SE не рассматривается. Ты ничего не сможешь нормального написать на основе только знаний, которые дает тебе курс. Нет, то, что они сознательно заставляют тебя погуглить - весьма неплохо. Я имею в виду, что десктопная джава мертва, а в нынешней версии курса ничего ни про веб, ни про EE, ни про спринги-хибернейты не рассказывается. То есть, ты надрочишься со всяким там вводом-выводом, потоками, сделаешь даже, возможно, пару "больших задач" (идут как раз после 20 левела), но разработчиком это тебя не сделает.
- многовато стоит, особенно без акции.

А вообще хули я тут распинаюсь, курс до 10 левела бесплатный, иди сам пробуй.
Аноним 21/11/15 Суб 00:50:45 #475 №585267 
>>585260
Директория хардкод или в параметрах? Во втором случае можно в тесте просто создать директорию с файлом или создать заранее и распространять вместе с тестом.
Аноним 21/11/15 Суб 01:48:41 #476 №585295 
>>585260
Use mocking Luke.
Аноним 21/11/15 Суб 17:04:11 #477 №585576 
Анончики, потскожите годной литературы по java.net
Аноним 21/11/15 Суб 20:54:35 #478 №585784 
>>585267
Это вариант, как сам не подумал.
>>585295
Дык, я и пытаюсь, но я нуб, потому и спрашиваю.
Аноним 21/11/15 Суб 21:57:54 #479 №585870 
Поясните за оболочки базовых типов.
При создании булевой переменной(Boolean), в конструкторе прописано её установка в какое-либо значение, если да, то в какое? И тоже самое ли происходит и с базовым типом?

Не могу сейчас проверить, сайт с онлайн-компилятором проебал.
Аноним 21/11/15 Суб 21:58:22 #480 №585871 
>>585870
>булевой переменной(Boolean)
ух, я обосрался, объекта конечно же
Аноним 21/11/15 Суб 22:29:29 #481 №585895 
>>585870

Boolean(boolean value)
Allocates a Boolean object representing the value argument.

Boolean(String s)
Allocates a Boolean object representing the value true if the string argument is not null and is equal, ignoring case, to the string "true".


То есть как задашь, так и будет, если в конструктор кинешь булевое значение. Если кинешь строку, то всегда будет false, если только не напишешь true:

"true" -> true
"TRUE" -> true
"false" -> false
"ХУЙПИЗДА" -> false
Аноним 21/11/15 Суб 22:33:16 #482 №585896 
>>585895
Boolean[][] bln = new Boolean[][]("true");
Сработает?
Аноним 21/11/15 Суб 22:33:26 #483 №585897 
>>585870

Базовый тип всегда false, если не инициализирован (например переменная класса).
Аноним 21/11/15 Суб 22:33:42 #484 №585898 
>>585896
fix:
Boolean[][] bln = new Boolean[100][100]("true");
Аноним 21/11/15 Суб 22:37:01 #485 №585904 
>>585896
>Boolean[][] bln = new Boolean[][]("true");

Вот так сработает:

Boolean[][] bln = new Boolean[][]{{true}};
Аноним 21/11/15 Суб 22:39:52 #486 №585906 
>>585904
Что-то сразу не так.

Я в андроид студии сейчас сижу, мало того что с дебагером не разобрался, так и проект не могу пока запустить. Вижлстудии нету.
Аноним 21/11/15 Суб 22:42:23 #487 №585909 
>>585898

Если строкой, то в данной случае не сработает, ты же строку не в конструктор Boolean передаешь, а в массив. Получается, что ты объявляешь массив Boolean значений, а создаешь массив строк.
Аноним 21/11/15 Суб 22:43:05 #488 №585910 
>>585906
Ан нет, извиняюсь. Всё верно.
Это с указанием размерности не взлетает:
Boolean[][] bln = new Boolean[100][100]{{true}};

Но тогда как инициализировать массив значение тру?
Аноним 21/11/15 Суб 22:51:18 #489 №585915 
>>585910

Может сделать обертку для класса Boolean, поставить при создании true?
Аноним 21/11/15 Суб 22:54:51 #490 №585917 
>>585915

а не, хуйню сморозил, сорь
ну видимо, создать массив, а после пройтись лупом и присвоить каждому true
Аноним 21/11/15 Суб 22:56:18 #491 №585919 
>>585917

вот, с SO

Boolean[] array = new Boolean[size];
Arrays.fill(array, Boolean.FALSE);
Аноним 21/11/15 Суб 23:08:16 #492 №585926 
>>585919>>585917
Хуёво!
Аноним 21/11/15 Суб 23:25:09 #493 №585934 
>>585926

boolean[][] arr = new boolean[100][100];

Вот так будет false везде, все остальное только руками прописывать при инициализации или после пройтись лупом или использовать Arrays.fill().
Аноним 22/11/15 Вск 01:10:54 #494 №585977 
Джентмены, как освоить регулярные выражения?
Подкиньте любых материалов, пожалуйста: курсы, книги, статьи, туториалы.
Аноним 22/11/15 Вск 01:24:07 #495 №585982 
>>585910
Во-первых, ты уверен, что тебе нужен массив объектов, а не примитивов?
Если таки примитивы подойдут, то есть несколько вариантов.
1) Хранить в массиве инверсные значения. Т.е. вместо
boolean[][] viebanieMamki = new boolean[100][100];
сделать
boolean[][] neViebanieMamki = new boolean[100][100];
2) Использовать BitSet. Т.е.
BitSet viebanieMamki = new BitSet(100 * 100);
viebanieMamki.flip(0, viebanieMamki.size());
Или не делать flip, а поступить как в первом пункте.
3) Написать класс обертку, который бы содержал массив или BitSet, и сам бы делал необходимое инвертирование при get().
Аноним 22/11/15 Вск 01:37:25 #496 №585986 
>>585977
Вот этот годный, для начала - https://www.codeschool.com/courses/breaking-the-ice-with-regular-expressions
Аноним 22/11/15 Вск 12:25:24 #497 №586139 
>>585986
Спасибо, начну с этого.
Аноним 22/11/15 Вск 13:12:26 #498 №586163 
Ребята где почитать про мавен. Уровня про. Чтобы научиться не только депенсы тянуть но и сборку с деплоем прописывать.
Например проектик на спринге чтобы парой команд собирать и вар и деплоить в разные контейнеры.
Аноним 22/11/15 Вск 14:06:09 #499 №586193 
>>586163
А тебе именно Maven нужен?
Для Gradle'а прямо на официальном сайте книги указаны. Причём несколько бесплатных даже.
Аноним 22/11/15 Вск 14:27:45 #500 №586208 
>>586193
Градл как то не очень распостранен в среде ЕЕ.
Все проекты мавеном собираются в основном. Там и тестирование и дженкинсы и прочее.
А с градлом только андроид студио вроде как завязана. Остальное на мавене и анте
Аноним 22/11/15 Вск 16:49:42 #501 №586317 
Котаны сижу с проблемой уже часа 4, завтра дедлайн. Конвертирую в pdf через библиотеки itext и какого-то хуя во время компилирования эклипс выдаёт

Exception in thread "main" java.lang.StackOverflowError
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:684)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:626)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:461)
at com.itextpdf.text.Font.getCalculatedBaseFont(Font.java:741)
at com.itextpdf.text.pdf.PdfChunk.<init>(PdfChunk.java:209)
at com.itextpdf.text.pdf.PdfChunk.<init>(PdfChunk.java:287)
at com.itextpdf.text.pdf.PdfDocument.add(PdfDocument.java:481)
at com.itextpdf.text.Phrase.process(Phrase.java:222)
если я правильно понял ошибка в самой библиотеке itext? или я долбоёб?
Аноним 22/11/15 Вск 16:56:29 #502 №586326 
>>586317
Похоже, проблема в библиотеке.
Аноним 22/11/15 Вск 17:08:16 #503 №586339 
>>586317
>во время компилирования
Зачение знаешь, пёс?
Аноним 22/11/15 Вск 17:17:06 #504 №586351 
>>586163
www.sonatype.org/nexus/resources/resources-book-links-and-downloads/
Сначала by example, потом reference. Палишь им почту, они присылают ссылки на скачивание бесплатно без смс.
Аноним 22/11/15 Вск 17:21:20 #505 №586358 
>>586326
И что мне теперь делать?
Аноним 22/11/15 Вск 17:28:35 #506 №586364 
>>586358
Другую библиотеку ищи, что ж ещё. Или, может, ты старую версию используешь.
Аноним 22/11/15 Вск 18:02:37 #507 №586396 
>>586364
>Или, может, ты старую версию используешь.
Последние версии эклипса, джавы и этой библиотеки.
Аноним 22/11/15 Вск 20:12:03 #508 №586524 
Чет у меня бомбалейло.
Учебник проспринг 4
Начиная с 12 главы анусзапеканустт
Как эту хуитку деплоить нихера не пойму
Аноним 22/11/15 Вск 20:46:47 #509 №586559 
>>586163
Возьми лучше sbt
Аноним 22/11/15 Вск 23:44:20 #510 №586704 
https://atlas.mindmup.com/2015/10/3d59a040592a0133d02a5d31ebcc5420/java/index.htm

Это все на джуниора требуется или только Basic ?
Аноним 23/11/15 Пнд 10:48:48 #511 №586900 
>>576141
Если котосибирск, то могу посоветовать.
Аноним 23/11/15 Пнд 11:00:41 #512 №586908 
Двощик, помоги плиз. Вопрос по JSTL, этот тред наверное ближе всего.
Есть код:
<c:forEach items="${group.tObjects}" var="childObj">
<form name="${childObj.id}" method="POST" action="">
<input type="hidden"
name="${_csrf.parameterName}"
value="${_csrf.token}"/>
<input type="hidden" name="targetid" value="${childObj.id}">
<tr class="tr-content">
<td><input type="checkbox" name="${childObj.id}"></td>
<td><a href='javascript:document.forms["<c:out value="${childObj.id}"/>"].submit()'
class="object-content">${childObj.name}</a></td>
<td style="padding-left:10px;">${childObj.objectType.name}</td>
<td style="padding-left:10px;">${childObj.objectType.description}</td>
</tr>
</form>
</c:forEach>

По идее, он должен создавать формочку, а в формочке инпуты и <a href> с сабмитом. Но почему-то при нажатии на ссылку получаю вот такое:
Uncaught TypeError: Cannot read property 'submit' of undefined

В исходном коде страницы на первый взгляд всё ок:
<form name="11" method="POST" action="">
<input type="hidden"
name="_csrf"
value="3274dc36-3ff9-4a9e-a75b-ab40339e030c"/>
<input type="hidden" name="targetid" value="11">
<tr class="tr-content">
<td><input type="checkbox" name="11"></td>
<td><a href='javascript:document.forms["11"].submit()'
class="object-content">Service 1</a></td>
<td style="padding-left:10px;">Service</td>
<td style="padding-left:10px;"></td>
</tr>
</form>

Аноним 23/11/15 Пнд 11:05:25 #513 №586916 
>>571481 (OP)
При изучении с нуля надо ли сперва прочесть SICP? Может что-то еще?
Или же с ходу браться за литературу именно по Java?
Аноним 23/11/15 Пнд 13:19:45 #514 №586996 
Только что C#-школьник пытался доказать, что его решетка работает "быстрее, выше, сильнее", чем Java везде и по всем параметрам...
Аноним 23/11/15 Пнд 14:44:03 #515 №587081 
ПЕРЕКАТ
>>587079 (OP)
Аноним 26/11/15 Чтв 19:19:56 #516 №589846 
14485547965680.png
14485547965701.png
14485547965722.png
объясните пожалуйста ПОЧЕМУ У МЕНЯ ВЫЛАЗИТ ЕБАНЫЙ WARNING [http-nio-8080-exec-4] org.springframework.web.servlet.PageNotFound.noHandlerFound No mapping found for HTTP request with URI [/] in DispatcherServlet with name 'dispatcher'
и как эту хуйню исправить
Аноним 26/11/15 Чтв 19:23:30 #517 №589847 
14485550107640.png
>>589846
index.jsp лежит в /WEB-INF/pages/
Аноним 26/11/15 Чтв 21:31:01 #518 №590027 
14485626610900.gif
почему эта шняга так много жрет и тормозит?
Аноним 27/11/15 Птн 18:38:04 #519 №590620 
анон поясни за порядок координаты 2д масива
array [x] [y]
0 Y Y Y Y Y
X
X
X
X

все верно?
Аноним 27/11/15 Птн 18:59:01 #520 №590633 
>>590620
array[x][y] x - строка, y - столбец
(0,0) (1,0) (2,0)
(0,1) (1,1) (2,1)
(0,2) (1,2) (2,2)
Аноним 27/11/15 Птн 22:12:37 #521 №590789 
Анон, я даун. Скачал исходники с гитхаба, исправил две с половиной строчки, чтобы было как мне надо. Как мне теперь эти исходники скомпилировать и собрать в .jar-файл?
Аноним 28/11/15 Суб 10:04:37 #522 №590985 
>>571481 (OP)
делаю консольный чат на сокетах, возникла проблема:

на стороне сервера
читаю new BufferedReader(new InputStreamReader(socket.getInputStream)) через readLine
пишу new DataOutputStream(socket.getOutputStream) через writeUTF

на стороне пользователя
читаю DataInputStream(socket.getInputStream) через readLine
пишу DataOutputStream(socket.getOutputStream) через writeUTF

сервер с telnet'ом нормально взаимодействуют, сервер с моим клиентом нет, выводится первое сообщение со стороны сервера и более ничего

когда делал все через DataInputStream и DataOutputStream - сервер и мой клиент работали нормально, но у telnet'a была та же проблема
пиздец
Аноним 28/11/15 Суб 21:44:43 #523 №591319 
Может ли кто пояснить, что нужно что бы устроиться Джуниором в Украшке, что для этого нужно знать?
( Я полный нуб и изучаю около недели по книжкам в оп-посте, пишу всякие графические калькулятор в эклипсе и не знаю что делать дальше)
Аноним 30/11/15 Пнд 12:49:44 #524 №592373 
Ананасы, учу джаву и балуюсь с всякими коровскими вещами, пробую, эксперементирую. Ну и без гуя, в консоли это делать как-то скучно, а гуй сразу и побольше задач откроет для практики.
Так собственно что использовать для гуя лучше? В плане актуальности (хотя гуй на джаве это дела такое, да, никому нахуй не нужное), но все же.
Что выбрать? Rак я понял есть два вариант swing и javafx.
Что лучше выбрать? И посоветуйте учебного материала для этой технологии.
Аноним 01/12/15 Втр 18:51:32 #525 №593374 
>>592373
Javafx, очевидно. Свинг умирает потихоньку.
Аноним 02/12/15 Срд 00:23:07 #526 №593651 
>>571481 (OP)
анончики подскажите гайдец по написанию клиент-серверного приложения на Java
Аноним 02/12/15 Срд 00:26:04 #527 №593652 
>>593651
а именно нужно крестики-нолики по сети
Аноним 02/12/15 Срд 17:45:43 #528 №594124 
>>593651
Тысячи их: приложений и гайдов к ним
Аноним 02/12/15 Срд 20:03:42 #529 №594275 
нужна помощь
есть суперкласс, есть его 2 подкласса
нужно сделать так, что бы у одного не было прямого доступа к изменению полей суперкласса, а другого был(т.е. фактически я буду вызывать в немогущем классе могущий что бы изменить поле суперкласса)
протектед не поможет
а как реализовать setAccessible() внутри класса я не знаю
Аноним 03/12/15 Чтв 16:48:07 #530 №594882 
>>594275
1) зачем?
2) через рефлекшн getField().setAccesible(true)
А вообще, тебе бы обертку написать над классом (композицию ебани), у которого поля протектед, а потом от него наследовать.
Аноним 04/12/15 Птн 01:35:57 #531 №595298 
>>571481 (OP)
Чем сейчас на джаве занимаются? Как сложно найти работу?
Аноним 04/12/15 Птн 22:46:10 #532 №595992 
>>595298
Тут что-ли 0.5 знающего анона сидит?
Аноним 06/12/15 Вск 18:44:28 #533 №597370 
Решил делать игрушки под Android, какой движок юзать ?
Аноним 07/12/15 Пнд 21:55:09 #534 №598502 
Анон, все гайды перерыл, нужна помощь.
Есть класс:
class DoubleListElement{
DoubleListElement next;
DoubleListElement previous;
int dataX;
int dataY;
}

Создан объект dummy этого класса.
Что происходит при вызове вида dummy = dummy.next?
Он у меня NPE бросает на такой строке, хотя dummy не null
Если что - я тут двусвязный список реализовываю, next - ссылка на следующий элемент.
Аноним 07/12/15 Пнд 21:57:10 #535 №598505 
>>590027
Многофункциональна же.
Аноним 08/12/15 Втр 19:45:37 #536 №599331 
>>598502
Раз npe, значит dummy null всётаки (ну или еще что-то где-то, что ты нам не скинул). Ты присваиваешь dummy поле next. Если бы даже поле был null, то NPE не было, а dummy стало бы null.
Аноним 08/12/15 Втр 19:46:39 #537 №599332 
>>594275
В рефлекшн есть getSuperfields()
Аноним 09/12/15 Срд 10:58:22 #538 №599821 
Во всех книгах класс называют шаблоном, а объект - конкретный экземпляр класса. Хорошо. Допустим имеется класс "1" и класс "2". Класс "1" - шаблон, а в классе "2" создается экземпляр класса "1". Чем тогда считать класс "2"? Шаблоном его не назовешь. Вызывающий класс? Тогда почему именно все классы называются шаблонами в книгах? Разве это корректно?
Аноним 09/12/15 Срд 18:29:35 #539 №600096 
14496749753420.png
Есть один класс
Class такой-то {
main method {
some variable = F; // Как сделать эту строчку?
}

Method A(B) {
создает переменную С;
Вызывается метод D(С);
}

Method D(Тип что и С) {
return F;
}

Суть понятна, надеюсь, есть два метода, один из которых вызывается в другом и возвращает переменную.
Вопрос: как вызвать этот метод (Метод D) в main?
Аноним 10/12/15 Чтв 11:15:28 #540 №600616 
Ребята, ищу репетитора по джаве в дс2.
Понимаю что возможно не по адресу, но все же.
Я нулевый, немного умеющий в паскаль и прошедший три уровня джавараша даун.
На первое время - гораздо проще учиться с кем-то.
/id222290578
Telegram - @wegort
Аноним 11/12/15 Птн 21:57:08 #541 №601325 
Пацаны, шо как в андроиде? Стоит ходить туда?
Аноним 12/12/15 Суб 20:06:50 #542 №601879 
>>600096
Если D - Public, то как обычно. Если приват - смени на паблик или сосни хуйца
Аноним 12/12/15 Суб 20:10:06 #543 №601884 
>>599821
Если у тебя при создании объекта класса "2" создаётся объект класса "1", то он просто родительский класс. А если ты в static-методе создаёшь объект другого класса, то он либо приватный, либо тебе руки оторвать надо.
Аноним 13/12/15 Вск 08:47:28 #544 №602150 
Подскажите книгу по многопоточности на русском(переводить concurrency in practice уже сил нет)
Посоветуйте материал по созданию дизайна на андроид(приложение написал, а дизайн кривой)
Спасибо
Аноним 13/12/15 Вск 13:29:52 #545 №602243 
>>571481 (OP)
ролл на рулеточку
Аноним 13/12/15 Вск 14:03:16 #546 №602274 
>>602243
сделал, давайте еще
Аноним 16/12/15 Срд 22:55:49 #547 №605491 
Работал кто с servicemix+ camel?
Есть гайды какие норм?
Аноним 16/12/15 Срд 23:11:36 #548 №605506 
Почему, когда я использую
system.out.read();
То строку, которую я вбиваю в коммандной строке, воспринимается не как стринг, а как целочисленный инт. Че за хуйня?
comments powered by Disqus

Отзывы и предложения