Здравствуйте. Как можно с вами связаться ? В лс если можно было бы.
@Alex-ke9nu3 күн бұрын
да уже видимо никак)
@letsCodeDruКүн бұрын
зойчем?
@letsCodeDruКүн бұрын
ойфсё
@user-wp6dl4ts4g8 күн бұрын
спасибо
@vesh958 күн бұрын
Нашел ответ
@vesh958 күн бұрын
Я всю жизнь жил на laravel и для меня было очень диким то, что база данных перенинициализируется при перезапуске, теряются данные. Это как продуктовых средах вообще работает когда мы выкатываем новую версию приложения? Или там просто проперти другие вгружаются?
@Niko-eh2rk10 күн бұрын
Там нужно ведь отдельно ставить виртуальный веб сервер как на php
@ИванШаповалов-о2у17 күн бұрын
Добрый день! Я новичок, в файлах всё как на видео, но при запуске приложения ошибки (Редактор VS Code) WARN 1688 --- [ restartedMain] unknown.jul.logger : ConnectException occurred while connecting to localhost:5432 2024-07-11 17:32:44.004 ERROR 1688 --- [ restartedMain] org.postgresql.Driver : Connection error: org.postgresql.util.PSQLException: ╧юфёюхфшэхэшх яю рфЁхёє localhost:5432 юЄъыюэхэю. ╧ЁютхЁ№Єх ўЄю їюёЄ ш яюЁЄ єърчрэ√ яЁртшы№эю ш ўЄю postmaster яЁшэшьрхЄ TCP/IP-яюфёюхфшэхэш . 2024-07-11 17:32:45.018 ERROR 1688 --- [ restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. org.postgresql.util.PSQLException: ╧юфёюхфшэхэшх яю рфЁхёє localhost:5432 юЄъыюэхэю. ╧ЁютхЁ№Єх ўЄю їюёЄ ш яюЁЄ єърчрэ√ яЁртшы№эю ш ўЄю postmaster яЁшэшьрхЄ TCP/IP-яюфёюхфшэхэш . Caused by: java.net.ConnectException: Connection refused: connect Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.postgresql.util.PSQLException: ╧юфёюхфшэхэшх яю рфЁхёє localhost:5432 юЄъыюэхэю. ╧ЁютхЁ№Єх ўЄю їюёЄ ш яюЁЄ єърчрэ√ яЁртшы№эю ш ўЄю postmaster яЁшэшьрхЄ TCP/IP-яюфёюхфшэхэш . Caused by: org.postgresql.util.PSQLException: ╧юфёюхфшэхэшх яю рфЁхёє localhost:5432 юЄъыюэхэю. ╧ЁютхЁ№Єх ўЄю їюёЄ ш яюЁЄ єърчрэ√ яЁртшы№эю ш ўЄю postmaster яЁшэшьрхЄ TCP/IP-яюфёюхфшэхэш . Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set Подскажите, пожалуйста, как это решить? Перелопатил весь гугл, в комментах нет, в других видосах не нашел. В других проектах находил, что у людей проблемы с postrgesql, но там решение в таких файлах, которых тут нет. Установил WSL Ubuntu. Создал БД. Запустил. Ввел команду проверки базы sweater. Попросил терминал пароль. Ввел 123. И в ответе: неверно. Как так?
@shaxzodamansurova181417 күн бұрын
Добрый вечер, 3:55 минут стало не понятно на что нажали?
@user-lq7jv1do8s20 күн бұрын
Ляяя... Скажите им там, что у олених нет рогов таких. Они только у оленей
@letsCodeDruКүн бұрын
зависит от вида, на самом деле
@numberzero683327 күн бұрын
У кого ошибка "Error creating bean with name..." рекомендую поменять javax.persistence-api на jakarta.persistence-api
@user-hh5rf5jf7mАй бұрын
не работает
@smallworldoflynx3772Ай бұрын
Огромное спасибо
@user-mr5pq1dc1tАй бұрын
После слов "срать в порты" я понял что подписываюсь😅
@DrW1neАй бұрын
очень старое видео, но было интересно гдето день пытатся выявить что проблема в том что тут старый спригбут.
@Sulf8Ай бұрын
за grep console спасибо)
@b213videozАй бұрын
Hipster stuff
@crazym8ndАй бұрын
ожидал plain java а не всякие спрингбуты и ваадины)
@letsCodeDruАй бұрын
се ля ви)
@mizantropoffАй бұрын
"Вам несложно, а мне приятно" - мне очень сложно) Андрей, я где то видел Ваши замечания о jQuery, о том, что он влечет за собой плохую архитектуру кода. то есть Вы понимаете, что такое - ПЛОХАЯ АРХИТЕКТУРА кода. Вопрос - а что такое плохая архитектура обучающего курса ? Зачем нам был нужен маппинг "/changeMessage"? зачем мы расширяем @SendTo "/activity"? Это какие то "встроенные" дефолты? Я не понял - где мы настроили маппинг, чтобы использовать абсолютные пути при импорте? Ну хотя бы пару вступительных слов про сокеты, стомпы и пр. Как это все работает - у меня понимание процентов на 30-40, не более. Лайкну конечно, и пойду топтать гугл и ютюб. чтобы понять хотя бы процентов 70-80 урока.
@mizantropoffАй бұрын
3 недели спустя вернулся проверить свои нервы снова. Но сначала расскажу, что мне пришлось сделать, чтобы с учетом Vue3 приложение работало после шага, описанного в этом уроке. Во первых, чтобы резюмировать и самому лучше понять - что и зачем я делаю, ну а во-вторых, может кому пригодится. 1) Начнем с того, что установка версий npm, node, webpack и vue, описанных в этом видео, мне ничего не дала, и я установил все ПОСЛЕДНИЕ версии , актуальные на май 2024 года. Кроме vue-resource, которого уже нет в живых. Vue 3 напрочь отказался работать с vue-resource последней известной версии, нагугленный и установленный axios нельзя было применить , не будучи знатоком js (промисы, коллбэки и пр.) 2) После долгих мучений я ушел отсюда, чтобы разобраться с js. Хорошо , что у меня уже был в подписке отличный материал - 20 часов JS спокойным, медленным темпом, правда, на английском, (нс неплохим произношением, и для меня это не было проблемой). Автор этого курса , если захочет, уберет мою ссылку, но я не думаю, что это правильно, Андрей шикарный программист, но чтобы обучать других, ему было бы полезно посмотреть на образец того - как нужно снимать обучающие ролики, таких материалов очень немного в свободном доступе. Обратите внимание , там отличная МЕТОДИКА, постепенно, от простого сложного и с массой задач). Итак, у кого пробелы в JS - прошу сюда kzfaq.info/get/bejne/e8uil6qeksvMeoU.htmlsi=DRmq680D_0e1SEmH . Кстати, у этого китайца скоро выйдет курс по Node.js 3) После долгих поисков я нашел отличный пример Spring Rest + Vue.js приложения на Vue3. На ютюбе такого очень мало, максимум - GET запрос и ВСЕ! Вот ссылка howtodoinjava.com/spring-boot/vuejs-app-with-spring-boot/ . Ну и наконец, после всего этого я за пару часов скоректировал код Андрея под Vue3 , не меняя структуру и логику, всего лишь добавив Axios. Бэк я не менял. Итак, мой main.js: < import {createApp, h } from 'vue' import App from 'pages/App.vue' import Axios from 'axios' //import Resources from "vue-resource"; const app = createApp({ render: () => h(App), }) app.mount('#app') > В созданной директории resources/static/utils я создал apiClient.js: < import axios, { AxiosInstance } from "axios"; const API_URL = "localhost:9000"; const axiosInstance = axios.create({ baseURL: API_URL, headers: { "Content-Type": "application/json", }, }); export default axiosInstance; > В созданной директории resources/static/service я создал messageService.js: < import apiClient from "../utils/apiClient"; import Message from "../types/Message.js"; class MessageService { // get All Messages getAllMessages() { return apiClient.get("/message").then((response) => response.data); } getMessageById(id) { return apiClient.get(`/message/${id}`).then((response) => response.data); }; edit(id, msg){ return apiClient .put(`/message/${id}`, msg) .then((response) => response.data); } async delete(id) { return await apiClient .delete(`/message/${id}`) .then((response) => response.data); }; save(msg){ return apiClient.post("/message", msg).then((response) => response.data); }; } export default new MessageService(); > В MessagesList.vue я импортирую messagesService: < import messageService from "../../service/messageService"; > ... и меняю method : < deleteMessage(message) { try { messageService.delete(message.id).then(() => { this.messages.splice(this.messages.indexOf(this.message), 1) }) } catch (error) { console.error(error.toString()) } } > В MessageForm.vue я также импоритрую сервис и меняю method save(): save() { const message = {text: this.text} if(this.id) { messageService.edit(this.id, message) .then(data => { const index = getIndex(this.messages, data.id) this.messages.splice(index, 1, data) this.id= "" }) } else { messageService.save(message).then((data) => { this.messages.push(data) } ) } this.text = "" } Я пока не стал менять все кардинально, хотя там масса возможностей для оптимизации. Буду смотреть дальше. Помолясь.))) Андрей, не обижайся, ты крут, но для такого чайника, как я - слишком) PS. В методе save при сохранении НОВОГО сообщения как то странно работает data - вернее то работает, то нет. Как вариант, можно пушить message, предварительно присвоив id из полученной с бэка data ( message.id = data.id this.messages.push(message) По идее то же самое, но почему то у меня пару раз message грузился на страницу с пустым id, и только после обновления страницы id (загружались из базы).
@videoshlyapaАй бұрын
Если честно то для новичка только будет понятно как выйти а все остальное проходит быстро и хер понятно че к чему.
@MrJet842 ай бұрын
Не пользовался никогда. Спасибо
@ukrainesov212 ай бұрын
4:54 - не понимаю, как у тебя получилось использовать переменную типа BaseRequest в строчке 29, у меня пишет 'BaseRequest' is abstract; cannot be instantiated. Кроме того, даже если оставить как было SendMessage request, то в параметры никак не лезет переменная chatId типа long, т.к. там требуется тип String. Может что-то изменилось за пару лет в черном ящике и методы стали другими?
@user-lx9ws9er9d2 ай бұрын
Самая имбовая часть мне кажется
@andreyromanov6802 ай бұрын
Спасибо большое, все бы как ты объясняли. Лайк
@restartedpanda59952 ай бұрын
Спасибо!!!
@lionelmessi66522 ай бұрын
что делать,если выходит ошибка FluentToken.-, FluentToken.., FluentToken.COMMENT_LINE or FluentToken.Symbol expected, got '<' после перехода на ftl,вместо mustache
@evgenyhyvarinen83672 ай бұрын
Очень крутая подача, за долгое время не видел столь крутых обзоров/туториалов на тек, респект от души а юмор залетает как дети в школу :)
@mizantropoff2 ай бұрын
Из 2024 привет. Мучился с запуском, пока снова взял и не загрузил все новые версии фрейморков, в том числе node, и все поехало. Но радовался рано. Какое то время все работало, потом какая то странная ошибка стала вылетать : Cannot read properties of undefined (reading 'Vue') TypeError: Cannot read properties of undefined (reading 'Vue') at initBackend (chrome-extension://nhdogjmejiglipccpnnnanhbledajbpd/build/backend.js:2088:28) Понял, что причина в строке App.use(VueResource) (deprecated), убираю ее и все вроде нормально, но стоило раскоментировать messageApi с корректировкой как на видео - ни одна функия не работает, ну и когда опять подключаю Resourse - все равно не работает MessagesList.vue:20 Uncaught TypeError: this.$resource is not a function at Proxy.deleteMessage (MessagesList.vue:20:12) at Proxy.del (MessageRow.vue:9:14) at onClick._cache.<computed>._cache.<computed> (MessageRow.vue:21:46) at callWithErrorHandling (runtime-core.esm-bundler.js:195:1) at callWithAsyncErrorHandling (runtime-core.esm-bundler.js:202:1) at HTMLInputElement.invoker (runtime-dom.esm-bundler.js:696:31) deleteMessage @ MessagesList.vue:20 del @ MessageRow.vue:9 onClick._cache.<computed>._cache.<computed> @ MessageRow.vue:21 callWithErrorHandling @ runtime-core.esm-bundler.js:195 callWithAsyncErrorHandling @ runtime-core.esm-bundler.js:202 invoker @ runtime-dom.esm-bundler.js:696
@broalan2 ай бұрын
Охренеть ) Учу джаву 4 месяца уже, только только добрался до спринга. Думаю писал бы такое приложение неделю, а то и больше ) Скажи, Андрей, через сколько лет я так же смогу? 😌
@letsCodeDruАй бұрын
Писал приложение пару-тройку дней в свободное от работы время) можешь поднять свой уровень до такого за пару лет в нормальном стартапе
@user-jk3cn7ck2f2 ай бұрын
Хороший понятный видос. качественный.
@mizantropoff2 ай бұрын
Нууууууууу, ребята, это твердый дизлайк. На лету мимоходом говорится про целый пласт сложнейших вещей, которые совершенно не относятся к Java и Spring Boot. Вы меня простите, но если уже делать курс на такой базе, нужно как то включать подачу тех знаний и логики, которые относятся ко всем упомянутым технологиям. Это не просто html, css, js, эти техники по значительности требуют не менее пристального изучения, чем Spring, а по объему - даже БОЛЬШЕГО. Смысла не понимаю так давать материал. С другой стороны, если кто уже владеет этими технологиями в совершенстве - неужели его устроит подача Спринга на таком уровне?! А кто не владеет - пойдет их изучать и вернется сюда через год, забыв уже все на свете. Конечно, можно откатиться на ранние версии и тупо повторить все за автором, но это не обучение, а ..... И все для того чтобы красоту навести? Зачем? Лучше закончить со спрингом, путь итог будет деревянным, но понятным и разобранным до основания. Путь мы бы видели на странице json ы сплошные. И отдельно разбирать уже украшения. Или отдельно пилить подробные видео про все упомянутые технологии и рекомендовать изучать их ДО данного курса сразу же, в описании. А тут все по верхам, я считаю. Никакого глубокого понимания. Все обо всем и ни о чем. Жаль. Придется уходить наверное, не нравится мне, как попугаю просто тупо копировать и вставлять.
@user-xb2dv2ew6j2 ай бұрын
Насколько WebFlux актуален сегодня при том что завезли виртуальные потоки?
@mizantropoff2 ай бұрын
Простите, я не понимаю, как это работает. А именно - мы просто указываем маппинг обработанный в контроллерею , как ресурс, и Vue компоненты подхватывают и нашу базу, и методы, которые даже называются по разному во Vue и в контроллере. Ну ладно , messages подхватываются, но методы? Мы ведь даже не указываем get, post, put, delete. И конечно, я не смог на лету все это адаптировать к Vue3, использую пока Vue 2. Потом буду думать как мигрировать. Пока не нашел нормального описания именно варианта с CDN во Vue3, большая часть материала касается приложений, у которых и серверная и клиентская часть на Vue. Если кто полезные ссылки даст - буду рад. Мне нравится этот вариант, так как для демонстрации два сервера городить не вижу смысла, а тут , как я понимаю, все работает на одном сервере - и фронт и бэк.
@anjelomanoranjan2 ай бұрын
Спасибо) бомбезное видео. А у тебя есть видео где ты при написании сервиса, программы, приложения... работаешь с HashMap?
@moovestone3 ай бұрын
спасибо. только это походу для тех, кто уже работает разработчиком, а не изучает)
@odnorob3 ай бұрын
Спасибо отличная инструкция. Только "dd" и "x" это не совсем удаление, это вырезание. Потом вставить вырезанное можно клавишей "p".
@PlesneviyGRIB3 ай бұрын
А если был неправильно выполнен merge? 1) "revert -m 1" (ревертим merge) 2) "merge robotics..." (Пытаемся снова смерджить ветку, и получает already up to date, так как все коммиты достижимы) Как поступать в случае, если зафакапили merge (без переписывания истории)?
@vladislavosipenkov14123 ай бұрын
А нет видео где stomp но вместо фронта - postman?
@romanivanov33023 ай бұрын
Хороший урок, спасибо! Теперь лицензия стоит 800 баксов уже ахахаха
@mustaev19823 ай бұрын
это просто жопа какая то. весь вечер исправлял ошибки..во первых надо было прописывать емейл и юзера... потом гит инит создал ветку мастер... а на сайте создалась ветка мейн... и начались танцы с бубнами... видео 6 мин..цуко весь вечер убил на исправления.
@LiRa-py8ki3 ай бұрын
Хкрня
@ShuxriddinSolixov3 ай бұрын
Спасибо за полезный контент
@desantovih3 ай бұрын
автор спасибо тебе большое!!!!!!!!!!!!!!ВИ это адская хня !!!я не смог выйти сукаааааааа
@Ximelay3 ай бұрын
Прочитал как НЕГР
@LKeyman_3 ай бұрын
3 месяца учил основы Java. Сейчас вообще не понимаю зачем это делал, потому что из основ тут ничего нет! Вообще не понятно че происходит... Это фиаско, чувствую боль...
@universeunity99703 ай бұрын
Так само собой. Он здесь фреймворк использует. Что ты собирался здесь понять? Ещё очень рано. Нужно много всего изучить, а потом изучить сам этот фреймворк, что бы на нём работать, если тебе именно это будет нужно, конечно.
@TarasYanchuk3 ай бұрын
Это называется "паравиртуализация"
@nelsonnetru4 ай бұрын
Друзья! Я одного не понял - когда отредактировали MainController и в аргументы для "/add" вместо text и tag вставили @Valid Message message, как SPRING все равно понимает, что в post-запросе данные формы - это Message? По какому принципу парсит поля <input> из формы?
@artemkarpov10784 ай бұрын
Продолжения не будет (
@letsCodeDruАй бұрын
не факт)
@oopseasy4 ай бұрын
Много воды!
@gregjorliony97194 ай бұрын
Невероятный. 🙏
@ZeBatua4 ай бұрын
Видео для тех, кто уже что-то знает про стримы. Я вообще ничего не понял. Куда то летит, миллион всего объясняет. 0 шансов запомнить и тем более понять