Это копия, сохраненная 8 марта 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
0. Минимальный список технологий, которые нужно знать, чтоб взяли стажером: https://atlas.mindmup.com/2015/10/3d59a040592a0133d02a5d31ebcc5420/java/index.html
Цикл статей что в каком порядке учить: http://dou.ua/lenta/articles/java-beginner-guide-1/ (заблочен РосКомПозором, юзайте прокси)
1. Туториалы есть?
BEGINNER: http://myflex.org/books/java4kids/java4kids.htm
MEDIUM: http://www.tutorialspoint.com/java_technology_tutorials.htm
HARD: http://docs.oracle.com/javase/tutorial/
2. Я зануда и я хочу умные книжки.
1. Head First Java, (2nd Edition) : Kathy Sierra, Bert Bates - для совсем нулячих простым языком.
2. Core Java (9th edition) : Cay S. Horstmann, Gary Cornell - тоже для нубасов, но на серьёзных щщах.
3. Thinking in Java (4th Edition): Bruce Eckel - для тех, кто умеет в хеллоуворлд на другом языке.
4. Effective Java (2nd Edition): Joshua Bloch - для тех, кто знает язык, но хочет перестать писать костыли.
Больше здесь: http://www.proklondike.com/books/java.html
3. Я не умею читать и хочу видео!
Пожалуйста http://dou.ua/forums/topic/8113/
http://habrahabr.ru/company/golovachcourses/blog/215275/
4. А где практиковаться?
Начните с бесплатных задач по данному языку: http://codingbat.com/java
Дополнительную практику можно получить здесь: https://www.codehunt.com/
Код играючи: http://www.codingame.com/puzzles
Рулеточка: http://postimg.org/image/xdfbvgps9/
Ещё задачки: http://eax.me/programming-language-learning/
Олимпиадка: http://acmp.ru/?main=tasks + acm.timus.ru
Простенькие: http://www.programmr.com/zone/java
5. Что насчет SQL?
Начни с малого: http://www.w3schools.com/sql/default.asp
Затем переходи к: http://www.sql-ex.ru/
В качестве чтива рекомендую: http://oreilly.com/catalog/sqlhks/chapter/
6. Java EE, Java FX:
https://www.youtube.com/channel/UCYTFfeXufxZM5pdC_OEmJwg
https://github.com/KriechelD/YouTubeChannel
7. Всё это хорошо, но без алгоритмов меня на работу не возьмут.
Не беда, вот курсы от Принстонского университета: https://www.coursera.org/course/algs4partI
То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java
8. Я готов к первому собеседованию.
Проверь свои знания здесь: http://www.quizful.net/test мнение ОП-хуя: там много вопросов на знание довольно специфичных вещей. Я охуел однажды: тест был про наследование, а вопрос -- про Cloneable и прочую хуергу, где для ответа надо было знать, что у Object clone() имеет модификатор доступа protected и прочую слабо-связанную с тематикой хуергу
И здесь: http://www.careercup.com/
Советы по написанию резюме: потеряли. Может, у кого есть скрин?
Смотря в каком смысле ты употребляешь "подходит". На ней можно программировать, но врядли это можно назвать "подходит". Хотя изначально язык создавался под программирование кофеваорк, собственно и специальная jvm для встроеных систем есть. https://habrahabr.ru/post/274571/
И пытаюсь понять это:
@Override
public int hashCode() {
int result = s != null ? s.hashCode() : 0;
result = 31 result + id;
result = 31 result + (int) c;
return result;
>int result = s != null ? s.hashCode() : 0;
Что это? Почему не int result = int(s) ?
И бля эти 2 строки:
>result = 31 result + id;
>result = 31 result + (int) c;
Тут же тупо переопределяется переменная result
В чем сакральный смысл первой строки метода?
разметкаЛОЛ
Ты вообще что-то сиподобное когда-то тыкал? Ты же синтаксиса не понимаешь, блять.
Нельзя блять просто так привести строку в инт, тем более зачем, когда ты считаешь hashCode? Если она (строка) определена надо взять ее хэшкод, иначе 0, далее, так как здесь используется полиномиальный метод (кажется) хэширования, умножаем на простое число и добавляем хэшкод инта, равный ему самому, записываем в result, домножаем на 31, добавляем хэшкод чего-то что меньше по размеру int'a, видимо char, опять записываем куда надо.
Вот так это выглядит в FXML:
<Button layoutX="201.0" layoutY="148.0" mnemonicParsing="false" onAction="#showS" text="Button" />
Даже не подсказывает ничего, хотя судя по видеогайдам должен предложить создать функцию showS.
IDE у меня IDEA.
Все, разобрался, оказывается контроллер не был прописан. Нахуй Идея создает класс контроллера, но при этом в FXML не прописывает его? Ебанутая.
В папке лежат app.java, hsqldb.jar, sqltool.jar, и основа бд.
try
{
Class.forName("org.hsqldb.jdbcDriver");
}
catch (ClassNotFoundException e)
{
// срабатывает эксепшн, что не находит
}
Компилирую так:
"C:\Program Files\Java\jdk1.6.0_45\bin\javac.exe" app.java
Запускаю так:
"C:\Program Files\Java\jdk1.6.0_45\bin\java.exe" app
Надо как-то особо добавлять jar при компиляции?
Classpath надо указывать.
Это разные вещи, хочешь ебашить сайтики учи javascript, хочешь ебаться с сервером или android'ом учи java.
Если ты будешь достойным специалистом, то без работы не останешься.
Гугли breakpoint и debug
Мне интереснее не веб.
Смотри статические методы класса Executors. newFixedThreadPool я думаю подойдет.
Что-то уже яснее. Но всё-равно не пойму что делает это переопределение переменной result. Она же попросту переопределяется.
Нет, он переопределяется основываясь на предыдущем значении, ты видишь вообще что там RESULT = 31 * RESULT + xyinia?
Читаю Файна, сделал все по учебнику и вот это вылазит.
Эм, создаю Fish он его туда не пихает, создаю Fish2 - пихает
В итоге с Fish2 все прекрасно работает.
Я не понял, почему он Fish кидает не в default package?
Эклипс, что с него взять.
Попробуй создавать класс, кликнув правой кнопкой на этот самый default package. Там где-то в выпадающей менюшке должен быть пункт для создания нового класса.
Можно ли как-то скормить parseInt'у String вида "123text" без выброса эксепшена? Текст любой и любой длины (например "123 text" тоже пойдет), главное, чтобы сначала шло число и оно распарсилось, а текст проигнорировался.
Тоже самое
Бамп вопросу.
я бы сразу увольнял за такие вопросы.
Он пишет, что мы можешь использовать myFish.say() чтобы напечатать то, что говорит рыба
Но в самом классе Pet (Супер класс Fish`a) у нас это описано так:
public String say(String aWord)
{
String petResponse = "Ну ладно!! " +aWord;
return petResponse;
}
И поэтому если в Fish написать, допустим myFish.say("Буль") ничего не будет
Тк надо писать String word = myFish.say("Буль-буль");
System.out.println(word);
Я прав? Метод же возвращает значение
Да, прав.
Если да, то как быть с тем, что два контроллера должны обращаться к одному и тому же объекту, например к ArrayList'y?
Либо делать объект статичным, либо как?
Ставишь на отдельный сервер oracle, postgre или mysql/maria. Проверяешь с удалённой машины, что к нему можно подключиться с помощью клиента этой СУБД. Потом пишешь айпи и порт в url jdbc и подключаешься. Всё что непонятно - в гугл.
ебать даун
Сначала sql представь. Что такое foreign key, что такое primary key, какие из них есть в твоих таблицах, и напиши как ты их джоинишь на обычном sql.
Из твоего поста нихуя не понятно.
Один Human может владеть множеством Car. У хумана id внешний ключ, у Машины cid. Короче говоря, когда мы мапим, то в @JoinColumn указываем поле текущей таблицы?
Во-вторых, тебе видимо нужен mappedBy
Поясни за mappedBy, если не лень.
Хотел написать что-нибудь с API Вконтакта, но понял, что не понимаю, как это сделать.
Подскажите темы, которые надо гуглить для этого. Спасибо.
Тоже поебываюсь с вк
Начинал с некоторой копипасты кода вот этого господина:
https://gist.github.com/aNNiMON/483434f042fadb397eaa
Если умеешь в javaFX можно нормально вытянуть токен через webView и webEngine(это так, на будущее)
Мне только по ссылке на страницу пользователя получать в виде текста его посты. Для этого вроде даже авторизация не нужна, метод открытый.
Контроллеры не обязательно, но без них геморно, а вот как связывать объекты я сам хз.
JavaFX? Конечно можно, но нужно держать ссылку на пэрэнт той хуйни которую хочешь заменить.
Ну то есть простые json отрабатывает, а взятый с VK здоровенный уже нет.
Неправильно парсишь значит
Возми строку ответа из браузера и попробуй ее в коде конвертировать
Тоже использую json-simple, проблем с vk нет
https://api.vk.com/method/wall.get?user_ids=36031322&domain=baddest_motherfucka_in_universe&offset=0&count=1&extended=0&v=5.44
Вот это, метод wall.get, пытаюсь текст достать.
JSONParser parser = new JSONParser();
JSONObject object = null;
try {
object = (JSONObject)parser.parse(response);
}catch(ParseException e){
System.out.println("Error to parse json");
return null;
}
response - обычный string
"Ошибка парсинга"
Только что попробовал твою строку законвертировать, все работет.
return null ток удали, с функции копипастнул
Да не твоё сообщение, а message, который содержится в исключении, брошенном JSONParser'ом.
Скинь стектрейс вообще ( e.printStackTrace() ) -- может, станет понятно, на чём запнулся парсер.
Епт, сча дошло что ты тому чуваку писал про стектрейс, кусок кода прос я кинул
JSONParser parser = new JSONParser();
Object object = parser.parse(json);
JSONObject jsonObject = (JSONObject) object;
System.out.println(jsonObject.get("count"));
Вот код. Выдает с него null. Чо не так?
Потому что корневой key это response, ты хоть на ответную строку смотрел?
((JSONObject) jsonObject.get("response")).get("count")
Спасибо :*
А чего-нить повеселее?
Еще такой вопрос к анонам:
Можно ли хранить картинки в базе данных, насколько оправданна такая практика?
Только сейчас сообразил. Теперь всё ясно.
Еще можно ORM.
>>643410
> Можно ли
Можно блобами (бинарниками как есть), можно сериализовывать, например, в base64 и хранить в как текст.
> насколько оправданна такая практика
Если тебе лень и файлы маленького размера (например, thumbnails), то да. Иначе придется сами файлы хранить в другом месте, а в БД - только метаданные.
Я понял как добраться до count, но так и не понял как добраться до поля text. Пытался делать много вклаживаний метода .get(), но выдает NPE.
Халп
Смотри на скобки, {} знач содержит jsonobject, если [] это jsonarray
В том запросе чтобы вытянуть текст:
JSONObject temp1 = (JSONObject) jsonObject.get("response");
JSONArray tempArray = (JSONArray) temp1.get("items");
temp1 = (JSONObject) tempArray.get(0);
JSONArray innerArray = (JSONArray) temp1.get("copy_history");
И тогда уже с этого массива можно вытягивать объекты, в которых будут ключи с текстом
Для таких огромных jsonov думаю хорошо подойдут всякие визуализаторы, сразу понятно будет что откуда брать. Я пока работаю с объектами попроще, и так все видно
Вот оно что. Анон выше обманул меня, сказав, что в JSON ответах от API Вк нет массивов, я даже и не думал о них почитать. Сейчас попробую.
А как с массива элементы таскать? У него размер 1, я не понимаю как его перебирать. Посмотрел исходники JSONArray, наследуется от ArrayList, методов подходящих там не нашел.
Метод get(index) есть, метод size() тоже имеется, что еще надо?
Щас глянул в список методов, там есть и iterator(), а значит можно и foreach цикл использовать
Разобрался. Надо было итоговый массив запихнуть обратно в объект, тогда все хорошо.
Либо я сонный, либо работает это через жопу, мой внутренний перфекционист подгорает от того, что для простого считывания нужно столько временных переменных.
Либо делать 100 запросов к API, либо писать алгоритм считывания 100 полей текста из одного запроса. Второй вариант какой-то быдлокодерский.
первый*
Но вроде механизм я понял.
Всем, кто помогал, спасибо. Спокойной ночи. Завтра продолжу глупые вопросы.
То что нужно дня портфолио. На нем как раз и вникнешь в процесс создания приложений на джава. Гугли spring, hibernate, spring security и используй их у себя
Iterator<JSONObject> iterator.
Для десктопного клиент сервера -- Java NIO и Patterns of Software Architecture.
Для web-стека -- то, что уже посоветовали (Spring, ORM).
1. Игровое поле состоит из NхN клеток (число 19<N<41 задается в настройках игры).
2. Если линия, соединяющая одинаковые знаки замыкается (возможно соединение по любой из сторон клетки или по углам клеток), то знаки расположенные внутри – меняются на знаки, из которых составлена линия и другой игрок получает право двух ходов.
3. Выигрывает тот игрок, у которого знаков в конце игры больше.
4. По ходу игры программа должна вести протокол игры, в который будут заноситься информационные сообщения о сделанных ходах противников.
Для того, чтобы нормально код написать, нарисовал uml диаграмму на основе mvc. Так как впервые рисую по mvc, то прошу отнестись с пониманием и указать на ошибки.
Если типа утилитный класс (те нет даже статических полей и первым параметром идет обрабатываемая строка), то норм.
В адекватных язык для этого есть специальные средства (экстеншен методы, имплиситы).
Да, чисто утилитарный класс, static поля есть, но все final. Я не очень понимаю что происходит при вызове метода, каждый поток будет иметь свою копию локальных переменных?
И что за адекватные языки кстати?
Нет, не FX, обычная Java SE дескоп.
Хуйни не будет. У потоков общее только пространство памяти, но не пространство операций (т.е. нет такого, что поток попросил у объекта выполнить метод, а тот говорит, что занят, т.к. выполняет этот же метод по просьбе другого потока). Собственно, вся ебля в многопоточности сосредоточена на упорядочивании доступа к памяти из разных потоков.
А что насчет локальных переменных?
static int modifHuita(int huita){
int local = huita + 3;
// промежуточные операции
return local;
}
Тут не будет corrupta, если другой поток войдет в метод, пока первый не вернул результат?
В книгах пишут что все методы находяться в одной таблице т.е. если создавать миллиард объектов, то не будет миллиард команд, отвечающих за методы в определении класса. А вот насчет локальных переменных там хуй что поясняют, храняться они в таблице метода или каждому объекту дается своя копия?
Вот теперь загадок мироздания не осталось.
У ВК кажется есть batch-request
Новый объект в памяти создается только когда я пишу new ObjectType()?
То есть если у меня есть
String string = new String();
А я пишу такой
String string2 = string;
То у меня объект в памяти остается тот же самый, просто на него теперь есть две ссылки?
>>643674
С архитектурной точки зрения проще некуда. На каждый клик игрока вычисляешь дельту (сколько ребер / многоугольников создано), применяешь ее к текущему состоянию и рендеришь.
Куда важнее алгоритмы вычислительной геометрии и теории графов - в этом и суть курсача. Например нахождение циклов, вхождение одного многоугольника в другой, вычисление площади многоугольника.
бля, как сложно, графы, дельты, мвп, че нельзя просто хуяк хуяк и в продакшн?
Да, именно так.
Вот в видео все у него работает.
http://www.youtube.com/watch?v=SpL3EToqaXA&list=PL6gx4Cwl9DGBzfXLWLSYVy8EbTdpGbUIG&index=5
class Human {
private Integer humanId;
@OneToMany
@JoinColumn(name = "human_id")
private List<Car> cars;
}
Просит какой-то там Node[] элементы.
Вот так:
Node[] elements = null;
layout.addChildren().addAll(elements);
не показывает ошибки. Но я не знаю, как лейбел и кнопку превратить в этот Node[], array list что ли создавать, но по идеи не должно быть такого, это же всего лишь кнопка и лейбел, добавляемые в слой формочки FX
А все, у меня просто лейбл не из того пакета импортировался.
Если быть точным, то ссылка создаётся, которую ты объявил. Весит 4 (8) байт.
Настраиваю build.gradle, чтобы он с Javafx собирался Нужно ли это вообще? как тут сказано https://jaxenter.com/tutorial-a-guide-to-the-gradle-javafx-plugin-105730.html, используя https://github.com/bmuschko/gradle-javafx-hello-world/blob/master/build.gradle
Вылетает error. Гугл особо не помог, java_home на 1.8 jdk указывает, gradle последней версии.
Тебе красным языком сказано - проблемы в васяноплагине. Попробуй адрес более старой версии подставить, или более новой:
http://repository-javafx-gradle-plugin.forge.cloudbees.com/snapshot
Пытался программировать на крестах лет в 16, быстро это дело бросил и решил, что программирование это не мое. Но джава - это словно второе дыхание. Не могу удержаться, чтобы приступить к самому кодингу, вместо изучения книжек. Не исключено, что у меня вернется потенция, вырастит член и вернется бывшая. Джава - решение всех проблем.
В 16 у тебя была свобода менять приватные поля по их смещение относительно указателя на объект, а ты её променял на рабство и язык который даже рядом с современными плюсами выглядит говном из прошлого десятилетия на COBOL.
Ничего не вернется.
Делай heapdump и смотри анализаторами (софт типа Visual VM и подобные).
Хуй знает, как заставить это работать. Впизду gradle, буду на maven собирать.
Что же с тобой будет когда ты попробуешь Clojure/Scala/Kotlin ?, наверное свихнешься от счастья.
Обидно
Поебать. На реальных проектах перерасходот памяти не так велик как на хэллоуворлдах.
P.S. Почините уже нижнего петуха, не скомпилируется же!
1С бухгалтер порвался.
Чем хороши эти ваши scala, kotlin, clojure? Нет, вики я читал. На каких конкретно задачах они дают преимущество? Пишу не холивара ради, а просвещения для.
Kotlin - это та же джава, только засыпанная сахаром. Теоретически, делает код чуть чище + приятнее писать. Так что - на любых задачах.
Ты не понимаешь о чем говоришь, с таким же успехом ты мог и Scala (любой JMV язык) назвать сахаром к Java.
Kotlin на 80% схож по синтаксису со Scala (за исключением имлиситов и паттерн-мачинга)
http://pastebin.com/d9mkUiTy
Ты там NullPointerException не получаешь случаем в строке 66? Его ты не ловишь, так что, вполне возможно, оно проваливается к caller'у, который хуй знает где.
проиграл
Не, в том то и дело, что не вылетает никаких эксепшонов. Просто всё зависает нахрен, как-будто поток уходит в блокировку.
> Что ты понимаешь под макросами?
Под макросами я понимаю, как ни странно, макросы
google://scala macro
> А система типов конечно есть.
Лол, толстота.
> Kotlin на 80% схож по синтаксису со Scala
Я имел ввиду что в 20% входят другие отличия кроме маченга и имплиситов :)
> там есть макросы
Забавно что ты спросил, на reddit тоже вчера этот вопрос задавали.
Официально пока не планируется тк большие сомнения в необходимости, а компилятор это сильно усложнит.
Видимо это одна из причин почему у Scala относительно-медленный компилятор и нет нормальной IDE
> система типов
1) Все типы разбиваются на nullable и nonnullable (чего кстати нет в Scala, там же optional)
2) Все типы коллекций разбиваются на два типа: изменяемые и не изменяемые
и на уровне компилятор включается ограничения на правильное использование.
А уже на уровне байткода они компилируются в обычные java коллекции.
> нет нормальной IDE
Манямирок
> 1) Все типы разбиваются на nullable и nonnullable (чего кстати нет в Scala, там же optional)
> 2) Все типы коллекций разбиваются на два типа: изменяемые и не изменяемые
> система типов
Ох, лол. Всё понятно с тобой. Посмотри хотя бы shapeless
Спасибо чувак, но оставь свои 6 MB рантайма у себе.
Да и зашел бы ты в тред по скале, а то там не одного сообщения с прошлого месяца
Чтобы обращаться к полю или методу класса не создавая объект этого класса.
Что константы делать и функции по типу void main(String[] args)
Без мам, пап и кредитов.
Что хочу сказать. Сделал это сам по прочитаной/обдуманной/опробованной инфе.
Ну чё-то ковырял ковырял, учился тыкать и сам смог.
Когда пытался делать калькулятор по учебнику Файна - нихуя не понимал. абсолютно блять.
В итоге посмотрел видеолессоны по GUI, JFrame и JOptionPane и шустро допер как всё сделать самому.
Вопрос знатокам: это Файн пидорас? Он так мутно пишет, что я нихуя не въехал почти.
Или я пидорас, который может учиться только на своих ошибках и всё такое
Алсо, перекачусь на другой учебник
IDEA зэ бест, но если каких-то плагинов будет не хватать для комюнити эдишена прийдется ебаться с эклипсом. Но скорее всего хватит IDEA.
Я думаю он про иммутабельность объектов, тогда сеттеры не нужны. А может ему вообще бобы не нравятся.
> JavaFX или Swing
Возьму эфыкс точенный, срублю свинг дроченный.
> на нее довольно таки похуй
Смотря что ты под этим понимаешь.
> нужно избегать всеми способами
Ага, лучше на сисярпе или (о ужас) на крестах.
Наоборот swing уже давно не поддерживается в отличие от java fx.
Так вроде ж Spring только для Java EE подходит, которую community версия не поддерживает, нэ?
Ну вообще да, короче из вариантов у тебя ебститсь с эклипсом, использовать ломанную IDEA или развести начальство на IDEA.
Или просто спокойно разрабатывать в IDEA CE, поскольку Spring - это просто библиотека. Какая, нахрен, разница, поддерживает её идея или нет?
Ему про систему типов, а он про какой-то рантайм кукарекает. Поссу маневрирующему петуху в рот, пожалуй.
Можно ли как-то сделать, чтобы данный метод разбивал по нескольким подстрокам?
Опишу задачу -- есть текст, хочу из него вынуть все слова, вынимать их вместе с знаками препинания не хочется.
Есть идеи?
Ты опять выходишь на связь, мудило?
1. str.split("[.,;\\s]+")
2. StringTokenizer
3. Apache Commons Lang StrTokenizer
4. Взять нормальную библиотеку для обработки естественных языков, там точно должен быть токенайзер
потому что .readLine() считывает строку. Если у тебя цифры в одной строке, то в ls.add(s) в качестве s придёт "1 2 3 4 5 6" и всё. Соответственно, это будет единственный элемент в списке, который при обратной итерации и выведется один.
Короче, переписывай алгоритм парсинга файла.
> Ты опять выходишь на связь, мудило?
> 1. str.split("[.,;\\s]+")
> 2. StringTokenizer
> 3. Apache Commons Lang StrTokenizer
))) https://github.com/sirthias/parboiled2
Стример торрентов. Тоже такой пишу, чтобы освоить akka-streams
>out.writeInt(3);
Записывает в файл пустую строку?
При этом
>System.out.println(in.readInt());
В консоль выводит как надо
При определенном увеличении массива программа просто наглухо зависает, долго ждал, но ошибки никакой не было.
В чем может быть проблема? Как отловить баг? Дебагерром нашел цикл, на котором все виснет, но он простой и по сути ничего не делает, что могло бы вызывать ошибку.
Вот такой цикл:
for(int i=0;i<array.length;i++){
if(array!=null) addKeyValue(array);
}
А в чём прикол на каждой итерации проверять массив на null и пихать его куда-то? Мб ты это с элементами массива проделывать? Тогда надо работать с array:
for(int i = 0; i < array.length; i++) {
if(array[] != null) addKeyValue(array);
}
ага, хуикс
Ну вопрос все равно ребром стоит, хули делать, если программа тупо виснет? Даже эксепшена не бросает.
Значит, addKeyValue у тебя метод херовый. Больше нету причин.
Типа у меня добавляется в ArrayList 13 элементов, а потом с ними делаются дела. А если добавить 14 элементов, все идет по пизде именно на этом цикле.
Внутри цикла функция, наверное надо было ее писать.
Она ничего особенного не делает тоже:
private void addKeyValue(String s) {
if(!rating.containsKey(s)) { rating.put(s, 1); }
else {rating.put(s, rating.get(s)+1);}
}
Раскидай по циклу и addKeyValue println'ы. Типа перед вызовом addKeyValue, после вызова, перед и после условия в методе. Ну ты понял.
Таки починил.
Теперь у меня есть мой первый уникальный софт -- прога для подсчета топ-10 слов в последних 100 постах пользователя\группы в вк.
Пока что без авторизации, интерфейса и обработчика исключений.
Так вот вопрос: это я безнадежный дурачок или все через это проходили и дальше будет проще?
Ты код-то пишешь вообще? Или ты решил, что обучение это сидеть читать книгу и нихуя не делать по ней?
Пишу, конечно. Делаю все задачи(даже просто перепечатываю строки кода, который вырван из контекста, чтобы объяснить определенный момент), которые в книги идут в конце главы и в самой главе.
Видимо, я таки безнадежный дурачок.Не то, чтобы меня это остановило и я пошел удалять IDE да книги, но очень обидно
Очевидно что писать сервер с нуля (на Netty, например).
КАКОЙ ЕЩЕ ТОЧКИ?
Если именно движок, то по сути только libgdx, а если просто либа - lwjgl.
Почини конфигурацию запуска, у тебя указано, что класс в котором main называется Car. Вон даже крестик красный сверху слева от кнопок Run и Debug.
Добра тебе
Если кто-то в этой теме варится, направьте в какой стороне копать, под этим я подразумеваю ссылок на статьи или блоги и прочие вещи.
Как получить гейм-контроллер?
>>646079
Не слушай этого пидора ->
>>646077
Все обучение программированию полностью состоит из непонятной хуйни, те части-которые ты не понимаешь просто пропускай, или дальше. Позже пойдет некое понимание ранее непонятных вещей, но с другой стороны. Некоторые книги я прочитываю не один раз, и часто приходит понимание ранее не понятных вещей
Это абсолютно нормально, все так учили. Главное не опускай руки ни за что. Понимание придёт потом.
Именно этот я/п имеет относительно высокий порог вхождения, и его допиливали/перепиливали без малого 20 лет.
Так что неудивительно.
как начать писать все эти тесты и все эти JUnit, что почитать на эту тему? технически то более менее понятно, а вот когда их писать и сколько, бест практисы не понял
хелп ми, жава-брат
Видишь метод для публичного API - пиши тест.
По количеству - умеренно. Средний случай + несколько крайних. + на эксепшены, если они должны выдаваться.
спасибо, брат!
1 пик - код
2 пик - неизвестная ошибка при javac
что это и что делать? где ошибка в коде?
Попробуй его назвать Main
Да, возможно переводы строк надо поменять.
на ротешник?
Ньюфагов
> Все обучение программированию полностью состоит из непонятной хуйни,
Манямирок. Начал программировать в 12 лет с C++, тем не менее всё сразу было понятно. Единственное что на самом деле сложно понять без опыта, это какой инструмент для чего лучше подходит, и в каком стиле лучше писать код (потому что на эти вопросы нет однозначного ответа).
> Именно этот я/п имеет относительно высокий порог вхождения
Джява сделана специально для низкого порога вхождения, чтобы любой обосранный индус мог писать на ней круды.
Ах, да, я вроде понял.
Выше чем ,например, у шарпа или любого языка с динамической типизацией. А крудошлепством можно заниматься и вообще без каких-либо знаний.
У меня было также. Терь я рубимака лель.
Говно, с картинками для умственно отсталых.
Откуда пошёл этот миф? Какая-нибудь скала значительно легче всей этой пхп/жс/руби/питоно дристни, хотя бы уже потому, что там нормальные подсказки IDE есть. А джяву и шарп даже дебил может освоить.
Нет, просто это изначальный девиз языка. Держать его ПРОСТЫМ, чтобы даже дебильный срущий на улице индус мог осилить. А ещё к ней прилагаются говнопаттерны уровня AbstractSingletonProxyFactoryBean, чтобы индус писал всё единственно дозволенным путём.
>Откуда пошёл этот миф?
Похоже, что из-за системы типов, дженерики там, List<List<T>> и так далее.
А если с ними язык остаётся простым, то пых с пифоном ещё проще, типа бейсика, по ходу.
>>647052
Но ведь это только упрощает разработку. На динамике ты не знаешь, что откуда берётся, остаётся либо пролистывать тысячи строк лапши, чтобы это понять, либо копировать код из документации (если она есть) и гугла и надеяться, что он сработает. Ах да, и ещё хуйня уровня http://wtfjs.com/
Хуяк, хуяк, 2 месяца - и в продакшен, хуле. Каждый может.
А вы - лохи ленивые, я через год уже сеньером стал, а через полтора - заебало, работать на себя захотел. Уехал в Гоа, на пляже с макбуком сижу под пальмой, 3 штуки баксов в месяц.
Этот ебанулся, давайте следующего.
зис. жава после пхп мне вообще легкой, как небо, кажется. Нормальные исключения, нормальные типы, нормальная иде, нормальные пакеты вместо дрисни-фреймворков.
но это в дескопе. веб делать на жаве я бы не стал, ибо лень то же самое осваивать, если пхп есть.
как же точно сказано
> если пхп есть
Ящитаю, что в 2016 году PHP следует знать только из-за огромного количества популярных CMS для всех случаев жизни, иначе вообще нет причин с ним связываться. Если так нравится динамичная дрисня, следует давно уже пересесть на Python/Django и Ruby/ROR. Хотя вон даже рубисты-на-колесиках теперь перекатываются в Elixir.
А как же нода братюнь если нужна динамичная дрисня?
>веб делать на жаве я бы не стал, ибо лень то же самое осваивать, если пхп есть.
Джява не предназначена для веба, там нацеленность на тырпрайз.
Зато есть ультра-винрарная скала, можно писать даже фронтенд на ней.
Пробовал вариться во всем от делфей до руби. Далеко не заходило. То западло, то запои сезонные. Тут нашел этот сервис. Вроде ништяк, и теории немного нудной и практики хватает. Вот решил советов мудрых спросить - стоит ли продолжать? Или есть какие-то аналоги, где можно с нуля яву вкурить?
Инбифо : книги. Но только если там совсем не нудизм.
Я просто настаиваю, чтоб ты оформил их подписку.
Ты, конечно, все равно ничему там не научишься, но хоть деньги пойдут не на бухло, а в карман джаварашевцев. Авось на таких, как ты, и наскребут на нормальный курс.
ImageView ava = (ImageView) view.findViewById(R.id.avatarka);
ava.setImageURI(Uri.parse("https://pp.vk.me/c629127/v629127625/2038f/7n8YdB8cIUY.jpg"));
выдает вот такую ошибку:
I/System.out: resolveUri failed on bad bitmap uri: https://pp.vk.me/c629127/v629127625/2038f/7n8YdB8cIUY.jpg
ЧЯДНТ ? пикрандом
Ткни File-Project Settings. У тебя там будет Language Level или что-то такое. Стоит, вангую, Java 6. А такую хрень можно писать в Java 7+.
Спасибо, анон, помогло.
Дурачек ImageView может открывать только локальные файлы (file://), он не умеет из из вэба качать.
А вообще пиздуй в /android тред
лучше бы подсказал как правильно. Я ведь учусь только. Чего ругаешься. на хабре прочитал что можно http://habrahabr.ru/sandbox/42926/
Или как настроить ебаный mySQL в юникод.
Прохожу на coursera по жабе курс, они там вместо свинга или JavaFX юзает его. А я впервые вообще услышал о нем. Никому не нужное говно или сойдёт?
При соединении через JDBC я использовал магические параметры, вычитанные из документации Connector/J: jdbc:mysql://localhost:3306/skipy?useUnicode=true&characterEncoding=utf8
изучай http://www.skipy.ru/technics/encodings_webapp.html#db
В свойствах базы проверь Collation - utf8...
Для таких, как ты, кто думает, что основные сложности языка в синтаксисе, пишут книжки а-ля "Java для тупых уебков" и "Освой с++ за 12 дней". Только что-то не встречал таких я, кто бы хотя бы до джуниора дошел, читая только эту макулатуру.
в пхп удобные фреймворки специально для веба, это плюс. а питон устарел, мне кажется, хотя руби из хипстерского интереса можно ковырнуть.
шта? где я пишу про книги?
C# и Scala.
хочу заполнить choiceBox который прописан в fxml файле
я так понял что надо что то прописать в контолере типа этого ( кусочек fxml файла fx:id="choiceFioldSize")
public ChoiceBox choiceFioldSize = new ChoiceBox(FXCollections.observableArrayList(
"First", "Second", "Third"));
но что дальше делать хз
В контроллере должен быть метод initialize, он вызывается после старта. В нем обычно прописывается что-то типа
>box.setItems(FXCollections.observableArrayList("First", "Second", "Third"));
Посоветуйте последние книги по сабжу и смежным областям.
За плечами 22-лвл и знание синтаксиса жабы, немножко многопоточности и анализа алгоритмов и англ. язык.
>Java для тупых уебков
>Только что-то не встречал таких я, кто бы хотя бы до джуниора дошел, читая только эту макулатуру
Очевидно же, что суть подобных книг заключается не в том, чтобы сделать тебя джуниором (что нереально, само собой), а дать базовое понимание языка и основных принципов.
>>648503
Куда ты вкатываться собираешься, если не можешь даже сообразить прочитать ОПпост?
Я прочитал. Извините за беспокойство.
Дано:
1. Рубимакака с опытом 1 год
2. Город: Мухосрань, 900к
3. Зп 35к
4. Образование: высшее техническое, но не итебаное
Найти:
Время за которое рубимакака станет джава джуном, как минимум с такой же зп. С учетом что увольняться не собирается.
И вообще, какие сейчас вилки зп у джавадаунов ПО РОССИИ? Джун/мидл.
В чем проблема продолжать быть рубимакакой?
> высшее техническое, но не ит
Это небольшая проблема.
> Время
Ну ты же понимаешь, что это зависит от тебя самого. Если дохуя умный, то можно и за год.
> вилки зп
> Джун/мидл
20-150 - такие дела, сильно зависит от компании. Пиздуй на сайты вакансии и там смотри.
>В чем проблема продолжать быть рубимакакой?
Во рту есть стойкое ощущение, что рельсы ведут только на апворк. И тут возникают большие проблемы с персональным менеджментом и большая вероятность пососать хуец.
>ДС-1-2
Нихуя кардинально не поменяет.
Вся рельсоработа - это один хуй удаленка в том или ином виде. Ну или офис с пидорашенскими клиентами и зп в 40к, что мне нахуй не надо.
Посмотрел я вакансии рубин-на-колесиках - нашел b нормальные, в офисе с печеньками и з/п неплохая. Лучше бы подтянул Ruby скиллы до уровня миддла.
Таки нет, если ты не будешь рассматривать только SE, а еще глянешь на всю эту EE хуиту. У шарпа с этим попроще.
А как насчет просто Sping Boot + Angular через webjars?
В джаву точно не стоит. Пока до веба дойдет - ты охуеешь, сколько нужно выучить. За это время на пхп или руби уже вовсю можно хуярить в продакшене. А в джаве будешь еще недоджун.
Хочешь в веб - выбирай то, что под веб создавалось, и под него заточено.
есть у меня fxml файл в котором, как и полагается, лежит GUI, но мне нужно сделать так что бы часть гуя генерировалась в коде в классе контроллере
Чому ты такой безграмотный?
Тебе уже писали про Initializable#initialize. Там надо типа pane.getChildren().add(new Button("Hello world"));
Нужно как-то настроить WebLogic, чтобы видел CXF, как это сделать?
Да, и советы описанные здесь (в разделе WebLogic):
http://cxf.apache.org/docs/application-server-specific-configuration-guide.html
не помогают.
> SOAP веб-сервис без исходников (только EAR файл),
> pache CXF.
> WebLogic 12c
Где ты откопал этот кусок говна?
Заказчику нужен веб-сервис на основе Oracle Primavera (я знаю, что это говно, но менять на другое он не соглашается). А она ставится только на WebLogic и требует CXF.
Дак тут конкретно про веб речь идет. Или ты на яве сайтики пилить планировал, когда есть питон для этих целей?
http://abdera.apache.org/
Положить в classpath JVM, на которой крутится сервер ( jre/lib/ext ). Быдлоспособ, но что поделать.
Должно устранить по крайней мере тот эксепшн, что ты скинул.
Очевидно, что класс не найден.
EAR - это zip, потому ты можешь посмотреть что там внутри и лежат ли там необходимые либы (классы).
Раз их там нет, то поступи как тебе сказали выше насчет classpath.
Умею в JavaFX и в Java Core (кроме потоков и модных фишек последних версий, вроде Stream API).
А вот программы писать не умею, связывая эти знания. Не понимаю как связать контроллер и логику программы. Паттерны мб какие надо использовать? Если да, то какие?
Посоветуй что почитать\посмотреть. Можно даже исходники чего-нибудь с гита.
> потоков
Это плохо. Хотя в реальной жизни вся параллельность спрятана под фреймворками и библиотеками, базовые знания нужно иметь.
> Stream API
Это тоже. Семерка уже считается легаси, а в восьмерке без этого никуда.
> контроллер и логику программы
Просто фигачь все initialize и eventhandlerы. Вот над чем действительно надо думать - это менеджмент view (как перетащить состояние из одного контроллера в другой).
> почитать\посмотреть
Документацию JavaFX.
Исходники фреймворка DataFX.
Неа, уже пробовал. Тогда ругается на другие классы. Нужен именно CXF целиком.
Если полностью добавить в CLASSPATH все библиотеки (JAR файлы) из CXF, то наебывается сам WebLogic (зависает при деплое), видимо конфликт с какими-то уже используемыми классами.
>>649592
> EAR - это zip, потому ты можешь посмотреть что там внутри и лежат ли там необходимые либы (классы).
Откуда они там? Если бы были, то все бы находил. Внутренности конечно смотрел, там внутри WAR, а в нем конфиги, в которых прописано, что используется CXF и Spring.
Вот этот архив: http://rghost.ru/6J2DVpnZ4
Братан, а ты не хочешь программировать впаре? Я думаю в группе намного быстрее происходит обучение, да и экстримальные практики можно попробовать. Вообще, Я бы с удовольствием собрал или вступил в конфу начинающих и не очень джавагоспод.
Оставлю фейкомыло для дальнейшей связи - ka&nEmikadze401ANUSg58>mailPUNCTUMcqI1om
> Откуда они там?
Внутри war, например. А ты думал, аппликейшн сервер сам по pom-файлу будет зависимости качать, а 36 мб - это просто несжатые нули?
Камикадзе, ты?
Отписал тебе
Проект - spring boot + angular, нужно сделать обмен сообщениями между пользователями вроде приватного чата как в соц.сетях. Что-то совсем запутался, не понимаю как разметить классы. У кого-то был опыт подобного?
> не понимаю как разметить классы
Ты про CSS? Какие тут могут проблемы? Чем больше классов, тем лучше.
Лол. Не те классы, а сущности. @Entity.
Т.е у меня есть User, а мне надо создать Message, Conversation и как-то увязать между собой в отношениях, плюс сервисный слой.
В которой иконы и ритуалы божества меняются каждые три месяца. Ты ещё скажи, slick есть вместо spring persistense.
User - M:M - Conversation
Message - M:1 - User
Message - M:1 - Conversation
Conversation - 1:M - Message
Читай как делать связи в JPA/Hibernate, включая двусторонний маппинг.
Что это за вид защиты - шифрация байткода?
Манямирок джяваиндуса
Спасибо, антош.
Похоже?
class User {
String name;
String password;
@ManyToMany
Collection<Converstion> conversations;
}
class Converstion {
@ManyToMany(mappedBy = "convesations")
Collection<User> users;
@OneToMany
Collection<Message> messages;
}
class Message {
String text;
@ManyToOne
User user;
@ManyToOne
Conversation conversation;
}
Нужно ли тут использовать jointable?
Спасибо, антош.
Похоже?
class User {
String name;
String password;
@ManyToMany
Collection<Converstion> conversations;
}
class Converstion {
@ManyToMany(mappedBy = "convesations")
Collection<User> users;
@OneToMany
Collection<Message> messages;
}
class Message {
String text;
@ManyToOne
User user;
@ManyToOne
Conversation conversation;
}
Нужно ли тут использовать jointable?
хешмап используй епти
>Акка и спринг бут.
Точно, нахуй это нужно, выбор господ - хуярить портянки на голых AbstractSingletonProxyFactoryBean.
Чувак, это рэпчик.
У котлина прямой интероп из джавы в сабж и наоборот, без траханья с преобразованиями как в скале и грувях.
Итого, kotlin - это Java здорового человека из 2010-х, а не Java курильщика или вообще оригинальная синтаксическая кислятина из 1990-х.
Без паттернматчинга. Надеюсь, завезут.
>AbstractLocalSingletonClassStatelessRemoteProxySessionValidationAwareInternalDefaultSimpleAnnotationInitializingFrameInvokerStateConfigurationFactoryExecutorBeanLoaderImplBuilder здорового человека
Ну да.
Как будто что-то плохое
Какое-то маня-говно уровня "10 качеств настоящего мужчины". Скоро ТП будут расшифровывать как тупой программист.
Ну я новичок, поясни что не так.
Не катит: http://vitalflux.com/java-top-10-java-based-web-development-frameworks-2014-2015/#prettyPhoto/0/
Как сформировать запрос серверу, чтобы он вернул мне страничку с svg?
Лол, каких неосиляторов?
Ему все верно ответили, использовать джаву для сайтов, которые можно на вп сделать мягко говоря - нецелесообразно. Джава для мобилок и тырпрайзов.
И это люблю. Художку на читалке читаю. Что понравилось - покупаю бумажный оригинал.
А не проще ли просто очищать статистику?
Что ты несёшь? Перезапускать прилагу - это же бред. Почему нельзя всё сбросить?
Так тебе надо перезапустить приложение или перезапустить какую-то игровую сессию внутри приложения? Вынь говно из черепа и изъясняйся нормально.
Это не мне надо. Я тут мимокрок.
Хранить дефолтное состояние и приводить текущее состояние игры к нему. Задавай конкретные вопросы - получишь конкретные ответы.
Что это такое и как это работает уже выучил, но куда применять и зачем - пока не понял.
Особенно не понял, зачем нужны матрицы.
Алсо, калькуляторы и прочее уже писал без их использования
Забей)
ну серьёзно, куда эти массивы применять?
Генератор предложений/постов типа вкшного уже сделал, не слишком много там делать надо было с массивами.
Во всех текстах про массивы всё расписано, мол они пиздец как нужны и даются какие-то ебанутые задания, которые быстрее в голове просчитать, чем формулами, которые даны в тексте.
Вот и спрашиваю, куда заюзать массивы и всё такое?
даже не так. куда задействовать непримитивные массивы?
а то простые с плеер1 и плеер2 это ни о чём)
Ну и чем тебе "Жизнь" не устроила? И чего ты приебался к массивам? Есть же списки.
спасибо, поизучаю)
Хочу сделать JLabel, содержащие эти имена(по порядку)
Как это реализовать?
На выходе хочу сделать имя человека и напротив него кнопка.
Запилишь следующий перекат с какими надо исправлениями.
Тут админов нет, перекаты и шапки делаются посетителями треда.
Никогда. Использовать Hibernate или другие ORM и просто обертки на JDBC
Там есть какой-то раздел десигн.
ЧТо эт такое? Есть ли аналоги в эклипсе и чем эта вкладка занимается? (в уроке чувак делал драг н дроп картинки туда, бэкграунда)
Имеется класс
Huita<H>{
Shit shit;
interface Shit<H>{
void makeShit(H obj);
}
public Huita(Shit shit){
this.shit = shit;
}
....
}
И класс наследник:
InheritedHuita extends Huita<String>{
Huita.Shit impl = new Huita.Sheet<String>{
void makeShit(String obj){
//Implementation
}
};
InheretedHuita(){
super(impl);
}
}
Я так понимаю мое определение интерфейса доступно еще до входа в конструктор, почему тогда я не могу его туда передать?
Ты можешь нормально код написать, без всяких этих шит-хуит? И выложить ссылку на отформатированный вариант, например, на pastebin.
И так лень разбираться в ваших поделках, а тут ещё и глаза ломать сидеть.
Есть 2 массива: в одном имена(String), в другом номера телефонов(int).
Открывается окошко, где просят ввести имя. Если это имя есть в массиве - вылезает окошко "Набираю + номер телефона", если нет - то пишут, что такого чувака нет, отбой.
Как реализовать привязку инт-массива к стринг-массиву?
Например, имя Василий в массиве - третье, значит номер телефона василия это 3й объект в массиве с инт.
Но вот как это сделать прям совсем не могу что-то.
Нужно создать класс PhoneNumber, который инкапсулирует логику валидации и форматирования номера телефона, а не хранить его в int (и даже String). И еще класс Person, у которого будет два поля - name и phoneNumber. Потом создаешь Map<String, Person>, где группируешь людей по именам.
уёбищный интернет, несколько раз сбрасывал и не отправлял, а потом всё разом постанул, ссори
Пытаешься взять строку "a", которую тебе возвращает шоуИнпутДиалог (это, на секунду, имя сотрудника, как я понял), и использовать её для индексации по массиву. То есть ты вводишь "Petya" он говорит "да,такое имя есть", и дальше ты пытаешься обратиться к массиву, используя "Petya" как индекс. Тебе нужно сделать что-то типа
wrkrsPhone[wrkrs.индексОф(a)], то есть найти индекс элемента "Petya" в массиве
да, я пробовал этот метод - выдает почему-то только первое из wrkrsPhone.
В данном случае с ЛЮБЫМ именем выдает первый номер(22626)
после этого уже решил написать сюда
Надо было через лист делать
http://pastebin.com/6Bu6DU2V
Всем спасибО) в ближайшее время засяду за эти Maps)
Спасибо.
Попробуй добавит хэндлер для MouseEvent.MOUSE_ENTERED
Друзья Джавамастеры. Как извесно, борды нужны для того, чтобы помогать анонам выполнять их реквесты.
Итак, мне дали задачу, написать игру с реализацией стрельбы балистическими снарядами из пушки, как в энгрибердс.
Из Джава я умею в синтаксис, до написания консольных крестиков-ноликов и Swing, на уровне добавление кнопочек на окошко.
Как расчитывать траэкторию полета снаряда и отображать анимацию на свинге, вообще не представляю.
Подскажите список того, что нужно гуглить и в каком порядке, чтобы запилить крутую игруху, вплоть до перестрелок по сети.
С меня как обычно.
Gmail на Javascript написан
Не совсем то, но в книге про android от дейтелов за 2015 год, в одном разделе реализуют похожую штуку, там пушка стреляет, вроде даже по балистической траектории, смотри куски в которых именно логика реализуется, а не пишется оболочка андройда
Не получше.
Spring -- дефакто стандарт в энтерпрайзе, ибо JEE развивается медленно и осторожно.
А есть какие-нибудь преобразователи исходников или байт-кода чтобы прога могла завестись на машине с более древними jdk, jre?
Во многом аналог + альтернатива Java EE по функциональным возможностям и назначению.
Если при компиляции указал версию исходников ниже 1.7, то будет запускаться на версиях вплоть до той что указал.
Бля. Еще и не туда ответил
А есть какие-нибудь утилиты чтобы сонвертировать jar в исполняемый файл для винды и чтобы он выполнялся если вообще нет jre, jdk?
Аноны, а правда, что джава + технологии это то востребованное, что можно учить ради денег?
На какие технологии больше вакансий?
Сколько занимает обучение с нуба до МОЙ 1 ЗАКАЗ НА ФРИЛАНСЕ?
Частично правда. Не знаю насчёт фриланса, но вакансий в энтерпрайзе достаточно.
Что касается обучения, то тут сложно сказать. Основы языка можно выучить достаточно быстро, но вот опыт нормальной разработки -- от двух лет и более, в зависимости от места получения опыта. Можно хоть 10 лет макакой оставаться, особенно если на работе приходится иметь дело с крупными легаси проектами, которые писали макаки.
Ну то есть, с теми, что даны в заданиях с прибавкой циферок и строк я разобрался.
Сделал тут себе идейку, а сделать не получается - либо цикл бесконечный, либо сразу прерывается.
В общем, типа проверка пароля.
http://pastebin.com/p2FJtwWn
Пока не введут "Привет", цикл должен повторяться.
С этим вариантом тоже не получилось
if(s=="Привет"){
break;
}
> java
> проверка на равенство через ==
Ты перепутал его с адекватными языками 21 века, иди equals наверни.
>>654893
методами костылей всё получилось, полистал стэковерфлоу, сделал через equals
http://pastebin.com/n0EuJhzr
Все верно запомни, через == можно сравнивать только то, что точно является примитивом byte, char, int, float, long, double, все остальное через equals, еще желательно всегда equals вызвать для констант, то есть не str.equals("xyita"), а "xyita".equals(str); Таким образом можно избавится от проверки на null. Если же вдруг тебе надо проверить что хуйня равна null, то тогда надо сравнивать через ==
Ты что ебнулся. Во-первых ==, во-вторых intern().
Делать intern() - себя не уважать. А вообще компилятор может выкурить что ты используешь строчный литерал и == сработает.
я не он, но тоже был бы не против вступить в конфу.
Хотя я только недавно начал явой заниматься
А для сравнения двух объектов, в Java 1.7 даже придуман костыль утилитный метод:
https://docs.oracle.com/javase/7/docs/api/java/util/Objects.html#equals(java.lang.Object, java.lang.Object)
Мда зачем все так сложно.
Parser.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Суть такова - хочу перенести несколько классов из основного проекта IDE. Перенеся их, я смогу при необходимости имортировать только эти конкретные классы и использовать их в нескольких проектах.
Грубо говоря, расклад выглядит так:
Класс User. Это класс, который я хочу перетащить в новый проект. Он сейчас находится в проекте А.
Я хочу использовать этот класс как в проекте A, так и в новом проекте B, но проекту B достаточно урезанной реализации этого класса. Вот примерная схема:
Project A: используется йоба-версия класса User
Project B: используется урезанная версия класса User, сделанная путем выпиливания ненужного из йоба-класса
Project C: собственно, сама урезанная реализация класса User
Как это лучше всего сделать? Читаю про абстрактные классы и интерфейсы, но хз что лучше выбрать в этом случае. А ведь можно и вовсе использовать extends без абстрактных классов. Как выбрать правильный стул? Алсо, знакомый жабакодер сказал что в таких случаях еще можно reflection юзать и что нужно какую-то логику выбора правильного класса добавить, но что конкретно он имел в виду я хз. Помогите нубу.
Project A:
class User { ... }
Project B:
берешь и юзаешь.
Project C:
class YobaUser extends User { ... }
Чего тебе в такой схеме не хватает? Зачем абстрактные классы?
A и С перепутал.
Где-то дженерики пропустил, например, присваиваешь дженерик-списку raw-список:
List<Integer> a = new ArrayList(); // вместо new ArrayList<>()
Ну а до 1-го заказа фриланса? Просто нет способа другого опыт получать
На джаве нет фриланса. Ну, андроид разве что.
photo_50, photo_100 и т.д. Как можно выдрать ключь с максимальным числом на конце? Вангую что нужны регэкспы, но без понятия как их применять
Антош, все-таки спасиб. Ютубные примеры выглядят няшно.
ну я сейчас так и делаю, отсекаю все префиксы, возвращаю массив чисел и выюираю максимальное, но мне показалость что это быдлокод
Ну если сильно гонишься за красотой API, можешь заимплементить Comparator<String> и искать через Collections#max
Тогда лучше оставлю как есть, почти не шарю в регулярках, но мне казалось что они тот самый рыцарь на коне
Можно было бы так попробовать, только у меня нету файла чтобы проверить точно и мне лень немного
Никогда и никому больше не показывай такую хуйню.
JavaFX
Аноны, а нахуй нужна джава?
Чем занимается большинство джавистов в рашке? Что за направление самое популярное?
интерпрайз(веб, как правило бэкенд) и андроид
Попробуй с помощью for each
Я бы сначала создал шаблон лейбл с кнопкой в отдельном классе и метод, который принимает на вход строку, помещает ее в лейбл и возвращает "готовый шаблон"
Что то мне подсказывает, что для отрисовки полета снаряда нужен канвас
Ctrl+d ну или ctrl+z
Нафиг он тебе нужен? Давай рассказывай, ты явно творишь какую-то ньюфагскую дичь.
Вот решил ты сделать сервер (типа Tomcat) на котором будут крутиться чужие Java сайты.
А у разных сайты могут быть зависимости на один и те же библиотеку, но разных версий.
И что бы ты конфликтов не возникало, у каждого сайта должен быть свой класс-лоадер.
Все равно не понятно, а разве сайты не поставляются с библиотеками, от которых они зависимы(в мавене этож все прописывется)?
Еще такой вопрос:
Скачал xStream для сериализации в xml( освоение hibernate следующий пункт в моем туду).
Вроде все просто, как для даунов
Создал обычный List<String> с двумя итемами, сохранил все это дело и получил такой xml:
<?xml version="1.0" ?>
<list><string>some</string><string>bome</string></list>
И малость прихуел, куда делась вся инфа о иерархии наследования, о интерфейсах и методах, статических полях и т.д. ?
>куда делась вся инфа о иерархии наследования, о интерфейсах и методах, статических полях и т.д. ?
А зачем она там? Этот xml содержит достаточно инфы, чтоб создать точно такой же список строк.
> Все равно не понятно,
Попробуй напрячь мозг.
Много сайтов, у каждого разные версии одной и той же библиотеки ->
-> Классы с одинаковыми пакетами и именами, но разной сигнатуры (к примеру разные методы).
Как они уживутся вместе? У тебя JVM просто упадет при запросе одного из таких классов.
Напряг и понял что я все еще полный лох в java, такие посты меня ставят в тупик. Пойду задрачивать книги-статьи
Просто удивило что так мало информации. Была мысль что если в классе наследнике есть переменные состояния и сохранить как объект базового класса то вся инфа о наследниках потеряется, все таки я сохранял arrayList как list. Но только что написал пару тривиальных классов для проверки и все нормас
Для фриланса Java не самый лучший выбор. Пробуй веб.
Нет.
Да как же вы блять сука заебали.
Нет нельзя. И всем остальным, кто там еще с тобой пришел передай, что нельзя.
Все, уебывай
Двождую. )) Нам ява-хокерам не нужны ньюфоги)
Я в 27 вкатился джуном даже без вышки. Но это было в 2012-м.
>>656856
А что это прям совсем дно? Хорошо бы аргументировать. У меня в синглтоне использовался экзекутор и когда сериализнул объект, он вышле совсем толстым, методом проб нашел в чем причина. Я ньюфаг и многие вещи не очевидны.
>>656325
Да все, я уже через ArrayList<int[]> сделал.
Рандомизатор с весом: в первой ячейке хранится число, а во второй - вес предыдущих чисел плюс вес текущего числа.
Прост тред вот просто не сериализуют и синглтон тоже. Просто нет смысла. А промежуточные результаты их работы хранят по другому.
Пишут тут что джава не катируется фрилансом, а как на счет удаленки в не рф?
На яве пишут толстые сайты, с мудреной бизнес-логикой, а не очередной бложик васи пупкина поэтому и фриланса мало, там как правило нужны мелкие сайты. Проще самому зайти на odesk, или как он сча называется, и посмотреть
а чего толстого? я пока гуглил ответ на этот вопрос чаще всего встречал этот список.
Ну ещё spring boot, thymeleaf..
Я собирался написать то же самое, так что я думаю или мы два толстяка, или ты запутываешь следы.
Упражнения из учебников утомляют что-то и переписывать код не вызывает восторга.
Чувствую в себе силы для самостоятельного "проекта", но идей нет.
Желательно простецкие лабы с первого курса какого-нибудь универа(без математики), но не слишком простые типа "Выведите строку "хуй", используя sysout"
Схуяли толсто? Ты прав,я хотел столстить, так как подумал что имеется ввиду обычный одностроничная лэдинг пайдж.
Но вчитавшись понял что там написано про одностраничный вэбапп. И толстить не пришлось
>>657419 -толстяк
Проебался с цифрами, ну вы поняли
В универах настолько уебищные лабы, что переписывание упражнений с книжки тебе покажется лучшим занятием в жизни, в сравнении с тем говном что дают на лабах в универе. Придумывай свою простенькую идею(напрягись, хорошенько подумай) и пили, если тебе покажеться что недостаточно знаний или нужно будет лезть в области, отличные от java похуй, это норм, stackoverflow и доки все пояснят. Так наберешься куда больше знаний по jave(даже если в твоем итоговом проекте сама ява будет занимать десятую часть), чем от тупых лаб, задрачивания примеров или написания неинтересных тебе проектов(всякие говноорганайзеры, крестики-нолики, морской бой и т.д.)
Дя
Intelij тоже, если тебе ЕЕ не нужно.
Ну или предложи еще какой сплсоб, чтобы не изучать всё подряд, а найти какую-то цель и идти к ней
Ппоробуй так:
1) интернет запрос, и выводв консоль или файл старнички гугла (дней 5) - Треды (Опционально), Стримы (не те что с коллекциями), Файлы, Http
2) Ввод с консольки на имя файла и адрес, валидация адреса, вывод ошибки (дня 2)
3) Приходи с промежуточными результати если тупишь
Тебе не надо визуализирвоать хуйню, просото переведи байтики хтмл в текст и тд.
Сделал три private static ArrayList<int[]> listOne = new ArrayList<int[]>();
Большая часть работы с ними идет в цикле, читаются элементы один за другим ну и тд.
Но мне не нравится, что для их чтения в цикле приходится городить методы с вот такими конструкциями:
if(num == 2) {
return listThree.get(index)[0];
} else if(num == 1) {
return listTwo.get(index)[0];
} else {
return listOne.get(index)[0];
}
Я пробовал сделать ArrayList[] list = new ArrayList[3]; list[0] = new ArrayList<int[]>();
Но вот это list[num].get(index)[0] почему то возвращает Object.
Задачу внятно обьясни. Ты явно хуйню какую-то лепишь вместо нормального решения. Как минимум очевидно, что три разных листа не нужны, если у них связаны индексы, скорее всего можно обойтись одним листом, а что в нем будет - зависит от задачи.
>>658157
http://blog.takipi.com/
>>658045
Какой-то опыт в программинге уже есть? Если совсем нулячий, то будь морально готов, что за месяц ничего серьезного не осилишь. Посмотри рулетку >>636070 (OP), выбери то, что точно уверен, что сможешь, и решай по нарастанию сложности (факториал, количество слов в строке, азбука морзе, ...)
>>652137
Пили перекат со своими исправлениями.
>Задачу внятно обьясни
Задача: написать Weighted Random Generator - есть какие-то предметы и шанс их выпадения (вес). Но при этом предметы делятся на три группы: обычные, редкие и очень редкие. У генератора есть фича, что для каждой группы редкости предметов используется свой множитель веса. Вот из-за этих трех групп и нужно три списка вида (предмет - вес предмета + вес предыдущих). Я бы мог добавить третью ячейку - редкость, но тогда бы пришлось переписывать весь алгоритм выдачи предмета: сейчас вес групп предметов, которые могут выпасть суммируются и генерируется случайное число в пределах 0 - суммарный вес. Это случайное число уже и сравнивается с весами предметов. Если я добавлю третью ячейку, то случайное число может получиться подходящим для предмета, который не может выпасть (множитель 0).
В первую очередь, прекращай мыслить категориями ячеек, как какой-нибудь ссаный сишник. Тебе объекты дали же.
Сделай класс, содержащий всю инфу о предмете, в том числе "вес" выпадания и тип (норм/редкий/йоба, по-хорошему это энум, но можешь обойтись и просто коеффициентом).
Тогда у тебя все предметы будут в одном списке, а к нужным значениям будешь доступаться по имени, а не по магическим индексам.
Во-вторых, если у тебя не стоит цель выдумать свой велосипед (что для обученя вполне ок), тебе вообще нужен не список, а NavigableMap.
Объекты мне не нравятся, да и не даст это ничего.
Имен нет, только числовой id и вес.
Индекс используется потому, что перебор происходит в цикле, объясню на примере:
Два тира предметов aTier {(41, 100), (23, 150), (67, 175)} и bTier {(11, 15), (22, 25)} - id и вес текущего + предыдущих. (Множители равны 1)
Порог = 175 x 1 + 25 x 1 = 200, результат генератора result = 154, например.
Теперь в цикле сверяется результат и вес if(result < getWeight(loopCounter) x 1):
154 < 100 - ложно, 154 < 150 - ложно, 154 < 175 - правда, берется id элемента с индексом loopCounter и с ним делаются дела.
Кажется та штука с утенком сработала, сейчас попробую сделать все одним списком но без сумм весов, но третьей ячейкой добавлю множитель: result < 0 x weight всегда будет ложным.
debian, openjdk, почему, несмотря на вхождение JavaFX в JRE 8, мне пришлось устанавливать его отдельным пакетом?
Ну она не в openjdk наверное.
>class WeightedItemSelector
>class Item
>Объекты мне не нравятся
Спасибо. Я таки сделал через один список, так даже проще оказалось.
Потому что удобно.
Вариант 1 - через аспекты, это прямо классическое их применение и, в общем, единственное
Вариант 2 - что-то типа observer'а. Кароч, делаешь класс-listener и у него методы типа onFunctionStart, onFunctionEnd, onPictureLoaded, ну ты понел.
Аспекты я так понимаю это надо spring прикручивать?
А во 2 варианте, если правильно понял, то это надо будет в измеряемых объектах ставить все эти onFunctionStart(), onFunctionStop() вызывать.
Хотя я еще раз подумал и 2 вариант не так уж плох. Сделать всю ботву как в андройде, в листеренрах будет нужная логика, в инспектируемых классах главное в правильных местах все эти методы раскидать и сделать добавление, удаление listenerov через интерфейс листабал
Прога работает с vk, куча всяких сущностей типа user, message, photoAlbum, нужен способ вытягивать разную статистическую инфу во время работы, типа времени загрузки всех фоточек такого-то юзера, количество. + сейчас подумал что с такой архитектурой можно будет удобно сохранять сырые ответы, для последующей обработки в оффлайне
У них и для ведроида не сильно понятней)
> времени загрузки всех фоточек
Нахуя?
> количество
Ты фоточки и так в файловой системе хранить будешь - можно легко и просто пересчитать.
> с такой архитектурой
Это вообще ортогонально.
Хорошо, спасибо.
Проект больеш для обучения поэтому обкатываю разные концепции + такая инфа не лишняя для обратной связи с пользователем.
Количество фоток для прогресса загрузки, я не в конце их считать собираюсь, а в процессе работы.
На работе работал. В официальных доках всё расказано. Официальные библиотеки в свободном доступе. Может ты просто ТУГОДУМ?
Тугодум или нет, но удобство использования нулевое, на дропбоксе тот же функционал завел за 15 мин и для этого не надо было раздувать проект дюжиной либ и приседать со штангой
Может повеселее будет.
...
boolean doesTriggered(double treshold, double limit, double activate){
if (activate <= limit && activate >= treshold) return true;
return false;
}
double rand = random(1);
double shit = 0;
if (doesTriggered(shit, shit+=0.2, rand)) {println("Event X с 0.2");}
if (doesTriggered(shit, shit+=0.3, rand)) {println("Event Y с 0.3");}
if (doesTriggered(shit, shit+=0.1, rand)) {println("Event A с 0.1");}
if (doesTriggered(shit, shit+=0.4, rand)) {println("Event B с 0.4");}
...
страшно же, что пиздец, как это благородные господа делают?
Вот так: println("Event X с " + num);
В каждом треде одни и те же вопросы, пора в шапку добавлять.
http://shipilev.net/
http://www.infoq.com/java/
https://dzone.com/java-jdk-development-tutorials-tools-news
https://zeroturnaround.com/rebellabs/
https://plumbr.eu/blog
тапики уже советовали.
В остальных блогах по 1 записи в год, и мне лень их искать. Всё равно, всё годное происходит в твиттере. Из подкастов слушаю только русскоязычный разбор полётов.
Это копия, сохраненная 8 марта 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.