묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
강의 상 화면 구성 dartpad.dev
1) 강의 상 화면 구성 dartpad.dev 2) 현재 저의 화면의 화면 구성 dartpad.dev 보시면 강의상 dartpad 화면과 저의 dartpad화면의 구성이 다릅니다reset, format 등이 현재엔 없습니다. 답변 부탁드립니다 감사합니다
-
미해결도대체 왜? 도대체 어떻게! DB 설계와 데이터 다루기
[공유][대사와 액션, 회차정보테이블]contents2 생성관련
안녕하세요. mysql 버전이 8.0 대라서 그런지 contents2 테이블 생성하는 명령어(create or replace TABLE ... ) 가 실행이 안되서 다른 방식으로 수행하였습니다. 혹시 저와 동일한 에러가 나시는 분은 참고하세요. 우선 테이블을 만들고, group_concat() 이 selec까지는 잘 되는데 생성시에는 에러가 나서, /* SQL 오류 (1260): Row 6 was cut by GROUP_CONCAT() */ 구글링을 해보니 max length를 수정해줘야 한다고 하네요. SET group_concat_max_len=150000; 강사님이랑 같은 소스데이터를 사용하는데 왜 에러가 나는 지는 모르겠으나, 관련 명령어를 수행하고 나니 돌아갑니다.
-
미해결스프링 핵심 원리 - 고급편
ThreadLocal 관련 질문입니다.
traceId = traceId.createPreviousId(); // traceIdHolder.set(traceId.createPreviousId());두 코드의 결과에는 큰 차이가 없는 것 같은데, 굳이 traceIdHolder.set 을 사용해야 하는 이유가 있을까요??
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
jdk 21 콘솔창 출력 한글 깨짐
jdk 21로 한글을 출력하려고 하는데 한글이 깨져서 나옵니다.처음에는 인텔리제이의 문제인가 했는데 이클립스에서도 깨져서 나오는걸 보면 jdk의 문제인 것 같습니다.이전에 이클립스에서 실행해 본 파일로 그때는 괜찮았으나 지금은 한글이 깨져서 나옵니다. 그래서 jdk의 문제라고 생각했습니다.저는 jdk를 오라클 open jdk 21 버전을 설치했습니다. 예전에 이클립스에서 사용하던 jdk 버전은 11입니다.강의에서 하신 것처럼 인텔리제이에서 oracle open jdk 21을 다운로드해도 마찬가지로 깨져서 나옵니다.jdk를 버전을 낮춰야 할지 다른 방법이 있을지 몰라 해결책을 찾다가 여기다 질문해봅니다.
-
미해결웹 게임을 만들며 배우는 React
devMiddleware의 필요성
안녕하세요! 좋은 강의 감사합니다:)궁금한 점이 있어서 질문 남깁니다.devMiddleware이 웹팩에서 빌드한 파일에 대한 경로라고 이해했습니다. 그런데 output.publicPath에 빌드할 파일 위치 적어주고 index.html에서 빌드한 파일을 불러오는 데 굳이 devMiddleware를 설정해주는 이유가 뭔가요..?devMiddleware를 제거해도 정상적으로 빌드되고 결과물도 똑같은 것 같아요..ㅠ
-
해결됨글로벌 개발자로 성장하는 < 코딩 실무 영어 /> 마스터 클래스
3분 41초 첫번재 예문 질문있습니다.
When 대신 If를 써도 괜찮은 문장일까요?둘다 되지만 더 자연스러운게 When 인지요...? When the file appears in the directory, drag it into the trash.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
테스트를 전체 실행할 시 한개만 성공 한개는 실패
위의 질문과 똑같은 질문입니다!@SpringBootTestclass stockServiceTest {@Autowired private StockService stockService; @Autowired private StockRepository stockRepository; @BeforeEach public void setUp(){stockRepository.saveAndFlush(new Stock(1L,100L)); }@AfterEach public void after(){stockRepository.deleteAll(); }@Test @DisplayName("동시에 100개 요청")void 동시에_100개의_요청() throws InterruptedException {//given int threadCount = 100; // ExecutorService는 비동기로 실행하는 작업을 단순화하여 사용할 수 있게하는 자바 api ExecutorService executorService = Executors.newFixedThreadPool(32); // CountDownLatch는 다른 쓰레드에서 수행중인 작업이 완료될때까지 대기할 수 있도록 도와주는 클래스 CountDownLatch latch = new CountDownLatch(threadCount); for (int i = 0; i < threadCount; i++) {executorService.submit(()->{try {stockService.decrease(1L,1L); }finally {latch.countDown(); }}); }latch.await(); //when //then Stock stock = stockRepository.findById(1L).orElseThrow(); assertThat(stock.getQuantity()).isEqualTo(0); }@Test @DisplayName("재고감소")void decreaseStock(){//given //when stockService.decrease(1L,1L); Stock stock = stockRepository.findById(1L).orElseThrow(); //then assertThat(stock.getQuantity()).isEqualTo(99); }}1번테스트와 2번테스트를 각각 테스트를 실행할 경우 테스트가 성공하지만 전체 테스트를 실행하게 하여 1번테스트와 2번테스트를 돌리면 No value presentjava.util.NoSuchElementException: No value present라는 예외가 뜹니다.@BeforeEach와 @AfterEach가 있어서 문제가 없을거라 생각하는데 왜 전체 테스트중 동시에_100개의_요청이라는 테스트가 실패하는건가요?
-
미해결
학과선택에 고등학교 선택과목의 영향이 크나요?
고2올라가는 학생입니다. 진로결정에 어려움을 겪어 안전빵으로 선택과목을 사회3, 과학1로 선택했는데심리학과에 관심을 가지면서 알아보니 과학을 생명과학이나 화학을 들어야하더라구요. (지구과학 선택함)학과선택에 고등학교 선택과목의 영향이 크나요?
-
해결됨홍정모의 따라하며 배우는 C언어
int* 만큼 이동한다는 말의 뜻이 궁금합니다.
안녕하세요, 이전 질문글의 답변에서 궁금한 점이 있어 질문드립니다. 링크는 https://www.inflearn.com/course/lecture?courseSlug=following-c&unitId=28273&tab=community&category=questionDetail&q=1142021 이고, 스샷으로 가져왔습니다. 밑줄 친 부분이 이해가 잘 가지 않는데요,arr 배열의 원소타입이 int 이므로 , arr + 1 은 arr[1]을 가리키는 포인터의 위치로 이동한다는 건 잘 알겠습니다. arr, 즉, arr[0]의 주소가 만약 100이면 104 로 이동하겠죠. int 크기가 4바이트니까요.그렇다면, parr + 1도 int* 크기만큼 이동해야 할 것 같은데요, int* 는 주소값을 저장하는 타입이므로 주소값의 크기인 4바이트(혹은 운영체제에 따라 8바이트) 만큼 이동해야 할 것같은데, 하기 첨부한 그림을 보면 parr[0] 시작 주소 부터 parr[1] 시작 주소까지 12바이트를 이동합니다. 직관적으로는 그럴것 같은데 헷갈려서 질문드립니다. 감사합니다.
-
미해결실전! Querydsl
JPA Test Code 관련해서 질문이 있습니다.
안녕하세요.JPA와 Querydsl 학습을 위해서 테스트 코드를 작성 중에 궁금한 부분이 있어서 질문 드립니다. 조회를 위한 테스트 데이터를 save 하고, querydsl로 작성한 repository를 이용해서 데이터를 조회하여 검증하고 있습니다. 여기서 궁금한 부분은 테스트 데이터를 save 하고나서 EntityManger를 이용해서 영속성 컨텍스트를 비워주는 작업을 테스트 코드마다 해주는게 맞는지 궁금합니다. 영속성 컨텍스트를 비워주지 않고 조회하면 영속성 컨텍스트에 존재하는 데이터를 읽기 때문에 테스트가 깨집니다. 현업에서도 Repository 테스트 코드를 작성할 때, 테스트 데이터를 넣어준 후 매번 flush / clear를 해주는지 아니면 다른 Best Practice가 있는지 알고싶습니다. class ProductQueryRepositoryTest extends DomainTestSupport { @Autowired private ProductRepository productRepository; @Autowired private ProductQueryRepository productQueryRepository; @Test @DisplayName("상품 아이디로 판매중인 상품 정보를 조회한다.") void findByIdIsSaleableTrue() throws Exception { // given ProductOption appleOption1 = createProductOption("1kg", 10000, 7000, 100, 10, true); ProductOption appleOption2 = createProductOption("2kg", 20000, 15000, 100, 5, false); Product apple = createProduct("사과", false, true, appleOption1, appleOption2); productRepository.save(apple); em.flush(); em.clear(); // when Optional<Product> optionalProduct = productQueryRepository.findByIdIsSaleableTrue(apple.getId()); // then assertThat(optionalProduct).isPresent() .get() .extracting("name", "isSaleable", "isDeleted") .contains(apple.getName(), apple.getIsSaleable(), apple.getIsDeleted()); List<ProductOption> productOptions = optionalProduct.get().getProductOptions(); assertThat(productOptions).hasSize(1) .extracting("name", "originalPrice", "salesPrice", "stockQuantity", "maxOrderQuantity", "isSaleable", "isDeleted") .containsExactlyInAnyOrder( tuple(appleOption1.getName(), appleOption1.getOriginalPrice(), appleOption1.getSalesPrice(), appleOption1.getStockQuantity(), appleOption1.getMaxOrderQuantity(), appleOption1.getIsSaleable(), appleOption1.getIsDeleted()) ); } // ... 중략 } @RequiredArgsConstructor @Repository public class ProductQueryRepository { private final JPAQueryFactory queryFactory; public Optional<Product> findByIdIsSaleableTrue(Long id) { return Optional.ofNullable( queryFactory .select(product) .from(product) .leftJoin(product.productOptions, productOption) .fetchJoin() .where( product.id.eq(id), product.isSaleable.isTrue(), product.isDeleted.isFalse(), productOption.isSaleable.isTrue(), productOption.isDeleted.isFalse() ) .fetchOne() ); } } 감사합니다.
-
미해결
카카오 회워정보 가져오기에서 이메일정보가 없습니다.
카카오 로그인 후 확인해보니 email=null 입니다.카카오 어플리케이션 동의 항목에는 이메일을 선택할 수 가 없네요. 카카오에서 특별한 설정이나 권한이 필요한가요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ECS 의 Task 업데이트 속도 문제
[섹션 10 - Self-healing! - 죽은 서버(테스크) 자동으로 살려내는 AWS ECS service 알아보기] 강의에서Task 의 RollingUpdate 하는 모습과 health check 에 의한 Task 소멸 및 생성 모습을 보여주셨는데요.ECS 의 Task 소멸 및 생성 속도가 너무 느려서 놀랐습니다.집에서 Kubernetes 로 실습해본 경험에 의하면, K8S 에서는 3초면 되는 것이, ECS Fargate 에서는 3분이 걸리는 것 같은데요.원래 ECS 의 Fargate launch type 이 아주 느린 것인가요?ECS 의 EC2 launch type 이었다면 Fargate 보다는 조금 빠른지요? 로컬에서 돌리는 Kubernetes 만큼 몇초만에 수행을 완료할 정도로 빠르게 하는 방법은 없는지요?ECS 너무 느려서 이걸 써야 되나라는 실망스런 마음이 큰데요.반응 속도가 빠른 auto scailing 을 구현하려면, 직접 K8S 쓰는 것이 더 현실적인 방법인 것인지 고민이 됩니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ECS - Service 의 Load Balancer 요금
안녕하세요, 강사님,섹션 9 : Container Orchestration - [AWS ECS - Service 사용해서 여러개의 Task 생성하고 Load balancer 연결해주기] 강의에서ECS Cluster 에 Service 를 만들 때, Service 에 적용하는 Load Balancer 도 내부적으로는 EC2 를 이용한 것인가요? Service 에 만든 Load Balancer 에도 별도의 Load Balancer 비용이 부과되나요?LightSail 에서 적용했던 Load Balancer 와 동일하게 비용이 드는지 궁금합니다. 만약, 비용이 부과된다면, ECS 에서 여러 Task 에 auto scailing 을 적용할 경우, Load Balancer 의 갯수가 많아질텐데, 그 갯수만큼 비용이 부과되는지도 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
private final MemberRepository 부분 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]static vs final vs static final의 차이점을 이해하고 다시 코드를 보았는데 여기서 강사님이 아래와 같이 코드를 작성하셨습니다.근데 여기서 한 가지 궁금한 것이 있습니다. final은 추후 생성자를 통한 의존성 주입에서 권장되는 사용 방식이라 final을 붙여주는 것도 있고 값을 더하거나 뺄 수 있게끔 하면서 재할당은 안되게끔 MemberRepository 코드 쪽에서 final을 쓰신 것으로 이해를 하고 있는데요.여기서 static을 사용할 수도 있겠지만(메모리 저장소만 사용하고 순수 자바로만 구현한다면) 추후에 스프링으로 넘어가 생성자에 의한 의존성 주입때문에 static을 사용하지 않는 것으로 이해한 것이 맞을까요?
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)
미로찿기 질문드립니다
올려놓으신 코드로 런해봤는데 몇가지 질문이 있어 질문드립니다.출발을 0,0이 아닌 2,2로 하거나 사진에서 미로의 숫자 1을 0으로 바꿔봤는데 길이 있음에도 Exception이 발생하는데 한참을 봤는데 왜 이런 현상이 발생하는지 모르겠어서 질문드립니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강연장부탁드립니다
복습하고 더 학습하고싶어서신청드립니다.감사합니다.
-
미해결[코드팩토리] [초급] 8시간만에 끝내는 코드팩토리의 Typescript 완전정복 풀코스
moduleDetection 옵션 설정에서 에러가 납니다.
안녕하세요,tsc --version 으로 확인한 타입스크립트 버전: 5.3.3tsconfig.json 에서 moduleDetection 옵션 설정에 에러 메세지가 뜹니다. (force로 값을 준 상태): Unknow compiler option 'moduleDetection'각 기 다른 파일에서 같은 변수를 선언하면 여전히 에러가 납니다.어떻게 해결하면 좋을까요?
-
미해결
파이썬 클래스 파라미터 질문
class player : #player라는 클래스를 만듦 def __init__(self,name,team): ############ #player라는 클래스를 시작할 때 변수로 name과 team을 받고 self는 dong이다. self.name = name #name = "donghyeon" self.xp = 1500 self.team = team #team = "blue" print(name) def introduce(self) : #self = dong print(f"Hello I'm {self.name} and I play for {self.team}") #위에서 정의한 self.name = "donghyeon" self.team = "blue" class Team : #Team이란 클래스를 만듦 def __init__(self,team_name): #Team이란 클래스를 시작할 때 변수로 self와 team_name을 받고 self=blue team_name = "blue" self.players = [] #self.players는 빈 리스트이고 self.team_name = team_name #sef.team_name = blue def show_player(self): #self = blue print(self) for player in self.players : player. introduce() def add_player(self,name): ##################### #self=blue new_player = player(name,self.team_name) print(name) self.players.append(new_player) dong = player ("donghyeon","blue") blue = Team("blue") def add_player(self,name): ##################### #self=blue new_player = player(name,self.team_name) 이 부분을 어떻게 생각해야되는 걸까요?클래스 player와 연결되어있는 것 같은데player 괄호 안 변수들 name과 self.team_name은둘 다 player 클래스에서 받아온 것이라고 생각하기에는 player 클래스 내에 sefl.team_name이 없어서 잘 모르겠습니다아니면 player에서는 name과 team을 받아야되는데team은 클래스 team 내에 있는 team_name을 받아오는 것인가요?
-
미해결스프링 핵심 원리 - 기본편
한 클래스 내 생성자가 2개 이상이면 @Autowired 붙여야만 의존관계 주입이 이뤄지나요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]아래 코드처럼 한 클래스 내 생성자가 2개 이상인 경우, @Autowired를 주입하지 않으면 의존관계 주입이 이뤄지지 않나요???강의 내용에선 생성자가 1개인 경우 @Autowired를 생략해도 의존관계 주입이 자동으로 이뤄진다했는데, 2개 이상인 경우에도 되는 것 같아서요!@Component public class MyClass { private DependencyA dependencyA; private DependencyB dependencyB; public MyClass(DependencyA dependencyA) { this.dependencyA = dependencyA; } public MyClass(DependencyA dependencyA, DependencyB dependencyB) { this.dependencyA = dependencyA; this.dependencyB = dependencyB; } }
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
지표에 대한 정의를 수정할 때에 대한 질문
안녕하세요! 4단원 지표 정의까지 강의를 듣고 직접 개인 사이트를 만들어 문제 정의, 지표 수립의 과정을 실습해보려고 계획하는 중에 질문이 생겼습니다. 사이트를 운영하면서 같은 지표(ex. 전환율)에 대해서 정의하는 방식을 수정하고 싶은 경우에는 수정 전/후의 데이터를 어떻게 분석해야 좋을지, 어떤 점을 유의해야 할지 궁금합니다.사이트 운영 이전에 최대한 구체적이고 목적에 부합하는 지표를 정의하는 것이 가장 좋지만,실제로 운영하면서 데이터를 보기 전까지는 구체적으로 감을 잡기 어려운 부분이 있다고 느꼈습니다.예를 들어서, 세션에 대한 정의를 할 때 보통 '몇 분 동안' 활동이 없을 때 세션 종료라고 정의해야 할까?에 대한 reference로 삼을 만한 데이터가 없다 보니 대략적인 추측으로 정의해야 하는 부분이 있는 것 같아요. 이런 경우에는 보통 어떻게 추정치를 잡는지, 중간에 지표에 대한 정의를 수정하는 게 불가피한 경우에는 보통 현업에서 어떻게 하는지 궁금합니다! 데이터 수집은 GA4와 GTM을 사용할 계획입니다.