안녕하세요. 강의 잘들었습니다. 강의를 듣고나서 궁금한 점이 있어서요. WebFlux의 스케줄을 통해서 스레드를 분리해서 JPA를 사용한다고 봤고, 그리고 신뢰성이 떨어져도 괜찮은 데이터는 R2DBC를 사용한다고 보았습니다. 그렇다면, 스케쥴의 스레드를 최대한 사용하지 않고 WebFlux에서 지원해 주는 컴포넌트를 사용하는게 최적이라고 생각되는데 맞을까요? 제 짧은 생각으로는 JDBC를 사용하면 결국에는 스레드 풀을 사용할 것이고, 사용자가 많아지면 많아질수록 스레드는 부족할 것이라고 생각이 돼서요. 이렇게 되면 WebFlux를 사용하는 이유가 점점 퇴색될 것 같다는 생각이 듭니다. 그렇다면 제가 생각하기로는 WebFlux를 사용하면서 지원하는 컴포넌트(Netty가 지원해 주는 컴포넌트)를 잘 알고, 적절한 Stream 함수를 알고 사용하는 게 제일 중요하다고 생각되는데, 이게 맞는지 궁금합니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요? 실기 체험환경에서 신뢰구간 구할때 결과가 이렇게 나오면 신뢰구간을 보려면 어떻게 하나요? 3,4번째 컬럼을 따로 지정해서 봐야하나요??
프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
연습 삼아 이것 저것 해보다 궁금한 점이 있어 질문 드립니다. 위 와 같이 코딩을 했을 때, 다음과 같이 출력이 됩니다. print(ex1)으로 했을 경우에는 리스트 형태로 출력이 되는데 반해, print(ex1.append(i * 10) 형태일 때는 None으로 출력이 되는걸까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 자바 고급편 수준이 저한테 높아서, 느린 배속으로 반복해서 내용을 겨우 이해는 했는데 강의 내용이 자기 것으로 되었다는 느낌이 없고 교안이나 영상 없이는 이론 설명이나 예제 코드 작성이 잘 안 됩니다. 강의 내용을 자기 것으로 체화하신 분들은 어떻게 복습하셨나요?
안녕하세요. 저도 개인 프로젝트로 이커머스를 만들면서, 결제와 같은 외부 API를 호출하는 부분에 대해서 많은 고민을 하게 되는 것 같습니다. 가령, 결제 승인을 위해 PG API를 호출한 이후 결제 내역을 DB에 저장한다던가.. 혹은 결제 처리 이후 진행되어야 할 비즈니스 로직(배송 생성, 재고 차감 등..)을 진행해야한다던가.. 하지만 외부 API를 호출한다는 것은 사실 비즈니스 로직의 트랜잭션과 묶일 수 없다는 것이 참 어려운 것 같습니다. PG API 호출에 성공했지만, 이후 비즈니스 로직이 실패된다면 결제 강의 - 코드느끼기 에서 말씀해주신 것 처럼, 사용자의 돈은 빠져나갔지만, 배송 처리가 되지 않거나 그런 일이 발생할 수 있을 것 같아요. 혹은 PG API 호출 시에, 타임 아웃이 발생해서 실패했다고 판단했지만, 알고보니 PG 서버 상으로는 승인이 정상적으로 처리 된 경우도 있을 것 같아요. 이처럼 외부 API 연동 시에 데이터 정합성을 고려하는 것이 엄청 어려운 것 같습니다. 그래서 저는 결제처럼 사용자의 돈을 처리해야하는 경우 세부적인 방어 로직이 필요할 것 같다는 생각을 합니다. 그래서 고민을 하면서, 이것저것 찾아보다가 사용하게 된 패턴이 외부 API를 요청하기 전에, state를 추가해서 관리하자 라는 것이었는데요. 예를 들어 결제로직의 경우 결제 검증을 처리하고 승인 API를 호출하기 전에 Payment의 State를 PENDING_PG_REQUEST(예시) 로 변경한 뒤, PG API를 호출하는 흐름입니다. 만약 PG API 호출에 정상적으로 성공했지만, 결제 후처리 비즈니스 로직에 실패했더라도, 스케줄러 같은 걸 통해 특정 시간 동안 계속해서 PENDING_PG_REQUEST인 결제 건 이 있다면, 이것은 적어도 PG API를 호출하고 나서, 무언가 잘못되었다는 것이니까, 데이터 정합성을 맞춰주기 위해 한번 더 직접 API를 호출하고 나서 비즈니스 로직을 추가적으로 실행시켜주는 그런 작업을 진행해주면 될 것 같아요. 이런 패턴이 어떻게 보면 강의 코드 예제에서 정산을 처리하는 SettlementService의 transfer 메서드와 비슷하다고 생각합니다. Settlement Entity에 Ready인 데이터를 결국 주기적으로 처리하면서, 언젠가는 정산 처리를 진행하게 되니까요! 근데 문득 제가 사용하는 방식, 그리고 transfer 메서드의 방식은 특정 조건이 충족해야한다는 점이 있는 것 같아요. 사용하는 외부 API가 멱등성 을 제공해야하고, 데이터 정합성을 처리하기 위해 돌아가는 스케줄러,배치 또한 자체적으로 중복처리 방지 를 방지해야 한다는 것을요... 이렇게 생각하다보니 끝도 없이 딥해지고 복잡해지는 것 같아서, 문득 다시 결제 부분 강의를 보다보니, 수기 처리 방식도 아주 잠깐 언급하셨더라구요. 문제가 발생했을 때 로그를 남겨놔서, 데이터를 비교 후 데이터 정합성을 맞춘다. 근데 돈과 관련된 부분은 그 즉시, 성공 실패에 대한 처리를 해줘야할 것 같기도 하고 이 부분만큼은 과하게 방어 로직을 작성하는 게 맞을까?라는 생각이 들게 되는 것 같아요. 그리고 만약 외부 API가 멱등성을 제공하지 않으면 어떻게 처리해야하지?라는 생각이 들기도 하고요. 재민님께서는, 이런 외부 API 연동과 데이터 정합성을 고려해야할 때 방어 로직을 깊게 생각하시는지 궁금해서 질문을 하게 되었습니다. 근데 사실 돈과 관련된 부분은 아무리 생각해도 많은 방어 로직을 필요로 하는 것은 당연한 것 같긴한데, 어느 정도로 처리를 해줘야할 지 모르겠네요. 하하.. 최소한의 방어로직, 그리고 예외, 실패 시 로깅 처리로 모든 가능성을 추적해야 하는 게 효율적일까요?? 감사합니다!
계속 ddns가 안되어서 방화벽도 해제 하고 공유기 업체 as도 불러봤더니 cj 헬로비전이었던 제 공유기에선 ddns가 설치가 되지 않았습니다.. (공유기 as 기사님도 처음 이런 문의가 왔다고 당황하셨습니다.ㅎㅎ) 결국 duckdns 로 ddns를 만들어내고 포트도 9900으로 설치하고 핸드폰으로 wifi를 끄고 포트가 제대로 작성하는지 확인해보니 http://rkdkdkfka.duckdns.org:9900 로그가 남는걸 확인했습니다. ddns주소와 포트 확인하고 다시 n8n 구동을 하게 되면 여전히 안되고 있습니다. 어떤게 문제가 되고 있는걸까요? ddns 확인을 하고 포트도 정상으로 되는걸 확인하고 방화벽도 해제 되어 있는데 진행이 되지 않으니 답답함을 느낍니다. (코드는 강사님께서 수업자료에 남겨주신 코드로 진행했습니다.) PS: 혹시 이 노드를 생략해도 뒤에 강의 진행에 차질이 없는지도 여쭤보고 싶습니다.
안녕하십니까 강사님! 다름이 아니라 현재 같은 mac환경의 vscode사용중인데 아무리 검색하고 찾아봐도 강사님처럼 파라미터 힌트 적용하는 법을 모르겠어서 질문드립니다. 함수 커서대면 파라미터 힌트 나오게끔 어떻게 설정할까요? 강의랑 관련 없는 질문 같아서 죄송스러운데 검색하고 gpt쓰고 하란대로 해봐도 안떠서 질문드립니다! 번거로우시다면 키워드라도 주시면 그걸로 찾아보겠습니다!
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요, 이번 11/29 빅분기 시험을 사정상 보기 어려워져서 학습기간 멈춤를 신청하고 싶은데 최대 몇개월 학습 중단이 가능할까요? 내년 3월이후 다시 준비해서 시험을 치뤄야 될 것 같습니다.
안녕하세요. next.js 16 버전으로 해당 강의를 보며 달리고 있는데요. revalidateTag 설정에서 파라미터 값이 하나 더 늘어나 있습니다. revalidateTag(tag: string, profile: string | { expire?: number }): void; tag 파라미터 뒤에 profile 파라미터를 넣어야 하네요. 기본적으로는 'max' 값을 넣었고, expire로 사용자 지정 만료 동작을 위한 값을 지정하게 되어 있습니다. 이것이 구체적으로 어떤 매개변수인지 궁금합니다. 그리고 이전의 tag 파라미터만 있을 경우 와 같은 조건의 매개변수 값은 어떻게 되는지 알고 싶습니다.
intelilJ 에서 어플리케이션 실행시 application.yml 프로파일에 default 부분이 깃허브에 올라온 파일에는 prod로 되어있고 그대로 실행하면 mysql에서 ordersystem 테이블 생성이 정상적으로 되지 않아서 강의를 상세하게 보니 코드부분에 local로 실행을 시키셔서 그것을 바꾸고 실행하니 테이블 안에 member , ordering , product는 생성되었는데 포스트맨에서 로그인 테스트시 임의로 만든 이메일 계정 조회시 404가 뜨는데 제가 어느부분을 놓쳐서 정상적으로 작동이 안되는걸까요? 그부분 상세하게 설명 부탁드리겠습니다.
디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
안녕하세요 수업 너무 잘 수강하고 있습니다! 제가 이번이 첫 시험이라서 기초적인거 질문드려요...! 시험 시 도구들은 설치 파일로 주어지는걸로 알고 있는데, 그럼 그건 C드라이브나 바탕화면에 깔아도 되는 걸까요? D드라이브에 답안 폴더 및 증거 파일들을 넣고 그대로 답안 제출 usb에 옮기면 된다고 하셨는데 시험장 노트북에 D드라이브가 만들어져있는 상태인걸까요? 증거 파일에 대한 해시값 작성은 MD5와 SHA1 둘 중 하나만 써도 괜찮을까요?
예시만 봤을 때는 continue와 pass의 차이점이 명확히 구분되지 않는 것 같아 질문드립니다. 1. continue: if문에 해당하여 continue를 만나면 (print가 있다는 가정하에) 출력하지 않고 다음 반복으로 넘어감 pass: if문에 해당하여 pass를 만나면 그 부분만 지나가고 (print가 있다는 가정하에) 밑에 출력은 실행함 저는 이렇게 이해하고 있는데 오류가 있을까요? 2. pass 예제2번에 else 없이 print(i)만 있었더라면 3도 출력이 되는건가요?