Это копия, сохраненная 18 ноября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
А: Нет, не поздно.
Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: Да хуй знает, от тебя зависит насколько ты толковый и умеешь себя продать.
Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Что скажете за джавараш?
Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. Если усидчивый, читай книги и делай тестовые задания. В любом случае решать тебе.
https://github.com/qqqlll/Java-Thread/wiki
Жив, стоит. Конечно, ничто не вечно, поэтому бдительность после вката не терять.
Ах да, забыл нужен веб, Котлин и Андроид разработка
Почему нет?
Заеба грешная, забудешь и будешь мучаться с 30 минутным сеансом
лол, я легко нахожу одним запросом в гугле. Ищи адреса лицензионных серверов или код активации. Я каждый раз через год просто нахожу как правило второй вариант и пользуюсь целый год на халяву платной IDE со всеми её плюшками
Объясните, зачем Java разработчику знать еще и HTML, JS, CSS видел много вакансий с таким требованием
Хочу вкатиться, но, имеется в наличии только ноут у убунтой (винду не протянет, даже дров нет). На линух можно вкатиться или лучше с винды?
от меня же скрин
Нахуя кто-то пишет приложения для компа на Джаве? Нахуя вообще ваша Джава нужна, кроме телефонов? И почему долбоебы в Моджанг не смогли в Сишные языки? Про версию из стора я знаю.
> долбоебы
Там сам ответил. Джава - это чисто серверная хуйня, либо андроид. Еслт кто использует её для другого - это его проблемы.
15гигов жрал Майн?
9 гигов ванила без модов?
Уверен что это не ты долбоеб что то криво сделал? На некроте запускал спокойно твой Майн с огромной картой и какими то тех модами.
ну вобще да, на Яве писать что то быстрое и лёгкое ебланство, вроде есть бэдрк едишион он на плюсах
Уверен, я его переставлял, конфиги удалял. Сам охуел от такого.
И это ему до 8 гб было выделено, я хуй знает, чтобы он с 16 делал
Пошли тогда говна поедим.
То что ты скрины скинул диспетчера конечно хорошо...
Но это никак не доказывает, что это не ты хуеты натворил.
Сам блять подумай что у тебя там майн может на 15 гигов сжирать?
Если ты какой то мод поставил который написан хер знает кем, то это нихуя не вина языка что там тебе наговнокодили что то.
На 9 гб чистый майнкрафт, на 15 - модпак топ1 по популярности curseforge. Чанки дефолт. Графика макс. Я не ебу , что он там жрет.
Хуй знает, что с ним, домой приду - опять попробую.
Отправлено с мобилки. Принтскрин с мобилки проложил.
И если у тебя в редакторе что-то красным подчеркивает - нет смысла запускать прогу вообще, ищи где ты обосрался.
Благодарствую.
Прямо представил что блжад этот код на многие дни писанный и ты там где то забыл эту точку с запятой и код у тебя нихуя не идёт а сроки жмут. Пиздец.
Its po ugaru chuvak, just relax and take two cups of tea.
поздравляю.
>на 3 дня написать простенький интернет магазин с базой данных
на jsp и сервлетах? иначе 3 дня это сильно дохуя на такоую задачу
>Джава - это чисто серверная хуйня, либо андроид.
Ага, на андроиде там же память не такая, как в компе. Она не так жрется.
Пиздец, вы тупые уебки
Это другое
Андроид - не потому, что жаба на нём жрёт отрицательное количество памяти и выполняет бесконечный цикл за 0 секунд, а потому, что тупо нет другого выбора.
Я про рантайм.
А на unity игры тоже не такую память.
А в соседнем треде заверяют, что C# всё заменит, даже джаву и вообще будет поддерживаться аппаратно. Так что хуйня этот ваш раст, а вот за C# - будущее.
Spring boot security и Spring security - одно и то же?
Получается, когда пишут/говорят Spring boot security подразумевают Spring boot + Spring Security?
Выучи уже разницу между спрингом и спринг бутомю
Достали, смахнули паутину и юзаем в проекте 2019 года, где из жабки надо запускать однострочные скрипты, работающие над объектами, коллекциями. Ибо жс там соснул и в целом с жавой дружит все меньше.
Отлично груви зашёл, рекомендую.
Зачем они, если есть растбук? Зачем вообще все эти курсы, если они дают неполную и обрывочную информацию?
На рутрекере в поиске вбей "idea"
Скачай с сайта
Нельзя, конечно! JetBrains лишит права на Community Edition!
Шютка. Просто интегрированного в IDE нет, а так затаскивай себе в проект и юзай — хоть Maven'ом, хоть вручную джары подключай. Вопрос в удобстве.
И правильно сделали, ведь лицензия идеи распространяется на всё, что в идее сделали лол.
1. Асинхронный send
2. Поддержка backpressure в receive?
Везде какое-то блокирующее говно и очереди.
Неужели только брать akka-http и Скалу?
Не будь ламером
https://spring.io/guides/gs/serving-web-content/
Создаешь maven проект и делаешь по инструкции
Там кстати в хтмл-файлике в адресе сайта Thymeleaf http поменяй на https, а то ошибка будет. Ну и тупые, не могут исправить гайд до сих пор.
Трогает - не работай.
Лицензия осталась, идеи закончились.
Правильно.
Вы коенчно извините, но у вас либо криокапсула протекла - сейчас не 1762-й, либо проблемы с психикой и большая задержка развития. Какие jsp, какие сервлеты, у вас электричество есть хоть? на машинке катались когда-ниубдь, не на лошади, телега - то же то, там такая повозка должна быть самоходная (первое время не пугайтесь, выглядит чудно).
Глядите, зануду порвало
Но это канал двачера, он наш.
Перекатывайся на джаву 1.5
>@WebServlet("/")
>protected void doGet
>writer.println(request.getPathInfo());
@
>localhost:8081/asdasd/qweqwd
>null
Почему так, анон? Или я чего-то не понимаю в getPathInfo?
Почему внутри класса метод forDouble нормально компилируется, но при этом из другого класса нельзя вызвать конструктор
new NumberStringConverter(Double::valueOf)
?
Мвахахаха, бля вот ты рофлишь, охуенное чувство юмора, чувствуется интеллект мощный сразу, респектос тебе, бро. п.с. как остановить смех, сука блядь, содомит.
Нет и не нужно.
вакансии смотри, какие технологии там пишут то и учи.
Типичная хуйня:
Spring 4;
JPA / Hibernate / JDBC;
RESTful WS / SOAP;
Apache Tomcat / JBoss WildFly;
MySQL / MS SQL / Oracle / MongoDB.
(это из вакансии в epam в моем мухосранске) слеш - что то из этого, не обязательно все.
На самом деле я сам сейчас сижу пержу и думаю как вкатиться, на торрентах нашелся курс udacity java developer nanodegree, курю его, вроде норм..
Любой небольшой проект, полезность которого не принципиальна: форум, социальная сеть, чатик, интернет-магазин, простой клон jira или википедии.
На jsp далеко не уедешь, через некоторое время посмотри в сторону шаблонизаторов, например, thymeleaf или freemarker.
Если выбираешь БД, про MySQL думать забудь, сразу бери postgres или oracle.
сам нашол
Есть мнение, что ораклы же и ступорят её разработку. Хз, зачем, да и кому это интересно, если на рынке он не так востребован.
Я эту хуиту версии 5.7 не смог с компа удалить, она с муськ installer'ом при ремуве писала failed, пришлось мокрописечки Revo Uninstaller скачивать, чтобы вычистить это говно с диска и реестра.
Поставил postgres.
Не помню, внизу вкладка Spring.
Меня эта хуйня когда-то заебала каждый день ровно в полночь показывать на несколько секунд консольку, в которой что-то было про обновление. Снёс нахуй.
Class diagram это зовётся.
Да, но в чистом виде их нехорошо юзать, это почти как в других языках юзать голый cgi вместо фреймворков.
Но ведь нужны, раз в Go 2 их запилят.
Там вебсокеты сильно обрезаны. Например, если какая-нибудь авторизация была, фиг ты это сделаешь это без костылей. Я бы вообще вебсокет-часть написал бы на NodeJS + Typescript + NestJS каком-нибудь.
нужна была*
>вебсокеты сильно обрезаны
>Асинхронный send
>Поддержка backpressure в receive
Тут какое-то соревнование пр по конченности тредов?
>Тензорный петух
Проиграл с клички. Это кто?
>Тут вообще есть челики с говнокод.ру ?
Сидел там когда-то, но надоело.
Возможно, смотри в крупных фирмах, хватает такого. Но это как повезёт, могут перекинуть потом на древний проект, посчитав новый "завершённым" или ненужным.
Потому что я буду рад даже 1996 г. легаси-вакансии. Я лох.
казалось бы индусская хуйня, но ведь с ее помощью можно использовать switch вместо кучи if
Это не заебись, но чуваку не хватает свитча по классам,
Поэтому пиши чем свитч по
MyYoba.class отличается от свитча по имени класса.
Замыкания какие-нибудь, где ты просто сам пишешь аргументы и отдаваемое значение.
Ты про лямбды? Если что, еще с 8 версии так можно.
button.setOnAction(event -> System.out.println("The button has been clicked!"));
Типо того, но проблема в том, что зачем-то награмоздили для лямбд дофига Functional Interfaces, ежели не отдать это на ответственность того, кто пишет код.
Как связаны джава и мультипарадигменность?
А вот, если с точки зрения ООП, например, если у меня есть класс, назовем его пенис-сервер с методом run, реализация которого определит, будет ли это Client или Server.
Тогда я вижу два варианта:
- Сделать этот пенис-сервер абстрактным классом, а потом сделать два класса-потомка клиента и сервера, которые будут опеределять виртуальный метод run.
- Сделать простой класс PenisServer, у которого метод run будет являться определяемым. Тогда будет
PenisServer client = new PenisServer(server -> ...);
PenisServer server = new PenisServer(server -> ...);
Что из этого предпочтительнее? Что-то подсказывает мне, что гораздо логичнее первый вариант. Хотя второй тоже вроде ничего такой.
Справедливо сказано.
Я учу его по мемам.
В жопу awt.
>Тайпскрипте
Это там, где тьюринг-полный язык программирования в декларации типов? Объясните что такое тьюринг-полный, а то я дебилом себя чувствую
Это когда ты можешь написать компилятор для самого себя.
При запуске приложения на спринге выпадает такой эксепшн. На работу приложения не влияет, в базу все исправно пишется, но он мне не дает покоя.
Я, конечно, понимаю принцип "работает - не трожь", но это как пятно грязи на новом пиджаке, думаю вы меня поняли.
Лучше в статически типизированном языке быть не может. Спасибо, что хоть это есть.
Я нашел. Это обычное исключение при юзании JPA и PostgreSQL, из-за того, что в JDBC драйвере нет реализации createClob()
В property надо поставить:
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL9Dialect
https://www.mkyong.com
Случилось так что мне нужно написать микросервис по обновлению заявок. В самом языке разобрался довольно быстро, работа с RabbitMQ и json даже доставила удовольствие, а вот с парсингом сраного XML я до сих пор рву на жопе волосы. Для json есть замечательная либа org.json:json, которой я пользуюсь и бед не знаю, getString, optJSONObject, хуяк хуяк и проблем не знаю, а тут, сука, интеграция с 1С 7.7, блядь, которая в json не умеет, только в XML, да и то кривой.
Щас делаю парсинг через инструменты org.w3c.dom, но выходит какое-то сраное говно, чтобы вытащить одно значение тега надо написать две-три строчки (а в целевом объекте их больше пятидесяти), проверить тип, проверить на null кучу хуйни и т.п. и от этого у меня горит. Есть ли годные инструменты по работе с xml где тупо можно загрузить его строкой по аналогии с JSONObject и так-же по аналогии с ним тягать с него параметры, каким-то аналогом getString и optBoolean, без ебли с getElementsByTagName и подобного?
Я вроде нашел хуйню, вроде как охуенную, но надо проверить
String xml = "xml";
JSONObject object = XML.toJSONObject(xml);
У org.json оказывается есть класс org.json.XML и им можно парсить xml в jsonobject. Посмотрим как оно заработает
СЛИШКАМСЛОЖНА!
не просто по гуглу, а по подсказам из гуглопоиска!
ты заебал свои глупые ошибки сюда тащить
кроме того, ты заебал генерить схему БД из кода
жалаю тебе заебаться самому и перестать заниматься этой хуйней.
падажжи, ты не смог в гугле набрать java xml parsing?
ты никогда не слышал про SAX, Xerces и jackson?
может, тебе перестать ебать себе мозги и перекатиться в яваскрипт?
Ну, издание поновее можно найти.
Следующий твой вопрос будет: зачем из джавы в БД лезть, если можно все в файлике хранить?
Даже не глядя пристально на код, сразу видно, что говно:
1. Спринг. НА ХУЯ?
2. Сколько явадока у паблик методов? Правильно, 0.
3. Лобмок, блядь.
Кто, по-твоему, станет копаться в этом говне?
В первом классе находится визуал на уровне Swing и ActionListener и переменная int nextWindow = 0;
В ActionPerfomed есть счетчик который устанавливает значение nextWindow при нажатии определенных клавиш на экране.
Во втором классе я пытаюсь вызвать nextWindow.
Но значение этого nextWindow всегда = 0.
а мне нужно знать установленное значение из первого класса
как починить?
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
public class Main {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(8080);
System.err.println("Server started");
while (true) {
try (Socket client = server.accept()) {
System.err.println("New connection from " + client.getInetAddress());
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
while (true) {
String line = reader.readLine();
if (line == null || line.trim().isEmpty()) {
break;
}
System.out.println(line);
}
String response = "HTTP/1.1 200 OK\n\n" + new Date();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
writer.write(response);
writer.flush();
}
}
}
}
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
public class Main {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(8080);
System.err.println("Server started");
while (true) {
try (Socket client = server.accept()) {
System.err.println("New connection from " + client.getInetAddress());
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
while (true) {
String line = reader.readLine();
if (line == null || line.trim().isEmpty()) {
break;
}
System.out.println(line);
}
String response = "HTTP/1.1 200 OK\n\n" + new Date();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
writer.write(response);
writer.flush();
}
}
}
}
Ахахахахаха
Принес говно на "код ревью", был послан на хуй, теперь срет ртом, обзывая всех долбоебами.
Ну, земля пухом, братишка
Тебе уже в прошлых тредах провели шершавым по губам, луддит. Еще захотелось? Ты моментально палишься по агру на ломбок.
>пацаны, сделайте мне код ревью
>ррряяяяя, вы долбоебы, вам шершавым по губам водят
>я самый умный, а вы мудаки
Ты получаешь особый кайф, принося говно на двач и получая мочи в рот?
Если нет, то ты особо одаренный - другой бы на твоем месте уже задумался, почему вся реакция на "пацаны, сделайте мне код ревью" заключается в "да иди ты на хуй, школьник"
Ты высрал всю эту шизофазию вместо того, чтобы привести куски кода?
В мавен не знаю, но можно в его бин заимплементить и через аоп подсунуть в джарник.
public class MAIN_MENU implements ActionListener{
public int nextWindow = 0;
public void init(){
button1.addActionListener(this);
public void actionPerformed(ActionEvent e) {
Object scr = e.getSource();
if (scr == button1){
frame.setVisible(false);;
frame.setEnabled(false);
nextWindow = 1;
}
}
}
public class Starter {
public static void main(String[] args) {
// TODO Auto-generated method stub
MAIN_MENU start1 = new MAIN_MENU();
start1.init();
System.out.println(start1.nextWindow); //показывает 0
}
}
Каждый раз когда кнопка жмется в классе MAIN_MENU, переменной nextWindow присваивается опрееленное значение.
Когда я пытаюсь вызвать переменную nextWindow в новом классе, ее значение ВСЕГДА равно нулю. А мне нужно наоборот, получать уже конечное значение. Хелп
Судя по количеству желающих сделать тебе "код ревью", я тут и вовсе один, кроме тебя.
у тебя actionPerformed внутри init?
но это-то ладно.
судя по твоему коду, принтлн ты делаешь незамедлительно после инита.
а не после того, как кнопка нажата
С ActionPerfomed я просто опечатался с закрывающей скобкой
Принтлн делаю после инита, но если принтлн засунуть в ActionListener, значение выдаст корректное.
Но вот как сделать, чтобы получить это значение конкретно во втором классе?
у тебя значение nextWindow меняется только по нажатию кнопки, второй класс получает 0 до того как ты его изменишь нажатием
А как можно обыграть этот момент? чтобы второй класс получил уже измененное значение?
Я уже весь гугл перегуглил:(
Сложноватая тема конечно, но попробую разобраться, спасибо
Проблема не в том, что ты не знаешь, как это запрограммировать.
Проблема в том, что ты не понимаешь, чего ты хочешь.
Когда, зачем и почему второму классу надо что-то знать?
Что он в этот момент будет делать с этой информацией?
Прежде чем что-то кодить, разрисуй на бумажке, что у тебя как будет переходить, раз в голове не можешь это представить. Нет в этом ничего зазорного.
Когда поймешь сам, чего ты хочешь, расскажи нам. Тогда мы задумаемся, как тебе этого достичь.
Пока что ел выглядит как нечто невнятное с не совсем понятным применением.
Почему?
В ДСе не находил еще, но может я не знаю, где искать.
Ну это как обратное синхронности, бля
И что мне это должно говорить?
Ну так для любого серьёзного расширения даже того же юнити уже плюсы нужны будут. А просто рейтрейсер ради ретрейсера на унылой джаве — хз.
DUSK?
В /gd/ делают говно, а не игры, ежжи.
Смотри не документацию, а исходный код.
>А просто рейтрейсер ради ретрейсера
А что такого? Это универсальные знания, алгоритм-то не меняется. Заодно и JavaFX подтянул, теперь уже уверено могу говорить, что знаю эту технологию. А вот кому она нахуй нужна это действительно вопрос.
Ты крут, чувак.
Желаю, чтоб тебя взяли на работу ЖидБрейнс, где ты будешь делать красивые окошки с ртх для ИДЕИ. Правда, там на свинг придется пересесть, а джавафуфыкс выкинули из 11 jdk
ORGasm
На уровне языка до рантайма - никаким.
В рантайме кидает КлассКастЭксепшен.
Но если ты научишься читать явадок, то увидишь, что контракт этого метода обязывает (must) тебя иметь все объекты в массиве реализующими Comparable:
public static void sort(Object[] a)
Sorts the specified array of objects into ascending order, according to the natural ordering of its elements. All elements in the array must implement the Comparable interface. Furthermore, all elements in the array must be mutually comparable (that is, e1.compareTo(e2) must not throw a ClassCastException for any elements e1 and e2 in the array).
> который по запросу на какой-то url отдает какой-то json
Spring RestController
> сервер с одной единственной html-страницей
Это называется SPA.
И это будет что-то вроде самодельного веб-сервера. Можешь тогда и html-страницу свою точно так же в сокет писать.
Вот я и думаю, в каком месте лучше создавать html страницу, которая генерится через javascript.
Бамп вопросу.
Через javacript что-то генерится будет уже в браузере, а сначала тебе нужно отдать сам этот статичный javascript и html. Они у тебя будут просто лежать в файловой системе, и если ты такой дохуя велосипедостроитель, что собрался без http-сервера сам все писать в сокет, то и отдать браузеру эти ресурсы тоже можешь сам через сокет.
>>сказать "смотрите, как я умею, долбоебы"
>ррряяя, утибягарит
Очевидно, что сказано все, как есть, попадание в яблочко
Продолжай надрачивать
Можешь познакомиться, но стоит ли? В проде насколько я знаю особо их не любят
Сначала ты.
Банк, ты?
Spring.io/guides
Ну и чем же теперь интерфейс отличается от абстрактного класса? Подумай об этом перед сном.
В абстрактном классе можно переменные как class members делать, а в интерфейсе только final константы.
Ещё у абстрактного класса могут быть конструкторы (которые всё равно напрямую не вызвать).
Звучит-то логично, но на собесе многие об этом забывают.
Совет на 80% верный, но увы иногда IDE тупит, у меня в большом проекте тупо импорты подчеркиваются красным в одном из модулей, но при этом всем все собирается и работает.
Мне кажется его жс там вытеснил, лол. Но может не везде.
Там очень сложный грейдл билд и вообще андроидовская кухня, не поможет :)
Спасибо за ответ, но я все равно не понимаю, как "яскозал" автора дока влияет на обязательство на уровне компилятора, ну или чего-то там?
Ну либо компилятор реализует спецификацию, в которой написано, что должно быть именно так и никак иначе, и компилятор имеет право называться компилятором Java, либо нет, соответственно, не имеет (а если всё же назовётся, то юристы Oracle выебут автора компилятора в жопу).
Понятно. Наверное.
Блин, я тебе про компилятор написал - никак этот метод не требует Компарабла на уровне компилятора. Хули там непонятно, если в сигнатуре Object[], а не Comparable[]?
>"яскозал" автора дока
Ты, похоже, не понимаешь, кто, как и зачем пишет явадок. Разберись с этим.
Если ты хочешь сказать, что этот метод говеный, потому что у него параметр не того типа, то да. Можно было бы получше сделать, чтобы не объебаться еще во время компиляции.
Но в стандартной либе есть такие места, смирись.
Стоит. Применяется в следующих местах:
1. Аннотация @PreAuthorize (Spring Security)
2. Аннотация @Query (Spring Data)
3. Иногда применяется в yml- и properties-конфигах
4. Если у тебя "классическое" MVC-приложение с шаблонизатором (например Thymeleaf), то там SpEL будет применяться постоянно.
Открыл веб хмл, а там одному сервлету (менеджерсервлет) прописанно 100 мапингов.
Юрл паттерн
Юрл паттерн
И так далее.
И идея ругается, no child element is expected. Гугл не помогает, это относительно свежий бест от сеньера, че делать ?
Там все построенно таким образом, что отдельно каждый сервлет не отработаешь в хмле.
Понимаю, что не дал никакой инфы и написал хуйню, но мне полегчало
Ты программист - разбирайся (с) препод в шараге
Нужно вхерачить очередь, которая в отдельном треде будет подбирать сообщения и делать всякую хуйню.
Какой самый простой легковесный ход?
Всякие ActiveMQ/RabbitMQ не годятся в силу тяжеловесности - повторяю, фактически мне нужен просто отдельный тред, который будет получать сообщения только из того приложения, в котором сам и запущен, мне не нужен никакой маршаллинг и прочая хуерга.
Можно, конечно, написать самому, но неужели нет готового?
Да можно, конечно.
Но я имею в виду несколько более навороченную функциональность:
клиент только кидает некоторый объект, подлежащий обработке, когда будет такая возможность, а этот самый тред сам разбирает, есть ли у него свободный тред в пуле, и т. д.
т.е., повторяю, конечно, можно написать это самому. Но сильно подозреваю, что кто-то это уже написал, отладил и выпустил пару новых версий до меня.
Понял, спасибо.
>Есть бэкенд на Спринге.
>простой легковесный
Чувак, у тебя самый тяжеловесный фреймворк, ЭТО не спасти.
Это как спросить:
Есть запивон в виде стекломывателя и крокодил как аперитив.
Нужно к нему максимально здоровую закуску, жареную картошку не хочу, она вредная.
мимо начинающий джавист
Заметь, я не спрашивал авторитетных мнений про спринг, про то, что я делаю не так, и пр.
Я задал конкретный вопрос. Если тебе нечего на него ответить, самое лучшее - промолчать.
Спасибо добрый человек. Под Java Core имеется ввиду как я понял из впитанной пока информации, основы ООП, полиморфизм, инкапсуляция, наследование, циклы, массивы, вся простая логика, типы переменных (их возможные значения и занимаемое место в памяти ?) инкременты, декременты итд ? Сейчас читаю Кэти Сьерра и Берт Бейтс - Изучаем Java, всё понятно объясняется. Ещё такой вопрос, есть ли смысл чередовать книгу и практические видео по написанию какого-то небольшого проекта, для понимания уже на практике ? А также искал ресурсы где можно задачки разного уровня с кодом порешать. Заранее премного благодарен.
Ссылка в оппосте
Ок. Ответ по существу: смотри видео! И побольше! В видео вся сила.
Не стать программистом на яве, пока не пересмотришь пол-ютуба.
Пиздец, блядь. И потом вот эта плесень приползает на собеседования, хочет зарплату получать.
Не подумал про него, потому что рассматривал только как планировщик по времени/интервалу.
Развей свою мысль, пжлста.
ScheduledFuture scheduleWithFixedDelay(Runnable task, long delay);
с задержкой в 0?
Или я тебя не понял?
>очередь, которая в отдельном треде будет подбирать сообщения
Смотря где и как ты хочешь отправлять сообщения.
В уроке про ArrayList<>
"я здесь не прописываю слово int, а я здесь полноценно прописываю слово Integer... Надо полные слова прописывать"
Ну либо очевидный вариант, который ты, скорее всего, по какой-то причине уже откинул.
https://spring.io/guides/gs/messaging-jms/
Все правильно говорит. Понапишут всяких int x = 0, а синьоры потом голову ломают.
JMS откинул из-за того, что брокеры-хуекеры. А у меня все локально, мне не нужен оверхед безумный.
>>07463
>Смотря где и как ты хочешь отправлять сообщения.
Фактически по некоторому юзерскому вводу мне надо будет делать нехитрые фоновые задачки, которые
1. никто особо не увидит
2. не очень страшно, если даже и не сделаются, хотя было бы обидно.
Так что обработчики действий пользователя будут кидать некоторые данные в очередь. Ну, или данные, обернутые сразу в Runnable. Или данные сложу в коллекцию, а в Раннабл оберну обработчик коллекции, это дело десятое.
Думаю, что я понял твою идею правильно, спасибо. Хер знает, почему я не смотрел внимательно на Scheduler-ы.
ну ты спрсоил странный вопрос и получил такой же ответ, спринг и легквестность - это режет глаз, пиздец как. возьми встраемую очередь и сунь её себе куда-нибудь в отдельный тредпул, например Apache Qpid. Из лёгкого можещь просто рядом поднять redis и использовать простую очередь из него.
p.s.
рэбит куда легче чем любое спринговые поделие, относительно спринга он нифига не тяжеловесный.
Я не знаю, почему
а. ты не умеешь читать
б. тебе обязательно надо донести до кого-нибудь свое авторитетное мнение
я, блядь, написал русским язком - мне не нужна вся эта обвязка на протколы сообщений.
У меня все в одной вм.
мне надо, блядь, что-нибудь типа
SingleThreadedMessageQueue q = new SingleThreadedMessageQueue();
и время от времени
q.addMessage(SomeSimpleMessage huy);
Нет, блядь, я ща буду ставить MQ, а поверх него еще qpid накатывать.
Чтобы из одного треда в другой в очередь сложить объектик.
Охуеть, давай еще высри, как ты не любишь спринг.
Всем очень важны твои с ним проблемы.
Определи "сильно".
Глядя глазами на код, ты сразу понимаешь, что здесь у тебя паблик геттеры такие-то?
А ИДЕ твоя перейдет в этот геттер из места вызова? Или тебе сперва еще и на ИДЕ надо накатить ломбок-плагин?
и, главное, в чем выгода использования?
без ломбока ты все это руками, что ли, писал, а не двумя кликами в ИДЕ "сгенерируй вот это"?
Ну как ctrl+Q на обычной джаве.
Пробовал maven-зависимость подключить, выдает ошибку.
Не забудь на патреоне им денег забашлять.
Постоянно юзаю @Data, @Builder, @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor, @Slf4j
>Глядя глазами на код, ты сразу понимаешь, что здесь у тебя паблик геттеры такие-то?
На код с ломбоком да, с обычными геттерами нет. Они могут быть где-то в жопе класса, а могу и не быть. С аннотациями же сразу видно, где есть геттеры-сеттеры, а где нет.
>без ломбока ты все это руками, что ли, писал
Получение логгера писалось бы руками, да.
Это другое!
А что не на все вопросы ответил?
Проблема ломбока в том, что в нем есть штуки, которые слабо могут навредить (получение логгера, например), но 99% ленивых пользователей будут использовать все и не задумываясь.
А потом жевать сопли "это не я, это ломбок мне не так сгенерил, я не виноват". Я, в принципе, это про любую библиотеку регулярно слышу, но здесь я вижу в красках потенциальный пиздец.
Например, только по одной этой причине я не допускаю ломбок в проекты, которые я веду.
Ахахахаха.
Не пришлось долго ждать подтверждения слов о "не задумываясь".
@Data, например
мне тут даже свои слова писать не надо, все уже сказано до нас:
Equals and hashcode plus setter for all mutable fields. What can possibly go wrong. And worse: people who use that annotation don’t care.
>Не вижу ответа на вопрос.
Да я и не нанимался тут преподавать.
Можете писать свой очень прекрасный код с весьма очень чудесными аннотациями и в хуй не дуть. Я слезы оставлю на потом.
Единственный случай, когда у меня были проблемы с @Data, это когда у меня классы имели циклическую зависимость друг от друга (bi-directional связь) и equals с hashCode кидали StackOverflow, потому что такой случай Ломбоком не отслеживается. Пришлось тогда самому переопределять эти методы. Но такие ситуации — большая редкость.
Заметь, что эту хуйню:
>ломбок говно
ты высрал сам. Я таких слов не писал.
Ну и славно. Я рад, что ты что-то такое начал подозревать
А, все это время ты пытался спорить с аноном, который обозвал твою любимую игрушку парашей.
Но зачем-то свои слезки лил в мою жилетку.
Ну, ок. В принципе, я про это и говорил: 99% юзеров ломбока имбецилы. Которым все по хую.
Ну и да, с какими-нибудь lazy-коллекциями из Hibernate тоже стоит быть осторожными.
Ситуация, когда "программист" не думает, что он делает - постоянное явление.
"А, да давайте хуйнем одним словом из пяти букв функциональность 5-ти аннотаций НА ВСЕ"
Действительно, хули и нет.
Смешно, что именно ломбок вызывает жопную боль у своих апологетов.
Не примпомню ни одной другой библиотеки/фреймворка, за которую уебки готовы были бы свою мать порвать
А хули нет? Единственное, о чем, стоит беспокоиться, это циклические зависимости и ленивые поля, обращение к которым может привести к ненужным запросам к БД. А на DTO-классы вообще можно без всяких опасений хуярить @Data, потому что там циклические связи это большая редкость, ну а ленивых полей понятное дело нет.
Никуда они не делись. В браузере, конечно, сделать интерфейс проще и быстрее, но и по сей день разрабатываются нативные клиенты хоть на свинге, хоть вообще на крестах.
Скиньте плз ссылку на какой-нибудь проект поразбираться.
Очередной мой пост категории "помогите новичку"
Вот кусок кода
class Helpme{
JFrame frame;
JButton button;
void Helpme(){
frame = new JFrame();
botton = new JButton();
//дальше происходят всякие разные действия, но не суть
}
}
Как мне сделать так, чтобы при нажатии на кнопку (ActionListener присутствует) мой фрейм полностью закрывался?
Я пробовал через frame.setVisible(false), но я так понимаю,что он просто становится невидимым, но не перестает работать и нагружает систему. Или я не прав?
Спасибо незнакомец, не злись на мою неознакомлённость
В комментах уже все пояснили. Пошел нахуй.
Явистам можно сидеть и нихуя не делать, или приходится дохера въябывать?
По-разному бывает. В крупных компаниях часто могут нанять больше кодеров, чем нужно, и они не особо загружены. Никто никуда не торопится, пишут код потихоньку. Бывает и наоборот.
Алсо, вопрос не из самых умных, но если я выучу спринг, то мне работать только в вебе? И можете написать какой нибудь реальный пример работы в интерпрайзе, а то у меня лишь абстракции уровня "компания имеет свои приложения - ты обслуживаешь эти приложения".
Прям задрачивать алгоритмы/структуры данных смысла нет, нужно знать в общих чертах. Хватит краткого курса, но чтобы с пониманием. Вообще, знание некритично, но порой помогает.
Энтерпрайз - это не обязательно веб, но смежно с ним. Вот пример: сидит тётенька в Почте России и вбивает данные по отправлениям в какой-то программе. Таких тётек много, они могут сидеть в каком-нибудь сортировочном центре или ещё какой-нибудь почтовой хуйне, и у них всех разные роли и разный доступный функционал. Постоянно туда-сюда гоняются данные, что-нибудь пересылается в другие системы, что-то логгируется. Ну или подобная хрень в сети магазинов. Или в банках. Или даже банальный внутренный документооборот может быть сделан как-то так. Это всё энтерпрайз.
Ну а работа - это поддерживать весь этот софт.
Отличается.
Даже если ты просто поменяешь джары с 3-го на 5-й, у тебя половина проекта посыпется - хмл-ные конфиги, и до хера чего еще.
Поддержка всяких сторонних фигней типа хибернейта и прочего тоже отличается (как минимум поддерживаемыми версиями).
Можешь прочитать по диагонали - все основные концепции никуда не делись. Но детали реализации надо смотреть на той версии, которую будешь использовать.
Не, эти объебосы не воспримут.
Потому что ни дня не работали в коллективе, а если и работали, то на такой должности, которая не предполагает ответственности хоть за что-нибудь.
Ни один никогда не писал проектных решений, в которых бы обосновывал выбор платформы, архитектуры и применяемых библиотек.
Есть небольшой шанс, что с возрастом они поумнеют.
Но сейчас любые аргументы приводят только к подрыву их жоп.
Признаюсь, мне непонятно, откуда в них столько болезненного стремления, обливаясь кровавым поносом, отстаивать перед анонами на дваче необходимость в их лабах непременного использования того говна, которое они используют.
Да и хуй с ними, честно говоря.
Блять, я просто тупой. Оказывается тут спринг 5, а 3 - это номер страницы
>гайдов с ютуба
Интересно, каким возрастом ограничивается плесень, изучающая программирование по видосикам?
Опять выходишь на связь? Изучаю я программирование по книгам. А вопрос я задал с целью понять, на каком уровне желательно владеть данными технологиями. Если для запила простейшего ГУИ, то зачем для этого читать целую книгу, вместо просмотра пятиминутного ролика? Или я не прав?
Благодарю.
ты же просил совета, тебе дали дельный совет - спринг говно (как и JVM, кстати), удивительно, что ты не в курсе до сих пор.
Мне кажется js angular/react/vue лишним не будет.
На джаве столько написано, что она будет жить ещё лет 50. Сраный кобол ещё жив, а ведь его расцвет пришёлся на семидесятые. Т.е., конечно, джавист через 50 лет будет выглядеть как живое ископаемое, но работа для любителей таких оладий ещё будет.
Да, все течет, все меняется. JS тоже возможно не будет через 50 лет, не нужно бояться вкатываться.
Прав, прав, конечно.
Смотри ролики.
Пока ты смотришь ролики, ты не говнокодишь.
Это всем только на пользу.
Ссылочек на ютуб дать, чтобы ты не заскучал?
Спасибо большое.
Мне всегда очень важно мнение каждого умственно отсталого хуесоса, который не умеет читать, зато не может удержать свое охуенно важное мнение при себе.
Плевать, что это мнение никого больше не ебет, и не относится ни к одной из обсуждаемых вокруг тем.
Спасибо, анончик, ты меня очень выручил.
Ты че ко мне приебался?
Какой же ты дебеч
Чо спрашивали?
У тебя перерыв между роликами на ютубе?
Ну, ничего, отдохни. Напиши сюда.
Потому что, пока ты срешь здесь, ты не говнокодишь.
А это только всем на пользу.
Нет. Все большие пацаны так и делают. Сервлеты - для зумеров.
Что скажете об этом проекте? Стоит внимания для практики знаний? Или есть лучше?
Да блядь, возьми ты уже Spring Boot + Spring MVC и по-быстрому нахуярь на нём. Намного быстрее и проще выйдет, чем ебаться с низкоуровневой поеботой. Либо же возьми Go или Node.js, на них простой сервер можно поднять прямо из коробки и без еботни.
Если это очередная браузерная обучалка, то так себе. Чтобы прокачаться хотя бы до джуна, нужно ковыряться в реальном IDE с реальной консолью и реальными фреймворками. Для того, чтобы руку набить на синтаксис и алгоритмы, есть codility, hackerrank и иже с ними. Хотя JetBrains же говна не делают, надо глянуть...
Алсо, использование классов из sun.+ и com.sun.+ считается плохой практикой, потому что это внутренние классы jdk, которые не предназначены для использования извне, а следовательно их могут в любой момент и без предупреждение убрать/изменить контракт.
>Либо же возьми Go или Node.js, на них простой сервер можно поднять прямо из коробки и без еботни.
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
server.createContext("/test", httpExchange -> {...});
server.start();
Это по-твоему еботня?
>>08556
Вот это уже аргумент. В 9 джаве еще не все классы оттуда спрятали?
У нас всегда есть исходники этих методов.
Если что, добавим букву в пэкедж и будем держать отдельным СВОИМ джаром.
У меня такая херня была в легаси - какой-то внутренний класс обработки символов/строк использовался.
Ну, с переходом на более современную ждк, естественно, все накрылось медным тазом.
Ну и хули там? Перетащили исходники, да и дело с концом.
Но, конечно, ты прав. Если есть возможность не использовать, надо не использовать.
>уже
И полвека не прошло.
А теперь скажи зачем бизнесу лезть в технологию которая только появилась под линукс? Зачем переписывать старое? Зачем менять хорошую технологию с который знаком каждый индус на то что модно среди школьников? Разница,а уж тем более весомые преимущества есть только в головах каникуляторов
промисы
Никто не заставляет читать исходники перед использованием. А есть ли проприетарный аналог vim или emacs?
Ты мой кумир!
"Говнокодер моет свой ломбок"
Говнокодер, почему ты всегда так бомбишь?
Ведь у тебя такие чудесные средства разработки!
Они же делают твою жизнь легкой и прекрасной.
А ты сидишь на двачах, огрызаешься и посылаешь всех на хуй.
Как так?
Кстати, разберитесь с шизоидами модерами - меня забанили за единственный пост с вопросом в треде по плюсам. Где можно обжаловать бан?
Я понимаю что это файлы враппера, вопросы следующие:
1. Это теперь по дефолту в Spring Boot проектах лежит? Так и надо?
2. Игнорить ли эти файлы при заливе на GitHub? Вдруг меня прогеры из компании обосрут, как бывает когда не игнорят .idea (дефолтный тест на дауна, .idea в гите - минус мать).
пиздец, как вообщем можно пользоваться ломбоком. сделаи вам скалу - не, не надо, хочу говно жрать. сделали котлин - не, не надо, хочу говно жрать.
Тут еще и какой-то ServletInitializer лежит. шо блять с бутом сделали, раньше создаешь и получаешь чистый ухоженный проект, а сейчас навалили какого-то говна. В пезду, лучше руками создам как раньше.
>так а шо это нам магическая приблуда нагенерила?)
>чооо хз ничо не понятно
>а че с этим делать?)
>хз нипонимаю, спрошу на двачи)
Сразу видно - сеньор.
Тим лид со стажем 10 лет даже не джун
А так да, претензия верна, я не понимаю нахер оно мне надо, раньше все и так отлично работало, стоило пол года не трогать Spring Initializr как туда напихали непонятно чего.
Пойду матчасть учить.
К сожалению возникла частая ситуация, когда из-за нехватки опыта я не могу понять правильно ли я делаю.
Собственно сама просьба я опишу вам алгоритм взаимодействия классов в своих проектиках, а вы скажите, все ли так как нужно или где-то я делаю так, как не принято.
Я всегда делаю как на пикриле, то есть в контроллере в метод на определенный маппинг приходит запрос, контроллер дёргает метод в сервисе, а сервис в свою очередь дёргает репозиторий, данный из репозитория идут в сервис, а из него в контроллер, если данные пришли в контроллер, то возвращается ResponseEntity с данными, если нет, то выбрасывается исключение.
Этот подход я использую для того, чтобы разграничить доступ к данным. Мне кажется неправильным когда контроллер напрямую обращается к репозиторию без промежуточного слоя. Я прав?
Следующий вопрос про DTO. Я стараюсь чаще использовать их, так как не хочу чтобы на клиента возвращался непосредственно сам объект этого клиента (Пример, если личный кабинет пользователя - класс Client.java и в нем могут быть какие-либо служебные данные, например ID клиента в системе, который мы не хотим показывать самому клиенту, поэтому создается ClientDTO.java в котором есть только те поля, которые должен видеть клиент. Всё так или я заблуждаюсь?
Замечаю что во многих уроках в интернетах вообще не используют DTO, да и на недавней стажировке ментор сказал не юзать DTO потому что не видит ничего страшного в отдаче клиенту модели с его инфой. Может это тон такой, или сейчас не модно юзать DTO?
Не используют их для упрощения уроков. Передавать модель надо осторожно, а то как-нибудь заодно передашь список хешей пользовательских паролей, и всё, пиздец. Проще не ебать себе мозг и использовать два разных класса всегда.
Да, я так и думал. Спасибо.
1. не вижу, что мешает контроллеру напрямую лезть в репо, если репо реализует напрямую то, что надо
2. ДТО не используют из лени, в основном. Помимо того, что ДТО обеспечивает тебе больший контроль, ДТО быстрее чем Энтити-объекты, потому что ЖПА не надо их менеджить. В мелких проектах не играет, в больших может.
Я думаю это для тех, у кого нет auto-import в IDE.
Попробуй удалить, я вручную создавал спринг-проект с одним только pom'ником.
Почему domain, а не model?
Да, так и должно быть.
Нет, не нужно добавлять их в gitignore. Эта хуйня нужна для того, чтобы люди, у которых не установлен глобально maven, всё равно могли скомпилить и запустить проект.
Spring Initializr искаропки дает кошерный гитигнор, где все прописано.
Нет.
Что значит, использовать?
Программировать и компилячить никто тебе не возбраняет.
А вот крутить на этом деле приложения - уже другое дело.
есть же опен ждк на опен ж9
Сам хуй.
Потому что не так тормозит как пистон, руби, но при этом не так сложно как соси++.
За все нужно платить.
Вроде раньше это было просто веб-приложение типа spring initializr. А теперь хипстерская хуита с npm пакетами. Даже пробовать не охота.
Hell, yes, sir!
Если скомпилировать программу в запускаемый .jar и запустить через иконку - то окно почему то место заявленных 1600х720 раздувает где то в раза полтора. Если запускать через cmd java -jar game.jar - окно нормальных размеров как указано в программе. Попробовал на другом компьютере - не зависимо от способа запуска фрейм зумится. Я попробовал убрать масштабирование Windows до 100% процентов - стало всё нормально. Как заставить её запускаться игнорируя масштаб Windows? И почему на одной машине способ запуская влияет на размер окна, а на другой - нет?
2. Но это ещё не всё. Самое весёлое вот: мне нужно отображать текст из .txt файла по середине фрейма зависимо от размера строки и размера фрейма, и тут опять же - если программа запустилась из IDE или через cmd то всё нормально - если нет то текст начинает съезжать из за того что размер первой строки почему то перестаёт правильно считаться.
Это функция по которой я текст рисую: https://pastebin.com/SwAzHgKT
Вот именно здесь .stringWidth(firstLine) почему то начинает не правильно читаться
getWidth() / 2 - g.getFontMetrics(gameFont).stringWidth(firstLine) / 2
1 картинка - как не правильно
2 - как правильно
На 1 проблему мне по сути похуй, главное чтоб 2 решилась.
Вообще ни разу к вам не заходил, а тут такое что решил заглянуть.
Скриншотил с рабочим столом для большей наглядности
Вообще кароче я в жаражку свою побежал, надеюсь вы меня направите не нахуй, а подскажите решение
>1 картинка - как не правильно
>2 - как правильно
Я перепутал всё наоборот, где окно большое и текст съехал - так не должно быть
а вообще для игор лучше какой-нибудь libGDX использовать, там есть классы для отрисовки простого UI
Да
com.hazelcast.instance.HazelcastInstanceFactory.null Hazelcast is starting
in a Java modular environment (Java 9 and newer) but without proper access to required Java packages. Use
additional Java arguments to provide Hazelcast access to Java internal API. The internal API access is used
to get the best performance results. Arguments to be used:
--add-modules java.se
--add-exports java.base/jdk.internal.ref=ALL-UNNAMED
--add-opens java.base/java.lang=ALL-UNNAMED
--add-opens java.base/java.nio=ALL-UNNAMED
--add-opens java.base/sun.nio.ch=ALL-UNNAMED
--add-opens java.management/sun.management=ALL-UNNAMED
--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
100% хазелкаст лезет в кишки джавы через Unsafe. И наверняка без этого перфоманс будет хуже.
можешь пожалуйста для дауна привести пример кода с/без Unsafe? я лажу по сорцам хазелькаста, вижу что он проверяет, имеет ли доступ к этим классам/методам, но не вижу во всем проекте хоть одного инстанса этих классов
Ты думаешь я наизусть знаю все сорцы хазелкаста? Нету значит нету.
https://github.com/hazelcast/hazelcast/blob/05fb45237db1fff1e3212f8d56016f89dc2f4935/hazelcast/src/main/java/com/hazelcast/internal/memory/impl/UnsafeUtil.java
Без доступа к модулю, в котором лежит sun.misc.Unsafe получишь тыкву.
Спасибо большое! Теперь пытаюсь понять, как этот unsafe_avaliable влияет на производительность, пока нихуя не понятно
а что насчет открытых систем?
С 11 должен быть, я читал.
Spring Webflux
слушай, я скопировал этот код в чистый проект на ждк 11 и у меня UNSAFE_AVAILABLE = true, так же не должно быть?
Dropwizard
Vaadin
Пишу код, думаю как улучшить и потом переделываю. Так я запоминаю решения и в следующий раз сразу их использую. Но это всё мои грабли шишки. Через некоторое время планирую начать вкуривать всякие паттерны и прочие бест практис (к этому времени у меня будет уже большой практический опыт и все "умные советы" я буду обдумывать и мысленно применять к реальным задачам которые я решал до этого по другому).
Как вам такая идея?
Просто я вижу альтернативы задрочить паттерны и тупо пихать везде овер инженеринг бессмысленный и безпощадный
Лан, все равно спасибо, няш, очень помог
Ты все делаешь правильно.
Нет смысла учить паттерны и effective java, если ты не понимаешь, о чем речь на своем опыте.
В лучшем случае из тебя получится зомби, который будет решать задачки "умножьте два целых числа" через абстрактные фабрики тредсейф синглтонов.
Нихуя ты умный, а прочитать задачу до конца?
Бритва Оккама.
фор (инт и = 0; и < арр1.сизе - 1; и++) {
арр2[и] = арр1[и + 1] - арр1[и];
}
Такое не "замапать", у тебя количество элементов меняется + каждое новое значение зависит от нескольких старых, а не одного старого, как при "мапе".
А вот в питоне можно. Оракл, введи зип стримы.
ХАХАХАХАХ ЭТО ПИЗДЕЦ ГОВНО ПИЗДУЦ ПИЗДА
Это оказывается происходит только с русским текстом. Изменение кодировки не лечит.
Вообще можете поздравить меня, я нашёл баг - g.getFontMetrics().stringWidth(Line) работает не верно если строка была разгружена из файла с русским текстом.
Но вопрос открыт - как обойти этот баг?
Не видел такого
Хотя мне кажеться g тут не причем, а чудит этот хуесос на файл реадре:
try {
fr = new FileReader(textFile);
BufferedReader reader = new BufferedReader(fr);
firstLine = reader.readLine();
reader.close();
} catch (IOException e1) {
e1.printStackTrace();
}
Ебать stack overflow машина, первый раз так вопрос задал, как по мне серьёзно нерешаемый - решили.
ответ:
BufferedReader reader = Files.newBufferedReader(Paths.get(fileName), StandardCharsets.UTF_8);
Хэш таблица с параметрами или ДТО сделать?
Пишу на Яве.
Ну, т.е. ты наконец узнаешь, что такое кодировки, зачем они нужны, чем двухбайтовая кодировка символа отличается от однобайтовой, и какая разница будет в их длинах.
Поздравляю тебя.
Другие это в начале знакомства с языком осваивают.
не надо рофлить
А прочитать не судьба? Вызывает метод суперкласса, класса который ты расширяешь.
если бы я не читал,я бы не знал про него
Вот, например. Свитые штаты или Канадская респабика - тоже использует java как язык номер один?
Или Java популярна только в рашке?
Нету, если ты его переопределил в потомке.
>>11465
$ for file in `find . -name '*.java'`; do grep '@author\s\+James Gosling' $file >/dev/null && echo $file; done
./java/io/PipedInputStream.java
./java/io/PipedOutputStream.java
./java/io/StreamTokenizer.java
./java/net/ContentHandler.java
./java/net/ContentHandlerFactory.java
./java/net/URL.java
./java/net/URLConnection.java
./java/net/URLStreamHandler.java
./java/util/Date.java
./javax/swing/event/EventListenerList.java
./javax/swing/JColorChooser.java
./javax/swing/JDialog.java
./javax/swing/JOptionPane.java
./javax/swing/plaf/basic/BasicOptionPaneUI.java
./javax/swing/plaf/synth/SynthOptionPaneUI.java
./javax/swing/ProgressMonitor.java
./javax/swing/ProgressMonitorInputStream.java
Еще можно конструктор суперкласса вызвать.
Не знаю, сам только на Javalin делал прототипчик.
Но читал где-то, что чел который делал Javalin был контребьютером спарка пруфов не будет, я думаю он учел ошибки прошлого и сделал пиздаче.
В любом случае попробуй, они не сильно прямо таки друг от друга отличаются, да и дока вроде бы хорошая и там и там
Вот бы сделали SiA 5th ed на русском...
Инверсия - не самый удачный выбор термина для этого случая, т. к. под определение "инверсии" попадают все фреймворки до единого. Но в контексте спринга этот термин прижился, и ничего не поделать. Dependency injection - более удачный термин.
А суть в том, что в своём коде вместо явного вызова конструктора ты указываешь тип класса, объект которого тебе нужен, и спринг сам его найдёт в своём контейнере объектов. Ну или не тип, а имя, под которым этот объект хранится в контейнере. Этот контейнер называется контекстом, а объекты - бинами. Зачем это всё нужно? Чтобы не ебать себе мозг каждый раз, какие параметры нужно передавать в конструктор, когда он принимает не простые значения, а какие-нибудь другие объекты, конструкторы которых принимают ещё какие-нибудь объекты, и так далее. Чтобы не инициализировать всю эту иерархию каждый раз вручную.
Джава ещё ладно, кто-то вот с плюсов начинал.
Учить нужно немало, да. Но на практике это всё держать в голове не обязательно, достаточно знать основные вещи, а остальное либо само вспоминается при необходимости, либо быстро гуглится.
Как преодолевать трудности? Просто продолжать учить дальше несмотря не на что, до посинения.
Вот про dependency injection я как раз подумал, когда прочитал это описание. Получается, мне именно его объяснили тут?
и отличия от C# только -> => В лямбда-ф-циях
Кроме жс, ещё изредка шаблонизаторы используют: thymeleaf, freemarker, etc.
ну, это академический язык для абстрактного изучения без задач, целей и применения.
ЯП чисто для курсов, я все скозал.
myObject myobject = new myObject(stringParam = "StringParam Is", intParam = 123);
Модно, стиль, молодёжно. путь JS элиты именно такие вещи
Тогда надо завозить синтаксический сахар в виде значений по умолчанию и какой-нибудь кейворд для перегрузок. Получится котлин.
В интернете предлагают конструкции вида
new MyObject().StringParam("Omaewa").IntParam(69).CharParam('S');
Да хоть Debuilder
Все равно Java живет последние 2 года, а потом разрабы ищут работу на святой C#
Тогда уж сразу так:
new MyObject(new ConstructorNamedParams(new ConstructorNamedParam("stringParam", "Omaewa"), new ConstructorNamedParam("intParam", 69), new ConstructorNamedParam("charParam", 'S')));
Ну, кто-то тебе мешал написать отдельный конструктор без параметров, который бы из себя вызывал конструктор с параметрами, передающий дефолтные значения.
Поэтому все, что тебе теперь остается - исходить на говно, глядя на подъебку анонов на дваче.
Смотря что подразумевать под динамикой. Если меняющееся наполнение страницы, то, очевидно, можно и на клиенте, и на сервере.
Анонче, я знаю про IDEA, там подсвечивается синтаксис, но хотелось бы управлять в явном виде.
Где можно прочить про технологии которые могут пригодиться в проектах
Чтобы вкотлин вкотиться, мне нужно стать экспертом в Java
>изучаю яву.
>читаю Кея Хоррестмана
>главу про потоки
Сколько кода написал с начала читки книги?
Все примеры руками написал, запустил и потом немного изменил?
Где читать про интересные мавен плагины которые можно использовать, про всю эту энтерпрайз хуиту?
Не проецируй на меня свой любимый сайт. Иди видеоблогеров по джаве смотри, виндертона твоего любимого.
>про всю эту энтерпрайз хуиту
Если ты уже реально занимаешься этой хуетой, отталкивайся от своих реальных задач, довольно мало смысла что-то читать просто так
Уже есть в избранном!
Кругозор и так на работе будет постепенно расширяться, по мере появления новых задач и нахождения для них решений. Если такого давно нет, меняй работу.
То нет смысла углубляться в энтерпрайз дальше обычных спринга-хибернейта, по которым полно материалов.
Удачи. Там конкуренция 300 сеньора на 1 место
Охладите моё наследование, углеабстрактный
Это отсылка на того анона из треда, который убирает спринг из проектов и получает 300к/сек ?
Видимо ему выдали таску, чтобы из нашего треда спринг убрать.
перевода нет, но некоторые уроки по спрингу переведены на сайте http://spring-projects.ru/projects/spring-framework/
>>12916
Ага в основном именно он, но по джаве тоже есть https://www.baeldung.com/java-tutorial
Почему никому не нужен? Энтерпрайз же вроде как
Нет, обычное энтерпрайз веб-приложение на джава.
мм, простой и понятный код
О, опять иде-дрочеры пытаются подменить нормальное программирование идешкой, которая будет вытирать им нос и кормить с ложечки
Либо у тебя плохой дизайн. (5 параметров это уже так себе дизайн)
Либо, если дизайн нормальный, передавай дата-обжект.
Либо, что умнее всего, используй билдер, все большие пацаны так делают.
> нормальное программирование
О, это когда ты вручную пишешь import org.springframework.context.support.ClassPathXmlApplicationContext? Это не к джаве, тут без иде жить очень больно.
Ну так это ОС, а не ИДЕ.
Ты относись к этому так, что есть java как jvm/платформа/экосистема, и она охуенная, а есть java как язык, и тут уже не все так хорошо, но есть более интересные альтернативы. Важнее понять и изучить платформу, языком потом сможешь взять и котлин.
А еще лучше взять Clojure!
Джаваны, есть какие-нибудь годные инструкции по использованию Spring Integration с двумя базами данных. Требуется из одной бд перегонять данные в другую. Делать несколько пропертей и конфигураторов под каждую базу я рот ебал.
Тебе виднее, иде-калека, путающийся в параметрах конструктора собственного класса.
Т.е. String.format("%s = %d", "joe", 35); тебе не подходит, потому что не доллар, а процент?
А new MessageFormat("String is \"{1}\", number is {0}."); не подходит, потому что даже процента нет?
Да, да. Всем срочно в котлин!
>Делать несколько пропертей и конфигураторов под каждую базу я рот ебал.
Уволься, иди дворы подметай. Там не потребуется несколько пропертей писать.
Да неужели? Может и несколько конфигураторов не придется писать?
String.format("%s = %d", str, num)
"$str=$num"
И правда, никакой разницы в удобстве и читаемости, нахуй этот котлин
Считается что для ниж не нужно, не знаю для чего используют шорты, но байты в стрим точно превращать не стал бы. Флоты для матриц используются часто, тоже не то.
Все так, все так.
Для вас, гонящихся за "удобством" и "читаемостью" давно придумали языки без типизации и прочие лобмокоподелия.
Хуй знает, зачем вы в ЭТОТ тред набегаете. Сайты-визитки сами себя не сделают.
ну, шорт и байт - один хер. к инту все приведется и привет.
а про флоат есть вопрос гораздо важнее
зачем кто-то вообще использует флоат?
кого-то в мировом масштабе беспокоит разница в 4 байта? Или в атомарности некоторых операций?
>Для вас, гонящихся за читаемостью
Сразу видно энтерпрайз-господина, который не херню вроде визиток делает
У меня не горит жопа от невозможности сделать "$str=$num"
20 лет на яве хуярю, и 20 лет она не горит
Надеюсь, ты уже на котлине хуяришь за огромную зарплату, а не только на дваче жалуешься, что ява не дает тебе насрать себе в штаны.
>20 лет на яве хуярю, и 20 лет она не горит
Причем наверное на версии так пятой или шестой, как диды завещали, и у них ведь тоже не горела. Так хуярь себе дальше, никто не отбирает.
>Надеюсь, ты уже на котлине хуяришь за огромную зарплату
Именно так. Хотя, конечно, на дваче мы тут все такие.
>Причем наверное на версии так пятой или шестой, как диды завещали
Ну да. Каждый пионер же хватается за cutting edge. А потом удивляется, почему его отовсюду на хуй посылают.
Реально.
Буду рад если укажите ресурсы где можно увидеть всю мощь Джавы или где есть детальные сравнения с самыми ведущими ЯП на сегодня.
Также буду очень рад если подскажите как и с чего лучше всего пощупать Жабку за горячие сосочки.
Спасибо.
Джава умеет обеспечивать работу бизнесов и предприятий, а также львиную долю окружающих тебя привычных сервисов. Например, когда ты не задумываясь подносишь карту к терминалу на кассе, это джава. А вот за красивыми и модными языковыми фишечками, это не сюда.
Спасибо тебе анон! Я не за красивыми словами, ты всё правильно понял и очень доходчиво пояснил.
Кстати, а кассовые терминалы во всех этих Моллах в большинстве своём тоже под Джавой живут?
Да, по крайней мере своей наиболее интересной серверной частью
Вообще, любые тьюринг-полные языки взаимозаменяемы. Тот же энтерпрайз можно писать хоть на плюсах. Основная "мощь" заключается в развитой инфраструктуре и в коммунити. Именно поэтому никто "завтра" не выкинет жабу и примется всё делать на C#, который здесь пытаются форсить как "убийцу" джавы.
Наверное платят нормально и ты незаменим.
Ничего не умеет, але!
Вон, поцаны все в питон, яваскрипт и котлин убежали.
Вот те умеют, так умеют!
А ява только для кофеварок.
>Например, когда ты не задумываясь подносишь карту к терминалу на кассе, это джава.
Хуй, например.
На терминале точно не ява.
Дрова точно не на яве.
Кассовое приложение почти всегда не на яве.
>джава даёт лёгкость и безопасность, недостижимые в плюсах.
Ахахахаха.
Расскажи, что же надо сделать в плюсах, чтобы получить аналог
java.lang.OutOfMemoryError: GC overhead limit exceeded
?
У меня есть в продакшене система, в которой кусок на коболе.
Каждый день молюсь, чтобы с ним ничего не случилось, чтобы не пришлось обращаться к тебе.
Разве это проблема? Вот настоаящая проблема:
> Segmentation fault
Проблему с ОЗУ бизнес хотя бы может решить покупкой дополнительной оперативки ха-ха.
Ну, т.е. мы с тобой договорились, что проблемы есть везде?
И кукарекать про "легкость и безопасность, недостижимые в ХХХ" не следует?
Проблемы есть везде, кто спорит. Но в жабе по сравнению с плюсами они более простые и легче решаются, я скозал.
Ну ты и дебич.
Ты не знаешь что такое интерполяционные строки.
Ты какие-то левые объекты и методы суешь.
нет, джава это чисто академический язык, его 20 лет назад преподавали в Говарде на CS50, потому что нахуй никому не нужон он. Хочеш выйти на работу без опыта - изучай C
Не клюют, потому что мы их не тратим на хуету.
Писателям и вечным переписывателям на реакте это еще предстоит осознать. Тогда и у них дела пойдут в гору.
>Ну ты и дебич.
Прекрасного программиста с блистательной карьерой всегда легко узнать по лексикону.
Как ты подключение к разным БД опишешь? PersistanceContext для разных репозиториев как определишь? У тебя под каждое подключение должно быть по 3 Бина конфигурации: entityManager, datasource и transact manager.
Прям сладкий питон под кожурой банана джавы. Но вам этого не понять.
Списывай, мудила
<jee:jndi-lookup id="anonMudakDS1"
jndi-name="jdbc/anonMudakDS1"
expected-type="javax.sql.DataSource"
/>
<bean id="emf1" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="anonMudakDS1" />
<property name="jpaVendorAdapter" ref="...."/>
<property name="persistenceUnitName" value="anonMudakPU1" />
</bean>
<bean id="txMgr1" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="emf1"/>
</bean>
Для второго делаешь катнпейст и 1 меняешь на 2
датасорс и энтитименеджер тебе на хуй не нужны
эм берется из фабрики
ПУ с настройками жпа и провайдера все равно скопипастишь
в жнди все равно запихнешь коннекшен стринг с паролями
пиздец. дел на 5 минут, но хуесос будет целый день сопли на дваче жевать
Списывай, мудила
<jee:jndi-lookup id="anonMudakDS1"
jndi-name="jdbc/anonMudakDS1"
expected-type="javax.sql.DataSource"
/>
<bean id="emf1" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="anonMudakDS1" />
<property name="jpaVendorAdapter" ref="...."/>
<property name="persistenceUnitName" value="anonMudakPU1" />
</bean>
<bean id="txMgr1" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="emf1"/>
</bean>
Для второго делаешь катнпейст и 1 меняешь на 2
датасорс и энтитименеджер тебе на хуй не нужны
эм берется из фабрики
ПУ с настройками жпа и провайдера все равно скопипастишь
в жнди все равно запихнешь коннекшен стринг с паролями
пиздец. дел на 5 минут, но хуесос будет целый день сопли на дваче жевать
Тебе, блядь, из одной надо ПЕРЕГОНЯТЬ в другую. На хер тебе в первой транзакции?
Селекты будешь обертывать?
>2к19
>делать бины через xml
Ты там на втором спринге пишешь, дядь? Это по сути тоже самое, что делаю я, только конфигурация не на Java.
В любом случае, спасибо. Но все-таки хочу сделать через интегратор. Хочу максимальный уровень абстракции, тому шо данные будут браться не только из БД.
>>13935
Резонно
Схуяли не понять? Тут в основном один и тот же токсичный ретроград "20 лет не горит" на котлин бугуртит
>конфигурация не на Java
Бля, чо-то проигрываю.
>давайте использовать dependency injection, только все конфиги захардкодим в программном коде!
>да, давайте, на хмл же не молодежно!
>Мааам, я тут дрочу на котлин, а аноны не хвалят меня за это
>что, сказать, что они токсичные ретрограды и у них жопа подгорает?
>хорошо, сейчас
А, ты про бэкенд.
Так бы и говорил.
Но и бекенд-то не всегда на яве, чо уж.
Ща зумеры наплодят бекенда на ноде и каком-нибудь питоне.
Будем ежедневный "в сеть утекли персональные данные" и "у банка ХХХ опять три дня не проходят платежи по картам" наблюдать.
Ой, дедуль, и не говори. Совсем житья нет от этих зумеров. Вот то ли дело в наше время, эх...
если б ты знал, какие ебанутые решения приходилось видеть
и не в банках, а там, где до прокуратуры один шаг
как у тебя аннотации противоречат хмл-ю?
в хмл-е настройки.
ты одно провязываешь с другим.
когда ты захочешь перезалить из первой базы не во вторую, а в третью, ты будешь в коде править свои настройки? перекомпилячивать?
а анон с хмлем, не трогая код поправит все в одном месте. и потом, если надо, так же вернет обратно
а аннотации останутся на месте, куда ж без них
Ты так часто меняешь конфигурацию? И ты правда веришь, что правкой xml 100% ничего не сломаешь, и после правки не нужно ничего компилять/тестить, всё точно работает?
Там на Васильевском и летом пиздец штормы бывают, я до ниточки промок однажды, представляю как там на котлине.
Я вообще один хмл таскаю из проекта в проект и подправляю по необходимости.
Ну, иногда приходится подвинтить, когда версия спринга меняется в очередной раз.
После правки хмл тестить нужно. Компилить - нет.
Всегда понятно, что ты поменял, заодно.
Мы тут, вообще-то, про настройки коннекта с базой говорим.
в csrf enable="false" тоже не много вариантов объебаться, если чо.
Т.е. по существу вопроса тебе ответить нечего.
Что очевидно - ничего в жизни ты не сделал.
Можешь только тут что-то про "старческое брюзжание" высирать.
Так победишь. Вижу немыслимую карьеру у тебя впереди.
чтобы ебать, удача не нужна
ну, тебе, может, придется ждать, когда ты наткнешься на бездыханное тело в темном переулке
Ну уж нет!
Одно дело на дваче показывать свою тупость, другое дело с мамкиной зарплаты отправлять что-то каким-то буржуям!
Ааа, какой же ты смешной. Существо вопроса у него. Все, ты победил (опять), последнее слово будет за тобой. Скоро заполнишь собой весь тред и сможешь наконец научить школьников как надо.
50-60%.
Хибер норм, хотя он разный бывает. Вот при словах "сервлеты" и "EJB" лучше насторожиться.
Ну от версии зависит, но юзать его скорее всего будешь, это ж топ 1 по популярности ORM
Ну на старых версиях придется xml конфигурации писать, а вообще интеграция с спрингом новым крутая, SpringDataJPA вообще сам все под капотом ерошит
>SpringDataJPA вообще сам все под капотом ерошит
Поэтому, кстати, я с гибернейтом работал только на лабах.
> никто не пишет
Если бы. Легаси, построенное на этом, на этом же и продолжает разрабатываться. Переписывают на чём-то принципиально новом не так часто.
> сервлеты
Это почти самый низкий слой абстракции над голым HTTP. Уже не нужно писать свой HTTP-сервер, но всё ещё неудобно, и многие вещи приходится делать вручную. Чистые сервлеты используются сейчас редко, но фреймворки, как правило, строятся поверх них.
Зато когда там что то ломается, хуй пойми что делать гуглить лол как обычно
Чутко, я на лабах только байтодрочерством с асм занимаюсь.
Чотко, быстрофикс
Достаточно пишут. У энтерпрайза тоже появляются новые направления и, следовательно, новые проекты.
Но это как повезёт.
с Ява-легаси работать легко и приятно, в отличие от говноязыки-легаси
Даже если тоже писали макаки
Учится буду здесь
https://course.skillbox.ru/profession-java
Вы приняты
На рутрекере нету этого курса. Мне даже интересно стало, то там такого на 100к. Есть у кого опыт прохождения этого чуда?
Еще недавно я был простым менеджером торгового зала. Жизнь не сильно шла гору, жил от зарплаты до зарплаты. Как-то друг посоветовал изучать компьютеры и программирование, говорит, прибыльная профессия. Ну я начал искать сайты, чтобы научиться программировать за 4 месяца.
Один прекрасный сайт, это он >>14567 Довольно быстро и понятным языком разъяснил что и как. Я вошел в айти за 4 месяца и теперь работаю джуниором на мейл.ру групс. Всё благодаря сайту!
Я прошел интерном за 3 месяца и уже в Гугле! Спасибо авторам!!
Вводный модуль
Какие бывают программы
Где и для чего применяется Java
Как выглядит программный код
Установка среды разработки
Исправляем готовое приложение
Пишем консольное приложение
Синтаксис языка
Что вообще бывает в коде
Переменные в Java
Boolean, операторы сравнения и условные операторы
Циклы
Разбираем сложный код
Объекты и классы
Понятие класса и объекта
Метод, параметры, return
Статические методы.
Статические переменные и константы.
Создание объектов и конструктор
Копирование объектов
Внешние библиотеки классов
Создание JAR-файлов
Аннотации и Lombok
Лямбда-выражения
Числа, строки и даты
Примитивы и объекты
Типы чисел и преобразование
Операции с числами
Строки, символы и подстроки
Конкатенация и сравнение строк
Регулярные выражения
Календарь и метка времени
Массивы и коллекции
Массивы
Списки. Очередь и стэк
Наборы уникальных элементов. HashSet, TreeSet
Карты данных. Ключи и значения. TreeMap, HashMap
Поиск и сортировка.
Stream API
Указатели на методы
Наследование и полиморфизм
Наследование классов
Доступ к методам и переменным
Абстрактные классы
Интерфейсы и полиморфизм
Функциональные интерфейсы
default- и static-методы в интерфейсах
Generics
Variance и contravariance
Проектирование приложений
Тестирование и отладка
Обработка исключений
Типы исключений
Отладка приложений
Модульное тестирование. JUnit
Интеграционные и функциональные тесты.
Изоляция тестов
Logging, Log4j, Apache Commons
Работа с файлами и сетью
Чтение файлов
Запись в файл
Табличные файлы
Файлы XML и HTML
Файлы JSON
Чтение файлов из сети
Конфигурационные файлы
Работа с базами данных
Установка MySQL (докер)
jdbc
Таблицы, поля и записи
ORM: объекты и записи. Hibernate
Добавление, удаление и обновление
Сортировка и группировка
Многопоточность
Процессы и потоки. Как создавать, как использовать, когда выбирать одно, а когда другое?
Приостановка и прерывание
Состояние гонки и критические секции
Синхронизация методов и блоков
Потокобезопасность, коллекции, atomic, volatile
Взаимная блокировка. deadlock
Future, Promise, ForkJoinPool, ThreadPool
Оптимизация кода и приложений / Производительность
Факторы производительности
Оптимизация по времени
Оптимизация по памяти
Оптимизация работы с базами данных
Профайлер
Non-blocking IO
Разработка веб-приложений
Java Server Pages (JSP)
Spring Boot
Концепция MVC
Конфигурация, роутинг
Dependency Injection
Jetty
Распределённые хранилища и вычисления
Зачем нужны распределённые хранилища
Hadoop, основы и принципы, HDFS, YARN
Зачем нужны распределённые вычисления
Spark, принцип вычислений, примеры
Заключительный модуль
Реактивное программирование. RxJava
Oracle, PL/SQL, хранимые процедуры
Язык программирования Kotlin
Язык программирования Scala
Android-приложения
Desktop-приложения
Дипломная работа
Вводный модуль
Какие бывают программы
Где и для чего применяется Java
Как выглядит программный код
Установка среды разработки
Исправляем готовое приложение
Пишем консольное приложение
Синтаксис языка
Что вообще бывает в коде
Переменные в Java
Boolean, операторы сравнения и условные операторы
Циклы
Разбираем сложный код
Объекты и классы
Понятие класса и объекта
Метод, параметры, return
Статические методы.
Статические переменные и константы.
Создание объектов и конструктор
Копирование объектов
Внешние библиотеки классов
Создание JAR-файлов
Аннотации и Lombok
Лямбда-выражения
Числа, строки и даты
Примитивы и объекты
Типы чисел и преобразование
Операции с числами
Строки, символы и подстроки
Конкатенация и сравнение строк
Регулярные выражения
Календарь и метка времени
Массивы и коллекции
Массивы
Списки. Очередь и стэк
Наборы уникальных элементов. HashSet, TreeSet
Карты данных. Ключи и значения. TreeMap, HashMap
Поиск и сортировка.
Stream API
Указатели на методы
Наследование и полиморфизм
Наследование классов
Доступ к методам и переменным
Абстрактные классы
Интерфейсы и полиморфизм
Функциональные интерфейсы
default- и static-методы в интерфейсах
Generics
Variance и contravariance
Проектирование приложений
Тестирование и отладка
Обработка исключений
Типы исключений
Отладка приложений
Модульное тестирование. JUnit
Интеграционные и функциональные тесты.
Изоляция тестов
Logging, Log4j, Apache Commons
Работа с файлами и сетью
Чтение файлов
Запись в файл
Табличные файлы
Файлы XML и HTML
Файлы JSON
Чтение файлов из сети
Конфигурационные файлы
Работа с базами данных
Установка MySQL (докер)
jdbc
Таблицы, поля и записи
ORM: объекты и записи. Hibernate
Добавление, удаление и обновление
Сортировка и группировка
Многопоточность
Процессы и потоки. Как создавать, как использовать, когда выбирать одно, а когда другое?
Приостановка и прерывание
Состояние гонки и критические секции
Синхронизация методов и блоков
Потокобезопасность, коллекции, atomic, volatile
Взаимная блокировка. deadlock
Future, Promise, ForkJoinPool, ThreadPool
Оптимизация кода и приложений / Производительность
Факторы производительности
Оптимизация по времени
Оптимизация по памяти
Оптимизация работы с базами данных
Профайлер
Non-blocking IO
Разработка веб-приложений
Java Server Pages (JSP)
Spring Boot
Концепция MVC
Конфигурация, роутинг
Dependency Injection
Jetty
Распределённые хранилища и вычисления
Зачем нужны распределённые хранилища
Hadoop, основы и принципы, HDFS, YARN
Зачем нужны распределённые вычисления
Spark, принцип вычислений, примеры
Заключительный модуль
Реактивное программирование. RxJava
Oracle, PL/SQL, хранимые процедуры
Язык программирования Kotlin
Язык программирования Scala
Android-приложения
Desktop-приложения
Дипломная работа
С компьютерами я, уже, работал, так что опыт уже был. На всех кассах стоял компьютер.
На собеседование спрашивали три вопроса... Первый был как написать "hello, моё имя". Я не сразу понял как мне вставить своё имя в программе, но сильные навыки программирования, которые я получил на том курсе, научили меня это делать.
Второй вопрос был сложнее, поэтому надо готовиться тщательнее. Меня попросили написать программу, которая выводит "ёлочку" из звездочек. Всё очень сложно, потому что надо было написать два фор-цикла.
Третий вопрос был на теорию, меня спросили чем объект отличается от числа.. Вот и прошел, всем удачи
Это попытка вайпа? Я читать умею, мне больше интересно, что там такого на 100к, ведь есть курсы гораздо дешевле, которые тому же учат.
Понятно, что это очередная наепка населения на даллары, но кому пришло в голову поставить стоимость в 100к? Типа кто-то подумает, что раз курсы так дорого стоят, значит там действительно учат?
ну, такой набор сильного миддла, почти сеньора. Другое дело, что и как они ужмут за 4 месяца? да как попало, мозг человека не усвоит такой поток сознания за короткий период с минимальной практикой. как и все другие гавнокурсы
Да понятно, что там много всего изучается, но без сильной практики это почти невозможно в голову уложить, как ты и сказал. Жесть короче, я просто в шоке был от этой цены
https://youtu.be/Dxpdo9BUGss
Ну стажировка это же вроде как только при устройстве на работу? А мне нужен просто практический "курс".
Я еще на ежб1.1 писал, когда 2-го не было.
Так что юношеским сарказмом меня не прошибешь.
Я тебе писал, что легко и приятно в сравнении с говноязыками.
Возьми теперь пхп-код из начала нулевых, и поподдерживай его, давай.
А, там даже не пхп, а перл, ну тоже удачи.
Я не очень понял, он там осветил важное различие: в какой момент выбирается кандидат для вызова воверлода, а в какой для воверайда?
Там нужны номер, адрес и название компании, а я работаю вообще не в ОйТи фирме.
Open JDK это не от оракла, насколько я понял? Т.е. все сносить и ставить его? И среда разработки с ним нормально подружится?
Извиняюсь за тупые вопросы
>Там нужны номер, адрес и название компании, а я работаю вообще не в ОйТи фирме.
Кто тебе сказал, что там надо реальные данные указывать?
>Open JDK это не от оракла, насколько я понял? Т.е. все сносить и ставить его? И среда разработки с ним нормально подружится?
Да.
>Кто тебе сказал, что там надо реальные данные указывать?
Я тебя понял, но позже это ничем не аукнется?
Вообще столкнулся с этой ошибкой и насколько я понял, это компилятор последней версии, а рантайм нет? И обновить его никак нельзя по другому, кроме как с офф сайта качать после регистрации:?
>позже это ничем не аукнется
Придут дяди в серых костюмах, позвонят в дверь и спросят, правда ли ты Вася Пупкин из компании Durgasoft?
>И обновить его никак нельзя по другому, кроме как с офф сайта качать после регистрации:?
Перекомпилить файл под нужную версию. Имей в виду, кстати, что JRE для джавы старше 8 версии нету.
Спасибо за ответы
Тебе для разработки нужно ждк, жре - это чисто рантайм.
Регистрацию просят только для старых версий. Самую новую скачать можно без неё (но в компаниях редко встретишь что-то, кроме 8/11).
Так джк и стоит, а вот при компиляции вылазит эта ошибка
Ну не всегда, ты можешь пройти стажировку если это большая компания, а потом слиться если тебя не возьмут, или если ты сам не захочешь
Между "легко и приятно" и "получше, чем перл" расстояние приличное.
Но, что правда, страх перед легаси у молодежи часто раздут неадекватно.
Это не профессия, это слезы.
Орден сутулого и красные глаза, вот это все.
Конечно, надоело - все меняется быстрее, чем мозг успевает схавать. С возрастом особенно заметно.
Но я ничего другого делать не умею, и уже не научусь так, чтобы зарабатывать нормально.
Хорошая попытка, но мы-то знаем, что у того анона все заебись
>а перл, ну тоже удачи.
ммм мои сладкие однострочные программы, ностальгия
мимо другой анон 80го года выпуска
На гавне прогали без IDE и синтаксического разбора, отчего все желание программировать отпало на времена рассвета C в рашке
Херачил в автокоде для калькуляторов
На асме для сигнальных процессоров
на бейсике, блядь
Но это в детстве
А потом было круто. StackOverflow еще нет, МС еще делает свою яву, вместо толп второгодников с яваскриптом и питоном - задроты с Дельфи.
На сишке почти не писал. В основном на плюсах. Потом перелез на яву.
С хуя ли без ИДЕ?
А ТурбоС?
VS6 уже в 98-м была.
Ну, а на яве я еще долго в ультраедите херачил, собирая джары руками и скриптами.
https://youtu.be/ev9MG1Q-ZfM
На работе скорее всего не понадобится. Для себя тыкай, сколько душа пожелает.
Аноны, нужен совет
Делаю RestTemplate.exchange() не принципиально, можно getForObject в принципе
Последним аргументом как известно принимает класс, в который будет замаплен ответ.
сервис отвечает не ответом как ожидалось, а скажем ошибкой, соответственно я ловлю RestClientException: Error while extracting response for type HyinyaDto.class
как грамотнее всего обработать эту хуйню?
первое что приходит в голову это получать строку и пытаться ее прогнать через GSON скажем и, в случае ошибки, пытаться ее заманить в сущность ошибки. Работать конечно будет, но выглядит как костыль. Мб сталкивался с этим кто?
Понадобится на хакатоне, я просто не знаю, есть ли в этом смысл вообще. Питон для таких штук больше подходит, но его я не знаю.
О, точняк, спасибо анон
Из лабы можно и за месяц выйти, главное показывать желание и заинтересованность.
Чем объект отличается от числа?
Спасибо за идею. Для первичного обката кода пойдет, но препод меня отпиздит за такое.
Многие хакатоны в принципе оторваны от реальности, но хз, что именно там у тебя.
Питон учится быстро, но если у тебя две-три недели, то лучше в привычной джаве разбираться.
Вообще, задача передо мной стоит тривиальная: написать библиотеку, реализующую CRUD операции через OpenCSV, SimpleXML и СУБД. В txt файле у меня хранятся описания бинов, и для чтения я должен это распарсить, создать инстансы бинов, а потом это записать во все три хранилища. И я не понимаю, как это должно быть раздроблено на классы и как из одного класса вызывать другие.
Это вы не энтерпрайз поймёте, а в лучшем случае то, как работает спринг. Вместо того, чтобы сосредоточиться на задаче, вы ебётесь с инструментами для решения задачи.
Да неважно. Тебе нужно написать один или несколько вспомогательных класов, в которых методы для решения конкретных задач: прочитать цсв, сохранить цсв, распарсить тхт с бинами и аернуть их в виде списка и т д. Методы разбить на классы по темам: например, все, связанное с цсв, будет в классе ЦсвУтилс или ЦсвХелпер.
И затем написать СамыйГлавныйКласс, в котором у тебя будет вся логика, и эта логика будет создавать объекты вспомогательных классов, дёргать их методы, и всё.
Вспомогательные классы можешь сделать синглтонами, так будет энтерпрайзнее. Тогда в логике даже создавать объекты не придётся. Да, проще всё сделать статик, но это тоже неэнтерпрайзно. Вот.
А лучше сделать интерфейсы Parser, Binder, Writer(Serializer/Deserializer) и имплементацию под каждый формат. Хотя по-моему это все уже есть в джексоновском обжект маппере.
А вообще учись: https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
Что-то ебань какую-то задали.
Поржал.
Подскажите, как бы лучше реализовать вот такую тему:
•Пользователь должен иметь возможность указать какой именно файл с данными будет использоваться
Программка простейшее взаимодействие с базой данных, а вот как выбрать файл прямо из консоли это непонятки.
Ну и жопа.
> Питон для таких штук больше подходит
Ахахахахаха
Потому что все нужные библиотеки написаны на С, а тебе даны обертки?
> Maven, JUnit, Hibernate
Отношение к ЕЕ примерно такое же, как у морской свинке к морю и свиньям
>В txt файле у меня хранятся описания бинов, и для чтения я должен это распарсить, создать инстансы бинов
Ага, мы специально берем язык со статической типизацией и хуярим инстансы по описанию в тхт-файле.
Называем это энтерпрайз явой.
Охуеть.
Бля, когда так занят придумыванием шуточек для первоклассников (чтобы вставить их в доклад по яве), что некогда дойти до логопеда...
тогда купи книжку "ява для чайников". там где-то в начале это объяснят
640x480, 1:07
с явой хуже
есть какая-то попытка реализовать опенсв на чистой яве (а не оборачивать собранные самостоятельно из исходников на плюсах библиотеки)
есть какие-то рукоблудные библиотеки, реализующие более-менее стандартные алгоритмы (edge detection, contours и пр)
ну, книжку несложно скачать, если есть желание разбираться в математике и перемножать матрицы
на самом деле я не углублялся
я лишь прореагировал на фантазии "а вот на питоне проще"
что там проще? умножать и складывать? двумерный массив в цикле обходить?
Пиздец, как можно изучать работу с БД, если сука ты даже не знаешь что такое args. Сигнатуру метода main!
Ну почему
Ну без сборщиков проекта нереально тысячи зависимостей подключать.
Hibernate JPA это тру EE концепция.
Тестирование тоже нужно в более менее больших приложениях.
Пользуйся Lombok, ты уже готов.
))
Бля, этот физбаз скорее грустный, чем смешной - слишком много всего всерьёз написано в таком духе. И ведь ни язык, ни фреймворки такой стиль не диктуют, чисто какая-то хуйня в головах.
Пытался через модификаторы доступа, но что-то второй класс не видит переменную.
MAIN:
private Connection c;
public Connection getConnection() {
return this.c;
ВО ВТОРОМ КЛАССЕ:
getConnection() {
>>16146 дело говорит, но на всякий случай:
Импортить можно только статические элементы, которые постоянны на всем потоке выполнения приложения, если ты конечно не любитель вздрочнуть рефлекшеном. Это классы, статические переменные, статические методы.
Во всех остальных случаях тебе сперва нужен объект класса, в котором описаны нужные тебе поля или методы. Ньюфаги уже не въезжают в три сука, элементарных столпа ООП.
> А а = new A();
> a.b("You're a dick")
Ну заебись тогда.
Ну во-первых не на две, а на пару сотен а во-вторых будешь решать саму задачу вместо борьбы с языком.
Двачую, в пост-совке велосипедописание на уровне организаций не шибко распространено. Когда будет нужно, тимлид тебе подберет в проект либу, по внутренностям которой медленно изучишь основы, а дальше ресерч и ресерч. Учиться самому с нуля - крайне неблагодарное дело, хуй его знает какой из 100500 возможных способов делать бочку тебе в итоге пригодится. Лучше напиши этих гоф-ных крудов, да выпей чашечку соапа, всяко полезнее.
Предвосхищая, >>15728, если бы тебе было интересно, ты бы советов у анона не спрашивал что учить.
Хули там не ясного. Нарисовал чертеж дома (класс), компьютера (класс). Сделал дом и компьютер. Открыл тред /pr методов в компьютере. Нассал себе на ебало еще одним методом. Понял, да?
Ща, падажжи...
Тебе невыносимо ставить скобки?
Невыносимо ПОДУМАТЬ, как типизировать переменные?
Неввыносимо СТРУКТУРИРОВАТЬ код под функциям, скоупам и файлам?
Ну, да, таких мизераблей много. Но зачем ты с этой инвалидностью пришел в ява-тред?
Питонодрочер не смог найти на дваче питонотред?
Это характерный уровень интеллекта для питонодрочеров?
Попробуй тогда жс-тред поискать, может, будешь более удачлив.
Это очень сложно, одеваясь, отличать тип "штаны" от типа "футболка".
Поэтому питонист, вместо борьбы с языком, начинает натягивать любую одежду на левую ногу - интерпретатор сам разберет, куда это надевать дальше, если не подошло.
Ну и срать - так же. Если повезет - успеешь снять именно штаны, если нет, получишь TypeError во время поноса. Ну а хули, зато не надо с языком бороться.
Об этом читай в моей книге.
Это ссылка на метод, но -1 не может быть идентификатором!
А в вскоде есть из коробки без дополнительного допиливания гит, дебаггер, инспекция кода, доки, интеграция с СУБД, мавен, навигация по классам и декомпилер? Если да, то охуенно.
Тащемта, идея сама потихоньку превращается в тормознутое говно, но с поддержкой джавы. Хотя до этих поделок на электроне ей ещё далеко, конечно.
>Энтерпрайз джава примат
Ловко ты меня.
Не знаю, смогу ли теперь спать.
Не будет ли меня угнетать то, что ты использовал в одном предложении сразу три слова, значения которых ты не понимаешь
Ладно, допустим. Тогда есть ли смысл в ultimate версии или вполне можно кодить и на ce? Джаву курю с целью вкатится в бэк, и на офф сайте жбрейнс написано, что ultimate версия включает поддержку фреймворка spring, в чем эта поддержка (как понимаю это какие-то фичи для удобства) заключается, можно ли без нее обойтись, и если это действительно облегчает работу со спрингом, то могу ли я восполнить отсутствие поддержки из коробки в ce, какими-нибудь плагинами?
>везкие
Нет ни одной причины тебе вообще браться за искусственные языки, если ты своего родного естественного не освоил.
Или, может, ты таджик?
Ну я так понимаю там есть допизды расширений, которые в какой-то степени реализуют этот функционал, вопрос насколько хорошо и удобно
Можно и коммунити. В ней меньше фич, но жить можно. Эти фичи немного облегчают работу, но не делают ничего сверхъестественного.
Ну просто в вскод можно с одной кнопки установить джава экстеншн пак, который включает себя куча всяких плюшек для джавы, не делать же мсам мегаидеху с поддержкой всех языков из коробаса, вот я и интересуюсь, насколько intellij пизже чем vscode, понятное дело, с экстеншнами
Не модно.
Все методы синхронизированные => дополнительный оверхед для обеспечения синхронизация. Доступ к списку/массиву из нескольких потоков одновременно нужен редко, обычно всё делается в одном потоке. Та же хуйня со StringBuffer.
Эх, жаль, нельзя редачить. Теперь мои опечатки будут здесь вечно.
ох, лiл
Я не знаю.
А код из чего писать? Из вопросов с собесов каши не сваришь. А хватать по верхам и потом не понимать, что пишу, неохота.
Все это просто разные способы прицепить запуск спринга к запуску сервлет-контейнера (чтобы дальше сам спринг уже сделал все остальное). ContextLoaderListener - старый классический ServletContextListener, который можно указать в web.xml. SpringServletContainerInitializer - для более нового механизма, который позволяет обходиться без web.xml.
Нахуя тогда вакансии бекенд нодеров? Чем тогда занимаются сеньйор нодеры, есть же такие вакансии? И шо тогда с нетфликсом
Хуле ты здесь спрашиваешь? Иди в JS тред. Правда, там дебилы решают олимпиадные задачки.
Там никто не знает, одни вкатывальщики
>Чем тогда занимаются сеньйор нодеры
Я не нодер, но полагаю, примерно тем же они занимаются, чем и условные пхпшники
Так а зачем мне писать свою нейросеть? Я вкачусь в одну из 100500 вакансий, где особо ничего не надо, кроме знаний phyton, tenserflow, deep-learning/zero-shot learning, numpy и буду получать большие деньги, ничего не делая толком.
За этим будущее, тендеры раздают таким компаниям, ибо они в уши ссут что заебца все будет и они скайнет создадут, им верят, выделяют дохуя денег, всякие соски налетают.. И 300к/с получать можно и сосок, слетающих на хайп ебать заодно, а в джаве что? тыртыпрайз, старперы и никакой перспективы за пределами рашки?
Чисто по фактам разъебал.
Дрочу, сплю и жру.
Слишком толсто.
Пишу на питоне по вечерам.
Повезло с самого начала, успешно взял тестовое задание в ЕПАМ, сейчас вот ломаю над ним голову. Думаю, если там все будет пиздато, то меня возьмут стажером или джуном, так что смогу получать достаточно денег, чтобы не работать курьером. А там и мидл с 300к/сек не за горами.
Все правильно делаю?
По тестовому:
Обязательные требования
Необходимо разработать систему по отслеживанию задач/ошибок (bug tracking system).
• Основными объектами системы являются задачи, пользователи и проекты.
• Система должна предоставлять базовый функционал по управлению задачами, пользователями и проектами (создание, удаление).
• Задача должна обладать следующими атрибутами: проект, тема, тип, приоритет, исполнитель (он же пользователь системы) и описание.
• Задача не должна ссылаться на несуществующий проект или пользователя. Соответственно, любые изменения в системе приводящие к такой ситуации должны быть запрещены.
• Все данные системы должны храниться в файле. Ограничений на формат хранения данных нет.
• Пользователь должен иметь возможность указать какой именно файл с данными будет использоваться.
• Дополнительно в системе должны быть реализованы следующие команды:
o получить список всех пользователей;
o получить список всех проектов;
o получить список всех задач в проекте;
o получить список всех задач, назначенных на конкретного исполнителя.
• Приложение может быть, как консольным, так и обладать графическим интерфейсом.
Опциональные требования
• Логирование работы системы.
• Использование embedded баз данных (SQLite, H2).
https://github.com/antiphysic/BugTrackingSystem
>Имею за спиной несколько месяцев обучения Джаве (суммарно часов 50)
И где там у тебя зелень на гите?
>Повезло с самого начала
>успешно взял тестовое задание в ЕПАМ
Успех это когда на собес позовут.
Глянул я твой код. Рано тебе ещё тестовые брать, ты даже нормальные лабы не писал. Где мавен, где гитигнор что за хуита у тебя в репе?
>И где там у тебя зелень на гите?
Я в стол делал просто.
>Где мавен, где гитигнор что за хуита у тебя в репе?
Ну, не все сразу приходит. Я надеюсь, что меня всему остальному уже в на стажировке в ЕПАМе научат, как кодить и все, что нужно для этого.
И срать в горшок научат.
>Я в стол делал просто.
Тут 100 раз говорили что нужно каждый свой чих на гитхаб!
Представь что у тебя сейчас зелени несколько месяцев и 1000+ коммитов! Сразу понятно что ты код пишешь, а так пока ты пиздабол который даже гитом пользоваться не умеет!
>Ну, не все сразу приходит.
Согласен ебошить нужно
>Я надеюсь, что меня всему остальному уже в на стажировке в ЕПАМе научат, как кодить и все, что нужно для этого.
А вот это ошибка!
Туда попадут толковые!
Кто сам уже код умеет писать!
Там их причешут, помоют, натаскают на реальные нужды компании и на работку примут!
Аригатки.
Но мне в прикреплённом сказали, что пользоваться системой контроля версий необязательно, если это не указано прямо в вакансии, мол, "умение в гитхаб". И что можно просто там хранить код без вымучивания коммитов на каждые три строчки...
>в ЕПАМе научат, как кодить и все, что нужно для этого
Это что-то очень толстое. Кста года два назад в ебам еще и английский нужен был в их школу, хз как сейчас
Так и скажи что ты ленивое гавно
Потрогал, не пожалел. Подтянул знание формата png, которое может понадобится на ctf, поебался с байтами немножечко. Все лучше, чем ебля с конфигами на работе.
public static char[] getData(String data, String in) {
char[] chars = {};
if ("".equals(data) && "".equals(in) || !"".equals(data) && "".equals(in)) {
chars = data.toCharArray();
} else {
try {
chars = readFromFile(in).toCharArray();
} catch (IOException e) {
System.out.println("Error. Can't read the file: " + e.getMessage());
}
}
return chars;
}
Так и думал, вы так напишете, мне еще тонну говна писать, чтобы это скомпилить( я заранее спросить хотел, мб подскажете как лучше сделать.
Олсо, аноны, если кто знает подскажите плз еще годного материала по работе с текстовыми файлами. Что лучше использовать FileWriter или PrintWriter?
В общем тесты у меня прошли. Но че то смущает меня инициализация массива такая, или все ок?
А почему нельзя объявить так:
char[] chars;
а не так:
char[] chars = {};
Почему он на return ругается?
Это из-за того что в else try находится и если там эксепшн будет, то не проинициализируется?
Экспериментируй, блеать! Ингициализируй в catch, в finally и смотри что будет, нахуй каждый пук спрашивать.
>//r- read, файл открыт только для чтения
>RandomAccessFile raf = new RandomAccessFile("input.txt", "r");
Ну ебать, мы теперь питон. Для кого енумы придумывали?
Начинают привыкать.
Я бы еще и NPE сразу выкинул.
Снёс репозиторий, приступил к тестовому заново
https://github.com/antiphysic/BugTrackingSystem
Он гитигнор автоматический спиздил с сайта, вот и вся работа. Трудолюбивый работник.
Так-то у меня все функции уже готовы.
Но самопальные запросы. Хибернейт нужен, чтобы всё было чётенько.
> sqlite-jdbc-3.27.2.1.jar
> public class Menu { }
> statement.execute("CREATE TABLE tasks"
Удаляй гитхаб нахуй
TrueJavaAbstractClassSperedi
За что тебя благодарить, даун? Твой выпук на вопрос не отвечает и никак не помогает.
Если ты задаешь подобные вопросы, то ты однозначно не читал этот пейпер. Следовательно, ты не только в именовании абстрактных классов не шаришь, но и во всем остальном стиле.
Нет, я задал конкретный вопрос про конкретный случай, так как не встречал его упоминания в других гайдлайнах. А ты долбоеб.
Бухать
Можешь, если жвм запущена с нужными ключами и позволяет твоему дебаггеру к ней подсосаться, то можно на лету менять код, да.
С ограничениями, но можно.
>Как назвать абстрактный класс?
>Дописывать к имени интерфейса Abstract
Для начала надо научиться путать классы и интерфейсы.
Потом надо вбить в свою тупую бошку, что никого не ебет, как долго тебе что-то писать.
Всех ебет только, насколько быстро можно будет понять, что ты там хотел сказать.
Поэтому есть более-менее общепринятые подходы к именованию.
Ты, конечно, можешь им не следовать, но тогда иди сразу на хуй из нашего общества вежливых людей.
Да. Ты один умный. Остальные все - долбоебы и дауны.
Зачем только ты сюда пришел, к долбоебам и даунам.
С такими умными вопросами еще.
Программа из четырех файлов, работает в NetBeans, но не в консоли.
javac компилирует три вспомогательных, но не основной файл.
Отчет пикрил. Хелп!
А, разобрался, при копировании файлов нарушил структуру и смешал все в одной папке
Мы можем надеяться, что ты нас незамедлительно покинешь?
пиздарулю( );
Думал с утра всё побырику порешаю, а хуй там.
Со вчерашнего вечера таблицы ебанные не могу никак соединить между собой. Хуй знает че делать.
Этот ссучий внешний ключ с ON DELETE CASCADE не находит таблицу с юзерами и выдает:
Error: foreign key mismatch - "tasks" referencing "users";
Хотя я по инструкции указал всё и даже названия одинаковы ебанул на переменные, чтобы эта ебанная система не потерялась. - FOREIGN KEY(`username`) REFERENCES `users`(`username`) ON DELETE CASCADE.
Отчанияе ёпт.
И главное, что инфа заканчивается. Чем популярнее вещи, тем инфы больше.
Когда ты начинаешь копать всё глубже и глубже, то остаются одни ссылки на ангельские ресурсы
>то остаются одни ссылки на ангельские ресурсы
Это часть отбора в ебам. Без английского и гуглтранслейта - нахой
>Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
>А: Нет, не поздно.
Врети. Эйджизм никто не отменял. Где доводы?
>Без английского ты не нужен и можешь смело идти нахуй.
Вот это было больно, но это я думаю верно.
Сука, почему ты меня троллишь, сука?
Почему в дебагере char val = 2 отображается так:
'\u0002' 2
?
Типа '\u0002' - это юникод хуета и можно записать значение до 9999?
А 2 дальше, это типа к какому целочисленному числу скастится?
Я все правильно понял?
9999 -это шестнадцатеричное значение, если что. Чар как раз двухбайтный. Последнее значение будет FFFF.
Ты ес что написал тоже самое что
char val = (char) 2;
А это взять просто биты и считать их чаром, а не интом.
если хочешь символ 2
char val = '2'
Сделай журнал учета ебли твоей мамки.
Моим первым проектом тоже был журнал учета ебли твоей мамки.
Потом еще ардуину к ней подвяжешь, она через микросервис сама будет чо-нибудь слать.
Мне уже с твоей мамкой неинтересно, а ты можешь.
Ок.
Выпей
Скорее всего он по умолчанию в идее.
Да, пускай скажет что он блогер и ему надоело снимать блог и он решил войтивайти и напоследок решил снять блог о том, как он покинул мир блога через удачно пройденое собеседование, запечатлить момент, так сказать ....
Ну еще что лям папищиков добавить))
А то снять не получится и его нахуй пошлют..
Не, я про собес по скайпу.
но кто будет отвечать за загрузку самой страницы?
Ахахахаха.
Сперва они, такие: ИДЕЯ - самая лучшая на свете иде, она все знает лучше всех, как делать, не надо самому задумываться.
Потом они, такие: бля, идея чо-то хочет, не пойму чо. А! Мейвен и грейдл - самые лучшие системы на свете, все подтянут и соберут, не надо самому задумываться, и на идею насрать можно.
На следующей итерации, глядишь, начнут разгребать, как это руками сделать можно.
Блядь, это собеседование с красноглазиками, а не секс по телефону с бабенкой с приятным голосом.
На хуй вам это надо?
Послушать, как двачера унижают?
короче,фронт выводить исп пхп или в можно навелосипедить на джаве,станиц будет не много
Мне пиздец как интересно, я бывают смотрю на ютубе online interview
Можно из консоли джарники делать.
Бекенд больше нравится, глядя на коллег рубистов/питонистов-бекендщиков.
>как это руками сделать можно
А чо, правда как-то можно? Охуеть! Все, побежал убирать из проектов мавен, чую, это будет следующим трендом после выкорчевывания спринга. А вообще слишком толсто
Ну это я вроде понял, но я не могу придумать ни одного примера кроме как, например писать в переменную "LastCreated" когда был создан экземпляр объекта.
Как подгрузить у спринга сорцы с джавадоком? Сам спринг импортирован мавеном.
Если static final, то будет нормальная константа класса. Если просто static, то это в сущности глобальная переменная, которая приведёт тебя в ад. Даже пример не хочу давать, просто не делай так никогда.
Ну, во-первых из всех иде приходится юзать наименьшее говно, а во-вторых хуй ты соберёшь без говномавена хоть сколько-нибудь крупный проект.
А если в рекурсивной функции надо подсчитывать сколько она сама себя вызвала раз? Можно параметром, но это наверное говнокод, начинать с параметром cnt = 0, а в конце вызов foo(par1, par2, ++cnt)
>>19516
Два одноклеточных идея- и мейвено-дрочера ожидаемо забыли, о чем шла речь ровно ОДИН пост назад.
А речь там шла, что у анона не выходит ни хуя с этими прекрасными инструментами.
Но одноклеточные дрочеры по любому чиху прибегут рассказывать, как то охуенно все делать на мейвене, и без него нельзя, и какая охуенная идея, просто лучше всех.
Чо-то давно ломбоко-дауна не слышно, с его сладострастными стонами "о, я тру свой ломбок".
Поскорей бы тебя в психушку посадили, выковыриватель спринга.
Не можешь, не используй.
Они нужны тем, кому нужны.
Кому не нужны, могут проходить мимо.
Что непонятно-то?
MATH.PI
Лох, не умеешь работать со своими же инструментами. Это все равно, что ты бы пикрилом гвозди забивал.
Вместо этой хуйни ты конечно же не подсказал, ведь сам не знаешь как без мавена сделать такой жарник.
Жирно, шиз.
Во-первых, если у тебя из разных потоков вызовут этот метод, всё пойдёт по пизде. Во-вторых, кто-то может тебе просто случайно насрать в эту переменную. В-третьих, ты её захочешь потом как-то использовать, а между запуском метода и чтением переменной у тебя будет какой-нибудь безобидный код, который просто вызовет какой-то другой метод, и кто-то в цепочке вызовов решит воспользоваться твоим рекурсивным методом... Да мало ли ещё причин не использовать глобальные переменные.
Вместо того, чтобы ныть, ты, конечно не показал, ни пом, ни рассказал, что ты там в своей иде нажимаешь.
Можешь эту функцию завернуть в объект, создаваемый перед каждым внешним вызовом. Счётчик будет в поле, но не в статическом.
И синглтон к тому же
>Я очень умный, поэтому сижу только в ява-треде
>Другие треды я не посещаю, это ниже моего достоинства
>Дай-ка я их упомяну для красного словца
Тебя друзья из /ga по всей борде ищут. Беги туда скорей.
Это ещё хуйня, в прошлом треде вообще было овер 200 постов про прямоугольники и квадраты ебанные.
Давно бы уже загуглил Idea library jar. Но нет, ты же долбоеб шизанутый и пришел в этот тред.
Он имел в виду static для class members без final.
Я гуглил блеать! На инглиш сайтах показано как через artifacts. Да сука хули я распинаюсь, я никогда не пишу в тред, пока не погуглю на английском.
А кто-то давно их не далал, поэтому не знает ответа на такой простой вопрос
Create Artifact like in this article, but without specifying Main class
и если не получится, вы все пидорасы.
В следующий раз приходи спрашивать, что означает ключевое слово рrivate, мы тебя еще раз обоссым.
Так нахуя ты пришёл к рандомным шизам с двача, если умнее и можешь сам себе помочь?
Я этого не спрашивал, это во-первых.
Во-вторых кто "мы", ты один тут даун.
В третьих, скрылся с глаз моих, букашка.
Если хочешь не JPA и не Spring можешь попробовать легковесную sql2o, она имеет функционал схожий с JdbcTemplate, но без привязок к спрингу. Мне понравилось, тем более для задачи ничего сложнее не требовалось
Тогда смирись с раком, здесь количество ценят выше качества
Так давайте установим!
Потому что одним из минусом этого языка я часто слышу: заебешься с библиотеками. Каждый проект - новая хуйня.
Хер знает, где ты такое слышал. Для основных однотипных задач библиотеки везде либо одни и те же, либо похожие. А то что надо уметь с ними разбираться, а не бросаться везде что-то свое лепить, так это не только в джаве так.
200 постов, а ты так и не выучил, что "ебаные" в данном случае следует писать с одной Н.
Тебе лично прописывается еще 200 постов про квадраты. Может, поумнеешь хоть чутка.
Пома нет, а мейвен есть.
Охуеть.
Лучше бы было наоборот.
Я про это и говорил - ни украсть, ни посторожить не можете без костылей. Да и с костылями тоже.
Пройди в брейнфак тогда.
Охуеть - ему написали миллион библиотек, чтобы он не конструировал велосипеды, а он недоволен.
Заебешься не с библиотеками, а с мудаками, которые вместо всеми используемых либ (типа апачи коммонс или гуавы) найдут какого-нибудь пиздоглазого с недописанным проектом в гитхабе, и будут этот проект совать в продашкен. Таких тут полтреда, кстати.
>дегенерат
Ахахахахаха.
Собрать джарник не можешь ты, а дегенарт я.
Ну, ок. Побуду тогда дегенератом. Это лучше, чем быть такой одаренной личностью, как ты.
Ну, хуй знает.
5 минут назад запустил идею, сварганил новый проект. Без всякого мейна.
Сделал через идею джар.
Впервые в жизни.
Дегенерат может. А ты нет.
Плохо быть тобой. Хуже, чем дегенератом.
Кстати, аноны, а чо так много движений надо делать?
В эклипсе - правой кнопкой на проект нажал, выбрал "Export" и дальше все элементарно.
И еще аноны - как в идее быстрее всего антовский билд.хмл прикрутить к проекту/модулю?
Ты до сих пор думаешь, что разговариваешь с немощем, который не может собрать джар в идее? Реально дегенерат.
Я разговариваю с говном, которое убеждает себя в том, что я дегенерат.
Уже который пост.
Давай, еще подпрыгни, говно. Ты же за этим на двач ходишь.
Кто я такой, чтобы тебе мешать?
Неужели, дегенерат?
Может, ещё до запятых доебёшься, филолог? Пока этого слова нет в словаре, буду писать, как хочу, хоть "ипаннныйи".
Это при создании проекта что ли?
Какая разница? При создании клиентского сокета ты должен указать URL и номер порта на сервере. И поебать, в локальной сети он находится или нет.
Ты, наверное, думаешь, что если написать программу с сокетами, и запустить, то её сразу весь интернет увидит? Не выйдет, прогу нужно запускать на сервере с белым ip.
алсо, я изучаю спринг, но меня волнует что я нихуя не понимаю как он это все делает, поэтому решил ЕЕ хоть немного изучить. Вообще ЕЕ требуется для устройства на работу?
Никакая не актуальна по большому счету, только некоторые отдельные части - сервлеты и jpa. И в понимании спринга тебе EE не поможет.
Спасибо!
Это даже плюсом к резюме не будет? Я хотел сделать какое-нить говно на спринге и повторить то же самое на ЕЕ и типа вот какой я умный.
Раньше был выбор между спрингом и ЕЕ, но сейчас на чистом ЕЕ мало кто пишет, его даже выкинули из JDK.
>даже плюсом к резюме не будет
Не особо. Даже если попадёшь на EE-проект, со знаниями спринга сможешь сориентироваться.
Не скажу, что это невозможно, но сам я смог когда-то найти либо только триальные, либо с лютыми фаерволами, блочащими большинство портов.
Но если не просто сокеты, а HTTP, то такого полно, тот же pythonanywhere.
Бля, какой pythonanywhere, я же в джава-треде. Нет, не находил.
Ахахаха.
Неудивительно, что неосилятор родного языка не может осилить и искусственный, пусть и сравнительно несложный.
Наверное, школу закончил уже, а так и не понял, что кроме словаря есть правила, по которым слова пишутся так, а не иначе.
Пиздец, тупых хуесосов в треде, охуть можно..
Да я тоже в себя верил.
Но ты не ответил на вопрос, как проще всего подвязать антовский билд, чтобы двумя кликами собирать им.
Я идеей не пользуюсь для промышленной разработки, поэтому не знаю всей этой хуеты.
Пока вижу, что она подозрительно далеко запихнута.
Он не знает ни про маршрутизацию, ни про наты, ни про порт форвардинг.
Ты, похоже, тоже.
Обождите программировать сервера. АСТАНАВИТЕСЬ!
8.
Актуальнее, конечно, 13 (или что там, 14 уже есть?).
Но 7 против 8 это ни о чем.
Дальнейшие изменения достаточно мелкие.
А в 8-й - лямбды и стримы.
Блядь, как может быть выбор между спрингом и ЕЕ, если спринг работает ПОВЕРХ, блядь, ЕЕ!
сервлеты и прочая хуета это не ЕЕ теперь?
Про EE там был вопрос
Как следует реализовывать подобные вещи?
Вот ещё вариации, там его можно было private сделать
Он юзает некоторые ЕЕ технологии и вообще был с ним совместим в бородатые года.
Ну дружище, тут нужно исходить из того что знаешь наверное, иначе какой смысл случайно проекты накидывать. Как напишешь какой стек так тебе помогут
Всё норм
Amazon Corretto
О чем и речь
Могу продать пару. Недорого.
Чаще всего задаются вопросы, решаемые первой строчкой гугла. Ну может на английском, но это не оправдание для разработчика.
Тебе-то откуда знать?
Ты же не разработчик. Ты сидишь на дваче и срешь говном про строчки гугла.
А у тебя было три варианта:
1. промолчать, потому что ты ни хуя не знаешь
2. ответить на вопрос, но эты же ни хуя не знаешь
3. высирать говно ртом про гугл и разработчиков
Слегка неприятно, что животные, навроде тебя, не пасутся больше в жс-треде, а забредают и сюда.
Тебе трипкод петушиный надо бы, чтобы автоскрытие делать на твое дефекативное появление в треде.
>Он юзает некоторые ЕЕ технологии и вообще был с ним совместим в бородатые года.
Совместим-то он и сейчас, в том смысле, что ты можешь взять условный WildFly со всеми его EJB и JSF, где-то рядом с этим использовать спринг, и все будет работать. Вот только нахера так делать? Нет сегодня смысла так делать.
Современное типичное спринг-приложение от EE берет Servlet API как прослойку над веб-сервером и JPA как прослойку над хибернейтом. Ради этого открывать талмуды по EE, начинать разбираться со всякими CDI и JTA, пытаться на всем этом что-то писать - нет никакого резона.
Не говоря даже о том, что спринг прекрасно работает и без сервлетов - в сервисах, где вообще не нужен веб, или с новым WebFlux.
Ну да. И пом.хмл писать руками, включая неймспейсы. Нет, конечно, не бойся. Максимум - названия методов вспомнить.
Если бы все могли так вот просто отказаться от мавена, то и от джавы 7/8 все бы так же легко отказались.
А что про него вспоминать, используем себе спокойно и все
Битый час горожу костыли для записи utf8 в файлы, пока ничего не получается. Написал просто русскими буквами для теста, теперь вообще не компилируется.
Его даже в даунке учат https://ru.bmstu.wiki/Apache_Beam
Но сейчас, в век интернета и веба, чем джава может зарекомендовать себя, чтобы вкатывались в нее, а не в js, php, go , c#, pyhton + ml и т.д ?
Энтерпрайз, в том числе банки/финансы
Обычная + Spring initializr в принципе сойдет.
В ультимейт можно удобнее содержимое у БД смотреть и есть окошко с зависимостями мавен с кнопкой обновить.1
помянем ..
Я никогда не забуду, когда в жс треде какой-то даун спросил что такое cuurent на пикче и из какой этой библиотеки, мол он не смог нагуглить. Хорошо, что наш тред где-то там внизу, в наших тредах срать на вкат, мы знаем джаву наизусть, е.
Я тоже так иногда развлекаюсь.
Бамп вопросу.
Не такая уж древняя.
BlueJ
DrJava
NetBeans
Eclipse
ты бы сперва обеспокоился тем, ЧТО ты пишешь
Оно-то у тебя в какой кодировке?
И как ты в этом убедился?
че?
Нахуя вспоминать говно?
Ява вроде по умолчанию шпарить всё в утф-8 не?
Для других кодировок специально указываем виндоус-1251 или что там нужно.
Ты каким софтом смотришь файлы то?
Вот заблочат тебе двач на работе, тогда сам будешь фотографировать монитор.
Как при десериализации из JSON полностью запретить во входном жсоне все нуллы? Jackson игнорирует мои @Nonnull, а еще если я ожидаю коллекцию объектов, он позволяет жсон-строке содержать такие прикольные штуки, как null, [null] и, допустим, [{ name: null }].
Как бы мне эти нуллы вообще полностью запретить? Не хочется после десериализации делать фор-ич по коллекции с проверкой моих @Nonnull-свойств на нулл.
Какой он нахуй прогер. Желторотая манька, впервые увидевшая видео по джаве от говноютубера и переписавшая с ошибками код, впоследствии обосравшаяся и прибежавшая в тред.
Гугл.
Двачеры триггерятся на что угодно, блядь.
Рвутся жопами и срут ртом.
А нормальный человек просто заметил бы, что пассажира зовут Далихан, и учетка в винде на кириллице. Усмехнулся бы в бороду, и пошел бы дальше своими делами заниматься.
Короче, двачер - хуже червя-пидора, даже если он в ява-треде делает вид, что умеет программировать.
Точка с запятой, которую пассажир не может найти сам и приходит за помощью на двач.
Это лишь следствие.
Индусы не из-за тупости плохо пишут, а потому что у них оплачивают по количеству строк.
В шарпе все цивильно и петушни нет, в джава треде петушня.. может быть это джава разводит петушню, а не аноны?
Готов поспорить, что это рубисты тут разводят петушню, прикрываясь тем, что они якобы джависты.
Тогда может петушная - это Оп?
Или ГОвнисты возможно.
Ахахахаха.
Тупой хуесос не понимает, о чем идет речь, бросается, бранясь и высирая ртом потоки шизофазии, отвечать.
Классика.
Жаль только, что в этом треде.
Чо, из жс-треда тебя уже выгнали?
Со следующего твоего поста начнем тебя, такое говно, игнорить. Уболтал, чертяка языкастый
Пиздец ты ебанутый бля. У тебя просто мозг весь в говне и желчи, я не понимаю почему ты не сдохнешь нахуй.
Ты про трипкод забыл, уебок. На каждый пост в треде как шавка кидается, обтекая слюнями, бешеное животное, нуждающееся в усыплении.
Надо просто всем выключить чсв и петушня пропадет. На все вопросы в треде каждый считает своим долгом выебнуться, поумничать, потроллить.
>говно!
>моча!
>сдохнешь нахуй!
>уебок!
>шавка!
>нуждаешься в усыплении!
>ТЫ БЕШЕНОЕ ЖИВОТНОЕ
Ахахахахахаха, если ты не троллишь, то давай еще!
Пиздец ты ебанутый бля. У тебя просто мозг весь в говне и желчи, я не понимаю почему ты не сдохнешь нахуй.
Ты про трипкод забыл, уебок. На каждый пост в треде как шавка кидается, обтекая слюнями, бешеное животное, нуждающееся в усыплении.
ООП нинужна!
Но сможешь ли ты сдержаться, аноний с подгорающей жопой?
Инструмент нужен для решения конктретной задачи.
Если для решения задачи подходят несколько инструментов, уже дальше думаешь.
Простота задачи не влияет на выбор инструмента.
Открутить шуруп - задача простая, а, вон, гляди ж ты, каких-то шуруповертов напридумывали с аккумуляторами.
Если ты не знаешь, зачем тебе нужен бут, и почему именно он, то он тебе не нужен.
Никогда.
Вся разница между ними - это скорость создания начальной конфигурации проекта. При разработке разницы нет вообще. Сейчас набегут.
Да вы небось их треды засирали.
Там где тебе надо инжектить и что-то свое инициализировать в менеджд бине.
Если не знаешь, где это, тебе это не нужно.
Это стандартная аннотация, при чем тут Спринга?
https://docs.oracle.com/javaee/7/api/javax/annotation/PostConstruct.html
static void demoproc() {
try {
throw new NullPointerException("demo");
}
catch (NullPointerException e) {
System.out.println("caught inside demoproc");
throw e;
} }
Нахуй оно надо, если мы его и так в catch поймаем?
И на кой хер там еще throw e?
Можно. Устраиваешься в какой-нибудь кровавый энтерпрайз на десятки тысяч человек, тебя ставят на какой-нибудь легаси проект и сидишь крутишь свою гайку по часу в день, остальное время капчуешь и смотришь ютуб, получаешь выше среднего по рынку.
Только через 5 лет такой жизни обнаруживаешь себя на дне, знаний менше чем когда универ закончил, зп уже не такая и средняя, повышение просить не за что, концентрироваться совершенно разучился, поэтому нихуя нового не можешь выучить, а устраиваться в другое место без скилов - страшно.
Но конечно
>Получение бабла нихуя не делая это топ
а я тупая промытка, да.
Логирование.
Обычно throw используется всё таки чтобы исключение прокинуть на уровень (или уровни) выше, а не ловить его прямо тут же. По сути весь try catch в твоём примере нужен только для того чтобы лог записать, помимо этого выкинь его - и не увидишь разницы.
Короче, очень искуственный пример, который ты явно спиздил с какой-то книжки/курса, не почитав текст вокруг. Поищи на том же гитхабе как люди обычно try catch и throw использую в реальном коде.
>как люди обычно try catch и throw использую в реальном коде
Борются с проверяемыми исключениями.
>концентрироваться совершенно разучился
Двачую анона, после 3 лет в 2 канторах началось такое.
Как ты с этим боролся анон? Я понимаю, что просто мотивация уже не такая как раньше, но может есть какие-нибудь советы как организовать процесс.
Не нравятся checked exceptions - смени язык. На тот же питон. А в java отказываться от них глупо, это одна из фишек языка.
Да ты заебал уже не читать, на что отвечаешь, мудила.
>чтобы исключение прокинуть на уровень (или уровни) выше, а не ловить его прямо тут же
А зачем это может быть нужно? Почему не можем в этом же try'е его ловить? К примеру если у нас где-то на уровень выше уже обработчик написан и чтобы его второй раз не писать?
>К примеру если у нас где-то на уровень выше уже обработчик написан и чтобы его второй раз не писать?
Да.
Ты очень умный зато.
Мы специально и приходим в этот тред, чтобы почитать твои высокоинтеллектуальные вопросы и посмотреть, как у тебя на пустом месте подгорает зад.
Нет. Буду смотреть, как у тебя полыхает.
Это тебя яваскрипт довел до такого состояния?
Или ты вобоще не программист, а тут просто сидишь среди образованных людей и бомбишь?
Но ведь это не я читаю начало предложения и конец, а середину пропускаю, а ты. Ты, тупорылый кусок говна.
Никак, пока продолжаю сидеть в этой конторе. Периодически на меня накатывает, прохожу какой-нибудь курс, но без практики всё это без толку, забывается быстро. На работе недавно перешли с java6 на java8, так что о практике чего-либо там можно забыть. А pet project, где бы можно было использовать востребованные современные технологии, придумать не могу. Я блять уже готов сам приплачивать, только бы работать в нормальном проекте, с адекватными людьми и современными технологиями.
В плане концентрации для меня работала техника pomodoro, когда заводишь таймер на 25 минут и концентрируешься, как только прозвенел - делаешь перерыв, даже если интересно и "да вот тут чуть-чуть доделать". В следующие 25 минут это оставшееся "чуть-чуть доделать" как раз способствует меньшим усилиям для поддержания концентрации.
Ахахахаха.
Ничего. Когда-нибудь ты устроишься на работу, и сможешь позволить себе купить таблетки.
А пока бомби, конечно.
>А pet project, где бы можно было использовать востребованные современные технологии, придумать не могу.
Напиши сервис, который будет парсить двач и фиксировать для истории каждый случай подрыва пердячего пара у местного психа.
Потом отчетик красивый сделаешь. Подаришь ему на новый год.
Чешу.
>Почему не можем в этом же try'е его ловить?
Потому что ПРЯМТУТ ты часто не знаешь, как реагировать на исключение.
Например, есть у тебя метод, который читает данные из файла и кидает наверх исключение, если файла нет.
И есть 2 куска бизнес логики, один критичный, который не может работать без файла, другой не очень критичный и данные из файла для него не очень принципиальны, он может работать и без них. Оба куска пользуются этим методом для чтения из файла.
В первом случае надо поймать исключение (сообщение о том, что файла нет) и как-то адекватно отреагировать на это (убить приложение, email написать, alert куда-нибудь послать), а во втором случае отсутствие файла не так критично, ты можешь просто заголировать что файл не нашёл и идти дальше.
Если бы ты обрабатывал исключение на месте, ты бы не смог сделать такое разделение логики, а прокинув наверх - можешь. Общее правило: не знаешь что делать с исключением - кидай наверх, на одном из верхних уровней абстракции будет более очевидно что с ним делать.
Не.
Ты чересчур непонятливый.
Плевать, какой у тебя файл.
Ты пишешь не файл.
Ты пишешь какие-то данные, которые ты как-то прочитал.
Как ты их прочитал из своего утф8? Что с ними потом сделал?
Как пишешь?
Можно в web.xml сделать ContextLoaderListener, который создаёт ApplicationContext и настраивает, используя конфиг, взятый из параметра ServletContext. При этом, если нужен DispathcerServlet, он регистрируется в web.xml. Так?
Можно реализовать WebApplicationInitializer, тогда Спринг сам создаст ApplicationContext, а DispatcherServlet регистрируется программно в onStartup. Правильно ли я понимаю?
Есть вопрос: где во втором случае (инициализация через WebApplicationInitializer) Спринг берёт конфиг для ApplicationContext и бинов в нём?
Так себе пример.
Для обоих случаев можно заменить исключение на возврат разумных данных.
Если данные прочлись - все ок.
Если данные не прочлись, вернлся налл, или пустая коллекция, фиг знает, во что ты там хотел читать.
Можем работать без данных - работаем. Не можем - не работаем.
Или тебе надо на самом верху знать, что данных нет именно потому, что нету файла?
А еще, ведь, файл может быть, а данных в нем нет. Или они неполные. Или файл кривой.
Ты не заколебешься на каждый случай кидать эксепшен?
Я пишу данные из файла с кодировкой UTF8. То есть они тоже должны быть в неё закодированы. Разве нет?
Если слишком сумбурно выразился, то скажу короче - строка для записи содержится в файле с кодом. Я её создаю просто так, String a = "123тест".
А симпы будут?
И ты знаешь, что этот исходник у тебя точно в утф-8?
А то потом окажется, что он у тебя в вин1251
try ( OutputStreamWriter writer =
new OutputStreamWriter ( new FileOutputStream( file ), StandardCharsets.UTF_8 ) )
// тут пишешь
}
1. открываешь исходный файл, смотришь на код символа в позиции 1
2. в коде после чтения смотришь на код символа в позиции 1
3. после записи открываешь полученный файл, смотришь на код символа в позиции 1
если в 2 не совпадает, ты неправильно читаешь
если в 3 не совпадает, ты неправильно пишешь
если везде все совпадает, ты заебал
Продолжай.
Жду, когда тебя опять порвет, и начнется шизофазия про уебка, трипкоды, и что ты за хуйню там еще несешь
>Можно реализовать WebApplicationInitializer, тогда Спринг сам создаст ApplicationContext
Не совсем. Готовый вариант, где все будет само, есть в springboot. А вообще в своем WebApplicationInitializer нужно самому создать контекст (обычно AnnotationConfigWebApplicationContext) и указать для него исходный конфиг (пакеты для сканирования или классы @Configuration).
Ты когда трипкод себе сделаешь?
Есть нормальный такой #cherkash
Он был у шизоида-фрилансера-вебмакаки из каринатреда в /fag
>Для обоих случаев можно заменить исключение на возврат разумных данных.
Да, пример немного искуственный, но смысл тем не менее есть. Отсутствие данных в файле и отсутствие файла как такового - это разные вещи, и я могу представить ситуации, когда нужно их обрабатывать по разному. Ну или забъём на файл, представим что вместо файла у нас база, так даже реалистичнее. Ты же не будешь спорить, что отсутствие данных в базе и невозможность подключиться к базе - это разные сценарии, требующие разной реакции?
>А еще, ведь, файл может быть, а данных в нем нет. Или они неполные. Или файл кривой.
>Ты не заколебешься на каждый случай кидать эксепшен?
А вот для этого исключения можно наследовать друг от друга. На каком-то уровне абстракции тебе важно, что именно произошло, на другом достаточно КакаяТоХуйняСДаннымиException. У тебя может быть несколько исключений типа НетКоннектаException, НетДанныхException, НетДоступаException, которые все наследуются от КакаяТоХуйняСДаннымиException.
Конечно, такой огород городить не всегда необходимо, обычно хватает стандартных исключений, но в больших проектах иногда приходится.
А в остальном все так
>Ты же не будешь спорить, что отсутствие данных в базе и невозможность подключиться к базе - это разные сценарии, требующие разной реакции?
Не буду.
И именно поэтому я буду подходить к ним по-разному.
Сперва я проверю наличие коннекта с базой, и поступлю сообразно результату.
Потому буду читать данные. И буду поступать сообразно их наличию, составу и т. д.
А если коннект отвалится по ходу чтения, я ничего не буду делать - рантайм эксепшен все сделает за меня.
Т.е. идея в том, чтобы эксепшены соответствовали контексту.
>boot boot boot boot boot boot boot boot boot boot boot boot boot boot
>сами ничего не можем, нам нужен
>boot boot boot boot boot boot boot boot boot boot boot boot boot boot
Второй пункт не понел. Сделать вывод кода 1 символа в ходе выполнения?
Среди тысяч стримерш я вижу проблемы.
Весь русский Твич, как зверинец отменный.
Со мной у тебя нет проблем до момента,
Пока не решила лить бред перманентно в сеть.
Все ненавидят тусовки, страдают чертовски,
Словно от святых богинь черкаш скользский.
То форс, то слив, то теряю конфу.
Хейтер эмпати клеветой доконал.
Привет, Карина! Привет, Карина!
Вся рубашка в пятнах, да андрюха спятил.
Ты поймешь весь ужас, но увы не сейчас.
Возненавидишь дрюса, заяви: "Презираю тебя, мразь!"
#Фажикпротив любит вас!
Презираю тебя, мразь!
#Фажикпротив против любит вас!
Здесь никому не дают спас!
Презираю тебя!
Секретчикам-сукам команда лежим.
Это выше чем для нищего джип.
Это важно как Симону треда архив,
Как Петухане ответы на посты свои.
Скажи, сколько мудаков так погорело на лжи?
Эмпати, Аутист, Ловлет, Браунде ...
Это клон? Это клон?
Мразь растет. Для тех кому вы нужны.
#Фажикпротив против любит вас!
Презираю тебя...
Новый стрим, как звонок собаке Павлова.
Дети видят росписи у Шмакова.
После такого уже точно надо сваливать.
Они ушли, но чтоб смотреть Наподхвате.
Не свихнутся, нужен еще нервов запас.
Протеин не вычислит, Карина не даст.
Эмпати не разобьется, выживет Аутист.
Если веселит тебя Андрюха
Презираю тебя, мразь!
#Фажикпротив любит вас!
Презираю тебя, мразь!
Ну что, Славик, подловили, как мага без маны.
Тебя сдали свои же кореша наркоманы.
Секретчиков туса чересчур болтлива,
Слива не избежать, на них как полиграф пива.
Если есть в тебе мужика зачатки,
Отчаян я и потому Дантес лови перчатку.
Включайся пидор, хочу сатисфакций.
Либо Versus, йоу, либо гоу драться.
Среди тысяч стримерш я вижу проблемы.
Весь русский Твич, как зверинец отменный.
Со мной у тебя нет проблем до момента,
Пока не решила лить бред перманентно в сеть.
Все ненавидят тусовки, страдают чертовски,
Словно от святых богинь черкаш скользский.
То форс, то слив, то теряю конфу.
Хейтер эмпати клеветой доконал.
Привет, Карина! Привет, Карина!
Вся рубашка в пятнах, да андрюха спятил.
Ты поймешь весь ужас, но увы не сейчас.
Возненавидишь дрюса, заяви: "Презираю тебя, мразь!"
#Фажикпротив любит вас!
Презираю тебя, мразь!
#Фажикпротив против любит вас!
Здесь никому не дают спас!
Презираю тебя!
Секретчикам-сукам команда лежим.
Это выше чем для нищего джип.
Это важно как Симону треда архив,
Как Петухане ответы на посты свои.
Скажи, сколько мудаков так погорело на лжи?
Эмпати, Аутист, Ловлет, Браунде ...
Это клон? Это клон?
Мразь растет. Для тех кому вы нужны.
#Фажикпротив против любит вас!
Презираю тебя...
Новый стрим, как звонок собаке Павлова.
Дети видят росписи у Шмакова.
После такого уже точно надо сваливать.
Они ушли, но чтоб смотреть Наподхвате.
Не свихнутся, нужен еще нервов запас.
Протеин не вычислит, Карина не даст.
Эмпати не разобьется, выживет Аутист.
Если веселит тебя Андрюха
Презираю тебя, мразь!
#Фажикпротив любит вас!
Презираю тебя, мразь!
Ну что, Славик, подловили, как мага без маны.
Тебя сдали свои же кореша наркоманы.
Секретчиков туса чересчур болтлива,
Слива не избежать, на них как полиграф пива.
Если есть в тебе мужика зачатки,
Отчаян я и потому Дантес лови перчатку.
Включайся пидор, хочу сатисфакций.
Либо Versus, йоу, либо гоу драться.
Чего, блять? Когда их миллион раз раскритиковали на всех уровнях и не выпилили чисто из-за обратной совместимости, их кто-то до сих пор считает плюсом? Это уже на стокгольмский синдром похоже.
То есть в обоих случаях можно настроить через @Configuration, но через xml - только в первом?
Да можно и, начав с configuration, потом указать в них пути к xml. Спринг, сука, гибкий.
>поступлю сообразно результату.
А именно?
Давай представим, что у нас не консольное приложение, в котором можно в любой момент залогировать ошибку, вызвать System.exit(1) и пусть тот, кто вызывал, починит там всё и вызовет ещё раз, а веб-сервер, обслуживающий клиентов. Есть метод1 работающий с req/res, есть метод2, работающий с базой, метод1 напрямую или через несколько вызовов вызывает метод2. Если к тебе на сервер пришёл клиент, ты дошёл до метода2 и словил ошибку подключения, как ты от второго метода к первому передашь информацию об этом? В случае доступности базы ты бы вернул, допустим, коллекцию с данными, а тут что? Прикнуришь к коллекции сбоку errorCode? Или всё таки прокинешь exception?
Вот ещё не совсем понял. Как Спринг вообще понимает, какой из контекстов конфигурируется классом @Configuration? Контексты же вроде можно в иерархии выстраивать и всякое такое. Это где-то явно указывается?
В явном виде, создавая контекст, ты где-то указываешь конкретные классы или конкретные пакеты для сканирования. Как некую входную точку. Дальше уже все может тянутся одно за другим.
>Контексты же вроде можно в иерархии выстраивать и всякое такое.
Можно, но редко нужно. Лучше особо этим не увлекаться.
>Типа, каждому DispatcherServlet по своему контексту
На практике нет в этом смысла обычно, и в нескольких DispatcherServlet нет.
Да.
Зато интеллектуальный уровень повыше, хоть и петушни немало. Вон, в питонотреде до сих пор разбираются, как print() работает.
Если б не этот наш один псих, тут было бы вообще почти лампово
> их миллион раз раскритиковали
А еще зумерам не нравится, что компилятор не дает стринг в инт положить.
Мы им очень сочувствуем, но слезы оставим на потом.
Если ты про первую часть - проверить коннекцию, то она играет только при старте, пользователей еще нет, единственный пользователь - инженер-запускальщик, который смотрит, чо там творится.
Естественно, что в веб-сервере никто при каждом запросе не станет проверять валидность коннекции.
Рантайм эксепшен отловится на каком-нибудь из уровней.
Это если ошибка не рековерабл (а она в этом случае и не рековерабл - ты не знаешь, что у тебя с базой, сможешь ли ты просто перезаконнектиться, что у тебя с контекстами, транзакциями и кэшами в приложении), то тебе ничего не остается делать, как в лог вывести стэктрейс, а пользователю - читабельное сообщение об ошибке.
Если по какой-то причине, ты сочтешь, что потеря коннекции с базой в бэкенде это восстановимая ситуация (ну-ну), ты, конечно, поймаешь чекд эксепшен и его обработаешь.
Никак не пойму, в чем дело.
По началу ломало а потом привык, стресс пропал, уверенность подъехала, особенно после того как разобрался в технологиях и понял как задачи решать.
Есть ещё проблемы по части проектирования базы данных и общей архитектуры компонентов, много думаю, переделываю потом, ищу оптимальные решения. Самое интересное там кроме меня никто не париться.
>Как устроился?
Первое что могу сказать в программаче нашёл много полезной информации, многое схоронил, иногда выкидываю из загашников и получаю лучи добра от анонов.
Говорю какой раз
Запили фейк резюме на хх и проси тестовые. Так поймёшь что за конторы сразу шлют задания без выебонов, а кто выёбывается, игнорит или сразу отказ шлёт.
Тестовые сложные обычно. Это и есть отбор. Я прикинул что поиск занимает примерно месяц.
Пишут сотни вкатальщиков, каждый день. Делать начинают меньше 10. Все кто сделает идут на собес. Таких примерно 1-2-3.
Естественно у меня зелёный гит и 1000+ коммитов в год технологии вкуривал. Это всегда +
>Естественно у меня зелёный гит и 1000+ коммитов в год технологии вкуривал. Это всегда +
Куда ты столько комитил - в свои домашние проджекты или комментарии в опенсурс проектах исправлял?
Когда тебя не устраивает реализация в базовом методе, и нужно точно сделать так, чтобы вызывался твоей метод, а не базовый, а LSP идёт нахуй. Без @Override можно случайно создать новый метод и не заметить. А с аннотацией компилятор ругнётся, и бага не будет. В прошлом треде обсуждалось.
Спасибо, анон.
Разобрался с воверлёдин, спасибо, анон. Ал Ал
Я в мейне вызываю другой метод без параметров и все. А тот метод в свою очередь гетает значения с других методов
На что мне написали need pass arguments through environment variables
А понел, надо в мейне получается чтоб считывало и кушало эти переменные
>mvc:annotation-driven
Тут ключевое слово mvc. Это означает "включи мне spring-mvc, контроллеры буду настраивать аннотациями".
Я пока так далеко не заходил, только конфигурирование контекстов и сервлетов изучаю. Мне пока что нужно понять: именно в данном случае эта аннотация располагается в xml-конфиге WebApplicationContext, именно для того, чтобы Спринг подгрузил бины-обработчики аннотаций mvc?
Аригатки.
Насколько важно знать RMI технологию? и нужна ли она вообще? или я могу смело не зацикливаться на ней и идти дальше?
спасибо
В самом хайбрисе чувствую себя неплохо, могу решить практически любую задачу, хорошо знаю солр, знаю микросервисную архитектуру, писал фронт на реакте.
Поясните мне по хардкору, это у меня синдром самозванца и ложные опасения или я реально лунь и проебал кучу времени ничему не научившись?
Это у всех так или только у меня?
Если кому интересно, решил добавлением параметра -encoding UTF-8 к команде компиляции.
>хайбрис-проекте
Что за хуита?
>Это у всех так или только у меня?
Сейм шит братюня.
Я чуть меньше тебя работал но проблемы теже.
Нужно опять вкурить теорию.
Нужно опять писать пед проекты на технологиях которые тебе нужны + докер гит и т.д.
Spring.*
Hibernate
JUnit
Log4j
Guava
Commons IO
Mockito
Commons lang
Servlet API
Jackson
Vaadin
SparkJava
Kafka/RabbitMQ
>полтора года
>в хайбрисе чувствую себя неплохо
>хорошо знаю солр, знаю микросервисную архитектуру, писал фронт на реакте
Звучит вполне нормально. "Трай-кеч" и гит надо будет подтянуть перед новой работой, но так это не страшно.
Да. Передаю formData, перед этим делаю в неё .append("name", "тест"). После этого на сервере принимаю (String) request.getParameter("name") и записываю его в файл. В итоге получается набор случайных символов. В то время, как та тестовая строка String = "тест123" нормально пишется.
Заранее же. Через этот же сервлет нужно передавать и файлы, просто пока пытаюсь разобраться с текстовыми данными.
>После этого на сервере принимаю (String) request.getParameter("name") и записываю его в файл. В итоге получается набор случайных символов.
И как из этого следует, что виноват джаваскрипт?
Я не говорил, что он обязательно виноват. Я наоборот не уверен:
>до файла не доходят в нормальном виде строковые параметры
>вручную прописанные строки в файл пишутся нормально
Это ничего не значит. А раз про джаваскрипт ты уже не уверен, перечитай еще раз, что тебе отвечают.
Но мне пока ничего особо не ответили. При убирании аннотации сервлет, как и ожидалось, перестаёт реагировать на formData. Я так понимаю, что если formData - значит, реквест по умолчанию multipart.
Вкатываюсь в java по книгам Файна и Эккеля. Немного знаю sql, с английским всё норм.
Мой апофеоз говнокодинга - автокликер для доты, который самостоятельно принимает игру, когда она находится. Работает через скриншот экрана каждые десять секунд и поиск определенных пикселей по цвету.
Можно ли устроится на работу джуном с такими навыками?
Хотел бы ещё выучить Spring и git, но мне кажется что это очень тяжело сделать, не имея какого то реального проекта, который все это будет использовать. Или я не прав?
Ну, можно сделать так:
<script>
var data = (сюда подставляются данные на стороне сервера);
</script>
Клиент получит страницу с готовыми данными в переменной data.
Ну вообще неплохой вариант, учитывая, что в блоке script все равно будет код для запуска js. Спасибо.
Джуном - нет, не реально. Такие задачи даже не на джаве пишут, работодателя этим не впечатлить. Впрочем, я видел и такие предложения, где требуют только знание java core. Но их очень мало даже в ДС.
Спринг и гит можно осилить и без реального проекта. Можешь написать для себя пет-проект, например, интернет-магазин, и выкладывать его на гитхаб по мере разработки. На работе всё равно что-то придётся доучивать, но базовые вещи вполне можно выучить и сейчас.
я правильно понимаю, что если я в состоянии выкладывать свой проект кусочками на github, то это считается что я немного знаю git?
https://githowto.com/ru
Учи по этому сайту. Гит очень простая штука, на самом деле. В иде у тебя скорее всего будет поддержка гита, так что все команды наизусть помнить не обязательно.
Спасибо большое!
Это копия, сохраненная 18 ноября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.