Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ? A:Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.
Q: Посоны, собираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом? A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Книги: - 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 - софт скилз.
Q: Хули все книги на английском? A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Я не могу в книги. Наткнулся на джавараш, но в самом верхнем вопросе уловил нотки сарказма. С ним все правда плохо? A: Это очередной курс(выучи джаву за 60 секунд и получай 300к в месяц), основная цель которого - выкачать из тебя деньги.
Q: Всё это хорошо, но без алгоритмов меня на работу не возьмут. A: Не беда, вот курсы от Принстонского университета: https://www.coursera.org/course/algs4partI То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java
>>734182 в принципе годнячок. Писали приложение для учета/контроля/получения статистики по первозкам на такси. Бутстраповый календарик оч пригодился кстати, отдали предпочтение гвт-шному. Алсо по каналу я хз, будет 100 подписонов, спросить думаю какой контент дальше пилить. А теориебство все-таки наскучивает. Что сейчас модно кодить, расскажи? А то я с ебучим Абапом за (аля Кобольд) 2 года я может отстал от современных тенденций.
>>734246 Предлагаю запилить бота для телеграма чтобы он работал в контейнере и умел в jms. При этом умел в криптографию и аутентификацию пользователей. В итоге оформить как компонент для camel
>>734246 Пиши лучше что-нибудь на андройде, тема все еще актуальная! Запили с игруху на базе Юнити ну и соответственно перекотывайся в Андройдо/С# Думаю, просмотры попрут
>>734501 Админ не смог нормально ссылки скопировать, ограничение символ не причем. Зато рекламу впихнуть ума хватило. После моего замечания он просто меня кикнул. Так что думай сам, нужна ли тебе эта конфа.
помогите разобрать проблему. хочу применить аннотацию @Transactional, в мейвен подключил google guice, который как бы предоставляет её, но в коде аннотация красная, и не предлагает импортировать её из джуйса. кто что посоветует?
Пацаны, а жава компилит код на лету прямо во время дебаг рана программы что ли? А то я год постоянно закрывал бинарник и изменял код, а потом снова запускал. Это же сколько времени я потратил, получается.
сап джавач, есть одна контора... короч, хочу отправить своё первое в жизни резюме на почту конторы своего мухосранаска. что черкануть в сообщении кроме вложеного пдф с темой "резюме"? если я напишу "Здравствуйте! Хотел бы начать работу в IT в вашей компании. Прошу посмотреть моё резюме и ответить, если я вас заинтересую", меня не примут за быдло? сцыкую очень, так как раньше такого не делал, да и грамотные товарищи не рассказывали, а долбоёбом я могу быть только тут, с вами. спасибо)
Читаю книжку Хед Ферст. Прочитать про компиляцию jarов, мило, дальше идет описание устройств клиент-серверных приложух с горой кода, нужно это читать? Или сразу приступать к сервер-сайд делам?
>>736457 Ну вот я знаю, что используется в нетти, я сейчас тож пишу свой асинхронный мморпг сервак, но хз как можно выиграть от этого ансейва. Я вообще не видел нигде, чтобы она как-то рассматривалась.
>>736760 Выиграть можно с помощью того же, за счёт чего выигрывают нативные языки. Если ты даже не в курсе чего тебе от него нужно – лучше забей, только ебаться больше будешь вхолостую.
Сап. Хочу настроить вебовские дела. Узнал много новых слов: сервлет (файлы с ними я уже скачал), сервер томкэт (качаю), jsp (формочки, которые непонятно как заменяют старый добрый html код).
Что с этим делать? Куда кидать файлы сервлетов? Как настроить сервак на локалке?
>>737037 1. Error:(10, 68) java: unreported exception java.io.IOException; must be caught or declared to be thrown 2. http://gallerix.ru/storeroom Это? А то я нуфаг Но от урл ничего не зависит
Есть один класс: class A { public void add(int a) { ... } }
От него наследуется другой: class B extends A { public void add(int a, int b) { ... } }
Проблема в том, что для класса B метод add с одним аргументом не имеет смысла, только с двумя. Как его скрыть? Точнее, как отрефакторить это всё? Скрыть же нельзя.
Решение с protected не подходит - это часть публичного апи. Решение с эксепшеном - ок, но грязновато. Я понимаю, что скрыть никак нельзя, но может можно как-то по другому реализовать?
Суть в том, что есть два класса, они очень похожи и второй проще реализовать, если он основан на первом. Но у второго отличаются аргументы у некоторых методов.
>>737109 >>737125 Пиздец, вы вообще не можете в красивое, стройное ОО. А я еще удивлялся и негодовал, почему отдел кадров не может хороших джавистов найти.
>>737132 Я не ебу че он там тупит. Если бы мне надо было, то я бы вообще рефлектом захуярил или просто метод с двумя аргументами создал и super вызвал.
>>737001 Сервлеты - жаба код, который обрабатывает полученные запросы и выдаёт на выходе jsp странички, предварительно запихнув в них нужную инфу. Jsp - сами странички, которые показывают запиханную в них инфу с помощью Jsp тегов. Содержат хтмл код, дополняя его своими жсп штуками. Ну, тут только погугли туториалы, по любому что-нибудь найдётся по запросу "servler jsp tomcat tutorial".
Подскажите, чем себя занять. А то мне на ум нихуя не приходит кроме как очередной парсер страничек делать. Хочется что-то полезное для себя сделать. Уровень сложности миддл какой-нибудь.
как можно выловить момент (в дебагере, скажем в идеи) получения http запроса? И как его эмулировать?
Именно интересно когда и какой поток проснулся и пошел собирать реквест и запускать сервлеты.
Я понимаю, что единственное поймать такое, это где-то в io-стриме повесить брекпоинт. Но есть ли проще подход (сейчас ковыряю spark и хз как эмулировать http запрос там, чтобы дебагер поймал)?
>>737296 эмулировать http запрос можно в браузере, поймать в дебагере чуточку посложнее: поставь бряку в любой работающий сервлет и вызови его. Потом по стактрейсу найди точку входа же.
>>736297 Да много чего. 1.Читаю туторы и нихуя не понятно чем отличается пойнткаты call(someshit) от execute(someshit), что делает cflow. 2.Запили прохладную где применяешь, юзал ли в продакшоне, какие проблемы вылазят при использовании аспектов и aspectJ в часности. 3. Как запилить нормальную поддержку в idea? в плагинах только какой-то post-compilation weaving, судя по всему не то. Сережа Брин советует некий AspectJ Support Plugin, но у меня его нихуя нет(idea ultimate 15)
>>737312 мля, точно. Пере-инверс-наинженерил я сегодня, явно.
>>737297 Оно мне поможет в этих вопросах, или ты просто гуглом заделался (мне же реально понадобится n-времени чтобы понять сие ли это под мои задачи или нет)?
>>737319 Я на работе юзаю Tomcat JPDA Connection. Ставишь брейкопинтов где хочешь, включаешь JPDA соединение и будешь в дебаге видеть все, что происходит
>>734204 (OP) Джавабоги, помогите тупому анону(мне). Проблема такая: пробую метод contains() на ArrayList состоящем из объектов и не работает. Что я хочу сделать: если данного объекта нет в листе, то он добавляется. Проблема в том, что он добавляется даже если уже есть такой.
Вкатываюсь с питона, скажите писать так считается плохим стилем в джаве? class Test { int x; int y; Test(int x, int y) { this.x = x; this.y = y; } } Или выдумывать новые имена переменных в конструкторе?
>>737423 Отличный-чистый стиль без всяких mXXX, _XXX, прям по "дяде Бобу" :)
Кстати, в "современных" языка (Scala/Kotlin/C# 7.0) есть такое понятие как "primary constructor". В нем сразу передаваемые поля становятся свойствами НЕ меняя названия.
В твое случае все описание класса свелось бы к одной строчке: class Test (var x: Int, var y: Int) // x,y были бы и параметрами конструктора и свой-ми класса.
>>737443 лол конечно, еще бы типы писал iNumber, sText...
То есть пару раз в присвоение написать this - ужасно много, а постоянно писать с шифтом "_" это норм (сразу вспомнил пхп с $). Причем когда в IDE жмешь эту "_" тебе вываливается невьебательский список всех приватов, при том что, когда например по какой-то первой букве "s" можно словить автодополение или короткий список.
Сап, джаваны. Вот, решил вкатиться в жабу. Осваиваю ArrayList, в связи с чем решил запилить с его помощью интерпретатор Брейнфака. Обосрамс получился уже на объявлении объекта: компилятор жестоко пиздит сапогом за "ArrayList<byte> tape". Пришлось вместо byte задействовать java.lang.Byte (см. пикрел. строка 14). Но и это еще не все. В строке 45 (инкремент ячейки массива) я никак не могу привести int к этому самому Byte. Что делать посоны? Может быть ArrayList вообще для таких задач не предназначен?
Имхо, если ты байтоёбством надумал заниматься, где важна производительность, то используй старые-добрые массивы примитивов. Конечно, компилятор не поможет в случае чего увидеть unsafe cast, но зато не получишь оверхеда с анбоксингом.
>>737507 Поправка: unsafe cast возможен только если используешь массивы объектов, с примитивами всё безопасно, так что последнее предложение мимо кассы.
Единственный плюс generic-списков над массивами в случае примитивов - автоматическое расширение. селффикс
>>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 Я понял, что он пишет мне Size: 0. Но я не вдупляю, почему так происходит. Я ведь сделал ensureCapacity. Или это еще не значит, что 30000 ячеек там уже есть? Типа, их надо сначала все создать через add?
>>737534 Нет, они там есть, но пихать он в них не будет так как он не знает что они там есть, так как его переменная size = 0. ensureSize просто сделает так что массиву не потребуется расти если ты не будешь пихать туда больше элементов, так что да, тебе прийдется добавить туда фиктивных элементов. Учись смотреть сорцы.
>>737544 Спасибо, анон. Я понял. Проще сделать на обычном массиве, т.к. с ArrayList придется каждый раз проверять, создан ли элемент, чтобы его изменить. Ведь доступ к элементам в Брэинфаке чаще всего осуществляется непоследовательно.
>>737574 Понятно. Но у меня другая проблема. Файл с кодом программы я читаю в память. А проблема с доступом к ячейкам памяти. С фиксированным массивом инкремент делается просто: case '+': tape[index] += 1; break; А вот с ArrayList так сделать нельзя.
>>737631 Ты чё, ёбнутый писать на этом говне? Я думаю, даже сами девы из оракла брезгуют им пользоваться. И да, подобием ждевелопера ты итак в будущем напользуешься вдоволь - sql developer.
Пиздец погуглил энтот хибернет. Оказалось это просто паттерн ОРМ, который я уже применял в одном проекте. Ну почему в кодинге вечно какие-то залупные сложные слова для простых вещей придумывают? https://habrahabr.ru/post/248541/
>>737699 Пока особых различий не заметил. Кроме того, что в Идее автодополнение включено по умолчанию. Зато у нее есть большой недостаток: шрифты именно на моей системе отрисовываются уберговняно (subpixel рябит в глазах, а grayscale замыливает). А тут более-менее терпимо. Я еще совсем нюфаг в Джаве и какими-то киллер-фичами Идеи проникнуться не успел. Включаю ее, чтобы Kotlin-coans порешать.
Ты наверное уже отправил, но лучше поздно, чем никогда. Темболее ещё один товарищ интересуется.
Лучше не "здравствуйте", а "добрый день".
>Хотел бы начать работу в IT в вашей компании.
Тут лучше ссылаться на конкретную должность / объявление. Если такового нет, то сам напиши, кем устраиваться собрался.
>Прошу посмотреть моё резюме и ответить, если я вас заинтересую
"Прикрепляю к данному письму своё резюме в пдф-формате".
В конце не забудь упомянуть, что "Если у вас возникнут дополнительные вопросы, с радостью готов на них ответить".
А вообще такое обращение пишется отдельным файлом и прикрепляется к резюме. Надеюсь, ты так и сделал. Ну а в самом электронном письме этих пары предложений должно быть достаточно.
Как собирать библиотеки из сорцов в ярки? Есть старая версия библиотек и там помимо их еще дополнительные упакованы Так вот этих дополнительных уже нету в сорцах В общем не до конца понимаю как это работает Качать сорцы, все нужные библиотеки и потом собирать? Ну и первый вопрос в силе, в идеи с артефактами не разберусь
>>734204 (OP) может кто помочь? Ебнусь, лабу делаю за день. Методичка кал, примеров нормальных нет. Вообщем формулировка задачи такая: Организовать вычисления в виде стека. Буду пиздец как благодарен
>>737923 >Как собирать библиотеки из сорцов в ярки? Для сбора кода из исходников в jar-архив используются скрипты сборки. Самый растпространенный сборщик это мавен. >Так вот этих дополнительных уже нету в сорцах Нету вообще нигде или нету только у тебя? На search.maven.org искал? >Качать сорцы, все нужные библиотеки и потом собирать? А чего ты, собственно, добиваешься?
Имеется вопрос по сервлетам, загрузке файлов, отправке файлов, и чтоб все это по частям и через HttpUrlConnection. Нагуглил, что нужно использовать chunked-чегототам... Но что-то не соображу сколько запросов будет лететь от клиента, сколько обрабатывает сервер...
>>738471 В старой версии библиотеки были в "коробке" и дополнительные нужные библиотеки типа gson В новой их уже нету, но я их поставил все отдельно Но вопрос открыт, как собирать библиотеки из сорцов
>>738884 Если в исходниках есть pom.xml, то собирать maven'ом. Если есть build.xml, то ant'ом. Если нихуя нет, то простые библиотечки можно попробовать скомпилить поклассово руками через javac, и получившиеся классы запихнуть в папку, назвав её %name%.jar
>>738592 Не нашел там ответов на свои вопросы. Кроме указания "используй это и будет тебе счастье". Вот только я ищу не инструмент, а понимание процесса
>>739154 >кто сможет на пальцах объяснить алгоритм отправки и приема файлов?
Примерно так: Клиент делает это и это в такой-то поочередности, столько-то раз, делая при этом столько-то запросов (организация между которыми делается так-то), такими средствами. Что сервер принимает таким и таким образом, с такими нюансами, обрабатывает так-то, такими средствами.
Нужно мне слать файл через Transfer-Encoding: chunked, чтоб не было out of memory. И клиентскую и серверную часть пишу я, цель - только отправка файлов, так что все лишнее можно урезать. Но что обязательно надо оставить?
>>739179 http://pastebin.com/DkNY3bUa Вот. Этого кода хватает чтобы слать и принимать. Класс O - константы. Колдовство с временными файлами, потому что у меня не получилось писать gzip сразу в/из потока запроса, был внезапный EOF. Вообще, мне говорили, что gzip для бинарников вообще не подходит, и похоже, так оно и есть (хотел еще видео послать и убедиться окончательно), но не успел пока что-то получше взять.
>>739233 Она, и вообще объект класса в котором эта хуйня происходит передадутся в callback и будут заняты пока его (callback) не убьет GC, так что с ними ниче не случится.
Сервлет проблем испытывать не должен с тем каким образом ему файл передается.
И вообще, я отказываюсь верить что в пердоиде за 2016 лет не изобрели своего собственного паттерна для аплоада больших файлов. Ты спрашивал в андроид-тренде?
>>739299 Нет. Подумал, что от андроида тут почти ничего нет, а проблема преимущественно джавы. Спасибо, попробую это переварить
Но пока не сел читать, переспрошу: >Сервлет проблем испытывать не должен с тем каким образом ему файл передается. Это значит, что сервлет даже может и не знать, что контенты был разбит и грузит всегда одинаково одним махом?
>>739308 С гуглежом вечно проблемы. Несколько дней просиживаю в гугле, изучаю какой-нибудь сабж, а потом оказывается, что ответ и искать не надо было, все было всегда под рукой
>>739324 >Это значит, что сервлет даже может и не знать, что контенты был разбит и грузит всегда одинаково одним махом? Сам в этом не имел возможности убедиться, но где-то натыкался на инфу что да. Скорее всего, пока целиком не получен весь запрос у тебя сервлет не будет вызван. Я недавно делал rest-сервис для приема файлов, использовал jersey. Там тоже не понадобилось нигде хардкодить мультипарт. Так что не думаю, что и в сервлетах нужно.
>>739452 Старый дедовский способ с drivermanager сразу забудь, уже давно менеджмент бд возлагают на контейнер. Если твой контейнер - томкат, то настройки бд ты кладешь в META-INF/context.xml, после этого ты можешь получить датасорс и из него брать конекшоны. Вот здесь есть примеры, прокручивай сразу до PostgreSQL https://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
>>739462 Плохой выбор. Гугли glassfish jdbc configuration С получение датасорса так же как и везде, а вот с описанием его гораздо больше мороки. Если еще есть возможность перейти на томкет, то переходи.
>>739464 Блин, да какие асинхронные сервлеты. Мне бложик простой. С этим всем дерьмом буду летом разбираться. А сейчас сессия, надо по-быстрому состряпать свистелки-перделки.
>>739464 Спасибо о великий обладатель знанием. теперь нахуй иди, я сам решу когда и с чем мне ознакомиться. можешь еще конечно пояснить какие горизонты открывают твои сервлеты для rest api, но мне похуй
>>739473 Говна наверни. Хули тогда кукарекаешь о чем не знаешь. Мультипарт аплоад в сервлете работает как не знаешь если.
>>739470 Выкинь гласфишь и не вздумай брать томкат.
Короче ставишь вилдфлайт. Можешь 10. Затем прописываешь себе юзера - как написано в мануале по вилдфлаю. Затем или устанавливаешь драйвер твоей субд как модуль или просто деплоишь его. Затем создаешь датасурсы в админке мспользуя драйвер который ты установил или задеплоил. Затем в своем приложении испольуешь для создания персистенс юнита уже готовый датасорс используя jdni имя его. Это все хорошо описано в интернетах. И в мануале по вилдфлаю в частности
>>739470 В качестве иде используй нетбинс. С ним идут нормальные примеры и самое главное с ним идут плагины для генерации ентитаклассов и контррлеров дао на основе готовой субд. Так же там идут готовые мастера по генерации различных полезных вещей типа еджиби бинов для реализации бизнес логики
Читаю сейчас Java Thread Programming, но одно чтение угнетает меня, и вызывает отчаяние. Хочу написать приложение используя многопоточность, но в голову не идет никаких идей. Может быть у кого есть интересные идеи? Знаю джава кор и есть опыт написания небольших web-приложений на яве. Буду благодарен за любые идеи
>>739727 недавно нашел студенческую лабу, как раз на многопоточность. суть лабы - перемножить две матрицы размерностями от [1;1] до [2048;2048] ( в моём случае размерность вводил пользователь) и выполнить умножение в несколько потоков. Ну и по фану можешь сравнить скорость операции в 1 поток и в несколько
>>734204 (OP) Суп програмач-помогач. Репортирует идиот, который хочет парсить linkedin, но не может в премудрости аутификации (sic!) OAUTH . Более менее понимаю только джаву на уровне пре-джуна. Я пытался ковырять родной API linkedin-a, но не нашел ни толковой документации, ни годных примеров по различным поискам. Сумел только получить пин аутентификации для своей "проги". А всё что мне нужно, это получать html-страницу, ВСЁ.
Обоссыте меня, отпиздите, направьте хотя-бы в правильную сторону, пожалуйста...
>>737423 Названия однобуквенные годятся лишь в качестве локальных переменных, да и то, как индекс, чаще всего. Называй их так, чтобы понятно было, для чего они нужны. Например: int xyu=3; int nu3ga=1; В конструкторе, как правило, на продакшене новые имена не придумывают. Фантазии не хватит) В книжках видел, что типа новые, а на практике все генерят из менюшек своих ide. И оно выдает конструктор, как у тебя.
>>739871 В том-то и дело что я не могу просто получить хтмл страницу, без авторизации. Предлагаешь юзать схему скачать хтмл с браузера? Автоматизацией тут и не пахнет, тащемта.
>>739892 Нет не предлагаю, я просто туда не заглядывал давно. Если у тебя получилось аутентифицировать приложение своё, в REST api у них искал нужное тебе?
>>739896 Да, я его ковырял, с неделю, но всё сложна и нипанятна, есть классы для поиска, но нет конструкторов, да и мне ж нужно 1488 фильтров наставить.
>>734204 (OP) Аноны, где то в треде, возможно в одном из прошлых, была ссылка на сайт. Там были джава проекты, можно было их дорабатывать, вносить изменения и прочее. Проекты разной сложности от манипуляций со String, до всяких тетрисов. Пожалуйста, скиньте ссылку на сайт(это был не гитхаб).
Кто чего скажет по сжатию бинарных данных? gzip тут вообще не катит, бинарки практически не жмет. Сейчас пробовал ZipOutputStream. Может я его неправильно использую, но тоже никак. Сжимать хочу картинки, видео и прочее такое
Анонасы, подскажите следующий момент - есть задача намутить плеер на жаве, с проигрыванием лайв потоков из фиксированного листа. Потоки - хлс и ртмп. С хлс я сам разобрался без проблем, а вот ртпмшные отказываются встроенными средствами откупориваться. Поиск в гугле выдал мне xugger, с которым после долгих совокуплений выяснилось следющая болячка - фатал эррор на 64 битных системах. Вообщем чем можно зацепить поток? Либо аналог xugger но рабочий. Да, это моя первая попытка написать что-то сложнее парсера файликов и решателей квадратных уравнений, не плюйтесь особо.
>>740678 Не, они хороши, чтобы по-быстрому склепать на коленке сайтик для препода в универе, а не для полноценных приложений.хотя зависит от того, для каких
Есть идея для сайта. Так как знаю javaSE и javaFX решил делать его на яве. Какой фреймворк посоветуете? Стоит ли внимания под мои задачи Spring in Action 4th Edition ? рандомпик
>>740721 Лол. Сайт на javafx? Аплет на сайте будешь держать? Очнись, ты не в 2000ых года живёшь, а в >2076 JavaFX используется для написания десктопных приложений. Жаба для сайта может быть максимум на сервере (или GWT, т.е пишешь веб-клиент на яве, а он генерирует javascript и веб странички, но эт сложно для новичков). А для фронта можешь использовать JSP (хотя кому он нахуй нужен?) или какой-нибудь современный javascript фреймворк а-ля angularjs (но ты и жабы-то не знаешь, так что JSP тебе подойдёт). Если хочешь писать десктопное приложение, то насчёт фреймворков для javafx я тебе ничего не скажу, погугли. Я работаю в компании, где написан свой фреймворк на swing, в опен сорсе его нет. Но по-моему делать клиент на жабе - это пиздец и вчерашний день.
>>740721 Есть два стула: фреймворки на базе GWT с готовыми компонентами и фреймворки с шаблонизатором. На какой бы ты ни сел говна употребить придётся изрядно.
В первом случае потому что не сможешь почти ничего кастомизировать, сессии будут протухать со временем раздражая этим пользователей, да и вообще продуктивность разработки веб-приложения в стиле десктоп-приложения ниже чем у нормальной веб-разработки. Во втором потому что помощи от фреймворка будет минимум. Тебе всё равно придётся набрасывать всё тело html вручную. Скорее всего с нуля, потому что изобилия готовых темплейтов и тем для таких фреймворков нет. Хуяк-хуяк и интернет-магазин готов не получится.
Советую посмотреть в сторону Jpython и dJango, ну или JPHP на крайняк.
>>740807 Это второй вариант. Давай ты в общих чертах объяснишь сложная ли планируется разметка, много ли будет типов страниц, таблиц в БД, сложный ли будет процессинг форм.
Предлагаю апсерверо ненавистникам батл. Пишем свою имиджборду на явке. Одна с использованием контейнеров, вторая на пуреява с НИО. Устраивает стресстест по нагрузке. Делаем выводы
>>741068 Байтослесарь порвался. Лучше измерь продуктивность и поддерживаемость такого подхода. Даже на голых сервлетах уже никто не пишет - нужны веб-фреймворки.
>>741182 Ты еблан? Тебе же сказали что байтослесарь какраз тот кто будет на НИО писать веб-говно. Я сомневаюсь, что найдутся долобоебы готовые писать сайтики на нио или сервлетах. Свой тул под задачу же. А твой школьный чеоенж никому кроме таких же упоротых школьников не впал вообще.
Такс, вопрос: где хранить спринговый ApplicationContext, в котором хранятся бины? Я имею в виду, хранить в статической переменной какого-нибудь класса или подцеплять из rest-контроллеров каждый раз?
>>741413 Можно как синглтон, но это пиздец. Ты похоже не понял сути IOC/DI Используй Spring Boot. Наоборот, инстанциируй контроллеры при помощи ApplicationContext/BeanFactory. Используй ApplicationContextAware/BeanFactoryAware.
господа, пытаюсь изучить спринг, выкурил кучу мануалов и тд и тп. но хуй где ХУЙ БЛЯТЬ ГДЕ они напишут про эти блядские 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 у меня описана связь бина дао и датасурса с драйвером, без этого ничего работать не хочет)
>>741505 Тык ты напиши стектрейс весь, хули ты. Бтв, "C:/spring.xml"? Пиздос. Дефолтная папка для ресурсов - resources, внезапно. Там и держи конфиг для спринга.
>>741532 хочу программировать на ведро, приложения всякие, для себя тоже кодить, для этого мне нужна жава. вот с таким раскладом я не потеряю зря время?
>>741536 Если хочешь фрилансить, то тогда у тебя два стула пути: веб и мобильная разработка. В принципе, на ведре можно фрилансить без особых проблем. Но нужно учиться. Учиться быстро и учить дохуя. Так что дерзай.
>>741543 Пушо нужно очень много говна выучить, чтобы начать зарабатывать. По крайней мере, так обстоят дела с обустройством на работу на позицию джуна, насчёт фриланса не уверен.
>>741438 Как это сделать? Имею ввиду чтоб мой проект могли запустить даже на самой днищенской версии jvm, а в идеале хотелось бы в исполняемый файл скомпильнуть, чтоб на любой винде запустилось, но такое ява не позволяет.
>>741598 В maven-compiler-plugin прописать configuration property target 1.7 В gradle targetCompatibility=1.7 > в исполняемый файл скомпильнуть, чтоб на любой винде запустилось Гугли инструменты как можно зашить jre и приложение в exe >>741603 Отлично, теперь сделай mvn clean:clean
>>741604 Правильный совет изначально был установи идею. Он же из иде запускает, иде класспас проставляет и его ресурсы туда не добавила просто. Мавен то из ресурсов в джарку/варку подтянет, но для этого надо запускать приложение не зеленым треугольничком убогого эклипса (или что это там у него на скрине).
Уу-у ска, буду летом учить 24\7, нашел книгу Andy Hunt - Learn to Program with Minecraft Plugins щас по ней ебашу моды для Майнкрафта. Годнота однозначная.
>>741620 Maven он и нужен для того чтобы не использовать непереносимые IDE-специфичные проекты Ant. А если Maven не копирует ресурс в target - это его проблема. Хотя да, у меня в IDEA все норм работает.
Такс, объясните мне такую хуйню: по-хорошему в спринге на каждую таблицу нужно написать entity-класс, DAO-класс, service-класс и сервис в рест-контроллере использовать? Это же дохуища шаблонного кода, это вообще норм?
>>741525 >Только конкуренция сейчас в джаве неадекватно высокая На самом деле, только на уровне джунов и мб миддлов. Сеньёру-помидору найти сытную работу довольно легко.
>>741525 Насколько адекватно я буду смотреться на фоне конкурентов с несколькими проектиками (учебными) на стеке Hibernate/Spring (MVC, Security, Data JPA)/Maven
>>741727 Если у тебя есть возможность получить из объекта инстанс класса которым он параметризован, проверяй и его instanceof (я имею в виду, если у тебя в объекте есть геттер который возвращает <A>, проверяй его значение на instanceof String). Лучше таскай с объектом теги типа.
Привет. В C# можно создавать экземпляры параметра универсального типа так: class Creator<T> where T : new() { public T CreateProduct() { return new T(); } } В плюсах тоже можно. Не нашёл как подобное сделать в Java. Это вообще возможно?
>>741744 Я написал решение как есть, понятно что это говнокод >>741743 Очень костыльно, это так class Creator<T> { public Creator(Class<T> clazz) { this.clazz = clazz; } public T Create() { return clazz.newInstance(); } }
>>741789 Это страшный говнокод... Зачем тебе нетипизированный varargs array на один из элементов которого на самом деле накладываются ограничения по типу?
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
>>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
}
без эксепшенов и с каким-никаким отловом ошибок. Ушел.
Сегодня прогнал текст по регуляркам (в большом тексте вырезал теги и прочую мишуру), так вот великая джава у меня отыграла за 350мс, а зачуханный пхп ту же задачу выполнил за 80мс (в 4,5 раз быстрее).
Многие кукарекнут про Pattern.compile - вне циклов, но циклов не было.
У меня вопрос, почему так все плохо?? Есть ли шустрые регекс-либы на java? Не вставки же на php делать теперь. :)
>>741863 что ты там хочешь увидеть, обычные паттерны вида int flag = Pattern.DOTALL | Pattern.MULTILINE | Pattern.CASE_INSENSITIVE; Pattern.compile("<" + tag + "[^>]>(.?)</" + tag + ">", flag); Pattern.compile("<[/]" + tag + ".?>", flag);
Только это все в методах и передается тег типа head, script, code, pre (на спрашивай зачем).
Можно тысячу раз вопить про то что давай весь код, но факт в том что те же регексы катаются в пхп.
>>741874 >>741879 Ну если ты пишешь одноразовую утилиту, которая будет запускаться редко и из командной строки, то пиши-ка лучше на PHP или Python. А если у тебя нормальное приложение, то поставь флажок CompileThreshold 1 и прогони несколько раз, потом уже замеряй. Да, JVM оче медленно стартует и медленно разогревается. Алсо, парсить XML регулярками - это пиздец.
>>741889 За CompileThreshold, благодарю, погоняю. Нужно именно в джаве, это там часть приложения. Насчет парсинга, я не парсю, а вырезаю некоторые теги, но в большом тексте (типа как страница документации String Boot). DOM анализатором вырезать теги, я думаю еще дольше :)
удалось увеличить скорость в 2 раза добавив атрибут -server, всякие -XX не канают, может IDE что колдует... 140мс это уже рядом с php, что радует (остается только гадать, что там за магия в регексах пхп)
Хеллоу ворлд этому треду. Нужен твой совет, анон. Хочу писать серверные приложения. Прочитал эккеля, первый том хорстманна и алгоритмы сенджвика. С чего лучше начать: beginning java ee 7 или spring in action? Что еще ньюфане стоит почитать?
>>741977 Присоединяюсь к вопросу. О сервлетах знаю, но на дворе уже 2016-й, поэтому есть несколько вопросов.
Spring MVC выглядит как-то менее объемно, нежели J2EE, и является удобной оберткой над сервлетами. Стоит ли вообще тогда лезть к EJB и прочим прелестям J2EE или курить Spring in Action и писать pet-project?
Сервер приложений, вернее, сервера приложений. Поясните, будьте любезны, за них. Что выбрать человеку, который только под jetty, который и сервером приложений назвать нельзя, работал? И на пальцах бы про качественные отличия embedded и не embedded серверов.
>>741992 Если ты спрашиваешь зачем нужны ejb то они тебе не нужны. Ejb без ремоут интерфейсов вырождаются в обычные менеджед бины.
Спринг как бы хипсторы не пытались его противопоставить ЕЕ - по сути тот же ЕЕ, но со своим контейнером контекста, что позволяет запускать его независимо от стека ЕЕ. Внутри же спринг строится на тех же принципах что и ЕЕ. Часть реализаций стандартов своя, но стандарты ты же. Jpa jta jms mbean jax-* и так далее. Конкретно спрингмвц тот же джсф только в профиль. Более продуман и позволяет легче реализовывать нужный функционал не городя jsf+omnifaces+ui как приходится в ЕЕ. Апсервера. Из опенсорс остался годным лишь вилдфлай. Гласфиш протух и не будет развиваться ораклом вообще. Из платных живы все, но вебсфера это ЕЕ6 и некрота. Джейбосс - стейбл ветка вилдфлай но не так популярен, оракловский сервер и сервер под сап - нишевые продукты. Так что если планируешь пилить что то свое - начни и закончи вилдфлаем. В случае с легаси... Ну тут как повезет. Но вебсфера это пезда. Ембедед апсервера это хипсторская хуйня, зачем нужна хз. Но есть вилдфлай-сварм. Не забывай однако что на ЕЕ мир явы не окончен. Есть еще osgi. Karaf и все что под него. В основном там все пилят под вывеской Апач фаундейшен, но и редхат свою сборочку представляет. Суть osgi контейнеров это управление микросервисами. Это интеграционные процессы с участием камела. И даже спрингоприложение можно запустить под карафом. Я с этим чуток работал только с камелом. Камел это охуено. Просто ознакомься. Если не охота держать караф и юзать jms для интеграции с ЕЕ - существует проект wildfly-camel. Расширение вилдфлай позволяющее юзать камел из бинов.
>>741984 Два чая. Мало того что регулярки для парсинга использует, так еще ключи дрочит там где и когда это делать не надо.
К тому же - регулярка неправильная ). Забавы ради или из зловредства можно ШОК! скормить <attr="a" tag>wtf</tag>. Остальные примеры можешь сам поискать.
>>741918 Зачем вообще оптимизировать? Ты профайлинг делал вообще? Алсо, сравни решение на основе substring(), indexOf("</tag>") и тп. если уж религия jsoup использовать не позволяет.
Сап зк. Дайте годных линков по спрингу для полного нуля в MVC в целом и спринге в частности. Нет, в гугле не забанили - но тут концентрат годноты гораздо выше.
Лол, дети набежали. 1. Сказали уже не парсинг, а чистка тегов (хотя это тоже парсинг, просто шаблоно мыслящие дегинераты под парсингом подразумевают разбор дерева html). Только уеба будет DOM анализатором чистить теги. 2. >К тому же - регулярка неправильная ) Умничка, откуда ты, чудо мое, знаешь, что там за документ и что там еще делается (регулярка может быть уже в каком-то контексте событий).
Увидели в одном тексте - регексы и html и зразу же в умах врублися шаблон.
PS и да, джава на регекса пиздецски тормозить, лучше бы либы какую кинули
>>742058 Уеба ты конская, ты понимаешь, что пробежаться той ругялркой в десятки раз будет дешевле чем распарсить ДАЖЕ последовательно документ, с хуева тучей ветвлений и циклов в парсинге, а потом высечь тег и собрать снова. Но откуда тебе знать, ты же выдресирова понимать - xml - значит бери всегда DOM-парсер
>>742059 Вонизм у тебя в голове, ты же понимаешь что ты глупый джун, который делает выводы по одной строчки кода, думая что парсится веб страница (да мой малыш, там много кода, просто замер именно по этому регексу был).
Я тебе могу сейчас другой регекс вне контекста DOM написать, у тебя наверно твой юный мозг вообще порвет, да?
>>742077 Маня - беги перечитывать конспекты. Здесь люди свободно употребляют слово парсинг в том числе и в самом общем смысле - разбор структурированных данных.
Что-то пасаны странно всё это. Долго не мог устроиться джуном, даже выучив спринг и хибер искал работу джва месяца, устроился... Прошло полтора месяца интернатуры, за это время написал строчек 50 кода. Веду переписку с индусами, перезваниваюсь с ними, доки пишу, конфиги ковыряю. Это вообще норма?
>>742209 Интерн девелопер. Но сразу сказали, что активной разработки на проекте сейчас не ведется, поддержка и саппорт. А хули мне было делать, больше меня никто не брал. Вот думаю поработать с годик, чтобы опыт был по трудовой, а потом требовать перевода в другой проект или съебать.
>>742218 >чтобы опыт был по трудовой Кого ебёт твоя трудовая вообще? Выкинь эту срань из головы. Уровень твоей экспертизы оценивается из собеседований и резюме.
>>742231 ну допустим ты параллеьно сам дрочишь и потом будешь тащить на собеседовании вангую что возьмут чела который писал 5 строк в месяц и имеет год официального опыта(проверяют же), а хую с горы будь он хоть второй одерски предложат джуновскую зп и завалят сцаными вопросами по синтаксису\дрочке наизусть библиотек и т.д.
>>742231 Потому что если ты присылаешь резюме, в котором рассказываешь, какой ты охуенный и какие библиотеки знаешь, но при этом у тебя НОЛЬ опыта в разработке, левая вышка и тебе 25+, то с высокой вероятностью твой гитхаб даже открывать не станут.
>>742321 Как хочешь, так и преподноси, но тут всё очень от HRа зависит. Если у него от начальства есть задача "найти человека с опытом от 3 лет", то твоё фриланс-резюме он может тупо выбросить в мусорку.
>>742321 лал, как будто кто-то поверит что с фриланса можно выгодно перекатиться в офис. Если мне будет человек задвигать что он вот ъоть три года фрилансил а теперь хочет ко мне в оффис, то я скажу сорь фрилансеры не нужны)
>>742206 А чем плохо анон? Можно параллельно качать скил, заодно будет капать опыт и зарплата. Много лучше чем 24\7 ебашить вещи, которые ты уже с закрытыми глазами можешь делать
>>742360 Ты, блядь, смешал все в кучу про osgi, karaf, camel. Osgi - это просто стандарт построения модульного приложения, как эти модули взаимодействуют друг с другом. Есть несколько реализаций этого стандарта: Equinox и Felix. Karaf - это сервер приложений. Он состоит из osgi фреймворка и набора бандлов, которые отвечают за чтение конфигураций, сервис транзакций, вебсервер. Тот же самый караф можно собрать и самому, но есть шансы напороться на конфликтующие библиотеки. А тут уже все более-менее притерто друг к другу. Есть более расширенные сборки osgi сервера: servicemix, fuseesb. А camel - всего лишь библиотека для интеграции различных сервисов. Ее можно использовать и в osgi среде, и в spring приложении, и даже в голом java-se приложении.
>>741996 Тут еще надо добавить что wildfly, вроде как, сертифицирован всякими ФАПСИ и тп прикормышами, так что может использоваться в попильных рашкинских проектах, связанных с оборонкой и тп.
В интерфейсе 2 абстрактных метода, и при этом он помечен @FunctionalInterface - wtf? В функциональном интерфейсе может быть только 1 абстрактный метод. Ок, едем далее. Второй абстрактный метод - boolean equals(Object obj);. Зачем? Что он там делает? И как он себя проявляет? Непонимат, поясните антоши.
>>742634 Интересная недокументированная фича функциональных интерфейсов. Я могу выходит перечислить те методы, которые реализованы в Object и интерфейс все равно останется функциональным:
>>742634 @FunctionalInterface interface A { void test(); boolean equals(Object o); int hashCode(); }
>>743016 Как того требуют соглашения по оформлению кода. Раньше в юношестве, прочитавши всяких гуру, обрамлял. Сейчас предпочитаю не ставить. В любом случае, если потребуют, кукарекать не буду.
Анон, помоги решить проблему. В общем, решил я настроить себе spring-boot и все у меня получилось, завелся на локалост все как надо. Вот мой файл pom.xml http://pastebin.com/9vrmMHnx.
Но проблема в том, что для шаблонизации используется thymeleaf шаблонизатор, и приходится каждый раз при изменении шаблон пересобирать проект. Это очень напрягает. Естественно первое что я сделал, стал курить маны, нашел что нужно в application.property добаить spring.thymeleaf.cache=false, но поскольку я тут, не трудно догадаться что эта хуйня не работает. Но я не обломался и поел дебажить, в результате пришел к выводу что проблема в том, что у меня шаблоны лежать в java/resources/templates/.
>>743543 судя по видео, шаблоны >>743543 лежат в src/main/resources А попробуй переименовать файл application.property в application.properties и положить его в src/main/resources
>>743637 Да я понял уже, печально конечно, но вроде как пересобираются только измененные части, а не весь проект, так что не критично пока идти таким путем.
>>743637 Кстати анон, можешь подсказать как лучше сделать иерархию для фронта в проекте? Ну чтобы там настроить bower, npm, gulp и т.д. Где какие файлы лучше хранить?
>>743829 Поясни по хардкору подробнее. Постусловия так-то заменяют юнит тесты, но предусловия годная вещь или это нахуй не используют, а мажутся разными @NotNull?
В методе call объекта Runner я обращаюсь к сторонней библиотеке. Так вот, проблема в том что эта сторонняя функция один раз из миллиона зависает (найти место зависания естественно нет возможности, ошибка воспроизводится раз в день). Загрузка ядра 100%, мой таймаут 25 секунд почему-то не отрабатывает и поток зависает навсегда, забивая пул. Как исправить?
>>743975 Вангую, причина в том, что библиотека не умеет отрабатывать требование прерывания потока. Вот здесь подробно описывается как это работает http://stackoverflow.com/questions/3590000/what-does-java-lang-thread-interrupt-do tl;dr Тебе придется лезть в сурцы сторонней библиотеки, возможно включать логирование для нее чтобы найти зависшее место. Может даже патчить, если есть сурцы. Недавно сталкивался с похожей проблемой: поток не прерывался из-за того, что ждал окончания выполнения sql-запроса. Решил проблему тем, что перед выполнением sql стал запоминать его preparedStatement, и если нужно было прервать поток, то сначала вызывал interrupt, потом у preparedStatemment вызывал cancel().
>>743815 Гугл в помощь. В середине нулевых всплывали какие - то либы на аннотациях, но по большому счету это все была чепуха на постном масле, т/к ничем не отличалось от assertions или проверок с выбрасыванием исключений. Т/е проверки проводились во время исполнения.
>>744131 Нашел некий OVal, не совсем то, но вроде годная штука. Кстати сonstraint programming и contract programming не одно и тоже? Прологи всякие выдает.
>>744539 Начнем с того, что в языке со строгой статической типизацией твоя хуета смысла практически не имеет. А со стандартным подходом к программированию на Java она не нужна в принципе.
>>744607 Неправильно, это способ избежать падения программы по каким-то причинам - в Java и без того защитное программирование со всех сторон: на вход поступает объект указанного типа, если он может быть null - берем Optional, если факап - Exceptions, корректность работы проверяется тестами, всё.
>>744618 Кроме того, этим не исчерпываются варианты контрактов. Это могут быть ограничения на диапазон значений или вот необычное пост-условие @Ensures({ "result >= 0", "Math.abs(x - result * result) < EPS" })
>>744586 Типизация тут не причем, eiffel строго типизирован. В основном полезная суть в предусловиях. Чтобы клиенту сразу было понятно как юзать метод\класс Чтобы не городить в методе миллиард проверок на корректность аргументов, нулл ссылки и т.д. Не писать в комментахконечно же устаревших что мол этот параметр можно только так передать. Вопрос удобства и сопровождаемости, можно обойтись optional, exeptions, кучей if проверок, можно обойтись и без вышеперечисленного, в конце концов можно и на сях написать, а все контракты соблюдать на словах.
Постусловия и инварианты не очень нужны т.к. это прекрасно выполняют юнит тесты.
>>744678 В моем блабе нет значит и не нужно. мимодругойанон А вообще, в жабе действительно много средств аналогичных контрактам. Опционалы, исключения, изобилуют компайл-тайм проверки, да и код почти весь открытый. Давно считается плохим признаком передавать null в метод или из метода. По совокупности, это вполне разумная причина не отягощать язык еще и контрактами. По моему опыту, единственная проверка, которую стоит выносить на компайл-тайм это проверка на нулл, все остальные проверки это уже либо проверки каких-то данных в бд, либо проверки ролей, что вынести в контракт уже не так просто.
>>744894 Добавить библиотеку годных книжек с кратким описанием почему это гууд, можно вынести в какой-нибудь pastebin(concurrency in practics, enterprise java patterns, спринги-хуинги в действии и т.д.)
Добавить вместо или вместе с майндмапом краткий список обзор фреймворков серверов и прочих штук из awesome-java github т.к. кроме звездочек ньюфагу не понятно что там используется, а что хуита.
А вобще предлагаю создать проект этого треда на гитхабе с кодом шапки, списками фреймвораков, книг и т.д. чтобы любой анон мог предложить свой вариант улучшений. Коллективным разумом можно такую конфетку забацать.
недоджуно-кун репортинг ин. Завтра предстоит проходить тестирование через codility. Проходил кто в таком формате? Какие задачки там выдает? Те же, что и в lessons?
>>744966 Больше комьюнити -> больше дебилов, демпингующих рынок. больше помощи, литературы -> больше дебилов, демпингующих рынок. популярней язык -> больше дебилов, демпингующих рынок. больше работы -> не которую можно набрать дебилов, демпингующих рынок. большая ценность опытных кадров -> 1 человека на проект достаточно.
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
Предыдущий тред тонет тут