Этого треда уже нет.
Это копия, сохраненная 20 декабря 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
15410507733030.jpg57 Кб, 800x494
Java thread #76 /java/ /java/ 1294482 В конец треда | Веб
Прошлый >>1287973 (OP)

Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?

А: Нет, не поздно.

Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?

A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.

Q: Хули все книги на английском?

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

Q: Что скажете за джавараш?

Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.

https://github.com/qqqlll/Java-Thread/wiki
2 1294490
Смотрите что нашел. Это же золото:
https://coursehunters.net/course/ekspert-programmist-java-1-3-uroven
3 1294520
Аноны, есть "сервак", который раз в 2 секунды сохраняет в бд определенные данные (через executeBatch()). Связь через стандартный jdbc. Вопрос такой: что лучше, открыть коннекшн один раз в начале и держать его открытым до завершения работы или каждый раз при обращении к бд открывать/закрывать его?
не бросайтесь тряпками, я только начинаю
про пул коннекшонов знаю, но как эффективнее будет без него?
4 1294534
>>294520
С одной стороны, каждый раз открывать соединение - зло, ибо происходит аутентификация. С другой - держать открытым зло, ибо тогда шифрование не будет меняться. Палка о двух стульях на одной ножке, блядь. Нет разницы, кроме того что на регулярное открытие/закрытие тратятся ресурсы.
sage 5 1294542
Позвонили из какойто конторы и спросили толковый ли я, я сказал что да и теперь боюсь что на собесе меня завалят...
6 1294543

> java


> 2018

7 1294546
>>294534
понял, большое спасибо
8 1294549
>>1294385
Люди говорят, что Шилдт - скучный и нечитабельный.
Я это очень давно слышал и не раз.
Сам я его не читал за ненадобностью.

Вот, и тут, например, пишут, что Хорстман лучше:
https://www.reddit.com/r/java/comments/7oip71/book_choice_schildt_vs_horstmann/

Тут ещё многое зависит от того, что ты уже знаешь/умеешь, и от личных склонностей. Выбери сам.
9 1294553
>>294520
Соединение с БД в общем случае _не_ нужно явно держать открытым (в прикладном коде).
Если надо реюзить - это должен делать сервер приложений или контейнер, используя коннекшн пул, а не программист руками.
10 1294558
>>294549
Люди говорят что Head First понятный. Пусть идут нахуй.
11 1294565
>>294558
Те, кто читает Head First - не читают ни Шилдта, ни Хорстмана.

У Хорстмана очень хороши книги "for the impatient" - скала, джава.
И он давно занимается именно джавой.
А Шилдт - просто преподаватель. У него и по С++ книги есть и по C#.

Загугли horstmann books и schildt books для понимания.
12 1294579
>>294543
А вот и дежурный смузихлёб, я спокоен.
videoplayback.mp41,4 Мб, mp4,
400x228, 0:33
13 1294582
>>294542
Ну так давай гугли вопросы готовься, паскуда тварь!
14 1294587
>>294549
гляну обе а там решу спасибо большое анон
15 1294608
>>294558
В чем проблемес с первой головой? Там вообще примеры как для даунов, т.е для меня, когда я начинал, плюс "шутейки" от автора проскакивают. Читался оче легко когда начинал.
16 1294614
стоит ли производить вычисления (SUM, AVG и т.д.) в репозитории или самому считать в сервисе, используя циклы?
17 1294615
>>294582
Мне интересно, хуету типа стринг пула всё еще спрашивают долбоебы?
18 1294618
>>294615
Меня спрашивали когда ходил на собес, немного прихуел с того нахуя им оно надо.
19 1294622
>>294615
Я тебе больше скажу, мне это недавно в работе пригодилось.
20 1294623
>>294614
Либо в запросах, либо лямбды
21 1294625
Начал читать Core Java SE 9 for the Impatient. То, что нужно, посоны, спасибо за наводку.
22 1294654

>Accordingly, You confirm:


>- You are not listed on the United States Department of Treasury lists of Specially Designated Nationals and Blocked Persons, Specially Designated Terrorists, and Specially Designated Narcotic Traffickers, nor are You listed on the United States Department of Commerce Table of Denial Orders.



Посоны, а вас при приёме на галеру, проверяли по санкционным спискам?
23 1294733
Изучаешь сервлеты
а
Читая коменты под очередной статьёй на хабре видишь совет не ебать себе мозг этой хуйнёй и сразу пиздовать в спринг
а
Изучаешь спринг
а
Сложна
а
Психуешь и возвращаешься
а
Ахуеваешь с простоты
24 1294756
Анон, смотри:

Я создаю степень десятки:
double result = Math.pow(10,half);
double же обязателен, потому-что компилятор, пидр, не хочет int.

Далее, я хочу разделить BigInteger на этот result

bi = sum.divide(result);

но компилятор посылает меня, потому-что не хочет делить на добл!

Окей, пытаюсь привести к int:
int i = (int) double;

Компилятор вымазывает все красным.

Почему?

Сам код - здесь: https://ideone.com/05ySYV
25 1294757
>>294622
Вот расскажи реально как. Я делал эксперименты десятками тысяч строк в цикле, которым форсил intern(), но так и не придумал условия, когда это будет иметь большую разницу.
hqdefault.jpg17 Кб, 480x360
26 1294758
>>294756

>int i = (int) double;

27 1294766
>>294758
А. Стоп. Очепятка.
Но даже так, сраный BigInteger не хочет делится даже на int!
28 1294768
>>294766
Случайно отправил.

А. Стоп. Очепятка.
Но даже так, сраный BigInteger не хочет делится даже на int!

Как его делить-то тогда? Пример брал отсюда и действовал по аналогии.
http://pr0java.blogspot.com/2015/05/biginteger-bigdecimal_70.html
29 1294794
>>294768
https://ideone.com/ZvCKhS
Я шарпист сам, может хуйня, но это вообще первые две строчки которые я написал на джаве. Ну и я не понимаю чего ты добиться пытаешься к тому-же.

Твоя основная трабла в том что ты нихуя не знаешь, учись лучше.

Ну и гуглить ты не умеешь.
30 1294798
>>294794
Вообще тот еще говнокод получился, но я именно твой вариант хотел довести до рабочего состояния, а не писать свой заново.
31 1294814
>>294794
>>294798
1.Ну как бэ ясно должно быть, что сие - не коммерческий продукт или тестовое задание. Так что, я и учусь.
2.Т.е. я не могу переопределять значения переменной типа BigInteger? Стало быть, если я хочу использовать какой-нить цикл, то мне нужно будет создавать и уничтожать переменные?
32 1294854
>>294814
Нет, просто BigInteger это BigInteger, а int это int, для того чтобы записать интовые значения в BigInteger тебе нужно сначала их преобразовать к BigInteger-у, вариант в скинутом мною коде это первое же что я нашел в гугле, можешь поискать инфу по теме там же.

Короче, в этом конретном случае метод divide() класса BigInteger принимает значение Bigint, а ты пытался передать туда int.

Насколько помню в жабе нет перегрузки операторов, следственно ты можешь сделать свой метод вроде IntToBigInt(int a) и возвращать из него BigInteger со значением a, например.
33 1294859
>>294733
Всё так.

Алсо, можно использовать и сервлеты и спринг в одном приложении. Т.к. спринг нормально прикручивается к Java EE серверу.

А Java EE сервер с IOC-контейнером типа того, что в спринге люди юзали ещё до появления спринга, в начале нулевых (Caucho Resin). И по сей день юзают.
34 1294883
>>294854

>чтобы записать интовые значения в BigInteger тебе нужно сначала их преобразовать к BigInteger


Т.е. бигинтерег можно складывать/умножать/делить только с другим бигинтегер? Бля. Збс.

>Насколько помню в жабе нет перегрузки операторов, следственно ты можешь сделать свой метод вроде IntToBigInt(int a) и возвращать из него BigInteger со значением a, например.


В смысле, написать свою функцию с преобразованием?
image.png25 Кб, 1152x201
35 1294885
>>294883
разве так сложно открыть доки?
36 1294887
>>294814
BigInteger работает с помощью строк, а значит, что как и строки являестя immutale.
37 1294888
>>294885
Я открываю, читаю и нихуя не понимаю. Сейчас я смог прикинуть то, что мне сказали и понял, что у этого класса есть метод для преобразования.
И да, прошу подтвердить или опровергнуть: получается, что BigInteger и BigDecimal - это единственные классы, которые используются для хранения значений? Ну т.е. класс-обертка - это ж ведь не полноценный класс, так?

>>294887
Как так?
Я же могу изменить его значение, через математическую операцию:
rev = bi.add(rev);

?
38 1294889
>>294888

>BigInteger и BigDecimal - это единственные классы, которые используются для хранения значений?


Нет, есть ещё Integer, Double... да куча их

>Ну т.е. класс-обертка - это ж ведь не полноценный класс, так?


Слово "обёртка" просто указывает на назначение этого класса. Никаких отличий с другими классами нет.

>Как так?


Ну мог бы загуглить для начала, что такое immutable классы. В кратце - вместо того чтобы изменять значение метод создаст новую переменную BigInteger с новым значением и присвоит ссылку на неё твоей переменной, а старую ссылку сделает null.
могу где-то проебаться с immutable, лучше загугли
39 1294890
>>294888
Можешь, но скорее всего для хранения очень длинных чисел внутри bigint на самом деле строка. То что ты привел в пример, это создание нового Biginteger на основе старого, примерно как со строками, на самом деле ты ничего не меняешь в уже существующей переменной.

мимо тот самый шарпер
40 1294892
>>294890
Чуть проебался, ты не меняешь нечего в уже существующем значении, а просто на его основе создаёшь новое, на которое будет ссылаться ссылочка rev, при этом старое значение из rev просто уничтожается.
41 1294902
>>294890

>внутри bigint на самом деле строка


Можешь посмотреть исходники.
Я не смотрел, но, думаю, что там массив байтов, а не строка (в джаве это разные вещи).
42 1294904
>>294889

>Слово "обёртка" просто указывает на назначение этого класса. Никаких отличий с другими классами нет.


Т.е. BigInteger и BigDecimal - тоже классы обертки? Просто я не встречал их в стандартных списках классов-оберток и подумал, что они как-то особняком стоят.

>Ну мог бы загуглить для начала, что такое immutable классы


Загуглил.

>Неизменяемый объект - это такой объект, чье внешнее видимое состояние не может измениться после его создания.



>>294892
>>294890
Окей. Как я понял: есть ячейка памяти (ну или группа). В них инфа. На это все ведет ссылка. Если это immutable, то информация в ячейках не меняется, а просто создается новое, с той же ссылкой, а потом приходит сборщик мусора и удаляет старое значение.
Ну т.е. immutable - это значение по ссылке (как и полагается объекту), а не по значению (как с примитивами)?

>>294902
Так массив - это просто неразрывная цепочка байтов. Как может быть массив байтов?
43 1294914
>>294904

> тоже классы обертки?


Ну раз ты так решил, то может скажешь мне что они оборачивают? Вот Integer оборачивает примитив int, Double - double... А что оборачивает BigInteger?
44 1294915
>>294914
твою мамку
45 1294916
Поясните пожайлуста, как происходит переход от бесконечного изучения, всей кор-хуйни, которую хуй знает где и как применить, которую изучаешь так долго по толстым книгам, что забываешь о чем там писал хуев автор 200 страниц назад. Блядь что я не так делаю? Какой надо код писать, в книгах его писать не учат. Как бля вкатится в ебаный джава джун? Если у него должен быть опыт 3 года кодинга хуй пойми чего - ava 8+
JUnit, Gradle (Groovy), Jenkins, FindBugs, JaCoCo;
Spring Core, Spring JDBC, Spring MVC, Spring Boot, Hystrix;
REST, JSON, Swagger;
PostgreSQL (Jooq, Flyway), Hazelcast, ElasticSearch, Kafka;
BitBucket (Git), Jira, Confluence;
Ansible, Zabbix, Grafana, Kibana, Zipkin;

Я читаю и читаю, книги по кроу, а когда захожу на хх.ру, у меня опускаются руки. Пиздос.
46 1294922
>>294914

>Integer оборачивает примитив int


Это не называется "оборачивать".
Это называется "боксинг".
47 1294923
>>294916
Пусть меня поправят, если это не так, но думаю, что на джуна минимум половину твоего списка можно выкинуть.
48 1294926
>>294482 (OP)
Как распарсить JSON с глубокой вложенностью в объект без вложенности, содержащий все поля json'а?
49 1294929
>>294923
Остальную половину ты знаешь?
50 1294930
>>294916
Ты перечислил хуеву тучу всяких баззвордов.
Большинство из которых не имеет никакого отношения к умению программировать.

"Кор" - это сам язык программирования джава + стандартная библиотека (то, что входит в состав JDK). Всё остальное сделано из этого.

Алсо, если в объявлении ты видишь очень длинный список баззвордов, то, скорее всего, это значит, что они там написали все умные слова, которые смогли вспомнить. С единственной целью - казаться самим себе умными.

> как происходит переход


Надо писать программы. И читать программы.
51 1294936
>>294930

>Надо писать программы.


Какие? И как этому научиться?
52 1294942
>>294936
Любые.

Смотри, что делают другие, и пробуй сам.

Вот это вот посмотри, и поищи что-то с подобными названиями:
https://scanlibs.com/izuchaem-java-na-primerah-i-zadachah/

У джавы есть одна большая проблема - высокий порог вхождения.
Т.е. желательно уже уметь немного программировать на момент вката.
Как?
Питон, например, хороший вариант для обучения основам программирования, как такового.
53 1294944
>>294936
прочитай книгу по сервлетам, там обычно объясняют как написать что-то более-менее реальное, поймешь как собрать в кучу jsp, jdbc, сервлеты и т.д., потом уже спринг выучить будет несложно
54 1294946
>>294942

>питон


Я имел в виду, что есть куча материалов - книг, сайтов - которые посвящены именно изучению основ программирования с использованием питона. В том числе, и на русском. И на том же scanlibs.com.
55 1294948

>жаба


>высокий порог вхождения.


Уахахахаххахах.
56 1294951
Анон, как тестировать Spring Security?
57 1294954
>>294948
Сынок, токсичные пидорасы идут в /бэ.
58 1294962
>>294944
Пример книги есть?
59 1294964
60 1294969
>>294558
Head First по жабке одна из самых охуительно написанных книг.
Это именно учебник с объяснением и рассказом на пальцах + задания для самостоятельной работы. Написана очень хорошо и толково, особенно для тех кто только начинает программировать.

А Шилдт и Хорстман это высушенный в урюк reference book без задачи научить читателя чему-либо. Официальные туторы Оракл и то намного лучше объясняют чем эти телефонные справочники.
61 1294975
>>294969
Ну не знаю, мне Шилдт зашел. Он не так уж и сухо объясняет, примеры приводит. При объяснении того же ООП, например.
62 1294976
А что про Яков Файна думаете?
63 1294977
>>294976
Жид
64 1294981
>>294977
А про его 24 hr Java trainer книгу?
65 1294985
А вы применяете кодя фичи явы 8, лямды, замыкания. стримАПИ ? Надо ли начинающему это, я вот просто не очень могу понять функциональный подход, едва ооп понимать начал, без этой моднейшей хуиты на начальном этапе никак?
66 1294989
>>294985
Программирование это в том числе и постоянное обучение, привыкай.
67 1294991
>>294985
Тут люди дальше кора не ушли, о чем ты.
68 1294992
>>294991
Тут раньше был злой сеньёр-помидор, который направо и налево всех увольнял у себя в фирме, так что не надо здесь.
69 1294995
>>294989
Объясни тогда что такое замыкания, с примером если можно.
image.png192 Кб, 512x512
71 1294997
>>294995
Замыкание (англ. closure) в программировании — функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами. Говоря другим языком, замыкание — функция, которая ссылается на свободные переменные в своей области видимости.
72 1295000
>>294997
>>294996
Суть треда.
73 1295004
А чем занимаются джуны на работе?
74 1295006
>>294995

>что такое замыкания



Если знаешь немного ООП, то представь это как некий класс.
В этом классе есть внутренние переменные (поля).
И есть метод doSomething(...) - аналог нужной тебе функции.
Этот метод имеет изнутри доступ ко всем полям класса (это контекст этой функции).
И к своим параметрам.
И может что-то делать со всем этим.

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

