Этого треда уже нет.
Это копия, сохраненная 6 июня 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
55 Кб, 500x500
16 Кб, 240x320
Официальный™ тред Java #30 #734204 В конец треда | Веб
FAQ:

Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ?
A:Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.

Q: Посоны, собираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.

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

Книги:
- Head First Java, (2nd Edition) : Kathy Sierra, Bert Bates - для совсем нулячих простым языком.
- Core Java (9th edition) : Cay S. Horstmann, Gary Cornell - тоже для нубасов, но на серьёзных щщах.
- Effective Java (2nd Edition): Joshua Bloch - для тех, кто знает джаву, но хочет перестать писать костыли.
- Soft Skills: The software developer’s life manual : John Sonmez - софт скилз.

Видео:
https://habrahabr.ru/company/golovachcourses/blog/215275/ : 1000+ часов видео по Java на русском.

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

Q: Я не могу в книги. Наткнулся на джавараш, но в самом верхнем вопросе уловил нотки сарказма. С ним все правда плохо?
A: Это очередной курс(выучи джаву за 60 секунд и получай 300к в месяц), основная цель которого - выкачать из тебя деньги.

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

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

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

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

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

Q: Вопросы на собеседование.
A: http://jsehelper.blogspot.ru/2016/01/blog-post_59.html : куча вопросов с ответами, но не всегда правильными
http://becomejavasenior.com/blog/2015/07/01/327-interview-questions-java-developer/

Q: Какие еще ресурсы можно почитать?
A: https://android-arsenal.com/ : android
https://google.github.io/styleguide/javaguide.html : google java style
http://blog.jooq.org/ : Java, SQL, and jOOQ
http://virtualjug.com/podcast/ : подкасты
https://www.livecoding.tv/ : аналог twitch.tv только для программистов

Q: Где можно пообщаться на java тематику?
- В этом ITT треде.
- https://www.reddit.com/r/java : reddit
- http://stackoverflow.com/questions/tagged/java : платформа для вопросов и ответов

Список java фреймворков, библиотек и по на любой вкус:
https://github.com/akullpp/awesome-java

Архив тредов:
https://arhivach.org/thread/164844/ Официальный™ тред Java #27
https://arhivach.org/thread/167427/ Официальный™ тред Java #28
https://arhivach.org/thread/169672/ Официальный™ тред Java #29

Предыдущий тред тонет тут >>726643 (OP)
#2 #734226
Что насчет Java курсов в ютюбе? Есть годные или все говно?
>>734231>>734249
#3 #734231
>>734226
Советую курсы головача, в шапке можешь найти ссылку.
#4 #734240
2 AlexTimification
Спасибо, ты оказался прав, я проебался с сереализацией базового класа.
>>734747
#5 #734246
>>734182
в принципе годнячок. Писали приложение для учета/контроля/получения статистики по первозкам на такси. Бутстраповый календарик оч пригодился кстати, отдали предпочтение гвт-шному.
Алсо по каналу я хз, будет 100 подписонов, спросить думаю какой контент дальше пилить. А теориебство все-таки наскучивает.
Что сейчас модно кодить, расскажи? А то я с ебучим Абапом за (аля Кобольд) 2 года я может отстал от современных тенденций.
#6 #734249
>>734226
Это ты говно.
Червь пидор гнойный.

Книжки читай уебище.
#7 #734252
>>734246
Предлагаю запилить бота для телеграма чтобы он работал в контейнере и умел в jms.
При этом умел в криптографию и аутентификацию пользователей.
В итоге оформить как компонент для camel
>>737870
#8 #734267
Есть Java конференция в телеграме?
#9 #734274
>>734246
Пиши лучше что-нибудь на андройде, тема все еще актуальная! Запили с игруху на базе Юнити ну и соответственно перекотывайся в Андройдо/С#
Думаю, просмотры попрут
#10 #734294
>>734246
Кого ты считаешь ЦА канала? Чем твои видео выделяются на фоне тысяч подобных?
#11 #734302
Джаваны, книга java concurrency in practics еще актуальна?
>>734321
#12 #734321
#13 #734343
Тут есть фрилансеры? нужно допилить программку (крестики нолики), плачу 1000 рублей. (через fl.ru)
#14 #734391
>>734343
заливай на апворк
>>734392
#15 #734392
>>734391

> апворк


?
#16 #734444
Есть Java конференция в телеграме?
>>734448>>734452
#17 #734448
>>734444
есть
sage #18 #734452
>>734444
Есть, но там сидят вк дауны, которые не могут нормально шапку треда скопировать в свою уебанскую конфу.
>>734501
#19 #734501
>>734452
Так там ограничение на кол-во символов в дескрипшене.
>>734523
sage #20 #734523
>>734501
Админ не смог нормально ссылки скопировать, ограничение символ не причем. Зато рекламу впихнуть ума хватило. После моего замечания он просто меня кикнул. Так что думай сам, нужна ли тебе эта конфа.
>>734530
#21 #734530
>>734523
Запили свою хули.
Но если ты меня кикнешь то сукапидр
#22 #734747
>>734240
Это был не он.
Ментором не представляю как быть. Пости вопросы сюда - я этот тред мониторю утром и вечером.
>>734849
#23 #734826
Есть живая Java конференция в телеграме?
#24 #734829
КТо нибудь vaadin-ом или wicket-Ом обмазывается?
#25 #734841
помогите разобрать проблему.
хочу применить аннотацию @Transactional, в мейвен подключил google guice, который как бы предоставляет её, но в коде аннотация красная, и не предлагает импортировать её из джуйса. кто что посоветует?
#26 #734843

> @Transactional


>google guice, который как бы предоставляет её



айлолед.
javax.transaction.Transactional

не благодари
#27 #734849
>>734747
Неловко вышло.
Если что будет - будем постить.
#28 #734877
Пацаны, а жава компилит код на лету прямо во время дебаг рана программы что ли? А то я год постоянно закрывал бинарник и изменял код, а потом снова запускал. Это же сколько времени я потратил, получается.
>>734878
#29 #734878
>>734877
Горячая подгрузка. Возможна только если ты сигнатуры методов не меняешь.
>>734880
#30 #734880
>>734878
Как это на английском называется?
>>734918
#31 #734918
>>734880
hot swap
#32 #735257
>>734204 (OP)
вот шарписты пилили распознаватель картинок, а в жаве есть что-то подобное?
#33 #735298
Анончик, выручай. Как динамически загрузить класс зная полный путь к нему ?
>>735307
#35 #735311
>>735307
Добра тебе антоша, я так понял, надо указать путь не к классу, а к пакету ?
#36 #735421
Ребзя
какой фреймворк лучше юзать для написания игорки-лабиринта?
>>735425
#37 #735423
какой фреймворк юзать для написания энгри бердс?
>>735424
#38 #735424
>>735423
либгэдэикс же, не?
#39 #735425
>>735421
Spring
#40 #735433
>>734343
Лол крестики нолики пишутся за 40 минут без гуй
>>735600
#41 #735496
сап джавач, есть одна контора...
короч, хочу отправить своё первое в жизни резюме на почту конторы своего мухосранаска. что черкануть в сообщении кроме вложеного пдф с темой "резюме"?
если я напишу "Здравствуйте! Хотел бы начать работу в IT в вашей компании. Прошу посмотреть моё резюме и ответить, если я вас заинтересую", меня не примут за быдло?
сцыкую очень, так как раньше такого не делал, да и грамотные товарищи не рассказывали, а долбоёбом я могу быть только тут, с вами. спасибо)
#42 #735597
Читаю книжку Хед Ферст. Прочитать про компиляцию jarов, мило, дальше идет описание устройств клиент-серверных приложух с горой кода, нужно это читать? Или сразу приступать к сервер-сайд делам?
#43 #735600
>>735433
Двачую, я за час морской бой написал с нормальной логикой постоения кораблей.
#44 #735670
>>734343
тебе в чем писать? в дескопе или браузере?
#45 #735705
>>735496
Двачую, тоже интересует

Мимокорзинка без опыта в любой работе
#46 #735718
>>735496
Какое отношение вопрос имеет к жаве?
#47 #735790
Почему в pr нет треда для кулхацкеров?
>>735832
#48 #735832
>>735790
харкнул в уебана
>>735873
47 Кб, 640x480
#49 #735873
>>735832
И почему я уебан?
>>735905
#50 #735905
>>735873
В жява ИТТ третах все, кто занимается чем-то отличным от крудошлёпства – уебаны и байтойобы.
>>736033
#51 #736033
>>735905

>В жява


>байтойобы


>Я у мамки классификатор

#52 #736035
Есть ли тут аноны, которые серьезно угорают по аспектам и aspectJ?
>>736297
#53 #736120
Что почитать про использование org.xml.sax?
Доков не хватило.
>>736123
#55 #736158
>>736123
Примеры такого же уровня, как в доках.
Отсюда не понятно как использовать sax для парсинга чего-то сложнее, чем хелоу ворлд.
>>736234>>736318
#56 #736179
>>734204 (OP)
Возможно ли на явке вообще найти какую-нить стажировочку с неполным рабочим днём? (студент, дс 2)
>>736290
#57 #736234
>>736158
А парсить нужно только на голом SAX? Другое API нельзя использовать?
>>736307>>736317
#58 #736290
>>736179
Возможно
>>736354
#59 #736297
>>736035
Я. А что?
>>737316
#60 #736307
#61 #736314
Где принято объявлять inner class? В начале класса или в конце?
>>736320
#62 #736317
>>736234
Можно.
Есть конкретные предложения и чем они лучше?
#63 #736318
>>736158
Например чего? SAX подход прост как молоток. Чего там может быть непонятно, наркоман?
#64 #736320
>>736314
Внутри.
>>736356
#65 #736354
>>736290
А как искать, тип на всякие конференции от организаций ходить? А то на сайтах типа hh одна залупа
>>737283
#66 #736356
>>736320
Ага, где именно внутри?

В начале класса:
class Outer {
class Inner { ... }
// остальной код
}

Или в конце:
class Outer {
// код остальной
class Inner { ... }
}
>>736426
#67 #736372
Кто-то юзал когда-нибудь Unsafe?
Нахуй он нужен и где используется?
#68 #736397
>>736372
Что бы делать segmentation fault в управляемом коде.
Не стоит вскрывать эту тему.
#70 #736405
>>736372
В анальном сексе
#71 #736426
>>736356
Да похуй же.
#72 #736457
>>736372
Чтобы создавать массивы больше чем твоя мамка Integer.MAX_VALUE и писать низкоуровневые библиотеки.
>>736760
#73 #736760
>>736457
Ну вот я знаю, что используется в нетти, я сейчас тож пишу свой асинхронный мморпг сервак, но хз как можно выиграть от этого ансейва. Я вообще не видел нигде, чтобы она как-то рассматривалась.
#74 #736808
>>736760
Посмотри это >>736404 видео, там немного рассказывают где и зачем применяют и почему не стоит так делать.
#75 #736828
>>736760
Выиграть можно с помощью того же, за счёт чего выигрывают нативные языки. Если ты даже не в курсе чего тебе от него нужно – лучше забей, только ебаться больше будешь вхолостую.
#76 #736844
>>736760
Нотч ты?
#77 #737001
Сап. Хочу настроить вебовские дела.
Узнал много новых слов: сервлет (файлы с ними я уже скачал), сервер томкэт (качаю), jsp (формочки, которые непонятно как заменяют старый добрый html код).

Что с этим делать? Куда кидать файлы сервлетов? Как настроить сервак на локалке?
>>737144
2 Кб, 493x59
#78 #737025
Аноны, парсер пишу себе на jsoup, и практика и для дела нужен
Так вот не пойму почему эта хуйня ошибку выдает и не хочет коннектиться
IOException
>>737034>>737037
#79 #737034
>>737025
throw IOException
>>737064
#80 #737037
>>737025
Давай сюда:
1) стектрейс
2) значение url
>>737048
#81 #737048
>>737037
1. Error:(10, 68) java: unreported exception java.io.IOException; must be caught or declared to be thrown
2. http://gallerix.ru/storeroom
Это? А то я нуфаг
Но от урл ничего не зависит
>>737064
#82 #737064
>>737048
Окей, я разобрался что от меня требовала эта хуйня
Этот анон был прав >>737034
>>737069
#83 #737068
Есть один класс:
class A {
public void add(int a) { ... }
}

