묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
java.lang.NullPointerException
java.lang.NullPointerException: Cannot invoke "org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(java.sql.SQLException, String)" because the return value of "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.sqlExceptionHelper()" is null이러한 문제가 뜨는데 뭐가 문제일까요?현재 mariaDB를 쓰고 있구요 docker를 사용해서mariaDB를 실행 시킨 상태인데요<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>ex2</artifactId> <version>0.0.1-SNAPSHOT</version> <name>ex2</name> <description>Demo project for Spring Boot</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project> 이건 현재 저의 pom.xml이고# App name spring.application.name=ex2 # Server port server.port=8080 # Context path server.servlet.context-path=/ex2 # Restart WAS spring.devtools.livereload.enabled=true # Spring Datasource spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://localhost:3309/db7 spring.datasource.username=db7 spring.datasource.password=1234 # JPA spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.format_sql=true spring.jpa.show-sql=true이건 현재 저의 application.properties입니다.package com.example.ex2.repository; import com.example.ex2.entity.Memo; import org.springframework.data.jpa.repository.JpaRepository; public interface MemoRepsitory extends JpaRepository<Memo, Long> { }이게 MemoRepository구요package com.example.ex2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Ex2Application { public static void main(String[] args) { SpringApplication.run(Ex2Application.class, args); } }이건 Ex2Application입니다.그리고 오류가 이것 뿐만이 아닌org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) Caused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@675ec28b testClass = com.example.ex2.repository.MemoRepsitoryTests, locations = [], classes = [com.example.ex2.Ex2Application], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@e15b7e8, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@43dac38f, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1de5f259, org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@506ae4d4, org.springframework.boot.test.context.SpringBootTestAnnotation@fe3b3617], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null]Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) Caused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) 이런 오류들이 뜹니다.... 뭐가 문제인지를 모르겠어요
-
해결됨자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
Accessing non-final property number in constructor
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.먼저, 좋은 강의를 만들어주셔서 감사합니다. 잘 이해가 되지 않는 부분이 있습니다.Accessing non-final property number in constructor가 발생하는 이유를 다음과 같이 정리해보았는데 맞을까요??하위 클래스(Derived)를 인스턴스화하면서 상속받고 있는 상위 클래스(Base)가 먼저 생성된다.init 블럭이 생성자보다 먼저 호출되므로, init 블럭에서 프로퍼티에 접근하면 초기화되지 않은 기본값을 갖는다.init 블럭이 호출되고 하위 클래스에서 전달한 값이 상위 클래스 생성자에 있는 프로퍼티 값으로 초기화된다.하위 클래스의 init 블럭이 호출될 때, number 프로퍼티 값은 상위 클래스가 갖는 number 프로퍼티 값을 출력한다."Accessing non-final property number in constructor 가 경고창이 드는 이유는 init 블럭에서 초기화되지 않은 number 프로퍼티에 접근했기 때문이다." 라고 정리하면 될까요?!감사합니다.open class Base( open val number: Int = 100 ) { init { println("Base Class") /** * 호출 순서 : init 블럭 -> 생성자 * 따라서 init 블럭에서 number 프로퍼티에 접근하면 초기화되지 않은 초기값인 0을 갖게 된다. */ println("Base Class number ${number}") } }class Derived( override val number: Int ): Base(number) { init { println("Derived Class") println("Derived Class number : ${number}") } }
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
add_payment_info는 항상 일어난다고 보면 될까요?
GA4의 추천 이벤트 https://support.google.com/analytics/answer/9267735?hl=ko 에서 begin_checkout, add_payment_info, purchase 이 세 가지 이벤트는 상품 구매에 있어서 항상 일어나고,항상 begin_checkout > add_payment_info > purchase 순서로 일어난다고 보면 될까요?begin_checkout, purchase는 당연히 매번 일어날 것 같은데 add_payment_info도 그렇게 보는 게 맞는지 궁금해서 질문드려요.
-
해결됨Real MySQL 시즌 1 - Part 1
커버링 인덱스 질문 드립니다
안녕하세요! 페이징 쿼리 관련해서 질문 좀 드립니다방명록(사진) 목록을 조회하는 페이징 쿼리에서 테이블에 soft delete(deleted_at), 공개 여부(is_private) column이 있어서 post.deleted_at is null and post.is_private is false 조건이 자주 들어가는데 커버링 인덱스를 위해 해당 column을 인덱스에 추가하는 것은 어떻게 생각하시나요?
-
미해결
flutter 와 스토어 관련
근래 입사했는데, 플러터에 웹뷰 올려져있더라구요 ? 근데 develop에서 개발하고 배포햇는데 운영까지 배포해야 확인할수있더라구요그건 너무 위험해서 dev앱을 만들고 싶은데 보통 플러터에서 apk이나 ios 빌드확장자가 생각안나는데 그냥 빌드해서 확인하나요 ? 그전에 회사일할떈 뭐 다운로드받을수있는 링크를 주시던데 .. 방법아시면 알려주시면 열심히 검색해서 찾아보겠습니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Item, OrderItem 연관관계
안녕하세요 엔티티 연관관계에대해 공부하던 중 질문이 생겨 글 남깁니다!Order에서 주문이 들어가면 Item에있는 stockQueantity가 하나씩 줄어든다고 했는데 OrderItem->Item의 단방향 연관관계이면 Item에서는 어떤게 주문이 들어갔는지 어떻게 알고 하나씩 줄어드나요??
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Eureka 서버 도커 환경 연결.
안녕하세요, 현재 Spring Cloud와 Docker 강의를 보며 개인적으로 Docker 환경에 Eureka 서버를 배포하고 공부 중입니다. 현재 Eureka 서버 및 데이터베이스, 스프링 환경을 Docker 환경에 배포하는 것까지는 완료한 상태입니다. 하지만 문제는 Eureka 서버에서 스프링 서버로의 링크를 클릭하면 "http://2a2bf313bd4f:60000/actuator/info" 이 사이트에서 HTTPS를 지원하지 않기 때문에 경고가 표시됩니다. 이 문제를 어떻게 해결할 수 있는지 궁금합니다.Eureka 서버에 등록된 정보링크 정보 현제 docker-compose file 정보 입니다.services: spring-cloud-config-service: build: ./spring-cloud-config-service container_name: spring-cloud-config-service ports: - "8888:8888" networks: - my-network spring-cloud-discovery: build: ./spring-cloud-discovery container_name: eureka-server ports: - "8761:8761" networks: - my-network environment: eureka.client.serviceUrl.defaultZone: http://spring-cloud-discovery:8761/eureka/ mysql: image: mysql:8.0 container_name: mysql environment: MYSQL_ROOT_PASSWORD: MYSQL_DATABASE: employees ports: - "3306:3306" networks: - my-network spring-cloud-study-user-service: build: ./spring-cloud-study-user-service container_name: spring-cloud-study-user-service ports: - "60000:60000" environment: SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/employees SPRING_DATASOURCE_USERNAME: SPRING_DATASOURCE_PASSWORD: SPRING_CLOUD_CONFIG_URI: http://spring-cloud-config-service:8888 eureka.client.serviceUrl.defaultZone: http://spring-cloud-discovery:8761/eureka/ depends_on: - mysql - spring-cloud-discovery - spring-cloud-config-service networks: - my-network networks: my-network: driver: bridge Spring-cloud-study-user-service.yml 파일입니다.server: port: 60000 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://mysql:3306/employees # url: jdbc:mysql://localhost:3306/employees username: password: jpa: hibernate: ddl-auto: update show-sql: true cloud: config: uri: http://config-service:8888 name: spring-cloud-study-user-service application: name: spring-cloud-study-user-service eureka: instance: preferIpAddress: true instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}} client: service-url: defaultZone: http://127.0.0.1:8761/eureka fetch-registry: true register-with-eureka: true Spring-cloud-discovery yml 파일 정보입니다.server: port: 8761 spring: application: name: spring-cloud-discovery eureka: instance: hostname: eureka-server client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://127.0.0.1:8761/eureka server: enableSelfPreservation: false
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
트랜잭션 기능을 서비스 함수로 구현하는 방법
안녕하세요 스스로 해보기를 위해 강의 후반부에 있는 sequelize 에서 제공하는 transaction 기능을 추가하여 낙찰한 경우에 t수행하는 상품에 낙찰자 ID를 넣고 낙찰자의 금액을 까는 함수를 서비스 함수로 처리해서 하려고 하는데 상품등록을 하는 단계에서 다음과 같은 에러가 발생합니다 .어떻게 하면 될까요?관련된 코드 부분을 같이 올립니다sequelize trasnation 을 적용해서 auctionedOff 함수를 다음과 같이 생성하였습니다services/index.jsconst sequelize = require('sequelize'); const { Auction , Good, User}= require('../models'); exports.auctionedOff = async ( good ) => { const t = await sequelize.transaction(); try { const success = await Auction.findOne({ where: { GoodId: good.id }, order: [['bid', 'DESC']], transaction : t, }); if (!success) { return; } await good.setSold(success.UserId); //낙찰 await User.update({ money: sequelize.literal(`money - ${success.bid}`), }, { where: { id: success.UserId }, transaction: t, }); await t.commit(); } catch (error) { await t.rollback(); } };그리고 이 함수를 다음과 같이 contollers/index.js 파일에서 아래 코드 처럼 불러서 실행 하고자 했습니다const { Op } = require('sequelize'); const { Good, Auction, User, sequelize } = require('../models'); const auctionedOff = require('../services'); const schedule = require('node-schedule'); exports.createGood = async(req, res, next) => { try { const { name, price } = req.body; const good = await Good.create({ OwnerId: req.user.id, name, img: req.file.filename, price, }); const end = new Date(); end.setDate(end.getDate() + 1); // 하루 뒤 const job = schedule.scheduleJob(end, auctionedOff(good)); job.on('error', (err) => { console.error('스케줄링 에러', err); }); job.on('success', () => { console.log(`${good.id} 스케줄링 성공`); }); res.redirect('/'); } catch (error) { console.error(error); next(error); } };
-
미해결[PY 0203] 디버깅 기초
파이참이 아닌 IDE 도 가능한가요?
안녕하세요.평소 개발 IDE로 vs 코드, 노트패드 ++를 사용하고 있는데요.파이참으로만 수업이 가능할까요??다른 툴로도 디버깅이 가능한지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-H 메모리 초과 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.선생님 안녕하세요저는 경로에 대해서 string으로 저장하고탈출시 출력하는 로직으로 작성했는데왜 메모리 초과가 나는지 모르겠습니다.알려주시면 감사하겠습니다...http://boj.kr/92e022062d0148faa40d478f052dfc89
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
getName() 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]getName()이 왜 에러가 뜨는 것일까요?아무리 찾아봐도 모르겠어요...요
-
미해결파이썬 Streamlit 활용한 웹 자동화 업무, 데이터 검색 및 시각화
Streamlit 오류
사진의 동그라미 부분이 왜 이렇게 나오는 걸까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
fill 초기화 해주는 부분 질문
안녕하세요! 궁금한점이 있어 질문 드립니다.fill(&visited[0][0], &visited[0][0] + 101 * 101, 0);초기화 해주는 부분은 이해를 하였습니다.그런데 &visited[0][0] + 101*101 이 부분이 이해가 가지 않습니다. 깊이 생각하지 않고 배열의 모든 부분을 순회 하면서 초기화 해준다고 생각하면 될까요?
-
해결됨Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
3:07에 const result = 입력하는 부분은 복붙인가요??
플러그인이나 단축키가 따로 있는지 기존에 작성하신 코드 복사 붙여넣기인지 궁금합니다.
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
애드온 질문드려요
이거 xxxx는 어떤 애드온인가요 그리고 뭔가 잘못눌렀더니 아래 여기부분에 스페이스바 누르면 애니메이션 진행되는게 사라졌는데 다시 어떻게 만드나요
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
ILA 관련 질문
안녕하세요 맛비님.날이 부쩍 더워졌네요. 더위 조심하시기 바랍니다. LAB8 ILA 실습을 복습하는 중 warning이 떠서 질문드립니다.실습과정 처럼 CLK을 100MHz로 인가하면 잘 되지만, CLK을 2MHz로 줄였더니 다음과 같은 warning이 뜨더라고요. [Labtools 27-3413] Dropping logic core with cellname... at location...[Labtools 27-1974 ] Mismatch between the design programmed and the probes 구글링 해보니 아마 timing viloation으로 인한 것 같습니다. 이것을 해결할 수 있는 방법이 있을까요? 추가적으로 ILA 실습 WAVEFORM에서 x축은 sample을 뜻해보이는데, 인가한 clock의 cycle이라고 보면 될까요? 예로들어 100MHz로 인가했으면 아래의 단위 간격은 10ns일까요?감사합니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버 자동 로그인 관련
네이버 자동 로그인 하고 있는데, 잘 되지 않습니다. 코드가 동일하게 작성된 것 같은데 제가 놓치고 있는 부분이 있을까요?from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip #크롬 드라이버 생성 driver = webdriver.Chrome() driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") time.sleep(1) #아이디 입력 id = driver.find_element(By.CSS_SELECTOR, '#id') pyperclip.copy(userid) id.click() id.send_keys(Keys.CONTROL,'v') time.sleep(1) # 비밀번호 입력 pw = driver.find_element(By.CSS_SELECTOR, '#pw') pyperclip.copy(userpwd) pw.click() pw.send_keys(Keys.CONTROL,'v') time.sleep(1) # 로그인 버튼 클릭 driver.find_element(By.CSS_SELECTOR, '#log\\.login').click()
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
throttle해도 API가 2번 불릴때..
throttle을 적용해서 fetchmore동작이 제 기대치는 화면 하단부분 가면 한번 불리고 다시 리스트 랜더링되고 다시 화면 하단부분 가야 fetchmore API가 불려야하는데 화면 하단 부분 가면 fetchmore가 2번 불리네요물론 같은 api요청은 아니고 lastId가 다르게 2번 불리는데 fetchmor불리면 controller의 maxScrollExtent이 바뀌어서 한번만 불려야하는데 왜 2번불릴까요;
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
안녕하세요 배포관련 질문드립니다 !
안녕하세요 배포를 마쳐서 이런식으로 떠서 Production 링크를 누르면 저는 잘 들어가지는데 이 링크를 공유를 하면 다른사람들은 Vercel에 로그인을 하라는 창이 뜨더라고요,,, 어떤 해결방안이 있을까요,,,
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
Visual Studio Code Delete키 문제와 관련한 질문입니다.
■ 안녕하세요!! 선생님 덕분에 강의 잘 듣고 있습니다.다름이 아니오라, vscode를 이용하여 작성할 때 Delete키가 누르면 지워져야하는데 지워지지가 않아서 방법이 있나해서 질문 남깁니다ㅠㅠ