Частый случай применения замыканий - возвращение функции из другой функции, и возвращённая функция имеет доступ к переменным в том месте, где она была создана, в том числе, к параметрам исходной функции.
Т.е., как будто из функции вернули объект класса, в котором эти переменные запомнились.

Вот тебе классический пример замыкания на Груви:
https://groovyconsole.appspot.com/script/5075549181444096

Выбери там edit in console и там уже можно запускать.
Потом перепиши на джаве (код будет почти такой же).
75 1295009
>>294944
И куда идти с этим всем? У тебя самого как было в плане начинания и вкатывания?
76 1295026
>>295009

>И куда идти с этим всем?


Я не он, но отвечу.

Это - и есть самый охуенный вопрос.
Потому, что есть куча примеров, когда люди с низкой квалификацией успешно работают в хороших местах, и наоборот.

Поэтому - надо использовать все шансы, и стучаться во все двери.
И не стараться сразу заработать много денег.

Если же тебя интересовало, куда идти со знанием сервлетов-jdbc-jsp и прочего Java EE, ответ - куда угодно. Это используется везде буквально, где речь идёт о джава бекэнде. А Спринг - это альтернативная технология, по идее - то же самое. И доучиться (даже не пере-учиться) - не так сложно.
77 1295030
>>295006
А вот ровно тот же самый пример, но не с лямбдами/замыканиями, а с классами:

https://groovyconsole.appspot.com/script/5081059658039296

То же самое совершенно, но более многословно.
Но, и более явно и понятно, что откуда берётся.
78 1295040
>>295030
Сложновато, я совсем тупой видимо, но спасибо.
Пытаюсь вот это понять, но не понимаю, тоже:
public class TestLambdaWaitNotify {
private static Runnable getMktNewsRunnable(Object whoToNotify){
// returning a closure
return () -> {
try{
for (int i=0; i<10;i++){
Thread.sleep (1000); // sleep for 1 second
System.out.println("The market is improving " + i);
}
synchronized(whoToNotify){
whoToNotify.notify(); // send notification to parent
}
}catch(InterruptedException e ){
System.out.println(Thread.currentThread().getName()
+ e.toString());
}
};
}
public static void main(String args[]){
TestLambdaWaitNotify thisInstance = new TestLambdaWaitNotify();
Runnable mktNewsRunnable = getMktNewsRunnable(thisInstance);
Thread marketNews = new Thread(mktNewsRunnable,"");
marketNews.start();
synchronized (thisInstance) {
try{
thisInstance.wait(20000); // wait for up to 20 sec
} catch (InterruptedException e){
e.printStackTrace();
}
}
System.out.println(
"The main method of TestLambdaWaitNotify is finished");
}
}
78 1295040
>>295030
Сложновато, я совсем тупой видимо, но спасибо.
Пытаюсь вот это понять, но не понимаю, тоже:
public class TestLambdaWaitNotify {
private static Runnable getMktNewsRunnable(Object whoToNotify){
// returning a closure
return () -> {
try{
for (int i=0; i<10;i++){
Thread.sleep (1000); // sleep for 1 second
System.out.println("The market is improving " + i);
}
synchronized(whoToNotify){
whoToNotify.notify(); // send notification to parent
}
}catch(InterruptedException e ){
System.out.println(Thread.currentThread().getName()
+ e.toString());
}
};
}
public static void main(String args[]){
TestLambdaWaitNotify thisInstance = new TestLambdaWaitNotify();
Runnable mktNewsRunnable = getMktNewsRunnable(thisInstance);
Thread marketNews = new Thread(mktNewsRunnable,"");
marketNews.start();
synchronized (thisInstance) {
try{
thisInstance.wait(20000); // wait for up to 20 sec
} catch (InterruptedException e){
e.printStackTrace();
}
}
System.out.println(
"The main method of TestLambdaWaitNotify is finished");
}
}
79 1295054
>>295040
Дружище, если эти два примера выше (makeAdder) тебе "сложноваты" - это нормально.
Сиди и медитируй над ними, пока не станет просто.

Экспериментировать можно прямо в консоли.
Код на Груви - это, по сути, джава код, с кучей вкусного сахара.

А тот пример, который ты запостил - это какая-то хуйня, понимаешь?
Совершенно непонятно, что именно хотел проиллюстрировать автор, и зачем.
Слово "лямбда" там использовано "просто потому что".

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

Непонятно, зачем ты лезешь в какие-то ебучие мутные дебри какого-то лютого спагетти-кода, не разобравшись с основами.
80 1295057
>>295054
Так автор объясняет вейт и нотифай и за одно замыкания.

a->a+n это лямбда выражение? а def это от слова define ?

>Сиди и медитируй над ними, пока не станет просто.


Я постараюсь.
image.png6 Кб, 250x250
81 1295060
Поясните за Kotlin?
Я правильно понимаю, что это сахарная поебота для хипстеров и реально на этом сейчас пишут 3.5 кулхацкера, из которых 3 - создатели самого Котлина.
82 1295061
>>295060

>реально на этом сейчас пишут 3.5 кулхацкера, из которых 3 - создатели самого Котлина.


На него переехало 69% андройд комьюнити. Остальные легаси проекты покрываются им тоже.

мимоандройд.
83 1295062
>>295004
В основном, гуглят.
Мимоджун
84 1295063
>>295062
А какие задачи перед тобой например ставят?
85 1295064
>>294916
1/3 из всего перечисленного учится за две недели практики суммарно пока изучаешь остальное. Базарю, берешь и учишь спринг+скуль, остальное придет по ходу дела.
86 1295065
Блядь, что сделали с идеей?
87 1295067
>>295057

>a->a+n это лямбда выражение? а def это от слова define ?


Да.

def - это ещё и "как-бы тип". Как Object в джаве, но только в объявлениях. Т.е. def foo = 3 то же самое что int foo = 3 или Object foo = 3. В смысле, в груви можно и так и так.

Список:
def myList = [1, 2, 3]

Map:
def myMap = ['one': 'Один', 'two': 'Один', 'three': 'Три']

Проход по списку:
myList.each {println it}

В фигурных скобках - лямбда.
it - если лямбда принимает единственный параметр, то его можно не указывать, и в теле ссылаться на него как it.

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

Груви охуенен для прототипирования и тестов (Spock framework).
Ну и Gradle, конечно.
Инфы много, можешь погуглить.

Можно просто сочетать в одном проекте джаву и груви (классы).
Можно также использовать в реальных приложениях как скриптовой движок (выполнять скрипты из фалов или из строк).
Целиком писать большие программы на груви мне не нравится, он явно не для этого (т.к. в нём необязательная типизация).

>>295060
На котлине много пишут под андроид.
87 1295067
>>295057

>a->a+n это лямбда выражение? а def это от слова define ?


Да.

def - это ещё и "как-бы тип". Как Object в джаве, но только в объявлениях. Т.е. def foo = 3 то же самое что int foo = 3 или Object foo = 3. В смысле, в груви можно и так и так.

Список:
def myList = [1, 2, 3]

Map:
def myMap = ['one': 'Один', 'two': 'Один', 'three': 'Три']

Проход по списку:
myList.each {println it}

В фигурных скобках - лямбда.
it - если лямбда принимает единственный параметр, то его можно не указывать, и в теле ссылаться на него как it.

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

Груви охуенен для прототипирования и тестов (Spock framework).
Ну и Gradle, конечно.
Инфы много, можешь погуглить.

Можно просто сочетать в одном проекте джаву и груви (классы).
Можно также использовать в реальных приложениях как скриптовой движок (выполнять скрипты из фалов или из строк).
Целиком писать большие программы на груви мне не нравится, он явно не для этого (т.к. в нём необязательная типизация).

>>295060
На котлине много пишут под андроид.
88 1295068
>>295063
Ну что-то в духе
1)Вот задача от аналитика, вот что у нас в бд, спроси у фронтенд-куна как ему удобнее будет делать запросы и сделай микросервис.
2)Юзер словил багу/сервер упал, посмотри в чем дело и почини.
3)Иди к дба-куну, у нас запросы медленные чёт стали, посмотрите там чё там и как-нибудь оптимизируйте к следующей версии.
4)Нам нужна/заказчик хочет/из соображений безопасности требуется фича Х. Тимлид говорит используй силу инструмент Y.

Берешь, гуглишь как, делаешь.
89 1295084
>>295064
Учу спринг по Ютубу. Но хотелось бы практики, что посоветуешь?
А еще, что такое Куль?
90 1295086
>>295061
А хули в вакансиях это не отображено?
91 1295091
>>295084

>Куль


Скуль, лол.

SQL.
Читается, это кстати, как "сиквел" (устоявшийся англоязычный жаргонизм).
92 1295092
>>295091
А че там учить-то я не пойму? Команду SELECT?
Правда, не пойму. Посмотрел курс на Stepik: какая-то поебота.
93 1295095
>>295092
Ну, выходит, ты уже всё знаешь.
Пора на работу.
94 1295096
>>294615
Ага, и даже про пул интеджеров
95 1295103
Расскажите(покажите) внятно на пальцах, что такое REST?
96 1295104
>>295103
CRUD методы через HTTP запросы.
97 1295148
>>295104
Мы вам перезвоним)
98 1295155
>>295148
А я не возьму!))
99 1295159
>>294926
Jackson ObjectMapper попробуй
100 1295251
Допустим, есть интерфейс с генериком

interface Cat<T extends Food> {

T getFavoriteFood();

List<Integer> getAllTeeth();

}
Вопрос. Почему возникает

Unchecked assignment: 'java.util.List' to 'java.util.List<java.lang.Integer>'. Reason: 'cat' has raw type, so result of getCountOfTeeth is erased

В методе

void doSomething(Cat someCat) {
List<Integer> teethList = someCat.getAllTeeth();
}

если тип в листе не генерик и не имеет отношения к Т?
sage 101 1295258
Смотри в переменной cat и методе getCountOfTeeth, то что ты дал отношения к проблеме не имеет.
102 1295277
>>295258
Это был, конечно, абстрактный и упрощенный пример.
Но я создал этот интерфейс с котом ради теста, и в другом классе - метод, который принимает этот интерфейс. Только то, что в посте, ничего лишнего.
И все так же подсчет зубов кота вызывает

Unchecked assignment: 'java.util.List' to 'java.util.List<java.lang.Integer>'. Reason: 'cat' has raw type, so result of getAllTeeth() is erased

Какая-то неведомая ебаная хуйня
103 1295278
>>295104
а кому и зачем это нужно? какая связь между понятиями рест и вебсервис?
104 1295284
>>295277

>Какая-то неведомая ебаная хуйня


Это известная хуйня.
Не указал параметр типа - нет дженериков для этого объекта.

Алсо, в данном случае достаточно написать doSomething(Cat<?> someCat)

Т.е. ты явно говоришь, что тебе похуй на параметр типа.
105 1295288
>>295284
Теперь все понятно. Очень познавательно. Сяп.
106 1295294
>>295159
Я и так использую jackson. Не знаю, как замапить структуру с вложенностью на плоскую структуру.
107 1295296
>>295096
Правило №1: пользуйся equals
108 1295297
>>295278
Приложение на жабаскрипте общается с баком так
109 1295298
>>295297
*Бэком
110 1295299
>>295092
Как минимум джойны, хранимки, апсерт и под/предзапросы.
111 1295302
Посоны, изучаю Stream в 8 джаве. Есть такая конструкция:

Files.readAllLines(Paths.get("c:/1.txt"),Charset.forName("Cp1251")).stream(). ...

Как этот поток разбить и вывести пословно, побуквенно?
112 1295306
>>295294
Не надо ничего мапить в джексоне.
Надо загрузить объект как он есть (с его нормальной иерархией) в Map или в экземпляр класса, а потом - руками его преобразовать в то, что тебе надо.

Если полей много и писать преобразование руками лень - напиши простой генератор кода - на базе данных из json-строки или через reflection исходного объекта/класса.
113 1295322
Подскажите зеленому, пж.
Считываю csv файл, с этими данными надо вести расчеты. Если в первой строке 2 значения 2 полей больше 2 значений 2 полей во во второй строке, то надо считать и делать операции и так до конца файла.
Как это легче реализовать, я ещё мало что толком знаю, поэтому не понимаю, сюда надо коллекции прикручивать и делать из файла строки и как-то считать, или юзать бд лучше. Спасибо
114 1295324
>>295302
Решил сам так:
Files.readAllLines(Paths.get("c:/1.txt"),Charset.forName("Cp1251")).stream().flatMap((s)->Arrays.asList(s.split(" ")).stream()).forEach(s-> System.out.println(s));
115 1295327
>>295322
Читай файл построчно:
https://www.mkyong.com/java8/java-8-stream-read-a-file-line-by-line/

Лучше - через stream, хотя не обязательно.

Из каждой строки делай объект.
Сделай класс, у которого есть нужные поля.
Строку разбивай через split.
Числа - Integer.parseInt(), Double.parseDouble()
Создавай объект и заполняй поля.
Не забывай сначала сделать trim() для всех полей.

Потом - проходишь по списку и делаешь, что надо.
Можно предварительно отфильтровать, если это stream.

linesStream -> map(line -> lineObject) -> filter(...) -> reduce (? или что там тебе надо).

Если со стримами не работал - сначала сделай просто на циклах.
116 1295331
>>295068
Как ты устраивался на работу? хх.ру?
117 1295335
>>295331
двачую вопрос
118 1295378
>>294482 (OP)
Сложный JSON приходит на рест-апи, мапится в иерархию классов и передается в другой слой приложения (сервисы) для обработки. При ошибке нужно вернуть json, содержащий несколько полей. Как из слоя сервисов вернуть JSON с ошибкой? Написать свой класс исключений с нужными полями, перехватить исключение в сервисе и сконвертировать в json?
119 1295397
Сервис должен принимать/возвращать дто или энтити?
120 1295398
>>295331
Да, дрочил тестовые в начале и конце лета в июле гиблый период для устройства, в сумме где-то 10 тестовых, 5 собесов, 3 предложения, 2 на жабе.
Screenshot2018-11-14-15-27-33-690com.android.chrome.png34 Кб, 1080x319
121 1295399
>>295398
Вдогонку, резюме висит где-то с апреля.
122 1295407
>>295378
Начать надо с того, что убрать слово JSON из постановки задачи.
Потому, что это транспортный уровень, и к сути дела не имеет отношения вообще.

А дальше - возможны варианты.

Как правило, в таких случаях прикладная функция всегда возвращает результат. Этот результат - либо объект ошибки, либо объект результата.
Если функция (по логике) void - то всё равно надо возвращать объект, это может быть просто строка "OK", например.

Естественно, возвращаемый объект сериализуется в json и передаётся куда надо, и, соответственно, там обрабатывается - проверяется, что вернули и т.п.

И, как правило, возвращаемый объект - это специализированный контейнер, в котором уже лежит результат или ошибка. И может быть дополнительная информация.

Подобный подход применяется в функциональном программировании, и по тем же причинам - в ФП всё должно являться значением, чтобы можно было делать конвейер из функций. А исключения - это как goto - очень некошерно.

Как конкретно это реализовать - думай сам.
Можешь посмотреть книгу Functional Programming in Java (Manning, 2017):
https://scanlibs.com/functional-programming-java-improve-programs/

См. главу Handling Errors Without Exceptions.
123 1295413
>>295399
А что ты знал перед устраиванием? Че на собеседование было? Задания тестовые можешь сбросить куда-нибудь?
image.png294 Кб, 883x1005
124 1295417
Хало, подонки.

Подскажите программу для проектирования ПО.

Имеется ввиду, что-то что немного автоматизировало действия для написания целей программы, указания ресурсов, проработки требований и ограничений и как вследствие создание многоуровненной иерархии состоящей из системы -> подсистем -> модулей - > классов - > методов и переменных.

Часть про классы и методы конечно проще писать в самом коде, но тем не менее..

