묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestMapping을 이용한 핸들러, 어댑터
앞서 예제로 했던 FrontController의 코드에서는 handlerMapping에서 url에 해당하는 구현체가 핸들러여서 구현체가 곧 핸들러로 이해하고 있었습니다.ai한테 물어보니까 RequestMapping에서의 핸들러는 메소드가 핸들러라 설명하더라구요. 맞는지 궁금합니다.그럼 RequestMapping을 이용한 핸들러의 알맞는 어댑터는 무조건 RequestMappingHandlerAdapter가 사용되는건가요?
-
해결됨가장 쉽고 깊게 알려주는 Kafka 완벽 가이드 [ By. 비전공자 & Kakao 개발자 ]
자바 17로 하셨던데 21로 해도 되나요?
자바 17로 하셨던데 21로 해도 되나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
save 후 결과화면
mvc를 이용해 save를 하고 저장 완료 결과화면을 보여주잖아요?근데 그 결과화면에서 새로고침을 하면 다시 Post가 일어나면서 중복 등록이 일어나게 되는데MvcMemberSaveServlet에서 jsp를 쓴다면 redirect를 할 수 없는건가요?
-
미해결견고한 결제 시스템 구축
Transaction Demo 질문 드립니다.
개발자님 안녕하세요. 혹시 Transaction Demo 관련 소스에서강의에서 비즈니스 로직을 밑에 부분에 넣으면 되는 걸까요? 제공된 pdf 파일 소스는 잘렸는데, 소스는 어디서 참조 할수 있나요? Transaction Demn 소스 부분에서if (!records.isEmpty()) {producer.beginTransaction(); for (ConsumerRecord<Ingeger, String> record: records) {/***이 부분에 비즈니스 로직이 들어 가면 되는걸까요?강의에서의 비즈니스 로직이 들어 가면 될까여?***/ ...} getRemainingRecords() 함수랑getOffsetToCommit() 함수를 알고 싶습니다. shudown()은 어떻게 되어 있나요? consumer.subscribe(singleton(inputTopic), this);에서 this로 override 하라고 검색에서 알려 주는데 소스를 알수 있나여?
-
미해결6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
hot key 문제를 방지하기 위해 적용한 DCL의 재시도 횟수와 랜덤 지터에 대한 질문입니다
1. 현재 학습 진도6챕터를 모두 끝낸 후 해당 내용을 직접 프로젝트에 적용하고 있습니다. hot key 문제를 해결하기 위해 DCL을 적용하여 중복 DB 접근을 방지할 수 있습니다. 2. 어려움을 겪는 부분현재 프로젝트는 외부 API인 LLM을 통해 경제 요약 리포트를 만들어주는 서비스입니다.이때 리포트 생성 시 60s~120s가 소요되어 만들어진 리포트들을 캐싱해놓고 사용하려 합니다.레디스 리모트 캐시를 적용하려 하는데, hot key 문제를 방지하기 위해 락을 획득한 후에도 반드시 캐시를 한 번 더 확인하는 방식을 적용 즉 DCL 을 적용하려 하는데, 이때 락을 획득하지 못한 애들은 일정 시간후에 다시 락 획득을 시도해야 합니다. 그런데 지금 디비에 접근하고 LLM을 통해 리포트를 생성하는 task가 넉넉하게 1-2분정도 걸리는데, 이 때문에 락 획득 재시도 간격을 너무 길게 잡아버리면 ux가 저하되고 그렇다고 너무 짧게 잡으면 요청 실패가 빈번하게 발생하게 됩니다. 그렇다고 또 시도횟수를 늘리면 또 서비스에 부하가 발생할 수 있을 것 같고 또 시도횟수를 짧게 하면 데이터를 받아오지 못하는 상황이 빈번하게 발생하여 고민중입니다. 3. 시도해보신 내용현재는 재시도 횟수 1000번에 랜덤 지터 200~300ms로 잡았는데 혹시 이런 경우에는 어떻게 해결하면 좋을지 인사이트 부탁드립니다.https://github.com/Dockerel/DataStreams-BE/pull/2/files#diff-8865d84ecad53d37da0cb105068fad66b3f780ff3a9d11b61df86287646e51c3작성한 코드 깃허브 링크를 첨부해드립니다. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp를 이용한 view
jsp를 이용해서 회원 등록하는 것은 servlet을 사용하는 게 아닌거죠?save.jsp를 보면MemberRepository memberRepository = MemberRepository.getInstance(); String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); memberRepository.save(member);강의 속에선 request라는 변수를 그냥 쓸 수 있도록 지원했다는 게 무슨 말인지 모르겠습니다.request 변수는 어디서 온 건가요?servlet의 service의 request 파라미터를 쓴거라면 jsp도 servlet을 이용하는 건가요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
강의 업데이트 내역 질문
안녕하세요.강의 업데이트가 된 거 같은데 혹시 업데이트 된 내역을 확인 할 수 있는 곳이 있을까요? 어떤 부분이 바뀌었는지 궁금합니다~
-
미해결6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
Intellij Profiler 실행 시에 Redis 연결 문제
Intellij Profiler로 서버 실행 시 Redis 연결 문제로 서버 실행이 안되서 이 부분을 localhost로 바꾸고 실행시키니 잘 실행되었습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
소요 시간
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 스프링 처음 공부하고있습니다.한번 듣고 어려워서 자바부터 다시 다지고 재도전 하는 중입니다.생각보다 소요시간이 오래 걸려서 이게 제 길이 아닌건지, 공부 방법이 잘못된건지 질문드립니다..강의 1시간 짜리를 듣는다고 했을 때, 4~5시간은 걸립니다실습에, 복습에, 이해 안가는 코드 공부까지 같이 하는 중입니다.. 이해가 안가서 멈추고 계속 보느라 더 오래 걸리는 것 같아요.그래도 시간 투자하니 조금은 알 것 같긴 합니다만.. 그치만.. 이게 맞을까요,,?? ㅠㅠ
-
미해결백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오
gitbub action로 push후 수업진행이 멈췄습니다
깃액션으로 배포자동화 작업후 퍼블릭ip:8080/api/chapter2/boards에 접속해도 똑같이 여전히 거부가 되고있고 이전까지 진행과정에서 빌드실패라던지 연결실패같은 오류메시지도 뜬적이없어 어느부분이 잘못된건지 찾기가 쉽지않습니다 ec2와 rds도 잘만들어졌고 dbeaver에 aws rds주소로 연결도 잘된상태에 use portfolio까지는 실행이 되는데 테이블이 생성되있질 않아 mock데이터 삽입도 진행되질않습니다
-
미해결견고한 결제 시스템 구축
cdc 방식
개발자님 안녕하세요 결제 승인 메시지 발행영상에서 권장되는 cdc 방식에 문의 드립니다. Outbox 테이블을 cdc 방식으로 kafka로 전송 하면 되는 걸까여? 이 방식을 적용 하면, 스케줄러로 Outbox를 다시 읽어서 전송 한는 로직은 진행 하지 않아도 될까여? cdc방식으로 db log를 읽어서 전속 하는 방식은 기존에 kafka로 전송 하고, 응답으로 record를 받아서, 잘 받았는지 여부를 체크 하지 않는데, cdc 방식은 잘 전달 되었다고 가정 하고 진행 하는 걸까요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
main.tf EC2 인스턴스.타입 수정 필요
terraform apply 명령어로 실행 중 오류가 발생했는데 t2.micro 로는 인스턴스 생성이 안되어서 찾아보니 t3.micro 가 가능해서 변경하여 생성하였습니다.
-
미해결스프링 핵심 원리 - 고급편
MDC vs AOP 중에 고민중입니다.
안녕하세요. 서비스 운영을 하는데 로그와 관련되어서 고민이 있어서 질문드립니다.강사님처럼 로그에 레벨을 두어 AOP방식으로 로그를 출려하는 방법과, MDC를 사용해서 로그를 출력하는 방법을 두고 어느 기술을 사용할 지 고민중입니다. AOP는 가독성이 좋고 MDC는 성능이 좋다고 알고 있는데 어떤 방식을 추천하시나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
빌드 툴, Gradle
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의 첫 영상에서 build 할 때 Build and run using : GradleRun tests using : Gradle 하셨는데주문서비스Test 돌릴 때 인텔리제이로 돌리면 위 사친 처럼 나오고gradle 로 해서 돌리면 위 사진 처럼 나오는데 강의 영상에선 인텥리제이로 해서 돌리신 것 같은데 인텥리제이로 해서 돌려도 괜찮은 것인가요? 문제 발생할 수 있다고 해서 궁금해서 여쭤봅니당..
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ
다 정상적으로 동작하는데 이름 수정 로직이 제대로 동작하지 않고 서버 내부 오류라는 메시지가 자꾸 출력됩니다.제가 혼자 해결해보려고 해보았는데 Hibernate가 id로 조회한 결과가 없어서 Optional이 비어서 orElseThrow가 예외를 던진거라고 하는데요... Postman 이용해서 제 실제 DB에 있는 데이터 값으로 전송해도 sql은 실행이 되는데 뭐가 문제인지 잘 모르겠습니다 ㅜㅜ도와주세요 ㅜㅜㅜㅜ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
application.properties에 debug 추가해도 결과가 똑같습니다.
안녕하세요.application.properties에 logging.level.org.apache.coyote.http11=debug를 추가해도 강사님과 같은 결과가 나오지 않는데 뭔가 잘못된 부분이 있을까요? 추가로, IntelliJ Community 버전에서는 application.properties 자동 완성을 사용할 수 있는 플러그인이 따로 없나요?
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
loginPage("/loginPage") 질문드립니다.
폼로그인 방식에서 시큐리티가 제공하는 기본 로그인 페이지를 사용하지 않으려고 해당 설정을 하는것으로 아는데요그런데 IndexController는 RestControlle인데, html뷰는 어떻게 사용자에게 보여주나요? 기본적으로 RestController는 http 리턴으로 알 고 있습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
수업 코드 제공 관련 문의
몇몇 코드들은 강의 중에 바로 복사해 붙여넣어 사용하시는 것 같던데, 혹시 따로 제공되는 코드 파일이 있을까요?제가 기존에 제공받은 수업 자료 PDF에서 코드를 복사해 붙여넣어 보니 줄바꿈이 이상하게 되거나, 정상적으로 붙여넣기가 되지 않는 경우가 있어서 문의드립니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestMappingHandlerAdapter의 Controller 호출 과정
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 대상]영상 기준:03:00 ~pdf 기준:6.스프링 MVC - 기본 기능.pdf의 p.48 RequestMappingHandlerAdapter 동작 방식 그림[질문 내용]안녕하세요, 영한님.제가 가진 '호출'이라는 행위의 동작 방식과 강의(영상 또는 pdf)에서 설명해주신 방식에 괴리가 있어 둘 중 어떤 방식이 적절한 것인지 질문드립니다. 제가 이해한 방식(방식1)RequestMappingHandlerAdapter(이하 핸들러 어댑터)는 Controller(이하 컨트롤러)를 실행(호출)해야 한다.그런데 클라이언트에게 받은 데이터를 그대로 넘기면 컨트롤러가 받아야 되는 파라미터에 맞지 않는다. 따라서 ArgumentResolver(이하 리졸버)를 호출해서 파라미터에 맞게 변환(빨강, 파랑)해달라고 한다.핸들러 어댑터는 리졸버로부터 변환된 빨강, 파랑을 받았다.핸들러 어댑터는 빨강, 파랑을 넘기며 컨트롤러를 호출한다. 강의에서 설명한 방식(방식2)핸들러 어댑터는 컨트롤러를 호출하기 전, 리졸버에게 빨강, 파랑 파라미터를 요청한다.(리졸버가 작업 모두 완료했다고 가정) 핸들러 어댑터가 컨트롤러를 호출한다. 이때 리졸버가 빨강, 파랑을 컨트롤러에게 넘겨준다.-> 이 부분이 '컨트롤러 호출은 핸들러 어댑터가 하는데 중간에 리졸버가 껴서 파라미터만 넘겨준다'로 받아들여지는데 제가 기존에 알고 있던 '호출' 메커니즘과는 다르다고 생각되어서요.제가 영한님이 말씀하신 흐름 자체를 잘못 이해한 건지, 아니면 방식1이 적절한 것인지 질문드립니다! 관련 그림
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
테라폼 설정 파일
강의에서는 테라폼 설정 파일인 main.tf 를 미리 작성해 두신거고 실무에서는 당연히 필요한 내용을 직접 작성해야 하는것이지요?