inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

[해결됨]마지막 강의 내용 수정 화면이 기능을 못하네요.

미해결

Spring Boot와 React로 배우는 초간단 REST API 게시판 만들기

마지막 강의 내용. 내용 수정 화면에서 수정이 안되네요. 자세한 내용을 추가해서 올리겠습니다.

  • mysql
  • rest-api
  • spring-boot
  • jpa
  • react.js
Jang Jaehoon 댓글 1 좋아요 0 조회수 54

[해결됨]부분적으로 화면 이동이 안되는 부분이 있습니다.

미해결

Spring Boot와 React로 배우는 초간단 REST API 게시판 만들기

안녕하세요. 거의 다 완성했는데, 이상하게 화면 이동이 안되는 부분이 있어서 질문 올립니다. 화면 이동이 안되는 부분은 상세화면 PostDetail.js 에서 편집화면 PostEdit.js로 넘어가는 부분입니다. 먼저 PostDetail.js 소스입니다. import React from 'react'; import {useNavigate, useParams} from "react-router-dom"; import {Link} from "react-router-dom"; import "./css/detail.css"; import {useEffect, useState} from "react"; import axios from "axios"; let PostDetail = () => { const {id} = useParams(); // URL에 포함된 파라미터 값을 가져오는 hook // http://localhost:3000/users/1 : このURLへ移動後、idが1 の場合に含まれるデータを持って来る。 let navigate = useNavigate(); let [post, setPost] = useState({ // useState:状態管理hook. 引数が状態 title:"", content:"" }); const getPost = () =>{ // axios : 非同期Api 呼出し 処理 library axios.get(`${process.env.REACT_APP_API_URL}/posts/${id}`) // REACT_APP_API_URL=http://localhost:8080/api .then(res=> { // console.log('情報の呼出し成功',res.data); console.log(res.data); setPost(res.data); }).catch(err=>{ // console.error('情報の呼出し失敗',err); console.error(err); // axios.get() -> サーバーへの要請 // -> 応答成功の場合 -> then() 実行 // -> 応答失敗の場合 -> catch() 実行 }); // The end of catch } // The end of getPost function // getPost Arrow 関数を実行。 useEffect(()=>{ getPost(); },[]); const handleDelete = () => { if(!window.confirm("本当に削除しますか?")){ return; } axios.delete(`${process.env.REACT_APP_API_URL}/posts/${id}`) .then(res=>{ console.log(res.data); alert("削除されました。"); navigate("/home"); }).catch( err=>{ console.log(err); alert("削除過程の中でエラーが発生致しました。"); } ); // The end of catch // alert(`情報が削除されました。`); } // const post = { // id, // title: `The name of ${id}`, // content: `The project of ${id}`, // // empID: `EmployId of ${id}`, // // info: `The other information of ${id}` // }; return ( <div className={"post-detail-container"}> <h1 className={"post-detail-title"}>{post.title}</h1> <p className={"post-detail-content"}>{post.content}</p> {/*<p className={"post-detail-empID"}>{post.empID}</p>*/} {/*<p className={"post-detail-info"}>{post.info}</p>*/} <div className={"button-group"}> <Link to={`/posts/edit/${post.id}`} className={"edit-button"}> 編集 </Link> <button onClick={handleDelete} className={"delete-button"}> 削除 </button> </div> <Link to="/home" className="back-link">戻る</Link> </div> ); } export default PostDetail;

  • mysql
  • rest-api
  • spring-boot
  • jpa
  • react.js
Jang Jaehoon 댓글 6 좋아요 0 조회수 85

낙관적락 질문있습니다.

미해결

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

457 장표의 사진이 이해가 잘 안갑니다. 우선 트랜잭션을 열고 트랜잭션1에서 update를 하는 순간 lock 을 획득, 그 후 실제 version을 하나 올린 후 동일 트랜잭션이 commit하기 전까지 락을 잡고 있는걸로 알고 있습니다. 근데 이미지 순서로 따지자면 트랜잭션 2에서 트랜잭션1의 commit 전단계에서 update를 수행하게 되는데 이러면 격리수준에 따라 달라지겠지만 READ COMMITTED에서는 여전히 version=1로 존재하기때문에 정상적으로 update 처리 되는거 아닌가요? 실제로는 트랜잭션 1에서 lock을 계속 가지고 있어서 트랜잭션 2에서 update에 진입도 못하겠지만 이미지가 잘 이해가 안되네요 특히 왜 갱신실패응답으로 떨어지는지도 이해가 안갑니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
pumpingYoo 댓글 1 좋아요 0 조회수 46

해당 결제 부분을 포폴에서 테스트 api를 적용에 대한 궁금증

미해결

제미니의 개발실무 - 커머스 백엔드 기본편

혹시 개인 프로젝트 포폴용으로 결제 요구사항을 추가할때 실제 pg사가 아닌 pg사의 test api로 구현이 되었을때 면접이나 서류에서 불이익이 있을지 궁금합니다 아무래도 pg 연동비용이 취준생 입장에선 부담이 조금 있네요

  • kotlin
  • spring-boot
  • 도메인
  • dbms/rdbms
  • backend
류정균 댓글 1 좋아요 1 조회수 47

댓글순서부여방식

미해결

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

무한 depth 댓글의 path 생성 방식에 대해 궁금한 점이 있습니다. 강의에서는 각 depth마다 00000 , 00001 같은 별도의 순차값을 부여해서 예를 들면 댓글1 → 00000 댓글2 → 00000 00000 댓글6 → 00000 00000 00000 댓글4 → 00000 00001 처럼 path를 구성하는 것으로 이해했습니다. 그런데 기존의 comment_id 가 이미 댓글 생성 순서를 보장한다면, 굳이 각 depth마다 새로운 순차값을 다시 부여하지 않고 comment_id 를 고정 길이 문자열로 변환해서 댓글1(id=1) → 00001 댓글2(id=2) → 00001 00002 댓글6(id=6) → 00001 00002 00006 댓글4(id=4) → 00001 00004 처럼 path를 만들어도 ORDER BY path ASC 시 동일하게 트리 순서가 보장될 것 같은데, 강의에서 별도의 순차값을 사용하는 이유가 있을까요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
pumpingYoo 댓글 1 좋아요 0 조회수 47

movablePageCount와 pageSize 상수

미해결

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 강의 잘 듣고있습니다. Service쪽 코드에 movablePageCount는 10L로 상수를 넣고 pageSize는 변수로 넣었는데 서비스적으로 볼때는 이 2개 전부 상수로 봐야하는거 아닌가 해서 질문 남깁니다. 페이지 하나당 몇개의 게시글을 보여줄 것인지, 현재 한 묶음당 몇개의 페이지씩 노출시킬건지는 모두 기획 단계에서 정해지므로 상수값으로 생각되어지는데 둘다 상수 혹은 둘 다 변수로 두지 않고 movablePageCount는 상수로 , pageSize는 변수로 파라미터에게 넘겨주는 이유가 궁금합니다

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
pumpingYoo 댓글 1 좋아요 0 조회수 37

JPA와 네이티브 쿼리

미해결

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 강의 잘 듣고 있습니다. 취준생이라 실무 경험이 없어 좀 붕뜬 질문 인점 양해 부탁드립니다. 우선 쿼리를 통해 최적화 해야된다면 JPA에서 자동으로 만들어주는 쿼리는 최적화가 안되어있기에 이런식으로 네이티브 쿼리를 날리는거 자체는 이해했습니다. 하지만 결국 이렇게 JPA 안에서 네이티브 쿼리를 날리면 단순 mybatis 쓰는거랑 뭐가 다른가 하는 의문이 들더라구요. 이럴때는 이런 최적화 부분 말고 이외의 부분은 충분히 JPA에서 만들어주는 기본 쿼리로 가능하기때문에 부분적으로만 최적화된 네이티브 쿼리를 직접 날림으로서 보일러플레이트를 대신할 수 있다 뭐 이런식으로 이해하면 될까요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
pumpingYoo 댓글 1 좋아요 0 조회수 45

aws 계정 생성 질문

해결됨

Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기

aws 계정 생성을 잘못했는지.. iam 콘솔로그인 사용자를 만들수가 없네요.. 그 구글로그인으로 회원가입을 했는데 aws 새프로젝트 기반 계정으로 가입을 했는데 어떻게 해야 하나요? 그냥 프로젝트 기반 루트 계정으로 계속 진행을 해도 되나요?

  • aws
  • mysql
  • docker
  • spring-boot
  • jpa
애송이 댓글 1 좋아요 1 조회수 73

Tasklet 배치 관련 내용

미해결

스프링 배치

혹시 Chunk 배치말고 Tasklet배치 에 관한 내용도 있을까요?

  • spring-boot
  • spring-batch
한진희 댓글 2 좋아요 0 조회수 45

조회 메서드 네이밍 질문

미해결

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 2

안녕하세요. 요새 조회 메서드 네이밍 컨벤션에 대해 고민 중인데요. Repository 계층을 제외한 애플리케이션, 도메인 등 계층에서 조회(DB 조회 아닌 경우도 포함) 관련 메서드 명를 작성할 때 네이밍 컨벤션에 대해 고민 중입니다. find를 쓰자니 Spring Data 관례인거 같아 이외 계층에서도 꼭 이렇게 사용할 필요가 있을거 같기도 해서 어떤 방식이 좋을지 조언을 듣고 싶습니다. 현재 생각 중인 3가지 네이밍이에요. 앞에 있는게 데이터가 없을시 예외가 발생하는거고, 뒤에가 없으면 null(또는 Optional) 반환입니다. get / find getOrThrow / get get / getOrNull

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
화이 댓글 1 좋아요 0 조회수 67

Properties 설정이 추가되었는데

미해결

옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트

Packiging 밑에 추가로 Properties가 있던데, Properties, YAML 중에 무엇을 선택하면 좋을까요?

  • java
  • spring
  • rest-api
  • spring-boot
  • dbms/rdbms
갸나다로 댓글 1 좋아요 0 조회수 38

아무 수정도 안하고 주어진 소스로 그대로 했는데 패스워드 에러가 남

해결됨

배포부터 운영 장애 대응까지 - GitOps, 옵저버빌리티, AI 에이전트

그러면 이게 누가 해결해야하나요? 강사 제공 소스를 그대로 실행했는데 이런 현상이 발생한건데 이걸 누가 수정을 한 것도 아닌데요...

  • spring-boot
  • kubernetes
  • ci/cd
  • github-actions
  • argocd
  • gitops
  • ai-agent
사랑2 댓글 1 좋아요 0 조회수 86

처음 실행 시 계속 패스워드가 틀리다고 나옴. 수정하고 해도 마찬가지임

해결됨

배포부터 운영 장애 대응까지 - GitOps, 옵저버빌리티, AI 에이전트

2026-10-01T08:51:50.613+09:00 INFO 9044 --- [springboot-sns-sample] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2026-10-01T08:51:52.145+09:00 WARN 9044 --- [springboot-sns-sample] [ main] org.hibernate.orm.jdbc.error : HHH000247: ErrorCode: 0, SQLState: 28P01 2026-10-01T08:51:52.145+09:00 WARN 9044 --- [springboot-sns-sample] [ main] org.hibernate.orm.jdbc.error : FATAL: password authentication failed for user "snsuser" 2026-10-01T08:51:52.157+09:00 WARN 9044 --- [springboot-sns-sample] [ main] org.hibernate.orm.jdbc : HHH100046: Could not obtain connection to query JDBC database metadata org.hibernate.exception.AuthException: Unable to obtain isolated JDBC connection [FATAL: password authentication failed for user "snsuser"] [n/a] at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:87) ~[ hibernate-core-7.4.1.Final .jar: 7.4.1.Final ] at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:34) ~[ hibernate-core-7.4.1.Final .jar: 7.4.1.Final ] at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:115) ~[ hibernate-core-7.4.1.Final .jar: 7.4.1.Final ] at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.8.jar:7.0.8] at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.8.jar:7.0.8] at org.springframework.beans.factory.support .AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.8.jar:7.0.8] at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:977) ~[spring-context-7.0.8.jar:7.0.8] at org.springframework.context.support .AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) ~[spring-context-7.0.8.jar:7.0.8] at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-web-server-4.1.0.jar:4.1.0] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) ~[spring-boot-4.1.0.jar:4.1.0] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) ~[spring-boot-4.1.0.jar:4.1.0] at org.springframework.boot.SpringApplication.run (SpringApplication.java:321) ~[spring-boot-4.1.0.jar:4.1.0] at org.springframework.boot.SpringApplication.run (SpringApplication.java:1365) ~[spring-boot-4.1.0.jar:4.1.0] at org.springframework.boot.SpringApplication.run (SpringApplication.java:1354) ~[spring-boot-4.1.0.jar:4.1.0] at com.apiece.springboot_sns_sample.SpringbootSnsSampleApplication.main(SpringbootSnsSampleApplication.java:14) ~[main/:na] Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "snsuser" at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:835) ~[postgresql-42.7.11.jar:42.7.11] at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:307) ~[postgresql-42.7.11.jar:42.7.11] at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:97) ~[HikariCP-7.0.2.jar:na] at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111) ~[HikariCP-7.0.2.jar:na] at org.hibernate.engine.jdbc.connections.internal.DataSourceConnectionProvider.getConnection(DataSourceConnectionProvider.java:149) ~[ hibernate-core-7.4.1.Final .jar: 7.4.1.Final ] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:508) ~[ hibernate-core-7.4.1.Final .jar: 7.4.1.Final ] at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:48) ~[ hibernate-core-7.4.1.Final .jar: 7.4.1.Final ] ... 37 common frames omitted ... 31 common frames omitted Process finished with exit code 1

  • spring-boot
  • kubernetes
  • ci/cd
  • github-actions
  • argocd
  • gitops
  • ai-agent