Самостоятельный поиск дал чуть более чем ничего. Но ведь не может быть такого, что крупные компании и не очень крупные тупо всё пишут в ворде когда процессс довольно шаблонный. Хотелось бы каких нибудь кудобных окошечек и кнопочек, которые бы переключали на разный уровнеь ступени архитекруты и напоминашки, что непроработна такая-то часть проекта.
image.png677 Кб, 1080x962
125 1295422
>>295417
IntelliJ IDEA.
image.png240 Кб, 355x409
126 1295429
Кармак в свое время написал замечательную игру Doom RPG, пошаговую ролевую (уровня Diablo/Rogue) 3D игру во вселенной Doom.
Игра для мобильных телефонов на J2ME, ныне вымерших.
К сожалению, все известные эмули ее либо не берут, либо тормозят, либо коряво отображают изображение.
Конечно, можно купить какой-нибудь древний телефон на Avito, но хотелось бы играть на компе.
Можно ли на Java написать движок, эмулирующий классы J2ME и запускающий Doom RPG на компе, с OpenGL и полноэкранным видом?
127 1295433
>>295417
Ничего не понял.
Если тебе нужно проектирование архитектуры сложного приложения, то учи UML и используй соответствующий софт.
Если ускорение разработки, то любая IDE (для Java это IDEA, Eclipse, NetBeans) + нужные плагины. Крупные компании могут писать плагины сами.
128 1295434
>>295422
Но.. это же среда разработки приложения, а не написания архитектуры или проектной документации.
129 1295436
Пытаюсь осилить юниттестирование и всякие там TDD.
И никак не приходит в голову, нахуя я это делаю.
Да, позволяет избегать регрессии кода и тд и тп, так говорят.
Но все не покидает чувство, что я пишу тесты ради тестов, бесполезное говно, которое частенько занимает больше усилий, чем основной код. Тем более, статическая типизация и checked exceptions не дают написать ничего лишнего, что свалит программу, если это не какой-нибудь null. А покрыть все возможные ситуации входных аргументов и того, что они там делают - в большинстве случаев нельзя, ибо зависит от состояния объекта и состояния самих входных параметров.

И что регрессию кода гораздо лучше отлавливают как раз таки интеграционные тесты, взаимодействие отдельных частей.
130 1295445
>>295433
В том то и проблема, что и я сам до конца не понимаю о чем пишу да,да,да тупо. Просто понимание того, что кто-то уже должен был сделать такую программу, которая бы продвигалась как универсальная платформа для проектирования любых идей. Как это обычно бывает там должен быть какой-нибдуь позитивнй окрас так и намекающих манагеру, что очень хорошая идея купить эту приложуху за 19.99$.

А в итоге ничего. Да, есть зубодробительный UML с соответсующим софтом убивающий всякое желание воображать возможности и ограничения пока несозданной проги. Есть и плагины для IDEшек, но это всё же низкий уроень проектирования - классы, методы. Или есть какой-то крутой модуль для IDEA/Qt о котором я не знаю?

В общем, не ищи здесь смысла.
131 1295450
>>295436
Писать тесты скучно и долго, но они необходимы. Иначе прога может вылететь у юзера по неизвестной причине, и отлавливать без тестов баги очень тяжело (особенно плавающие, которые возникают не всегда). Отладка глюков работающего приложения требует намного больших усилий, чем написание тестов, не говоря уже про огромные Enterprise системы.
С одной стороны, конечно, Java и C# спасают от многих багов, возможных в C/C++, вроде выхода за границы буфера, переполнения стека и т.д. С другой, в любом серьезном проекте используются тонны сторонних библиотек и фреймворков, и где-нибудь обязательно вылезет баг. Юнит-тесты позволяют быстро отыскать и пофиксить его.
Не только в коммерческом софте, но и в успешных open source проектах большая часть кода - это тесты (см. исходники SQLite, например).
Только очень небольшие программы (менее десятка классов) можно писать без тестов.
132 1295457
>>295445
Ты зря про UML, очень удобная вещь. Нас задрачивали по нему в универе.
Можно ведь брать и использовать только то, что тебе нужно - например, диаграммы классов, компонентов, состояний и последовательностей, а на всякие actors и packages забить, если тебе они не нужны.
ИМХО, прогер уровня Senior должен владеть UML.
133 1295470
>>295397
дажваны, кто-нибудь скажет?
134 1295472
>>295445
Может вот это тебе подойдет?
https://ru.wikipedia.org/wiki/Microsoft_Project
Прога для менеджеров, я в ней не шарю.
135 1295481
>>295399
>>295413
Бро, сбрось сюда тестовые свои izatertANUSgmailPUNCTUMcoVbmm если жив еще!?
136 1295484
>>295470
Зависит от задачи.
С учётом вот этого: >>295407 - так вообще ни то, ни другое, а контейнер с результатом.
137 1295512
>>295484
>>295407
Можно же паковать свой эксепшен в контейнер, а контейнер сериализовать в json. С исключениями же гибче получится, разве нет?
138 1295534
>>295512

>Можно же паковать свой эксепшен в контейнер, а контейнер сериализовать в json.


А я о чём?
И не обязательно свой - можно и стандартный, в зависимости от того, где он выброшен.

Смысл в том, что на сервере эксепшн не выбрасывается, а возвращается как результат. А уже на клиенте можно его "выбрасывать" (в JS, например).
139 1295548
>>294482 (OP)
Как-нибудь можно разобрать war файл обратно в код?
140 1295552
>>295324
Pattern.splitAsStream
141 1295562
>>295436
Тесты нужны, имхо, если ты потом переписываешь что то уже написанное, чтобы можно было удостовериться что оно работает так как должно. Поэтому и нужны слои типо вью-контроллер-сервис и т д. Чтобы когда ты что то где то поменял оно выполняло свою заданную функцию.
image.png310 Кб, 600x513
142 1295569
>>295548
Parse love, not war.
Manmohan-Singh-.jpg82 Кб, 610x520
143 1295585
144 1295586
>>295548
jd.benow.ca
145 1295705
>>295378
Если юзаешь Спринг, то можно кидать из сервиса исключение и ловить его в @ExceptionHandler.
146 1295739
>>295413
>>295481
https://github.com/wolches то что гитовал. Попробую ещё поискать, но ничего не обещаю.
>>295417
https://start.spring.io
147 1295742
>>295705
В ответе нужно возвращать несколько полей из принятого джейсона. Звучит легко, но пробросить ответ из нижнего слоя бизнес-логики в контроллер - задача.
148 1295768
>>295742
Гугли ResponseEntityExceptionHandler.
149 1295857
>>294482 (OP)
Нужно обработать JSON с глубокой вложенностью по такому алгоритму:

1) Принять данные на REST API на спринге
2) Взять внутренную директорию JSON, вычислить от нее хэш
3) Добавить во внутренную структуру несколько полей
4) Сохранить в базе

Как лучше реализовать эту логику? Сразу преобразовывать JSON в HashMap в контроллере, или в контроллере принимать String, передавать ее в сервис и там выполнять все операции?

Кроме обработки внутренней структуры надо провалидировать поля из внешней структуры. Подводные кани есть и при мапинге JSON в иерархию объектов, и при мапинге в HashMap. Что из двух способов предпочесть? Для работы с моей БД HashMap более универсален.
150 1295858
>>295327
Спасибо большое, анон, почти все так и сделал и получилось, запихнул объекты этого класса в листы и теперь хуй пойму, как делать свои расчеты. Условно говоря, есть 10 листов и в каждом по 10 переменных, надо сравнивать 1 лист с 2, 2 с 3 и так до конца, если в 2 листе некоторые переменные больше чем в 1 делать определенные расчеты. Тыкни хоть, пожалуйста, что гуглить, пока работу с коллекциями гуглю
Вроде на словах просто, а на деле затуп
151 1295861
152 1295862
>>295739
Где ты и как учился, антон?
153 1295863
>>295739

>https://github.com/wolches


>Эта аватарка


>huilib



Я конечно понимаю что хуйлиб ты недавно залил, уже будучи устроенным, и работодатели этого не застали при приеме на работу, но вот аватарка, неужели адекватных взрослых людей такое не отпугивает?
sage 154 1295867
>>295863
Адекватным взрослым людям интересны твои знания и навыки, а не аватарки.
155 1295885
>>295739
Антош, а есть текст того чего хотят от тебя в этих заданиях? Я все это время, это имел ввиду.
156 1295886
>>295862
В шестом училище, конно-вертолетный факультет.
157 1295887
>>295867
Так что мне можно вести себя как школотрон? Ставить всякую хуйню на аватарки и давать проектам матерные названия, главное чтобы я был охуенным программистом. Ок, запомню.
158 1295890
Стоит ли брать книгу с рук, скажем 2002 года издания? Бесплатно отдают
sage 159 1295894
>>295887
Ты с коллегами на работе себя так не веди главное, а в свободное время можешь делать что угодно. Это твой личный гитхаб, он никак к компании не относится и на ее имидж не влияет. Если же вы там им пользуетесь на работе, то заведи отдельный аккаунт, потому что работать с такого действительно некорректно.
160 1295897
>>294482 (OP)
Накидайте, пожалуйста, репозиториев на гитхабе с хорошо реализованными REST API на Spring MVC. Хочу посмотреть, как люди пишут бизнес-логику и возвращают сообщения пользователю. Хелловорлды ничему не учат.
161 1295913
>>295890
Смотря что за книга. Справочник по языку Шилдт однозначно нет. Thinking in Java Эккель можно взять.
Все равно на полке будет стоять, пыль собирать.
162 1295919
>>295890
Да, если это какие нить классические паттерны, но все равно придется гуглить в конце концов
163 1295922
>>295897
Вот мой говнопроект https://github.com/PaperPlane01/equinox-backend например. Но предупреждаю, я студентик и нигде не работал даже, поэтому это далеко не эталон, а мамкины сеньоры так и вовсе наверняка засрут.
164 1295928
>>295922
Посмотрел два таких проекта. Все равно не понимаю, как из контроллера вернуть ответ клиенту, если могут быть ошибки в разных слоях:

1) данные не сохранились в базе по 2-3 причинам
2) данные не провалидировались в сервисе
3) данные некорректно обработались в сервисе

В ответе нужно вернуть несколько полей из данных.

Пробрасывать ResponseEntity через два слоя? Это же рак.
165 1295931
>>295928
В случае возникновения исключительной ситуации бросаешь исключение и ловишь его в @ExceptionHandler.
https://github.com/PaperPlane01/equinox-backend/blob/master/src/main/java/org/equinox/exceptionhandler/RestApiExceptionHandler.java
166 1295933
>>295931
В исключении я могу переслать в обработчик 2-3 поля данных (идентификаторы, которые надо вернуть пользователю)?
167 1295936
>>295933
Хз, не пробовал. Но если нельзя, то мб прямо в исключении передавать нужную информацию?
168 1295937
>>295936
В обычном исключении можно передать только строку. А мне надо передать объект, который надо сконвертировать в json и вернуть пользователю.
idea642018-11-1521-30-09.png15 Кб, 526x316
169 1295939
>>295937
Ну так сделай кастомное исключение, которому в конструктор можно передать объект. А потом через геттер к этому объекту обращайся.
170 1295940
>>295937
Сделай собственное исключение унаследовав его от Exception и хоть 9000 полей нужных тебе туда добавь.
171 1295941
>>295940

>унаследовав его от Exception


Лучше от RuntimeException, чтобы не нужно было его ловить в том месте, где метод вызывается.
172 1295942
>>295941
Как вариант, не сильно шарю в жабе, основной посыл итак понятен и лучше изложен в посте выше моего.
173 1295954
Анон зачем нужен LDAP?
Чем хранение пользователей в БД не устраивает?
174 1295959
>>295858
Проходишь в цикле первый список.
Для каждого элемента - вложенный цикл - сравнение этого элемента со всеми элементами другого списка, или даже всех других списков по очереди.
Используй флаги или запоминай мин/макс значения и т.п.

Возможно, надо расширить классы объектов и добавить в них поля, в которых что-то будет накапливаться или флаги.

Возможно, каждый список объектов должен быть не совсем списком, а классом, в котором есть собственно список (в отдельном поле), и дополнительные поля для итогов, флагов и т.п.
А также, всякие хелпер-функции. Типа "сравнить (себя) с другим списком".

Наверное, надо будет сделать список, в котором будут все списки объектов, чтобы можно было их перебирать.

И т.д. и т.п.

И, сначала, неплохо бы чётко сформулировать постановку задачи.
И выразить результаты или условия в виде неких объектов.
175 1295961
>>295954
LDAP - иерархический (в отличие от SQL).
И это и есть "БД".
176 1296020
>>295894
Собственно, удваиваю этого сагера.
Аватарку поставил уже после того как устроился, лол.
>>295862
>>295885
Ололо, деанон.
splat logviewer - написать софтину для просмотра логов
nokia - там было несколько заданий, но представленные два про написание иерархии дата-классов и REST для них. Ещё в гистах скрытых лежат задания на бинарное дерево и ещё пару простеньких алгоритмов.
t-systems - описание в самом репозитории
severgroup - из логов в xml вытащить суммарное время активности пользователя по дням
177 1296034
>>295862
Двачую вопрос
178 1296076
>>295297
хоооспаде..
179 1296094
>>295954
LDAP - протокол. Считай, как SQL (грубо говоря).
Хорош тем, что с ним интегрировано огромное количество различного софта. Если у тебя на работе Windows, то с вероятностью 99% у вас есть Active Directory для управления учетками сотрудников. AD поддерживает протокол LDAP, соответственно, если ты добавишь в свой софт (какую-нибудь систему для предприятия/бизнеса) аутентификацию через LDAP, пользователям не придется регистрироваться в твоей системе - они просто будут использовать свой логин/пароль от учетки Windows.
180 1296102
>>295922
Как давно кодишь на джаве и в целом? Какой бэкграунд? Ты сейчас в лабе или пилишь курсач ератовский?
181 1296105
>>295103
Это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. REST представляет собой согласованный набор ограничений, учитываемых при проектировании распределённой гипермедиа-системы. В определённых случаях это приводит к повышению производительности и упрощению архитектуры.
182 1296115
>>296102
На Джаве почти два года, в целом баловался кодингом где-то с 14 лет, когда у нас в школе на информатике начался Pascal/Delphi.
Во внутреннюю лабу меня не позвали. Там случилась странная ситуация, мне позвонили, спросили, хочу ли я пойти к ним во внутреннюю лабу, я ответил утвердительно, потом спросили смогу ли я совмещать стажировку с учёбой в университете, я ответил "Скорее всего да". Мне сказали, что со мной свяжутся и позовут к ним в офис, чтобы более подробно всё обговорить. И тишина. Потом недели через 4 мой одногруппник, у которого брат там работает, сказал мне, что меня не взяли из-за того, что я якобы сам отказался, так как типа не смог бы совмещать стажировку и университет. Такие дела
183 1296146
>>296115
Ну я к тому, что нет смысла зацикливаться на ерате. Тебя на изи возьмут на стажировку в любой конторе, где есть стажеры. Меня в свое время взяли стажёром в то время как в ерате я даже собес на тренинг джава веб не прошел. И я вот сейчас 4 с копейками месяцев как джун, но я бы и близко вот такой код как у тебя там не написал. Ну я правда андроид, но параллельно я слегка и в спринг бут пытался В большинстве случаев о наборе стажёров не объявляют. Открываешь просто список контор в твоем городе, выбираешь те, что тебе подходят, и пишешь их эйчарам на почту или звонишь по телефону. Большинство проигнорят, но когда пригласят на собес, то тебя возьмут. Я тогда начал по алфавиту всем писать, и на букве E меня взяли но это не ерат. 90% даже не ответили на письмо, но первый собес - сразу всё. Так что вот так.
184 1296147
>>296020
я много слышал о т-системз. что они такое на твой взгляд? ходил туда? там реально надо говорить на английском чтобы устроиться? что такое жаба скул?
Screenshot2018-11-16-13-03-54-198com.android.chrome.png136 Кб, 720x1280
185 1296151
>>296146
Проблема в том, что в моём городе Караганда вакансий по Джаве почти нет. Точнее, кроме Epam, есть ровно одна компания, где применяют тот стек технологий, который я учу. Остальное либо Андроид, либо какая-то мутная хрень типа пикрелейтед.
15308759215910.png222 Кб, 604x463
186 1296164
>>296151
Где вакансий почти нет?
187 1296172
>>296151
Ещё раз. Похер, есть в конторе вакансии или нет. Надо найти список всех. Да, у тебя в городе их не так много, но население под 500к, не может быть что только 2 на джаве пишут. Но тогда значит надо более настойчиво цепляться за них. Звонить, перезванивать самому, и т.д. А вообще в больших городах полегче будет конечно.
188 1296181
>>296164
в пизде
189 1296198
Расскажите что примерно за день делает кодер на джаве? Имеется в виду, не кофе-смузи-семинар, а за пекарней в IDE. Приведите показательный пример из жизни, когда целый день нужно было въебывать, и ты такой приходишь домой "ебать я сегодня накодил, какой я охуенный", и тебя собака дома спрашивает "а что именно конкретно делал?".
190 1296201
>>296147
Жаба-скул - это такое растянутое на два месяца собеседование. Кароч, по порядку. Сначала ты выполняешь тестовое задание (и походу их никто не смотрит, главное, чтобы плашка с Codeship присутствовала о том, что все тесты прошли). Потом тебя приглашают на тестирование (вопросы в духе quizful). Если на тесте набираешь 50%, то там же тебя и собеседуют. В основном задают вопросы по кору и ООП, но если ты не тупишь как мудак, то успевают залезть в многопоточность, SQL, HTTP-методы и даже паттерны. Плюс коротенечько проверяют твой английский (ну например собеседующий попросит тебя рассказать о своей учебе на английском) - быть носителем языка необязательно, достаточно знать чуть больше, чем "Лондон из зе кэпитал оф Грейт Британ".