От него наследуется другой:
class B extends A {
public void add(int a, int b) { ... }
}

Проблема в том, что для класса B метод add с одним аргументом не имеет смысла, только с двумя. Как его скрыть?
Точнее, как отрефакторить это всё? Скрыть же нельзя.
>>737072>>737125
#84 #737069
>>737064
Странно, что ты взялся за веб, не выучив основы. Лучше их все-таки выучить.
Обход эксепшенов при помощи throw/throws и try/catch/finally.
#85 #737072
>>737068
Делай его protected. Или переопредели в B так что бы кидал эксепшн, а вообще это неправильно.
>>737075
#86 #737075
>>737072
Что за хуйню я читаю, лол? Про перегрузку методов слышал?
>>737078
#87 #737078
>>737075

>Про перегрузку


>переопредели в B так что бы кидал эксепшн


Купи глаза да?
>>737081
#88 #737081
>>737078

>путает перегрузку с переопределением


>приплетает какие-то эксепшены

>>737084
#89 #737084
>>737081
И в чем же разница между перегрузкой и переопределением?

И да, чувак спросил как запретить вызывать метод add для объектов B, я ответил, или спрятать protected'ом или кидать UnsopportedMethodEception
>>737087>>737091
#90 #737087
>>737084

> для класса B метод add с одним аргументом не имеет смысла, только с двумя. Как его скрыть?



Зачем его скрывать, если его можно просто не писать и перегрузить из класса А в класс Б с другим набором аргументов?
>>737092
#91 #737091
>>737084
И вообще, обрубать доступ модификаторами это хуевое ОО. А эксепшены кидать это вообще пиздец. Кто тебя учил этому?
>>737092
#92 #737092
>>737087

>Зачем его скрывать


>Проблема в том, что для класса B метод add с одним аргументом не имеет смысла



>перегрузить из класса А в класс Б с другим набором аргументов


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

>>737091
Я и написал что кидать эксепшн не есть хорошо, но те же коллекции их кидают и ничего живем.
>>737094
#93 #737094
>>737092

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



Покормил.
>>737095
#94 #737095
>>737094
Это не является перегрузкой, что ты мне втираешь?
>>737096
#95 #737096
>>737095
Кудах.
#96 #737099
Что-то вы тут ебнутые какие-то. Среди вас вообще есть профессионалы в Java?
#97 #737109
Решение с protected не подходит - это часть публичного апи.
Решение с эксепшеном - ок, но грязновато.
Я понимаю, что скрыть никак нельзя, но может можно как-то по другому реализовать?

Суть в том, что есть два класса, они очень похожи и второй проще реализовать, если он основан на первом. Но у второго отличаются аргументы у некоторых методов.
>>737132
#98 #737125
>>737068
class B extends A {
int arg;
public void add(int a) { }
public void setArg(int b) { }
}
Нахуя скрывать вообще?
>>737132>>737172
#99 #737132
>>737109
>>737125
Пиздец, вы вообще не можете в красивое, стройное ОО. А я еще удивлялся и негодовал, почему отдел кадров не может хороших джавистов найти.
>>737136
#100 #737136
>>737132
Я не ебу че он там тупит. Если бы мне надо было, то я бы вообще рефлектом захуярил или просто метод с двумя аргументами создал и super вызвал.
#101 #737144
>>737001
Сервлеты - жаба код, который обрабатывает полученные запросы и выдаёт на выходе jsp странички, предварительно запихнув в них нужную инфу.
Jsp - сами странички, которые показывают запиханную в них инфу с помощью Jsp тегов. Содержат хтмл код, дополняя его своими жсп штуками.
Ну, тут только погугли туториалы, по любому что-нибудь найдётся по запросу "servler jsp tomcat tutorial".
#102 #737172
>>737125
Не могу. Что почитать на эту тему?
#103 #737178
Подскажите, чем себя занять. А то мне на ум нихуя не приходит кроме как очередной парсер страничек делать. Хочется что-то полезное для себя сделать. Уровень сложности миддл какой-нибудь.
>>737227
#104 #737205
По ссылке можно перейти только со страницы, иначе редирект на эту страницу
Как эту хуйню обойти с jsoup?
>>737215
#105 #737215
>>737205
.referrer
>>737222
#106 #737222
>>737215
Спасибо большое, анончик, помогло
Искал эту хуйню, но не знал как называется это
#107 #737227
>>737178
Напиши загрузчик картинок с описанием в очередь блога в таблере
Допустим есть текст и ссылки на картинки, это надо загрузить как пост
>>737249
#108 #737249
>>737227
Спасибо, как я понял, по нажатию кнопки картинки должны на сервер улететь и отобразиться превьюшкой, побалуюсь
#109 #737283
>>736354
на хакатоны ходи, на практику напрашивайся.
>>737295>>737972
#110 #737295
>>737283
Что если нет хакатонов там где я живу?
>>737308
отладка http потока #111 #737296
отладка http потока

как можно выловить момент (в дебагере, скажем в идеи) получения http запроса? И как его эмулировать?

Именно интересно когда и какой поток проснулся и пошел собирать реквест и запускать сервлеты.

Я понимаю, что единственное поймать такое, это где-то в io-стриме повесить брекпоинт.
Но есть ли проще подход (сейчас ковыряю spark и хз как эмулировать http запрос там, чтобы дебагер поймал)?
>>737297>>737312
#112 #737297
>>737296
Tomcat JPDA connection гугли.
>>737319
#113 #737308
>>737295
тогда не ходи
#114 #737312
>>737296
эмулировать http запрос можно в браузере, поймать в дебагере чуточку посложнее: поставь бряку в любой работающий сервлет и вызови его. Потом по стактрейсу найди точку входа же.
>>737319
#115 #737316
>>736297
Да много чего.
1.Читаю туторы и нихуя не понятно чем отличается пойнткаты call(someshit) от execute(someshit), что делает cflow.
2.Запили прохладную где применяешь, юзал ли в продакшоне, какие проблемы вылазят при использовании аспектов и aspectJ в часности.
3. Как запилить нормальную поддержку в idea? в плагинах только какой-то post-compilation weaving, судя по всему не то. Сережа Брин советует некий AspectJ Support Plugin, но у меня его нихуя нет(idea ultimate 15)
>>740597
#116 #737319
>>737312
мля, точно.
Пере-инверс-наинженерил я сегодня, явно.

>>737297
Оно мне поможет в этих вопросах, или ты просто гуглом заделался (мне же реально понадобится n-времени чтобы понять сие ли это под мои задачи или нет)?
>>737320
#117 #737320
>>737319
Я на работе юзаю Tomcat JPDA Connection. Ставишь брейкопинтов где хочешь, включаешь JPDA соединение и будешь в дебаге видеть все, что происходит
>>737322
#118 #737322
>>737320
ок, благодарю за инфу, изучу.

Нубский вопрос, софтина зовется просто так или она работает только с Tomcat сервером приложений?
>>737326
#119 #737326
>>737322
Подозреваю, что работает с томкатом только. Для других можешь подобное поискать я не знаю.
#120 #737329
>>734204 (OP)
Джавабоги, помогите тупому анону(мне).
Проблема такая: пробую метод contains() на ArrayList состоящем из объектов и не работает.
Что я хочу сделать: если данного объекта нет в листе, то он добавляется. Проблема в том, что он добавляется даже если уже есть такой.
>>737336
#121 #737336
>>737329
Ты переопределил equals и hashCоde для своего класса?
>>737340
#122 #737340
>>737336
Забыл про это.
Спасибо за подсказку!
#124 #737365
>>737362
юзаю твою мамку за щеку офк
>>737366
90 Кб, 361x358
#125 #737366
>>737365
Баттхёрт безработного жабарашера.
>>737376
#126 #737376
>>737366
Я хз чего у вас тут такое отношение к жабарашерам, но для старта очень даже годный ресурс

прошел курс и устроился на работу
>>739882
#127 #737396
File write при записи строки в файл не распознает \n
В консоль все как надо выводиться
Что за дела?
>>737400
#128 #737400
>>737396
\r\n пробовал?
>>737406
#129 #737406
>>737400
Спасибо, помогло
#130 #737423
Вкатываюсь с питона, скажите писать так считается плохим стилем в джаве?
class Test {
int x;
int y;
Test(int x, int y) {
this.x = x;
this.y = y;
}
}
Или выдумывать новые имена переменных в конструкторе?
#131 #737430
>>737423
норм, можеш еще _ перед переменными ставить, типа _x = x;
ну и дикларировать int _x, _y;
>>737442
#132 #737442
>>737430
мля, нахрена эти сишные подчеркивания

>>737423
да, с this это норма
>>737443
#133 #737443
>>737442

>мля, нахрена эти сишные подчеркивания


В плюсах по тому же гуглгайдлайну так пишут чтобы не писать this, лел.
>>737493
#134 #737451
#135 #737461
>>737423
Отличный-чистый стиль без всяких mXXX, _XXX, прям по "дяде Бобу" :)

