Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ? A: Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна. Сейчас все советуют Hyperskill. Более продуманный план обучения. Но, как и любой %COURSENAME% не гарантирует тебе успешного вката. Выучиться можно и самостоятельно, не отдавая свои кровные васянам-наставникам.
Q: Посоны, собираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом? A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред. Но в последнее время увеличивается количество вакансий на удаленке в связи с ковидом. Но, возможно, как вся эта мракобесия закончится, всех обратно загонят в стойло.
Q: Значит, я должен буду всю жизнь сидеть в опенспейсе, конвертируя XML в эксепшны? Ура, мне подходит! С чего начать? A: Книги: https://libgen.is
Q: Хули все книги на английском? A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Я не могу в книги. Наткнулся на джавараш, но в самом верхнем вопросе уловил нотки сарказма. С ним все правда плохо? A: В наших тредах постоянно появляются люди, спрашивающие о джавараше. Громко объявляют, что начинают заниматься, задают пару тупых вопросов и куда-то пропадают. Похоже, большинство адекватов бросают джавараш из-за дебильных заданий типа "десять раз скопипасти этот кусок кода и выведи в консоль". Тем не менее, иногда появляются и люди, говорящие что прошли его целиком, и что дальше задания получше. Короче, хочешь - пробуй, первые десять занятий бесплатно же. Но, как минимум, лучше совмещать с обучением по другим источникам. На самом деле ты просто потратишь свое время на какой-то мусор.
Q: Всё это хорошо, но без алгоритмов меня на работу не возьмут. A: Не все конторы дрочат на подход Яндекса который спиздил подход гугла. Но для крупных фирм знать алгоритмы маст хев уже на уровне джуна/трейни, вот курсы от Принстонского университета: https://www.coursera.org/course/algs4partI То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java
Что читать/смотреть, чтобы максимально быстро поднять Core Java? Предлагают перекатиться с друого языка, кодил много, проблем быть не должно. По спецификации пробежаться? Хорстманн что-то хуетой показался.
Учу жс, ужасаюсь от того, сколько там понаварочено хуйни, вникать в которую нет никакого желания. Это все действительно надо знать или можно просто писать в джава-стиле и не ебать мозги?
>>1842372 Не прям всё надо обязательно знать, но и писать как на джаве нельзя. Я бы прочитал всё, но без задрачивания, а затем бы поискал пет-проекты на js на гитхабе и посмотрел в них, что реально юзается.
Сап аноны, поступил в уник и языком выбрал Java, подскажите что нужно дрочить и как набрать знаний, чтобы на 2.5-3 курсе можно было бы устроиться на работу?
Аноны, мб кто знает какое-нибудь открытое API, возвращающее данные в стандарте ISA-95? Пытался в гугл, без адекватных результатов. Даже если нет подобного API, может есть у кого примеры в виде файлов, был бы очень благодарен
Пиздец, дико туплю. Есть один жарник, которого нет в Maven Central, хочу его добавить в проект, но чтобы и на тестовых и прод серверах все ок работало. Добавил в проект, в директорию ${project.basedir}/lib/xyita/xyita-name-14.8.8.jar, прописал билд
Поясните что делать после кора? В требованиях на вакансии пишут знать sql, а как его попробовать применить если в спринге ORM ? Что запилить на чистом sql, если знаю только кор, который нигде не применял, никогда? Что делать дальше, я не понимаю!?
>>1843987 В спринге не только ORM, но и JdbcTemplate и ещё куча всего, там чистый SQL. ORM не означает отказ от SQL, в реальных проектах их используют совместно. На чистом коре далеко не разгуляешься, учи упомянутый тобой спринг, затем пиши какой-нибудь круд-форум-борду-магазин (или что-нибудь поинтереснее, если есть фантазия).
>>1845294 Учи учи Привыкай к строгой типизации, не будешь либерахой как питонисты. Эти вообще метаются туда сюда Хочу стринг, а потом хочу стринг в инт или в байт
>>1845485 Так в чем минусы синтаксиса джавы? Мне просто интересно, я других языков то и не видел почти. У меня пока бомбит только от генериков в сложных случаях применения(рефлексия, каррирование), голову просто сломишь. Но не уверен, что это минус, возможно для меня, как для ньюфага сложно. Ну и большое количество бойлерплейта для самой маленькой задачи просто убедило писать его через генерацию в идее. Писать джава-код в блокноте это мучение. Ну и половина тем в курсе по джава кору это преодоление этой самой статической типизации.
Аноны, молю, выручайте. Есть один XML файл, есть один POJO класс, сгенеренный по XSD. Хочу данные с XML скастить в имеющийся класс и все заебись, но только при работе с локальным файлом. Как только я пытаюсь с интернетов скочать тот же самый файл и прогнать через JAXB в нужный мне класс – ХУЙ. Все поля null. Почему так нахуй?
>>1842154 (OP) Есть опенсорс проекты на Spring Boot, чтобы увидеть как это должно выглядеть? Гугл дает конечно, но там дрисня индусская, реальные проекты есть? Или все написано сейчас на джеэсовских фреймворках без капли джавы
>>1845835 >Так в чем минусы синтаксиса джавы? Мне просто интересно, я других языков то и не видел почти. Ты сам знаешь: >Ну и большое количество бойлерплейта для самой маленькой задачи просто убедило писать его через генерацию в идее. Писать джава-код в блокноте это мучение.
>У меня пока бомбит только от генериков в сложных случаях применения(рефлексия, каррирование), голову просто сломишь. Но не уверен, что это минус, возможно для меня, как для ньюфага сложно. Для ньюфага дженерики и рефлексия нахуй не нужны.
>>1845835 Недостатки джавы являются продолжением достоинств.
Джава - простой язык, совершенно лишённый двусмысленности. Опытный программист читает его просто боковым зрением на автопилоте. Это вообще единственный такой язык, в этом и причина популярности.
Несравнимая с другими языками инструментальная поддержка - тоже по этой причине.
Оборотная сторона - многословность и некоторая дубовость. Тяжело писать сложный код без IDE. Зато с IDE писать - одно удовольствие.
Если бы this-типы сделали, было бы вообще охуенно.
Мне после 8 лет жабы одно удовольствие писать микросервисы на го. И 1 сервис пришлось пилить на java, мне на контрасте конечно бойлерплейтом по губам java сервис провел
>>1846812 >Джава - простой язык, совершенно лишённый двусмысленности. Можно примеры о какой двусмысленности/сложности других популярных языков идет речь?
Дублирую тут, че от меня хотят? >Отправил резюме на саппорта, сделал тестовое (чисто саппорт, ни веба, нихуя такого не было), потом было интервью, спросили "крч а если ты сисодмен, сможешь доп задания по-техничней сделать?" Ну я прикинул писю к носу, ни суть, делаю. Все остальное сделал, а вот этот момент смутил, хули от меня хотят? Поднять локально сервер (чек, на экспрессе), парсить json пост запросы по рутам(чек, express.json), а потом вот эта. Печатать на экран в смысле? Вывод в консоли? Постман ответ получает, это сделал, или страничку хтмл генерить с ответом что-ли? Отвечать в них? В смысле мне надо рядом ок вывести, или хранить и апдейтить их, добавляя поле посткода?
>>1846812 >Зато с IDE писать - одно удовольствие И даже когда надо многоступенчатую проверку на null расписать? Или телескопический конструктор. Или какое-нибудь collect(Collectors.groupingBy(
Есть файл неограниченного размера с некоторым текстом. Требуется отсортировать текст по словам в алфавитном порядке и вывести количество вхождений в текст для каждого слова. У вас десять минут на обдумывание.
>>1842154 (OP) Джавараш такое себе... Там наилегчайшие темы разбираются по несколько уроков. В то время, пока вы в джавараше изучали консольный вывод на экран, вы бы уже могли изучать хотя бы те же переменные, условия, если повезёт - циклы
>>1847034 Это когда в дженериках можно ссылаться на тип данного класса по специальному символу, типа This. В простых случаях это не нужно, а в сложных - охуенная фича была бы. Пример приводить лень. Это гуглится.
Чистый спринг от спринг бута отличается только необходимостью вручную прописывать веё зависимости вместо стартерпаков и конфигурированием через xml? Есть ли профит в применении спринга без бута?
>>1847112 Вообще всё не так. 1. В буте ты всегда можешь открыть пом.хмл и дописать зависимости, просто в буте они заранее подобраны с нужными версиями + юзается плагин spring-boot-maven-plugin для поиска точки входа и упаковки в жарник/варник. Без бута это всё придутся делать руками. 2. У бута куча автоконфигураций, которые без него надо настраивать вручную. 3. У бута есть встроенный контейнер сервлетов, по умолчанию Tomcat, и для запуска не нужно тащить отдельно сервер приложений и деплоить варник. Хотя можно и вручную заэмбеддить томкат в обычном спринге, это достаточно больно. 4. Можно и обычный спринг конфигурировать без xml, аннотации там тоже поддерживаются.
Профит не брать бут может быть, когда у тебя большой, где очень много всего кастомизируется, и бут там только помешает. Бут скорее ориентирован на микросервисы, чем на подобное.
>где очень много всего кастомизируется, и бут там только помешает Чем помешает? Скорее, там не будет пользы от автоконфигов, они будут отключены (зачастую опять же автоматически). Но останется профит от того же встроенного сервера, от каких-то еще дополнительных плюшек типа актуатора. Вообще часто слышу мантру "бут ориентирован на микросервисы", но не понимаю, почему в монолите смысл бута должен куда-то исчезнуть.
>>1847130 Ну собственно бут и нужен был, чтобы легко ебануть микросервис, с чем в общем-то бут справляется, хоть и все равно с некоторым бойлерплейтом. Но это конечно смотря с чем сравнить. Без бута, это уже микросервисом назвать язык не поворачивается.
>>1847150 Просто когда не было спринг бут, на спринге микросервис сделать было не дело 5 минут. Так-то почему бы и не заюзать его в монолите. Просто до того как микросервисы стали модны, никакого же бута не было, а спринг фреймворк вполне себе был состоявшимся(3 кажется версии уже)
>>1847150 > Сколько см? "Большой" монолит - это просто противопоставление "маленькому" микросервису. Грань между монолитом и микросервисом - классический срач, так что комментировать не стану.
> Чем помешает? Скорее, там не будет пользы от автоконфигов, они будут отключены (зачастую опять же автоматически). Но останется профит от того же встроенного сервера, от каких-то еще дополнительных плюшек типа актуатора. В монолите редко один жарник со встроенным сервером, обычно там большой EE-сервер приложений с соответствующими приблудами вроде JMS и JNDI. А если ещё и аатоконфигурацию отключить, от бута почти ничего и не остаётся.
Тащемта спринг бут это набор конфигураций spring framework, если нужен актуатор и томкат для монолита, а конфиги не нужны, ну хули законом не запрещено
>>1847159 Вот ты сначала сам соглашаешься, что грань размыта, а потом рисуешь картину мира, где есть либо монструозное легаси-EE, либо микро. Ну ничего же нам не мешает сделать монолит (или не-такой-уж-микро сервис) в виде джарника, если мы считаем, что так нужно.
>>1847167 Конечно, размыта, это просто два полюса. Чем монструознее легаси-ЕЕ - тем оно меньше располагает к использованию boot. Там часто и спринг до пятого просто так не обновишь, что там бут.
>>1847076 Тащемта, подход го - это unchecked expections, потому что ты никогда не знаешь, что тебе там прилетит. И это кстати очень больно, потому что в го нет даже аннотаций нормальных и ты, заложившись на то, что тебе приходит какой-нибудь sql.ErrNoRows можешь внезапно на проде обнаружить, что тебе начало приходить что-то другое из-за того, что на промежуточном слое кто-то начал врапать ошибку. И никакие линтеры (хотя бы) такое не отловят =/ В этом, собственно, и минус UncheckedExpections - хуй его знает, что там вообще вылетает, ты никогда не уверен на 100%, код становится менее надёжным, нарушается принцип "собралось - значит работает". У checked exceptions есть только один минус (который и определил нелюбовь к ним, ну, помимо говнокодеров, которым чем проще - тем лучше), это неудобство (а точнее - невозможность) в использовании функциональщины и анонимок с таким подходом.
Истина имхо где-то посередине: ошибки однозначно должны выводиться из сигнатур функций, чтобы можно было компайл-тайм выводить типы и проверять валидность кода и проверок. Но при этом это не должно требовать описаний всех возможных ситуаций при объявлении функций, скорее компилятор должен сам на этапе написания fooA(fooB()) вывести, какая из функций какую вызывает, где и как врапаются ошибки и что вообще может из этого выйти в итоге.
Ну и обработка ещё, ошибки неудобно врапать каждый раз, исключения неудобно отлавливать в случае сложного кода.
>>1847174 >У checked exceptions есть только один минус, это неудобство в использовании функциональщины Не, и до функциональщины мало кого радовала необходимость постоянно либо оборачивать, либо прописывать в throws какой-нибудь SQLException. checked exceptions имхо были бы ок, если бы они были только механизмом, который я могу сам применить для своих кастомных исключений. Тогда я это буду делать только там, где действительно мне нужна осмысленная обработка разных ситуаций. По факту же мы имеем стандартную либу, из которой везде торчать всякие IOException, с которыми я в 90% ничего все равно не могу ничего сделать, кроме как сломаться (пробросить выше), но возиться приходится.
>>1847209 >>1847213 У меня друг пошел на эти курсы, ну где то недели 2-3 назад, говорит вот все хорошо, типа общался с выпускниками, все довольны, сидят лутают 300кк/нс. Вот я и начал задумываться, может и вправду все так хорошо А если не по курсам то как? Что нужно учить чтобы взяли работать за еду хотя бы
Перевели на другой проект, а там: > мы не стали использовать Hibernate и Spring Data потому что это было бы оверхедом И теперь тут куча бойлерпрейта для работы с БД, при чём большая часть запросов — простые и Spring Data мог бы делать их из коробки в одну строку. А ещё по классу для каждой сущности для конвертации row из БД в объект. Они ебанутые или да?
>>1847334 Почему? ORM позволяет тебе сэкономить кучу времени, а Spring Data во многих случаях вообще убирает код в слое работы с БД. При этом всегда есть опция использовать нативные запросы, если нужно делать какой-то дохуя сложный запрос.
>>1847111 > а в сложных - охуенная фича была бы Это каких случаях? Когда часто-часто переименовываешь класс вручную без использования переименования в IDE? Да, сложный случай. Я бы даже сказал - тяжёлый.
>>1847414 Универсальный фреймворк для джавы, в нём есть почти всё - веб, очереди, SOAP, несколько способов работы с БД и другое. В основе своей спринг - это просто DI-контейнер, а всё остальное крутится вокруг него.
Из комментариев: Unfortunately, self-types are very hard to implement in the language without crippling the rest of the type system significantly
Можешь ещё погуглить прочее подобное, если есть желание.
Я вообще упомянул об этом просто потому, что несколько дней назад конкретно ёбся с задачей, где они бы не помешали. Но, в итоге, обошёлся, естественно.
>>1847403 >джава кор А что такое кор? Ну я вот более-менее вдуплил что такое ооп, дженерики, коллекции, стрим апи, потыкал в concurrency. Это и есть кор?
Вопрос теперь как переходить к написанию хоть какого-нибудь бекенда. Насколько я понимаю, нужно вкатиться в базы данных немного, а потом засесть плотно за spring?
>>1847602 > Это и есть кор? Да. Кор - это обычная джава без фреймворков и сторонник либ, когда тупо качаешь JDK и учишься им пользоваться по книжке типа Хорстманна.
> Насколько я понимаю, нужно вкатиться в базы данных немного, а потом засесть плотно за spring? Да, сначала выучи SQL на уровне create table/select/insert/update/delete и как подключаться к СУБД через JDBC, затем можно спринг.
>>1847633 Посмотри как енумы под капотом устроены, скорее всего никакие извращения с системой типов там не нужны. В AssertJ вроде тоже что-то подобное есть.
Я тогда же посмотрел исходник Enum, но, решил, что к моему случаю это не имеет отношения. Я же говорю - отвык, и просто голова не работает, смотришь в книгу - видишь фигу. А в примере с билдером сработало.
>>1847207 Учусь сейчас у них. Осваиваю javacore, сдал первый модуль. Ничего хорошего и плохого сказать не могу. У меня деньги есть и мне просто интересно, что будет из этого я еще не знаю.
Нужно задать себе вопрос - в чём тут наёбка? То, что наёбка есть - не подлежит сомнению, мы же в России. "Не наебёшь - не проживёшь" - это должно быть написано на каждой рублёвой банкноте, в том месте, где на долларах написано "In God we trust".
Так вот, я думаю, что наёбка тут в том, что они _не_ заинтересованы найти тебе действительно высокооплачваемую работу. Потому, что это сложно. И потому, что вас дохуя, а такой работы мало.
И тебя просто продадут рабом на галеру. За 60 т.р. на руки, например. Из которых ты будешь 2 года отдавать им по 10 т.р. каждый месяц (17%). И это для _них_ весьма неплохо, чтоб ты знал. Даже охуительно, я бы сказал.
Короче - деньги люди делают с оборота, а не выпуская штучных охуенных специалистов.
>>1848283 Охуеть 240 т.р. при минимальных раскладах, а так за 300 перевалит с учётом роста зарплаты, да за такие деньги можно купить пиздатые курсы, бумажную литературу, оплатить хз сколько часов менторства боевого синьера ещё и сдача на пиво со шлюхой останется.
>>1848396 Петпроект ты пилишь для себя, а не для работодателя. Суть петпроекта в том, чтобы научиться минимально делать задачи, похожие на рабочие. Его почти никогда не смотрят, максимум о нём нужно будет немного рассказать.
У кого воображение развито, помогите. Есть простая соц сеточка ака твитор и есть докер, надо с этого всего придумать тему для диплома на магистра. Чтоб какая-то новизна что-то интересное было в названии.
А по факту - планирую лить воду и обсасывать докер пол диплома на самом базовом уровне, но вот название нужно какое-то интересное, заковыристое, чтоб не придраться
>>1848554 Там джава создаст больше проблем, чем решит. В таких проектах обычно нужно по-быстрому наклепать скрипты (чему динамическая типизация способствует больше), залить на дешёвый хостинг (которых для джавы очень мало) и забыть. Больших требований к поддерживаемости и стабильности нет, есть куча специфичных CMS для максимально быстрого клепания. В джаве же придётся самому думать об архитектуре, что занимает время, что заказчику не очень нравится.
>>1848559 Можно что-нибудь около-девопсное высрать, наверняка дипломов про это писали мало. Типа "Автоматизация этапов разработки ПО для уменьшения time-to-market" и налить воды про CI/CD.
>>1848559 > сап двач, есть мемуары брежнева и есть гостевуха.... 1. Выкидываешь соц-сетку. 2. Выкидываешь докер 3. Достаёшь кубер 4. Берёшь любой контроллер кубера и пишешь диплом по нему. Можешь свой реалиовать и описать чем ом лучше стокового. https://github.com/kubernetes/community/blob/8decfe4/contributors/devel/controllers.md 5. Достаёшь обратно свою соц.сеть и масштабируешь её до тех размеров когда твой контроллер начинает иметь смысл (или деплоишь её туда где новый контроллер ведёт себя лучше старого).
> и обсасывать докер пол диплома на самом базовом уровне На базовом - это каком? Будешь man 7 namespaces перепечатывать и устройство overlayfs описывать
>>1848562 Вот это прям ОХУЕННО, СПАСИБО ОГРОМНОЕ, я именно это и хотел, но сформулировать никак не мог, а это просто идеальное попадание, вода вода вода и ничего больше, даже делать ничего не надо и придраться нельзя
>>1849188 >Ты тратишь деньги, чтобы зарабатывать деньги. >Это так не работает. Именно так это и работает. Вначале всегда нужны инвестиции, это могут быть инвестиции от государства в виде бесплатного образования, от компании в виде стажировки, от банка в виде кредита на образование, от мамы в виде бесплатного жилья и кормежки, пока корзиночка учится по тьюториалам из интернета. Инвестиции бывают и неудачные - не вкатился. А бывают и удачные - вкатился и вернул кредит банку, вышел на работу в компанию и херачишь фичи.
>>1849577 У тебя везде инвестиции времени, а не денег. Если есть какой-то промысел, который тебе может в перспективе принести профит - значит о нём с вероятностью 99% уже знают до тебя. Ты уже должен задать себе вопрос, "а чем я лучше других?" На примере вката, ты думаешь мало людей знает про айти, а шутеечки про 300к малоизвестны за пределами 2.5 тредов? Тогда почему спрос не падает? Неужели курсов на всех не хватает? Если бы это было так легко, отдал котлету (или взял в кредит), походил на курсы и вот ты уже рубишь капусту на удалёночке, то на завод бы никто не ходил.
>>1849715 Непосредствеено - нельзя, разве что через сишный интерфейс, но это уже не джава. Ещё, наверное, что-то такое на уровне Unsafe можно сделать. Или поискать баги в исходниках компилятора/jvm, они всё-таки написаны на небезопасном языке, а люди не идеальны.
>>1849721 >У тебя везде инвестиции времени, а не денег. Я смотрю ты внимательно читаешь >инвестиции от государства в виде бесплатного образования, от компании в виде стажировки, от банка в виде кредита на образование
>Ты уже должен задать себе вопрос, "а чем я лучше других?" На примере вката, ты думаешь мало людей знает про айти, а шутеечки про 300к малоизвестны за пределами 2.5 тредов? Тогда почему спрос не падает? Неужели курсов на всех не хватает? >Если бы это было так легко, отдал котлету (или взял в кредит), походил на курсы и вот ты уже рубишь капусту на удалёночке, то на завод бы никто не ходил. То что ты описал это рискованность инвестиций и несут этот риск оба, инвестор и "предприниматель" вкатун. Государство останется без специалиста, компания получит дебила, а не сотрудника и т.д. Вкатун останется без работы. Более высокий риск, предполагает и более высокую прибыль, отсюда и цифры про которые говорит >>1848283 Потому как они своих денег могут и не получить если ошиблись с инвестициями. Но в любом случае инвестор инвестирует свои активы деньги или то, что может быть выражено в деньгах. А предприниматель инвестирует, то что в экономике называется предпринимательские способности. И как бы да - не у всех они есть, не всем везет.
Компилятор пашет, вроде как надо(jdk 15). Но вот запустить скомпилированный код - не получается. Вылазит ошибка. А я хер знает что с ней делать. Да, и я пока что чайник. Какие могут быть причины такого поведения. Пишу в той интеледженси idea.
>>1850274 Этот "кабанчик" и есть инвестор. Они тебя учат и ищут тебе работу. И берут на себя риск, что если ты окажешься тупой и необучаемый они останутся без денег.
>>1850534 я очень понимаю условия, в чем суть договора с ними? если мне например через месяц надоест, и я забью? я ведь не трудоустроился, значит ничего им не должен? а если я забью в самом конце обучения, за день до выпуска?
>В итоге я получил 11 офферов за полторы недели и успешно устроился в самое приятное место >Cобесы - тут весело, ты просто выкладываешь резюме и тебе начинают звонить и знакомиться легионы женщин, только успевай записывать когда, с кем и на что договорился - буквально за два дня у меня были расписаны 2 недели по 4-5 собесов в день >Место работы: Epam Systems Это реально самое приятное место работы, в которое стремятся все java-кодеры?
Анон, помогут ли книги по компутер.сайнс для обучения в джаве? Изучаю кор и в принципе нормально все было по примитивам. Теперь ООП и очень туго идет в голову, просто геттере, хаш код в пизду все. ничего не понятна. Или лучше купить пару книг по джаве и не выебываться. Типа хеадферстджава, хорстманна, шилда? Решаю лабы из шапки кодингбат но тоже туго. Занимаюсь дней 30, по паре часов в раб.день(очень мало) или в выхи по часов 5.
>>1850502 Да в пизду это всё. Лучше книжку почитать. Рикпил ебло 50 минут затирает про гит что можно прочитать за 5 минут, сейчас вообще про кокаин пиздит. Ну или хотя бы не русских дебилов смотреть, которые не могут в преподавание.
>>1850785 Так я и не смотрю. Промотал все эти пуки, немного за версии послушал да за мавен. После крестов всё таким знакомым кажется, хоть сейчас идти работать.
>>1850785 >они 20 минут изучают что хранится внутри папки .git Кстати весьма полезная вещь. Чтобы ты понимал как все устроено и не паниковал, если merge rebase пошел по бороде. Чтобы ты понимал, как восстановить исходное состояние знание как оно внутри работает - очень полезно.
>>1850576 Договора нет в открытом доступе, но думаю что после увольнения по собственному, на тебя повесят долг или обяжут самому искать работу. Ну и зарплату обещают от 100к >В Москве мы гарантируем тебе первую зарплату от 100 000 рублей. что достаточно амбициозно, хотя тот же Дойче Банк, на своей стажировке платил такие деньги.
По косвенным признакам, мне кажется, что они сделали ставку на качество. Отбирают способных, реально их учат, работают с работодателями учат тому, что востребовано, обещают прокачивать отсутствующие скилы - так чтобы выхлоп был близок к ста процентам.
>>1850806 А потом, такие дебилы приходят к таким как я и хнычут - я что-то смержила и все пропало.
У нас в команде, был один такой "синьор", у которого по собственной тупости постоянно слетали настройки гита и имя пользователя вместо мыла, слетало на логин и гит сервер реджектил его пуши. Этот дебыч приходил ко мне 4 раза, с одним и тем же вопросом - почему не могу запушить. Потом все таки понял, что это за ошибка и как ее лечить. он правда всего пол года продержался у нас
>>1850828 >я что-то смержила и все пропало. При обычной работе с гитом таких ситуаций не может возникнуть. Проблемы начинаются, когда надо заребейзить некоторые коммиты в ветке, которая уже смержена. Плюс в идее достаточно удобный фасад для работы с гитом.
>>1850898 → Пидр>>1850828 >А потом, такие дебилы приходят к таким как я и хнычут - я что-то смержила и все пропало. Я обычно проект бэкаплю в папочку перед тем как мерджить и ребейзить
>>1850952 Тебе кофе налили, за комп посадили? Ну а хули тебе ещё надо? А так от конкретного Мухосранска зависит, где-то есть вакансии за 25, где-то в столицах 80 мало. Смотри по рынку у себя.
>>1850996 Spring Boot и Angular. Работаю с данными, рассчитываю их, перегоняю из БД на фронт и обратно, на фронте строю таблицы и графики. Ну и так как на проекте я один, то делаю ещё всякого по немногу. Вообще работы не очень много. Работаю чуть больше года. С удовольствием бы уволился и занялся бы только Джавой, но, как мне кажется, я недостаточно знаю. Так что сейчас потихоньку заполнил пробелы в знаниях. >>1850997 Я был тупой и боялся, что вообще не найду работу и ещё дико комплексовал лол из-за её отсутствия, так что согласился на то, что предложили. На собеседовании сказал, что хватит 20-25к, вот так и вышло. Потом я узнал, что у других работников так же примерно. Вообще в этой компании немного работников, и часть из них сегодняшние или вчерашние студенты, которым платят немного, но особо ничего и не ждут.
>>1851006 Не понимаю, когда называют сумму ниже рынка. Если ты совсем чмоня, то согласие работать за еду тебе не поможет, т.к. возня с тобой будет стоить дороже, а если соответствуешь требованиям, то добровольно лишаешь себя денег.
>>1851014 Ну сейчас то я понимаю, что поступил неправильно. Тогда у меня не было никакого опыта, так что я согласился на первое попавшиеся место и первое время думал, что это идеал. Сейчас я подкорректировал свои желания в услових работы и в направлении, которым хочу заниматься. Так что когда буду искать новое место, буду умнее
>>1850981 Переезжать из Мухосранска в Москву - быть еще большим дауном. По 3 часа на работу добираться, жить по-соседству с таджиками в уютной студии в 25-этажке за охуевшие деньги, быть бараном в загоне в метро и тд и тп. Я когда приезжаю в города миллионники я охуеваю от того как себя начинаешь ощущать бараном в стаде. Особенно сейчас с короной всех в стойло загнали, я смотрю и жую попкорн, у меня из окна вид на лес, чистый воздух и город за час пешком можно обойти. А через год работы можно и на удаленку уйти с нормальной зарплатой, так что не все однозначно, более того некоторые учат разговорный инглиш и на апворк. Если переезжать, то покупать на авито трактор и ехать в сторону Европы.
Анончики, помогите ньюфагу, плиз. Прохожу один курс, никак не соображу, есть один код, вычисление возраста в минутах секундах etс. Поле years объявлено как int. А результат получается long. Как можно заставить его считать правильно, если не пользоваться форсированным приведением к long? Говорят вот, используй спецификатор L у литерала, а я пока никак не воткну в эту терминологию. Так понял, что надо L в конце добавить. Но он все равно некорректно считает. ЧЯДНТ? Так работает, но так неправильно: public int getYears() {return years;} public long getMilliSeconds() {return (long) years 365 24 60 60 1000;} Так не работает: public int getYears() {return years;} public long getMilliSeconds() {return years 365 24 60 60 1000L;}
Существует возможность классы и методы помечать final, вопрос нафига? Разжевывать что будет если так сделать не надо, я в проде никогда такого не видел и сейчас внезапно вспомнил о такой возможности.
>>1850834 Всегда что-то может пойти не так, например при ребейзе по ошибке нажал accept theirs и все, твои изменения надо доставать из detached head. рибейз вообще зло и по хорошему его не надо использовать
>>1850914 >Пидр Мог бы и не представляться, это и так очевидно.
>Я обычно проект бэкаплю в папочку перед тем как мерджить и ребейзить Ему дали навороченную систему, которая может разруливать кучу разных конфликтных ситуаций, где информация не удаляется бесследно и можно ее восстановить. Нет блять, СЛОЖНА!!11 Я ЛУЧШЕ В ПАПОЧКУ ЗАБЕКАПЛЮ!!!11 Сказочный долбоёб!
>>1851227 Ну есть какие-то гении которые вообще все файнал делают что не экстендится, типа так "безопаснее", на самом деле хз, файнал вообще на мой взгляд логично в каком-то мусорном коде типа последнего наследования класса, чтобы когда ты и так говна наворотил еще сверху никто бы не наворотил
>>1850828 В гите же есть возможность откатить коммит, если уж облажался. Просто помню момент когда чувак изменил расширение файла через гит, вот тогда куча проблем было
>>1851199 Тут millis изначально long, а в моем примере было намеренно years везде int, чтобы попрактиковать это самое приведение, и условием было то, что тип поля years на long менять нельзя. Чтобы вынудить этот L подписывать.. >>1851200 Хм, действительно! Попробую учесть, спасибо :)
>>1851170 На винде сидят. Или на маке. На линуксе сидят серверы.
Но, тут есть нюанс - 10-я винда - зло. Я сижу на 7-й, и куда деваться дальше - непонятно. Десктопный мак - дорого, хакинтош - геморройно, может в любой момент превратиться в тыкву. Линукс на десктопе не возбуждает совершенно.
>>1851227 Так делают, чтобы строго запретить наследование. Это редкая вещь, и в каждом случае - свои причины. Начни с того, что поинтересуйся, почему String сделали final.
>>1851170 Долго юзал 7, несколько месяцев назад пересилил себя и поставил 10 с мыслью, что хватит быть ретроградом и будущее неизбежно, и буквально неделю назад вернулся обратно на 7, устав терпеть тормоза и глюки десятки, которая типа самая быстрая и стабильная. Теперь понимаю тех, кто до последнего сидел на XP. Думаю поставить линукс в дуалбут, раньше иногда сидел на нём. Ещё надеюсь, что 10 когда-нибудь станет юзабельнее, хотя за 5 лет так и не стала. На работе винда, на серверах, скорее всего, тоже (подробностей не знаю, у нас там очень специфичные dll-ки и драйвера юзаются).
>>1851469 Это когда программа уже после компиляции может получить информацию о типах, работать с ними, генерировать код и т.д. Через рефлексию можно вызвать заранее неизвестный метод, имея, например, только его название в виде строки, ещё можно получить список методов/полей/конструкторов/аннотаций какого-то класса, создавать объекты заранее неизвестных классов и другое. Используется обычно только в фреймворках и либах. Например, если какой-нибудь фреймворк должен создать объекты классов и вызвать их методы по определённым правилам, а про эти классы он знает только то, что они лежат в какой-то папке, он это сделает через рефлексию и класслоадеры. Или, например, можно восстановить реальный тип объекта, имея только ссылку Object.
>>1851469 Reflection - это динамика в статическом языке. Например, можно создать объект из JSON-строки или подобного строкового описания объекта, зная его класс.
Чтобы не слишком заебаться при этом, можно использовать BeanUtils, PropertyUtils из Apache Commons.
>>1851416 >10-я винда - зло. Дебилушка, там WSL, ставь любую линукс хуету и не парься. А Маке переоцененная хуета.
Вот ты прикола ради загугли десктопные клиенты для постгреса, это или ява мультплатформа будет или веб хуета. И только под винду есть нормальные, полнофункциональные клиенты.
>>1851484 Или, например, можно сгенерировать описание TypeScript интерфейса из Java класса - перебрать все методы, рассмотреть и преобразовать названия их типов и вывести в файл .ts, и затем работать с этим в коде веб-фронтенда.
В реальных проектах final обычно используют там где нужно гарантировать безопасность более строже чем просто конвенцией. Те же библиотеки шифрования и другие секьюрити либы довольно часто используют final на основных классах и методах.
>>1850952 Ну впервые мне без опыта и знаний в ДС предложил 70к гросс (ну бля без 13% мистеру пыне). Но я туда не пошел, тк еще учусь в вузе, сейчас на более сложную позицию в прошлый раз требований была только java, сейчас Spring, Git, Jira, хуира и тд иду на собес на след. неделе, хз сколько предложат, если меньше 70 то хуева, зато в 20 м от дома (э то к слову о том как в ДС хуева от таджиков ехать 3 часа до работы по словам другого анона)
>>1850952 "Джун" это очень сильно размытый термин. Видел вакансии на ждуна, где требуют больше года опыта, но и зарплата под 120к. Даунич без опыта это вроде трейни называется. Подход везде тоже разный, где-то будут учить всей хуйне, где-то вот как меня например сразу бросят в дело и крутись как хочешь. Я думаю, косарь грина на руки +- нормальная цифра в дс, если ты способен за пару часов написать типичный круд на спринге и в целом обучаем.
Анончики, как вкатиться в Spring. Сейчас вкатываюсь в Java, имею самое не плохое знание плюсов . Вот думаю учить Spring, но пугает его размер. Параллельно смотрю в сторону Android. Вопрос "Что перспективней, и если Spring, то как лучше вкатиться?"
>>1852257 Говорят, что андроид. По спрингу - сразу учи Spring Boot там все очень гладко накатывается все, просто попытайся сделать свой проект. Сначала начнешь с Spring Data, соединишь с базой, потом MVC, чтобы все отобразить, Security, чтобы можно было аутентифицироваться у тебя на сайте и так далее
>>1852257 Если ты собираешься изучать не ВЕСЬ спринг, а только тот, который реально понадобится (core/web/data/boot), то там и учить почти нечего, за пару недель осилишь, раз уж после плюсов. А всё остальное опционально и используется в зависимости от потребностей проекта. Насколько перспективен андроид, сказать не могу, у меня отвращение к его API, а спринг вполне перспективен.
>>1852273 Ну смотри, я писал проект с нулевым знанием в команде. И начал просто с гайда на spring.io - затем что-то решали добавить сразу гуглишь как это сделать - очень много видосов от индусов, но куда деваться. Кроме видосов есть статьи и, конечно, самое лучшее - stackoverflow. Просто придумай что тебе надо запилить и гугли это. Например, мне надо было добавить файловую систему, чтобы можно было агружать и просматривать картинки - нашел статью, получил минимальные знания, подробнее - гуглишь, находишь на stackoverflow, вообще по большей части гугл находил мне baeldung, а там просто несколько вариантов решения. Или мне, например, надо было узнать как сделать нормальные фильтры поиска - тут пришлось писать в телеграм-чатик для разработчиков спринга, там несколько сеньоров подробно все разъяснили, объяснили best practice и тд. В общем трудовой процесс у меня выглядел так, ничего сложного, на самом деле. Потом сам начинаешь искать дополнительные библиотеки/фреймворки по своей нужде, там примеры и документация, но это уже не совсем спринг
>>1852245 Что есть "типичный круд на спринге"? Сколько сущностей? Связи? Включает ли это в себя веб-интерфейс? Можно где-то посмотреть приблизительный пример того, что надо написать "за пару часов"?
>>1852301 Вот дали тебе комп без нихуя. Голая ось и тырнет. И ты за пару часов: - Накатил жабу, мавен, постгрес и всю сопутствующую хуйню (ну или ладно, предположим, что всё это есть, ибо к программированию установка софта отношения имеет мало) - Создал проект на спринг буте, у которого есть набор бизнес-сущностей, Entity для работы с базой, DTO для REST API (и сам рест апи, разумеется, тоже создан). - Нахуярил простую веб-морду, чтобы Мариванна из бухгалтерии могла выполнять типичные CRUD-операции (Create-Read-Update-Delete).
>>1842154 (OP) 7 лет после универа работаю в бодишопе, причём не в том, где работа в бешеном темпе дабы успеть наобещанное, а наоборот: в таком, где темп разработки очень медленный, большую часть времени делать совершенно нечего, инициативность не поддерживается и не поощряется, джава 8 наступила 2 года назад, об 11 ещё не слышали, о спринге тоже, главный билд тул - ант, новая библиотечка апрувится пол года прежде чем применяться. Кто сталкивался с такими - знает, остальным - горячо не рекомендую.
В свободное время я книжки читаю, стараюсь пробовать всякие современные технологии (докер, к8с, грэдл, кафка, носкл базы, спринг5 опять же), пробую их как-то применять в редких простеньких пет проджектах, но на работе они никому нахуй не упёрлись и поэтому реального опыта продакшн применения всей перечисленной хуйни у меня нет.
Несмотря на это я всё же решил сменить работу, пока не стало окончательно поздно. Сами понимаете какие у меня проблемы с резюме, и дальше будет только хуже.
Вопрос такой: на какой примерно уровень мне по вашему ориентироваться? Не на джуна точно, потому что джун с 7 годами опыта не пройдёт даже через hr-фильтр. Мидл? Или для мидла 7 лет тоже многовато? Я понимаю что все эти уровни не годами меряются и вообще возможно не нужны, но к сожалению реальность такова, что надо выбрать куда метить иначе шанс быть отсеянным hr-ом увеличивается.
Чё думаете вообще про ситуацию? Я мудак? Какие-то советы может будут?
Кто-то скажет что использование анта это как ни крути проёб дев тимы, но будет не прав. В нашем случае весь существующий недоCI поддерживает только ант и мавен, при этом мавен централ заблокирован, какой-нибудь мавен плагин хуй апрувнут, корпоративный мавен репозиторий - огромная неконсистентная помойка. В таких условиях ант - адекватная вынужденная мера.
Второй момент: ничего не сказал про frontend часть. На работе GWT, который изучать - только голову почём зря забивать. Благо пока есть кому в этом говне ковыряться кроме меня. Вне работы пол курса реакта на курсере и знание jquery (который в 2020 нахуй никому не нужен, как я понимаю). Конечно можно ещё поизучать react/angular/vue но опять же вопрос: стоит ли пытаться фокусироваться на фронт технологиях и переквалифицироваться в фулстэка если реального опыта работы с фронтом на работе не было и не предвидится?
>>1852329 Ну и ещё в целом за собой замечаю что кодить мне нравится меньше нежели выстраивать все процессы вокруг кода. То есть я бы с бОльшим удовольствием настроил авто запуск тестов, расчёт покрытия, какой-нибудь параллельный билд, деплой, сбор и визуализацию логов, какие-нибудь авто алерты, балансеры, к8с нежели писать очередную апишку для хождения в базу, доставания данных и оборачивания в запрошенный формат. Как я понимаю, выстраивание процессов вокруг кода это и есть дев-опс? Как думаете, каковы мои шансы там без реального опыта, с одними теоретическими познаниями и большим желанием?
>>1852330 Честно говоря я бы и их изучил (вроде не самая простая фигня эти ваши функциональные языки?) если бы дали внедрить. Но за 7 лет я уже окончательно убедился что это бесполезно. И это не моё выгорание, я был бы правда рад.
>>1852332 >Clojure, Scala >внедрять Он тебя троллит, лол.
Скала - полезная вещь, очень рекомендую просто для общего развития. Ты станешь гораздо более лучшим даваёбом. И, возможно, даже начнёшь использовать Kotlin на бекэнде. Потому, что скала - вещь в себе, и заюзать её в ваших проектах у тебя хуй получится, инфа 100%.
Кложура - пустая ебля мозга, по большей части, если ты джаваёб. Хочешь лиспа - читай SICP и зелёного слоника. Если вставит - дальше сам поймёшь, что делать.
Очень рекомендую освоить Groovy в качестве скриптового языка. Не слушай дураков, которые говорят, что груви не нужен, когда есть котлин. Это совершенно разные вещи.
Groovy охуенен как инструмент автоматизации, для скриптов, для тестов и т.п. Это, наверное, самый практичный язык, по крайней мере, на JVM. Прикрутить его к имеющейся системе через веб-интерфейс, и писать скрипты прямо в окне браузера, дёргая живую систему - это бесценно. Как образец - посмотри https://groovyconsole.appspot.com Spock, опять же и т.д. и т.п.
>>1852301 CRUD для одной сущности. Да даже CRD хватит. Веб-интерфейс не надо, хотя некоторые шизики просят сделать что-то такое в тестовых. Но нахуя, жаба это ж бек. Пара часов это мой примерный прогноз, никто над тобой стоять с секундомером не будет.
>>1852327 Хз, зачем это ты там 7 лет сидел, надо было раньше сваливать оттуда. Я и года не проработал, а уже по вечерам думаю, куда бы сваливать в случае чего и что подучить, чтоб денег предложили по крайней мере не меньше. >>1852354 >Скала - полезная вещь, очень рекомендую просто для общего развития. Вот этому канистру чая бы налил.
>>1849694 Ок. есть прикладное программирование, а есть системное; в прикладном многопоточности не так часто напрямую касаешься, тк все уже реализовано через фреймворки. ОС на джаве конечно не пишут, а вот БД - вполне, например кассандра или зукипер написаны на джаве, там нужна многопоточность в полный рост. Я сейчас разрабатываю сервер под хайлод для трейдинга на джаве, там тоже многопоточный код ну раза в два в неделю да приходится писать самому.
>>1842154 (OP) Здарова анончики. Я студент шараги, учусь на пограммиста на последнем 4 курсе. Вроде всё хорошо, живу и радуюсь, но немного стыдно, что за 4 курса мой максимум это создание циклов в паскале. Короче залетел на вашу доску и тыкнул на первое знакомое название. Джава этож язык на котором игрульки писались для кнопочных? Лол, он ваще жив там в 2020? Почитал шапку и немного хикнул. Учиться чему-то в 2020 читая книжки? Звучит прогрессивно. Короче я пошёл на рутрекер качать видео уроки по ДжаваКор. Наверное дропну после первого урока, но может и не дропну. Эх, так много вопросов и так мало ответов...
>>1852837 Тебе вот ясно, а мне не очень. Кстати язык настолько мертвый, что единственный видеоурок на русском, который я нашёл на рутрекере раздают 1.5 калеки и приходится качать эту годноту со скоростью 50кб/с. Очень неприятно.
>>1852841 эй, смузи-бой! закатывайся в джарп! и тебе никогда не придётся сидеть в тесном оупенспейсе по 11 часов в день на просиженном стуле со сломанной спинкой
>>1852849 Потрясающе. У этого языка ещё и дико недружелюбное комьюнити, которое троллит безобидного нуфака-ламера меня, который всего навсего просит о помощи. >>1852850 Да-да, я не троллил чел. Я выбрал джавакор, по той-же причине, что и джаву в целом. Я слышал об этом об джавакоре, когда играл в майнкрафт. Ну, а касательно книжек я даже не могу догадаться в чём тут троллинг? Кому может прийти в голову обучаться яп на книжках? Лол, ладно там просто читать какие-то статьи или документации, но в целом обучаться на книжках это полный отстой. Я не собираюсь этим заниматься, как минимум сейчас. Кстати мой курс уже скачался и сейчас я пойду его смотреть.
>>1852856 джарп - это новый потрясающий язык, который собрал все плюсы джавы и шарпа пока он только развивается, но уже скоро все сытые херочки станут в ультимативном порядке требовать от соискателей от пяти лет опыта с этой технологией
>>1852859 Кстати мои однокурсы, которые шарят, говорят что жава мёртвый язык и типа щас все адекваты перекатываются на СиШарп. Но я уже скачал видеокурс по Джаве, так что похуй. >>1852861 Может и по нему скачаю. Просто я слышал что веб-программисты считаются лохами и не хочу, чтобы мои знания, которые я собираюсь получать были омрачены таким ярлыком.
>>1852886 Для компилятора Void - это такой же класс, как и остальные, поэтому он расценивает его в дженериках именно как один из типов, а не отсутствие типа.
>>1852886 Ты не понимаешь - они принципиально разные. Если разрешить такие кастинги, то нахуй бы вообще нужна эта статическая типизация и эта джава.
А вот не секрет, зачем ты хочешь такой кастинг? Наверняка, это решается иначе. Возможно, что у тебя вообще там принципиально ошибочный подход, и система типов тебе об этом толсто намекает.
>>1852889 Есть список из функций с одинаковым принимаемым и возвращаемым значением. Первая и последняя функции ничего не принимает и не возвращает соответственно. Надо их красиво закомпоузить.
>>1852950 Если у тебя вот так: Supplier -> FunctionA -> FunctionB -> .... -> FunctionN -> Consumer, то, начало и конец лучше держать отдельно, т.к. это не функции, и не часть конвейера, а именно что вход и выход.
Сап. Короче получил возможность пройти интенсив Java Oracle в рамках программы повышения квалификации. На немецком языке ибо живу в ЕС. Курс вроде не требует наличия навыков программирования, только общие знания в информатике. Сам я знаю принципы программирования, что такое переменная итд понимаю, но сам писал только простенькие скрипты по мануалам. Это будет фулл тайм удалёнка, длительностью всего 3 месяца. Реально ли за это время хоть как-то выучить язык? Что имеет смысл делать самому дополнительно, что почитать/посмотреть на ютубе?
Алсо, изначально хотел C# или Python, но пришлось брать то, что дают.
куда ты лезеш со своими функциями, забирай это говно со скобками куда подальше, реально достаточно одного функцианально опуща который начинает срать своими скобками в проекте
>>1853096 Тащемта бигдата и нейросетки меня интересуют, но это скорее праздный интерес. А так да, полистав вакансии понял что джава это то что надо. Сишарп, кстати, тоже востребован у нас тут. >>1853093 Надеюсь что вывезу, очень давно ничего вообще в принципе не изучал.
>>1853100 Сишарп - путаный и мусорный язык. И он воняет паскалем, потому, что создан идеологом Delphi. А джава - язык простой и недвусмысленный. В нём много букв, но очень мало говна.
Тут, правда, надо понимать, что "выучить язык" и "научиться программировать" - это совсем не одно и то же.
>>1853192 Ты серьёзно думаешь, что можно выучить какую-то технологию, и потому всю жизнь с неё кормиться и больше ничего не учить?
Специально посмотрел - все вакансии на hh, где упомянуты EJB, включают ещё хуеву тучу баззвордов, включая бут-хуют-батут. Как правило, перечисляют все, которые могут вспомнить, лол.
Объясните пожалуйста, каким образом здесь будет выполняться тело цикла if, если array2[0] и array2[0], array2[1] и array2[1] и т.д. равны. Они же равны, как я понимаю? i и j инкрементируется и становятся равны друг другу. Выводится массив в порядке возрастания, как я и хотел, но я просто скопировал кусок кода с интернета, теперь хочу разобраться, что здесь происходит.
>>1853228 Имя метода с большой буквы - сразу на хуй, и ещё пиздюлей на дорожку отсыпать за такое.
Это пузырьковая сортировка. Самая примитивная и неоптимальная реализация.
>Они же равны Циклы вложенные. Пока крутится внутренний - внешний стоит. Переменные i и j равны только на первой итерации внутреннего цикла. Т.е. эта итерация будет холостая.
Подскажите, в ресурсах проекта есть текстовый шаблон, и там же есть несколько текстовых файлов, которые надо подставить в него в процессе сборки (мавеном). В результате в папочке target должен лежать отрендеренный шаблон и он должен быть доступен в тестах. Как это лучше всего организовать? Может лучше вообще без мавена?
>>1853678 Разве что написать свой шаблонизатор, который при виде в шаблоне файла заменил бы его название на содержимое. Вряд ли в существующих шаблонизаторах можно так вот просто прочитать файл извне, это всё-таки не языки программирования.
>>1853869 Впрочем, в freemarker тех <#include> может подключаться произвольные файлы, а не только шаблоны.
>>1853883 Кто тебя знает, надо тебе или нет, это ты придумал непонятно с какой целью. Напиши плагин для мавена и запусти в нём шаблонизатор, срендеренный выхлоп запиши в target/classes/template.json.
>>1853678 Думаю, что надо сделать скрипт, например, на Groovy, который делает с шаблонами то, что тебе надо. А потом, если это как-то завязано на другие вещи, запускать его из Мавена.
Если же нужно просто генерить кучу хуиты по шаблонам, то мавен там и нахуй не сдался, сделай скрипт и генери.
>>1853915 В вакансиях зачастую никакой конкретики а-ля "Знание основ java и ооп/Опыт изучения n месяцев. В лучшем случае напишут про гит и чтение технической лит-ры на английском.
>>1853909 >>1854102 Да нет там единого стандарта. Где-то ты больше селекта за год не напишешь ничего, где-то будут запросы на полстраницы. Одни ковыряют легаси, у других последняя версия жабы и постпроцессоры на спринге. Из общего: -Идеальное знание кора, все основные структуры данных надо знать заебись, чё там за корзины в хешмапах и почему там O(1) в O(logn) вырождается, вот эти все линкед сеты между собой отличать надо и прочее. -SQL, обычно хватает создать пару таблиц, связать их по ключам, написать пару запросов с джойнами, агрегатными функциями, группировкой. Первые задачек 40 на sql.ex. Если видишь в вакансии диалект, то соответственно ещё и его изучи. -Уметь на спрингбуте создать простой круд, примерно понимать что там за прокси классы создаются, бины, контекст, основные аннотации. В жопу лезть за АОП не надо, наверное. -Понимать, что за HTTP методы такие, заголовки всякие, понимать чем IP адрес от MAC отличается, JSON туда сюда покидай по контролёрам. Видел в вакансиях упоминания всяких шифрований и прочего, но не был там, так что хз что имеется ввиду. -В гите ничего особо знать не надо, пуш, мерж, ребейз, создай себе репозиторий, поиграйся с ним денёк другой, это несложно. -ООП, основные понятия, любят про SOLID спрашивать, паттерны, Мартина и GoF по-любому читать придётся, тут уж никак. -Можно ещё про stream и многопоточность расписать, но это не всегда спрашивают и используют. Если пишут, что Java 8+, то значит и про стримы спросят, если асинхронность, то будут про дедлоки мозг ебать.
>>1854170 Ждём, когда в идее сделают принудительные обновления, которые можно только отсрочить жмаканием на кнопку глубоко в настройках. И чтобы она принудительно перезапускалась при этом, прерывая сервер приложений и прогон sql-миграций.
>>1854273 С большей вероятностью. Где-то требуют абстрактное "высшее техническое образование", где-то уточняют конкретные специальности - информатика и выч техника, программная инженерия и прочее.
Ньюфаг просит помощи. Никак не воткну в это ваше ООП. Решаю такую задачку: есть класс ShirtOrder, в нём есть три метода: ShirtOrder, который непосредственно принимает количество рубашек в заказе, есть метод getShirtQuantity, который возвращает это самое количество рубашек, и есть метод getShirt, который должен возвращать экземпляр созданной рубашки и уменьшать счетчик оставшихся рубашек на 1. Соответственно, есть ещё класс Shirt, в котором прописаны поля цены рубашки. Вроде бы всё реализовал, но никак не получается вернуть экземпляр этой самой рубашки. Он просит меня в скобки цену, или чего он от меня хочет вообще? Как правильно вернуть в методе эту рубашку?! ЧЯДНТ?! Подскажите пазалушта..
>>1854721 Ты объявил конструктор для Shirt, который принимает один аргумент -- price. Создать ноывй объект ты можешь только через этот конструктор, так что да, он просит в скобках цену
>>1854721 > Он просит меня в скобки цену Да. Ты уже указываешь в конструкторе этот аргумент: public Shirt(float price) и должен его передать. Судя по тому, что getShirt принимает price, нужно этот же price передать в конструктор: Shirt shirt = new Shirt(price); И всё.
>>1854727 >>1854726 Добавил - добавилось. Какой же я безрукий. Ведь пробовал же вроде. Анончики, вы лучшие, спасибо большое! После этого удалось дописать условие, как следует, всё работает, надеюсь, правильно! Каждому в треде по чашке чаю!
Что должен делать твой класс заказа (ShirtOrder)? Туда добавляются купленные рубашки? Но, у тебя не добавляются.
Метод getShirt(price) - он зачем вообще? Получить одну из добавленных рубашек по цене (они типа все разные)? Но, он делает какую-то хуйню - за каким-то хером создаёт новую рубашку.
И где, блядь, общая сумма?
У тебя внутри должен быть список (ArrayList) shirts, куда ты будешь добавлять свои рубашки методом addShirt(nextShirt) {shirts.add(nextShirt)} Метод getShirt должен стать getShirtByPrice(price), и он у тебя должен будет перебирать список, и возвращать рубашку с такой ценой. Более того, это должен быть не список, а Set. Если только одна рубашка с такой ценой разрешена. А это, судя по методу getShirt() так и есть - он возвращает одну рубашку с такой ценой, а не список.
И рубашки не должны создаваться внутри, это заказ, а не рубашечная фабрика. И у рубашки должен быть бренд и модель.
И т.д. и т.п.
Вообще, лучше поискать немного другую модель на поиграться для начала, если вообще не вдупляешь, что такое объекты и т.п. Животные - кошечки там, собачки, уточки. Сколько ног, что говорит и т.п. - дофига примеров в учебниках. Или автомобили - машина состоит из мотора, колёс, к-ва кресел и т.п.
>>1854758 >Ты какую-то хуйню написал. С этим не спорю. >Что должен делать твой класс заказа? Ну, вообще это задачка с несколькими четкими условиями, три метода, ShirtOrder, getShirtQuantity, getShirt, которые расписал тут >>1854721 Вот стояла задача первый метод заставить сохранять количество рубашек, второй - возвращать это количество, а в третьем - создавать одну рубашку для возврата из метода, при этом уменьшая число рубашек в заказе на 1. Если рубашки кончились - возвращать null. Не знаю, насколько это практически применимо, и возможно выглядит, как лютая хуйня, но проверочный check вроде бы сработал. >Вообще, лучше поискать немного другую модель на поиграться для начала, если вообще не вдупляешь, что такое объекты Это точно.. В моём курсе есть примеры с собачками-кошечками, вот на выходных займусь как раз, буду разгонять мышление. В любом случае, спасибо большое, что отозвался. Извиняюсь, что влез сюда со своими рубашками :)
>>1855213 Понятие "цена" не обязательно предполагает финансовые вычисления, в которых ошибка представления будет иметь значение. Речь не про банк или бухгалтерию. Ну, и лучше было бы double.
>>1855207 Это обучение - тестовая затея в рамках текущих всех этих цифровых экономик и всего такого. Можно было выбрать из кучи дистанционных образовательных программ, всякие там 3д-моделинги, курсы экселя для мамочек в декрете, мне вот джава приглянулась, хотя никогда не занимался. Разве что С++ в универе в своё время, да и то всего 1 курс. Курс в Томском универе разработан, сам курс нравится, очень даже, просто сроки крайне сжатые, за месяц нужно решить около 30 тестов. Сначала были простые, а сейчас вот пошло уже посложнее. Дальше будут перегрузки методов, полиморфизм, наследования всякие. Буду стараться, что ж.
Аноны, а посоветуйте как вкатиться в тесты на спринг буте? Нет никакого опыта написания тестов, даже на обычные консольные жаба приложения, сейчас появилась необходимость. Если есть какие йоба книги или статьи, накидайте, пожалуйста
Анон, насколько часто тебе приходится хуячить очередной круд с использованием локального хранилища без коннекта к базе?
ibn4 ну бля, продуктовая разработка as is: к нужной базе нет доступа/правки в боевую базу будут вливаться только после аппрува 1488 человек, ибо древнее легаси/крупная или ключевая задача
>>1855880 это был вопрос уровня "бля как бы срезать углы и не заниматься этой хуйней", на который сам же и ответил за спойлерами: видать, нужно вникнуть и научиться создавать круд с локальным хранилищем без базы.
>>1855876 Что есть "локальное хранилище", для начала? И даже более того - что такое "локальное"? Это компьютер пользователя или локальная сеть организации?
Вообще, если нужна оффлайновая работа, то тут всё непросто. Идеально - всё вообще должно идти через "локальное хранилище" (что бы это ни значило), а в него - тупая репликация из "главного", отдельным процессом.
>>1856028 под локальным хранилищем имеется ввиду конструкция, когда приложение использует свою память для извлечения данных, и не ходит в базу.
Механизм можно описать так: задеплоил проект на машине пользователя --> в созданную формочку внес данные --> жмакнул на субмит (тем самым инициализировав событие - вызов http-метода типа post --> после редиректа на ту же страницу с формой отображаются только что введенные данные.
>>1856094 Я (>>1856028) спрашивал - что такое "локальное хранилище". В памяти - это уже кое-что, но мало. Это база данных в памяти? Например, h2? Или это просто объекты в памяти? И почему в памяти? Кто мешает сериализовать их в файлы?
И т.д. и т.п. Тут хуева туча вопросов, и столько же ответов. Я об этом пытаюсь тебе сказать. Никаких стандартных способов нет.
Я бы сделал (и делаю) локальный SQL сервер (на виртуальной машине) и не занимался бы ментальным онанизмом.
Но, это зависит от задачи. Иногда удобнее иметь сериализованный объект в файле и т.п.
>>1856094 Посмотрел тот кусочек, где у тебя код на JS. Так вот, местами он странный. По массиву не делают итерацию как for (i in array), это не джава. И $('#book-form form') - лишнее, достаточно просто $('#book-form') - id (#...) - это не класс, он должен быть уникален для страницы в целом, и уточняющие селекторы не нужны.
Ну, и колбеки (a) использовать - немножно дурной тон в наше время, для этого есть промисы (аналог CompletableFuture в java) См., например, http://langtoday.com/?p=550
>>1856142 >Я бы сделал (и делаю) локальный SQL сервер (на виртуальной машине) и не занимался бы ментальным онанизмом. > блин братка, за это обнимаю <з временами забываю мысль, что главное "не через что", а каков конечный результат - и если его можно добиться меньшей кровью, развернув любую нужную СУБД локально, то нет смысла ебаться с хранением данным в ArrayList'e.
>>1856161 думаю, что твои слова у меня тоже получится разрулить, потому как фронт формы и ресурса (книжная библиотека, которая будет усложняться и обрастать такими штуками, как ci, многопоточность, и прочими, которые сейчас для меня в новинку)
До этого был свидетелем, как друг-вкатыш при мне хуячил три месяца на js'e, и нихуя не выдал по итогу - прикрывался изучением основных основ. Естественный отбор, щито поделать :)
Отсюда сделал для себя вывод, что лучше обрастать шишками и знаниями на каком-то проектами, чем теорией, которой без параллельной разработки некуда ложиться.
>>1856266 братан, я только вкатываюсь. Вчера блядь узнал что такое маппинг, и чем хуй отличается от контроллера: твое решение также можно реализовать, я о нем помню - заодно отвечу для себя на вопрос, чем твой подход отличается от подхода с локальной бд
>>1855332 Тем временем главный ньюфаг треда только что успешно рассадил школьников в двухмерный массив парт в классе и устроил всяческие разнообразные провер_очки, счастью нет предела! Держу в курсе!
>>1855876 Напиши интерфейс доступа к базе, не делай реализацию, пока не получишь доступа к базе, в чем проблема? Если тебе нужно обязательно проверять, как работает код - мокируй, тесты для кого придумали, ммм?