Если ты прошел, начинается "учеба". Тебе дают проект (круд обыкновенный - сорт оф интернет-магазин - примерно в 3к строк жабы он выходит) и куратора, которого ты можешь дрочить с разными вопросами (естественно, не теми, которые гуглятся на раз-два) и он должен уделять тебе минимум два часа в неделю (но если ты не совсем мудак, то куратор тебе будет нужен только для того, чтобы указывать тебе на очевидные косяки и подсказывать что ты еще можешь реализовать). Параллельно ходишь на лекции (темы разные - от архитектуры ПО до EJB, но скорее для общего развития, потому что сложно покрывать такие темы за два часа). Собственно учеба длится два месяца. За первый месяц ты должен заебашить свой круд - требования - спринг (без читерства типа даты и бута, даже ломбок под вопросом), хибер, сесурити с каким-никаким юаем (если ты подцепил бутстрап - этого достаточно - никто не требует от тебя невероятного дизайна), мускул, JSP, maven, тесты. За второй месяц ты должен вылизать это приложение и допилить второе приложение (на EJB), которое получает от первого данные по ресту, а "общается" с ним посредством MQ. Ну и в оставшееся время показать какой ты молодец посредством добавления в свой проект всяких разных фишечек-хуишечек, типа смс-оповещения или Докера, или еще одного приложения, например (или Сонара - Сонар там по ходу просто маст-хэв в последнее время).

Со всей вот этой поеботой ты выходишь перед слушателями. За эти 15 минут ты должен успеть рассказать о том, что ты сделал, потом тебе зададут вопросы, возможно посмотрят код (поэтому если ты пишешь с magic number'ами вместо констант или называешь методы через нижнее подчеркивание как в сишечке, а не кэмелкейсом - это сразу бросается в глаза) и отпустят с миром доучиваться.

Ну и по результатам, возможно, позовут джуном (я еще слышал, что если ты был не оч на защите, но не совсем конченным, то тебе могут предложить стажировку, но это не точно). А, возможно, не позовут. Потому что, хуй его знает какие там критерии отбора (но это, походу, не только общее качество твоего проекта)
190 1296201
>>296147
Жаба-скул - это такое растянутое на два месяца собеседование. Кароч, по порядку. Сначала ты выполняешь тестовое задание (и походу их никто не смотрит, главное, чтобы плашка с Codeship присутствовала о том, что все тесты прошли). Потом тебя приглашают на тестирование (вопросы в духе quizful). Если на тесте набираешь 50%, то там же тебя и собеседуют. В основном задают вопросы по кору и ООП, но если ты не тупишь как мудак, то успевают залезть в многопоточность, SQL, HTTP-методы и даже паттерны. Плюс коротенечько проверяют твой английский (ну например собеседующий попросит тебя рассказать о своей учебе на английском) - быть носителем языка необязательно, достаточно знать чуть больше, чем "Лондон из зе кэпитал оф Грейт Британ".

Если ты прошел, начинается "учеба". Тебе дают проект (круд обыкновенный - сорт оф интернет-магазин - примерно в 3к строк жабы он выходит) и куратора, которого ты можешь дрочить с разными вопросами (естественно, не теми, которые гуглятся на раз-два) и он должен уделять тебе минимум два часа в неделю (но если ты не совсем мудак, то куратор тебе будет нужен только для того, чтобы указывать тебе на очевидные косяки и подсказывать что ты еще можешь реализовать). Параллельно ходишь на лекции (темы разные - от архитектуры ПО до EJB, но скорее для общего развития, потому что сложно покрывать такие темы за два часа). Собственно учеба длится два месяца. За первый месяц ты должен заебашить свой круд - требования - спринг (без читерства типа даты и бута, даже ломбок под вопросом), хибер, сесурити с каким-никаким юаем (если ты подцепил бутстрап - этого достаточно - никто не требует от тебя невероятного дизайна), мускул, JSP, maven, тесты. За второй месяц ты должен вылизать это приложение и допилить второе приложение (на EJB), которое получает от первого данные по ресту, а "общается" с ним посредством MQ. Ну и в оставшееся время показать какой ты молодец посредством добавления в свой проект всяких разных фишечек-хуишечек, типа смс-оповещения или Докера, или еще одного приложения, например (или Сонара - Сонар там по ходу просто маст-хэв в последнее время).

Со всей вот этой поеботой ты выходишь перед слушателями. За эти 15 минут ты должен успеть рассказать о том, что ты сделал, потом тебе зададут вопросы, возможно посмотрят код (поэтому если ты пишешь с magic number'ами вместо констант или называешь методы через нижнее подчеркивание как в сишечке, а не кэмелкейсом - это сразу бросается в глаза) и отпустят с миром доучиваться.

Ну и по результатам, возможно, позовут джуном (я еще слышал, что если ты был не оч на защите, но не совсем конченным, то тебе могут предложить стажировку, но это не точно). А, возможно, не позовут. Потому что, хуй его знает какие там критерии отбора (но это, походу, не только общее качество твоего проекта)
191 1296202
>>296201
А да , забыл добавить. Если ты не проходишь тест или собеседование, то ты можешь вернуться через месяц и потраить еще раз, на это ограничений нет
192 1296226
>>296147
Работаю в T-Systems. Преподаю в Java School. Вот этот >>296201 анон в общем прав, с небольшой поправкой на итоговую защиту. Мы это организовали по-другому сейчас. Теперь студент сидит со своим ноутом в аудитории, к нему подсаживается какой-нибудь из преподов и начинает задавать вопросы по проекту. Всё про всё минут на пять-десять. Потом кураторы меняются со студентами. В итоге каждый студент общается где-то с пятью кураторами, каждый из которых потом пищет свой отзыв. Так достигается большая объективность.
193 1296235
Периодически нужно будет дергать данные с удаленной базы данных. Написал мини сервак снова потому что предыдущий удалился, а сохранять в репозиторий я конечно же это не стал, так вот, решил задуматься. В прошлом серваке я каждый раз при запросе запрашивал подключение к этому серверу, брал селект и выплевывал данные. Все работало. А можно ли сделать так, чтобы я держал это подключение вечно? Вот томкат запустился и пошел месяц, а потом второй и т.д.? Мне не придется каждый раз подключаться и отдавать данные, он уже будет сразу подключен? Какие подводные?
194 1296237
>>296198
Есть у нас гора микросервисов. Моя команда из 6 тел ответственна где-то за пять из них.

1) Заказчик хочет, чтобы в такую-то команду добавился такой-то параметр. Моя задача: подправить контроллер, написать API-тесты, захуячить логику в сервисе, написать unit-тесты, задокументировать фичу в доках, закоммитить в репу, задеплоить на dev среду, запилить автоматический интеграционный тест, прогнать его напротив dev, задеплоить на test, уведомить тестеров, чтобы покрыли фичу кейсами и прогнали напротив test.
Если на каком-то этапе вылез косяк — исправляем, хуярим по-новой.
В зависимости от сложности всё про всё от одного часа (если всё изменение укладывается в одну строчку конфига) до двух недель (если вылезла какая-то неочевидная хуйня, ставящая под сомнение текущую архитектуру, надо уже с архитекторами пиздить).

2) Фиксинг багов. В целом не сильно отличается от вышеописанного.

3) Нагрузочное тестирование сервиса. Разрабатываем сценарии, пишем perf-тесты, деплоим микросервис на perf-среду, гоняем, собираем замеры, составляем отчёт, шлём заказчику.

4) Рефакторинг всего и вся, если какой-либо из предыдущих пунктов выявил потенциальную или уже существующую проблему в архитектуре.

>>296226-кун
195 1296246
>>296226
Теперь и на итоговом показе тоже так?
196 1296251
>>296235
connectionTimeout = -1 в томкатовском server.xml
197 1296253
>>296246
Хуй знает пока, у нас только первая школа, защита ещё впереди я с воронежского филиала.
198 1296281
>>295919
>>295913

Java сборник рецептов для профессионалов
Ян дарвин
199 1296327
>>296237

>прогнать его напротив dev


>прогнали напротив test


>напротив


Это ты так "against" перевел на русский? Не делай так больше.
200 1296341
>>296327
Нахуй иди. Перевод вполне нормальный и по смыслу понятен всем причастным к процессу.
201 1296348
>>296341
Очко себе прогони напротив cock, Маня.
image.png289 Кб, 555x470
202 1296356
Устроили тут /fag по одному антону. Что же это вы сами не можете разобраться как попасть на РАБоту.

мимоджун, которого взяли сегодня. Провалил до этого 2 собеса. 2-й собес провалил из-за одной хуйни в тестовом, о которой мне не сказали.

Вообще, если кому интересно, то в общем я написал 10 писем в разные компании, с приложенным cv офк. Ответили 4. Было 3 собеса, на третьем взяли. на 4 не пошёл ибо нехуй месяц тянуть кота за яйца.
203 1296366
>>296356

Расскажи что умеешь? Скинь текст тестов сюда если умеешь почтой пользоваться izatertANUSg1pimailPUNCTUMcom !?
204 1296373
>>296348
Смешно.
205 1296378
Кто-нибудь работал с плагином мавен surefire?
206 1296386
>>296356
>>296366
И можно мне тоже?
207 1296387
>>296366

>Расскажи что умеешь?


Отпишу сухой стек, в cv я всё красиво расписывал.
Java Core.
SQL/PostgreSQL.
Spring/SpringBoot/SpringData/SpringMVC/SpringSecurity
JPA/Hibernate.
Maven/Tomcat.
Thymeleaf/JSP.
VCS: Git, Github
IDE : NetBeans/ IntelliJ IDEA

>умеешь почтой пользоваться


Не умею.))000)0

>Скинь текст тестов


На втором собесе мне ПРОСТО сказали сделать веб-хуйню, где пользователь может залогиниться/зарегаться/выйти из аккаунта. Я сделал на JDBC, а мне сказали, что ожидали от меня SpringData и JPA. Я спросил, почему не сказали ранее, я выбрал что чуть посложнее и просто потому что, мне сказали, что перезвонят.

На самом деле, ведь с JDBC это поебала куда сложнее, чем просто прописать entity на юзера и екстендить CrudRepository. Ебонутые.

Второе тестовое, которое дали на 3 собесе:
Create an application (Using Java 1.8 or higher) that serving the domain of Customers
and Orders.

Расписали подробно что им нужно и какая должна быть функциональность. За это им большой плюс.
Если вкратце, то: Новый юзер приходит. Он должен зарегаться/залогиниться. После того как залогинился, он будет в эдаком "личном кабинете". Из него он может
1) Выйти
2) Создать своего клиента
3) Добавить заказ или просто пометку уже существующему клиенту
4) Почекать какие записи и заказы есть у существующего им клиента
5) Посмотреть какие клиента не имеют ни записей, ни заказов

Сказали могу пользоваться чем хочу, но желательно использовать спринг по максимуму.

Вообще, как мне кажется, решающую роль в приёме на работе сыграло тот факт, что я сеньёру, который меня расспрашивал про тестовое и вообще задавал вопросы по всему, что я написал в cv, было то, что я ему в начале сказал, что я не особо помню многие вещи, с которыми давно или вообще не работал. Т.е если он хочет меня про MVC спрашивать, я ему в лёгкую распишу как работает моё тестовое и про любой мапинг и т.д, но если он начнёт меня ебашить каверзными вопросами про многопоточность, то я ничего не скажу. Офк я сказал что знаю что такое треды, как запускать, про дедлок, про synchronized и т.д, но я об этом знаю только по книжке, сам с этим ни разу не работал.
Ну и в таком стиле проходил собес. Он спрашивал, я говорил, если работал с этим, то могу пояснить за многие детали, что и делал дальше. Если не работал, то так и говорил, что только читал.
207 1296387
>>296366

>Расскажи что умеешь?


Отпишу сухой стек, в cv я всё красиво расписывал.
Java Core.
SQL/PostgreSQL.
Spring/SpringBoot/SpringData/SpringMVC/SpringSecurity
JPA/Hibernate.
Maven/Tomcat.
Thymeleaf/JSP.
VCS: Git, Github
IDE : NetBeans/ IntelliJ IDEA

>умеешь почтой пользоваться


Не умею.))000)0

>Скинь текст тестов


На втором собесе мне ПРОСТО сказали сделать веб-хуйню, где пользователь может залогиниться/зарегаться/выйти из аккаунта. Я сделал на JDBC, а мне сказали, что ожидали от меня SpringData и JPA. Я спросил, почему не сказали ранее, я выбрал что чуть посложнее и просто потому что, мне сказали, что перезвонят.

На самом деле, ведь с JDBC это поебала куда сложнее, чем просто прописать entity на юзера и екстендить CrudRepository. Ебонутые.

Второе тестовое, которое дали на 3 собесе:
Create an application (Using Java 1.8 or higher) that serving the domain of Customers
and Orders.

Расписали подробно что им нужно и какая должна быть функциональность. За это им большой плюс.
Если вкратце, то: Новый юзер приходит. Он должен зарегаться/залогиниться. После того как залогинился, он будет в эдаком "личном кабинете". Из него он может
1) Выйти
2) Создать своего клиента
3) Добавить заказ или просто пометку уже существующему клиенту
4) Почекать какие записи и заказы есть у существующего им клиента
5) Посмотреть какие клиента не имеют ни записей, ни заказов

Сказали могу пользоваться чем хочу, но желательно использовать спринг по максимуму.

Вообще, как мне кажется, решающую роль в приёме на работе сыграло тот факт, что я сеньёру, который меня расспрашивал про тестовое и вообще задавал вопросы по всему, что я написал в cv, было то, что я ему в начале сказал, что я не особо помню многие вещи, с которыми давно или вообще не работал. Т.е если он хочет меня про MVC спрашивать, я ему в лёгкую распишу как работает моё тестовое и про любой мапинг и т.д, но если он начнёт меня ебашить каверзными вопросами про многопоточность, то я ничего не скажу. Офк я сказал что знаю что такое треды, как запускать, про дедлок, про synchronized и т.д, но я об этом знаю только по книжке, сам с этим ни разу не работал.
Ну и в таком стиле проходил собес. Он спрашивал, я говорил, если работал с этим, то могу пояснить за многие детали, что и делал дальше. Если не работал, то так и говорил, что только читал.
208 1296389
>>296356
>>296366
И мне анончик! Если не сложно расскажи как учился и тесты на почку скинь. kapuch_ch:;KitraANUSpetu|kOchPUNCTUMi&y9n
209 1296393
>>296389

>как учился