Кстати, в "современных" языка (Scala/Kotlin/C# 7.0) есть такое понятие как "primary constructor".
В нем сразу передаваемые поля становятся свойствами НЕ меняя названия.

В твое случае все описание класса свелось бы к одной строчке:
class Test (var x: Int, var y: Int) // x,y были бы и параметрами конструктора и свой-ми класса.
#136 #737493
>>737443
лол конечно, еще бы типы писал iNumber, sText...

То есть пару раз в присвоение написать this - ужасно много, а постоянно писать с шифтом "_" это норм (сразу вспомнил пхп с $).
Причем когда в IDE жмешь эту "_" тебе вываливается невьебательский список всех приватов, при том что, когда например по какой-то первой букве "s" можно словить автодополение или короткий список.

Предлагаю этим уебанам писать вообще так "m_"
>>737505>>738046
124 Кб, 1280x800
#137 #737494
Сап, джаваны.
Вот, решил вкатиться в жабу. Осваиваю ArrayList, в связи с чем решил запилить с его помощью интерпретатор Брейнфака.
Обосрамс получился уже на объявлении объекта: компилятор жестоко пиздит сапогом за "ArrayList<byte> tape". Пришлось вместо byte задействовать java.lang.Byte (см. пикрел. строка 14). Но и это еще не все. В строке 45 (инкремент ячейки массива) я никак не могу привести int к этому самому Byte.
Что делать посоны? Может быть ArrayList вообще для таких задач не предназначен?
>>737502>>737630
#138 #737502
>>737494
Сделал вот так: tape.set(index, (byte)(tape.get(index).intValue() + 1));
Это норм?
>>737507
#139 #737505
>>737493
эта хуйня не только в присвоении нужна, есть еще методы с одноименными аргументами/контейнерами.
ctrl + space, наркоман.
#140 #737507
>>737502
Да.

Имхо, если ты байтоёбством надумал заниматься, где важна производительность, то используй старые-добрые массивы примитивов. Конечно, компилятор не поможет в случае чего увидеть unsafe cast, но зато не получишь оверхеда с анбоксингом.
>>737509
#141 #737509
>>737507
Поправка: unsafe cast возможен только если используешь массивы объектов, с примитивами всё безопасно, так что последнее предложение мимо кассы.

Единственный плюс generic-списков над массивами в случае примитивов - автоматическое расширение.
селффикс
>>737520
#142 #737520
>>737509
Большое спасибо, анон.
Вроде бы в основном закончил с этим. Но теперь новая беда. При попытке запустить на интерпретаторе хелловорд, он валится с исключением.
[code lang="text"]
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at brainfuck.Application.run(Application.java:48)
at brainfuck.Application.main(Application.java:96)
[/code]
Как видишь, прога сыпется на той самой строке, где я пытался изменить значение ячейки. Где ошибка, понять не могу. Вот полный исходник.
http://pastebin.com/02pezVQ6
>>737532
#143 #737532
>>737520
Тут же написано что нет такой позиции. Ты не можешь вставить в ту позицию, которой нет. Если ты читаешь последовательно надо писать add
>>737534
#144 #737534
>>737532
Я понял, что он пишет мне Size: 0. Но я не вдупляю, почему так происходит. Я ведь сделал ensureCapacity. Или это еще не значит, что 30000 ячеек там уже есть? Типа, их надо сначала все создать через add?
>>737544
#145 #737544
>>737534
Нет, они там есть, но пихать он в них не будет так как он не знает что они там есть, так как его переменная size = 0. ensureSize просто сделает так что массиву не потребуется расти если ты не будешь пихать туда больше элементов, так что да, тебе прийдется добавить туда фиктивных элементов. Учись смотреть сорцы.
>>737549
#146 #737549
>>737544
Спасибо, анон. Я понял. Проще сделать на обычном массиве, т.к. с ArrayList придется каждый раз проверять, создан ли элемент, чтобы его изменить. Ведь доступ к элементам в Брэинфаке чаще всего осуществляется непоследовательно.
>>737562
#147 #737562
>>737549
Когда я писал интерпретатор брейнфак++ (на олимпиадке) я довольно последовательно шел, иногда конечно возвращался.
>>737565
#148 #737565
>>737562
Ты его с ArrayList делал?
>>737574>>737575
#149 #737574
>>737565
Я делал его на c++, читал символы пока не доходил до конца входного потока.
>>737579
#150 #737575
>>737565
Короче фиксированный массив был.
#151 #737579
>>737574
Понятно. Но у меня другая проблема. Файл с кодом программы я читаю в память. А проблема с доступом к ячейкам памяти. С фиксированным массивом инкремент делается просто: case '+': tape[index] += 1; break;
А вот с ArrayList так сделать нельзя.
>>737585
#152 #737585
>>737579
Прочитай файл в список, запиши его в массив. Работай уже с массивом.
#153 #737630
>>737494
установи IDEA
>>737631
#154 #737631
>>737630
У меня она есть. Просто хочу ее сравнить с Орасле ЖДевелопер.
>>737699
#155 #737699
>>737631
Ты чё, ёбнутый писать на этом говне? Я думаю, даже сами девы из оракла брезгуют им пользоваться.
И да, подобием ждевелопера ты итак в будущем напользуешься вдоволь - sql developer.
>>737722
#156 #737704
Пиздец погуглил энтот хибернет. Оказалось это просто паттерн ОРМ, который я уже применял в одном проекте. Ну почему в кодинге вечно какие-то залупные сложные слова для простых вещей придумывают?
https://habrahabr.ru/post/248541/
#157 #737722
>>737699
Пока особых различий не заметил. Кроме того, что в Идее автодополнение включено по умолчанию. Зато у нее есть большой недостаток: шрифты именно на моей системе отрисовываются уберговняно (subpixel рябит в глазах, а grayscale замыливает). А тут более-менее терпимо.
Я еще совсем нюфаг в Джаве и какими-то киллер-фичами Идеи проникнуться не успел. Включаю ее, чтобы Kotlin-coans порешать.
#158 #737756
Ну "паттерн" здесь как-то не к месту.
#159 #737870
>>734252

Удваиваю реквест.
#160 #737889
>>735496

Ты наверное уже отправил, но лучше поздно, чем никогда. Темболее ещё один товарищ интересуется.

Лучше не "здравствуйте", а "добрый день".

>Хотел бы начать работу в IT в вашей компании.



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

>Прошу посмотреть моё резюме и ответить, если я вас заинтересую



"Прикрепляю к данному письму своё резюме в пдф-формате".

В конце не забудь упомянуть, что "Если у вас возникнут дополнительные вопросы, с радостью готов на них ответить".

А вообще такое обращение пишется отдельным файлом и прикрепляется к резюме. Надеюсь, ты так и сделал. Ну а в самом электронном письме этих пары предложений должно быть достаточно.
>>738808
#161 #737923
Как собирать библиотеки из сорцов в ярки?
Есть старая версия библиотек и там помимо их еще дополнительные упакованы
Так вот этих дополнительных уже нету в сорцах
В общем не до конца понимаю как это работает
Качать сорцы, все нужные библиотеки и потом собирать?
Ну и первый вопрос в силе, в идеи с артефактами не разберусь
>>738471
#162 #737972
>>737283
О, спасибо за идею, что-то вообще в их сторону не смотрел.
#163 #737988
>>734204 (OP)
может кто помочь?
Ебнусь, лабу делаю за день.
Методичка кал, примеров нормальных нет.
Вообщем формулировка задачи такая: Организовать вычисления в виде стека.
Буду пиздец как благодарен
#164 #737990
>>737988
фикс!
7-ю лабу.
язык - java
#165 #737996
>>737988
Видимо тебя просят парсить строку ввода и записывать в обратную польскую запись, гугли калькуляторы. И собственно такую запись.
#166 #738004
#167 #738046
>>737493

>Причем когда в IDE жмешь эту "_" тебе вываливается невьебательский список всех приватов,


https://google.github.io/styleguide/cppguide.html#Variable_Names
При том, что обычно подчёркивание ставится в конце, я хз что тебе там вываливается, вполне себе вариант, лол.
#168 #738195
есть условие
if(i != null && i.getLevel() == 0)
и при этом на самом деле null. Оно сработает?
>>738198>>738199
#169 #738198
>>738195
Там написано что i не должно быть нулевым, каким хуем оно сработает?
#170 #738199
>>738195
Нет, дальше проверка не пойдет.
#171 #738471
>>737923

>Как собирать библиотеки из сорцов в ярки?


Для сбора кода из исходников в jar-архив используются скрипты сборки. Самый растпространенный сборщик это мавен.

>Так вот этих дополнительных уже нету в сорцах


Нету вообще нигде или нету только у тебя? На search.maven.org искал?

>Качать сорцы, все нужные библиотеки и потом собирать?


А чего ты, собственно, добиваешься?
>>738884
#172 #738572
Имеется вопрос по сервлетам, загрузке файлов, отправке файлов, и чтоб все это по частям и через HttpUrlConnection.
Нагуглил, что нужно использовать chunked-чегототам... Но что-то не соображу сколько запросов будет лететь от клиента, сколько обрабатывает сервер...

Например, вот этот индус в первом ответе
http://stackoverflow.com/questions/6074516/how-could-i-upload-a-large-file-in-chunks-using-java
написал какую-то хрень, где пишет в поток запроса, отправляет его, а только потом закрывает поток.

А этот
http://stackoverflow.com/questions/6074516/how-could-i-upload-a-large-file-in-chunks-using-java
на сервере одним махом считывает из Part сразу весь файл, циклов почти нет, и при чем тут chunk и chunks я так и не понял.

Короче, есть кто-то, кто сможет на пальцах объяснить алгоритм отправки и приема файлов?
#173 #738575
>>738572
Важно слать именно по частям, ибо java.lang.OutOfMemoryError на андроид-устройстве наступает мгновенно
#174 #738590
>>738572
Кек

>http.singleRequest(HttpRequest("/anus", entity = HttpEntity(ContentTypes.`application/octet-stream`, FileIO.fromFile(new File("1.txt")))))


>(get & path("/anus") & extract(_.request.entity.dataBytes)) { bytes: Source[ByteString, NotUsed] ⇒ ...

>>738591
#175 #738591
>>738590
недопонимать. Это какой-то js?
>>738592
#176 #738592
>>738591

>недопонимать


Ну ты же джявамартыхан, ничего удивительного.

http://doc.akka.io/docs/akka/2.4.4/scala/http/common/http-model.html
И для джявы http://doc.akka.io/docs/akka/2.4.4/java/http/http-model.html
>>739127
#177 #738780
Анон, хочу скачать файл
Используя код: http://ideone.com/Kd5VHc
Возможно ли добавить referrer и как?
>>738788
#178 #738788
>>738780
Куки таки нужны
Но вопрос остается, как их добавить?
#179 #738808
>>737889
увы, уже отправил. но спасибо, учту на будущее.
#180 #738884
>>738471
В старой версии библиотеки были в "коробке" и дополнительные нужные библиотеки типа gson
В новой их уже нету, но я их поставил все отдельно
Но вопрос открыт, как собирать библиотеки из сорцов
>>738886
#181 #738886
>>738884
Если в исходниках есть pom.xml, то собирать maven'ом.
Если есть build.xml, то ant'ом.
Если нихуя нет, то простые библиотечки можно попробовать скомпилить поклассово руками через javac, и получившиеся классы запихнуть в папку, назвав её %name%.jar
>>738887
#182 #738887
>>738886
А, ну, ещё из трендового -- если видишь файлы с расширением .gradle, то собирать с помощью gradle.
>>738900
#183 #738900
>>738887
Закинул я сорцы с пом в Идею, в мавен проект.
Компилит, тесты проводит и все такое, но не упаковывает
Где упаковка?
>>738904>>738983
#184 #738904
>>738900
Че как маленький. Подключи аддон, напиши цель для мавена
#185 #738983
>>738900
После сборки в папке проекта должна появиться папка target. Там внутри нет искомого jar/war/ear ?
>>739066
#186 #739066
>>738983
Вот именно что такой нету
А вот папка classes есть с скоплилированными классами
>>739149
#187 #739127
>>738592
Не нашел там ответов на свои вопросы. Кроме указания "используй это и будет тебе счастье". Вот только я ищу не инструмент, а понимание процесса
>>739154
#188 #739149
>>739066
Кинь содержимое pom.xml на pastebin.
#189 #739154
>>739127
ты сначала вопросы научись задавать, а потом ответов проси.
>>739178
#190 #739178
>>739154

>кто сможет на пальцах объяснить алгоритм отправки и приема файлов?



Примерно так:
Клиент делает это и это в такой-то поочередности, столько-то раз, делая при этом столько-то запросов (организация между которыми делается так-то), такими средствами. Что сервер принимает таким и таким образом, с такими нюансами, обрабатывает так-то, такими средствами.

Нужно мне слать файл через Transfer-Encoding: chunked, чтоб не было out of memory. И клиентскую и серверную часть пишу я, цель - только отправка файлов, так что все лишнее можно урезать. Но что обязательно надо оставить?

Так лучше?
>>739179
#191 #739179
>>739178
Какие библиотеки на сервере и на клиенте используются для передачи данных?
>>739210
#192 #739210
>>739179
http://pastebin.com/DkNY3bUa
Вот. Этого кода хватает чтобы слать и принимать.
Класс O - константы. Колдовство с временными файлами, потому что у меня не получилось писать gzip сразу в/из потока запроса, был внезапный EOF. Вообще, мне говорили, что gzip для бинарников вообще не подходит, и похоже, так оно и есть (хотел еще видео послать и убедиться окончательно), но не успел пока что-то получше взять.
>>739299
#193 #739233
Если в анонимном классе использовать локальную переменную извне, она может быть потерта gc?
http://pastebin.com/N5qd3mZg
>>739245
#194 #739245
>>739233
Она, и вообще объект класса в котором эта хуйня происходит передадутся в callback и будут заняты пока его (callback) не убьет GC, так что с ними ниче не случится.
#195 #739299
>>739210
https://cwiki.apache.org/confluence/display/SLING/Chunked+File+Upload+Support
Вот тут про то как проихсодит аплоад файла по частям.

http://stackoverflow.com/questions/5222784/how-to-implement-http-post-chunked-upload-of-a-big-file-using-java-httpclient
Тут про то как отправить файл кусками с клиента

Сервлет проблем испытывать не должен с тем каким образом ему файл передается.

И вообще, я отказываюсь верить что в пердоиде за 2016 лет не изобрели своего собственного паттерна для аплоада больших файлов. Ты спрашивал в андроид-тренде?
>>739308>>739324
#196 #739308
>>739299
Вот, первые две ссылки из гугла:
https://futurestud.io/blog/retrofit-how-to-upload-files
http://stackoverflow.com/questions/22874735/upload-large-file-with-progress-bar-and-without-outofmemory-error-in-android

запрос: android big file upload pattern
правильно заданный вопрос это половина ответа
>>739324
#197 #739324
>>739299
Нет. Подумал, что от андроида тут почти ничего нет, а проблема преимущественно джавы.
Спасибо, попробую это переварить

Но пока не сел читать, переспрошу:

>Сервлет проблем испытывать не должен с тем каким образом ему файл передается.


Это значит, что сервлет даже может и не знать, что контенты был разбит и грузит всегда одинаково одним махом?

>>739308
С гуглежом вечно проблемы. Несколько дней просиживаю в гугле, изучаю какой-нибудь сабж, а потом оказывается, что ответ и искать не надо было, все было всегда под рукой
>>739351
#198 #739351
>>739324

>Это значит, что сервлет даже может и не знать, что контенты был разбит и грузит всегда одинаково одним махом?


Сам в этом не имел возможности убедиться, но где-то натыкался на инфу что да. Скорее всего, пока целиком не получен весь запрос у тебя сервлет не будет вызван. Я недавно делал rest-сервис для приема файлов, использовал jersey. Там тоже не понадобилось нигде хардкодить мультипарт. Так что не думаю, что и в сервлетах нужно.
>>739377
#199 #739377
>>739351
Рорудо.
На какой версии сервлетов делал?
Асинхронность и неблокируемость использовал?
А то сдается мне ты даже не разобрался как это работает
>>739422
#200 #739422
>>739377
поясни
>>739427
#201 #739427
>>739422
Разницу между 3.1 и 3.2 с ходу назовешь?
Каллабл и оптионал зачем нужны знаешь?
>>739437
#202 #739437
>>739427
я сервлеты не использовал сорь, все на jersey
>>739464
#203 #739452
Анончики, пишу курсач. Очень простое веб апп. Уже 3 часа втычу и не могу подключится к JDBC. Поясните для ламера, пожалуйста.
>>739459
#204 #739459
>>739452
Старый дедовский способ с drivermanager сразу забудь, уже давно менеджмент бд возлагают на контейнер. Если твой контейнер - томкат, то настройки бд ты кладешь в META-INF/context.xml, после этого ты можешь получить датасорс и из него брать конекшоны.
Вот здесь есть примеры, прокручивай сразу до PostgreSQL https://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
>>739462>>739466
#205 #739462
>>739459
У меня glassfish
>>739464>>739469
#206 #739464
>>739462
Выкинь говно. Ставь вайлдфлай.

>>739437
На ознакомься что такое неблокирующий асинхронный сервлет

https://docs.oracle.com/javaee/7/tutorial/servlets013.htm
>>739470>>739473
#207 #739466
>>739459

>Томкат


>контейнер


Лол
>>739841
#208 #739469
>>739462
Плохой выбор. Гугли glassfish jdbc configuration
С получение датасорса так же как и везде, а вот с описанием его гораздо больше мороки.
Если еще есть возможность перейти на томкет, то переходи.
#209 #739470
>>739464
Блин, да какие асинхронные сервлеты. Мне бложик простой. С этим всем дерьмом буду летом разбираться. А сейчас сессия, надо по-быстрому состряпать свистелки-перделки.
#210 #739473
>>739464
Спасибо о великий обладатель знанием. теперь нахуй иди, я сам решу когда и с чем мне ознакомиться. можешь еще конечно пояснить какие горизонты открывают твои сервлеты для rest api, но мне похуй
>>739475>>739476
#211 #739475
>>739473
Б - благодарность
#212 #739476
>>739473
Говна наверни. Хули тогда кукарекаешь о чем не знаешь.
Мультипарт аплоад в сервлете работает как не знаешь если.

>>739470
Выкинь гласфишь и не вздумай брать томкат.

Короче ставишь вилдфлайт. Можешь 10.
Затем прописываешь себе юзера - как написано в мануале по вилдфлаю.
Затем или устанавливаешь драйвер твоей субд как модуль или просто деплоишь его.
Затем создаешь датасурсы в админке мспользуя драйвер который ты установил или задеплоил.
Затем в своем приложении испольуешь для создания персистенс юнита уже готовый датасорс используя jdni имя его.
Это все хорошо описано в интернетах. И в мануале по вилдфлаю в частности
>>739484>>739488
#213 #739482
>>739470
В качестве иде используй нетбинс. С ним идут нормальные примеры и самое главное с ним идут плагины для генерации ентитаклассов и контррлеров дао на основе готовой субд.
Так же там идут готовые мастера по генерации различных полезных вещей типа еджиби бинов для реализации бизнес логики
#214 #739484
не слушайте долбоеба >>739476
#215 #739485
>>739470
Ну и вот тебе мануал по вилдфлаю.
https://cloud.mail.ru/public/BUPo/c75bjCRqE
#216 #739488
>>739476
с таким гайдом человеку незнакомому с вайлдфлаем неделя понадобится чтобы датасурс настроить, очень годный гайд рекомендую.
>>739492
#217 #739492
>>739488
Я ему мануал по вилдфлаю кинул.
Там все подробно расписано
>>739618
#218 #739618
>>739492
Спасибо.
#219 #739727
Читаю сейчас Java Thread Programming, но одно чтение угнетает меня, и вызывает отчаяние. Хочу написать приложение используя многопоточность, но в голову не идет никаких идей. Может быть у кого есть интересные идеи? Знаю джава кор и есть опыт написания небольших web-приложений на яве. Буду благодарен за любые идеи
#220 #739792
>>739727
Парсер данловдер порнохаба
#221 #739841
>>739466
Че ты лолаешь то овощ, первая же ссылка в гугле тебе ебало обоссыт.
>>740678
#222 #739857
>>739727
недавно нашел студенческую лабу, как раз на многопоточность. суть лабы - перемножить две матрицы размерностями от [1;1] до [2048;2048] ( в моём случае размерность вводил пользователь) и выполнить умножение в несколько потоков. Ну и по фану можешь сравнить скорость операции в 1 поток и в несколько
>>739874
#223 #739866
>>734204 (OP)
Суп програмач-помогач. Репортирует идиот, который хочет парсить linkedin, но не может в премудрости аутификации (sic!) OAUTH .
Более менее понимаю только джаву на уровне пре-джуна. Я пытался ковырять родной API linkedin-a, но не нашел ни толковой документации, ни годных примеров по различным поискам. Сумел только получить пин аутентификации для своей "проги". А всё что мне нужно, это получать html-страницу, ВСЁ.

Обоссыте меня, отпиздите, направьте хотя-бы в правильную сторону, пожалуйста...
>>739871
#224 #739871
>>739866
А зачем API, чтобы получить html страницу? Если ты с браузера до этой страницы доползти можешь, то и спиздить её можешь
>>739892
#225 #739874
>>739857

Благодарю, пойду реализую.
#226 #739882
>>737376

>Прошел курс, устроился на работу в пятерочку.


Пофиксил тебя, не благодари. А теперь - нахуй иди, засланец.
>>739885
#227 #739885
>>739882
Ты чего рвешься то, сам то из мака ушел уже?
#228 #739890
>>737423
Названия однобуквенные годятся лишь в качестве локальных переменных, да и то, как индекс, чаще всего. Называй их так, чтобы понятно было, для чего они нужны. Например:
int xyu=3;
int nu3ga=1;
В конструкторе, как правило, на продакшене новые имена не придумывают. Фантазии не хватит) В книжках видел, что типа новые, а на практике все генерят из менюшек своих ide. И оно выдает конструктор, как у тебя.
#229 #739892
>>739871
В том-то и дело что я не могу просто получить хтмл страницу, без авторизации. Предлагаешь юзать схему скачать хтмл с браузера? Автоматизацией тут и не пахнет, тащемта.
>>739896>>739902
#230 #739896
>>739892
Нет не предлагаю, я просто туда не заглядывал давно. Если у тебя получилось аутентифицировать приложение своё, в REST api у них искал нужное тебе?
>>739913
#231 #739902
>>739892
Так апи позволяет получать готовые результаты вроде постов, юзеров и другого
Для хтмл страницы нужен парсер с куками твоими, да и все вроде
#232 #739913
>>739896
Да, я его ковырял, с неделю, но всё сложна и нипанятна, есть классы для поиска, но нет конструкторов, да и мне ж нужно 1488 фильтров наставить.
>>739919
#233 #739919
>>739913
Ну вот первая ссылка в гугле
http://stackoverflow.com/questions/31280097/login-into-linkedin-with-jsoup

После этого поидее сможешь перейти на нужную тебе страницу
>>739927
#234 #739927
>>739919
Пошел пробовать, спасибо.
#235 #740028
#236 #740032
>>734204 (OP)
Аноны, где то в треде, возможно в одном из прошлых, была ссылка на сайт. Там были джава проекты, можно было их дорабатывать, вносить изменения и прочее. Проекты разной сложности от манипуляций со String, до всяких тетрисов.
Пожалуйста, скиньте ссылку на сайт(это был не гитхаб).
>>740034>>740035
#237 #740034
>>740032
Оп пост

>Уровня laba1.pas: http://codingbat.com/java http://codehunt.com


>Чутка серьезнее: http://programmr.com/zone/java http://codingame.com/puzzles


>Рулеточка: http://postimg.org/image/xdfbvgps9/


>Олимпиадка: http://codeforces.com


Ты про уровень laba1
>>740600
#238 #740035
>>740032
В оп посте есть ссылки на предыдущие треды. Глянь там, ленивая жопа.
#239 #740165
Аноны, а есть где сайты/блоги публикующие исходные коды программ с пояснением ? Можно платные.
#240 #740203
Кто чего скажет по сжатию бинарных данных? gzip тут вообще не катит, бинарки практически не жмет. Сейчас пробовал ZipOutputStream. Может я его неправильно использую, но тоже никак. Сжимать хочу картинки, видео и прочее такое
>>740206>>740211
#241 #740206
>>740203
Silicon_valley.png

Такой алгоритм стоил бы миллиарды.
>>740207
#242 #740207
>>740206
Я придумал!
File file= new File("large.mp4");
String stringFile= file.toString();
А потом Gzip-ом, он же хорошо текст жмет!

Или если mp3, то на клиенте перекодировать в меньший битрейт, а на сервере возвращать обратно большой!
#243 #740211
#244 #740230
ВОПРОС НА МИЛЛИОН ДОЛЛАРОВ ПО ССЫЛКЕ НИЖЕ
https://gist.github.com/anonymouS/776e9b45039fdabfe5dff1c2e50ee313
>>740232
#245 #740232
>>740308
#246 #740308
>>740232
.mapToObj(num -> (IntConsumer) smth -> {})
попробуй так
>>740354
#247 #740349
>>739727
Что за web приложения?
#248 #740351
Анон который упарывает аспекты ты заходишь в этот тред?
>>740532
#249 #740354
>>740308
Да, спасибо, только каст и работает, не хочет он сам выводить почему-то.
#250 #740532
>>740351
Задал бы вопрос.
>>740597
#251 #740535
Нужен ваш совет. Задача - анализ текста и последующий вывод: пол того, кому принадлежит текст и возраст.
>>740543>>740551
#252 #740543
>>740535
могу только подсказать как резус-фактор по тексту определять и количество половых партнеров за последний год.
>>740564
#253 #740551
>>740535
Вот тебе мой совет.
>>740564
#254 #740560
Анонасы, подскажите следующий момент - есть задача намутить плеер на жаве, с проигрыванием лайв потоков из фиксированного листа. Потоки - хлс и ртмп. С хлс я сам разобрался без проблем, а вот ртпмшные отказываются встроенными средствами откупориваться. Поиск в гугле выдал мне xugger, с которым после долгих совокуплений выяснилось следющая болячка - фатал эррор на 64 битных системах. Вообщем чем можно зацепить поток? Либо аналог xugger но рабочий.
Да, это моя первая попытка написать что-то сложнее парсера файликов и решателей квадратных уравнений, не плюйтесь особо.
#255 #740564
>>740543
>>740551
))))))))))))))))))))))))))))00)))0)
#256 #740597
#257 #740600
>>740034
http://programmr.com/zone/java
Этот сайт, добра тебе!
#258 #740678
>>739841
Так контейнеры уже отмирают. Всякие спринг буты - тому подтверждение.
>>740720>>740760
sage #259 #740720
>>740678
Не, они хороши, чтобы по-быстрому склепать на коленке сайтик для препода в универе, а не для полноценных приложений.хотя зависит от того, для каких
>>740758
5 Кб, 255x198
#260 #740721
Есть идея для сайта. Так как знаю javaSE и javaFX решил делать его на яве. Какой фреймворк посоветуете? Стоит ли внимания под мои задачи Spring in Action 4th Edition ? рандомпик
>>740765>>740803
#261 #740758
>>740720
Хипсторы уже напердолили реальную замену ее-шным cdi jms ejb jpa jta годную для продакшена?
Спринг тот же самый контейнер.
>>740760>>740875
#262 #740760
>>740758
Это было
>>740678
#263 #740765
>>740721
Лол.
Сайт на javafx? Аплет на сайте будешь держать? Очнись, ты не в 2000ых года живёшь, а в

