inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

백엔드 서버가 존재할 때에도 서버 액션을 사용하는 것이 바람직할까요?

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요! 서버 액션에 관해 궁금한 점이 생겨 질문드립니다. 일단 제가 강의를 보고 실습하면서 느꼈던 서버 액션의 큰 장점은 다음과 같습니다. 브라우저에서 서버 측에서 사용되는 함수를 실행할 수 있다. => 별도의 백엔드 API를 구현하지 않고도 DB에 직접적으로 접근하는 등의 작업이 가능 브라우저와의 상호작용을 하면서도 컴포넌트를 서버 컴포넌트로 유지할 수 있다. 하지만 1번 장점의 경우 혼자 풀스택으로 개발하지 않고 백엔드 개발자와 함께 개발하는 경우에는, 주로 이번 강의와 같이 서버 액션 함수 내에서 별도의 API를 호출하게 될 것이라 생각됩니다. 이런 경우에도 기존의 방식대로 onSubmit 등을 사용해서 API를 호출하는 것보다, 2번 장점을 위해 서버 액션을 사용하는 것이 바람직 할지 궁금해 질문드립니다! state를 이용해 실시간 validation이 이루어져야 하는 곳이 아니라면 유용할 것 같다고 생각이 들지만, 구글링을 해봐도 최신 기술이라 그런지 실제 적용 사례를 잘 찾아볼 수 없어 질문 드립니다!

  • react
  • typescript
  • next.js
서랑 댓글 1 좋아요 0 조회수 138

store를 List로 만들지 않고, Map으로 만든 이유가 궁금합니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. store를 List로 만들지 않고, Map으로 만든 이유가 궁금합니다. 더 효율적인 뭔가가 있는지요?

  • java
  • spring
  • mvc
  • spring-boot
smog1000y 댓글 1 좋아요 0 조회수 144

8:54

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

8:54 초에 답 출력을 할 때요. 상속이면 부모 먼저 출력한다고 해서 Start Car created 까지 이해가 되는데 왜 그다음이 Engine started가 아니고, electric car created 인지 이해가 안되네요.ㅠ

  • python
  • java
  • c
  • 정보처리기사
snow4532 댓글 2 좋아요 0 조회수 67

@Transactional 어노테이션을 썻지만, h2 DB가 롤백이 되지 않습니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] ***문제해결**** JDBCRepository 구현시 이걸 안 붙혀넣고 이렇게 써서 생긴 오류인 것 같습니다.. 다른 질문글에서 보고 알았습니다 하하.. *************** @Transactional 어노테이션을 썻지만, h2 DB에서 롤백이 되지 않습니다. 롤백이 되지 않은 이유가 스프링 버전과 h2 버전이 바뀌어서 그런건가요? 테이블을 초기화하고 스프링통합memberServiceTest 를 진행하니 회원가입한 정보가 테스트가 끝난 후 DB에 고스란히 남아있었습니다. #스프링 환경 Java-> 17 spring->3.4.3 h2 : 2.3.232 -> 서버모드 접근함(jdbc:h2:tcp://localhost/~/test) #알아본것 h2에 서버모드로 접근하면, spring->네트워크->h2 이렇게 접근이 되어서 외부에 있는 DB는 롤백을 안한다고 들었습니다. 다른 곳에서도 접근해서 고칠 수 있기 때문에,, 그래서 대신 메모리모드를 사용하라고 답변을 들었습니다.

  • java
  • spring
  • mvc
  • spring-boot
조동휘 댓글 1 좋아요 1 조회수 119

스레드 실행 순서

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] public class ManyThreadMainV2 { public static void main(String[] args) { log("main() start"); HelloRunnable runnable = new HelloRunnable(); for(int i=0; i<100; i++){ Thread thread = new Thread(runnable); thread.start(); } log("main() end"); } } 안녕하세요, 여러 스레드 만들기에서 반복문을 사용하여 스레드를 생성하면 콘솔에 스레드의 실행 순서가 보장되며 출력이 됩니다. 사진처럼 몇 번을 다시 수행해도 Thread0, 1, 2 ... 98, 99로 강의와 다르게 순서가 항상 일정하게 출력되는데 혹시 무엇이 문제인지 알 수 있을까요 ?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
wonderwall09in 댓글 1 좋아요 0 조회수 87