ЦЕЛЫЙ МАТЬ ЕГО ГОЖД Я ЧИТАЛ HEAD FIRST JAVA. Тупо потому что был блядский универ и читал на парах по пять-десять страниц. Летом занимался хуйнёй и что-то учил, что-то не учил, писал всякую хуйню на чистой джаве. Пробывал в постгрес с скл, дальше иннер джоина и селекта не дошел.
Потом я подумал, что ПОРА БЫ ПОЙТИ НА ГАЛЕРУ.
Пошел на первый собес, где меня обсосали, я не смог написать селект с подзапросом, не сделал простейшую сортировку хотя там можно было бы перегнать массив чисел asList в TreeSet, после чего в массив обратно. Так бы я избавился от всех дубликатов. Но я тупой и не смог.
После этого обоссывания, где с меня тихо проигрывали, я понял, что нужно блять что-то делать. За три дня я задрочил доки и офф туториал постгреса, после чего на codewars делать 4-ые каты. Потом начал дрочить спринг и пошел на второй собес, где дали тестовое. Дали неделю. За эту неделю я как черт учил спринг и делал тестовое. Т.е учился в бою. Пока ждал результаты, неистово дрочил хибернейт и додрачивал спринг.

В итоге, когда дали 3-е тестовое, я его сделал за два дня, особо не напрягаясь, потому что после неистового дроча в голове всё оселось. Воть, теперь буду писать и какоть микросервисы и бэкенд на галере.

>>296387 -кун
210 1296417
>>296378

>Кто-нибудь работал с плагином мавен surefire?


А собсно чо надо то?
211 1296419
>>296417
Хочу сделать следующее: запустить определенный набор тестов параллельно, подождать пока они все выполнятся и запустить другой набор тестов тоже параллельно. Я пока что реализовал это добавив несколько <executions>, в каждом прописав <goal>test</goal>, но в таком варианте между запуском наборов тестов появляется существенная пауза.
212 1296427
Есть ли в спринг дате какая-нибудь стандартная идиома для такого случая:

1) Пришел запрос на добавление товара в корзину
2) Ищем подходящий (состояние только что создан, а не в процессе оплаты например);
3) Если не найден - создаем новый;
4) Добавляем в него (заказ) товар;
5) Сохранем заказ в репозиторий;

Бывает такая ситуация, что от клиента приходит сразу несколько запросов на добавить товары, а заказа подходящего нет - в итоге создается несколько заказов, в каждом по товару.

На методе сервиса стоит @Transactional, но чет не помогает. Заказ это гибернейтовская энтитя если что.

Подумал что можно конечно ебнуть syncronized(this) вокруг получения/создания подходящего заказ, но это выглядит как-то как как по мне, тем более тормозит других пользователей. Можно конечно пойти дальше и добавить double-check локинг, но это говно какое-то совсем.
213 1296451
>>296427

>double-check локинг


Это нормально в данной ситуации, только не с syncronized(this), а с локом, относящимся к клиенту клиенту, для которого создается заказ
214 1296456
>>296451
А когда эти локи удалять-то? А с дабл-локингом в принципе не часто попадаем в такую ситуацию.
215 1296457
Кто-нибудь использует Builder pattern при создании объектов?
а то такое чувство что эта красивая инициализация слишком уж дорого стоит
помимо геттеров и сеттеров придется еще пихать статический класс где на каждое поле будет сеттер
216 1296458
>>296457
Я в ведре часто пользуюсь, ну и для иммутабельных объектов.
217 1296462
>>296458
класс же сильно жирнеет
не лучшели просто чтобы сеттеры возвращали this
получится же почти тоже самое
218 1296465
>>296456
Такое лучше делать не in-memory, а через pessimistic lock в БД (или что-то подобное), чтобы не потерять масштабируемость. Тогда и вопроса об удалении может не возникнуть. Но если хочется свои внутренние локи, можно их удалять через weak values.
219 1296470
Ебать тут архитекторы собрались.
220 1296473
>>296094
То есть в вебе нинужно? Только десктоп?
221 1296505
>>296473
Што блять?
222 1296529
>>296427
Локи тут не помогут.
У вас сама идея порочна.

Создавайте пустой заказ в сеансе для каждого залогиненого пользователя.
И пишите всё в него.

Нормально - сессия должна автоматически сериализовываться сервером приложений (на случай перезагрузки сервера и т.п.), поэтому в бд заказ можно писать не сразу.
Хотя, хуй знает, как оно там, в этом вашем спринге.
223 1296530
>>296457
Билдер нужен тогда, когда тебе надо именно создавать сложный объект, со сложной внутренней структурой.
В этом случае он предстаёт во всей красе.

В таких случаях может использоваться ещё и целая куча вспомогательных классов, чисто для работы билдера.
И это будет совершенно оправдано.

В простых случаях достаточно сеттеров, возвращающих this или типа того.

>>296470

>Ебать тут архитекторы собрались.


Собрались - это сильно сказано.
Заглядывают, иногда.
224 1296534
есть тут автоматизаторы на кукумбере?)
225 1296547
>>295091
Сиквел, кстати не жаргон, а первое название языка - SeQueL (а не Structured Query Language, как принято считать)
image.png12 Кб, 308x150
226 1296552
Последние 2 были добавлены через форму внизу, пост заброс так сказатб, первые 2 добавленны просто sql запросом, собсна проблема ясна и понятна, в пост запросе кодировка летит к хуям, как фиксить?
227 1296553
>>296552
Пофиксил
228 1296563
>>296553
Как, сцуко?
229 1296564
>>296563
В doPost добавил request.setCharacterEncoding("UTF-8");
230 1296565
>>296564
можно что-то подобное добавить в .jsp файл
231 1296567
>>296565
Хз, гугли.
232 1296569
Вопрос по RX.
Есть кучка разных observable, которые должны как-то взаимодействовать через if/else, причем в одной подписке.

Допустим, я получаю некое булево значение, и в зависимости от него мне либо нужно выдать что-то, либо ничего не выдавать.
Можно сделать это как-то без Maybe?
Как вообще можно ветвить стрим?
234 1296585
Господа джависты, почему не Котлин?
235 1296590
>>296569
Если я тебя правильно понял, то для этого есть операторы combineLatest и withLatestFrom. Первый выдаёт значение при получении нового объекта из любого Observables, второй только на объект одного из них.
236 1296593
>>296585
Котлин, ещё как
237 1296659
Java господа, вопрос, нужно написать wifi lan messenger, какой фреймворк использовать, я так понимаю spring не катит?
image.png112 Кб, 240x180
238 1296664
>>296659

>Java господа

239 1296668
>>296462
Кто жирнеет? Билдер отдельный класс, у тебя в проекте гуава, апачи, спринг и куча другого говна, а ты из-за билдера экономишь на спичках.
>>296529
Но локи помогли, проблема возникала при нескольких одновременных попытках добавить товар и если ебнуть десяточку параллельно возникала железно, попроверял для 10, 20, 100.
Вообще кажется можно решить через @Transactional, но пока не получилось, просто нужно найти такой режим что бы чтение энтитей реальное произошло и запись.

Вообще ты здравую идею про сессию говоришь, но там куча других задач, все как всегда горит и тд.
240 1296670
>>296659
Ну если ты придумаешь нахуя тебе там спринг, то почему-бы и нет, но думается мне тут все можно решить пир-ту-пир.
241 1296691
>>296590
Я не понял, как это относится к его вопросу?
Где обработка условия у тебя?

И ему надо делать ветвление, а у тебя - слияние.

Я просто тоже потихоньку ковыряю rx, и это очень интересный вопрос.

>>296569
Думаю, тут надо использовать промежуточный узел - subject (приёмник
и передатчик в одном), и в нём принимать решение. Но, возможно, есть способ лучше, т.к. задача совершенно типовая.
242 1296700
Почему hibernate такое говно? Ну то есть из-за идиотской концепции маппить мутирование сущностей сразу на базу вытекает просто невыносимая сложность фреймворка.

Ладно это бы оно еще работало быстро, но это, к сожалению, так не работает.

И это даже если не говорить про просто известные баги вроде того, что проксированные сущности не реализуют интерфейс, который реализует нормальная сущность.

И это даже если не говорить просто то, что неявное мутирование строки в бд сайдэффектом от изменения поля объекта - это худшая практика из возможных, которая даже в простейших случаях заставляет использовать dto для всех манипуляций с данными.

Здесь я предпологаю, что у меня просто не прозошел некоторый вау-момент при изучении либы, который заставит меня сувать ее во все возможные области, ибо я просто джун. Но при каких условиях он может произойти? Ищу здесь озарения от опытных джава-господ.
243 1296702
>>296691

> И ему надо делать ветвление, а у тебя - слияние.


Ветвление делается в замыкании. Конкретно ветвление делается при помощи оператора withLatestFrom. Первый стрим это объект (или группа объектов), который нужно изменить, а второй - предикат, по которому ветвление и выполняется. Например так:

o1.withLatestFrom(o2, (e1, e2) -> {
if (e2.equals(true)) {
return e1;
} else {
return (int)e1 + 1;
}
});

Если хочется простых ветвлений как в синхронном коде, то тогда тебе нужны корутины. Rx это больше функциональщина, со всеми её прелестями.
244 1296704
>>296702

>if (e2.equals(true)) {


УХ БЛЯ
я, конечно, понимаю, что это лишь пример, но ебатт
245 1296708
>>296704
Error:(50, 20) java: bad operand types for binary operator '=='
first type: java.lang.Object
second type: boolean

Энджой ёр жава-генерики.
246 1296710
>>296708
Говно какое-то, где автоанбоксинг?
247 1296711
>>296708
if (e2), не?
Screen Shot 2018-11-17 at 2.00.20 PM.png26 Кб, 682x180
248 1296712
>>296708

>Error:(50, 20) java: bad operand types for binary operator '=='


>first type: java.lang.Object


Вроде все ок
249 1296713
>>296710
Ну можно написать if((Boolean)e2) { и будет тебе автоанбоксинг.
>>296711
>>296712
Вы путаете Object и Boolean. Анбоксится автоматом только последний.
250 1296716
>>296702
И в каком же случае у тебя "ничего не выдаётся"?
Перечитай условие.

Алсо, e2.equals(true) - проверяет сразу 2 вещи, а надо - одну.
Баг в таком случае искать заебёшься.

Про функциональщину я в курсе, лол.
251 1296719
>>296716

> И в каком же случае у тебя "ничего не выдаётся"?


Увы, в функциональщине даже if'ы что-то всегда выдают. Просто их нужно игнорировать, для этого можно выдавать специальный синглтон, аналог void'а, а дальше его фильтровать.
252 1296720
>>296716

> Алсо, e2.equals(true) - проверяет сразу 2 вещи


Он проверяет одну вещь - равенство e2 и true. Где тут две вещи-то?
253 1296721
>>296719

>специальный синглтон, аналог void'а


Это ты так издалека начал про Option или Maybe?
Ещё раз - перечитай условие.

Алсо, реактивный != функциональный, про это тоже не надо забывать.
Я, всё же, думаю, что тут нужен subject.
254 1296722
>>296720

>Где тут две вещи-то?


Как много нам открытий чудных, лол.
Он сначала проверяет, что это в принципе boolean.
И если нет - то возвращает false.
255 1296723
>>296722
Кхе, это и подразумевается в "проверке на true", поскольку ничто кроме boolean (и его брата Boolean) это значение хранить не может. Я-то думал ты мне про null затирать начнёшь.
256 1296864
>>294482 (OP)
Хули у меня пакет не находится? Класспас прописал
257 1296869
>>296864
Ну хуй знает.
258 1296874
>>296869
Да я долбоёб просто, вместо стороннего пакета записал туда тот, в котором сейчас нахожусь
259 1296918
Насколько идиотской идеей будет в спринге создать десяток контроллеров (по одному на каждый метод небольшого РЕСТа) и вложить внутрь них статические классы запроса/ответа? Кто-нибудь вообще так делает?

Сейчас методы сгруппированы, а POJO запросов/ответов распиханы по отдельным файлам. И что-то как-то не очень удобно получается.
260 1296982
Блять, почему спринг перестал выполнять data.sql, причем недавно все нормально работало, spring.datasource.initialization-mode=always имеется.
261 1296990
>>294859
Ты просто не ебался с изменением/удалением persistent таймера.
262 1296994
>>296990
Я использовал Quartz Sсheduler.
Ещё до появления EE6. И после тоже.
263 1297002
>>296994

>Quartz


Далеко не всегда можно просто взять и подключить либу в проект.
264 1297013
>>294757
OOM от резко разросшегося пула при создании сообщения конкатенацией.
265 1297049
Ну чЁ, Free2Play Джаванисты, скоро на мороз пойдете.

Java Будет такой же платной и дорогой, как C# (OS + Visual IDE)

Вкатывались-вкатывались, по своим курсам 2 года, а все работодатели будут переходить на язык будущего, на Haskell/SICP
266 1297050
>>297049

>


>Ну чЁ, Free2Play Джаванисты, скоро на мороз пойдете.


>


>Java Будет такой же платной и дорогой, как C# (OS + Visual IDE)


>


>Вкатывались-вкатывались, по своим курсам 2 года, а все работодатели будут переходить на язык будущего, на Haskell/SIC


Уже вижу, как маня-вкатывальщики переписывают свое Spring-гавнище на Deplhi
267 1297051
>>297049

> Ну чЁ, Free2Play Джаванисты, скоро на мороз пойдете.


Ты о чём вообще? Или ты один из тех истеричек, которые не понимают, что означает смена лицензии у оракловской java11?
15385299469730.jpg3 Кб, 170x170
sage 268 1297063
>>297049
Птздец опять переучиватся...
269 1297086
>>297049
Ты какой-то долбоеб. Во-первых с C# ты тоже нихуя ни за что не платишь, комюнитевской студии хватает вкатывальщику, дальше если какое-то платное говно это проблемы работодателя. Во-вторых вкатывальщик опять же ничего не платит ораклу если его продукт не коммерческий. Так что платить ораклу будут распильщики которые вместо переезда на опенждк/еще какого менее жадного вендора выберут говноракл. Ну или попадут те команды которые супер сильно завязались на проприетарные фичи хотспота.
270 1297090
>>297051
И что она означает? И Как платные обновления с новой лицензией связаны?
271 1297137
>>296721
А мне показалось, что он про Null-паттерн (что есть ad hoc говно и частный случай)
272 1297214
>>297086
Ну, конечно, маня. Бесплатный он только для тебя.
А вот работодатель\галеровладелец за отдел таких C# макак выложит гораздо больше денег, чем раньше за java. У джавы хотя-бы IDE есть бесплатные
273 1297219
Нужно приделать пользователю аватарку в виде картинки. Хранить картинку на диске + путь в БД или картинку прям в БД в виде блоба?
Спринг при входе / авторизации в защищенные слои приложения берет полностью запись из БД и вообще обращется к БД по объекту с полными полями ентити и выборка блоба замедлит это дело. Склоняюсь к варианту хранить на диске.
274 1297220
>>297219
Разве нет специальных БД для хранения бинарных данных, который потом можно будет перетащить сразу на несколько серверов, если на одном вдруг перестанет хватать места?
275 1297221
>>297220
В данном случае есть постргресс. И больше ничиго.
276 1297222
>>297221
А что прикрутить что-то другое нельзя?
277 1297223
>>297219
Дополню. Думал еще про вариант амазон клауд. Но картинок будет не очень много глобально.
278 1297231
>>297219

>картинку прям в БД в виде блоба?


Никогда так не делайте. Файлы нужно хранить в файловой системе, она с этим справляется лучше, так как предназначена для этого. Файлы в БД не хранят. Складывайте в базу путь к файлу, но не сам файл. Это будет гораздо эффективнее.
279 1297233
>>297231
Вот я к этому и склоняюсь. Если бы это была отдельная таблица чисто с картинками + связь 1 к многим к юзеру я бы еще подумал о хранении в БД. А так оно прям в табличке юзера будет. 1 картинка. хуй знает почему так не спрашивайте это не моя идея
Пишут есть минусы / плюсы у обоих подходов.
https://habiletechnologies.com/blog/better-saving-files-database-file-system/
280 1297236
>>297231
А как хранить большие тексты? Например есть блог и есть дохрена больших текстов.
281 1297243
>>297236

>большие тексты


Тексты для людей хуйню весят. Все 3 книги Войны и Мир тупо текстом без сжатия около 3 метров весят.
282 1297251
>>297243
То есть можно тупо писать прям в ДБ как текст? А разметка?
283 1297268
>>297251
Ну и пиши в БД с разметкой. Можно дополнительно писать и готовый HTML-код, и оригинал с BB, Wiki или markdown -кодом, чтоб при редактировании (или переходе на другой движок) сохранить оригинал и снова преобразовать его в HTML. Просто научи движок для поиска (а в контексте Java это 100% будет Lucene) игнорировать разметку и всё будет нормально.
284 1297285
Какие самые актуальные библиотеки/фреймворки для:
1) REST API;
2) Работы с JSON;
3) Dependency Injection?
Хотелось бы поменьше ебли с аннотациями и побольше типизированности.
285 1297295
>>297220
Есть и дохуя, могущих в нормальную бинарщину. Кассандра, игнайт, хадуп стек, куча clustered file system databases (типа цефа, бигфса, гластерфса, тысячи их).
286 1297307
>>297285
Spring?
287 1297312
>>297307
А нормальное что-нибудь есть?
288 1297314
>>297285
Spring. На жаве тащем то ничего больше сейчас такого уровня нет как Spring.
290 1297316
>>297219
У entity оставляешь поле avatar_id/avatar_link/avatar_file (String). Отдельно создаешь interface FileService с CRUD методами. Реализации какие угодно: FileSystemFileService, DataBaseFileService, AmazonS3FileService и т.п.
291 1297317
>>297307
>>297314
>>297315
Там до сих пор говно на аннотациях или уже завезли что-то получше?
292 1297318
>>297236
Зависит от того, нужен ли тебе полнотекстовый поиск и насколько крутой. У postgres есть поддержка полнотекстового поиска, но не такая крутая, как у Solr или ElasticSearch.
293 1297319
>>297317
Завезли, теперь все легко и просто конфигурится через xml-файлы.
294 1297320
>>297317
Аннотации в детстве за жопу покусали?
Можешь использовать XML или java config.
295 1297321
>>297319
>>297320
Толсто. То, что аннотации лучше XML-ресурсов, не значит что они не говно.
296 1297340
>>297312
define нормальное
297 1297342
>>297340
Когда при опечатке тебе сразу ругается компилятор, вместо того чтобы выбрасывать километровый стектрейс в рантайме.
Когда ты можешь нормально отлаживать код, а не думать где ты проебал аннотацию и почему оно работает не так как ты ожидал.
298 1297343
>>297316
Ид и линк понятно зачем. поле файл зачем если картинка на диске / в файловой системе?
299 1297345
>>297342
Чет ты дохуя хочещь.
300 1297349
>>297342
Да ты охуел. Без километрового трейса никто не поверит, что ты серёзным дерьмом занимаешься!
301 1297358
Если я например хочу сравнить то что ввел юзер в окно и зашифрованный пароль в БД как я могу это сделать?
По идее даже одно и тоже значение после encode() будет давай каждый раз новый хэш.
302 1297359
>>297345
>>297349
И эти люди потом называют других смузихлёбами...
303 1297360
>>297358
Храни все возможные хэши в БД
304 1297363
>>297360
Это ты себе как вообще представляешь?
305 1297364
>>297363
Таблица в БД и ты SELECT'ом ищешь наличие нужного хэша
306 1297367
>>297364
Ты или тралишь тупостью или не понимаешь о чем я.
307 1297368
>>297367
Ладно, ты меня разоблачил. На самом деле, для хэширования используют детерминированные функции, которые всегда дают один и тот же результат для одного значения.
308 1297370
>>297342
По идее Play! поддерживает compile-time DI
309 1297371
>>297368
Скорее принял за зеленого долбоеба. Ты опять пишешь хуету. Соль всегда рандомная.
310 1297372
>>297370
Там же внутри акторы, а их в джаве использовать НЕУДОБНА
311 1297373
>>297371
В чём проблема игнорировать соль при вычеслении хэша?
313 1297375
>>297374
Нет, ты. Схуяли бы мне объяснять тебе вещи, которые элементарно гуглятся?
314 1297378
Java
315 1297379
>>297373
Тебя сразу обоссать?
316 1297382
>>297379
Ещё скажи, что ты и пароль не игнорируешь.
317 1297384
>>297343
Накроман, / значит или. Одного поля достаточно.
318 1297389
>>297321
Толсто - это описание твоей мамаши. Сказали тебе: конфигури как хочешь. XML/annotations/code - всё работает.
319 1297390
>>297371