>2076


JavaFX используется для написания десктопных приложений.
Жаба для сайта может быть максимум на сервере (или GWT, т.е пишешь веб-клиент на яве, а он генерирует javascript и веб странички, но эт сложно для новичков). А для фронта можешь использовать JSP (хотя кому он нахуй нужен?) или какой-нибудь современный javascript фреймворк а-ля angularjs (но ты и жабы-то не знаешь, так что JSP тебе подойдёт).
Если хочешь писать десктопное приложение, то насчёт фреймворков для javafx я тебе ничего не скажу, погугли. Я работаю в компании, где написан свой фреймворк на swing, в опен сорсе его нет. Но по-моему делать клиент на жабе - это пиздец и вчерашний день.
>>740776
#264 #740776
>>740765
Да мне не принципиально javaFX. Я могу освоить что то новое.
#265 #740796
Сап. Хочу учить программирование, чтобы были деньги на оплату съемной квартиры и хавки.
Может ли это обеспечить мне Java?
>>740802>>740805
#266 #740802
>>740796
Лучше стань гей-шлюхой
#267 #740803
>>740721
Есть два стула: фреймворки на базе GWT с готовыми компонентами и фреймворки с шаблонизатором.
На какой бы ты ни сел говна употребить придётся изрядно.

В первом случае потому что не сможешь почти ничего кастомизировать, сессии будут протухать со временем раздражая этим пользователей, да и вообще продуктивность разработки веб-приложения в стиле десктоп-приложения ниже чем у нормальной веб-разработки.
Во втором потому что помощи от фреймворка будет минимум. Тебе всё равно придётся набрасывать всё тело html вручную. Скорее всего с нуля, потому что изобилия готовых темплейтов и тем для таких фреймворков нет. Хуяк-хуяк и интернет-магазин готов не получится.

