묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
데이터 중심사고 VS 호기심 사고
안녕하세요. 갑작이 떠오른 아이디어(문제)나 호기심으로부터 시작하더라도 데이터 분석 + 인터뷰를 통해 근거를 마련했다면 괜찮을까요?이 경우에도 호기심 사고에 해당된다고 생각하시나요?감사합니다 :_)
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
FAA 전략에서 상관성
안녕하세요 강좌를 듣던중 궁금증이 생겨서 글 남깁니다.FAA 전략을 보면 상관성이 낮은 종목들의 순위를 높게 주려는거 같은데요.해당 수치를 계산할때 합산을 해버리면 '상관성이 낮다'의 의미는 아닌거 같습니다.abs나 **2 해서 합산을 하고 그 수치가 작은 것이 자산간의 상관관계가 낮은게 아닌가 생각됩니다.예를 들어 1과 -1 은 둘다 상관관계는 높습니다.
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
eslintrc.cjs 에 아래 내용추가하라고 교안수정부탁드립니다.
rules: { "prettier/prettier": ["error", { "endOfLine": "auto" }], },
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Map에 들어가는 ControllerV1 객체
는 싱글톤이 아닌 것인가요 ? 스프링 빈으로 저장도 안해줬고, static을 선언해서 클래스 변수도 아닌데 이럴 경우에는 호출 할 때마다 ControllerV1 객체가 생성되고 process를 진행되는 형식인가요 ?
-
해결됨실전! Querydsl
테스트 메서드 이름은 왜 스네이크 인가요??!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.자바는 보통 카멜케이스를 쓴다고 알고 있고,영한님도 메서드명이나 클래스명에 카멜케이스를 그동안 쓰셨던거 같은데테스트 메서드는 왜 스네이크로 쓰시나요??코드가 달라지는 건 아니지만.. 궁금해서요 전에 영한님이 클라이언트도 다 한국이면 한글로도 쓰기도 한다고 하셨던거같은데..테스트는 스네이크로 쓰는 것이 국룰인가요?!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요 문의드립니다 !
강의중 구글지도 띄우는데google map 세팅 다 하고지도 띄울려고 하는데LatLng 에서 빨간줄이 뜹니다 ㅠㅠ왜이런거죠?
-
미해결따라하며 배우는 TDD 개발 [2023.11 업데이트]
라우터를 돌릴 때
안녕하세요. 어제 알려주신 대로 제어판에서 다시 편집하고 npm run start까지 돌리는 것 까지는 잘 되었습니다. 근데 문제는 chrome에 localhost:5000을 쳤을 때는 잘 나왔지만 localhost:5000/api/products라고 칠 때는이렇게 뜹니다.이거는 단순한 코딩 문제인가요? 아니면 제가 잘 못따라 오고 있는건가요?그리고 MongoDB 새로 가입했을 때 제가 뭔가 실수한 거 같은데, MongoDB 쪽 스킵하고 Jest쪽만 들어도 상관없나요? 아니면 MongoDB도 순차적으로 들어야 하나요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
젠킨스와 톰캣의 관계에 대해 질문드립니다!
현재 처음 강의부터 EC2에서 진행하고 있습니다.Tomcat 설치하고 권한 설정하는 부분에 있어 질문 드립니다.EC2에 도커를 설치하고 젠킨스 컨테이너를 띄웠습니다.이런 경우 Tomcat의 설치 위치가 어디가 되어야 할까요?1. 젠킨스 컨테이너에 Dockerfile로 이미지를 쌓는다.톰캣 컨테이너를 생성해 띄운다.EC2 리눅스 환경에 톰캣을 설치한다.3가지 방법중 어떤것이 맞을까요?
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
crispy적용오류
아래랑 똑같은 상황인데 어떻게 해야하나요?https://www.inflearn.com/questions/802016/django-crispy-%EC%A0%81%EC%9A%A9-%EC%98%A4%EB%A5%98
-
해결됨Flutter 앱 개발 기초
플러터 오픈 채팅방 이미 1500명이 꽉 차서요
오늘 강의 결제 했는데요 여기 카톡 오픈 채팅 방에 들어갈 방법은 1분이 나오셔야 들어갈 수 있을까요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
프론트서버를 s3로 배포하는 방식은 어떤가요?
강좌에서는 ec2 인스턴스 2개로 프론트 백엔드를 유지하는 방식인데 블로그 글들을 찾아보면 프론트서버는 s3로 유지하는 경우가 많더라구요. Get post patch delete 같은 요청에 열려있다는 단점은 있지만 프론트서버같은 정적인 컨텐츠에는 큰 무리가 없고 무엇보다 ec2 2개를 만드는것보다 과금이 없다는건데.. 실제 서비스를 운영할때는 어떤방식으로 하는 편인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Locale 관련 질문입니다.
@Test void formattingConversionService() { DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService(); conversionService.addConverter(new StringToIpPortConverter()); conversionService.addConverter(new IpPortToStringConverter()); conversionService.addFormatter(new MyNumberFormatter()); IpPort ipPort = conversionService.convert("127.0.0.1:8080", IpPort.class); assertThat(ipPort).isEqualTo(new IpPort("127.0.0.1", 8080)); assertThat(conversionService.convert(1000, String.class)).isEqualTo("1,000"); assertThat(conversionService.convert("1,000", Long.class)).isEqualTo(1000L); }여기서 따로 Locale을 설정하지 않았는 데도 자동으로 Locale.KOREA가 들어가서 1000을 넣었을 시 "1,000"으로 나오는 것 같은 데 이 Locale 값은 스프링이 자동으로 넣어주는 건가요??
-
미해결
Closure 실전 세번째 설명 질문입니다.
강의을 수강하면서 아래의 함수를 사용하려고 하는데 if name.contains 구문에서아래와 같은 오류가 발생됩니다.let names = ["apple", "air", "brown", "red", "orange", "blue", "candy"] func someFind(find: String) -> [String] { var newNames = [String]() for name in names { if name.contains(find) { newNames.append(name) } } return newNames } Cannot convert value of type 'String' to expected argument type 'String.Element' (aka 'Character')강의에서는 잘 되는데, 제가 선언해서 저 함수를 쓰려고할때 발생되는 에러 메세지인데..String에서는 Charater Type밖에 찾을 수 없다고 합니다. 왜 강사님 코드는 되고 저는 안되는것인가요..?문자열 배열에서 검색한번 해보려고 하는데 오류가 발생되는데... 왜 이런 오류가 발생되는것인가요. ㅠㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:value=""; 로 이전 데이터 가져오지 못하는 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@nullable로 잡혀있는 rejectedValue 을 addItemV1에서 new FieldError 매개변수에 넣지 않으니 가격이나 수량에 넣어줬던 값이 error 발생 시 그대로 저장이 안되더라구요. 그래서 구글링 후에bindingResult.addError(new FieldError("item", "price", item.getPrice(), false, null, null, "상품가격 범위 초과(1000~1000000)"));이런 식으로 넣으니까 강의처럼 값이 그대로 넘겨지긴 하네요. 영상에서는 해당 부분말고 상품명까지만 확인한거같은데 참고 부탁드립니다~
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RedirectAttribute Url인코딩여부
return에 redirect:/ + 값 위와같이 URL매핑주소에 파라미터를 그대로 넘겨서 반환하게 된다면 URL 인코딩에 대한 위험성을 함께 지적하시면서 RedirectAttribute수업을 진행하였는데요.수업 중 status를 통한 유효성 검증 처리만 하고 인코딩 여부를 어떤식으로 확인할 수 있는지에 대한 내용이 생략된거 같습니다.혹시 따로 글로라도 확인시켜주실수는 있을까요?
-
해결됨Flutter 앱 개발 기초
플러터 어뮬레이터가 vs코드나 밖으로 창을 빼면 작동이 안합니다.
수업 유용하게 잘 듣고 있습니다^^이렇게 안드로이드 스튜디오 안에서 어뮬레이터를 실행하면 실행에 이상이 없습니다. 이렇게 어뮬레이터만 밖에서 실행하거나 비쥬얼 스튜디오 코드에서 어뮬레이터 실행하면 어뮬레이터가 잘 돌아가지가 않습니다. 구글링 해서 문의했는데 전원 버튼을 누르거나 디바이스 'wipe data'도 했는데 똑같이 어뮬레이터가 실행이 안됩니다. 그래서 어뮬레이터를 삭제한 뒤 다시 만들었는데 안되네요.강사님께서 "재설치시 안드로이드 os 버전도 올려보시길 권장드립니다." 하셨는데 제가 코린이라 os버전 어떻게 하는지 어렵네요 ㅠㅠㅠ
-
미해결스프링 핵심 원리 - 고급편
데코레이터 구성 시 AOP를 사용해도 되는가
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 강의 잘 듣고 있습니다.질문은 "단순 데코레이터를 만들고 싶을 때 SpringAOP를 사용해도 되는가?"입니다.질문 매뉴얼의 답이 없는 질문에 포함되는 것 같아 부가설명을 적어보겠습니다. 개인적으로 이전부터 관심사와 의존성을 분리하고 싶어 데코레이터 패턴을 한번씩 쓸 때가 있었습니다.예를 들면 다음과 같습니다.게시글이 작성되면 특정 유저들에게 알림 메세지를 전송해야 한다.게시글이 수정되면 읽기 전용 모델의 캐시를 갱신해야 한다.그럼 [컨트롤러 - 알림데코레이터 - 캐시데코레이터 - 서비스 - 리포지토리 ]가 되는 거죠.이 때 데코레이터-서비스 체인을 구성해야 하는데 2가지 방법이 있었습니다.@Configuration에서 매뉴얼하게 체인 구성한 뒤 빈 생성가장 앞단의 데코레이터에 Primary를 달고 이후 순서에 따라 생성자 파라미터 주입시 @Qualifier로 구현체 주입1번 같은 경우에는 각 데코레이터마다 의존성이 많아질 수록 작성해야 하는 코드가 많아져서 제외를 했습니다.그래서 2번 방법을 사용하고 있고 다음과 같은 문제를 대면했습니다.특정 구현체가 뒷 순서 구현체를 알아야 한다. (의존성 발생) 그것도 컴파일 에러가 나지 않는 문자열(빈 이름)의 형태로.public class PostServiceMessageDecorator implements PostService { private final PostService postService; public PostServiceMessageDecorator( @Qualifier("postServiceCacheDecorator") PostService postService ) { this.postService = postService; } }체인 순서를 구성하는 것이 다소 번거롭고, 순서가 변경되거나 추가, 제거되면 코드를 바꿔야 한다. (다시 한 번 컴파일 에러가 나지 않는 문자열의 형태로)서비스 내에서 데코레이터가 붙지 않는 메소드도 구현을 해줘야 한다.그런데 SpringAOP를 사용하면 3가지 문제를 모두 해결할 수 있는 것이 아닌가 하는 생각이 듭니다.포인트컷도 잡는 것만 잡으면 되니까 데코레이터가 굳이 안붙어도 되는 메소드를 구현할 필요도 없구요.Order로 순서도 간편하게 변경이 가능하니까요.앞서 강의에서 패턴은 의도가 중요하지 실제 구현체는 다양한 방법으로 구현될 수 있다고 하신 말씀이 머릿속에 맴도는데...Aspect를 만들고 네이밍만 EntityServiceSomethingDecorator 라고 이름만 붙이면 되는게 아닌가 하는 생각이 듭니다.그러나 이 방법을 사용하는데 약간의 거부감이 있는데 AOP가 태생적으로 횡단 관심사를 해결하기 위한 기술이라는 사실 때문입니다.저는 흩어져 있는 공통 관심사 코드를 여기 저기 작성하지 않고 한 군데에서 작성하도록 한 게 개발 의도라고 생각했거든요.하지만 예시의 경우는 흩어져 있는 관심사가 아니라 특정 로직에 부가 로직을 몇 개 붙였다 뗐다 하고 싶을 뿐입니다.그렇다면 단순 데코레이터를 만들기 위해 SpringAOP를 사용하는 것은 SpringAOP의 개발 의도와는 약간 다른 사용법이 될 수 있고,보통 특정 기능을 개발 의도와 다른 방향으로 사용하면 예상하지 못한 부작용이 발생하더라구요.이 지점에서 혹시 인사이트를 얻을 수 있을지 질문을 올려봅니다.질문을 조금 다르게 얘기하면 "특정 메서드 혹은 클래스만을 위한 Aspect를 만들어도 되는가?"가 되겠네요.만약 이 경우에 AOP사용은 지양하는 것이 좋다고 생각하신다면, 매뉴얼하게 데코레이터 클래스를 작성하는 것 외에 권장하실만한 방법이 있을까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
IBasePaginationRepository를 U로 바꾼 이유가 궁금해요.
U로 바꾸고 extends를 하면 똑같이 쓸 수 있다고 하신 말씀은 무슨 뜻인지 이해를 했는데요, 왜 그렇게 써야 하는지를 잘 모르겠어요. 그냥 그럴 수 있다는 걸 알려주신 걸까요? 아니면 제너릭으로 U를 쓰고 extends해서 쓰는 게 어떤 이득이 있는 건가요?
-
미해결실전! 스프링 데이터 JPA
의존성 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 의존성에 대해 갑자기 헷갈려서 총 4가지 질문드립니다.MemberService에 아래와 같은 메서드(Member findMemberById(Long id))가 있고 PostService(다른 Service 클래스)에서 memberId로 Member를 조회해야 할 일이 있습니다. 이 경우 아래 메서드를 이용하기 위해 PostService 클래스에서 private final MemberService memberService 형태로 멤버변수로 포함한다고 가정하겠습니다.(memberService.findMemberByMember(id) 로 이용하기위해)public Member findMemberById(Long id) { return memberRepository.findById(id) .orElseThrow(() -> new BusinessLogicException(MEMBER_NOT_FOUND)); } Q1) PostService에서 MemberService를 생성자 주입을 통해 받아서 이용할 경우 MemberService의 의존성(예를 들면 MemberRepository 등의 MemberService 클래스에서 사용하는 클래스들)까지 PostService에 포함되는 것일까요? Q2) 의존성이라는게 단순히 생성자 주입으로 받았던 멤버 클래스들 뿐 아니라 내부 메소드에서 매개변수로 받은 클래스가 있다면 이 또한 의존성인가요?(import 로 포함된 클래스들을 모두 의존클래스로 보면 될지, 아니면 내부에서 사용하는 모든 객체를 의존성으로 보면될지 >> 같은 패키지의 경우 import 안하는걸 고려했을때 내부에서 객체로 이용하지만 같은 패키지라 import 안되는걸 고려) Q3-1) Q1의 답변에서 MemberService의 의존성까지 PostService에 포함되는 거라면 PostService에서 Member를 조회하기 위해서는 memberService.findMemberById(id) 로 조회하기 보단 MemberRepository를 주입받아서 memberRepository.findById(id).orElseThrow(() -> new BusinessLogicException(MEMBER_NOT_FOUND)); 형태로 변경하는게 맞을지? Q3-2) Q1의 답변에서 MemberService의 의존성까지 PostService에 포함되는게 아니라면 PostService에서 MemberService가 아닌 MemberRepository로 조회하는게 맞을지? Member 조회가 여러곳에서 사용되고 Member findMemberById(Long id) 메소드의 내용이 여러곳에서 중복되는 걸 생각했을때처음에는 단순히 member 조회가 여러곳에서 일어나고 공통된 내용이 반복되어 MemberService의 findMemberById 로 묶어서 사용하는게 맞다고 생각했는데 의문이 들었고 예전에 의존성은 최대한 줄이라고 하셨던게 생각나서 질문드립니다.
-
미해결
3~4 통합 교안
안녕하세요 이번에 빅데이터 분석 기사 필기 1~2와 3~4 강의 모두 신청했습니다.3~4 통합 교안을 보내주시면 정말 감사할 것 같습니다.이메일 주소는 goodtc377@gmail.com입니다.감사합니다.