>Соль всегда рандомная.


Эксперт уровня /зк.
320 1297391
>>297389

> Сказали тебе: жри говно как хочешь. Ложка/вилка/руками - всё воняет.

321 1297392
>>297391
Пили свой велосипед, тебе ничто не мешает, кроме отсутствия фантазии. Срать в треде все могут.
322 1297393
>>297391
Считать Спринг говном - это твоё право. Ты спросил как его можно конфигурить - тебе ответили, а ты всё воняешь. Да похуй мне на то нравится он тебе или нет.
323 1297417
>>297390
https://stackoverflow.com/questions/6832445/how-can-bcrypt-have-built-in-salts
Это только бскрипт. А шифрование идет не только через него.
Почитай как сейчас в 5м спринге генеряться пароли.
324 1297456
>>297285

>Dependency Injection


Если поменьше аннотаций и побольше типизированности - то Guice.
Но, это только DI контейнер.

И, я не уверен, что есть смысл применять его в бекэнде.

А Спринг - это монструозная хуйня "платформа", если угодно. Всё в одном + возможность использовать любые сторонние либы.
Аналог Java EE в общих чертах, но с несколько иным подходом.

Так что, если мы про бекэнд - то только Спринг.
325 1297459
>>297417
"Всегда рандомная" и генерится первый раз, а потом запоминается - это разные вещи.
beans.png76 Кб, 1438x600
326 1297468
Все таки у Head First были годные книги.
327 1297514
Шифрую пароли шифром Цезаря. Ваши контр-меры?
328 1297541
Вопрос по Rx
Нормальна ли практика, чтобы в onNext subcriber'a создавать новые цепочки?
В интересах читабельности и поддержки кода, а то со всеми этими ветвлениями пиздец оверинженеринга какой-то.
329 1297542
>>297541

>subcriber


Observer'a
330 1297544
>>297514
Опускаю стоимость твоих акций ниже плинтуса.
331 1297545
>>297514
Жму руку, повышаю до архитектора.
332 1297557
>>297514
Использую Брут.
333 1297570
>>297541

>Нормальна ли практика, чтобы в onNext subcriber'a создавать новые цепочки?


Нет, onNext это место где ты применяешь то что пришло, если тебе так надо это как-то еще дополнительно провести по цепочке можно сделать так:
ConnectableObservable<T1> sharedObs = createObs().publish();
Disposable d1 = sharedObs.subscribe(/.../);
Disposable d2 = sharedObs.flatMap(/.../).subscribe(/.../);
Disposable d3 = sharedObs.connect();
334 1297639
>>297570
И все же, тут предполагается один и тот же тип на все observable.
А что если, допустим, мне нужно проверить некоторое состояние, а при его успехе получить данные от двух возвращающих разные типы observable?
Например, проверить, есть ли в системе некоторый файл.
А при успехе
1) Один observable должен выдать кусочек его содержимого.
2) Второй должен сделать вообще какую-то левую херь вроде "число гномиков в саду у тети Сраки".
И результаты 1 и 2 нужно опубликовать во вью.
335 1297640
>>297639
Зипнуть их обоих? Но тогда нужно будет создавать некий DTO. Без этого никак?
336 1297645
>>297640
У меня просто в базовом классе есть наборчик методов, которым я передаю Observable и некую лямбду, которую нужно выполнить в onNext.
И я в данный момент так и делаю. И хотелось бы знать еще подводные, кроме того что несвязанные друг с другом прямо цепочки, подписанные на что-то, кроме
.subscribeOn(Schedulers.io())
могут ударить по производительности.
Но в случае Schedulers.io() это ведь пул, разве нет?
337 1297656
>>297639

>А при успехе


>1) Один observable должен выдать кусочек его содержимого.


>2) Второй должен сделать вообще какую-то левую херь вроде "число гномиков в саду у тети Сраки".


Или пусть будет еще и
3) Некий Completable должен что-то сделать и ничего не возвращать.
338 1297665
>>297656
Хочется вот понять, почему в этом случае прерывать цепочку - это плохо, а ебать в рот модульность, понятные и явные абстракции, выписывать дивные нечитаемые столбы из >30 строк, у которых есть куда более краткие аналоги - это хорошо и православно?
Screenshot 2018-11-19 at 15.34.52.png65 Кб, 1232x408
339 1297668
Почему я не могу получать объекты? Если я введу в запросе там /test URL - ну тестирую чтобы было все ок - то он мне выдает тестовую строку. Когда я хочу получить объекты - он мне сука выдает такую страницу.

Как это фиксить? Я уже 2 часа сижу, подключил +4 какие-то либы - нихуя не работает. Хепланины аноны.
340 1297676
>>297665
Ааа вот, надо так. Тебя это ебать не должно.
341 1297701
>>297668
????
У тебя темплейт на твой /test имеется?
Смотри в стакстрейс в консольке, там объясняют.
342 1297703
Подписался
343 1297709
>>297703
Держи в курсе
344 1297716
>>297701
Да блять. Какая-нахуй консоль, если я бросил его в тимкат? на моей локалке все нормально работало.

В итоге - добавил пару либ из старой версии + убрал синглтон, который держал вечную ссылку на удаленную бд и все заработало нахуй.

- 4 часа жизни сука. Я 16 сущностей war наплодил за это пвремя. пиздец.
345 1297774
>>297557
Лол.
Силу Брута же.
346 1297775
>>297703
>>297709
2 дебила это сила.
347 1297823
>>297716

>синглтон


ебать, дед, здарова
348 1297844
Есть смысл укатываться дальше восьмёрки?
Чет там дальше var какие-то завезли, на платную основу переходить хотят, вообще охуеть.
cat3.png281 Кб, 429x429
349 1297894
Господа, кто-нибудь пытался пристроить ассемблерные вставки в жабу? И если да, то как это можно устроить путем наименьшей ебли? Надеюсь, что jni через какие нибудь плюсы, это не наименьшая ебля
350 1297939
>>297894

>


ты долбоеб? жаба платформонезависимая, процессор может быть любой - от ARM до Эльбруса ебать.
351 1297943
>>297894
Только JNI.
И ассемблерные - это ты загнул.
Обычно обходятся сишным кодом.

Ничего особо сложного в этом нет.
А если взять JNIWrapper (https://www.teamdev.com/jniwrapper), то вообще охуенно.
352 1297973
>>297939

>жаба платформонезависимая


ору
353 1297975
>>297973
Ей даже на фактическую длину машинного слова похуй.
354 1297976
>>294490
Топ. Спасибо, многочаю тебе.
355 1297983
Мидлы на месте?
356 1298046
>>297943
Спасибо
357 1298112
>>297973
Ну так-то jar с хеллоуворлдом одинаково
image.png447 Кб, 600x450
358 1298114
>>297973
Ну так-то jar c хеллоуворлдом одинаково работает под win, *nix и macos.
360 1298164
>>298145

>https://github.com/Weydile/Web-Bank-Application


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

Зелень гитхабу!
361 1298166
>>298164

>Код нужно каждый день писать ебта.


Я и пишу, но 90% на гитхаб заливать смысла нет.
362 1298167
>>298145
Давно занимаешься?
363 1298168
>>298167
С сентября.
364 1298169
>>298168
Вроде не плохо
365 1298190
Где можно найти все тэги thymeleaf а? Включая security extras под спринг. По сайту тимлифа посика нет вроде.
366 1298209
>>298168
Быстрый ответ: какой метод сервлета обслуживает запросы?
367 1298213
Рвусь в джуны, как думаете стоит дальше этим заниматься или погромирование не мое?
https://github.com/etipsum
368 1298236
>>298209

>какой метод сервлета обслуживает запросы


Эм... Любой? Ну ты наверное пост имел ввиду.
369 1298238
>>298213
У андрюши свой тред вроде есть, думаю там лучше спрашивать.
370 1298243
>>298209
Service()
мимо-прочитал-по-диагонали-head-first
371 1298276
>>298243
да, там как раз заостряется на этом внимание
372 1298299
Ну, есть варик фрилансить на Java. Подружиться с Android SDK и вперед.
373 1298306
>>298299
Так Андроид же вроде всё) Скоро гугл новую ОС выкатит.
374 1298312
>>298306
А там на каком ЯПе приложухи будут? Создадут отдельный, как свифт?
375 1298313
Учим апплеты в шараге, для этого скачали старую версию огнелиса. Ура.
376 1298320
>>298306
Как только так сразу.
378 1298324
>>298312
Возможно на Dart, но это не точно.
https://www.techyourchance.com/will-google-betray-kill-android/
Читать в шапочке из фольги.
tl;dr Гугл не хочет терять статус монополиста и пытается шантажировать/угрожать, если не получится будет соскаивать на новую ось, но нужно постелить соломку что бы макаки портировали приложения, а говновендоры запихнули это в девайсы.
379 1298343
>>298321
Политех. Мы до этого swing учили, препод обещает всем 100к зарплаты при выпуске с красным дипломом.
380 1298344
381 1298353
Сделол форму в спринге.
Из формы беретуся данные для апдейта сущности - ну и обновление БД. И через сейв метод круда с таким же ид и через просто АПДЕЙТ частичный.
Если делаю анотацию постмаппинг - все ок. все обновляется
Если @Patchmapping или @PutMapping
Получаю Request method 'POST' not supported.
Вопрос почему патч / пут не работают хотя наверно они были бы более уместны.
382 1298355
>>298353
Потому что форма делает POST запрос бля.
383 1298356
>>298355
Ну а как еще из формы получить данные для модели?
Если че то форма создается сперва через гет - который берет данные из БД и показывает уже заполненую форму.
Тогда в каком случае применять эти две аннотации?
384 1298357
>>298356
Применять если с клиента будет приходить Patch и Put соответсвенно.
385 1298361
>>298357
Окей. как с клиента получить патч или пут?
386 1298364
>>298361
Ты наверное имел в виду отослать? А тут уже хуй знает, это зависит от технологии клиента.
387 1298367
>>298364
Видимо через хтмл никак. Там я только форму с постом знаю.
388 1298378
>>298364
Ладно спасибо, на жвскрипе допишу тогда мож быть если лень не станет. Там че хочешь отправляй.
389 1298464
>>298378
Ну, вся эта хрень и рассчитана на джаваскрипт, в первую очередь.
Из html формы можно только get или post.

Можно и из джавы, в спринге же есть RestTemplate:
https://www.baeldung.com/rest-template
390 1298468
>>298378
Ну, и, конечно же, в IDEA есть встроенный REST-клиент.
Ты ведь используешь идею?