Советую посмотреть в сторону Jpython и dJango, ну или JPHP на крайняк.
>>740807>>740819
#268 #740805
>>740796
Нет. Бери что нибудь с более низким порогом вхождения и где не так требуют бумажки о ВО(если у тебя их нет).
>>740878
#269 #740807
>>740803
т.е Spring тут не в тему?
>>740813>>740815
#270 #740813
>>740807
Это второй вариант.
Давай ты в общих чертах объяснишь сложная ли планируется разметка, много ли будет типов страниц, таблиц в БД, сложный ли будет процессинг форм.
>>740815>>740816
#271 #740815
>>740807
>>740813
И самое главное - почему тебе не подходит вордпресс.
>>740818
#272 #740816
>>740813
Как раз таки это и будет.
#273 #740818
>>740815
У меня много времени.
>>740843
#275 #740843
>>740818
... которое надо убить? Тогда всё правильно делаешь.
#276 #740875
>>740758
Сорян, туплю в конце дня. Я проложил ассоциацию до аппликейшн серверов и иже с ними. Ну и кстати чем заменить jms придумали же вроде, не?
>>740896
#277 #740878
>>740805
Привет, устроился на вторую работу с дипломом из пту.
#278 #740896
>>740875
Да все там можно сделать нормально и без EE. Этого поехавшего не слушай - он тебе и для хелловорда серверы приложений разворачивать начнет.
>>740899>>741067
#279 #740899
>>740896
Да как сказать. Spring Data + jpa - удобно. IoC контейнеры - удобно пиздец.
#280 #741067
>>740896
Если хеловорд должен работать как часы, кластеризироваться, и тянуть мульон подключений то до. Советую вилдфлай
>>741184
#281 #741068
Предлагаю апсерверо ненавистникам батл.
Пишем свою имиджборду на явке. Одна с использованием контейнеров, вторая на пуреява с НИО.
Устраивает стресстест по нагрузке.
Делаем выводы
>>741077
#282 #741077
>>741068
Байтослесарь порвался. Лучше измерь продуктивность и поддерживаемость такого подхода. Даже на голых сервлетах уже никто не пишет - нужны веб-фреймворки.
>>741086
#283 #741086
>>741077
Байты?
Слесарь?
Что ты несешь пидор?
>>741107>>741134
#284 #741107
>>741086
Ньюфаня, уходи.
#285 #741133
Планирую закончить какую-нибудь шарагу, для корочки собственно для получения ворк пермита в области сабжа.

Имеет значение заведение, в котором получу диплом, или можно выбрать любое днище?
>>741164
#286 #741134
>>741086
Байтослесарь - презрительное название человека, который старается писать код ближе к машине, экономичней по отношению к её ресурсам.
>>741182
#287 #741164
>>741133
имеет,но еще больше имеет значение твои скиллы в плане написания кода
>>741891
#288 #741168
Вы там совсем ебанулись сайты на джава делать может еще на C попробуете?
>>741174
#289 #741174
>>741168
Динамопетухи совсем ебанулись.
#290 #741182
>>741134
Эээ
То есть использование апсерверов и контейнеров уже у нас байтоебство?
Да ну вас нахуй блэт.

Короче челендж реквест в силе.
Пишем борду.
Я на контейнере, тот кто примет челендж на пуреява с НИО.

Потом тест и результаты.

Где вы противники сервлетов и контейнеров??
>>741187>>741209
#291 #741184
>>741067
Сука, проиграл. Тоже что ли начать форсить вилдфлай.
>>741186
#292 #741186
>>741184
Форси.
Благо если надо я кучу литры по нему могу кинуть. И посоветовать.

Вилдфлай-бог
#293 #741187
>>741182
Беру СпрингБут. 2 недели на разработку. С тебя жалкие 90к рублей, за счет моего отсутствия на работе.
>>741192>>741207
#294 #741192
>>741187

>эти манёвры


Ты либо пишешь, либо идёшь нахуй, такие дела.
>>741202
#295 #741202
>>741192
Ты долбоеб что ли, школяр ебучий?
#296 #741207
>>741187

>спринг


Ты обосрался.
Это контейнер на сервлетах
Пуреяву давай
#297 #741209
>>741182
Ты еблан? Тебе же сказали что байтослесарь какраз тот кто будет на НИО писать веб-говно. Я сомневаюсь, что найдутся долобоебы готовые писать сайтики на нио или сервлетах. Свой тул под задачу же. А твой школьный чеоенж никому кроме таких же упоротых школьников не впал вообще.
>>741212
#298 #741212
>>741209
Еблан тут ты.
Трендель почитай.
Мне тут который день доказывают что сервлеты с апсерверами говно и нинужны и все надо делать без них
>>741235
#299 #741235
>>741212
так и есть, ебашишь круды на jersey, статику выводишь в nginx.
#300 #741347
Как в javafx в контроллер передать параметры при инициализации?

Или можно как-то по другому передавать данные между разными сценами?
>>741401
#302 #741413
Такс, вопрос: где хранить спринговый ApplicationContext, в котором хранятся бины? Я имею в виду, хранить в статической переменной какого-нибудь класса или подцеплять из rest-контроллеров каждый раз?
>>741416
#303 #741416
>>741413
Можно как синглтон, но это пиздец. Ты похоже не понял сути IOC/DI
Используй Spring Boot.
Наоборот, инстанциируй контроллеры при помощи ApplicationContext/BeanFactory.
Используй ApplicationContextAware/BeanFactoryAware.
>>741449
#304 #741433
Пацаны с лавки спрашивают можно ли откомпилировать проект, написанный на 1.8 на более низкие версии jdk\jre?
>>741438
#305 #741438
>>741433
можно
>>741598
#306 #741449
>>741416
Ебать, я даун. Прост тестил отдельно сервис, поэтому и доставал вручную из аппконтекста. В рестконтроллере он не понадобился.
35 Кб, 492x345
#307 #741505
господа, пытаюсь изучить спринг, выкурил кучу мануалов и тд и тп. но хуй где ХУЙ БЛЯТЬ ГДЕ они напишут про эти блядские xml конфиги. проблема в чем - хочу заюзать jdbcTemplate. создаю в нетбинсе maven java application. создаю простенький dao с одним простейшим методом. в паблик статик войд мейн запиливаю
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("C:/spring.xml");
EmpDAO empDAO = ctx.getBean("empDao", EmpDAO.class);
empDAO.setName(1, "fuck");
и хуй. файл не найден. я его куда только не пихал, вот уже глобальные пути пишу. файл нот фаунд эксепшн. поясните плез за конфиги. как создавать, куда вставлять. жопа космически пылает. (п.с. в spring.xml у меня описана связь бина дао и датасурса с драйвером, без этого ничего работать не хочет)
#308 #741509
>>741505
Тык ты напиши стектрейс весь, хули ты.
Бтв, "C:/spring.xml"? Пиздос. Дефолтная папка для ресурсов - resources, внезапно. Там и держи конфиг для спринга.
>>741517
#309 #741510
>>741505
В класспас очевидно же. Алсо спермодебилы обязаны страдать. Ставь двойной слеш ебта
163 Кб, 1920x1080
#310 #741517
>>741509
уже куда только не захуяривал. в properties проекта в ресурсы спринга файл тоже воткнут
>>741524>>741655
Вопрос но плз #311 #741523
Сап. Хочу учить программирование, чтобы были деньги на оплату съемной квартиры и хавки.
Может ли это обеспечить мне Java?
>>741525
8 Кб, 425x232
#312 #741524
>>741517
Файловую структуру покажи. У тебя должно быть что-то вроде пикрилейтед
>>741526
#313 #741525
>>741523
Может. Только конкуренция сейчас в джаве неадекватно высокая. И фриланса нет. И так - без проблем.
17 Кб, 348x458
#314 #741526
>>741524
он у меня в каждой папке уже
>>741535
#315 #741530
>>741525
почему нет фриланса? разве под ведро не нужны кодеры?
>>741532
#316 #741532
>>741530
Тогда тебе в другой тред. У нас тут околосерверное программирование.
>>741536
#317 #741535
>>741526
Тогда не знаю, лол.
#318 #741536
>>741532
хочу программировать на ведро, приложения всякие, для себя тоже кодить, для этого мне нужна жава. вот с таким раскладом я не потеряю зря время?
>>741541
#319 #741541
>>741536
Если хочешь фрилансить, то тогда у тебя два стула пути: веб и мобильная разработка. В принципе, на ведре можно фрилансить без особых проблем. Но нужно учиться. Учиться быстро и учить дохуя. Так что дерзай.
>>741543
#320 #741543
>>741541
почему быстро?
>>741548
#321 #741548
>>741543
Пушо нужно очень много говна выучить, чтобы начать зарабатывать. По крайней мере, так обстоят дела с обустройством на работу на позицию джуна, насчёт фриланса не уверен.
>>741549
#322 #741549
>>741548
спасибо тебе, анон, очень обнадёжил. Буду учить. Через 2 года может куда устроюсь
>>741557
#323 #741552
>>741505
Spring in Action читай, рандомными выдергиваниями кода из со ты нихуя не добьешься.
#324 #741557
>>741549
Начни с алгоритмов на джава Седжвика. В качестве первой книжки норм покатит.
>>741621
#325 #741598
>>741438
Как это сделать? Имею ввиду чтоб мой проект могли запустить даже на самой днищенской версии jvm, а в идеале хотелось бы в исполняемый файл скомпильнуть, чтоб на любой винде запустилось, но такое ява не позволяет.
>>741604
#326 #741603
>>741505
запиздил в target/classes, заработало. мож кому пригодится, пол дня просидел блять
>>741604
#327 #741604
>>741598
В maven-compiler-plugin прописать configuration property target 1.7
В gradle targetCompatibility=1.7

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