다음영상이 문제 풀이 영상이라고 하셨는데 문제풀이 영상이 누락되어있는 것 같습니다

미해결

Do it! 알고리즘 코딩테스트 with JAVA

다음 영상에서 문제 풀거라고 하셨는데 문제풀이 영상이 누락되어있는 것 같습니다 최소공통조상 빠르게 구하기 마지막부분이나 여러 영상들에서 다음영상에서 문제 풀어볼거라고하셨는데 문제풀이 영상이 빠져있는 것 같아요 ㅠ ! 유튜브에 들어가봐도 자바 문제풀이 영상을 찾을 수 없었습니다ㅜ 확인해주실 수 있나요?

  • java
  • 코딩-테스트
  • 알고리즘
devel 댓글 1 좋아요 0 조회수 155

[예시 코드 오타 제보]처형부탁한다

해결됨

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

한다 제보를 KILL-9, 바란다 응답 [제보 정보 수집중... 🤖 ] [KILL-9@user]$ cd 커리큘럼/섹션4/3장/작전1 해킹 주문 데이터베이스 정찰 작전에서 프락치를 발견했다 JdbcPagingItemReader 가 whereClause에 거짓 증거를 제출해서 혼란을 야기했다 status = 'READY_FOR_SHIPMENT' 이고 not null 이어햐 하지 않을까 생각한다 CANCELLED 가 아닌 것 같다 다시 보니 작전에 혼동이 있는 것 같다 확인요망 🔥 유해 게시물 처형 작전 시스템에도 버그가 발견됐다 전체코드에서 JpaCursorItemReader 에 queryString 조건이 잘못된 것 같다 이후의 예시 코드들은 잘돼있지만 전체코드 복사하는 녀석들이 많기 때문에 처리부탁한다 [추가 처형 요청... 💀 ] [KILL-9@user]$ cd 커리큘럼/섹션3/2장/작전1 글 쓰는 김에 한 녀석도 추가 제보하겠다 FlatFileItemReader 고정길이 예제도 처형 부탁한다 소제목인 .columns() 예제 이미지가 정확하다 하지만 예시코드라고 적혀있는 Range는 틀렸다 이것은 KILL-9 후보생의 혼란만 가중시킬뿐이다

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
코틀린자바 댓글 1 좋아요 1 조회수 239

SnowFlake

해결됨

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

현재 댓글 무한 depth까지 수강했는데 snowFlake를 통해 Id값을 넣고 있는데 해당 부분을 service단에서 entity.create를 통해 구현하는 점에 대해 궁금증이 생겼습니다. 이런 방식으로 계속 진행이 되면 보일러 플레이트방식이 되는것 같은 느낌이 들어서 차라리 커스텀 IdentifierGenerator를 통해 Entity안에서 값을 넣어주면 어떨까하고 생각을 해보게 되었습니다. 이렇게 진행하면 기존 service를 통해 진행하는 것보다 비효율적일까요?? 두개의 차이점이 궁금합니다

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

physical cache miss 시, collapse 동작 안하는 상황에 대해

해결됨

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

레디스에 physical 하게 남아있지 않은 캐시에 대해선 request collpsing이 동작하지 않습니다. 이를 해결하기 위한 방법이 따로 있을까요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
윤희종 댓글 2 좋아요 0 조회수 166

슬러그 주소..

해결됨

제로베이스부터 배우는 웹개발의 개념과 바이브 코딩

선생님 게시글이 슬러그 필드를 이용해서 고유의 url 형성되는건 알겠는데 만약 제목글이 같은 글의 경우 같은 url이 만들어지면 같은 제목의 여러개의 동일한 url이 생기는게 아닌가요? 조금 이해가 안가서요...

  • react
  • 웹앱
  • next.js
  • cursor
  • 인공지능(ai)
kelo 댓글 1 좋아요 0 조회수 48

