묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
생성자를 2개 둘 경우 @Autowired
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]구글링을 해보면 생성자 주입이 아닌 @Autowired(필드주입), setter 는 final로 선언이 불가하다고 찾았습니다. private final MemberRepository memberRepository;private final DiscountPolicy discountPolicy 이 경우에 @RequiredArgsConstructor를 사용해서생성자를 하나만 사용할 경우 @Autowired를 안 써도 된다고 강의에서 말하셨는데그럼 @Autowired가 생략됐을 뿐 final과 같이 쓰고있다고 생각이 드는데그럼 생성자가 2개일 경우엔 final 과 함께 @Autowired를 생성자 1개당 1개씩 쓰나요?final과 @Autowired 선언이 불가하다라는 것은 무슨 뜻인가요??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
config 방식과 .env 방식의 차이? 를 알고싶습니다!
config 방식과 .env 방식의 차이? 를 알고 싶습니다!
-
해결됨토비의 스프링 부트 - 이해와 원리
토비의 스프링
이 강의를 듣기 위해서 강사님께서 작성하신 토비의 스프링 3.1 책을 반드시 선행으로 필독해야 하나요?
-
미해결업무가 100배 빨라지는 엑셀 데이터 활용과 분석 노하우
분기별 매출 보고서 작성 시 해당 분기에 매출이 없는 항목은 삭제하는 방법
안녕하세요,강의 너무 도움이 많이 되고 참고하며 업무 진행하고 있습니다. 감사합니다.다름이 아니라, 분기별 매출 보고서 작성 강의를 참고하다가 해당 분기에 매출이 없는 항목은 자동으로 삭제하는 방법을 여쭈어보고 싶어서 질문글을 남깁니다. 예를 들어 4분기 설정시 해당 분기에 매출이 없는 항목은 보고서에서 자동으로 안보이게 숨김 처리가 되었으면 합니다. 답글 남겨주신다면 정말 큰 도움이 될듯 합니다. 감사합니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
?: (staticfiles.W004) The directory '/static/' in the STATICFILES_DIRS setting does not exist.
강사님 안녕하세요!오늘도 뭔가 따라하다가?: (staticfiles.W004) The directory '/static/' in the STATICFILES_DIRS setting does not exist.라는 에러가 나더라구요. python manage.py runserver 자체는 되는데요.어떻게 해결하는게 좋을까요?참고로 강사님을 따라했다가 안되서 "버전이 제가 4버전을 써서 그런가.. 싶어서 3버전으로도 시도를 해봤는데 안되는 부분이 있어서 구글링 후 기존의 경로인 'static' 이런거를 '/static/'이런식으로 바꿔주긴 했습니다! (그런데 또 이게 문제가 될까? 싶기도해서요 ㅠㅠ시도한 이후에 다시 장고4버전으로 변경했습니다.!부분적으로 필요한 정보를 공유드립니다!#1 common.py 파일BASE_DIR = Path(__file__).resolve().parent.parent ... TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ os.path.join(BASE_DIR, 'templates') # BASE_DIR / 'templates' ], ... DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } ... STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, '/static/') ] STATIC_ROOT = os.path.join(BASE_DIR, 'static') MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # Default primary key field type # https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' INTERNAL_IPS = ['127.0.0.1'] 바로 위의 질문의 연장선상의 문제라고 보이는데요.admin 페이지 경로자체도 없어졌습니다! 어떻게 해결하는게 좋을까요? ㅠㅠ
-
해결됨퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
spacing 직접 지정
안녕하세요강의 잘 보고 있습니다.다름이 아니라 padding 혹은 margin을 직접 크기를 주고 싶을 땐 어떻게 해야 할까요?다른 프레임워크에서는 보통 뒤에 -숫자를 넣으면 해당 숫자만큼 margin 혹은 padding이 되던데 Quasar에서는 어떻게 되는지 궁금합니다.
-
미해결만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
Module not found: Can't resolve 'fs' 오류
제선에서 할 수 있는 방법은 다 해본거 같은데 모르겠습니다..config 수정node v 18- >14 fs오류때문에 강의 진행이 안되고있습니다 ㅠ 해결방법이 무엇일까요
-
해결됨홍정모의 따라하며 배우는 C++
형변화 오버로딩을 어떤식으로 이해해야 할지모르겠습니다.
안녕하세요. 9.8 형 변환 강의를 듣던 중 이해가 되지 않는 부분이 있어서 질문합니다.19~23줄에 있는 int형 변환 함수에 리턴타입이 없는이유가 궁금합니다.함수가 클래스 내부변수에 이미 멤버로 정의가 되어있어서 변수에 접근할 수 있기 때문에 따로 리턴타입을 정의하지 않은건가요? 19줄 operator int 뒤에 있는 ()의 의미가 궁금합니다. 예를 들어 아래는 9-6 수업 첨자연산자 오버로딩의 예 입니다.int& operator [] (const int index) { return m_list[index]; }그런데 이경우는 매개변수도 정의가 되어있고 리턴타입도 정의가 되어있어서 [ ] 안에 값을 넣음으로서 이러한 기능이 작동하는것으로 알고있었습니다. 그런데 19줄은 매개변수가 없어서 int뒤에오는 ()가 매개변수를 담는 ()인지 아니면 위 예에서 [ ]같이 사용되는것인지 모르겠습니다. [ ] 처럼사용되는것이라면 47줄에는 ( )안에 Cents가 아닌 int가 들어가있는데 어째서 정상작동하는것인지 모르겠습니다.앞서 1,2번의 궁금증을 해결하기보다는 그냥 오버로딩이 이러한 형식으로 작동하고 47~49줄 처럼 형태는 다르지만 오버로딩을 배우기전 알고있던 기본적인 형변환방식에 모두 적용이된다 라고만 이해하고있으면 될까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
함수 호출을 디스어셈블러로 분석하다가 궁금점이 생겼습니다!
함수 호출을 하다가 리턴하기 전에 eip가 널이 되면 어떻게 동작하는지 궁금해서 한번 시도해봤는데요.예를 들면 main() 함수에서 A() 함수를 호출하고 또 A() 함수에서 중간에 B() 함수를 호출하는데B() 함수를 리턴하기 전에 eip 값을 0x00000000과 같은 널 값으로 고쳐보았습니다. 이렇게 하면 리턴하고나서 뭔가 에러?엑세스 위반? 이라는 게 뜨는 것 같더라구요근데 만약 이렇게 해서 엑세스 위반이 났을 때 어떤 함수를 호출할 때 잘못됐는지 디버깅 상에서 추적하려면 어떤 순서로 추적해야하는지 궁금합니다!
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
Case 피봇 리트코드 문제 문의
항상 좋은 답변 주셔서 감사드려요!리트코드 문제 풀다가 궁금한 점이 있는데요..아래 캡쳐는 문제 풀이 전에 제가 짜본 코드인데요.월별 Revenue를 구하려면 Case를 Sum으로 묶어주면 된다고 하셨는데, 이 테이블 값들은 어차피 월별로 ID&revenue가 겹치는 값이 없어서, 제가 캡쳐한 내용과 같이 SUM으로 묶어주지 않아도 값들이 출력되어야 할 것 같은데...SUM으로 묶어 주지 않으면 FEB, MAR의 ID=1인 revenue 값이 누락됩니다ㅠㅠ집계함수를 묶어줄 떄와 묶어주지 않았을 때 왜 이런 차이가 생기는 걸까요?ㅠㅠ 뭔가 그룹핑하는 것과 관련이 있는 것 같은데 잘 모르겠네요...ㅠㅠ
-
미해결
스프링부트 db에 저장된 데이터 html에 리스트로 뿌리기
↑↑↑↑↑↑↑↑↑↑↑↑↑mysql 에 들어있는 데이터 5개를위처럼 db안의 데이터를 html화면에 리스트로 뿌리려고 합니다 컨트롤러--------------------------------------------------------------------------------------import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import lombok.RequiredArgsConstructor;@RequiredArgsConstructor@Controllerpublic class reviewController {private final reviewService reviewService;@RequestMapping("/AAA2")public String review() {return "AAA2";}@GetMapping("/form-action02")public String list( @RequestParam String reviewStar,@RequestParam String id,@RequestParam String reviewContents,Model model) {List<review> reviewList = this.reviewService.getList();model.addAttribute("reviewList",reviewList);return "AAA2";}}--------------------------------------------------------------------------------------레파지토리--------------------------------------------------------------------------------------import java.util.List;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.Query;import org.springframework.stereotype.Repository;@Repositorypublic interface reviewRepository extends JpaRepository<review, String>{@Query(value = "SELECT * FROM REVIEW_LIST", nativeQuery = true)List<review> findAll();}--------------------------------------------------------------------------------------서비스--------------------------------------------------------------------------------------import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import lombok.RequiredArgsConstructor;@RequiredArgsConstructor@Servicepublic class reviewService {@Autowired private final reviewRepository reviewRepository;public List<review> getList() {return this.reviewRepository.findAll();}}--------------------------------------------------------------------------------------엔티티--------------------------------------------------------------------------------------import java.time.LocalDateTime;import jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.Id;import jakarta.persistence.Table;import lombok.Getter;@Entity@Getter@Table(name = "REVIEW_LIST")public class review {@Id@Columnprivate int sortnum;@Columnprivate String id;@Columnprivate String reviewContents;@Columnprivate String reviewStar;@Columnprivate LocalDateTime createDate;}--------------------------------------------------------------------------------------html--------------------------------------------------------------------------------------<form action="form-action02" name="myform" id="myform" method="get"><fieldset><span class="text-bold">평점을 선택해주세요</span><input type="radio" name="reviewStar" value="★★★★★" id="rate1"><labelfor="rate1">★</label><input type="radio" name="reviewStar" value="★★★★☆" id="rate2"><labelfor="rate2">★</label><input type="radio" name="reviewStar" value="★★★☆☆" id="rate3"><labelfor="rate3">★</label><input type="radio" name="reviewStar" value="★★☆☆☆" id="rate4"><labelfor="rate4">★</label><input type="radio" name="reviewStar" value="★☆☆☆☆" id="rate5"><labelfor="rate5">★</label></fieldset><div> <input type="text" name="id" placeholder="닉네임 입력"><br><br><textarea class="col-auto form-control" type="text" name="reviewContents" id="reviewContents" value="<?php echo $reviewContents?>" placeholder="리뷰 작성란"></textarea></div> <div class="mainPage02"><br><br> <input type="submit" value = "작성"> </div> </form><table class="courseTable" style="border-left: none; border-right: none;"> <thead> <tr> <th style="border-left: none;">평점</th> <th>닉네임</th> <th>내용</th> <th style="border-right: none;">작성일자</th> </tr> </thead> <tbody> <tr th:each="list : ${reviewList}"> <td style="border-left: none;" th:text="${list.reviewStar}"></td> <td th:text="${list.id}"></td> <td th:text="${list.reviewContents}"></td> <td style="border-right: none;"> <td th:text="${list.createDate}"></td> </tr> </tbody></table>-------------------------------------------------------------------------------------- 제가 짠 코드인데 아무리해도 리스트가 출력이 안됩니다..도와주십시오
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
chap12 -05 동기화 질문
package chap_12; import chap_12.clean.Room; public class _05_Synchronization { public static void main(String[] args) { Room room = new Room(); Runnable cleaner1 = () -> { System.out.println("-- 직원1 청소 시작 --"); for (int i = 1; i <= 5; i++) { room.clean("직원1"); } System.out.println("직원1 청소 끝!"); }; Runnable cleaner2 = () -> { System.out.println("-- 직원2 청소 시작 --"); for (int i = 1; i <= 5; i++) { room.clean("직원2"); } System.out.println("직원2 청소 끝!"); }; Thread cleanerThread1 = new Thread(cleaner1); Thread cleanerThread2 = new Thread(cleaner2); cleanerThread1.start(); cleanerThread2.start(); } }package chap_12.clean; public class Room { public int number = 1; synchronized public void clean(String name) { System.out.println(name + " : " + number + "번방 청소 중!"); number++; } } Room class 에서 synchronized 를 빼면 실행할때마다 직원 1, 2 가 섞여서 나오는데 동기화를 넣어주면아무리 여러번 실행하더라도 -- 직원1 청소 시작 ---- 직원2 청소 시작 --직원1 : 1번방 청소 중!직원1 : 2번방 청소 중!직원1 : 3번방 청소 중!직원1 : 4번방 청소 중!직원1 : 5번방 청소 중!직원1 청소 끝!직원2 : 6번방 청소 중!직원2 : 7번방 청소 중!직원2 : 8번방 청소 중!직원2 : 9번방 청소 중!직원2 : 10번방 청소 중!직원2 청소 끝!의 결과 밖에 나오지 않습니다. 제 코드에서 문제 되는 부분이 있을가요? ㅠㅠ
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
BP_GameMode가 안보입니다.
다른 블루프린트 클래스들은 콘텐츠 브라우저에 제가 저장한 위치에 보이는데, GameModeBase를 상속받아서 만든 BP_GameMode는 언리얼을 껐다 키면 콘텐츠 브라우저에서 사라집니다. 월드 세팅에서 게임모드 오버라이드 항목에 BP_GameMode를 선택할 수 있지만, 정작 BP_GameMode가 콘텐츠 브라우저에 나타나지 않아 BP_GameMode를 수정할 수 없습니다. 파일 탐색기에서 언리얼 프로젝트가 저장 되어 있는 폴더에 들어가서 보면, 다른 블루프린트 클래스 들과 같이 BP_GameMode.uasset 이라고 파일이 있지만 언리얼 콘텐츠 브라우저에만 표시가 안되는데 왜 그럴까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
블로그 포스팅 문의
안녕하세요 강사님?혹시 제공해주시는 문제랑 풀이를 블로그에 포스팅해도 괜찮을까요? 개인 공부 기록을 목적으로 합니다.강의 잘 듣고 있습니다. 항상 건강 유의하시길 바랍니다.공익규 드림.
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
멤버변수 뿐만 아니라 메소드도 그대로 상속되는 것은 알겠는데요. 질문이 있습니다
# 일반 유닛 class Unit: def __init__(self, name, hp): self.name = name self.hp = hp print(f"{name} 유닛이 생성 되었습니다.") print(f"체력 {hp}") # 공격 유닛은 일반 유닛을 상속받아서 만들어짐 class AttackUnit(Unit): def __init__(self, name, hp, damage): Unit.__init__(self, name, hp) self.damage = damage print(f"공격력 {damage}")이렇게 출력이 되는데, 저는 공격유닛은 체력 50, 공격력 16으로 출력하고 싶은데 어떻게 하나요?
-
미해결스프링 핵심 원리 - 기본편
스프링 빈 자동 등록과 수동 등록시 빈 이름의 차이
안녕하세요빈 등록 관련하여 질문이 있습니다컴포넌트 스캔 쪽을 공부하고 나서 생긴 의문인데요 MemberServiceImpl 클래스를 빈으로 등록하고자 할 때,(수동등록)@Configuration public class AppConfig { @Bean public MemberService memberService(){ return new MemberServiceImpl(memberRepository()); }(자동등록)@Configuration // 컴포넌트 스캔 시 AppConfig와 TestConfig 등 다른 설정 정보는 등록되지 않도록 하기 위함 @ComponentScan( basePackages = "hello.core", basePackageClasses = AutoAppConfig.class, excludeFilters = @Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { }@Component public class MemberServiceImpl implements MemberService{ // MemberServiceImpl 구현 코드 ~ }를 통하여 진행되는데요 이때 수동등록에서는 MemberServiceImpl 클래스 스프링 빈의 이름이MemberServiceImpl을 생성하는 메서드 이름인 "memberService"이고,자동등록에서는 클래스의 이름을 따서 "memberServiceImpl" 인 것을 확인했습니다(수동등록 테스트)public class ConfigurationSingletonTest { @Test void configurationTest() { ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); MemberServiceImpl memberService = ac.getBean("memberService", MemberServiceImpl.class); Assertions.assertThat(memberService).isInstanceOf(MemberService.class); } }(자동등록 테스트)public class AutoAppConfigTest { @Test void basicScan() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); MemberService memberService1 = ac.getBean("memberServiceImpl", MemberService.class); Assertions.assertThat(memberService1).isInstanceOf(MemberService.class); } } 같은 스프링 빈이지만 등록 과정에 따라서 이렇게 이름이 차이가 나는 이유가 따로 있을까요??그냥 스프링의 관습으로 이해하고 넘어가야할까요 ^^?감사합니다~
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
BBox 좌표 Training관련 문의드립니다.
안녕하세요. 늘 감사한 마음으로 수업을 듣고 있습니다.답변도 늘 달아주셔서 감사합니다.제가 직관적으로 이해가 되지 않아서 문의드립니다.two-stage object detection의 경우S.S 를 거치든, RPN을 거치든 Region proposal 된 Image들을 Resize 한 후, 그 이미지들만 다음 단계의 feature extractor를 통하고 그 값들을 classification하던가 bbox regression 하는 것으로 이해했는데요classification이야 잘라진 object 이미지가 들어가니 학습 가능하다고 이해되도bbox의 경우 잘라진 이미지만 들어가고 전체 이미지나 상대적 위치 정보가 input에 들어있지 않은데, 뭘 가지고 학습하는 건지 직관적으로 이해되지 않습니다.그냥 이미지에 따른 라벨 외우기인가요?예를 들어 차(car)라는 영역만 짤려서 들어가는데 원래 그림에서 어느 위치에 있는지 위치 정보 찾으라는게 가능한가 해서요. (원래 이미지는 보여주지 않은채)training image마다 object 위치 값을 외우는 식의 학습인가 해서 문의드립니다.
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
App.vue 물결 표시 제거 방법
lecture 6 강의 들으면서 위와 같은 현상이 발생하는데 해결법이 궁금해서 문의 남겨요.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
join에 대해 질문있습니다.
public List<Order> findAllWithMemberDelivery() { return em.createQuery("select o from Order o ", Order.class).getResultList(); }이렇게 order만 select해줘도@GetMapping("api/v3.1/orders") private List<OrderDto>ordersV3_page(){ List<Order>orders=orderRepository.findAllWithMemberDelivery(); List<OrderDto>result=new ArrayList<>(); for(Order order:orders){ result.add(new OrderDto(order)); } return result; }강의자료와 동일하게 설계해서 뿌려주면//postman의 결과 [ { "orderId": 4, "name": "userA", "orderDate": "2023-01-19T14:02:41.723635", "address": { "city": "서울", "street": "1", "zipcode": "1111" }, "orderStatus": "ORDER", "orderItems": [ { "itemName": "JPA1 BOOK", "orderPrice": 10000, "count": 1 }, { "itemName": "JPA2 BOOK", "orderPrice": 20000, "count": 1 } ] }, { "orderId": 11, "name": "userB", "orderDate": "2023-01-19T14:02:41.79964", "address": { "city": "진주", "street": "2", "zipcode": "2222" }, "orderStatus": "ORDER", "orderItems": [ { "itemName": "SPRING1 BOOK", "orderPrice": 20000, "count": 3 }, { "itemName": "SPRING2 BOOK", "orderPrice": 40000, "count": 4 } ] } ]이렇게 원하는 결과가 나옵니다.(물론 item id가 없습니다.)즉 Order만 select해도 Dto에 설계한대로 정보가 잘 나오는데 o.member 등을 join하는 이유는 item id 등이 필요할 때가 있어서 그런건가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요 질문이있습니다
스프링입문강의를듣고있습니다 7강을듣다가 깊은내용위주보다도 큰틀로설명해주신다고했는데 혹시 깊은내용이나 강의하신게있으시다면 듣고싶은데 스프링에대한 깊은강의도있을까요?