Гугли инструменты как можно зашить jre и приложение в exe
>>741603
Отлично, теперь сделай mvn clean:clean
>>741620
#328 #741620
>>741604
Правильный совет изначально был установи идею. Он же из иде запускает, иде класспас проставляет и его ресурсы туда не добавила просто. Мавен то из ресурсов в джарку/варку подтянет, но для этого надо запускать приложение не зеленым треугольничком убогого эклипса (или что это там у него на скрине).
>>741643
#329 #741621
>>741557
Я хотел начать с "Программирование на Java для детей, родителей, бабушек и дедушек" Яков Файн.
Я в программировании ноль
>>741636
#330 #741636
>>741621
Раз в программировании ноль, делай так.
32 Кб, 768x417
#331 #741637
Уу-у ска, буду летом учить 24\7, нашел книгу Andy Hunt - Learn to Program with Minecraft Plugins щас по ней ебашу моды для Майнкрафта. Годнота однозначная.
234 Кб, 1521x944
#332 #741643
>>741620
Maven он и нужен для того чтобы не использовать непереносимые IDE-специфичные проекты Ant. А если Maven не копирует ресурс в target - это его проблема.
Хотя да, у меня в IDEA все норм работает.
>>741649
#333 #741649
>>741643
Мавен то скопирует. Но он же не мавеном проект собирает.
>>741653>>741655
#334 #741653
>>741649
непонимат почему в шарпе еще не сделали свой мавен
>>741656>>741683
#335 #741655
>>741649
Читни внимательнее лог >>741517
#336 #741656
>>741653
Мавен уже не модно, надо gradle. А как там в шарпе?
>>741684
#337 #741683
>>741653
Нугет ?
#338 #741684
>>741656
там какие-то копро xml-ники и кривой нугет сверху
#339 #741685
Такс, объясните мне такую хуйню: по-хорошему в спринге на каждую таблицу нужно написать entity-класс, DAO-класс, service-класс и сервис в рест-контроллере использовать? Это же дохуища шаблонного кода, это вообще норм?
>>741689>>741694
#340 #741689
>>741685
в спринге бины
#341 #741693
>>741525

>Только конкуренция сейчас в джаве неадекватно высокая


На самом деле, только на уровне джунов и мб миддлов. Сеньёру-помидору найти сытную работу довольно легко.
#342 #741694
>>741685
Spring Data JPA и Spring Data REST решают эти проблемы
#343 #741706
>>741525
Насколько адекватно я буду смотреться на фоне конкурентов с несколькими проектиками (учебными) на стеке Hibernate/Spring (MVC, Security, Data JPA)/Maven
>>741720
#344 #741720
>>741706
воплне достойно
#345 #741722
Почему не работает и что вместо этого можно написать?

if (obj instanceof Interface<String>) {
...
}
>>741727>>741735
#346 #741727
>>741722
Сам нагуглил почему нельзя: type erasure.
Но что делать?
>>741731>>741733
#347 #741731
>>741727
Оборачивай в блок try, так например:
try {
____Interface<String> iString = (Interface<String>)obj;
...
} catch (Exception ignored) {
}
>>741744
#348 #741733
>>741727
Если у тебя есть возможность получить из объекта инстанс класса которым он параметризован, проверяй и его instanceof (я имею в виду, если у тебя в объекте есть геттер который возвращает <A>, проверяй его значение на instanceof String). Лучше таскай с объектом теги типа.
>>741739>>741744
#349 #741735
>>741722
контекст давай
>>741789
#350 #741739
>>741733
[code]
if (obj instanceof Interface) {
if (((Interface)obj).getFoo() instanceof String) {
...
}
}

if (obj instanceof Inteface) {
if (((Interface)obj).getTypeTag().equals(blah)) {
}
}
[/code]
>>741744
#351 #741743
Привет. В C# можно создавать экземпляры параметра универсального типа так:
class Creator<T> where T : new()
{
public T CreateProduct() { return new T(); }
}
В плюсах тоже можно.
Не нашёл как подобное сделать в Java. Это вообще возможно?
#352 #741744
>>741739
>>741733
>>741731
Решение проблемы архитектурное, а не то что ты предложил. Разруливается через upper bounds и lower bounds.
#353 #741747
>>741743
нет. В шарпе генерики сохраняются в рантайме, в жабе стираются.
#354 #741748
>>741743
нет. В шарпе обобщения сохраняются в рантайме, в жабе стираются.
#355 #741750
>>741744

>upper bounds и lower bounds


Что это?
>>741754
#356 #741754
>>741750
я специально написал так чтобы гуглилось.
#357 #741755
>>741744
Я написал решение как есть, понятно что это говнокод
>>741743
Очень костыльно, это так
class Creator<T> {
public Creator(Class<T> clazz) {
this.clazz = clazz;
}
public T Create() { return clazz.newInstance(); }
}
>>741761
#358 #741758
>>741743
class Creator[T: ClassTag] {
def create(): T = new T()
}
#359 #741761
>>741743
>>741755
А зачем такое вообще может потребоваться? Не могу придумать юзкейсов.
>>741763>>741780
#360 #741763
>>741761
Ну фабричный метод на дженериках без наследования чем не юзкейс?
>>741768
#361 #741768
>>741763
А толку от конструктора без аргументов?
>>741775
#362 #741775
>>741768
А что, конструктор с аргументами должен быть у всякого класса?
>>741784
#363 #741780
>>741761
Прокси, например.
>>741784
#364 #741784
>>741775
>>741780
Видимо это какая-то энтерпрайзовская магия. В ведре мне такое не требовалось.
#365 #741789
После прочтения советов получилось вот что. Выглядит костыльно, как проще сделать?

void function(Object... args) {
if (!(args[0] instanceof List<String>)) {
throw new Error("Ну, охуеть теперь.");
}
List<String> lst = (List<String>) args[0];

try {
for (String s : lst) {}
} catch (Exception e ) {
throw new Error("Ну, охуеть теперь.");
}

// ...
}

>>741744
Что-то не вижу как они мне могут помочь.

>>741735
Надеюсь, дал.
>>741790>>741792
#366 #741790
>>741789
Не лучше написать:
void function(List<String> list, Object... objects) {}
?
>>741794
#367 #741792
>>741789
Это страшный говнокод... Зачем тебе нетипизированный varargs array на один из элементов которого на самом деле накладываются ограничения по типу?
>>741794
#368 #741794
>>741790 >>741792
Это реализация метода интерфейса.

>>741790
Поэтому нельзя.
>>741801
#369 #741801
>>741794
Хуйня какая-то.

void function(Object... objects) {
if (objects.length < 1) {
throw new IllegalArgumentException("First parameter must be list");
}
List<String> strings = new ArrayList<>();
for (Object o : (List) objects[0]) {
if (o instanceof String) {
strings.add((String) o);
} else {
throw new IllegalArgumentException("First parameter may only be list of strings");
}
}
// Check done

}

я спать.
>>741807
#370 #741807
>>741801
throw new IllegalArgumentException("Must pass at least 1 parameter");
быстрофикс
>>741818
#371 #741818
>>741807
void function(Object... objects) {
if (objects.length >= 1) {
Object param0 = objects[0];
if (param0 instanceof List) {
List<String> strings = new ArrayList<>();
for (Object o : (List) param0) {
if (o instanceof String) {
strings.add((String) o);
}
}
// Check done

}
}
}

без эксепшонов
>>741821
#372 #741821
>>741818
void function(Object... objects) {
List<String> strings = new ArrayList<>();
String errorStr = null;
if (objects.length >= 1) {
Object param0 = objects[0];
if (param0 instanceof List) {
for (Object o : (List) param0) {
if (o instanceof String) {
strings.add((String) o);
} else {
errorStr = "Some of elements in first parameter are not strings";
}
}
} else {
errorStr = "First parameter must be list";
}
} else {
errorStr = "Wrong number of parameters";
}
// Check done

}

без эксепшенов и с каким-никаким отловом ошибок. Ушел.
>>741835
#373 #741835
>>741821
И не возвращайся, мудак, блядь.
Господь дал ему https://gist.github.com - не хочу, хочу ебать глаза неформатированным кодом без подсветки.
>>741972
#374 #741861
Сегодня прогнал текст по регуляркам (в большом тексте вырезал теги и прочую мишуру), так вот великая джава у меня отыграла за 350мс, а зачуханный пхп ту же задачу выполнил за 80мс (в 4,5 раз быстрее).

Многие кукарекнут про Pattern.compile - вне циклов, но циклов не было.

У меня вопрос, почему так все плохо?? Есть ли шустрые регекс-либы на java?
Не вставки же на php делать теперь. :)
>>741863
#375 #741863
>>741861
Ну давай сюда код, магистр перформанса.
>>741874
#376 #741874
>>741863
что ты там хочешь увидеть, обычные паттерны вида
int flag = Pattern.DOTALL | Pattern.MULTILINE | Pattern.CASE_INSENSITIVE;
Pattern.compile("<" + tag + "[^>]>(.?)</" + tag + ">", flag);
Pattern.compile("<[/]" + tag + ".?>", flag);

Только это все в методах и передается тег типа head, script, code, pre (на спрашивай зачем).

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

Проблема не только в моем коде, вопрос к тем кто сталкивался, есть альтернативные либы, ппц как не хочется на сях писать.
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=regexdna
>>741879>>741889
#377 #741879
>>741874
парсер доски съел звездочки
http://pastebin.com/1669Uk1e
>>741889
#378 #741889
>>741874
>>741879
Ну если ты пишешь одноразовую утилиту, которая будет запускаться редко и из командной строки, то пиши-ка лучше на PHP или Python.
А если у тебя нормальное приложение, то поставь флажок CompileThreshold 1 и прогони несколько раз, потом уже замеряй. Да, JVM оче медленно стартует и медленно разогревается.
Алсо, парсить XML регулярками - это пиздец.
#379 #741891
>>741164

>имеет.


А на что смотреть при выборе учебного заведения?
#380 #741901
>>741889
За CompileThreshold, благодарю, погоняю.
Нужно именно в джаве, это там часть приложения.
Насчет парсинга, я не парсю, а вырезаю некоторые теги, но в большом тексте (типа как страница документации String Boot).
DOM анализатором вырезать теги, я думаю еще дольше :)
>>741907
#381 #741907
>>741901
Есть нормальные S(t)AX парсеры XML - быстрее DOM, надежнее и поддерживаемее регулярок.
#382 #741912
>>741889
Да, так и есть, на втором вызове отработал в 63мс.
Спасибо бро за инфу, я аж кончил.
>>741913
#383 #741913
>>741912
а не, я тут тупанул, кинул отпарсенный html (второй раз он его пролетел конечно), в общем вместо 350 стало ~280, что все равно печалит
>>741918
#384 #741918
>>741889
>>741913

удалось увеличить скорость в 2 раза добавив атрибут -server, всякие -XX не канают, может IDE что колдует...
140мс это уже рядом с php, что радует (остается только гадать, что там за магия в регексах пхп)
#385 #741972
>>741835
без подсветки читать не можешь чтоль лол?
#386 #741973
>>741918
пиши уже на сях, заебал
18 Кб, 212x410
#387 #741977
Хеллоу ворлд этому треду. Нужен твой совет, анон. Хочу писать серверные приложения. Прочитал эккеля, первый том хорстманна и алгоритмы сенджвика. С чего лучше начать: beginning java ee 7 или spring in action? Что еще ньюфане стоит почитать?
>>741992
240 Кб, 500x700
#388 #741984
>>741918
Суть долбаеба 1 пикчей
>>742015>>742051
#389 #741992
>>741977
Присоединяюсь к вопросу. О сервлетах знаю, но на дворе уже 2016-й, поэтому есть несколько вопросов.

Spring MVC выглядит как-то менее объемно, нежели J2EE, и является удобной оберткой над сервлетами. Стоит ли вообще тогда лезть к EJB и прочим прелестям J2EE или курить Spring in Action и писать pet-project?

Сервер приложений, вернее, сервера приложений. Поясните, будьте любезны, за них. Что выбрать человеку, который только под jetty, который и сервером приложений назвать нельзя, работал? И на пальцах бы про качественные отличия embedded и не embedded серверов.
>>741996>>741998
#390 #741996
>>741992
Если ты спрашиваешь зачем нужны ejb то они тебе не нужны. Ejb без ремоут интерфейсов вырождаются в обычные менеджед бины.

