안녕하세요 강사님! Redis로 시작해 채팅 서비스를 거쳐 지금의 강의까지 도달한 학생입니다 :) 항상 유익한 강의를 제공해주셔서 정말 감사합니다. 이번 강의를 진행하기에 앞서 이전에 진행한 채팅 프로젝트를 적용해 배포해보려고 하는데요 혹시 강의를 진행하는데 있어 문제되는 부분이 생기지 않을까 싶어 미리 질문을 드렸습니다! 강의를 진행하는데 있어 프로젝트가 다르더라도 큰 문제가 없을까요?
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] ( https://inf.run/DvsRD ) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up 으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. ( https://inf.run/Ljaer ) [질문 하기] 안녕하세요. 항상 좋은 강의 감사합니다. 이번에 VB로 변경을 하고 있는데, 조훈님이 설정한 Vagrantfile과 다를게 아래와 같이 port를 2200으로 설정하고 있습니다. 혹시 원인 및 해결 방법을 알 수 있을까요? vagrant up Bringing machine 'cp-k8s-1.30.1' up with 'virtualbox' provider... Bringing machine 'w1-k8s-1.30.1' up with 'virtualbox' provider... Bringing machine 'w2-k8s-1.30.1' up with 'virtualbox' provider... Bringing machine 'w3-k8s-1.30.1' up with 'virtualbox' provider... ==> cp-k8s-1.30.1: Importing base box 'sysnet4admin/Ubuntu-k8s'... ==> cp-k8s-1.30.1: Matching MAC address for NAT networking... ==> cp-k8s-1.30.1: Checking if box 'sysnet4admin/Ubuntu-k8s' version '0.8.6' is up to date... ==> cp-k8s-1.30.1: Setting the name of the VM: cp-k8s-1.30.1(github_SysNet4Admin) ==> cp-k8s-1.30.1: Fixed port collision for 22 => 60010. Now on port 2200. ==> cp-k8s-1.30.1: Clearing any previously set network interfaces... ==> cp-k8s-1.30.1: Preparing network interfaces based on configuration... cp-k8s-1.30.1: Adapter 1: nat cp-k8s-1.30.1: Adapter 2: hostonly ==> cp-k8s-1.30.1: Forwarding ports... cp-k8s-1.30.1: 22 (guest) => 2200 (host) (adapter 1) ==> cp-k8s-1.30.1: Running 'pre-boot' VM customizations... ==> cp-k8s-1.30.1: Booting VM... ==> cp-k8s-1.30.1: Waiting for machine to boot. This may take a few minutes... cp-k8s-1.30.1: SSH address: 127.0.0.1:2200 cp-k8s-1.30.1: SSH username: vagrant cp-k8s-1.30.1: SSH auth method: private key
안녕하세요 선생님 좋은 강의 해주셔서 감사합니다. 댓글 create 구현에서 findParent() 함수를 구현할때, .filter(Comment::isRoot) 이런 코드가 있는데, 애초에 parentCommentId 에 root 댓글이 아닌 댓글의 ID가 존재하면 안되는 것 아닌가요 ? 존재하면 안되는 경우를 filter 로 걸러주는 것 같아서 필요한 코드인지 의문이 들어 질문 남깁니다.
안녕하세요? 존경하는 토비님 작은 질문하나 드리겠습니다. 회원 애플리케이션 기능 추가의 25:00~26:00 에서는 MemberFinder 인터페이스를 정의하고 기존 MemberService에 혼재된 멤버 조회로직을 CQRS에 따라 구현클래스를 분리했습니다. 그리고 이를 MemberModifyService에서 사용하고 있습니다. 말씀 주신 것처럼 단순히 조회이고 변경이 없다는 가정하에 이처럼 인터페이스를 정의하고 이를 통해 사용을 하는 것은 잘 이해가 됩니다! 다만 저는 같은 계층에서 있는 서비스 빈이 서로를 의존하지 않는 방향으로 개발을 해오고 있었는데요. 그래서 토비님의 방식에 대해 공부하면서 같은 계층에서 인터페이스 포트를 통해서 호출하는 것은 괜찮을까 고민이 들었습니다. 만약 그게 설계적으로도 문제가 없다면 앞으로도 토비님의 방식으로 개발하고 싶은데요. 분명 토비님께서 오랫동안 고민하신 개발 원칙/기준이 있을 것 같아서 여쭤봅니다. 같은 계층에 있는 애플리케이션 서비스 빈이 서로를 의존, 또는 인터페이스를 통해 사용되는 경우 지켜야할 기준이나 원칙이 있을까요? *추신 저는 토스의 김재님의 [블로그]( https://geminikims.medium.com/%EC%A7%80%EC%86%8D-%EC%84%B1%EC%9E%A5-%EA%B0%80%EB%8A%A5%ED%95%9C-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%EB%A5%BC-%EB%A7%8C%EB%93%A4%EC%96%B4%EA%B0%80%EB%8A%94-%EB%B0%A9%EB%B2%95-97844c5dab63 )를 접해서 위와 같이 개발해오고 있었습니다. 저는 계층을 하나 두고 유틸성 빈을 만들고 이를 사용하게끔 했습니다. (블로그내용 아래 일부 발췌) > 네 번째 규칙 동일 레이어 간에는 서로 참조하지 않아야 한다. (다만, Implement Layer 는 예외적으로 서로 참조가 가능합니다.)
세팅 프로세스 잘 따라갔다고 생각했는데 저는 Claude 3.7 sonet을 사용하는게 불가능해서 애를 먹고 있는 중입니다.. API key 세팅을 해야하는것 같길래 검색해가면서 설정하려고 하는데 계속 실패하고 있습니다ㅜ 아니면 제가 API키를 갖고 있는 GPT4모델의 키는 연결하고 사용해봤는데, 강사님과 달리 GPT4는 매 스텝마다 어떻게 하라고 프로세스를 요구하네요.. 관련해서 어떻게 할수있는지 알려주실 수 있을까요?
커서 자동완성 기능 때문에 놓치는 코드들이 있어서 github에서 특정 시점 코드를 받아서 npm install eas build --platform android --profile development 를 통해 빌드를 생성하려는데, 빌드가 실패해서 expo 관리자에서 로그를 확인해보니 아래와 같은 에러가 계속 나고 있습니다. npm error npm ci can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with npm install before continuing. package.json과 package-lock.json이 동기화가 안됐다는 것 같아서 package-lock.json 삭제 후 npm install 로 다시 설치 후 빌드를 해도 계속 위와 같은 에러가 나고 있습니다. ㅠㅠ 해결 방법이 있을까요?
교수님 수업 항상 잘 듣고 있습니다 감사합니다! 다름이 아니라 영상 3분 쯤에서 sess_cnt 구할 때 영상에서 count(*) over (partition by b.sess_id rows between unbounded preceding and unbounded following) as sess_cnt 이런식으로 구했는데, 이건 sess_id 별로 몇 개 seq_hit가 있는지 count한걸로 이해합니다. 근데 count 말고 max(hit_seq) over (partition by sess_id order by hit_seq desc)로 최대 seq를 구해도 되는거 아닌가요? 이렇게 하니까 결과가 차이가 좀 나오는데 왜 나오는지 혹시 설명해주실 수 있을까요? 감사합니다.
카카오톡 공유 API 연동 중 SDK 오류에 대한 질문 선생님, 안녕하세요. Next.js 프로젝트에 카카오톡 공유 API를 연동하는 과정에서 지속적으로 'SDK error'가 발생하여 질문드립니다. 제가 이해하고 적용한 방식이 올바른지 검토가 가능하시다면 답변 부탁드립니다.! 1. JavaScript 키 관리 방식 (.env.local) 민감한 정보인 카카오 JavaScript 키를 안전하게 관리하기 위해 .env.local 파일을 사용하고 있습니다. Next.js 환경의 특성상, 클라이언트 사이드(브라우저)에서 해당 키를 사용해야 하므로 환경 변수 이름에 아래와 같이 저장하는 것이 올바른 방법인지 궁금합니다. .env.local NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY="여기에_발급받은_자바스크립트_키" 2. SDK 연동 및 초기화 과정 카카오 개발자 가이드를 참고하여 아래와 같은 순서로 SDK 연동 및 초기화를 진행했습니다. 이 과정이 올바른지 확인하고 싶습니다. 1단계: SDK 불러오기 웹 페이지에 아래 스크립트 태그를 추가하여 JavaScript SDK를 불러왔습니다. ${VERSION} 과 ${INTEGRITY_VALUE} 는 카카오 개발자 사이트에서 제공하는 최신 값으로 적용했습니다. HTML <script src="https://t1.kakaocdn.net/kakao_js_sdk/${VERSION}/kakao.min.js" integrity="${INTEGRITY_VALUE}" crossorigin="anonymous"></script> 2단계: SDK 초기화 불러온 SDK를 초기화하기 위해 Kakao.init() 함수를 호출했습니다. 이때, 인자 값으로 .env.local 에 저장한 process.env.NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY 를 사용했습니다. JavaScript // SDK를 초기화합니다. Kakao.init(process.env.NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY); // SDK 초기화 여부를 콘솔에 출력하여 확인합니다. console.log(Kakao.isInitialized()); 전체 코드 예시 최종적으로 아래와 같은 구조로 코드를 작성하여 초기화를 시도하고 있습니다. HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Kakao JavaScript SDK</title> <script src="https://t1.kakaocdn.net/kakao_js_sdk/v1/kakao.min.js" integrity="sha384-..." crossorigin="anonymous"></script> <script> // 2. SDK 초기화 // 실제로는 Next.js 환경 변수를 사용합니다. Kakao.init('YOUR_JAVASCRIPT_KEY'); // 초기화 여부 확인 console.log(Kakao.isInitialized()); </script> </head> <body> ... </body> </html> 요약 질문하자면.. Next.js 프로젝트에서 카카오 JavaScript 키를 .env.local 파일에서 관리 하는 방식이 올바른가요? script 태그로 SDK를 로드한 후, Kakao.init() 함수에 환경 변수 값을 넣어 초기화 하는 현재의 구현 방식이 정확한가요? 만약 위 과정에 문제가 없다면, 'SDK error'가 발생할 수 있는 다른 일반적인 원인 (예: 카카오 개발자 사이트의 플랫폼 도메인 설정 오류, 앱 키 오타 등)은 무엇이 있을까요? 바쁘시겠지만 시간 나실 때 확인 부탁드립니다. 감사합니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 항상 강의 잘 듣고 있는 학생입니다. 다름이 아니라 강의자료에 "OSIV ON 사진" 을 보시면 Filter Interceptor, View, Controller는 영속 상태임에도 불구하고 수정 불가능이라고 적혀 있습니다. 제가 지금까지 알고 있는 바로는 영속성 컨텍스트가 존재한다는 것은 데이터베이스 커넥션을 갖고 있다는 뜻이라 위 3개의 파트에서 데이터 수정이 발생하면 Flush를 통해 데이터 수정이 가능한거 아닌가요 ? 혹시 제가 사진의 내용을 잘 못 이해한건지 아니면 위 내용을 잘 못 이해한건지 궁금해서 질문 드립니다. 감사합니다. 무더위 조심하세요 !
스프링 공부를 하다가 node쪽에도 관심이 생겨 공부를 하려는데 현재 자바스크립트 공부를 끝낸 시점에서 nestJs 백엔드 공부 전에 타입스크립트를 공부하려고 하는데 다음 강의가 적절할까요? 로드맵을 보면 다음 내용이 next.js 이던데 프론트엔드를 위한 내용 위주로 진행되나요??
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] ( https://inf.run/DvsRD ) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. [질문 하기] 설치하는 터미널이 따로 있나요?
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] (https://www.inflearn.com/blogs/1719) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up 으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. ( https://inf.run/Ljaer ) [질문 하기] 안녕하세요. 항상 최신 정보를 제공해 주셔서 감사합니다. M4를 사용하고 있는 유저입니다. 이번에 새로 배포하신 VirtualBox 설치 script를 이용해서 다 설치후 node에 접근을 하려고 하면 연결 중이라는 메세지만 나오고 연결이 되지 않습니다. Virtualbox 설정을 보면 다음과 같습니다. PortForwad port가 2200으로 나오고 있습니다. 이게 문제 일까요?