Ну, или скачай отдельный, их дофига.
И плагины для браузеров есть.
391 1298507
>>298468
Идею да. Без нее никуда. Мне кажется я без нее не смогу уже ничего.
Рест хорошо конечно, но все рано нужен жвскрипт по нормальному.
392 1298514
Зачем в спринге создавать конструкор и пихать туда то что уже есть с @Autowired? Оно же и так работает.
393 1298515
>>298514
Приведи пример
394 1298520
>>298515
Разметки нет ессно. Но думаю понятно
@Controller
public class XuiController{

@Autowired
private PososanieService pss

//Иногда @Autowired тут. Иногда и тут и над pss.
piblic XuiController(PososaniService pss){
this.pss = pss;
}

как то так.
вся суть спринга блять
395 1298522
>>298520
В конструктор - это кошернее.
И работает (инициализируется) быстрее.
396 1298524
>>298522
Хм. Ну ок. То есть делать только над конструктором?
Просто нигде не встречал обьяснения почему так а не иначе. Учитывая что просто обьявление что хуйнянейм будет использована и аннотация над ней работают. Помню еще в спринг ин экшон писалось мол этого хватает когда про аспекты там рассказывал, но я уже смутно помню.
397 1298526
>>298524
Погугли, эту тему часто обсуждают.
Через конструктор - это классика.
Но, это не значит, что по-другому нельзя.
398 1298542
>>298514
чтобы потом в юнит-тестах моки подставлять
399 1298591
>>298524
Не слушай >>298522 этого. Он конечно прав, но дело не в быстроте. Конструктор кошернее, потому что это нагляднее (читай безопаснее), проще тестировать, нельзя схлопотать нульпоинтерэксепшн, и как плюс сразу видно, когда ты проебываешься по single responsibility
400 1298665
>>298343

>обещает


Ловите нормиса, который верит пирдуну, что он научит тому на чем сам мог бы рубить бабки но сидит в полятехе. А нормис на дваче шитпостит на аплеты сам не зная, что их юзают даже в сбертехе, в который пойдет полы мыть, чурка.
Пачан, у меня ДВА друга толмача закончили пту а второго пидорнули с мифи после первого курса, пошли работать на 80 косарей джава крудами. Сейчас большие люди уже.
Нахуя ты ходишь в свой чмотех? лучше бы джава изучал.
eba.jpg16 Кб, 236x293
401 1298679
васян, я тут начал смотреть, что там в яве новое с 1.2 версии завезли. Начал вкатываться в стримы. даже файл могу прочитать. как там фильтры или мапы навернуть, чтоб при считывании строки, все буквы, которых нет в списке, менялись на какой-нибудь другой символ, который я установлю как параметр?
402 1298767
пока у меня тут вот что нарисовалось:

https://pastebin.com/Xbdnw462

но не вкачу, как строку на символы распотрашить в стриме, и чтоб красиво было.
403 1298849
>>298524
Обычно все инъектируемые поля делают final, опять же в целях кошерности (а также иммутабельности, хотя вряд ли кто будет писать код, где это понадобится), и в этом случае спринг сможет их присвоить только через Autowired-конструктор, а иначе класс тупо не скомпилируется.
404 1298982
Не успела выйти выйти JDK 12 как жавабляди соснули у питонобогов.
405 1298986
>>298849
Я так понимаю, что после изучения основ Java надо курить Spring и это займёт времени раза в 3 больше, чем собственно Java?
406 1298990
>>298986
Нет. Основы изучаются достаточно быстро, а нюансы можно постигать только в боевых условиях - фреймворк очень большой, плюс детишек у него много
407 1298993
>>298767
http://www.adam-bien.com/roller/abien/entry/java_8_streaming_a_string

>>298982
Это ты про появление типов в питоне или просто в лужу пёрнул?

Алсо, питон в принципе не годен для ФП из-за синтаксиса на отступах (поэтому и лямбд нормальных нет), так что питонобоги могут пойти вон в те кусты и отсосать друг у друга.
408 1299004
Господа. В планах вкатиться в джаву. Усиленно изучаю с апреля. На что следует особенно детальное внимание обратить перед первыми собеседованиями? Может какие дефолтные камни преткновения?

Пока баловался со стандартными вещами типа конкаренси, семафоры, экзекуторы, коллекции, swing, sql, немного пощупал IoC weld, lombok
409 1299005
>>299004
Шапку читай
410 1299024
>>298665

>Ловите нормиса


Ты в сарказм чужих не можешь?

>юзают даже в сбертехе


>сбертехе


Ты там сам полы моешь? Давно мы начали ориентироваться в гос банки?
411 1299029
>>299005
Пусть тред читает, тут уже отписывал те, кто свой стак приводил.
412 1299040
>>299024
Сынок - апплеты - охуенны.
В корпоративной среде, естественно.

Да, я понимаю, почему их прекратили поддерживать.
Но, адекватной замены - нет (ибо web start тоже похерили), и это очень плохо.

И, я думаю, что те, кто сейчас использую апплеты, будут продолжать это делать до тех пор, пока совсем не прижмёт, т.е. ещё лет 6-8.
И, по этой же причине, IE11 никуда не денется ещё очень долго.

Так что, если ты не в теме - просто проходи мимо, не надо тут портить воздух.
413 1299048
>>298986
Стоит ли в гитхаб заливать учебные проекты с ютюба в стиле "я пишу и объясняю вы повторяете"?

То есть вроде ты сам написал, а вроде нет.
414 1299064
Перекатываюсь с С++ на Java и возник следюущий вопрос: какого черта более "безопасный" Java передает по умолчанию объекты в метод по значению ссылки? Да, ладно даже по умолчанию, так еще нельзя задать аналог const, чтобы объект нельзя было изменить.

Объясните, я может чего еще не знаю в этом вопросе и существует действительно модификатор, который бы запрещает менять состояние объекта внутри метода?
415 1299072
>>299064
Сделай поля final. Или не предоставляй публичных сеттеров
416 1299081
>>299064
Потому что иммутабельность полей / переменных и иммутабельность объектов это две разные вещи.

Странно, что ты этого не понимаешь, имея "бэкграунд" в крестах. Похоже, что максимум что ты там можешь это хелло ворлд написать.
417 1299087
Что скажете про JSP? Годная технология?
418 1299089
>>299087
годность уровня апплетов
419 1299090
>>299089
Но ведь js постепенно уходит...
420 1299094
>>299090
Может быть, но ты думаешь на смену ему придёт jsp?
421 1299095
>>299090
Войтивайти-дегенерат.
422 1299097
>>299094
cgi скорее
423 1299100
>>299095
И я войду, вот увидишь! И не на какие-нибудь мейнстримные и банальные технологии, а на что-то новое и уникальное, где не будет конкуренции поначалу.
424 1299103
>>299100
Ты не войдешь.
425 1299105
>>299100

> а на что-то новое и уникальное


> где не будет конкуренции поначалу.


JSP хороший выбор!
426 1299106
>>299103
Не проецируй.
427 1299108
>>299106
Войтивайти неприятно. Мне уже не грозит. А вот у тебя не получится.
428 1299111
>>299108

>Мне уже не грозит.


Уже смирился и стал уборщиком, ой то есть джуниор клининг девелопер?
429 1299113
>>299111
Как ты сразу подорвался и проецировать стал, хотя пять минут назад сам же требовал это не делать.
430 1299115
>>299113
Я не могу проецировать чисто физически, потому что нигде не работал. А вот ты можешь.
431 1299117
>>299115

> Я не могу проецировать чисто физически


Вот именно поэтому у тебя не получится, как я и говорил ранее - у тебя нет мозга по собственному признанию.
432 1299120
>>299117
ебать ты лох)
433 1299122
>>299120
Сраженный войтивайти беспомощно порвался и перешел на визг. Все ясно.

У тебя не получится. Сам увидишь, раз не веришь умным людям.
434 1299124
>>299122
чмоха слилась и проецирует
435 1299130
>>299087

>jsp


Как там в 2005?
436 1299149
>>299040
Спасибо, что ответил нубу.
Так что поломойку уже нашли >>299024.
437 1299159
>>299072
И то и другое какой-то костыль применимый только к классам, которые должны быть неизмененны вообще всегда после момента инициализации, а не в конкретном методе.
>>299081

>>Потому что иммутабельность полей / переменных и иммутабельность объектов это две разные вещи.


И это как-то отвечает на мой вопрос?

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


Похоже, что ты пидор. Попробуй опровергнуть.
438 1299196
>>299087
Формально - это легаси.
Но, на самом деле - это простая и годная вещь.
С отличной инструментальной поддержкой и прекрасным быстродействием (в сравнении с пхп, руби, питоном).
Поэтому, отказываться от этого просто потому, что эта технология придумана давно - это не очень умный подход, попахивающий несвежим смузи.

У всех разные задачи.
Сейчас хайп на клауд и микросервисы. И в этом случае JSP - не используется.

Однако, для корпоративных задач, если не нужно _беспредельное_ масштабирование (которое вовсе не бесплатно само по себе) - классические серверы приложений (Java EE или классический спринг mvc) - вполне годная тема. Потому, что сильно упрощают разработку. А масштабирование делается через кластеры (см. Caucho Resin - охуенно быстрый и удобный JavaEE 6 сервер).

Вообще, давно уже надо понять, что больше нет рецептов, которые подходят всем и под любую задачу. Как минимум, надо разделять энтерпрайз (классика, десктопные клиенты и браузеры, огромные таблицы, формы на три экрана и т.п.) и ширпотреб (mobile first и прочая ебанина для народа - ютубы с твиттерами).
439 1299238
>>299159

>только к классам, которые должны быть неизмененны вообще всегда после момента инициализации, а не в конкретном методе


А какой в этом смысл? Если ты не доверяешь методу то зачем его вызывать?
440 1299247
>>298993

>из-за синтаксиса на отступах


>поэтому и лямбд нормальных нет


Чот орнул с эксперта
441 1299252
>>299247
У тебя есть другая версия отсутствия в питоне нормальных лямбд?
Код с кучей лямбд реально стал бы нечитаемым, а читаемость кода - это фетиш для Гвидо.

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

Джава оуенна, а питон - годится только для скриптов.
442 1299258
>>299130
Ну я так и думал.
443 1299263
>>298993
так оно не работает, как там рассказывали или я хуй его знает

https://pastebin.com/AgAaybXL
444 1299266
>>299258
Пытаешься быть тонким, лол?
445 1299269
>>299252
Что не так с лямбдами и отступами, петушара? Можешь хоть нормальный пример привести, а не КО-КО-КО?
446 1299270
>>299263

>https://pastebin.com/AgAaybXL


У тебя лямбда в конвейере стрима сама возвращает стрим.
Это значит, что вместо map надо flatMap.
Гугол в помощь.
447 1299271
>>299252
Хелоу, у любого ML-подобного языка синтаксис на отступах основан, и тем не менее везде там есть нормальные многострочные лямбды, и никто даже не думает, что может быть иначе. Только питонодауны что-то кукарекают про читаемость.
448 1299272
>>299269
Петушара - это твой папа, лол.

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

Можешь ли ты привести пример кода на питоне (достаточно длинный), типа конвейера в стримах или в Rx в джаве с многострочными лямбдами на отступах (если бы они были в питоне)?
449 1299274
>>299271
Речь не про сферический синтаксис на отступах, а про питон.
450 1299285
>>299272
многострочные лямбды не нужны, петушок. если они тебе по какой-то причине нужны, ты делаешь что-то не правильно. ПОДУМОЙ!
image.png28 Кб, 857x308
451 1299286
Ребята, как сделать данную хуету на джаваскрипте? Обычная таблица с чередующимися цветами получилась, а это не могу сделать. Помогите пожалуйста, с меня как обычно нихуя

<head>
<link rel=stylesheet type="text/css" href="1.css">
</head>
<body>
<script>
var n=10;
var s;
document.write("<table>");

for (i=1; i<=n; i=i+1)
{ document.write("<tr>")

for (j=1; j<=n; j=j+1)
{
st=(i+j)%2
if (st==0) s="class='r1'";
else s="class='r2'";
document.write("<td "+s+"> </td>");
}

document.write("</tr>");
}

document.write("</table>");
</script>
</body>
image.png28 Кб, 857x308
451 1299286
Ребята, как сделать данную хуету на джаваскрипте? Обычная таблица с чередующимися цветами получилась, а это не могу сделать. Помогите пожалуйста, с меня как обычно нихуя

<head>
<link rel=stylesheet type="text/css" href="1.css">
</head>
<body>
<script>
var n=10;
var s;
document.write("<table>");

for (i=1; i<=n; i=i+1)
{ document.write("<tr>")

for (j=1; j<=n; j=j+1)
{
st=(i+j)%2
if (st==0) s="class='r1'";
else s="class='r2'";
document.write("<td "+s+"> </td>");
}

document.write("</tr>");
}

document.write("</table>");
</script>
</body>
452 1299288
>>299286
Съеби, сука.
453 1299289
>>299286
О, я на jsp это попробую сделать. Хочешь?
454 1299294
>>299064
Потому что в джаве нет понятия указателей, лол. Как ещё передать объект кроме как по ссылке?
456 1299299
>>299289
кек, орнул че то
1405114628-2b09f3a616917cd41d81a9a862c061c4.jpeg61 Кб, 317x372
457 1299314
>>299270
Что так сложно? Уже пол вечера не вкурю, что там куда идёт.

Я на питоне сходу набросал, как это работать должно:

in_lines = ['saa', 'bbb', 'ff.ff']
allowed = set("abc.")
subst = '.'

out_strings = [ "".join(map( lambda c: c if c in alowed else subst, s)) for s in in_lines]
458 1299328
>>299314

>Я на питоне сходу набросал


Так это ты тут флудишь про питон?

>сходу набросал


А теперь распараллель по ядрам, лол.
459 1299330
>>299294
указатель и ссылка это такие разные вещи?
460 1299333
>>299328
Тема чатика располагает какрастыки, решил в него метнуться тоже, чтоб совсем дремучим долбоёбом себя не чувствовать.
461 1299337
>>299330
А ты точно программистом работаешь?
462 1299340
>>299337
такие разные вещи?
463 1299342
>>299340
Достаточно разные, чтобы иметь разные названия.
464 1299347
>>299342
но ссылка это тот же поинтер, только без ебучей арифметики с ним.
465 1299352
>>299347
Вот ты доебался. Почитай спецификацию JVM, если хочется подробностей.

Это - >>299064 - твой пост?
Да, в данном случае, можно сказать, что принципиальной разницы нет.

Почему всегда по ссылке?
Потому, что все объекты в хипе. В сишарпе, например (точнее, в дотнете) объекты могут быть на стеке. А в джаве (JVM) - нет.

Что с этим делать?
Применяют так называемое защитное копирование (руками копируют объект), но, это заёбисто.
Лучше - иммутабельные структуры данных и паттерны.

Иммутабельность - благо. А сборка мусора в отношении короткоживущих объектов весьма эффективна. Современная JVM - вообще весьма эффективная вещь.

Алсо, если ты пытаешься писать на джаве - делай это так, как принято на джаве. А не как на питоне, шарпе или 1С.
466 1299353
Почему окно блять не открывается я не пойму. Хуиты написал?

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
h1 {color:red;text-align:center;}
body {background-color:PaleGreen; font-weight:bold;}
input {font-weight:bold;}
</style>
<script>
function sqr()
{
// переменная р объект с именем t
var a=document.getElementById('name');
var b=document.getElementById('surname');
var c=document.getElementById('otchestvo');
var d=document.getElementById('dr');
var e=document.getElementById('mesto');
var f=document.getElementById('luzan');
var g=document.getElementById('neluzan');
// переменная r содержит значение свойства value этого объекта
x1=a.value;
x2=b.value;
x3=c.value;
x4=d.value;
x5=e.value;
x6=f.value;
x7=g.value;
var win=window.open("","","width=700,height=300");
win.document.open();
var str = "<h1>"О себе"</h1><hr><P>";
win.document.write(str);
var str = "<p>Я, "+x1+" " " "+x2+" " " "+x3+" родился в "+x4+" " " в городе "+x5+". Больше всего я люблю "+x6+" " " и очень не люблю "+x7+", но к сожалению приходится иногда "+x7+". </p>";
win.document.write(str);
str ='<input type="button" value="Закрыть"'+'onClick="window.close();">';
win.document.write(str);
// закрываем вывод в документ объекта win
win.document.close();
}
</script>
</head>
<body>
<h1>Анкета</h1>
<hr>
<form>
<br/>Фамилия:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=text value="Жмышенко" id='surname' name="surname" size="30">
<br/><br/>Имя:&nbsp;&nbsp;&nbsp;&nbsp;<input type=text value="Валерий" id='name' name="name" size="30">
<br/><br/>Отчество:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text value="Альбертович" id='otchestvo' name="otchestvo" size="30">
<br/><br/>Год рождения:&nbsp;&nbsp;<input type=text value="1990" id='dr' name="dr" size="30">
<br/><br/>Место рождения:&nbsp;&nbsp;<input type=text value="Чугуевка" id='mesto' name="mesto" size="30">
<br/><br/>Любимое занятие:&nbsp;&nbsp;<input type=text value="читать" id='luzan' name="luzan" size="30">
<br/><br/>Нелюбимое занятие:&nbsp;&nbsp;<input type=text value="учиться" id='neluzan' name="neluzan" size="30">
<br/><br/><input type=button value="Сформировать биографию" OnClick="sqr()">
<hr>
</form>
</body>
</html>
466 1299353
Почему окно блять не открывается я не пойму. Хуиты написал?

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
h1 {color:red;text-align:center;}
body {background-color:PaleGreen; font-weight:bold;}
input {font-weight:bold;}
</style>
<script>
function sqr()
{
// переменная р объект с именем t
var a=document.getElementById('name');
var b=document.getElementById('surname');
var c=document.getElementById('otchestvo');
var d=document.getElementById('dr');
var e=document.getElementById('mesto');
var f=document.getElementById('luzan');
var g=document.getElementById('neluzan');
// переменная r содержит значение свойства value этого объекта
x1=a.value;
x2=b.value;
x3=c.value;
x4=d.value;
x5=e.value;
x6=f.value;
x7=g.value;
var win=window.open("","","width=700,height=300");
win.document.open();
var str = "<h1>"О себе"</h1><hr><P>";
win.document.write(str);
var str = "<p>Я, "+x1+" " " "+x2+" " " "+x3+" родился в "+x4+" " " в городе "+x5+". Больше всего я люблю "+x6+" " " и очень не люблю "+x7+", но к сожалению приходится иногда "+x7+". </p>";
win.document.write(str);
str ='<input type="button" value="Закрыть"'+'onClick="window.close();">';
win.document.write(str);
// закрываем вывод в документ объекта win
win.document.close();
}
</script>
</head>
<body>
<h1>Анкета</h1>
<hr>
<form>
<br/>Фамилия:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=text value="Жмышенко" id='surname' name="surname" size="30">
<br/><br/>Имя:&nbsp;&nbsp;&nbsp;&nbsp;<input type=text value="Валерий" id='name' name="name" size="30">
<br/><br/>Отчество:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text value="Альбертович" id='otchestvo' name="otchestvo" size="30">
<br/><br/>Год рождения:&nbsp;&nbsp;<input type=text value="1990" id='dr' name="dr" size="30">
<br/><br/>Место рождения:&nbsp;&nbsp;<input type=text value="Чугуевка" id='mesto' name="mesto" size="30">
<br/><br/>Любимое занятие:&nbsp;&nbsp;<input type=text value="читать" id='luzan' name="luzan" size="30">
<br/><br/>Нелюбимое занятие:&nbsp;&nbsp;<input type=text value="учиться" id='neluzan' name="neluzan" size="30">
<br/><br/><input type=button value="Сформировать биографию" OnClick="sqr()">
<hr>
</form>
</body>
</html>
467 1299354
пп
468 1299362
>>299353