Спринг как бы хипсторы не пытались его противопоставить ЕЕ - по сути тот же ЕЕ, но со своим контейнером контекста, что позволяет запускать его независимо от стека ЕЕ. Внутри же спринг строится на тех же принципах что и ЕЕ. Часть реализаций стандартов своя, но стандарты ты же. Jpa jta jms mbean jax-* и так далее.
Конкретно спрингмвц тот же джсф только в профиль. Более продуман и позволяет легче реализовывать нужный функционал не городя jsf+omnifaces+ui как приходится в ЕЕ.
Апсервера.
Из опенсорс остался годным лишь вилдфлай. Гласфиш протух и не будет развиваться ораклом вообще.
Из платных живы все, но вебсфера это ЕЕ6 и некрота. Джейбосс - стейбл ветка вилдфлай но не так популярен, оракловский сервер и сервер под сап - нишевые продукты.
Так что если планируешь пилить что то свое - начни и закончи вилдфлаем. В случае с легаси... Ну тут как повезет. Но вебсфера это пезда.
Ембедед апсервера это хипсторская хуйня, зачем нужна хз. Но есть вилдфлай-сварм.
Не забывай однако что на ЕЕ мир явы не окончен. Есть еще osgi.
Karaf и все что под него. В основном там все пилят под вывеской Апач фаундейшен, но и редхат свою сборочку представляет.
Суть osgi контейнеров это управление микросервисами. Это интеграционные процессы с участием камела. И даже спрингоприложение можно запустить под карафом.
Я с этим чуток работал только с камелом. Камел это охуено. Просто ознакомься.
Если не охота держать караф и юзать jms для интеграции с ЕЕ - существует проект wildfly-camel. Расширение вилдфлай позволяющее юзать камел из бинов.

Вилдфлайфорсер
#391 #741998
>>741992
А.
На основной вопрос то не ответил лол.
Если хочешь пилить свое - спринг.
Если планируешь идти макакой на легаси то ЕЕ
>>742232
#392 #742000
>>741996

>Гласфиш протух и не будет развиваться ораклом вообще.


Референс имплементейшн протух и развиваться не будет, ага.
Чо несет, поехавший...
>>742007
#393 #742007
>>742000
Школопидор ты вообще хоть день работал с ЕЕ и легаси? Или ты только кукарекать про РИ и можешь?
Ссу тебе в ебало.

Вилдфлай форсер
>>742013
#394 #742013
>>742007
По делу что-нибудь есть?
#395 #742015
>>741984
Два чая. Мало того что регулярки для парсинга использует, так еще ключи дрочит там где и когда это делать не надо.

К тому же - регулярка неправильная ). Забавы ради или из зловредства можно ШОК! скормить
<attr="a" tag>wtf</tag>. Остальные примеры можешь сам поискать.
>>742051
#396 #742025
>>741918
Зачем вообще оптимизировать? Ты профайлинг делал вообще? Алсо, сравни решение на основе substring(), indexOf("</tag>") и тп. если уж религия jsoup использовать не позволяет.
#397 #742048
Сап зк. Дайте годных линков по спрингу для полного нуля в MVC в целом и спринге в частности. Нет, в гугле не забанили - но тут концентрат годноты гораздо выше.
>>742049
#398 #742049
>>742048
Spring in action
#399 #742051
>>741984
>>742015

Лол, дети набежали.
1. Сказали уже не парсинг, а чистка тегов (хотя это тоже парсинг, просто шаблоно мыслящие дегинераты под парсингом подразумевают разбор дерева html). Только уеба будет DOM анализатором чистить теги.
2.

>К тому же - регулярка неправильная )


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

Увидели в одном тексте - регексы и html и зразу же в умах врублися шаблон.

PS и да, джава на регекса пиздецски тормозить, лучше бы либы какую кинули
#400 #742058
>>742051
Кек, учи матчасть. Про SAX, StAX тебе уже писали?

Ты можешь сколько угодно оправдываться контекстом или чем еще. Но стандарт xml /html по факту твое решение не поддерживает.
>>742069
#401 #742059
>>742051
Сынок - тебя ткнули носом где у тебя код пованивает. А ты огрызаешься. Нехорошо.
>>742069
#402 #742062
>>742051
Прикинь и паттерн матчинг тормозит.
Ваши хуйня жава.
Перекатывайся на эрланг
>>742068
#403 #742068
>>742062

> паттерн матчинг в Java


Значение знаешь?

> Java тормозит, Erlang не тормозит


Лал.
>>742070
#404 #742069
>>742058
Уеба ты конская, ты понимаешь, что пробежаться той ругялркой в десятки раз будет дешевле чем распарсить ДАЖЕ последовательно документ, с хуева тучей ветвлений и циклов в парсинге, а потом высечь тег и собрать снова.
Но откуда тебе знать, ты же выдресирова понимать - xml - значит бери всегда DOM-парсер

>>742059
Вонизм у тебя в голове, ты же понимаешь что ты глупый джун, который делает выводы по одной строчки кода, думая что парсится веб страница (да мой малыш, там много кода, просто замер именно по этому регексу был).

Я тебе могу сейчас другой регекс вне контекста DOM написать, у тебя наверно твой юный мозг вообще порвет, да?
>>742074>>742075
#405 #742070
>>742068
Ты чо! В Ирланге можно десятки тысяч потоков создавать! Дешевое переключение контекста никакого жи овирхеда на стек!!1
>>742077
#406 #742074
>>742069

>пробежаться той ругялркой


Иди читай про грамматики Хомского до просветления, ебанный полудурок.
>>742077
#407 #742075
>>742069
Еще раз - учи матчасть. Учись профайлингу и приоритезации работ. Потом уже можешь рваться и тайтлы по интернету раздавать.
#408 #742077
>>742070

>овирхеда на стек!


Мартышка не слышала о stackless и прочих видах корутин.

>>742074
Он таки прав, но немного в другом – регулярка просто парсит текст, парсер состовляет AST и тд.
>>742081
#409 #742081
>>742077
Маня - беги перечитывать конспекты. Здесь люди свободно употребляют слово парсинг в том числе и в самом общем смысле - разбор структурированных данных.
sage #410 #742141
>>741996
Камел, тащемто, можно поднимать и без какого-либо аппсервера.
>>742360
#411 #742206
Что-то пасаны странно всё это. Долго не мог устроиться джуном, даже выучив спринг и хибер искал работу джва месяца, устроился... Прошло полтора месяца интернатуры, за это время написал строчек 50 кода. Веду переписку с индусами, перезваниваюсь с ними, доки пишу, конфиги ковыряю. Это вообще норма?
>>742209>>742371
#412 #742209
>>742206
тебя аналитиком взяли?
>>742218
#413 #742218
>>742209
Интерн девелопер. Но сразу сказали, что активной разработки на проекте сейчас не ведется, поддержка и саппорт. А хули мне было делать, больше меня никто не брал. Вот думаю поработать с годик, чтобы опыт был по трудовой, а потом требовать перевода в другой проект или съебать.
>>742231
#414 #742231
>>742218

>чтобы опыт был по трудовой


Кого ебёт твоя трудовая вообще? Выкинь эту срань из головы. Уровень твоей экспертизы оценивается из собеседований и резюме.
>>742274>>742302
#415 #742232
>>741998
Спасибо за ответ. А если просто джуном хочу устроиться?
#416 #742274
>>742231
ну допустим ты параллеьно сам дрочишь и потом будешь тащить на собеседовании
вангую что возьмут чела который писал 5 строк в месяц и имеет год официального опыта(проверяют же), а хую с горы будь он хоть второй одерски предложат джуновскую зп и завалят сцаными вопросами по синтаксису\дрочке наизусть библиотек и т.д.

Мимобезработный
>>742282
#417 #742282
>>742274
а тебя в черный список внесут за то что посмел напрашиваться на собеседование когда те кто год+ работают.
#418 #742302
>>742231
Потому что если ты присылаешь резюме, в котором рассказываешь, какой ты охуенный и какие библиотеки знаешь, но при этом у тебя НОЛЬ опыта в разработке, левая вышка и тебе 25+, то с высокой вероятностью твой гитхаб даже открывать не станут.
>>742321
#419 #742321
>>742302
А как тогда преподносить опыт сорт оф фриланса, но не на биржах, а ирл нашёл людей которым надо было запилить говно?
#420 #742329
>>742321
Как хочешь, так и преподноси, но тут всё очень от HRа зависит. Если у него от начальства есть задача "найти человека с опытом от 3 лет", то твоё фриланс-резюме он может тупо выбросить в мусорку.
#421 #742335
>>742321
лал, как будто кто-то поверит что с фриланса можно выгодно перекатиться в офис. Если мне будет человек задвигать что он вот ъоть три года фрилансил а теперь хочет ко мне в оффис, то я скажу сорь фрилансеры не нужны)
>>742380
#422 #742348
>>742321
И, опять же, если ты собираешься вкатываться в тырпрайз с фриланса, это может выглядеть сомнительно.
#423 #742360
>>742141

>читай через строку


>неси хуйню.


А я что написал ебта?
>>742392
#424 #742371
>>742206
А чем плохо анон? Можно параллельно качать скил, заодно будет капать опыт и зарплата.
Много лучше чем 24\7 ебашить вещи, которые ты уже с закрытыми глазами можешь делать
#425 #742380
>>742335
Ну ты и мразь конечно.
#426 #742392
>>742360
Ты, блядь, смешал все в кучу про osgi, karaf, camel.
Osgi - это просто стандарт построения модульного приложения, как эти модули взаимодействуют друг с другом. Есть несколько реализаций этого стандарта: Equinox и Felix.
Karaf - это сервер приложений. Он состоит из osgi фреймворка и набора бандлов, которые отвечают за чтение конфигураций, сервис транзакций, вебсервер. Тот же самый караф можно собрать и самому, но есть шансы напороться на конфликтующие библиотеки. А тут уже все более-менее притерто друг к другу. Есть более расширенные сборки osgi сервера: servicemix, fuseesb.
А camel - всего лишь библиотека для интеграции различных сервисов. Ее можно использовать и в osgi среде, и в spring приложении, и даже в голом java-se приложении.
>>742451
#427 #742450
>>741996
Тут еще надо добавить что wildfly, вроде как, сертифицирован всякими ФАПСИ и тп прикормышами, так что может использоваться в попильных рашкинских проектах, связанных с оборонкой и тп.
#428 #742451
>>742392
У меня он в вилдфлае
76 Кб, 658x1024
#429 #742582
Java 1.8 см. интерфейс Comparator.

В интерфейсе 2 абстрактных метода, и при этом он помечен @FunctionalInterface - wtf? В функциональном интерфейсе может быть только 1 абстрактный метод. Ок, едем далее. Второй абстрактный метод - boolean equals(Object obj);. Зачем? Что он там делает? И как он себя проявляет? Непонимат, поясните антоши.
#430 #742604
>>742582

Лолшто?
Иквал основной метод для сравнения. А интерфейс компарабле как за нужен для соавнения двух экземпляров по компаратору.
>>742627
#431 #742608
>>742582
Потому что этот метод определен в Object.
>>742627
#432 #742614
>>742582
http://metanit.com/java/tutorial/5.6.php

И вроде это с 7 явы а не 8. Не помню точно
#433 #742627
>>742604
ты походу вопроса не понел
>>742608
зачем тогда его описывать в интерфейсе Comparator если он уже определен в Object?
>>742634
#434 #742634
>>742627
Вероятно, просто чтобы подчеркнуть важность этого метода - чтобы он был консистентным с compareTo
#435 #742636
>>742634
Должно быть так (compare(x,y)==0) == equals(x,y)
>>742638
#436 #742638
>>742634
>>742636
Бля затупил
Если c1.equals(c2), то должно быть c1.compare(x,y)==c2.compare(x,y).
#437 #742659
>>742634
Интересная недокументированная фича функциональных интерфейсов. Я могу выходит перечислить те методы, которые реализованы в Object и интерфейс все равно останется функциональным:

>>742634
@FunctionalInterface
interface A {
void test();
boolean equals(Object o);
int hashCode();
}
>>742728
#438 #742728
>>742659
Интересно.

javadoc аннотации @FunctionalInterface поясняет эту ситуацию:

http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/lang/FunctionalInterface.java
>>742790
#439 #742790
>>742728
а ок, выходит, документированная.
#440 #743016
Как вы относитесь к ифам с одной инструкцией на новой строке не обрамленной фиг.скобками?
#441 #743032
>>743016
Как того требуют соглашения по оформлению кода. Раньше в юношестве, прочитавши всяких гуру, обрамлял. Сейчас предпочитаю не ставить. В любом случае, если потребуют, кукарекать не буду.
#443 #743060
>>743016
Отрицательно, после того как дописал после такого if одну строчку с логированием, а затем не мог понять что за хуйня происходит.
#444 #743266
А как в нетбинсе выравнивать код. Ну в идее есть такая плюшка. В нетбинсе можно ?
>>743360
#445 #743360
>>743266
alt + shift + f, либо ПКМ на коде -> Format
#446 #743543
Анон, помоги решить проблему.
В общем, решил я настроить себе spring-boot и все у меня получилось, завелся на локалост все как надо.
Вот мой файл pom.xml http://pastebin.com/9vrmMHnx.