실습용 백엔드 서버 세팅이후 section02 생성후 npm run start 에러

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요 1.3) 실습용 백엔드 서버 세팅 이후 terminal 에서 npm run start 로 Swagger UI 까지 작동이 되었는데요. 2.1) Page Outer를 소개합니다. 에서 npx create-next-app@14 section02 를 진행하고 나면, npm run start 시 에러가 나고 있습니다. SSR 강의를 진행하면서 계속해서 백엔드 서버에 접속을 못하는데 왜 이러는 걸까요? error 사진파일 첨부하였습니다.

  • react
  • typescript
  • next.js
Jin 댓글 2 좋아요 0 조회수 126

개발툴에대해서

해결됨

인프런 클론코딩 Part 1: Next.js와 NestJS로 시작하는 실전 프로젝트

혹시 커서ai말고 젯브레인ai로 강의를 진행해도 진행에 어려움이 없을까요?

  • aws
  • docker
  • next.js
  • nestjs
  • prisma
ultimates 댓글 1 좋아요 0 조회수 150

안녕하세요, MessageRelay 관련해 궁금한 사항 생겨서 문의드립니다.

해결됨

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

안녕하세요, 강사님 늘 강의 잘 듣고 있습니다. 감사합니다. 강의를 보다보니, 아래 프로세스가 발생한다면 동시성 이슈가 발생할 수 있을 것 같기도 한데요, 혹시 관련하여 의견 여쭙고자 글 남깁니다 감사합니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
자기개발하고싶어요 댓글 2 좋아요 0 조회수 130

Advisors 질문입니다.

미해결

나도! 스프링으로 인공지능을 할 수 있다(인프1탄)

예제를 따라하고 있는데요 public ChatClient chatClient(ChatClient.Builder chatBuilder){ return chatBuilder .defaultAdvisors(new MessageChatMemoryAdvisor(new InMemoryChatMemory()).build(); } 이부분이 에러가 나서 MessageChatMemoryAdvisor를 생성을 못하는데요.. 어떻게 해야 할까요? spring ai버전이 1.0.0버전인데 버전에 따라 코드가 바뀌는것 같은데요..

  • java
  • spring
  • spring-boot
  • 인공지능(ai)
  • spring-ai
gynam 댓글 3 좋아요 0 조회수 167

jdk 24 를 쓰면 상관이 있을까요?

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

이미 다른 21 버전이 있어서 그런가 같은 21.0.1 버전이 안나오는데 상관없겠죠?

  • java
  • 객체지향
차수현 댓글 2 좋아요 0 조회수 290

안녕하세요, 5.3)풀라우트 캐시 3. 동적경로에 적용하기 질문

미해결

한 입 크기로 잘라먹는 Next.js

안녕하세요, 정환님 궁금한게 있습니다. 동적 경로를 갖는 page.tsx 파일 안에 generateStaticParams 라는 함수를 설정하게되면, 경로에 해당하는 모든 페이지는 모두 Static Page로 만들어지는 것으로 알고 있습니다. return하지 않은 URL Parameter를 갖는 페이지에 대해서도 동일하다고 봤었는데요 그렇다면 , 도서 id999번까지 있다고 가정해볼게요 return [{id:"1"}] 이렇게만 작성해도 999번까지 static page가 되는게 맞을까요 ?

  • react
  • typescript
  • next.js
박재호 댓글 2 좋아요 0 조회수 151

ppt 510 실습질문

미해결

스프링 웹 MVC 완전정복

클라이언트용 프록시 생성 1. RestClient 사용 private repository 라 git repository collaborator mail 로 드렸어요 https://github.com/insoou/study-springmvc branch name: test/rest-client/http-interface ClientProxy.java 테스트 파일에서 주석으로 표시 소스간략 @Test void restClient(){ RestClient restClient = RestClient.builder().baseUrl("https://api.github.com/").build(); RestClientAdapter restClientAdapter = RestClientAdapter.create(restClient); HttpServiceProxyFactory httpServiceProxyFactory = HttpServiceProxyFactory.builderFor(restClientAdapter).build(); RepositoryService repositoryService = httpServiceProxyFactory.createClient(RepositoryService.class); // 요기서 에러나지는 않지만 디버시 첨부한 사진처럼 찜찜한 메세지가 남습니다. 저 메세지의 의미가 무엇인지 알고있으십니까? Map<String, Object> repository = repositoryService.getRepository("spring-projects", "spring-boot"); assert false==repository.isEmpty(); } 질문 사진에 첨부했습니다 리포지토리서비스 메서드 에러 던지기가 나오는 이유가 궁금한데 알고계신가요?

  • java
  • spring
  • spring-boot
  • thymeleaf