>luzan



Лузан, съеби уже в бэ, там все твои друзья, лол.
image.png274 Кб, 641x530
469 1299365
Я не понял. Нас джаба тред самый живой и популярный на /pr? Хули тут из раза в раз а-ля "Сап, перекатываюсь из си/крестов/мочи>говна>питона, чому это так, а это вот так"? Хули постоянно срачи с неосиляторами из других ЯП? Да и наш тред довольно часто занимает лидирующую позицию в каталоге. ДЖАВА БОЯРЕ ПОБЕЖДАЮТ?

Кстати, запилите кто нибудь аниме девочку держащую какую нибудь книженцию по жабе. Я бы Spring in Action 4 тыкнул на обложку. 5-ый мне показался хуже
470 1299368
>>299352
какая нахуй спецификация JVM? ты мне предлогаешь проверить как оно в каждой из реализаций JVM устроено? ебана ребячишь меня?

>Это - >>299064 - твой пост?


нет, я мимокрокодил.
4.jpg50 Кб, 561x659
471 1299370
>>299365
анимедостаточно?
image.png66 Кб, 250x240
472 1299371
>>299370
Ты чо ахуел такое подсовывать? А ну быстро исправил.
473 1299372
>>299371
точно ещё девочка: ✔
явно любит косоглазую хуйню: ✔
в руках что-то держит: ✔
на картинке есть что-то про жабу: ✔

що ты негодуешь, доставил, как заказывали.
474 1299373
>>299365
На пр/аше два самых живых треда ето жаба и жс.
ехал жаба через жаба
видит жаба в жс жаба
сунул жаба жс в жаба
жаба жаба жс жаба
475 1299377
>>299373
потому что обе косоглазые параши на костылях, с которыми не возможно нормально работать, ебать их в сраку.
476 1299379
>>299368
Ты разницу между спецификацией и реализацией попробуй сначала понять.
477 1299380
>>299379
а ты между языком и платформой на которой он выполняется.
478 1299437
>>299377
С языками либо ебутся, либо они нахуй никому не упали
479 1299472
>>299196
А есть ли взаимосвязь и какая между JSP и презентерами(так это называется?) вроде Таймлифа, Масташа и другими?
480 1299473
В треде завелся JSPидор.
481 1299481
>>299372

>що ты негодуешь, доставил, как заказывали.


Нет, я написал аниме девочку а у тебя просто девочка.
image.png239 Кб, 708x480
482 1299482
>>299473
Ну норм. Я когда Thymeleaf задрочил и писал на нём темплейты, прошел собес сделав тестовое на нём. На РАБоте приходится РАБотать с jsp. Жизнь не всегда идёт как ты хочешь.
photo2017-05-2917-53-11.jpg51 Кб, 640x640
483 1299489
>>299482
Двачую.
Я то хотел в дотнет вкатиться, но в моем мухосранске из нормальных только оказалась вакансия питон разработчика в связке с QT.
Вот потихоньку курю джангу что бы найти удаленку, или сайтики в своем мухосранске клепать по сотке баксов.
А хотел на си шарпе работать.
484 1299491
>>299472
Это разные вещи, делающие примерно одно и то же.

> презентерами


Это называется template engine.

В отличие от чисто шаблонных движков JSP может содержать и практически произвольный джава код. Т.е., это два в одном - и (view-) контроллер и view.

Это может быть очень удобно во многих случаях. Но, неопытных программистов это может спровоцировать на написание говнокода.

Также, JSP компилируется в джава код, и работает очень быстро.
Компиляция происходит автоматически (на сервере, не в IDE), при изменении кода в файле.

И, не надо забывать про инструментальную поддержку.
В отличие от типичного шаблонного динамикоговна, JSP очень хорошо поддерживается в IDEA. Что в большом энтерпрайзном проекте даёт быстрый поиск зависимостей, избавление от опечаток, подсказки и т.п.

Также, во время компиляции отлавливаются многие ошибки.
485 1299492
>>299472
Нет. Это две технологии, которые работают по-разному, но делают одно и то же.
486 1299494
>>299491
И да, никто не мешает тебе встроить любой другой шаблонный движок (и вообще любую хуйню) внутрь JSP страницы - с помощью библиотек тегов, например.
С инструментальной поддержкой будут проблемы, но IDEA позволяет делать inject language.

Алсо, на JSP можно генерить что угодно вообще, вплоть до excel и pdf. Для PDF есть охуеннейшая либа BFO.

В общем, это охуенная вещь, хотя и со своими недостатками.
Да, макаки часто пишут на JSP лютый говнокод, но, на то они и макаки.
487 1299495
>>299491
Спасибо за развернутое объяснение.
488 1299497
>>299494
К слову прохожу тренинг в одну из известных галер и там весь учебный проект пишется на jsp (что вызвало у меня некоторое удивление, но сейчас оно развеялось).
image.png264 Кб, 710x577
489 1299525
>>299491

>JSP очень хорошо поддерживается в IDEA



>>299494

>но IDEA позволяет



Только ты денюжку им сначала дай. Комьюнити не поддерживает JSP, нужна покупать ultimate
490 1299527
>>299525
10к в год, ну ладно уж, блядь
491 1299532
>>299525
подсказка: rutracker
492 1299536
>>299525

>Только ты денюжку им сначала дай


0.0.0.0 account.jetbrains.com
https://pastebin.com/0BgXP6Wm
493 1299565
>>299536
Что это?

мимо ньюфаг
494 1299598
Двощ, читаю книгу Лафоре "структуры данных и алгоритмы", но делаю это в дороге, поэтому решения задач и проектов только в голове прикидываю. Стоит ли нормально решать эти задачи? Может еще олимпиадные задачки порешать на алгоритмы и структуры данных?
Решению задач с codewars и подабных времени почти не уделял. Понимаю, что сильно проебался с практикой, и могу обосраться с простейшей задачки на рекурсию или сортировку для школоты.
Изучаю джаву полгода, книги по java core шилдта и хорстмана читал, разбирал и делал примеры и задания оттуда. Последние несколько месяцев задрачиваю спринг по книгам и мануалам.
495 1299599
Анонче, есть какие нибудь драг-н-дроп конструкторы для html типа sceen builder'а для fxml? чтобы можно было без ебли накидать кнопочек и прикрутить логику к ним
496 1299612
>>299598
двачую вопрос, в принципе все входящие данные аналогичные
497 1299613
>>299527
500$ первый год, потом 400$ второй и 300$ третий. Мне-то не проблема, галера обеспечила, а вот студентикам или войтивайтишникам это может влететь в копеечку.

>>299532
Только если ты сам работаешь. Чаще всего фирмы жмотятся и не покупают, будешь на нетбинсе кодить. Или ещё хуже, на эклипсе

>>299536
смотреть выше

>>299598

>Стоит ли нормально решать эти задачи


Если они нормальные и если ты сам их будешь набирать. А не копировать и вставлять переменную.

>олимпиадные задачки


Всегда с этого проигрываю. На РАБоте тоже будешь олимпиадные задачки решать? Лучше бы КРУД-ы делал.

>Решению задач с codewars


А лучше бы уделял. Там SQL задачи годные.

>>299599
Да заебали со своим FX, вам делать нехуй?
498 1299615
>>299613

>500$ первый год


Это коммерческая лицензия
499 1299620
>>299613

>Да заебали со своим FX, вам делать нехуй?


пост перечитай, няша
500 1299636
>>299620
А, так это, вон из треда! с этим в другой тред, тут не разметку обсуждают. няш <3
501 1299637
>>299285
Вот двачую этого.
Лямбда больше одной строки - это какой-то Java-выблядок.
Используй обычные анонимные функции хотя-бы, в самом деле.
502 1299643
>>299613

>а вот студентикам ... это может влететь в копеечку.


а не пиздишь? студентикам или любой школобляди весь арсенал продуктов предоставляется бесплатно.
503 1299666
>>299238
(тяжелый вздох) Я не доверяю не методу, а самому себе. Не метод делает ошибки в коде. Не метод забывает о том, что нельзя менять менять объект внутри него. Это делает программист. И тот же const в C++ как раз защищает программу от программиста, чтобы компилятор смог на этапе компиляции уже вызвать ошбику, что объект переданный в качестве аргумента был изменен, хотя не должен был быть.

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

Java позиционируется как замена С++ - кроссплатформеность и безопасность это основные преимущества, которые я часто читаю (а еще какая-то "простота", но вот честно хуй его знает, что это конкретно означает. Если то, что мне теперь не нужно использовать сырые указатели, то адекватные люди вместо них используют умные указателеи или строят в принципе архитектуру с минимум их использования, но это ладно. Рынок вакансий диктует свои правила.). Так как же обеспечивается безопасность состояния объекта при передаче его значения ссылки в метод? Делать его immutable? А если он не должен быть immutable? Тогда тупо не делать ошибок?

В общем, повторюсь, какие есть инструменты реализующие парадигму защиты состояния объекта в методе в Java кроме как делать класс констатным (final).
image.png268 Кб, 728x512
504 1299674
Ох ебать вот это ваша Java+Maven поебень.
Импортировал в IntelliJ IDEA проект с мавеном, так он не запускается, пишет вот эту хуету:

[ERROR] Source option 5 is no longer supported. Use 6 or later.
[ERROR] Target option 1.5 is no longer supported. Use 1.6 or later.

Вероятно, где-то нужно что то ЕЩЕ НАСТРОИТЬ АХАХАХАХА БЛЯ

Я просто ссу на жавоблядков - это ж надо додуматься придумать хуйню Maven, чтобы не нужно было ничего настраивать и просто собирать, но один хер её нужно настраивать по факту.
505 1299678
>>299666
Сотона, я так понимаю, в аду гугла нет?
https://stackoverflow.com/questions/37087809/how-to-find-out-if-a-class-is-immutable

>To provide additional sanity-check (if you think that annotated as immutable class can be mutable by mistake), there is Mutability Detector plugin for FindBugs (static analysis tool), which effectively doing same thing listed above: checks class has @Immutable annotation and verifies (via reflection) that all immutability rules are satisfied (with some additional things like immutable collection support from Guava etc.). Mutability detector also can be used as library without FindBugs, which allows you to write tests like that:



@Test
public void testImmutable() {
assertImmutable(MyClass.class);
}

>>299674
Слабо верится, что есть хоть один серьезный инструмент, работающий из коробки. А мавен - няшка, не надо так про него.
506 1299683
>>299678

> мавен


Инструмент, который призван делать, чтобы всё работало из коробки, не работает из коробки, лол.

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


попробуй Python, это не больно

>А мавен - няшка, не надо так про него.


Охотно верю, что, возможно, по сравнению с остальным Java-калом, он не такое говно. Но это всё сорта говна.
507 1299689
>>299683
Питоноблядок порвался, посмотри вниз, у тебя лямбда вытекла, а ещё научись читать ошибки, довн.
508 1299691
>>299689
Да откуда блять ошибки в рабочем проекте из репозитория?
509 1299693
>>299689
Ты настолько ущербный, что даже не понимаешь того, что Мавен, по идее и создан, чтобы таких ошибок не было.
510 1299695
>>299691
>>299693
Вы чё, ебанутые?

>[ERROR] Source option 5 is no longer supported. Use 6 or later.


[ERROR] Target option 1.5 is no longer supported. Use 1.6 or later.

>is no longer supported



Ебанутые?
511 1299698
>>299693
Как будто иде настраивать не надо. И вообще, задача мавена - избавить тебя от необходимости ебаться с ручной настройкой зависимостей, где ты хочешь подключить одну библиотеку, а она зависит еще от десяти. И все.
512 1299705
Пацаны, давайте без срача, как дети ей богу.
513 1299708
>>299674

> Source option 5


Ого жава 5. Ставь maven более старой версии. Напомню, Java 1.5 вышла 14 лет назад.
514 1299710
>>299695
Так если эта параша понимает, что версия не та, пусть сама сделает всё что надо. Максимум - выдаст предупреждение.

>>299698
При чем тут IDE? Здесь у Java и её приблуды проблема просто исходников собрать.

>>299708
Стоит последний Мавен. Это исходники старые. Вернее, там просто не указана версия и нужно форсить в конфиге 1,5
515 1299711
>>299710

> Стоит последний Мавен.


Ну так и ставь старый мавен. Ошибка же ясно говорит, что мавен не поддерживает пятую жаву. Нужно ставить ту версию, в которой эту древность ещё поддерживают.
516 1299714
Планирую уже таки окончательно и конкретно окунуться в кодинг. Начать с Сишки или с Джавы лучше будет, чтобы надрочить голову решать задачи.
517 1299721
>>299714

>лучше будет, чтобы надрочить голову решать задачи


Математика
518 1299734
>>299710
Какая причина сидеть на 1.5?

Либо 1.4, либо 1.7, либо 1.8, либо 1.8+.
В смысле, на то, чтобы сидеть на этих версиях - причины есть.
А на 1.5 что?
519 1299736
>>299721
Человек хочет программировать, при чём здесь математика?

>>299714
Если ты нулевой, то начать лучше с Питона.
Это, если угодно, гибрид джавы и си, лол.
Только без статической типизации.

Да, это я обсирал питон в этом треде (см. выше про синтаксис).
И да, я бы советовал начать с питона.
Инфы куча, в том числе и на русском.
Порог вхождения - очень низкий (в отличие от джавы, и, тем более, си).
520 1299737
>>299734
Concurrency
521 1299743
Перекат >>1299742 (OP)
Перекат >>1299742 (OP)
Перекат >>1299742 (OP)
Перекат >>1299742 (OP)
522 1299745
>>299743
охуительная первью.
523 1299799
>>297342
Это называется IDE
524 1300041
>>299637
*классы
мимопофиксилтебя
525 1300116
>>300041
спасибо, няша
image.png143 Кб, 1103x975
526 1301654
В чём проблема-то?
image.png8 Кб, 567x45
527 1301662
>>301654
He Main, a main.

Всё работает. Вот только всё равно не может найти класс.
Что скажете?
528 1308789
>>301662
Имя пакета является неотъемлемой составляющей имени класса.

Из папки X:\Projects\TetrisGame

сначала выполняешь команду
javac -s src -d target com\tetris\tetrisgame\TetrisGame.java

Рядом с папкой src у тебя появляется папка target. В ней структура папок, аналогичная src.

Из той же корневой папки запускаем класс:
java -cp tagret com.tetris.tetrisgame.TetrisGame

Всё должно заработать.
Тред утонул или удален.
Это копия, сохраненная 20 декабря 2018 года.

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

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