Но проблема в том, что для шаблонизации используется thymeleaf шаблонизатор, и приходится каждый раз при изменении шаблон пересобирать проект. Это очень напрягает.
Естественно первое что я сделал, стал курить маны, нашел что нужно в application.property добаить spring.thymeleaf.cache=false, но поскольку я тут, не трудно догадаться что эта хуйня не работает.
Но я не обломался и поел дебажить, в результате пришел к выводу что проблема в том, что у меня шаблоны лежать в java/resources/templates/.

Но предварительно я нашел видос где пояснят за dev-tools https://www.youtube.com/watch?v=A70NMxV13TI и у автора видео шаблоны сука лежат java/resources/templates/.

Анон, помоги может ты сталкивался с таким. ЧЯДНТ?
>>743567
#447 #743567
>>743543
судя по видео, шаблоны >>743543
лежат в src/main/resources
А попробуй переименовать файл application.property в application.properties и положить его в src/main/resources
>>743615
#448 #743615
>>743567

>>application.property


это я опечатался, в проекте у меня application.properties

Я так понимаю апдейтить Ctrl+F9 все таки придется.
>>743623
#449 #743623
>>743615
А что у тебя Ctrl+F9 не работает?
>>743632
#450 #743632
>>743623
Ctrl+F9 работает
Просто я думал, что меняешь шаблон жмешь в браузере F5 и у тебя подтягиваются изменения
>>743637
#452 #743645
>>743637
Да я понял уже, печально конечно, но вроде как пересобираются только измененные части, а не весь проект, так что не критично пока идти таким путем.
#453 #743650
>>743637
Кстати анон, можешь подсказать как лучше сделать иерархию для фронта в проекте?
Ну чтобы там настроить bower, npm, gulp и т.д.
Где какие файлы лучше хранить?
#454 #743815
Энерпрайз боги есть ли на ява какая-нибудь годнота для контарктного программирования?
#455 #743829
>>743815
Не нужно.
>>743843
#457 #743843
>>743829
Поясни по хардкору подробнее.
Постусловия так-то заменяют юнит тесты, но предусловия годная вещь или это нахуй не используют, а мажутся разными @NotNull?
>>743851
101 Кб, 600x338
#458 #743846
>>743830
Лел
Java beans
>>743853
#459 #743851
>>743843
У нас есть Optional, у нас есть Exceptions, у нас есть тестирование.
>>744087
#461 #743875
мужики, что происходит то?
Error: An I/O error occured. Server returned HTTP response code: 522 for URL: http://www.springframework.org/schema/security/spring-security-3.0.3.xsd

эта хуйня не хочет конфигурироваться
>>743906
159 Кб, 1280x1379
#462 #743899
Есть реализация JSR 356 под java 6?
>>743924
#463 #743906
>>743875
При попытке обратиться к урлу http://www.springframework.org/schema/security/spring-security-3.0.3.xsd произошла ошибка чтения, вызванная тем, что сервер вернул код статуса 522.
#464 #743924
>>743899
Кочуй на восьмую, ретроград.
>>743935
#465 #743935
>>743924
портани мне полтора гига тырпрайз кода, и я перекочую
>>743946
#466 #743946
>>743935
Бэквард компатибилити, слышал что-нибудь про это?
>>743949
#467 #743949
>>743946
лал
>>743953
#468 #743953
>>743949
Такие дела, хохол.
#469 #743975
Помогите пожалуйста.
У меня есть ExecutorService.

ExecutorService exec = Executors.newFixedThreadPool(25);
ArrayList<Future<ContentGenerator>> results = new ArrayList<Future<ContentGenerator>>();
for (String keyword : keywords) {
results.add(exec.submit(new Runner(keyword, name, snippetsPercent)));
}
for (Future<ContentGenerator> cg : results) {
try {
ContentGenerator cg1 = cg.get(25, TimeUnit.SECONDS);
saveGeneratedToSQLite(name, cg1);
} catch (Exception e) {
cg.cancel(true);
}
}

В методе call объекта Runner я обращаюсь к сторонней библиотеке. Так вот, проблема в том что эта сторонняя функция один раз из миллиона зависает (найти место зависания естественно нет возможности, ошибка воспроизводится раз в день).
Загрузка ядра 100%, мой таймаут 25 секунд почему-то не отрабатывает и поток зависает навсегда, забивая пул. Как исправить?
>>744002>>744029
#470 #744002
>>743975
Вангую, причина в том, что библиотека не умеет отрабатывать требование прерывания потока. Вот здесь подробно описывается как это работает http://stackoverflow.com/questions/3590000/what-does-java-lang-thread-interrupt-do
tl;dr Тебе придется лезть в сурцы сторонней библиотеки, возможно включать логирование для нее чтобы найти зависшее место. Может даже патчить, если есть сурцы. Недавно сталкивался с похожей проблемой: поток не прерывался из-за того, что ждал окончания выполнения sql-запроса. Решил проблему тем, что перед выполнением sql стал запоминать его preparedStatement, и если нужно было прервать поток, то сначала вызывал interrupt, потом у preparedStatemment вызывал cancel().
#471 #744029
>>743975

>найти место зависания естественно нет возможности, ошибка воспроизводится раз в день


google://jstack
google://java jmx visualvm
google://sigquit java
google://threads dump
google://grep deadlock
google://heap dump
google://watchdogs
google://java "Thread.stop"
>>744056
#472 #744056
>>744029
Могу добавить еще
google://cron
#473 #744087
>>743851

>Optional


>Exceptions



Ясно, я то подумал ты шаришь
>>744108
#474 #744108
>>744087
Что тебе не так?
>>744502
#475 #744131
>>743815
Гугл в помощь. В середине нулевых всплывали какие - то либы на аннотациях, но по большому счету это все была чепуха на постном масле, т/к ничем не отличалось от assertions или проверок с выбрасыванием исключений. Т/е проверки проводились во время исполнения.
>>744502
#476 #744179
А нахуя инстансы классов, если я, как истинный даун могу делать все статическими методами и не плодить сущностей?
#477 #744180
>>744179
Инбифо - кастомизированная под себя фабрика по производству двуствольных фаллоиммитаторов, шоб и в куньку и в бздуньку сразу.
#478 #744185
>>744179
Некоторые так и делают, вперед.
#479 #744236
>>744179
Ну так перекатывайся сразу на Clojure, там таких любят
#480 #744502
>>744108
При чем тут контракты?

>>744131
Нашел некий OVal, не совсем то, но вроде годная штука.
Кстати сonstraint programming и contract programming не одно и тоже? Прологи всякие выдает.
>>744517>>744570
#481 #744517
>>744502

>При чем тут контракты?


При том, что с этими вещами контракты не нужны.
>>744539
#482 #744539
>>744517

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


Можно обойтись
не нужны == можно обойтись
false
>>744574
#483 #744570
>>744502
Разные вещи. Но, кстати по поводу программирования в ограничениях - есть в жабке соответствующий jsr и на эту тему https://jcp.org/en/jsr/detail?id=331.
#484 #744574
>>744539
Начнем с того, что в языке со строгой статической типизацией твоя хуета смысла практически не имеет. А со стандартным подходом к программированию на Java она не нужна в принципе.
>>744584
#485 #744584
>>744574
Что ты несёшь? При чем здесь типизация?
>>744586
#486 #744586
>>744584
Окей, расскажи мне, в чем соль контрактного программирования?
>>744599>>744678
#487 #744599
>>744586
Программирование модулей, при котором их реализация дополняется пред-, пост-условиями и инвариантами.

Пример из 90х - Eiffel.
>>744604>>744607
#488 #744604
>>744599
Нет, зачем оно нужно?
>>744616
#489 #744607
>>744599
Для формализованного доказательства корректности программы.
>>744618
#490 #744616
>>744604
Нет, ты прав конечно, если утверждаешь что это вообще можно делать с помощью системы типов. Но точно не в случае жабы.

А так - верификацию можно осуществлять и сторонними утилитами - т/е это достаточно ортогональные понятия.
#491 #744618
>>744607
Неправильно, это способ избежать падения программы по каким-то причинам - в Java и без того защитное программирование со всех сторон: на вход поступает объект указанного типа, если он может быть null - берем Optional, если факап - Exceptions, корректность работы проверяется тестами, всё.
>>744628>>744636
#492 #744628
>>744618
<<Здесь знаменитая цитата Э. Дейкстра о тестировании>> - можешь погуглить.

Также можешь почитать про https://ru.wikipedia.org/wiki/Логика_Хоара и походить по ссылкам этой статьи.
#493 #744636
>>744618
Кроме того, этим не исчерпываются варианты контрактов. Это могут быть ограничения на диапазон значений или вот необычное пост-условие
@Ensures({ "result >= 0", "Math.abs(x - result * result) < EPS" })

взял отсюда https://github.com/nhatminhle/cofoja
>>744674
#494 #744674
>>744636
Это должно в компайл-тайме провериться?
#495 #744678
>>744586
Типизация тут не причем, eiffel строго типизирован.
В основном полезная суть в предусловиях.
Чтобы клиенту сразу было понятно как юзать метод\класс
Чтобы не городить в методе миллиард проверок на корректность аргументов, нулл ссылки и т.д.
Не писать в комментахконечно же устаревших что мол этот параметр можно только так передать.
Вопрос удобства и сопровождаемости, можно обойтись optional, exeptions, кучей if проверок, можно обойтись и без вышеперечисленного, в конце концов можно и на сях написать, а все контракты соблюдать на словах.

Постусловия и инварианты не очень нужны т.к. это прекрасно выполняют юнит тесты.
>>744692
#496 #744692
>>744678
В моем блабе нет значит и не нужно.
мимодругойанон
А вообще, в жабе действительно много средств аналогичных контрактам. Опционалы, исключения, изобилуют компайл-тайм проверки, да и код почти весь открытый. Давно считается плохим признаком передавать null в метод или из метода. По совокупности, это вполне разумная причина не отягощать язык еще и контрактами. По моему опыту, единственная проверка, которую стоит выносить на компайл-тайм это проверка на нулл, все остальные проверки это уже либо проверки каких-то данных в бд, либо проверки ролей, что вынести в контракт уже не так просто.
#497 #744800
Реквестирую полезные ссылки которые можно добавить в шапку, а также ссылки которые следует убрать из шапки.

Мимо оп.
>>744894
#498 #744894
>>744800
http://www.ibm.com/developerworks/ru/views/java/libraryview.jsp

Куча годноты по ява и платформе.
>>744899
#499 #744899
>>744894
Добавить библиотеку годных книжек с кратким описанием почему это гууд, можно вынести в какой-нибудь pastebin(concurrency in practics, enterprise java patterns, спринги-хуинги в действии и т.д.)

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

А вобще предлагаю создать проект этого треда на гитхабе с кодом шапки, списками фреймвораков, книг и т.д. чтобы любой анон мог предложить свой вариант улучшений.
Коллективным разумом можно такую конфетку забацать.
>>744909
#500 #744909
>>744899

>Коллективным разумом можно такую конфетку забацать.


Можно, но зачем? Меньше народу - больше зарплата кислороду.
>>744953
#501 #744936
недоджуно-кун репортинг ин.
Завтра предстоит проходить тестирование через codility.
Проходил кто в таком формате? Какие задачки там выдает?
Те же, что и в lessons?
#502 #744953
>>744909
Не надо жопить знания.

Вилдфлай форсер
>>744960
#503 #744960
>>744953
А какая мне будет выгода?
>>744966
#504 #744966
>>744960
Больше комьюнити -> больше помощи, литературы -> популярней язык -> больше работы -> большая ценность опытных кадров.
>>744972
#505 #744972
>>744966
Больше комьюнити -> больше дебилов, демпингующих рынок.
больше помощи, литературы -> больше дебилов, демпингующих рынок.
популярней язык -> больше дебилов, демпингующих рынок.
больше работы -> не которую можно набрать дебилов, демпингующих рынок.
большая ценность опытных кадров -> 1 человека на проект достаточно.
#506 #744981
#507 #748154
Java-господа, подскажите пожалуйста годный гайд для изучения JavaFX
#508 #748863
Тупой вопрос, но в чем разница между blocked и waiting?
Тред утонул или удален.
Это копия, сохраненная 6 июня 2016 года.

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

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