bigger 댓글 1 좋아요 0 조회수 81

서브넷!!

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요 선생님!! 이번에 선생님 강의를 처음으로 듣고 2회차 때 꼭 합격하고 싶은데요.. 혹시 서브넷은 따로 강의 안하시나여? 서브넷은 공부를 안해도 되는건가여?

  • python
  • java
  • c
  • 정보처리기사
최태준 댓글 2 좋아요 0 조회수 73

47분33초

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

47분 33초에 sumDig(0)까지 해서 마지막 탈출까진 이해가 되는데, sumDig(1)는 1 + 0 = 1 을 반환합니다 . . . . sumDig(12345)는 5+10 = 15을 반환합니다 결국 12345의 자리수 합은 15가 됩니다. 이부분이 이해가 안됩니다 ㅠㅠ

  • python
  • java
  • c
  • 정보처리기사
snow4532 댓글 2 좋아요 0 조회수 73

영속성 전이와 연관관계

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 선생님 강의를 통해 배움을 얻고 프로젝트를 하며 성장 하고 있습니다. 프로젝트를 하던중 영속성 전이와 관련하여 궁금한점이 생겨 질문 드립니다. ( 영한님 JPA 강의에 질문 하는것이 맞으나 JPA는 책을 사서 여기에 질문 드립니다 ㅠㅠ ) 회원과 주소는 양방향 관계를 두고 있습니다. 회원과 주소를 연관관계 매핑하여 회원을 저장하면 영속성 전이를 통해 주소가 같이 저장 됩니다. 그런데 문제는 둘다 영속 상태일때 주소를 제거 하면 delete 쿼리가 나가지 않았습니다. 이런 저런 실험을 해본 결과 영속성 전이 때문에 삭제 되지 않은것으로 보았습니다. 영속 대상인 주소를 삭제 하려고 했으나 회원의 연관관계인 Address는 그대로 있기 때문에 영속성 전이로 인해 삭제가 되지 않았다로 판단 하였습니다. 영속성 컨텍스트에 주소만 있을 경우 주석 으로된 부분을 실행하면 영속성 전이를 수행할 회원이 없기 때문에 delete 쿼리가 나가게 됩니다. 제가 생각한게 맞는지 궁금하여 질문 드립니다. 밑의 예시의 경우 회원이 영속 상태인 경우 영속성 전이 때문에 연관관계를 끊지 않으면 영속 대상인 주소가 delete가 안되는게 맞을까요? @DisplayName("회원과 연관된 주소를 제거할때 자식인 주소를 제거 하면 delete 쿼리가 발생하지 않는다.") @Test void deleteAddress() { //given User user = new User("회원"); Address address = new Address("주소"); address.connectUser(user); //when em.persist(user); em.flush(); boolean isAddressManaged = em.contains(address); System.out.println("Address is managed? " + isAddressManaged); addressRepository.deleteById(address.getId()); em.flush(); em.clear(); //then //Address findAddress = addressRepository.findById(address.getId()).orElseThrow() //addressRepository.deleteById(findAddress.getId()); //em.flush(); } [ 회원 ] @Getter @Setter @Table(name = "users") @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToOne(mappedBy = "user", cascade = CascadeType.PERSIST) private Address address; protected User() {} private String name; public void connectAddress(Address address){ this.address = address; } } @Getter @Entity public class Address { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User user; private String addressName; protected Address() {} public Address(String addressName) { this.addressName = addressName; } public void connectUser(User user){ this.user = user; user.connectAddress(this); } }

  • java
  • spring
  • spring-boot
  • jpa
조희제 댓글 2 좋아요 0 조회수 164

인기 태그

인프런 TOP Writers

주간 인기글