앱 재시작 후 회원가입
미해결
스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요. 정말 도움을 많이 받고 있습니다. 감사합니다. 항상 앱을 재시작하고 같은 아이디(whiteship)로 회원가입을 하시는데 계속 성공하시는 것 같아서 질문드립니다. 혹시 앱을 재시작하면 회원 목록이 초기화되는 코드가 있으신가요? 제가 놓친 것 같지만 부득이하게 질문드립니다. 감사합니다.
- java
- spring
- spring-boot
- jpa
- thymeleaf
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요. 정말 도움을 많이 받고 있습니다. 감사합니다. 항상 앱을 재시작하고 같은 아이디(whiteship)로 회원가입을 하시는데 계속 성공하시는 것 같아서 질문드립니다. 혹시 앱을 재시작하면 회원 목록이 초기화되는 코드가 있으신가요? 제가 놓친 것 같지만 부득이하게 질문드립니다. 감사합니다.
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 뭐가 문제일까요 똑같이 타이핑 한 것 같은데 변수 초기화 오류 뜨네요
해결됨
6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
"Cannot invoke 'jdk.internal.platform.CgroupInfo.getMountPoint()' because 'anyController' is null" 다음과 같은 에러가 발생합니다. Mac Docker Desktop 환경 OpenJDK 17 slim 이미지 사용 로컬에서 진행했을 때 gpt에게 물어봤을 때와 stackoverflow를 확인해봤습니다. 이 에러는 Java 17 이상에서, JVM이 리눅스 컨테이너(CGroup) 안에서 리소스(CPU, 메모리 등) 정보를 가져오려고 할 때, Mac OS 에서는 리눅스 CGroup 시스템 이 아예 존재하지 않아서 발생 그리고 문제를 해결하기 위한 방법으로 프로메테우스를 비활성화하라는 답변을 주었는데, 해결방안을 적용해봐도 해결할 수 없었습니다. 그래서 생각한게 리눅스 컨테이너 이미지인 slim 버전에 대해서 생각하게 되었고, Dockerfile의 이미를 교체했을 때 FROM eclipse-temurin:17-jdk 정상적으로 실습을 수행할 수 있었습니다. 답변보다는 mac에서 진행할 경우 다음과 같은 문제로 머리아플 분들을 위해 작성했습니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의 할 때 보여주시는 화면은 문서로는 없나요?
미해결
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
localhost:3000 하는데 Home Page 가 안뜨고 Hello world 가 뜨는 이유가 뭔가요 ? 코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] import java.util.Scanner; public class Empty { public static void main(String[] args) { Scanner sc = new Scanner( System.in ); int balance = 0, depositAmount = 0, withdrawAmonut = 0; int chooose; while (true) { title(); chooose = sc.nextInt(); switch (chooose) { case 1: balance = deposit(balance, depositAmount, sc); break; case 2: balance = withdraw(balance, withdrawAmonut, sc); break; case 3: printNowBalance(balance); break; case 4: endSystem(); return; default: System.out.println("올바른 선택이 아닙니다. 다시 선택해주세요."); } } } public static void title() { System.out.println("-----------------------------------"); System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료"); System.out.println("-----------------------------------"); System.out.print("선택: "); } public static int deposit(int balance, int depositAmount, Scanner sc) { System.out.print("입금액을 입력하세요: "); depositAmount = sc.nextInt(); balance += depositAmount; System.out.println(depositAmount + "원을 입금하였습니다. 현재 잔액: " + balance); return balance; } public static int withdraw(int balance, int withdrawAmount, Scanner sc) { System.out.print("출금액을 입력하세요: "); withdrawAmount = sc.nextInt(); if (balance >= withdrawAmount) { balance -= withdrawAmount; System.out.println(withdrawAmount + "원을 출금하였습니다. 현재 잔액: " + balance + "원"); } else { System.out.println(withdrawAmount + "원을 출금하려 했으나 잔액이 부족합니다."); System.out.println("최종 잔액: " + balance + "원"); } return balance; } public static void printNowBalance(int balance) { System.out.println("현재 잔액 : " + balance + "원입니다"); } public static void endSystem() { System.out.println("시스템을 종료합니다."); } } 문제풀이 2를 최대한 메서드를 활용하기위해 이런식으로 해보고 김영한선생님 코드와 비교해봤는데 살짝 다르더라고요 비교해서 장담점이 어떤 것인지 실무에서는 어떤 스타일을 선호하는지 궁금합니다!
해결됨
커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)
도커 컨테이너 실행 명령어를 입력했는데 아래와 같은 에러가 발생했습니다. (프리즈마 버전 강의와 동일함) PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". This happened because Prisma Client was generated for "darwin-arm64", but the actual deployment required "linux-arm64-openssl-3.0.x". Add "linux-arm64-openssl-3.0.x" to `binaryTargets` in the "schema.prisma" file and run `prisma generate` after saving it: generator client { provider = "prisma-client-js" binaryTargets = ["native", "linux-arm64-openssl-3.0.x"] } // schema.prisma generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") }
미해결
Next + React Query로 SNS 서비스 만들기
강의의 3분 정도 쯤에, (beforeLogin)/i 폴더와 파일들을 (beforeLogin)/@modal/(i) 로 복사 한 후 http://localhost:3000/i/flow/login 접속시 무한 GET 접속 시도가 터미널 창에 보입니다. 이때, <Link href ="login" className ={styles.login}>로그인</Link> 입니다. 그런데, <Link href ="/i/flow/login" className ={styles.login}>로그인</Link> 변경하면, http://localhost:3000/i/flow/login 접속시, 터미널 창에서는 무한 GET 접속시도는 사라집니다. 어떻게 해서 이렇게 되는지요?
미해결
Next + React Query로 SNS 서비스 만들기
강의 50초 정도에, i, login, page.tsx는 {children}에서 렌더링, 여기는 (@modal 의 하위 폴더와 파일 선택) {modal}에서 되죠? 라고 설명하시는 부분이 이해가 안됩니다. 저는, app/(beforeLogin)/layout.tsx 의 {children}은 app/(beforeLogin)/page.tsx 를 가져오는 것이고, {modal}은 @modal 폴더의 page.tsx (default.tsx, i/flow/login/폴더로 리다이렉션) 를 찾는 것으로 이했습니다. 여러 폴더를 모두 보여준다고 설명하신듯하여, 이해가 안되네요.
해결됨
[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
npm_access_token 오류 어떻게 해결하나요 ㅠ ㅠ
해결됨
커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)
안녕하세요. 프리즈마에서 정의한 모델타입을 import 할 때 강의랑 동일하게 아래처럼 입력하면 Module '"@prisma/client"' has no exported member 'cart'. 에러가 발생합니다. schema.ts 파일에는 model cart 로 정의되어있고 npx prisma generate 명령어를 통해 클라이언트 생성도 잘 되었습니다. 서칭해보니 Prisma는 모델 이름을 PascalCase 로 자동 변환한다는데 그래서 그런건가요? 강의와는 버전차이인걸까요? import { cart } from '@prisma/client';
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
둘의 차이를 테스트 해본 결과 아래와 같은 결과가 나왔습니다. CascadeType.REMOVE 의 경우는 findParent.getChildList().remove(0) 를 해도 자식이 삭제가 안 되고 orphanRemoval = true 는 삭제가 된다. (대신, CascadeType.PERSIST 가 있어야지만 됨) 여기서 의문인 점이 있습니다. orphanRemoval = true 의 경우 왜 CascadeType.PERSIST 가 있을 때만 그렇게 작동하나요?
미해결
탄탄한 백엔드 NestJS, 기초부터 심화까지
안녕하세요! 캡슐화 추가 설명 강의 중 궁금한 것이 있어 질문 드립니다. 상위 모듈인 app 모듈의 providers에서 하위 모듈들의 service나 repository를 주입 받아 사용하게 되면 다음과 같은 문제가 있다고 하셨습니다. 모듈들의 관리가 힘들어진다. 단일책임원칙이 깨진다. 추가적인 학습으로 알게된 1번에서 발생할 수 있는 문제는 다음과 같습니다. -상위 모듈의 providers에서 인덱스 순서대로 service를 불러 오기 때문에 만약 하위 클래스끼리의 의존성이 존재한다면, 그 순서를 관리해줘야 되는 복잡성이 발생한다 . 순환참조 또한 일어날 수 있다. 하지만 2번 단일책임원칙이 깨진다는 문제점이 발생한다는 것은 아직 이해하지 못했습니다. app 모듈안에서 다른 클래스들의 기능을 사용할 때 참조하는 방식이 잘못된 것이지, 해당 클래스의 기능의 책임이 확장된 것은 아니라는 생각이 듭니다. 여전히 기능의 변경이 일어났을 때 해당 클래스만 수정하면 된다고 생각하기 때문입니다. 제 이해가 잘못된 것인지, 강사님께서 SRP원칙의 의미를 조금 더 확장해서 말씀해주신 것인지 궁금합니다!
미해결
김영한의 실전 자바 - 중급 1편
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 현재 자동차에 엔진만 사용되기 때문에 내부 클래스로 넣었는데, 만약 차량 실내 작업(계기판 켜지기, 엠비언트 라이트 점등) 클래스가 하나가 더 있다면 inner 클래스를 두개 만드는게 맞는걸까요? .. 아니면 엔진, 실내 작업 두개를 따로 독립적으로 만드는게 나은걸까요? 문의 드립니다~
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의에서 ReentrantLock의 대기큐에서 관리할때 BLOCKED가아닌 WAITING에서 락획득을 대기한다고했는데 찾아봤을때 lock.lock()실행시에는 락을 얻기위해서 BLOCKED 상태이고 condition.await()실행되어야 WAITING상태로 기다리는걸로 알고있는데 혹시 잘못된 강의설명인지 궁금합니다.
미해결
김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
안녕하세요 코드를 쳐보다가 궁금증이 생겼습니다. 지난번 채팅프로그램은 클라이언트가 서버에 연결되면 연결된 클라이언트와 서버 소켓이 /exit할때까지 끊기지 않았는데요 이번 예시에서는 사용자가 /, /site1, /site2, /search?q=hello 이렇게 각각의 다른 url로 이동할때마다 서버와 클라이언트의 연결이 새로되고 소켓도 새로 생성되는건가요?
해결됨
한 입 크기로 잘라먹는 Next.js
제목 그대로 export const dynamic = "auto"; 로 설정을 해도 해당 페이지가 정적인 페이지임에도 동적인 페이지로 빌드되는데 이게 맞을까요?
미해결
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
repository를 user를 다룰때는 repository라는 패키지를 따로 만들어서 했는데, 지금 강의의 book에 관한 repositorty를 따로 만들지 않고 인터페이스만 객체와 같은 패키지에 만들어서 extends로 jpa를 받기 때문에 따로 만들 필요가 없어서 이렇게 만든거라고 이해 했는데 맞게 이해한걸까요? 즉, jpa를 익스텐즈한 인테페이스 덕분에 따로 sql문법을 작성하지 않았다는 말이 맞을까요?> 추가로 왜 객체가 있는 패키지에 인터페이스를 만드는 이유가 띠로 있나요?
해결됨
[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
기존강의 업데이트를 지금 확인해서 쿠폰 받을 수 있을까요
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 현재 이렇게 까지만 생성이 되었습니다. 에러로그와 소스코드는 제일 하단에 있습니다! ngframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) ~[spring-orm-6.2.6.jar:6.2.6] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:419) ~[spring-orm-6.2.6.jar:6.2.6] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:400) ~[spring-orm-6.2.6.jar:6.2.6] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) ~[spring-orm-6.2.6.jar:6.2.6] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1865) ~[spring-beans-6.2.6.jar:6.2.6] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1814) ~[spring-beans-6.2.6.jar:6.2.6] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:607) ~[spring-beans-6.2.6.jar:6.2.6] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) ~[spring-beans-6.2.6.jar:6.2.6] at org.springframework.beans.factory.support .AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) ~[spring-beans-6.2.6.jar:6.2.6] at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-6.2.6.jar:6.2.6] at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) ~[spring-beans-6.2.6.jar:6.2.6] at org.springframework.beans.factory.support .AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) ~[spring-beans-6.2.6.jar:6.2.6] at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:970) ~[spring-context-6.2.6.jar:6.2.6] at org.springframework.context.support .AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.2.6.jar:6.2.6] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.4.5.jar:3.4.5] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) ~[spring-boot-3.4.5.jar:3.4.5] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.4.5.jar:3.4.5] at org.springframework.boot.SpringApplication.run (SpringApplication.java:318) ~[spring-boot-3.4.5.jar:3.4.5] at org.springframework.boot.SpringApplication.run (SpringApplication.java:1362) ~[spring-boot-3.4.5.jar:3.4.5] at org.springframework.boot.SpringApplication.run (SpringApplication.java:1351) ~[spring-boot-3.4.5.jar:3.4.5] at jpabook.jpashop.JpashopApplication.main(JpashopApplication.java:10) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run (RestartLauncher.java:50) ~[spring-boot-devtools-3.4.5.jar:3.4.5] Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "create table delivery (delivery_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), status enum ([*]), primary key (delivery_id))"; expected "INTERSECTS (, NOT, EXISTS, UNIQUE, INTERSECTS"; SQL statement: create table delivery (delivery_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), status enum (), primary key (delivery_id)) [42001-232] at org.h2.message.DbException.getJdbcSQLException(DbException.java:514) ~[h2-2.3.232.jar:2.3.232] at org.h2.engine.SessionRemote.readSQLException(SessionRemote.java:663) ~[h2-2.3.232.jar:2.3.232] at org.h2.engine.SessionRemote.readException(SessionRemote.java:646) ~[h2-2.3.232.jar:2.3.232] at org.h2.engine.SessionRemote.done(SessionRemote.java:620) ~[h2-2.3.232.jar:2.3.232] at org.h2.command.CommandRemote.prepare(CommandRemote.java:84) ~[h2-2.3.232.jar:2.3.232] at org.h2.command.CommandRemote.<init>(CommandRemote.java:56) ~[h2-2.3.232.jar:2.3.232] at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:488) ~[h2-2.3.232.jar:2.3.232] at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1164) ~[h2-2.3.232.jar:2.3.232] at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:245) ~[h2-2.3.232.jar:2.3.232] at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:231) ~[h2-2.3.232.jar:2.3.232] at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94) ~[HikariCP-5.1.0.jar:na] at com.zaxxer.hikari.pool.HikariProxyStatement.execute( HikariProxyStatement.java ) ~[HikariCP-5.1.0.jar:na] at com.p6spy.engine.wrapper.StatementWrapper.execute(StatementWrapper.java:115) ~[p6spy-3.9.0.jar:na] at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:80) ~[ hibernate-core-6.6.13.Final .jar: 6.6.13.Final ] ... 44 common frames omitted 이런식으로 에러가 발생하는데 mappedby, @Table 등 설정이 다 되어 있는데 이러한 오류가 발생합니다. 따로 설정한 건 없는데도 이런 오류가 발생을 하네요.. 확인부탁드립니다..! https://drive.google.com/file/d/1XoIDg25sc6iJ0yxQK5RGylSvs38GpiA7/view?usp=sharing