묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Api이용중에오류가발생했네요
X-Naver-Client-Id하고 X-Naver-Client-Secret은 틀린점은없는거같은데 왜오류가 날까요 비밀번호는 재발급예정입니다
-
해결됨쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Helm과 Kustomize 비교하며 사용하기 (1/2) helm 설치 부분 질문입니다.
안녕하세요, 강사님 강의 잘 듣고 있습니다.수강 중 카페에 올라온 스크립트로헬름이 설치가 안돼서[root@cicd-server ~]# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3[root@cicd-server ~]# chmod 700 get_helm.sh[root@cicd-server ~]# ./get_helm.sh이렇게 설치했습니다.그리고 인텔리제이도 우여곡절 끝에 연결해서 강의랑 똑같은 실습 환경을 만들었습니다.(바라는 점이 있다면, 인텔리제이 연결하는 법도 카페 글에 추가적으로 설명해주시면 너무 감사할 것 같습니다.)강의중 샘플파일이 있던데 제 실습환경에는 존재하지 않더라구요젠킨스로 2221 빌드하면 생기는 것인가요?helm부터 실습을 따라가기가 벅차네요..참고로 실습환경은 맥 m2입니다. 아참, 인텔리제이에서 values.yaml를 수정하는데 적용이 안되는 것 같습니다. 이 부분은 어떻게 처리해야 될까요?
-
미해결
포트폴리오 질문
현재 포트폴리오를 작성 중인데 어렵네요.. PDF로 이력서 & 포트폴리오 만들고 노션으로는 이력서와 포트폴리오를 하나로 합쳐서 만들고 있습니다.포트폴리오의 경우 프로젝트의 설명은 리드미나 Velog에서 볼 수 있게 하고 PDF나 노션에서는 API swagger 한것과 정보 구조도, 프로젝트의 모든 화면 설계를 번호로 해서 옆에 주석처럼 추가하는 식으로 했습니다. 프로젝트의 사용기술도 리드미와 Velog로 꾸몄구요. 그리고 리드미의 경우 너무 길어서 안 볼경우를 대비해서 각 기능을 동영상 형태로 만들어 놨습니다. 이런식으로 해도 되나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 리포지토리 테스트 케이스 작성 강의 중 findByName() 질문
"회원 리포지토리 테스트 케이스 작성" 강의 중 12분쯤 findByName()을 실행할 때 findAll()에서 만든 member1,member2가 불러와져서 테스트를 통과하지 못하고 하셨는데 이 부분이 이해가 잘 가지 않습니다.findByName()의 assertThat(result).isEqualTo(member1); 부분에서 예외가 발생합니다. 그런데 왜 첫번째 줄 Member member1 = new Member();에서 실행을 멈추지 않고 실행이 계속되나요?이미 같은 변수이름(findAll()에서 만들어진 member1, member2)이 있음에도 불구하고 예외가 발생해야 맞는데 왜 정상적으로 실행되어서 assertThat(result).isEqualTo(member1);까지 내려가서 예외가 발생하나요? findByName()의 assertThat(result).isEqualTo(member1);가 각각 어떤 객체인지 헷갈립니다.member1은 findAll()에서 만들어진 것이고, result는 findByName()의 첫번째 줄에서 만들어진건가요? 이것도 이해가 가지 않는게 clear()가 없는 상태에서 member1을 또 만들면 이름이 중복되는데 왜 예외가 발생하지 않나요?? package hello.hellospring.repository; class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @Test public void findByName() { Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); Member result = repository.findByName("spring1").get(); assertThat(result).isEqualTo(member1); } @Test public void findAll() { Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); List<Member> result = repository.findAll(); assertThat(result.size()).isEqualTo(2); } } 그리고 memberService.join(member1);package hello.hellospring.service; class MemberServiceTest { MemberService memberService = new MemberService(); @Test void 회원가입() { //given Member member = new Member(); member.setName("spring"); //when Long saveId = memberService.join(member); //then Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); } @Test public void 중복_회원_예외() { //given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //when memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); } }회원 서비스 테스트 강의에서도 비슷한 질문이 있습니다. 11분 50초 경에 memberService.join(member1);에서 예외가 발생한다고 하셨는데 그 이유를 잘 모르겠습니다. member1, member2의 이름을 spring으로 만들고나서 member1을 join할 때는 레포지토리에 아무런 값이 없으므로 예외가 발생할 이유가 있나요? 오히려 assertThrows(IllegalStateException.class, () -> memberService.join(member2)); 에서 중복으로 인해 예외가 발생해야하지 않나요?
-
해결됨Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 2부
혹시 다음강의부터는 ppt 한번에 묶어서 올려주실수있나요?
일일히 다운받으려니까 힘들기도하고 자료들이 피피티 파일 하나에 다 담겨있는게 나중에 복습하기도 편할거같아서요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
아니 수업중에 뭘 먹고 있으면 어떡해요;
어이없네.. 쿰척쿰척 먹는걸 왜 돈낸 강의에서 들어야함;; 진짜 짜증나네진짜
-
미해결[코드팩토리] [초급] 8시간만에 끝내는 코드팩토리의 Typescript 완전정복 풀코스
질문이 있습니다.
type MultiplyTwoNumbers = (x: number, y: number) => number; function multiplyTwoNumbers (x, y): MultiplyTwoNumbers{ return x * y; } const multiplyTwoNumbers: MultiplyTwoNumbers = (x, y) => x * y;안녕하세요 선생님함수선언식은 파라미터의 타입 유추가 안되고 함수표현식은 타입 유추가 되는 이유가 무엇인가요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
Recoil 현업에서 사용해도 되나요?
Recoil이 아직 실험적 api 단계로 아는데 현업에서 써도 될정도로 안정적인가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
V5 save에서 500오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원 가입 페이지와 회원목록은 잘 나오는데 save에서 계속 500 오류가 뜨네요 ㅠㅠ 강의랑 똑같이 따라친거같은데 왜 오류가 발생하는지 모르겠습니다.오류코드는 이렇게 뜹니다.2024-01-11T19:21:07.392+09:00 ERROR 31571 --- [nio-8080-exec-2] a.c.c.C.[.[.[.[frontControolerServletV5] : Servlet.service() for servlet [frontControolerServletV5] in context with path [] threw exception
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
중복과 별도 클래스 선언
안녕하세요! 설계와 구현 부분과 관련하여 궁금한 점이 있습니다!중복이란 여러 클래스에서 반복적으로 나타나는 코드 덩어리라고 보면 되나요?중복되는 부분을 묶어서 별도의 클래스로 묶는건가요?클래스로 묶으면 유지보수하기가 더 좋아져서 그런건가요?감사합니다!
-
미해결따라하며 배우는 HTML, CSS
grid-template-columns에 대하여
함께 코드로 이해하는 부분에서, 강사님과 똑같이 코드를 작성했는데 아래 사진처럼 그리드가 만들어집니다. 맨 윗 줄은 auto의 개수만큼 정렬이 잘 되는데, 두 번째 줄부터는 세로로 일렬로 나열됩니다. 어떻게 해결하면 좋을까요??
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드의 시간 복잡도에 대해 궁금합니다!
function solution(str, t) { let answer; const counts = {}; const formatted = [...str]; formatted.forEach((char, i) => { if (counts[char]) { return counts[char].push(i); } counts[char] = []; counts[char].push(i); }); const tIndexs = counts[t]; answer = formatted.reduce((store, cur, i) => { const tmp = []; tIndexs.forEach((index) => { tmp.push(Math.abs(index - i)); }); store.push(Math.min(...tmp)); return store; }, []); return answer.join(' '); } let str = 'teachermode'; console.log(solution(str, 'e')); 입력값의 크기 N마다 tIndex만큼 반복하니까 O(N^2) 인지아니면 O(N)의 시간복잡도를 갖는지 궁금합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
H2 DB 테스트 코드 실행시 무한 로딩 연결 안됨
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.테스트 코드 실행시 무한 로딩 미해결 3일차 해결 방법이 필요합니다.package hello.jdbc.connection; public abstract class ConnectionConst { public static final String URL = "jdbc:h2:tcp://localhost/~/study/test"; public static final String USERNAME = "sa"; public static final String PASSWORD = "1318!"; }
-
미해결[웹 개발 풀스택 코스] 순수 자바스크립트 기초에서 실무까지
CRUD
저는 왜 NAME과 COMPANY가 두번이나 나올까요.?아무리 생각해도 모르겠습니다.
-
미해결습관부터 바꿔주는 Node.js & Express 기초
해당 강의 깃허브 주소나
해당 강의 깃허브 주소나디스코드 주소는 어디있나요?
-
미해결스프링 핵심 원리 - 기본편
특정 타입으로 조회 시 빈 이름을 지정하는 테스트 코드 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]수업 내용 중에서 스프링 빈 조회 테스트 코드를 짤 때,동일한 타입이 둘 이상인 경우에는public class ApplicationContextSameBeanFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(SameBeanConfig.class); @Test @DisplayName("타입으로 조회 시 같은 타입이 둘 이상 있으면, 빈 이름을 지정하면 된다.") void findBeanByName() { MemberRepository memberRepository = ac.getBean("memberRepository1", MemberRepository.class); assertThat(memberRepository).isInstanceOf(MemberRepository.class); } }인스턴스를 비교할 때 인터페이스인 MemberRepository.class를 사용해줬는데,상속 관계 설명 시에는public class ApplicationContextExtendsFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class); @Test @DisplayName("부모 타입으로 조회 시 자식이 둘 이상 있으면, 빈 이름을 지정하면 된다.") void findBeanByParentTypeBeanName() { DiscountPolicy rateDiscountPolicy = ac.getBean("rateDiscountPolicy", DiscountPolicy.class); assertThat(rateDiscountPolicy).isInstanceOf(RateDiscountPolicy.class); } }구체화 타입인 RateDiscountPolicy.class로 인스턴스를 확인한 이유가 뭔지 궁금합니다.
-
해결됨[React 1부] 만들고 비교하며 학습하는 React
[검색폼 1] View.js 파일 질문과 학습 질문
안녕하세요. 강의 듣기 시작한 수강생 입니다 ㅎㅎ강의 듣기전에 코드도 한번 살펴보고 검색폼 1강의도 들었는데요아무리 봐도 View.js 파일에서 class 내부의 constructor의 매개변수로 전달되는 element가 뭔지 잘 모르겠습니다... View 클래스로 인스턴스를 만들때 인수로 전달한 것이 element로 들어가는걸로 알고 있는데View 클래스로 생성한 인스턴스를 못 찾겠습니다ㅠㅠ 그리고 제가 JS랑 리액트를 다른 강의로 한 번 보고 복습하면서 선생님 강의를 듣고 있는데요후기글처럼 초반 JS 부분이 어렵긴합니다내용이나 코드가 이해는 되고 어떤 코드가 어떤 역할을 하고 어떤 코드를 이 스크립트에 작성하는지 이런건 어느정도 파악하면서 듣고 있는데요막상 제가 이런 모듈을 만들고, 커스텀 이벤트 객체를 생성해서 자바스크립트로 프로젝트를 만들어보려고 했을때는 코드를 어떻게 쳐야 할지 막막할 것 같은데혹시 강의를 어떤 방법으로 수강하고, 복습은 어떤식으로 하면 좋을지 조언 부탁드릴 수 있을까요?
-
해결됨UXUI 디자인 비전공자를 위한 포트폴리오 제작방법
이해관계자 분류
이해관계자를 분류할 때예시를 들어주신 것처럼 (600만원, 500만원, 400만원.....)그 기준은 제가 임의로 정하는 건가요?기준을 어떻게 잡아야 하는 지 모르겠어요.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
chapter17
// Step 5. Core (Counter) (Ref Chapter 11)reg [6:0] cnt_always;assign is_done = o_running && (cnt_always == num_cnt-1);always @(posedge clk or negedge reset_n) begin if(!reset_n) begin cnt_always <= 0; end else if (is_done) begin cnt_always <= 0; end else if (o_running) begin cnt_always <= cnt_always + 1; endend 마지막에 fsm에 counter를 붙이는 부분의 코드입니다!궁금한 점이 is_done 신호를 assign으로 할당할 때 o_running과 &&로 묶으셨는데왜 그런지 알 수 있을까요?? assign is_done = o_running && (cnt_always == num_cnt-1);저는 이 코드에서 o_running의 필요성을 모르겠어서 그냥 카운터의 cnt한 값과 사용자가 입력한 값이랑 같으면 수행은 끝났으니 is_done 신호를 보내면 되겠다 해서o_running은 빼고assign is_done = (cnt_always == num_cnt-1); 로 고쳐 돌렸는데 결과는 같게 나오더군요 그렇지만 맛비님이 왜 두개를 같이 묶으셨는지가 궁금합니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
쇠막대기 풀이 질문
안녕하세요, 첫번째 else 문에서 바로 pop을 해줘도 오류가 나지 않는 이유, 두번째 if문에서 stack.isEmpty() 체크를 해주지 않는 이유가 무조건 처음 한번은 '(' 괄호가 들어가기 때문인가요? for (int i = 0; i < arr.length; i++) { if (arr[i] == '(') stack.push(arr[i]); else { stack.pop(); if (arr[i - 1] == '(') answer += stack.size(); else answer++; } } import java.util.*; public class Main { public int solution(String str) { int answer = 0; Stack<Character> stack = new Stack<>(); char[] arr = str.toCharArray(); for (int i = 0; i < arr.length; i++) { if (arr[i] == '(') stack.push(arr[i]); else { stack.pop(); if (arr[i - 1] == '(') answer += stack.size(); else answer++; } } return answer; } public static void main(String[] args) throws Exception { Main T = new Main(); Scanner kb = new Scanner(System.in); String str = kb.next(); System.out.println(T.solution(str)); } }