사랑2 댓글 2 좋아요 1 조회수 107

22강 [토큰 저장] 질문

미해결

Spring Boot + React.js 로그인 (+소셜) 서비스 이해하기

22강 [토큰 저장]에서 질문이 있습니다. 강의 마지막에 test_admin으로 로그인 한 다음, 관리자 페이지로 이동하면 관리자 권한으로 유저 리스트가 출력되어야 하는데, 그러지 않고 있습니다. 이거 어디서부터 고쳐야하는지요? DB를 확인해보니, test_admin에 관리자 권한도 있고, 소스 코드로 노션과 강의상의 내용을 구현했습니다만.. (에러 로그로 출력되는 내용도 없습니다.)

  • react
  • node.js
  • rest-api
  • spring-boot
  • login
Jang Jaehoon 댓글 1 좋아요 0 조회수 59

음성불량

미해결

코드로 배우는 React 19 with 스프링부트 API서버

아니 음성끊기는데 이거 보완안하시고 그냥 올리신건가요?

  • react
  • typescript
  • spring-boot
  • jpa
  • jwt
yoo 댓글 1 좋아요 0 조회수 52

13강 [로그인 단일 토큰] 에서 프로젝트 실행 시 에러

미해결

Spring Boot + React.js 로그인 (+소셜) 서비스 이해하기

