파이어베이스와 수파 베이스 를 사용하고 있습니다. API 폴더에 해당 통신 로직을 정의해서 사용하면 보안과 API 명세에 대한 로직을 잘 관리 할 수 있다는 것을 강의내용을 통해 알았습니다 BAAS 서비스를 이용하면 API 폴더에 넣고 관리하게 된다면 통신 로직이 중복되는 것같은데 API -> BBAS 통신 이럴 경우 어떻게 사용하는게 좋은지 궁금합니다!!
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 2챕터/5강 수강중입니다. 여기까지 이해하신 내용은 무엇인가요? 도커와 모니터링에 대해 전반적인 틀을 이해했습니다. 질문 설명에서는 private subnet2에 데이터 베이스 서버를 배포 한다고 하셨는데 아래 도표에서 public서브넷으로 표기 되어있어서 혼동이 있습니다 ! private 서브넷이 맞는건가요 ?
상황 :같은 테스트를 진행했는데 저는 성능이 너무 안나와서 고민입니다. 문제 :이전 개인 프로젝트에서도 클라우드상에서 기본 API 응답 시간이 2초 가량 소요됐었는데, 그 때 당시에는 비지니스 로직이 무거워서 그랬나보나 싶었는데 이번 실습에서도 이렇게나 느린 걸 보면 개인 PC의 성능이 안좋은 것 같습니다. (게임도 잘 돌아가고 네트워크도 절대 느린 편이 아닌데 말이죠...) 질문 : 이력서에 성능 시간에 관해 쓸 때 잘 만들어진 코드임에도 이렇게 느리면 담당관 입장에서는 "이렇게 느린데 무슨 성능 향상을 했다는거야?" 하는 생각이 들 것 같습니다. 실제로 http_reqs가 1.036077/s로 1초에 1명밖에 받지 못하고 있는데, 이 상태로는 이력서에 쓰는게 의미가 없을 거 같아서 어떤 식으로 테스트를 하는 게 좋을지 궁금합니다. 아 참고로 이 테스트는 Bad Test 입니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 전부 해봤습니다. gradlew.bat 을 직접 폴더 내에서 눌러서 실행해보면 오류 코드고 뭐고 아무것도 확인할 수도 없이 바로 꺼져버립니다. jdk 24입니다. 그리고 커맨드를 열어서 cd 로 폴더 연결 후 이대로 해보려고 해도 첫번째 사진처럼만 뜹니다. 다른 질문들을 다 찾아봐도 gradlew.bat 을 누르자마자 뭔가 보이기도 전에 꺼져버리는 케이스는 없어서 너무 고통스럽습니다. 도움을 주실 분 안 계실까요? https://drive.google.com/drive/folders/1r2uKWeNTWgDPhZMBnix_aDlhLFZClxPO?usp=sharing 파일 드라이브입니다
안녕하세요! 2.20 강의를 듣고 Vercel에 배포까지 한 뒤에 궁금한 점이 생겨 질문 드립니다! 이전 강의 실습에서는 인덱스 페이지의 추천 도서를 On-Demand ISR 방식으로 적용한 뒤 직접 주소를 입력해 페이지 요청을 보내서 바꾸었는데 Vercel에 배포한 뒤에는 어떻게 요청을 보내서 추천 도서 목록을 바꿀 수 있나요? 아니면 시간 단위로 업데이트하는 방식으로 다시 바꾸어서 작성한 뒤 재배포하나요?
@Bean public SimpleMessageListenerContainer container(ConnectionFactory connectionFactor, MessageListenerAdapter listenerAdapter) { SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(); container.setConnectionFactory(connectionFactor); container.setQueueNames(QUEUE_NAME); container.setMessageListener(listenerAdapter); return container; } @Bean public MessageListenerAdapter listenerAdapter(Receiver receiver) { return new MessageListenerAdapter(receiver, "receiveMessage"); // Receiver의 메소드명 } 안녕하세요. 좋은 강의해주셔서 감사합니다. 만약 하나의 큐에서 여러 컨슈머를 통해 동시에 여러개를 소비하고자한다면 Receiver를 추가해서 새롭게 MessageLisnterAdaper 빈을 추가하는걸까요? 어떤식으로 하는것인지 궁금합니다. 여러큐와 거기에 따른 여러 컨슈머 구성시에는 어떤식으로 환경설정하면 될까요? 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요?예 안녕하세요 직접 구현하는 연결리스트 3 추가와 삭제 2편을 복습하다 궁금한 점이 생겨 여쭤보게 되었습니다 ! 지금 Object remove 메서드에 else 구절을 보면 (첫번째 노드를 삭제하는 경우가 아닌 경우) getNode(index-1).next = removedNode.next;로 구현이 되어있습니다 ! 여기에서 스스로 복습하는 과정에서 저는 getNode(index-1).next = getNode(index+1);로 생각을 했었는데, 혹시 이 로직으로 해도 문제가 되지 않는지가 궁금하네요 ..! 그리고 바로 하단에 removeNode.item = null; removeNode.next = null;로 직접 null 값으로 비워주는 이유가 있을까요 ? getNode(index-1).next = getNode(index+1);로 두면 삭제할 노드인 getNode(index)는 연결이 끊기기에 자동으로 GC의 대상이 된다고 생각해서 여쭤봅니다 ! 복습하면서 많은 것들을 처음에는 보이지 않던 것들을 많이 얻어가는 중입니다 좋은 강의 제공해주셔서 감사드립니다 !
Kafka Cluster 강의 약 11분 38초 쯤에서 Broker 2(topic 1, partition 2)에 장애가 발생하면, 다른 정상 Broker에서 Leader를 재선출 한다고 하셨는데, 그렇다면 해당 그림의 경우 Broker 1의 topic 1의 Leader가 partition 1에서 partition 2로 바뀌는 것인가요? 기존에 정상적으로 있던 Broker 1의 topic 1의 partition 1은 Leader의 자격을 잃는 것인가요? 다시 말씀드리면, 정상 Broker에서 Leader를 재선출하면, 기존 토픽에 있는 Leader Partition이 어떻게 되는지 궁금합니다..!
scope 을 openId 하나만 설정하더라도 OidcUserService의 loadUser() 함수 안의 분기문에서 DefaultOAuth2UserService 를 계속 호출하길래 확인해보니 keycloak 에서 "scope": "openid profile email" 형태로 리턴이 와서 항상 if 문에 걸리네요 keycloak 정책이 바뀐건지는 몰라도 내부적으로 저절로 추가하는 거 같습니다 버전도 강의와 동일한 19.0.1 버전입니다
안녕하세요. 강의 열심히 듣고 있습니다. Hot-article 관련 테스트 코드 중, verify 메소드에 대해 잘 몰라서 하는 질문일수도 있겠으나 헷갈리어 질문 드립니다. HotArticleServiceTest.java 코드를 작성중에 @Test void handleEventIfScoreUpdatableEventTest() { // given Event event = mock(Event.class); given(event.getType()).willReturn(mock(EventType.class)); EventHandler eventHandler = mock(EventHandler.class); given(eventHandler.supports(event)).willReturn(true); given(eventHandlers.stream()).willReturn(Stream.of(eventHandler)); // when hotArticleService.handleEvent(event); // then verify(eventHandler, never()).handle(event); verify(hotArticleScoreUpdater).update(event, eventHandler); } 위의 코드에서, verify(eventHanler, never()).handle(event); 로 검증하는 부분이 왜 never() 가 되는걸까요? 강의중에 eventHandler 가 바로 불리지 않는다고 말씀하시긴 하셨는데, HotArticleService.java 의 handleEvent() 메소드 안에서 hotArticleScoreUpdater.update(event, eventHandler) 를 호출하면 update() 에서 전달한 eventHandler 의 handle() 메소드를 결국에는 사용하게 되지 않나요? verify가 외부클래스인 HotArticleScoreUpdater의 메소드에서 사용하는거까지는 검지하지 못하기 때문일까요?
Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)
안녕하세요! 먼저 좋은 강의 감사합니다. 중간쯤, 전체 데이터를 조회해서 Client 측에서 필터링 해서 사용하는게 아닌, 서버로부터 이미 필터링 된 데이터를 받아오도록 검색 api 를 수정한 내용입니다. 이 부분이 클라이언트 사이드 -> 서버 사이드로 변경하였다, 라는 내용을 설명주셨는데, 랜더링과는 전혀 관계 없는 데이터 필터링 주체를 말씀 하시 내용이라고 생각되는데 맞게 이해했는지 궁금합니다. 즉, Notion = 서버, Next.js=클라이언트 관점으로 애기 하신게 맞는지 궁금합니다.
중간 연산 강의를 듣던 중 궁금한 점이 생겨 질문드립니다! 강의를 통해 Java의 스트림은 lazy하게 동작하며, 요소가 하나씩 흐르면서 중간 연산을 거쳐 최종 연산으로 전달된다고 배웠습니다. 그런데 sorted는 정렬을 위해 모든 요소를 모아야 하므로, 다른 중간 연산들과 달리 lazy하게 하나씩 처리할 수는 없을 것 같습니다. 이 경우 sorted는 전체 요소를 한 번에 처리하고 나서야 다음 연산으로 넘어가는 건가요? 그렇다면 sorted는 중간 연산이지만 실제로는 최종 연산처럼 동작하는 게 아닌가요?
안녕하세요 강사님, 프로그래머스로 문제를 풀던 중 Arrays.stream() 같은 문법에 대해 궁금한 점이 생겨 질문드립니다. 전통적인 반복문 방식으로 문제를 해결하는 방법과 Arrays.stream() 과 같은 고급 문법을 활용하는 방식은 채점 시 동일한 배점으로 평가되는지 , 또는 코드의 간결성과 가독성을 고려해 차이가 발생할 수 있는지 궁금합니다. 실전 코딩 테스트나 채점 기준에서 어떤 점을 더 중요하게 보시는지도 함께 여쭤보고 싶습니다. 감사합니다!
안녕하세요! 3주차 강의 중 3-9까지 수강하던 중 궁금한 점이 생겨 질문드립니다. 강의에서는 새로운 테이블을 만들고 배치를 적용하여 쿼리 실행 속도를 향상시키는 방법을 설명해주셨는데, 제가 듣기로 이직 준비를 하면서 "A안과 B안이 있었는데, 그 중 B안이 더 적합한 이유는 ~였다"는 식으로 여러 해결책을 비교하고 선택한 근거를 설명하는 것이 좋다 는 조언을 자주 접했습니다. 그런데 이외에도 쿼리 성능을 튜닝하는 방법은 더 많을 거 같은데, 실무에서 그 방법들을 모두 비교한 뒤 선택하는 것이 현실적으로 쉽지 않을 것 같다는 생각이 들어서요.. 정리하자면 면접 자리에서 "왜 다른 방법은 고려하지 않았나요?"라고 질문이 들어올 수 있는데 이를 어떻게 준비해야 할지 궁금합니다. 실무나 면접에서 성능 개선 경험을 어필할 때, 모든 방안을 다 시도해본 것처럼 설명해야 할까요? 아니면, 제가 시도한 A안 중심으로 왜 그 방식이 효과적이었는지를 설명하고, 다른 방식도 있었다는 정도만 언급해도 괜찮을까요? 앞으로 성능 개선을 학습하고 경험을 쌓아갈 때 어떤 관점에서 문제를 접근하고 정리하면 좋을지도 함께 조언 주시면 감사하겠습니다.