Этот тред для тех, кто пишет (или хочет научиться писать) на кроссплатформенном, свободном, и самом распространенном языке современности. Java это воистину простой как камень и потому бессмертный язык. Во время войны в Ираке, американские солдаты выбрасывали свои ЯП, и подбирали Java. Британские ученые провели исследование, в результате которого выявили 58 видов Java. Женщины Вестероса шьют флаги и слагают песни в честь Java. Как тут не оставаться равнодушным? Список технологий от анона: https://www.mindmup.com/#m:a18a46920078b501324d413eb2d5f2d54c (не работает. Автор, почини).
7. Всё это хорошо, но без алгоритмов меня на работу не возьмут. Не беда вот курсы от Принстонского университета https://www.coursera.org/course/algs4partI То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java
>>532909 >открыл вакансии >В компанию "ОС Груп" требуется программист-стажер для участия в разработках Web Front-end/Java Back-end. >стажер >Знание Spring (MVC, Data JPA, Security, IO), Hibernate >Знание Spring Boot, Spring AMQP, Apache Camel >Опыт работы с РСУБД (PostgreSQL, Oracle) Да идите вы нахуй, блять.
То есть, для устройства стажером всю ту хрень по явке, которую я читаю(дрочу потоки ввода/вывода, многопоточность, автоупаковку и т.д.) большинство из этого мне не понадобится, а понадобятся JavaServerFaces и прочие приблуды? Поясните нюфагу
>>533249 > потоки ввода/вывода Джуниору нужны по сути только операции с файловой системой и up-/download файлов в HTTP-формочке. > многопоточность В реальной понадобится Runnable/Callable<T>. Ну и шаблон "Ленивый одиночка". > автоупаковку Вообще хуйня. Если не будешь заниматься байтослесарством на жабе (что то еще извращение), можно просто забить.
>>533660 >>533663 Но гарбейджколлектор не сразу чистит же. В результате вместо одного выделенного булеана будет дохуя. По проектированию да, второе правильно. Сегодня слышал что разницы нету и оно не пересоздается дохуя раз. Хотел бы подробнее почитать. >>533665 Экземпляр примитива, так лучше?
И снова >>533684-кун на связи. Может кто пояснить за создание RESTful сервиса на базе Spring? Использую @RestController, но появляется ошибка, что не найдена вьюшка.jsp. Что вообще происходит? Эта аннотация как раз и используется, чтобы без вьюшки отдавать ответ.
>>533785 забей, тут походу до спринга доучилось 3.5 анона, им до такимх как мы дела нет, что, в принципе, закономерно. остальные - благородные джавараш-петушки, которым до спринга как мне до пенсии.
Аноны, хочу найти работу java+spring. Сам работал 4 года на серверной части с делфи, тесно взыимодействовал с бд, немного фронтенда. Работал, тк хотел менеджером проектов стать. А когда стал, понял, что дерьмо это. Хочу обратно в программирование, но только перспективное и востребованное. Хочу именно серверной логикой заниматься, поэтому java приглянулась. Дома заботал java.core, hibernate поднял и с бд поигрался. Enterprise-java-опыта нет. Но я знаю ооп и патерны из c++. Вопрос: насколько реально в дс мне устроиться на 80к?
>>533785 Если что-то не работает, то пизди чужой код, пробуй запустить его. Если он заработал, то пробуй на его основе добавлять что-то своё. Ах, ещё, не забывай пользоваться ctrl + z. Всегда спасает.
>>533785 Что метод возвращает? >>533805 Я бы тебе порекомендовал идти не в Java, а в C#, потому как у тебя опыт вендовее. Если все же хочешь Java, то читай про Spring IOC и MVC, потом зубришь типовые вопросы по собеседованиям и вперед. На 80К вполне реально устроиться.
>>533871 Спасибо, анон. А вот как себя подавать на собеседовании? Я побаиваюсь, что если пиздеть "да я год на жабе кодил", то когда возьмут, могут пойти вопросы типа "чей-та ты год работал, а как мавеном из репозитория забирать не знаешь?" - вопросы, которые подразумевают, что человек, год кодивший jee, знает, как их решать.
Сап, джавач. В общем, есть одна стажировка. Просят прислать резюме и пример кода. На Java я вкатился очень недавно, но хочется прислать им что-то серьезней, чем hello world. Есть какие-нибудь идеи проектов, которые можно закодить? Требование до 500 строк.
>>533917 А не надо пиздеть. Честно сказать, что опыта нет, но типа быстро учишься, "умеешь разбираться в чужом коде". > мавеном из репозитория забирать не знаешь? Настроек по умолчанию обычно хватает.
>>533973 >ищешь какое нибудь говно Вот на этом этапе у меня и тупик. Там либо для ведра какое-нибудь говно, либо какие-то узкоспециализированные проекты.
>>533980 Я - тот анон, который из делфи переходит. гугли Hibernate. Когда дома разворачивал, больше ебался с тем, чтоб jdbc настроить на mysql. На хабре все шаги расписаны.
>>534001 Я не тот анон, но кароче. Хуячишь БД с разными итемами типа "название", "значение". Хуячишь запрос к БД, достаешь "названия", кидаешь рандомный итем на поле. В момент сжирания змеей итема, добавляешь столько очков, сколько у этого итема "значение" и пишешь в сосноль "название" итема. После этого допиливай новую таблицу в которую будешь писать статистику. Делаешь триггеры-хуигеры, и обновляешь таблицу при жранье. После проеба выдаешь сводку по статистике и прочей хуете.
А есть сайт вроде этого http://htmlbook.ru/ ? А то в книге дохуя всего накидывают в голову и сразу хуй запомнишь. Ну или какие нибудь пикчи-шпаргалки вроде "хуита - делат это, хуитища - делает это".
>>533799 >>533819 >>533871 Код взял из официальной документации. https://spring.io/guides/gs/rest-service/ Но я даже спиздить нормально не смог, но обо всем по порядку: 1. Установил tomcat. Его я буду использовать как сервер для запуска приложения. 2. Установил maven. Это для сборки проекта в war-файл. 3. Создал в IntelliJ IDEA проект с использованием Spring MVC. Далее соглашаюсь на создание типового проекта по шаблону. Ок, все создано, файлы на местах и никаких ошибок. 4. Создаю 2 файла, которые я взял с документации: Greetings.java и RestController.java. И здесь вроде ничего сложного. 5. Пятый пункт будет с небольшой оговоркой: у меня все завелось на рабочем компе и появилась ошибка с которой я сюда пришел изначально >>533785. Сейчас я дома и у меня даже war-файл не собирается, а ведь он необходим для запуске на сервере, как я понимаю. Проблема в том, что я не полностью понимаю, что я вообще делаю. И теперь я, наконец, дошел до вопросов. 1. Можно ли запустить сервер без war-файла? 2. Поясните за сборщики и серверы. Я думал, что там хуя-хуяк и сервер, а потом открыл настройки и там эти maven`ы, tomcat`ы, spring dm server`ы, moch`и... 3. Тестовое задание необходимо отправить как war-файл и инструкцию по развертыванию, но я не ебу какой у них там сервер. Как составляются эти инструкции? Как развертывается сервер?
>>533688 Джава- ашина умный, джава машина может переиспользовать память только что удалённой переменной. Чиатй задачу 4 и ветку, начинающуюся с заспойлеренного коммента про неё http://habrahabr.ru/company/jugru/blog/255869/
>>534089 Большое спасибо, но это мне ни о чем пока не говорит, рили. Если ты о том, что я его должен был подключить или еще что с ним сделать то, расскажи подробнее, пожалуйста. И да, если в проекте чего то не хватает то, почему не валятся ошибки и не перезагружается комп?
>>534081 >>534093 Да, используй Spring Boot - это просто предконфигурированный Spring + еще ништяки. > 1. Можно ли запустить сервер без war-файла? Можно запустить на embedded контейнере сервлетов - получится обычный JAR-файл. Spring Boot по умолчанию использует embedded tomcat, в документации написано как собирать WAR-файлы. > сборщики Для простого проекта почти ничего конфигурировать не надо. Надо прописать плагин контейнера сервлетов для Mьaven, чтобы можно было сразу деплоить приложение на него. > серверы Читай что такое вообще сервлеты и EE. Используй Tomcat. > но я не ебу какой у них там сервер Это не важно, если использовать стандартное API. > Как составляются эти инструкции? Например, прописать JNDI настройки подключения JDBC. > Как развертывается сервер? 1. Кликаешь "upload war" или что-то такое. 2. Выбираешь WAR-файл. 3. Вы восхитительны. Либо вручную разархивировать War-файл как ZIP-файл в нужную папку.
>>534108 >Для простого проекта почти ничего конфигурировать не надо. Надо прописать плагин контейнера сервлетов для Mьaven, чтобы можно было сразу деплоить приложение на него. Где это все прописывается?
>>534111 Вот нахуй ты делаешь тестовое задание, если даже основ не знаешь? Думаешь, что с тобой будут на работе нянчится? Или вообще надеешься, что пройдёшь собеседование? Хуй там, на собеседовании всё вскроется и пизда тебе.
Аноны, чувствую себя гипертупым. Читаю джавараш, 13 лвл, вместе с тем еще пару тройку книг+иногда лекции Ткача и немного Файна. Но я блять все равно испытываю сложности с кучей вещей-интерфейсы, или блять даже c ебучим статиком, где он нахер нужен. Может, у кого-то было такое? Это блять тупик?
Аноны, чувствую себя гипертупым. Читаю джавараш, 13 лвл, вместе с тем еще пару тройку книг+иногда лекции Ткача и немного Файна. Но я блять все равно испытываю сложности с кучей вещей-интерфейсы, или блять даже c ебучим статиком, где он нахер нужен. Может, у кого-то было такое? Это блять тупик?
Аноны, чувствую себя гипертупым. Читаю джавараш, 13 лвл, вместе с тем еще пару тройку книг+иногда лекции Ткача и немного Файна. Но я блять все равно испытываю сложности с кучей вещей-интерфейсы, или блять даже c ебучим статиком, где он нахер нужен. Может, у кого-то было такое? Это блять тупик?
Посоны хеллоу. Я тут проектик для себя клепаю без особых целей. Суть: создавать и запускать созданные тесты Java Se/Fx 8. В общем-то билдер тестов готов, осталось запускалку написать что в общем-то недолго. Нужны какие-то рекомендации по структуре/архитектуре. Короче буду рад если кто-нибудь ревью запилит. Если есть желание присоединяйтесь. Там ещё многое можно запилить. Можно в веб выложить.
>>534176 >Может, у кого-то было такое? Это блять тупик? Да, причём всей программной инженерии. Не только Java. И в ближайшее два года количество ключевых слов в языках ещё удвоится, так-то!
>>534231 Беглый взгляд: Отделить бизнес-логику от логики представления (MVC, MVP, MVMP вот это вот все). Не увидел, чтобы эфикстовые проперти и биндинги использовались, сплошной олд-скулл процедурный код и заборы из сеттеров. Прикола с выбором языка не понял - старый добрый ResourceBundle и установка локали, если так хочется, чем не угодили? Локализованные строки в FXML поддерживаются из коробки. QuizConstructorController.answersGridIsEmpty() - collect(Collectors.toList()).size() == 0 просто лол, и в целом индус будто натанцевал.
>>534261 >Отделить бизнес-логику от логики представления (MVC, MVP, MVMP вот это вот все).
Ну так сейчас и так вроде MVP не? View - собственно FXML, Model - POJO классы, а логика в контроллерах, что не так?
>Не увидел, чтобы эфикстовые проперти и биндинги использовались
Не совсем понял что имеешь ввиду. TextFields и иже с ними инжектятся через @FXML аннотацию и соотвтественно с ними и работаю, это же и есть биндинг не?
>Прикола с выбором языка не понял - старый добрый ResourceBundle и установка локали, если так хочется
Со вторым языком пока не заморачивался. Потом всё вынесу в properties конечно же.
>QuizConstructorController.answersGridIsEmpty() - collect(Collectors.toList()).size() == 0 просто лол, и в целом индус будто натанцевал.
Ну бле, если надо узнать пустой ли грид какие ещё варианты? Если у дефолтового GridPane нет подходящего метода. Твой вариант?
Есть приложение с подключенной БД: Юзеры программы и товары. Есть логин в программе через проверку таблицы юзеров. Нужно запилить работу определенных юзеров с бд, и логгинг ВСЕХ ДЕЙСТВИЙ. Напрмиер: Есть пользователь Вася, он может только получать через программу, забивать товар в покупку, и после этого программа делает update количества товара в бд. Это все логгится. Есть адвансед-юзер Петя, он может добавлять через програмный УИ в дб товары, или менять значения текущих. Это все логгится. Что нужно использовать и как делать?
>>534300 это типа тестовое? если по фреймворкам ограничений нет, то кури spring mvc, spring security, hibernate, spring data и какой-нибудь логер. вообще хуйня задание, как два пальца обоссать. но если ты не знаешь как его сделать, то лучше забей и дай дорогу другим.
>>534300 »534300 Господи, надеюсь ты для себя это делаешь, а не на собеседовании это задали. Сука, вообще, хуле ты не загуглил это, тормоз такой. Изначально хоть свою БД бы указал. В оракле чтобы включить логирование нужно добавить строчку в два файла. Для 10g по крайней мере. Далее команды что логировать и для кого в обычную консоль. Для остального всего у тебя есть ПОЛЬЗОВАТЕЛИ и РОЛИ, скотина ленивая. Делаешь роль с какими то правами, грантишь ее юзеру. Изначально только, перед тем как что-то разрешать убери все права, и после этого добавляй.
Посоны, вопрос походу крайне тупой. Но что значит запись new A().new B()? В-наследник А. И вообще довольно часто такое встречаю. МОжет быть, что interface,new A(); или интерфйес и просто переменная.
>>534322 Если new SomeClass.someMethod() допустим, то это обращение к НЕстатическому методу другого класса. К статическим обращение идет просто через название класса типа (без new) SomeStaticClass.someStaticMethod. Переменные же, через точку, вроде как делают то же самое. Другими словами через new SomeClass.someVariable = 5; мы из своего класса обратимся к классу SomeClass и его переменной дадим значение 5
>>534336 Спасибо, про методы знаю. Т.е. мы во время работы. например, в main чтото там делаем, затем меняем в нашем классе пременную в другом классе? В общем-то понятно, но не могу представить случай, когда такое нужно делать. Увидел вот этот пример http://www.quizful.net/interview/java/variables-in-java и не понял последнюю строчку, что они вызывали.
>>534348 Другое дело. Это non static nested class, а нестатический встроенный класс всегда имеет сслыку на экземпляр внешнего класса (в твоем случаем T). Т.е. без объекта класса Т невозможно создать объект класса B (и A тоже).
>>534365 Я понял. Надо прочесть про эти классы. Спасибо. БЛя вот это в джавараше раздражает, конечно. Куча хуйни, о которой даже не знаю, уже есть в задачках, причем написали сами.
>>534279 >логика в контроллерах Бытует мнение, что бизнес-логику, которая оперирует терминами модели, лучше бы отделять от логики, которая отвечает за представление. Если я выбираю значение в комбобоксе answerType, то логика представления должна для текущего Question установить questionType, далее логика модели изменяет модель, например, создавая новый Answer или их список, в зависимости от нового значения questionType. Далее т.к. модель изменилась, перестраивается представление - очищаются/заполняются твои gridpane'ы и т.д. Далее, чтобы не городить кучи слушателей, вызывающих сетеры, в javafx скрыли все это добавив интерфейс Property, у которого есть методы bind(), чтобы связать свойства модели с компонентами, т.е. я пишу questionTypeProperty.bind(answerType.getSelectionModel().selectedItemProperty()) и моя модель автоматически обновляется.
>если надо узнать пустой ли грид какие ещё варианты да я собственно, про collect(Collectors.toList()).size() == 0, у стрима есть count(), зачем создавать лишний список, и map() с приведением типа вроде лишний, может остался после изменений каких. И, возможно, использование Stream::anyMath\noneMatch было бы эффективнее.
>>534483 Короче, я пробовал это первый раз. Поставил брекпоинт на doAccess(); Нажал на кнопку и он сразу остановился на > File file = new File("C:\\godno.txt"); значит проблема в этом? файл там точно не лежит
>>534487 Поставь точку остановки тут >File file = new File("C:\\godno.txt"); А дальше нажимай f8 пока выполнение не прервётся (не дойдя до последней строчки твоего метода перейдёт в другой "страшный джавишый непонятный файл").
>>534493 Я не могу понять, ты толстый или тупой? Эксепшн бросает какая-то строчка в doAccess, теперь ты должен идти по всему методу и смотреть какая именно. Для этого поставь брейкпоинт на первой строчке метода и нажимай f8 пока не вывалится. Запомни строчку. Потом обращайся сюда за доп.инструкциями. как же вы лезете в андроид не зная ничего
>>534495 >>534496 А если файл поместить в саму программу рядом с mainactivity.java, то как до него путь указать? Путь будет абсолютный или отсосительный?
>>534497 Насколько я представляю работу эмулятора, это что-то вроде виртуальной машины, чтобы из под убунты запускать винду. Ты же не можешь из виртуалки получить доступ к файлам основной системы. Файл нужно создавать. У вас есть метод, который выполняется сразу после запуска прилаги? Закинь туда код для создания файла (на время девелопа, естественно) и дело с концом.
>>534497 >файл поместить в саму программу рядом с mainactivity.java Не так прочитал. Помещать файл нужно в папку resources градла. Посмотри в гугле, как засунуть в apk файл статические ресурсы.
Просветите поглубже про ejb: 1. вызов конструктора ejb и простого класса - разные вещи? При вызове конструктора ejb в реальности не происходит выделения памяти, а происходит lookup в пуле ejb, и выбирается свободный бин с соответствующим интерфейсом? Что произойдет, когда в пуле не будет хватать места под новые бины?
2. Мне нужно реализовать следующее поведение: от клиентов приходят сообщения в jms listener, необходимо на основе сообщения сделать пару обращений к базам данных, и записать результат в базу. Разумно ли это все реализовать в виде mdb, цепочки stateless ejb для процессинга, пары jpa entities для общения с базами?
3. Я правильно понимаю, что при любых асинхронных процессах, в частности, при неопределенном времени обращения к базам данных, сторонним ресурсам, вместо того, чтобы городить цепочку из объеков, связанных между собой очередями, выгоднее использовать цепочку из ejb?
Аноны, может кто-нибудь, пожалуйста пояснить вот по этому коду http://ideone.com/kGmAtQ А именно вот эту строчку System.out.println(new Hobbie().INDEX); Новый элемент класса взаимодействует со статической переменной интерфейса и по умолчанию вызвывается переопределенный toString? Вообще как-то тухло дела, как начал работать с интерфейсами. Как я понимаю, появились скрытые и вложенные класы и тому подобное.
>>534872 Блять, вот я и не могу понять, какого хуя они взаимодействуют? Это же блять не метод, это просто поле класса, схуяль принтлн выводит "2"? Поясни, пожалуйста, про новый экземпляр. В принтлн новый-я понимаю, а причем тут тот, что в интефейсе?
Джаваны ньюфаг вопрошает. Прочитал хорстмана и решил двигаться дальше. Все эти некромантские jsp ejb jax-ws и прочее решил заигноритб ибо не нужно. Решил сразу обмазаться спринг фреймворком. Качнул 4 издание спринг ин экшон на англише и охуел. Автору хочется уебать с ноги за его графоманство. Блядь это не учебник а хз что. Без словаря не осилить блять. Качнул 3 русское. Но там спринг 3 версии. Вопрос. Стоит ли обмазываться 3 спрингом на русском или превозмогать 4 на ингрише?
>>534934 Этот анон >>534949 правильно говорит, без ангельского ты никому не нужен. А вообще - да, стоит. Лучше книжки для необучаемых варваров пока не придумали (еще и туториалы сойдут). К сожалению для нас, в четвертой версии фич немного завезли. А в пятой - еще меньше будет.
>>534883 Во-первых, вызывать можно методы, а не классы, поля и переменные. Переменная - это значение, как ты его вызывать собрался? Функциональщики, не лезьте, только спугнете. Во-вторых, я нихера не понимаю, что ты имеешь в виду под "взаимодействуют". Но попробую обеснить, что происходит в твоем примере.
Сначала, что такое статическое поле. "Статическое" значит, что это поле не экземпляра класса, а общее для всех экземпляров. В грубом приближении можешь считать его глобальной переменной, если знаешь, что это такое. Например, ты пишешь класс, который выводит данные о юзере, в том числе дату рождения. Но выводить дату можно в разных форматах: день/месяц/год, год-месяц-день, количество секунд с дня рождения макаки и т.д. Чтобы все инстансы твоего класса выводили даты в одинаковом формате, этот формат ты вычитываешь на старте приложения и сохраняешь в статическое поле, а все инстансы при выводе используют значение этого поля. И если пользователь приложения захочет поменять формат, то ты только апдейтишь это статическое поле, и во всех классах будет использоваться уже это новое значение. Это только пример для обьяснения, никогда так не делай в своем коде, код со статиками сложнее тестировать и поддерживать, статические поля и методы не полиморфны, я уже молчу о распределенных приложениях или приложениях с несколькими класс-лоадерами.
У класса Hobbie есть статическое поле INDEX. Изначально оно равно 1. Когда в мейне выводится Dream.HOBBIE.toString(), то берется статическое поле HOBBIE принадлежащее интерфейсу Dream, и в его методе toString индекс увеличивается и выводит 2. В строке ’System.out.println(new Hobbie().INDEX);’ создается новый объект того же класса, и у него берется значение INDEX. Нормальная IDE здесь бы тебе выдала ворнинг типа "получение статического поля на инстансе класса", потому что правильнее это записать как Hobbie.INDEX. Значение этого поля - 2, оно и выведется.
Объясните дураку. Запускаешь денвер и создаешь таблицу мскюель, а потом коннект к ней через jdbc. Как сделать джава-сервер, который будет создавать БД и вносить изменения к ней. Где копать?
Читаю байт из файла со значением 255 в byte b, проверяю его на == 0xff. Не равно, оказывается b == -1. Собственно, как в программе получить его исходное 255 (или любое другое считанное беззнаковое)?
>>535270 Зачем тебе создавать базу из твоего приложения? Ставь отдельный сервер mysql или что там тебе нужно, и коннекться к нему на здоровье. Если тебе действительно нужна БД встроенная в приложение, то для этого придумали SQLite и H2.
Есть у меня сервлет +jsp. Как мне проверять в нем авторизацию? Сейчас я передаю в заголовке токен+хеш логина, через php проверяю в memcached и если все ок - отображаю данные. А в джаве как? Так же прикручивать мемкешед, хранить токен, или есть по-лучше варианты?
>>535362 Ваадин - говнище, работающее нормально только в приложениях уровня хелловорлд. Спарк - няша, но ты уверен, со он третье нужен? И почему такие разные технологии в одном вопросе?
>>535390 Когда уже автор спарка его до уровня фласка хотя бы доведет? Роутер добавит нормальный. А то сейчас там практически все нужно допердоливать сторонними либами
Сорян, посаны, я в >>535390 за апачевский спарк писал, что там со спарком, который вебфреймворк, понятия не имею. >>535431 а глянь play framework. Там удобнее на скале писать, хоть и джава тоже поддерживается, но рубистам в скалу будет даже легче.
Аноны, а что скажете по поводу платных курсов? Звучит тупо, да. Но это тотальный пиздец. Сижу на джавараше, читаю книги, смотрю лекции и все равно дохуя чего не могу понять даже 10ого прочтения.
>>535467 Просто когда я начинал учить джаву, он мне сутки трахал мозги со скобочками (там в начале есть вроде какое-то задание , где много sout будет), с тех пор я считаю это бесполезной фигнёй.
Полазь по интернету, поищи универские лабы. Вот тебе и практика. Я учился по лабам своего фака (радиофизика, лол).
>>535469 Джавараш норм, просто большинство посмотрели первые пару уроков, где все задачи на "перепечатай текст в окно" и пришли к выводу, что он говно. Уже урока с пятого "задач" такого типа почти не остаётся, а после десятого идут норм задачки, над которыми ньюфаг успеет голову поломать. Я щитаю, для новичка, ранее не занимавшегося джавой - вполне себе годный ресурс, ну и полторы тысячи в месяц - не деньги.
>>534627 >1. вызов конструктора ejb и простого класса - разные вещи? При вызове конструктора ejb в реальности не происходит выделения памяти, а происходит lookup в пуле ejb, и выбирается свободный бин с соответствующим интерфейсом? Что произойдет, когда в пуле не будет хватать места под новые бины? Хуйню какую-то написал. Смысл EJB в том, что как раз ты конструктор не передергиваешь. Просто пишешь поле и ставишь аннотацию, а EJB контейнер собирает все это гавно и инициализирует за тебя. Вот и все. Просто вся это поебота сделана через рефлекшн. Когда закончится память то будет старое доброе java.lang.OutOfMemoryError.
>>535563 А я обсирась до сих пор с того, что мы в нем можем объявить перменную класссу, в котором мы реализовываем этот интерфейс. БЛять почему так сложно.
>>535566 Не так. В интерфейсе можно обьявить статические финальные поля вообще любых типов. Более того, писать static final даже не обязательно: public interface Ololo { int ololo = 265; } Такой код сконпелируется и будет работать, но поле ololo будет неявно помечено как public static final. Суть в том, что интерфейс - это контракт взаимодействия между объектами, он не может навязывать имплементящим объектам состояние. Переменная была бы состоянием. А вот финальное статическое поле - просто ячейка где-то в памяти, для удобства ассоциированная с интерфейсом.
>>535623 Ну да, в том примере в интерфейсе статическое поле, и оно тоже финальное, и static там писать необязательно. То, что поле имеет тип Hobbie, который имплементит Dream, роли не играет никакой. Что еще пояснить?
Учу кресты. Если через пару лет не нуйду работы можно в яву вкатится? Сколько примерно это времени займёт если по 4-5 часов в день заниматься? Сильно полезно для поиска работы знание и того и другого?
>>535681 Зачем тебе перекатываться с перспективного андроида на ынтерпрайз? Это ж уныло аж пиздец, анальная каторга в которой даже возможности чуть чуть пофрилансить нет.
>>535792 >int i = 0xcafebabe можно Это сахар на случай, если знак тебя не интересует, а интересуют только биты. А вообще, в джаве нет беззнаковых типов, просто смирись.
>>535756 Год не мог найти работу на ведроид. Взяли на энтерпрайз. В любом случае поучусь писать бекэнд, смогу потом вернутся с с опытом написания бекэнда и клиента для андроида.
Привет. ребят, изучаю джаву по алгоритму который в старой шапке были, сейчас заканчиваю 9 уровень javarush, читаю рекомендованные статьи.
На работе раньше занимался простой хуйней типа вёрстки и несложного php, сейчас наконец поставили пробную задачку для джавы. Нужно сделать приложение в котором в виде схемы будут отображаться объекты сетевого оборудования с возможностью открывать их свойства и производить простую настройку. кто знаком с Cisco Packet Tracer - что-то подобное, намного проще естественно Как мне целесообразее всего создавать GUI чтобы не топтаться на месте? Сейчас пишу в IntelijiIdea14.
Ну и чтобы не плодить сущности, здесь же спрошу - Насколько разумно делать платную подписку на javaruch ради 20-40 уроков? - Что годного можно почитать про подобные desktop приложения? Спасибо за ответы, хочу учиться.
>>535890 >Насколько разумно делать платную подписку на javaruch ради 20-40 уроков? Неразумно (я вообще обходился без этого). Хотя местные за что-то его любят.
>Как мне целесообразее всего создавать GUI чтобы не топтаться на месте? JavaFX тебе в помощь. Не потратишь сутки на конфиругацию layout'а.
>Что годного можно почитать про подобные desktop приложения? Это уже в /s/. Там сисов навалом.
Привет всем. Посоветуйте книгу на русском про EJB. Знаю, что технология устаревная, но на прошлом проекте у меня вовсю юзались старые EJB, и я сидел и хлопал глазами.
>>535797 Я смирился, но почему в десятичной нельзя, а в шестнадцатеричной можно? И как там получается это отрицательное число? Разжуйте мне по битам что там происходит плизки :3
>>536136 Исхожу из предположения, что ты значешь, что такое двоичная система счисления, а как в джаве хранятся отрицательные числа - нет. Запись отрицательного числа в джаве строится таким образом, что если сложить его с таким же положительным, то случится переполнение и получится ноль. Алгоритм такой: инвертируешь все биты, прибавляешь один. Очевидно, что в такой записи верхний бит фактически отвечает за знак числа: 0 - положительное, 1 - отрицательное. Пример. Если бы в джаве был тип полубайт, и мы захотели представить в нем число -5, то это можно было бы сделать так: 5 = 0011 -5 = 1100 + 1 = 1101 Проверка: 0011 + 1101 = 10000, верхний бит не умещается, так что его отбрасываем и получаем 0000.
Теперь к твоему cafebabe. Интовый 0xCAFEBABE = 11001010111111101011101010111110 - старший бит 1, так что число отрицательное. Лонговый 0xCAFEBABE = 0000000000000000000000000000000011001010111111101011101010111110 - старший бит 0, число положительное.
>>536155 Ну, мы учимся на около CSфаке и как бэ писали всякие лабы на паскалях, где надо запилить интерфейсы, сделать ввод/вывод, работу с алгоритмами в массивах, обходы сраных матриц и всё такое. Всё с графеном и перделками.
Я сам жабу не знаю, но разве это занимает так много времени? Я на плюсах уже на вторую неделю писал калькуляторы, а на третью пытался прикрутить к нему Qt.
>>536162 Как-то слишком быстро. Мне понадобился год чтобы помочь одногруппнику настроиться на новый лад. Учитывая, что у меня не было опыта обучения, и я немного умел говнокодить на плюсах.
>>536157 В принципе и так это знал, но ты все хорошо разложил. Но остался вопрос почему можно дать инту значение в 16-ичной которое по факту не влезает в инт, но нельзя в десятичной?
>>536157 В принципе и так это знал, но ты все хорошо разложил. Но остался вопрос почему можно дать инту значение в 16-ичной которое по факту не влезает в инт, но нельзя в десятичной?
>>536157 В принципе и так это знал, но ты все хорошо разложил. Но остался вопрос почему можно дать инту значение в 16-ичной которое по факту не влезает в инт, но нельзя в десятичной?
>>536182 Ну почему это не влезает? Инт — 32 разряда, cafebabe — тоже. Отлично влезает. Просто раз ты не видишь знак, то тебе кажется, что число положительное. Реально же при записи в hex вообще все равно положительное оно или отрицательное, ты просто говоришь значение каждого бита, а знак — это вопрос интерпретации.
Джаваны, я ньюфаг в этой вашей джаве, решил вкатиться. Но ссылки из оп поста слишком сложные. Для нуля в программировании надо ещё какие-то вводные. как думаете годно ли учиться вот у этого? Имеется ввиду получать начальные данные. https://youtu.be/siIu37UvaYM
Джаваны, вкатывается бородатый ньюфаг, уставший от этой ёбаной жизни и мечтающий найти тихую работу, где никто не будет ебать мозги и унижать.
Читаю Шилдта, джавараш, потихоньку учу и оттачиваю скиллы. Хочу спросить сразу: есть ли шансы без образования программистского, самому найти работу в 25+?
>>534934 Насчёт ejb согласен - НИ НУЖНО. А насчёт jsp и jax-ws ты определенно погорячился. Если ты всё-таки попадёшь в настоящий ТЫРПРАЙЗ, то ты охуеешь от того, что они >2045 >xml сервисы >jsp
Аноны, нуб в треде. Нашел пару лаб в инете, делаю. Столкнулся с проблемкой: в одной из лаб надо нарисовать прямоугольник. Собственно, можете мне объяснить кое-что? public class Draw {
public void paint(Graphics g) { g.drawRect(20, 40, 320, 20); } } Для того, чтоб рисовать, нам надо создать этот класс в самом main'e? Как вообще в итоге вызывать и рисовать? Draw draw=new Draw()? А что дальше. Как блять сделать это по-человечски? Гуглил, но почти везде графика, а тут надо ограничиться java.awt http://www.sbp-program.ru/java/sbp-graphics.htm#rect Вот тут есть, но опять же вырезка. Мб я тупой.
>>536419 Элементарно же. Вот есть сосач. И вот есть форма ответа, а в ней - капча. Если представить эту форму джавовым классом, то выглядеть будет как-то так: public class SosachPostForm { ....private StringInput email; ....private Button send; ....// ... ....private Captcha captcha; } В этом примере очень желательно, чтоб поле Captcha было интерфейсом, ну или хотя бы базовым классом. Почему? А предположим, что это поле было бы класса YandexCaptcha, и тут яндекс падает, и постинг перестает работать у всех. Чтоб переключиться на гугол, Абу вынужден переконпелировать весь код. Если же переменная — интерфейса Captcha, а GoogleCaptcha и YandexCaptcha его имплементации, то конкретную имплементацию можно менять на лету по выбору юзера. Яндекс упал, ты зашел в настройки, поменял капчу на гугловую, и ура, можно дальше постить нигр.
>>536509 Не слушай этого питуха. Переиенных типа интерфейса не может быть в принципе. Как и переменных абстрактного класса. Интерфейсу можно лишь наследовать
>>536528 > Интерфейсу можно лишь наследовать Что я только что прочитал? Поясняю для анона выше: есть такая вещь, как восходящее преобразование. Как в том примере с фигурами, если ты понимаешь, о чем я.
Теперь, конкретно: твой класс, назовем его A, реализует два интерфейса.
interface PrintName { void PrintName(){} }
interface PrintBDay {
void printBD(){}
}
class A implements PrintName, PrintBDay { ... //реализуем два метода ...
public static void main(String ... arts) { //Создаем объект класса A a = new A();
//для него можно вызвать a.printName(); a.printBD();
//Восходящее преобразование к //PrintName PrintName pN = new A();
//для этого объекта можем //вызвать только так
pN.printName();
} }
Итог: такого рода восходящее преобразование полезно, когда не хотим, чтобы программист-клиент написанного тобою кода знал, с каким конкретно классом он работает. И вызывал только те методы, которые ты ему позволишь.
>>536511 Анон, буду благодарен если даш ютюбы нормального по твоему человека для совсем совсем ньюфага, где начинается с Хеллоу ворлд и продолжается дальше.
>>536750 Вафлежуй ебаный, это список лучших либ под явку собраных в одном месте. Если ты вафлер ебаный помнишь все проекты наизусть то соси хкй. А ньюфагам очень полезная ссылкп
Хочу запилить прогу, которая будет коннектиться к БД и в носить в нее изменения. Должен быть класс-коннектор сингтон; клиент с гуи, в котором юзер будет вводить адрес БД, отображение БД и кнопки для правки и сервер, который принимает данные, обрабатывает. Я новичок-хуячек, как правильно запилить гуй для отображения разных таблиц БД(на 2-10 колонок) и что местные сеньоры посоветуют в качестве примера?
>>536748 Так блять, поясни, пожалуйста, снова. Зачем это делать, если можно просто реаилизовать интерфей в классе, а потом создать переменную этого класса с его методами. КОроче, я к тому, зачем тогда делать геморрой, если можно просто хуярить все через интерфейс? Да-да, я понимаю, что класс, другие методы могут, это уже тип, а интерйфейс лишь описывает "действия".
>>536923 > зачем тогда делать геморрой, если можно просто хуярить все через интерфейс? Не уверен, что понял что ты хочешь спросить и какой геморрой имеешь в виду, но на всякий случай отвечу, что по возможности нужно работать через интерфейс. Тогда ты не привязываешься к конкретной имплементации и можешь изменить ее в любой момент.
Аноны, заебал джавараш, куча лекций и прочего. Подумал ебануть виджет, скачать андроид студио или просто сделать чтото крутое уровня дауна. С рассчетом на то, что нихуя не знаю. но буду гуглить и узнавать. Какие камни? Тащемта похуй какие, все равно так сделаю, но, может, ктото так и учил.
>>537351 Дерзай. Практика - полезно, по пути кучу нового узнаешь. Главное, книги и лекции не забрасывай, знаниям нужна система и глубина. А то будешь как те ебланы, у которых в резюме три строки аббревиатур-технологий, но каждую из которых знает на уровне хеллоу-ворлда.
>>537372 Ну скажем, что я нашел на хабре задачи для дебилов, первая из которых гласит так Необходимо реализовать консольную программу, которая бы фильтровала поток текстовой информации подаваемой на вход и на выходе показывала лишь те строчки, которые содержат слово передаваемое программе на вход в качестве аргумента. Поэтому сначала надо блять понять разницу между scanner'ом и bufferedreader'ом, т.е. все же теорию буду знать. Анон, спасибо.
>>537375 >задачи для дебилов >реализовать консольную программу, которая бы фильтровала поток текстовой информации подаваемой на вход и на выходе показывала лишь те строчки, которые содержат слово передаваемое программе на вход в качестве аргумента. Я что-то уровнем ниже дебила, ибо пока даже не доходил до решения подобного.
Ну бля, я вижу решение такое: пиздануть массив строк, после вводы каждоой строки переводить все в нижний регистр, цикл while до тех пор, пока не введена пустая строка (для прекращения). А потом использоваться equals, но пока хз, как это все будет на деле.
>>537375 > Поэтому сначала надо блять понять разницу между scanner'ом и bufferedreader'ом, т.е. все же теорию буду знать. Это не теория, это частные случаи. С таким подходом ты вместо того, чтоб один раз прочитать что там есть в java.io или в java.util, будешь каждый раз гуглить и по крупицам составлять общую картину. Еще раз: нужна и практика, и системные знания. Без практики ты все быстро позабываешь, без знаний - будешь писать костыли вместо нормальных решений и тратить кучу веремни на гугл.
>>537425 Ты, конечно, можешь подсмотреть на stackoverflow как создавать ридер и как читать из стрима, и доделать задачу. И таким макаром можно выполнить много задач, по пути получив какие-то обрывочные знания. Но вообще — даже под эту задачу почитай про стримы и ридеры/райтеры, как оно друг друга оборачивает и зачем это сделано, потом проще будет. По сути, да, это про java.io.
Наверняка кто-нибудь сталкивался с проблемой java heap space. Как решили? Причем написал буквально пару строк, и выводит это. Гуглил, пишут какуюто залупу. Ну или я не так понял.
>>537670 Если я щас ничего не путаю, то я специально оставил в цикле так: пустая строка-прерывание. А у тебя придется вручную завершать. Забыл у себя закрыть поток, а на удаление эелментов просто забил, хотя надо было.
Лол. Почитал ваш код и понял что вы нихуя не правильно делаете. >реализовать консольную программу, которая бы фильтровала поток текстовой информации подаваемой на вход и на выходе показывала лишь те строчки, которые содержат слово передаваемое программе на вход в качестве аргумента. Пару строк на 8. http://ideone.com/3NrQTT
К нам в айти отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные крестогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал: - Это же Абстрактная фабрика! На чём ты кодил до этого? - На Джаве. - Жабапидор! - в один голос заорали все 20 человек. - Жабапидор! Жабапидор! Жабапидор! Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать джавапидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев: - Жабапидор! В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и джавапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох джавапидор даже дело заводить не стали.
>>537822 Не бесконечная. У вас у обоих лишнее приведение к кепшену, я тоже его сделал по началу, но в задании его нет. У вас не потоковая обработка. У вас сначала собирается массив строк потом обрабатывается потом выводится. А нужно обрабатывать сразу после завершения ввода строки.
>>537836 Да ну ебать, понятно. Как просто я мог это узнать, прочтя задание. ЧТо надо ебануть лямду, стрим и прочее. Если бы был список того, как надо-ясен пень сделал.
>>537839 А ты думаешь, на работе тебе будут рассказывать, где и что использовать? Типа, вот тут цикл фор, а вот здесь - паттерн адаптер? Нет, тебе дадут таску, и если ты придешь с таким кодом, как ты нам тут показал, то вылетишь с голой жопой на мороз.
Короче погроммирую на Java наверное пятый раз в своей жизни, но на этот раз не просто подправить что-то в быдлокоде нужно, а добавить довольно большой функционал в приложение. Джаваны, расскажите как вам погроммируется с вот этой хуйнёй - http://stackoverflow.com/questions/271526/avoiding-null-statements-in-java Это же пиздец просто, type safety уровня PHP4 , нахуй так жить вообще ?
>>537979 Там же в самом залайканом ответе расписывается, что проверка на null - говно, и чтоб ее не делать придумали паттерн Null Object. Алсо, Optional в 8 джаве по сравнению со скалой - кастрированная хуита.
>>537982 У меня language level 6.0 выше нельзя потому что легаси и клиентов никто из-за меня обновлять прод сетапы не заставит. Но вообще почитаю про новые фишки, я надеюсь с этим пиздецом разобрались как-то. >>537984 Ну это всё равно костыли, к тому же авторы моего приложения нихуя не слышали про паттерн null object, эти ебучие проверки тупо везде.
Собираюсь изучать java ee чтобы вкатиться в ряды джуниоров (алсо мне 23, не поздно ли?) Я не знаю, стоит ли накатывать линупс или для того чтобы запускать сервер кнопочкой в ide мне и винды хватит? Или все же какие-то преимущества в использовании линухи я получу? Алсо посоветуйте дистр тогда.
По совету джентльмена из >>537830 решил прочитать на досуге книжечку "хорстман. core java 9 издани". Но компиляция второго примера из книги вызывает у меня огорчения. Господа подскажут мне где я ошибся? <script src="http://ideone.com/e.js/UPiklx" type="text/javascript" ></script> Уже проверил всё 40 раз, но жалуется компилятор на JFrame frame = new ImageViewerFrame(); Неужто Хорстман меня обманул?
>>537830 >хорстман. core java 9 издание >хорстман. ява СЕ8 вводный курс. Прочитал первые 100 страниц. Что-то практики маловато. ОЧЕНЬ МАЛОВАТО! Читал до этого Шилдта, да, там первые 50 страниц вода, но зато потом начинается 600 страниц сплошного ебашилова, задач и пояснений.
>>538098 > мне 23, не поздно ли? Нет. в след раз как буду пересоздавать тред, включу этот платиновый вопрос в шапку >стоит ли накатывать линупс Нет. >какие-то преимущества в использовании линухи я получу Нет.
>>538330 Хорстманн даёт офигенную базу. Упражнения ищи в интернете. Я бы на твоём месте искал универские лабы. Я по своим и тренировался.
>>538454 АНон, тогда, может, посоветуешь? Читал посты выше: анон написал программку, но оказалось, что там эффективнее было через лямбды и стримы. Как этим быть? Т.е. прочел ты тему из Хорстманна и начала гуглить лабу на эту тему?
Хочу попробовать сдать OCJP8. Книжек по подготовке нет (ближайшая выходит к декабре). За плечами только лекции и мануалы + недавний бесплатный курс оракла по лямбдам и стримам. Я совсем ебанутый?
Джаваны, подскажите, какую тему можно взять для курсача на джаве, связанную с сервлетами/JSP ? Ну или вообще какую-нибудь тему. Пытался протолкнуть "симулятор дорожного трафика" (рутинный код + свинг для отрисовки), но меня завернули, из-за того, что тысячи их. Пока что могу только в Core.
>>538550 > Хочу попробовать сдать OCJP > Я совсем ебанутый? Да. Зачем оно тебе, ты что, джуинор, которому надо хоть какое-то доказательство знаний, чтоб его на собеседование позвали?
>>538550 > недавний бесплатный курс оракла по лямбдам и стримам. Что за курс?
Погуглит тесты, можешь начать с indiabix и шапки треда. Ещё могу посоветовать почитать забавную книгу "ненужных" знаний из глубин стандарта джавы и документации - Java Puzzlers: Traps, Pitfalls, and Corner Cases.
>>538519 Эффективнее - возможно я не читал, но предполагаю, но нужно уметь делать несколькими способами, в т.ч. и не самыми эффективными. Вы сейчас работаете не на "конфетку с первого раза", а просто учите джаву.
>Т.е. прочел ты тему из Хорстманна и начала гуглить лабу на эту тему? Нет, на моём физ факе джаву преподавала одна контора и там удивительно-замечательно сочетались одни из самых необходимых тем: свинг, рефлексия, алгоритмизация, обработка действий мыши/клавиатуры, многопоточность, сервер на сокетах, и, конечно же, различный веб: servlet, jsp, jstl. После них всё уже шло довольно таки неплохо.
>>538554 Курсач - прежде всего исследование чего-либо. Можешь написать прогу, которая будет подключаться к различным сервисам, пиздить инфу и как-то её анализировать.. первое что приходит на ум.
>>538633 Не. Минск. Забей, вы главное выучитесь. http://rghost.ru/7vKrHdKQt Лекции не полностью (многие потерялись). Если вам понравится, завтра попрошу одногруппника переслать мне все. Есть ещё литра, но её 300мб и она старая. В принципе, там только пара новых авторов по кору, многопоточность и IO от o'relly и довольно таки хорошая книга по коллекциям.
>>538639 Кстати, забыл сказать, лабы тут сделаны по типу "есть исходный код базовой прилаги, тебе нужно в нём разобраться и модифицировать под определённый вариант".
В нить приглашается успешный жабист для консультаций. С меня обожание.
1. Предположим, у меня пройденный курс JavaRush в процессе раздумий об оплате, грамотно составленное резюме, и 6-7 лет опыта в 1С-разработке, опыт в практически всех предметных областях (фармацевтика, лесозавод, банк, больница, оптовые продажи домашней техники, розничные продажи, кафе и т.д.). На какую сумму мне претендовать на старте в java-кодинге? Не ДС сейчас получаю штуку бачей на 1С, не хочется СИЛЬНО терять
2. Стоит ли платить упырям из JavaRush за их курс? Сильно ли я сэкономлю по времени? Прошел 10 уровней довольно легко.
>>538774 > 6-7 лет опыта в 1С-разработке Или ты за эти 6 лет научился программировать, и тогда и без джавараша разберешься, или не научился, а значит он не поможет. Вангую второе.
> опыт в практически всех предметных областях (фармацевтика, лесозавод, банк, больница, оптовые продажи домашней техники, розничные продажи, кафе и т.д.) На это вообще всем похуй.
>>538797 ну и реальный проект конечно. Самая мякотка, которая меня привлекает - а)будет что показать в резюме б)по опыту знаю, реально решенная задача стоит десятка прочтенных книг
Есть где-нибудь этому альтернатива? Я имею в виду в течение двух-трех месяцев тратить по часу времени на реальный проект в составе таких же даунов, возглавляемых добрым гуру
>>535926 Спасибо за ответ. Можешь еще посоветовать годный фреймворк для подобной разработки? Я имел в виду в целом разработку приложений в который по окну перетаскиваются объекты drag and drop?
>>539094 Единственное преимущество анта: если есть древний проект с ант-скриптами, который все ссут переводить на мавен и грейдл, то при помощи анта и при определенном везении этот проект все же можно собрать.
>>539094 Гредл пока не смотрел. Недостаток Maven в том, что он потребляет траффик, качая библиотеки из репозиториев. Ant'ом можно собрать проект на локальном компьютере без доступа к сети.
>>538774 > Прошел 10 уровней довольно легко. Там хэлловорды же. Вся сложность Java во фреймворках, сам по себе этот язык очень простой (вот C# посложнее). А у них именно занятия посвященные фреймворкам (то, что нужно для устройства на работу) - платные. Советую лучше читать книги - Head First Java для самых основ языка, Эккель/Хорстманн для углубленного изучения Java SE и серия ... in Action для EE фреймворков. И документацию на сайте Oracle, там есть туториалы к многим вещам. Чтобы экономить время и учить быстрее, нужно писать больше кода. И изучать исходники существующих проектов.
>>539166 Слишком много концепций сразу сваливается на начинающего, лучше учится вторым языком. Советую начать с Паскаля (Delphi или Lazarus), когда освоишь ООП, можно переходить на Java. И ни в коем случае не со скриптопараши вроде Python/Ruby/PHP/JavaScript.
>>539206 Ничего плохого, не слушай поехавших. В большинстве приличных западных вузах жабу учат сразу после питона или даже параллельно после начального курса кампуктер саенса. Чем шире кругозор в таких вещах, тем лучше.
Вопрос уровня /б: какие подводные камни в том, чтоб взять на собеседование junior'a микронаушник? Лол да. НО я с этой хуйней пару экзаменов сдал. Ну кроме очевидного, что в будущем может оказаться, что этого я нихуя не знаю.
>>539400 Интересная задача. Надо поискать еще вопросы. >>539398 Че вы блять агритесь, ебаный насос? Имеется ввиду, если я вдруг забуду, что в Objecte есть какой-то метод, который не упомянул. Ебать вы арабы.
>>539617 Там сказано что всегда поля класса автоматом инициализируются. Каждый примитив - соответствующим нулевым значением, а если это ссылка, то null'ом. А потом автор резко говорит что поля класса могут быть пустыми, если пометить их как final. Ведь если рассуждать логически, то можно подумать, что только ради того, чтобы поле было пустым и только в то же время неизменным, изменили фундаментальное правило инициализации. Причем тупо получается, что изменяемые поля не могут быть пустыми. И в любом случае, когда автор говорил в начале книги о том что всегда инициализируются, он должен был сказать когда такого не случается, то есть про исключения. Обычно он так и делал, но почему то не в этом случае.
>>539644 А. Автор просто не хотел раньше времени лезть в глубины. Обычные поля инициализируются сразу дефолтным значением, и затем можно менять значение сколько угодно раз. Но тут есть такой малозаметный нюанс: инициализируются сразу — это когда именно? В джаве происходит так: когда вызывается конструктор объекта, первым делом выделяется память под объект, затем по всей иерархии от Object и до этого класса инициализируются поля - какие-то дефолтными значениями, какие-то — заданными. Теперь вспомним, что у объекта могут быть еще и финальные поля. Финальное по определению может получить значение только один раз, и после получения начального значения апдейтить их нельзя. На самом деле через рефлекшн можно. Так что если бы поле было проинициализировано дефолтным значением, в конструкторе его просеттить уже было бы нельзя. Поэтому поле остается пустым, но к нему запрещено обращаться до того момента, как оно будет инициализировано явно. Причем из-за требования инициализировать его в конструкторе, компилятор действительно умеет делать проверку, что поле не читается до инициализации, и не инициализируется дважды.
> Причем тупо получается, что изменяемые поля не могут быть пустыми. Финальное поле не может остаться пустым, потому что компилятор проверяет, что после вызова любого конструктора оно должно быть инициализировано. С обычными полями такой фокус не работает. Например, если в конструкторе поле не инициализируется, но есть сеттер и геттер к нему, то геттер можно вызвать раньше, чем сеттер. В сишке ты бы при этом получил какое-то рендомное значение, которое осталось в этой ячейке памяти от предыдущих операций или даже от другой прораммы. В джаве решили все обнулять, чтоб поведение было более предсказуемым.
>>539685 >Финальное поле не может остаться пустым, потому что компилятор проверяет, что после вызова любого конструктора оно должно быть инициализировано А конструктор по умолчанию значит не сможет его проинициализировать и компилятор снова ошибку выдаст? конечно я мог бы попробовать и сам это всё потыкать в иде, но зачем же тогда анон
Есть один вопрос. Часто джава аноны советуют смотреть похожий код на гитхабе. Я при поиске вижу какие то говнопроекты от индусов, проекты на португальском, испанском но только не то, что мне нужно. Научите пользоваться гитхабом кароч. Ищу примеры грудошлепства, но даже с этим проблемы.
>>539865 >советуют смотреть похожий код на гитхабе. >похожий код В каком смысле "похожий"? Если ты имеешь ввиду, что он решает ту же задачу, которую пытаешься решить ты - вводи в поиск название и тип проекта - Java.
>>539867 Ну да, я так и делаю, ввожу запросы типа "jsp java", "struts java mysql", "spring java" и т.д. В результате получаю груду не пойми чего, зачастую даже не на английском.
>>539875 >"jsp java", "struts java mysql", "spring java" Для таких запросов тебе нужно гуглить туториалы, а не гитхаб. На гитхаб тот анон, скорее всего, имел ввиду, искать калькуляторы, бинарный поиск и прочее. А по такому запросу ты будешь находить таких же как и ты, которые учатся или индусов.
>>539876 Туториалы я смотрел, вопрос не только в этом. Мне интересно посмотреть чужие проекты с точки зрения архитектуры, как они отделяют части приложения друг от друга, по каким пакетам все раскидывают. Как правильно пользоваться MVC, вот это все. В туториалах такого не найдешь.
>>539885 Ну так гугли по другим тегам. Ты сейчас гуглишь чисто какие-то гайды, не более. Есть трендинг реппозитории (но там 90% проектов - андроид), либо гугли всякие "java blog", "java simple web", "java internet-shop" и т.п.
>>539904 Смотря как это значение получается. Посмотри в консольке, приходит оно с BE, или уже сразу на UI? Если в первом случае, то просто отправь такой же запрос и распарсь его, если второй - придётся парсить html. Я как-то, когда делал накрутчик, наткнулся на офигенный парсер html, если понадобится он, могу посмотреть в старых проектах.
>>532906 (OP) >Начните с бесплатных задач по данному языку: http://codingbat.com/java Почему задачи тякие тяжелые, это обязательно значть чтобы устроиться? Или круче если я по видеоуториалу создам какую либо штуку и модифицирую для себ яи на гит залью - больше цениться будет?
>>539950 Бля, пиздец. Ну возьмут тебя такого охуенного, а ты ничего сделать не можешь. Это не ты тот, который на собеседование хотел пойти с микронаушником?
>>539978 Блядь, ирл на деле ведь нет никаких этих ебучих математических задач же, а на этом сайте тупо они, не задачи на ооп и прочее, а у Вась хуясь с ограничением 256 мб и 5 секунд
>>540018 Йеп, большинство задач там логические, там не нужны знания математики. Или у тебя всё что сложнее говна и мочи поиск xyz в середине строки или рекурсия это "математика"?
>>540098 Unlimited Internship Internship plus Mentor plus За что из этого стоит платить? Действительно ли ментор помогает, или стоит его потом, попозже докупить? Когда опыта наберусь. Я пока-что совсем ньюфаг.
>>540156 Больше половины задач на тему "НАПИШИТЕ EXTENDS" или подумайте какой класс реализуется от класса "Животное": "КОшка" или "Говно". А задач, где надо реально подумать пиздецки мало.
/ 8 котов Создайте 10 переменных типа Cat и 8 объектов типа Cat. / public class Solution { public static void main(String[] args) { //напишите тут ваш код //Cat cat8 = new Cat(); Cat cat1; Cat cat2; Cat cat3; Cat cat4; Cat cat5; Cat cat6; Cat cat7; Cat cat8; Cat cat9; Cat ca10; Cat cat11 = new Cat(); Cat cat12 = new Cat(); Cat cat13 = new Cat(); Cat cat14 = new Cat(); Cat cat15 = new Cat(); Cat cat16 = new Cat(); Cat cat17 = new Cat(); Cat cat18 = new Cat();
//напишите тут ваш код }
public static class Cat {
} }
Ну блин, что неправильно то? 4 часа пытаюсь понять. Переменная типа Cat - Cat cat1; Обьект типа Cat Cat cat11 = new Cat(); Или от меня чего-то другово требуют. ЯННП.
>>538930 Анон, спасибо еще раз за лабы. Я уже с первой хуею: все вроде понятно, и алгоритм, но выглядит все каким-то пиздецом. Даже блять не знаю, как сказать. ВОт нахуй разница между реальной работой и дажварашем, в котором за тебя написана половина.
>>540228 >Как вообще можно создать переменную пользовательского типа? Abu abu; Abu wakaba = new Abu(); Видимо тут используется фича джавы, когда она сама определит что за тип. Вот только не понял нафига она.
1)Там где люди делают задачи 3-6 раза, я делаю с первого, а где люди с 1-2 раза, я делаю с 4-5. ЧЯДНТ? 2)Я как-то начал тупить когда дошел до пикрелейтеда и начались всякие структуры сложные.
Это по сути как конструктор, где объявляем начальные переменные или что?
В вузике вдруг появился предмет где основной язык жава, а я сам питонист немного. Чтоб такого посмотреть чтобы быстро освоить основы на уровне лабок? неумеючитатьоппост
>>540270 >А нахуй тут так все запутали текстом и прочим, я вообще думал это init() какой-то шарповский. Скорее всего, про конструкторы они ещё не объясняли, а потом скажут, что, мол, есть такая шляпа - конструктор.
>Или ебля со свингом обеспечена? this
>Консольную телефонную книгу я так понимаю придется писать через while(true)? Чё?
>>540271 Главное меню представляю так, крутится бесконечный цикл, а там от нажатия смотрим что будет происходить, выбрали добавить контакт, брейкаем цикл - переходим в другой метод, где хуярим данные, затем возвращаемся назад.
Анон, накидай в двух словах заданий по языку, которые могут попросить решить прямо на собеседовании (уровня джуниора или даже трейни). Отсортировать массив там etc.
>>540306 Мне пока давали 3 задания за всю жизнь. 1 - массив с N (N - очень много) количеством элементов. Все элементы от 1 до B (B - какое-то число). Нужно отсортировать массив.
А оставшиеся два были с sql, я даже и не помню их уже. Если пройдёшь 30-40 уровней на sql-ex.ru, то потом забивай, на джуна пройдёшь точно.
>>540352 Короче, тогда вот такое. В первой лабе. вариант Б надо было сделать сравнению по аргументам, чтоб потом вывести сколько чего и какого размера была захавано. В примере массив+переопределение equals, tostring.(тащемта сам бы я хуй знает до такого доудмался. Т.е. да, знаю, что надо переопредять, но сделал бы просто станадртное сравнение). Нельзя просто было все через hashmap? ТОлько через пару часов вернусь и смогу вбросить.
>>540359 >В примере массив+переопределение equals, tostring. >сам бы я хуй знает до такого доудмался >сделал бы просто станадртное сравнение Ну так это ведь и нужно чтобы учиться. И какое бы ты делал сравнение? Тут же нужно вывести количество. Равны - сложить, не равны - добавить. Хз, как по мне, так это очевидно.
>Нельзя просто было все через hashmap? Чтобы ты там с ним делал? И это первая лаба. Мы там впервые эклипс открыли.
Спарсив xml, я загоняю имена атрибутов в один arraylist, а сожержимое в другой, передаю все это в конструктор класса, который имплементс AbstractTableModel, где переписал нужные методы. И нихуя, таблица просто не строится по этой модели, гляньте плз код, не понимаю, что я делаю не так:
>>540496 Для меня осталось загадкой, что ты хотел сказать вот этими строками: data.add(atrs.get(number).getValue()); object = new Object(data); objectList.add(object); data.clear();
Вообще, откуда это у класса Object взялся конструктор с параметром? Или это какой-то твой обджект?
>>540501 анон, я с этого сайта уже брал инфу >>540504 >>540496 вот еще собственно класс Object, я хотел добавить в массив data данные из атрибутов, чтобы потом передать этот массив конструктору класса Object
>>540509 Ну переназови ты как-нибудь по-нормальному класс-то... А то жесть вообще.
И почему geleteData? Ну и this. нигде, кроме конструктора тут не нужно - там Java и без него понимает, что ссылаться на переменные в экземпляре класса.
>>540512 от этого суть не меняется, почему этими строками TableModel tableModel = new TableModel(objectList, titles); JTable table = new JTable(tableModel); JScrollPane jScrollPane = new JScrollPane(table); где ojectList - мои данные, а titles вроде как массив с заголовками, не создается таблица? никаких ошибок нигде нет, просто пустой фрейм и все
>>540507 Твой класс Object не нужен. Он тупо обертка над ArrayList. Почему не использовать сразу ArrayList? Хотя, в текущем коде даже лист не нужен. Посмотри на код в >>540504. Ты берешь пустой список, кладешь в него элемент, передаешь в свой Object, затем очищаешь. Итак, по факту у тебя: 1) в списке всегда максимум один элемент; 2) в обджекте всегда будет пустой список (ты же сам его очистил) - это по ходу и есть та бага, о которой ты спрашивал изначально.
>>540518 А, да. Самый быстрый фикс: Убираешь data, который общий.
for (int number = 0; number <atrs.size(); number++) { ArrayList <String> data = new ArrayList<String>(); data.add(atrs.get(number).getValue()); object = new Object(data); objectList.add(object); }
>>540525 Ну, тогда осваивай дебаг. Поставь брейкпойнт на создание фрейма и посмотри, что у тебя в titles и objectList (скорее всего не то, что ты ожидаешь)
Многоуважаемые господа, не соизволите ли уделить немного времени моим, наверное задававшимся не раз вопросам. А что вообще делает на работе джун жава девелопер? Как я понимаю к нормальному коду его не допускают, то есть все что он делает это крутится волчком за архитектором выхватывая крупицы мастерства? С какими знаниями пора идти на джуна, что бы принести пользу прежде всего себе, потому что собеседование пройдет по сути любой. Знакомый, к примеру, говорит что на джуна нужно идти как только разобрался с if else, так как на работе тебя всему научат быстрее в разы, но так ли это? понимаю что все индивидуально
>>540527 да я уже через циклы прогнал оба arraylist'a в консоль, выводит именно то, что мне нужно, мб данные в этих list'ax не в том типе, который можно представить в таблице(хотя заголовки стринговские вроде) в любом случае, спасибо за помощь анон, буду дальше сам ковыряться
>>540532 > А что вообще делает на работе джун жава девелопер? Бегать за архитектором не надо, только под ногами путаться будешь. Обычно к джунам отношение такое: загрузить чем-нибудь, лишь бы не отвлекал. Спихивают самую нудную работу, в которой точно не накосячит, тупое формошлепство, например. Еще часто садят писать юнит-тесты за всеми. Это тоже уныло, но хотя бы в проекте разберешься. Если быстро и без косяков справляешься, начнут давать отдельные небольшие куски.
> собеседование пройдет по сути любой Ох лол.
> Знакомый, к примеру, говорит что на джуна нужно идти как только разобрался с if else, так как на работе тебя всему научат быстрее в разы, но так ли это? Хрен где ты такой нужен будешь с красивыми глазами и уверенным знанием иф-элса. А если и найдешь такое место, то да, тебя быстро научат самым простым задачам уровня макаки, но большего не ожидай. После такого обычно другую работу хуй найдешь, потому что опыт как бы есть, а знаний нет, и никто не захочет разбираться, то ли ты реально тупой, то ли ты был на говнопроекте и там нечему было учиться.
>>540546 > Ох лол. Но это ведь правда, чаще всего задают банальнейшие вопросы типо принципов ооп или поменять в одномерном массиве элементы местами, сам лично лет 6 назад проходил так собеседование на джуна шарпа, или сейчас из за наплыва вчерашних продованов увидевших слоганы "много денег - это легко" требования повысились? > Хрен где ты такой нужен будешь с красивыми глазами и уверенным знанием иф-элса. А если и найдешь такое место, то да, тебя быстро научат самым простым задачам уровня макаки, но большего не ожидай. После такого обычно другую работу хуй найдешь, потому что опыт как бы есть, а знаний нет, и никто не захочет разбираться, то ли ты реально тупой, то ли ты был на говнопроекте и там нечему было учиться. Ну так, а что мешает перейти на другой проект и опять на джуна?
>>540384 Анон, оказалось все посложнее. Буду делать. Решил крайне элементарным способом: просто вбил 20 продуктов, строки, занес их в массив, далее проверил этот массив на овпадение, что совпало-удалил и плюсовал переменную. В итоге потом остается одна строка типа Apple/big, которая повторяется, например 3 раза. Но это изи.
Прочитал лекции, сделал все упражнения по темам пикрелейтеда, а сам с нуля наверное не смогу запилить что нибудь. Что посоветуете теперь делать, шилдтта использовал как справочник
>>540263 Вот и я тут же застрял. Просто не понимаю чего он от меня хочет. вроде нужно понять как переменные обьявляются и их области видимости, но сами задачи и задания даются адово непонятные и с непонятними же формулировками. С хелпами написал их, но до сих пор ощущение что я попросту ничего не понял из данной лекции. Хотя там элементарщина и если-бы её преподнести по другому - всё было понятно.
>>540308 > массив с N (N - очень много) количеством элементов. Все элементы от 1 до B (B - какое-то число). Нужно отсортировать массив. select elemetn from massive sort by element_name
Джаваньюфаг выходит на связь. Снова колупаю джавараш, на этот раз проплатил им 84 бакса по скидке и упарываю их лекции (кстати в рублях вышло 5900, вместо 6300 как от меня хотел пэйпал). Удивляет то, что я сам уже учил кое какие языки программирования, и могу сказать как решить что-то написав 3-4 строки. Но тут приходится опираться на лекции. А до 4 левела даже про if, else, while, for не рассказывают. Что удивительно. Так как в книгах уже 3-4 лекцуия посвящены именно циклам. Отдельно удивляют индивидуумы, которые в хелпах к заданиям типа (Выведи надпись "Я буду получать 1500 баксов в месяц" 10 раз)пишут что код учащихся говнище - и надо всё делать через while. Алсо удивляет что могу выполнить все условия задания с 1 раза, но при этом прога не проходит проверку. Уж было такое раз наверное 7. И сидишь как вкопанный пытаешься понять чтож от меня хотели?
>>540607 Судя по всему лучше решать джаварашь и паралельно читать книгу. Иначе - очень сложно разобраться. Уж очень иногда они странно преподают материал.
Я конечно знаю что можно сделать по другому, но всё-же не могу понять почему данный код не работает. Или у джавы какие-то особые операции больше меньше. Вот код.
import java.io.*; public class Cas {
public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String a1 = reader.readLine(); int a = Integer.parseInt(a1); String b1 = reader.readLine(); int b = Integer.parseInt(b1); String c1 = reader.readLine(); int c = Integer.parseInt(c1);
// Определяем максимальное значение if (a > b && a > c) System.out.println(a); else if (b > c && b > a) System.out.println(b); else if (c > b && c > a) System.out.println(c); // Определяем среднее значение if (a > c && a < b) System.out.println(a); else if (b < c && b > a ) System.out.println(b); else if (c < a && c > b) System.out.println(c); // Определяем минимальное значение if (a < b && a < c) System.out.println(a); else if (b < c && b < a) System.out.println(b); else if (c < b && c < a) System.out.println(c); } }
Задача - Ввести с клавиатуры три числа, и вывести их в порядке убывания.
вводим 3 2 1 И среднее значение напрочь исчезает. Хотя если ввести 1 2 3 - всё нормально. Я где-то накосячил?
>>540613 В проверках на среднее значение и накосячил. Вот твоя проверка, что среднее значение — b: if (b < c && b > a ) Подставим 3 2 1 и получим 2 < 1 && 2 > 3.
Список технологий от анона: https://www.mindmup.com/#m:a18a46920078b501324d413eb2d5f2d54c (не работает. Автор, почини).
1. С чего начать?
Начните с бесплатных задач по данному языку: http://codingbat.com/java
Дополнительную практику можно получить здесь: https://www.codehunt.com/
Код играючи: http://www.codingame.com/puzzles
Рулеточка: http://postimg.org/image/xdfbvgps9/
Ещё задачки: http://eax.me/programming-language-learning/
Олимпиадка: http://acmp.ru/?main=tasks + acm.timus.ru
Простенькие: http://www.programmr.com/zone/java
2. Что бы почитать?
HARD: http://docs.oracle.com/javase/tutorial/
MEDIUM: http://www.tutorialspoint.com/java_technology_tutorials.htm
BEGINNER: http://myflex.org/books/java4kids/java4kids.htm
ANDROID: http://www.coreservlets.com/android-tutorial/
http://startandroid.ru/ru/
3. Я зануда и я хочу умные книжки.
Рубрика Youth Oriented & Bydlo Approved:
1. Thinking in Java (4th Edition): Bruce Eckel
2. Effective Java (2nd Edition): Joshua Bloch
3. Core Java (9th edition) : Cay S. Horstmann, Gary Cornell
4. Head First Java, (2nd Edition) : Kathy Sierra, Bert Bates
Больше здесь: http://www.proklondike.com/books/java.html
4. Я не умею читать и хочу видео
Пожалуйста http://dou.ua/forums/topic/8113/
http://habrahabr.ru/company/golovachcourses/blog/215275/
5. Что насчет SQL?
Начни с малого: http://www.w3schools.com/sql/default.asp
Затем переходи к: http://www.sql-ex.ru/
В качестве чтива рекомендую: http://oreilly.com/catalog/sqlhks/chapter/
6. Java EE, Java FX:
https://www.youtube.com/channel/UCYTFfeXufxZM5pdC_OEmJwg
https://github.com/KriechelD/YouTubeChannel
7. Всё это хорошо, но без алгоритмов меня на работу не возьмут.
Не беда вот курсы от Принстонского университета https://www.coursera.org/course/algs4partI
То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java
8. Я готов к первому собеседованию.
Проверь свои знания здесь: http://www.quizful.net/test
И здесь: http://www.careercup.com/
Советы по написанию резюме: потеряли. Может, у кого есть скрин?
Прошлый тонет тут:
http://2ch.hk/pr/res/524444.html