묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[초급] 찍어먹자! 코틀린과 Spring Security + JWT로 회원가입 만들기
4.1 마지막 회원가입 실행되지만 빈화면 뜸
오류없이 실행은되는데 계속 이렇게 아무것도 결과가 안나옵니다.봐도봐도 모르겠어 프로젝트 파일 남겨봅니다.https://drive.google.com/file/d/1UngsyVj2InuB9bJWA6hpdcjhMBkXI9w3/view
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
예외를 공통으로 처리하는곳
안녕하세요. 강의를 듣던중에 궁금한점이 있어서 질문드립니다.이번강의에서도 그렇고, 앞서 다른 강의에서도 "복구할수 없는 예외는 예외를 공통으로 처리하는 부분까지 전달되고, 예외를 공통으로 처리하는곳에서 처리한다 " 고 하셨는데, 지금까지 강의에서도 이 부분에서 대해서는 자세한 설명이 없으셔서 넘어가긴했는데 예외를 공통으로 처리하는곳이 구체적으로 어떤부분을 말하는것일까요? 지금까지는 이 부분에 대해서는 학습한적이 없는걸로 생각되는데 제가 놓친부분이 있는것인지 아니면 추후 강의에서 설명을 해주시는 부분인지 질문드립니다..!
-
미해결[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스
강의 리뉴얼 언제될까요??
학습에 관련된 질문만 해주세요.질문은 상세하게 무엇이 궁금한지 작성해주세요.질문은 '마크다운'을 사용하여 할 수 있습니다.유사한 질문이 있었는지 살펴보고 질문 해주세요. 부담갖지 말고 강의에서 궁금하신 점 전부 질문해주세요 :)
-
미해결실전! Querydsl
스프링 테스트 실행이 안됩니다... 제발 도와주세요 ㅠㅠ
java : 21spring : 3.3.3 사용뭔가 제대로 빌드가 되지 않은 것 같아서 gradle 클린하고 재빌드하고 여러번 했는데도 반복적으로 오류 메세지가 발생합니다 ㅠㅠ영한쌤의 다른 자바 강의도 수강 중인데 그건 해당 경로에 있어도 실행이 잘되는데 특이하게 spring 프로젝트는 안되네요... 경로에 한글이 있어서 그런가 싶어 UTF-8 설정도 해두었습니다.얼른 수업 듣구 싶어욧,,, 도와주세요 ㅠㅠ
-
미해결스프링은 어려워! 코틀린과 Ktor로 백엔드/서버개발 기초정복 (커피주문시스템 개발)
자바 LocalDateTime 직렬화 관련 질문
Kotlinx DateTime 라이브러리를 쓰면 자바 LocalDateTime 직렬화 과정이 없어지나요?
-
미해결R언어 프로그래밍과 데이터분석
p.35 파일 불러오기 질문있습니다.
안녕하세요. 교재를 구매하여 공부하다 질문이 있어 이렇게 남깁니다.p.35 하단 부분에 " 1 )R 파일 불러오기 " 에서 강의 사이트에서 제공되고 있는 ch1_2_2_1.R 파일을 내려 받으라고 하셨는데 어디서 저 파일을 찾아올 수 있는지 모르겠습니다. 감사합니다.
-
미해결스프링 배치
job launcher관련 질문 있습니다.
joblauncher 동기적 방식 설명을 보면 controller 를 하나 만들job di 로 받고 있는데요 job 이 여러개 있는 경우 예를 들어 a, b, c 3개의 잡이 있을 때 controller 에 a job 을 전달하려면 어떻게 해야되나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중복_회원_예외 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 뭐가 문제인지 모르겠습니다 ㅠㅠ isEqualto도 빨간색으로 뜨면서 작동이 안되고요 ㅠㅠpackage hello.hello_spring.service; import hello.hello_spring.domain.Member; import hello.hello_spring.repository.MemoryMemberRepository; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; import java.util.Optional; import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; class MemberServiceTest { MemberService memberService = new MemberService(); MemoryMemberRepository memoryMemberRepository = new MemoryMemberRepository(); @AfterEach public void afterEach() { memoryMemberRepository.cleatStore(); } @Test void 회원가입() { //given Member member = new Member(); member.setName("hello"); //when long saveId = memberService.join(member); //then Member findMember = memberService.findOne(saveId).get(); //ctrl + alt + v assertThat(member.getName()).isEqualTo(findMember.getName()); } @Test public void 중복_회원_예외() throws Exception { //given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //when Long saveId = memberService.join(member1); //then IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); assertThat(e.getMessage().isEqualTo("이미 존재하는 회원입니다.")); /* try { memberService.join(member2); fail(); } catch (IllegalStateException e) { assertThat(e.getMessage().equals("이미 존재하는 회원입니다.")); } */ } @Test void findMembers() { } @Test void findOne() { } }Unexpected exception type thrown, expected: <java.lang.IllegalStateException> but was: <java.lang.RuntimeException> Expected :class java.lang.IllegalStateException Actual :class java.lang.RuntimeException <Click to see difference> org.opentest4j.AssertionFailedError: Unexpected exception type thrown, expected: <java.lang.IllegalStateException> but was: <java.lang.RuntimeException> at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:67) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:35) at org.junit.jupiter.api.Assertions.assertThrows(Assertions.java:3115) at hello.hello_spring.service.MemberServiceTest.중복_회원_예외(MemberServiceTest.java:53) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: 이미 존재하는 회원입니다. at hello.hello_spring.service.MemberService.lambda$validateDuplicateMember$0(MemberService.java:28) at java.base/java.util.Optional.ifPresent(Optional.java:178) at hello.hello_spring.service.MemberService.validateDuplicateMember(MemberService.java:24) at hello.hello_spring.service.MemberService.join(MemberService.java:16) at hello.hello_spring.service.MemberServiceTest.lambda$중복_회원_예외$0(MemberServiceTest.java:54) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:53) ... 6 more Caused by: java.lang.IllegalAccessException: 이미 존재하는 회원입니다. at hello.hello_spring.service.MemberService.lambda$validateDuplicateMember$0(MemberService.java:26) ... 11 more java.lang.IllegalAccessException: 이미 존재하는 회원입니다. java.lang.RuntimeException: java.lang.IllegalAccessException: 이미 존재하는 회원입니다. at hello.hello_spring.service.MemberService.lambda$validateDuplicateMember$0(MemberService.java:28) at java.base/java.util.Optional.ifPresent(Optional.java:178) at hello.hello_spring.service.MemberService.validateDuplicateMember(MemberService.java:24) at hello.hello_spring.service.MemberService.join(MemberService.java:16) at hello.hello_spring.service.MemberServiceTest.lambda$중복_회원_예외$0(MemberServiceTest.java:54) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:53) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:35) at org.junit.jupiter.api.Assertions.assertThrows(Assertions.java:3115) at hello.hello_spring.service.MemberServiceTest.중복_회원_예외(MemberServiceTest.java:53) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Caused by: java.lang.IllegalAccessException: 이미 존재하는 회원입니다. at hello.hello_spring.service.MemberService.lambda$validateDuplicateMember$0(MemberService.java:26) ... 11 more
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
선생님 강의를 따라가려면 함수형 프로그래밍을 배워야 하나요?
선생님 코드의 로직이 어렵게 느껴져 따라가는데 어려움을 겪고 있습니다. chatgpt를 활용해보니, 함수형 프로그래밍을 공부하면 된다고 하는데요. 혹시 먼저 함수형을 공부하고 다시 선생님 강의에 도전을 하는게 맞는 순서일까요?
-
미해결14년차 마케터에게 배우는 데이터드리븐 디지털/퍼포먼스마케팅의 모든것
마케팅 대시보드 구성 문의
1) 안녕하세요! 강의 듣고 루커스튜디오로 마케팅 대시보드를 구성해봤는데요! 문의가 있어서 질문드립니다. 샘플 데이터로 주신 GPT Created law 파일로 대시보드는 구성했는데요! CVR을 표에 추가로 표기 하고 싶은데, 계산된 필드추가에 sum(구매자수)/sum(clicks)으로 계산된 필드를 활용하면 될까요? 2) 강의 듣고 GA4 자격도 취득 했는데! 이력서에 공식적으로 활용할 수 있을까요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
AccessDeniedHandler가 작동하지않습니다
@Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { try { 생략... SecurityContextHolder.getContextHolderStrategy().getContext().setAuthentication(token); filterChain.doFilter(request, response); } catch (Exception e) { log.info("---------------JWT ERROR!------------"); log.info(e); log.info(e.getMessage()); ObjectMapper mapper = new ObjectMapper(); String jsonStr = mapper.writeValueAsString(Map.of("error", "ERROR_ACCESS_TOKEN")); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); PrintWriter writer = response.getWriter(); writer.println(jsonStr); writer.close(); } }강의의 JWT와 @PreAuthorize 이용하기 파트 후반부에 강의처럼 USER권한만 가진 사용자로 ADMIN권한이 필요한 메소드에 접근하니 포스트맨에서 AccessDenied exception이 뜨지않고 catch (Exception e)가 예외를 잡아버려서 { "error": "ERROR_ACCESS_TOKEN" }결과가 이렇게 나옵니다 이미 AccessDenied 핸들러도 시큐리티에 등록 시킨후 입니다ADMIN권한을 가진 사용자 토큰으로 요청을 보내면 원하는 데이터도 잘 나옵니다 catch로 잡아서 예외를 던질까 시도해봤는데 이유는 모르겠지만 Exception에서만 예외가 잡힙니다ㅠ그래서 여러가지 해결책을 알아봤는데첫번째catch (RuntimeException e) { log.info("---------------JWT ERROR!------------"); log.info(e); log.info(e.getMessage()); ObjectMapper mapper = new ObjectMapper(); String jsonStr = mapper.writeValueAsString(Map.of("error", "ERROR_ACCESS_TOKEN")); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); PrintWriter writer = response.getWriter(); writer.println(jsonStr); writer.close(); }이렇게 RuntimeException으로하면{ "error": "ERROR_ACCESSDENIED" }AccessDenied 핸들러가 잘 작동하구요 두번째SecurityContextHolder.getContextHolderStrategy().getContext().setAuthentication(token); } catch (Exception e) { log.info("---------------JWT ERROR!------------"); log.info(e); log.info(e.getMessage()); ObjectMapper mapper = new ObjectMapper(); String jsonStr = mapper.writeValueAsString(Map.of("error", "ERROR_ACCESS_TOKEN")); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); PrintWriter writer = response.getWriter(); writer.println(jsonStr); writer.close(); } filterChain.doFilter(request, response);doFilter를 try catch 밖에 두어도 AccessDenied 핸들러가 잘 작동합니다세번째@ExceptionHandler(AccessDeniedException.class) public ResponseEntity<?> notAuthorized(AccessDeniedException e) { return ResponseEntity.status(HttpStatus.FORBIDDEN).body(e.getMessage()); }RestControllerAdvice로 하면 핸들러가 작동안하긴해도 예외처리가 가능했습니다근데 문제는 왜 원래코드에서 영상처럼 작동을 안하는지 이유를 모르겠습니다 제가 빠트린부분이 있을까요?스프링부트 버전도 똑같이 맞춰보기도 했습니다
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
반복문 강의
반복문강의 20:40초for 과 while 반복문 풀이를 할때for문은 i=5까지 반복한다하셨는데요.어떻게 출력값이 짝수기준으로 while 출력물이 나오는지 이해가 안갑니다.i=1일때 for문으로 현재숫자:1 출력은 이해가 가구요.그다음 while로 넘어갔는데 조건식이 false여서다시 for문으로 돌아오는 것인가요? 왜 돌아가는지 이해가 안가서요. 그다음 2일땐 while 조건식이 True 여서 출력되고break로 빠져나오고 다시 for문으로 돌아가는건가요.
-
미해결김영한의 실전 자바 - 기본편
강의 영상 음성 실수
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의 - "생성자 - 오버로딩과 this()"시간 - 2분 38초 ~ 2분 40내용 - "생성자를 오버라이딩 한 덕분에..." 라고 하셨는데"생성자를 오버로딩 한 덕분에..."로 말씀하시려 던 게 아닐까 생각합니다. 바로 10초 전에 헷갈리시다고 말씀하셔서 실수하신 것 같습니다. 별 거 아닌 사소한 내용이긴 한데 공유 드립니다.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
Destroy() 지연 파괴에 관하여
QuestSystem구현 강의에서 12:51쯤에 Destroy(quest, Time.deltaTime)을 사용했는데 바로 파괴해도 될 것 같은데 한 프레임을 쉬는 이유가 있나요?즉시 파괴할 경우 이벤트나 다른 참조하는 곳에서 error가 날까봐 그런건가요?
-
미해결
Chroma.from_documents 에러가 납니다.
저는 윈도우에서 vscode로 실행중인데 앞에까지는 잘 실행되다가 chroma에서 부터 에러가 나네요;; pip install onnxruntime 을 해도 계속 마찬가지 에러가 납니다. 아래를 참고해 보니 Microsoft Visual C++ Redistributable 설치해야 한다고 해서 설치해 보니 에러가 없어졌네요 혹시 윈도우에서 실행하시는 분은 참고하시길 바랍니다. https://stackoverflow.com/questions/77321038/issue-with-chromadb-onnxruntime
-
해결됨'이것이 리눅스다' 저자의 Red Hat CentOS7 리눅스 서버&네트워크 강좌
강의 실습 막히는 분들 참고.
CentOS 버전이 올라간 이후 yum 지원 안되서 못하네요.강의 내용 거의 동일하니 저처럼 삽질하지 마시고 유튜브에서 '이것이 우분투 리눅스다.' 검색하시면 Ubuntu 20.04 강의 있는데 같은 이름의 까페 자료실 참고하시면서 이거보세요ㅋ
-
해결됨CloudNet@ - Amazon EKS 기본 강의
PDF 학습 자료 요청드렸는데 언제 받을 수 있을까요
이메일로 PDF 학습자료 요청드렸는데요,언제쯤 받을 수 있을까요?
-
해결됨이것이 우분투 리눅스다
강의 실습 막히는 분들 참고(+sources.list 안될때)
Ubuntu 버전이 올라가면서 vnc4server 패키지 설치지원이 안되네요.저처럼 삽질하지 마시고 유튜브에서 '이것이 우분투 리눅스다.' 검색하시면 Ubuntu 20.04 강의 있는데 같은 이름의 까페 자료실 참고하시면서 이거보세요ㅋ저는 여기 인프런 강의 보면서 Ubuntu 16.04로 쭉 진행하다가 막히거나 안되는 부분만 정리해서 유튜브에 있는 Ubuntu 20.04 강의로 따로 보려합니다.sources.list 는 강사님이 까페에 올리신 아래 게시물 참고해서 root 계정으로 gedit나 vi 에디터로 직접 입력한뒤 apt-get update으로 업데이트 마친뒤 잘 실습하고 있습니다.https://cafe.naver.com/thisislinux/7522
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
hwp = win32.gencache.EnsureDispatch 에러
안녕하세요?어제까지 작동하던 코드가 오늘 위 에러 메시지가 나면서 작동이 되지 않네요.예외가 발생했습니다. AttributeErrormodule 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0' has no attribute 'CLSIDToClassMap' File "E:\Naver MYBOX\빠른동기화폴더\999_업무용주요매크로\999_한글매크로\01_일상의코딩\002_import win32com.py", line 3, in <module> hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") # 한글 실행 AttributeError: module 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0' has no attribute 'CLSIDToClassMap' GPT에게 물어 보니 com 이 손상되었다고 하면서com 캐시 재생성 하거나캐시를 재설정 및 재실행을 하라고 하는데,정말 그런건가요?위 두 코드를 넣어 보았는데, 계속해서 에러메시지가 나네요 TT
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
tsx 실행 불가
baggang-won@baggang-won-ui-MacBookAir section01 % sudo npm i -g tsx changed 5 packages in 4s 2 packages are looking for funding run `npm fund` for details baggang-won@baggang-won-ui-MacBookAir section01 % tsx -v zsh: command not found: tsx 위와 같이 tsx -v를 하거나 tsx로 실행시키면 command not found 가 뜨는데 어떻게 해결해야 할까요 node는 현재 LTS 쓰고 있습니다