13강 [로그인 단일 토큰] 에서 프로젝트 실행 시 에러가 발생합니다. 로그를 읽어보니, jwtTokenProvider를 다른 클래스에서 빈으로 만드는 과정에서 에러가 발생하는 듯 합니다. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController' defined in file [C:\SpringBootReactJsSocialLoginService\build\classes\java\main\com\example\demo\controller\UserController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userService' defined in file [C:\SpringBootReactJsSocialLoginService\build\classes\java\main\com\example\demo\service\UserService.class]: Unsatisfied dependency expressed through constructor parameter 2: Error creating bean with name 'jwtTokenProvider' defined in file [C:\SpringBootReactJsSocialLoginService\build\classes\java\main\com\example\demo\util\JwtTokenProvider.class]: Failed to instantiate [com.example.demo.util.JwtTokenProvider]: Constructor threw exception Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userService' defined in file [C:\SpringBootReactJsSocialLoginService\build\classes\java\main\com\example\demo\service\UserService.class]: Unsatisfied dependency expressed through constructor parameter 2: Error creating bean with name 'jwtTokenProvider' defined in file [C:\SpringBootReactJsSocialLoginService\build\classes\java\main\com\example\demo\util\JwtTokenProvider.class]: Failed to instantiate [com.example.demo.util.JwtTokenProvider]: Constructor threw exception Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jwtTokenProvider' defined in file [C:\SpringBootReactJsSocialLoginService\build\classes\java\main\com\example\demo\util\JwtTokenProvider.class]: Failed to instantiate [com.example.demo.util.JwtTokenProvider]: Constructor threw exception Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.example.demo.util.JwtTokenProvider]: Constructor threw exception Caused by: java.lang.IllegalArgumentException: The ES256 algorithm does not support shared secret keys. 이거 어떻게 대응하면 좋을까요?

  • react
  • node.js
  • rest-api
  • spring-boot
  • login
Jang Jaehoon 댓글 1 좋아요 0 조회수 54

11강 [실습] Docker로 MySQL1 분만에 실행하기

해결됨

트래픽 급증을 견디는 서버 시스템 설계 - Coupon 발급 서비스

docker실행하여 mySql 컨테이너 생성까지 성공했습니다. 하지만 마지막 부분의 어플리케이션 실행 부분에서 에러가 나오고 있습니다. org.hibernate.exception.AuthException: Unable to obtain isolated JDBC connection [Access denied for user 'coupon'@'localhost' (using password: YES)] [n/a] Caused by: java.sql.SQLException: Access denied for user 'coupon'@'localhost' (using password: YES) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/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
  • kotlin
  • mysql
  • docker
  • spring-boot
  • kafka
  • redis
Jang Jaehoon 댓글 2 좋아요 0 조회수 91

11강 [실습] Docker로 MySQL1 분만에 실행하기

해결됨

트래픽 급증을 견디는 서버 시스템 설계 - Coupon 발급 서비스

11강 [실습] Docker로 MySQL1 분만에 실행하기 에서 docker-compose up -d 커맨드가 실행이 안되네요. Docker Desktop을 로컬에 설치했는데, IntelliJ랑 연동해야 하는 건가요?

  • java
  • kotlin
  • mysql
  • docker
  • spring-boot
  • kafka
  • redis
Jang Jaehoon 댓글 2 좋아요 0 조회수 66

isInterrupted 질문 있다.

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

지금 우리가 taskExecutor를 비동기로 설정했다는 가정이라 else 문만 보고 있는게 맞나? syncTaskExecutor 라면, if 문에도 걸릴거같은데 말이다. // ThreadStepInterruptionPolicy.isInterrupted private boolean isInterrupted(StepExecution stepExecution) { boolean interrupted = Thread.currentThread().isInterrupted(); if (interrupted) { ... } else { interrupted = stepExecution.isTerminateOnly(); <-- (2) 이 녀석에서 true를 반환하고 } return interrupted; }

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
비오 댓글 1 좋아요 0 조회수 37

인기 태그

인프런 TOP Writers

주간 인기글