묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
Replica Placement 질문
안녕하세요. 영상 7분 30초 경에 있는 ppt가 Replica Placement 를 설명해주고 있는데요.1번 단계에서 local rack에 replica를 하나 생성한다고 되어있는데 생성 위치가 same node of local rack 인가요? 아니면 different node of local rack 인가요?그림을 보면 same node of local rack 인데, 같은 노드에 replica를 배치하면 어떤 의미가 있나 궁금해서 질문 드립니다.감사합니다.
-
미해결실전! 스프링 데이터 JPA
강의 15분경 즉시로딩 실행결과 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.MemberTest 테스트클래스testEntity() 코드입니다. Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em.persist(teamB); Member member1 = new Member("member1", 10, teamA); Member member2 = new Member("member2", 20, teamA); Member member3 = new Member("member3", 30, teamB); Member member4 = new Member("member4", 40, teamB); em.persist(member1); em.persist(member2); em.persist(member3); em.persist(member4); //초기화 em.flush(); em.clear(); List<Member> members = em.createQuery("select m from Member m ", Member.class) .getResultList(); for (Member member : members) { System.out.println("member = " + member); System.out.println("-> member.team = " + member.getTeam()); }처음에 즉시로딩 실행결과로멤버 조회 쿼리 하나랑각각 팀 조회 쿼리 +N번 (여기서는 2번) 나가는 것을 확인했습니다. 지연로딩으로도 쿼리실행시점 문제만 다르지 똑같이 member.getTeam() 할때 team쿼리가 나가는 것을 확인했습니다. N+1문제를 해결하기 위해 페치조인을 한다는것은 강의와 학습을 통해 알게되었습니다. 질문이있는데요처음에 즉시로딩할때 조인쿼리가 안나가고왜 따로 member, team쿼리가 나간것일까요? 즉시로딩도 N+1문제가 발생하는것이 맞나요? 수정단건조회 시 즉시로딩으로 left outer join 으로 member와 team이 함께 조회되는것을 확인했습니다.단건조회가 아니라 memberRepository.findAll() 메소드나 JPQL (select m from Member m) 인경우에는 member와 team이 같은 한 쿼리가 아니라따로 조회되는 것인가요? 왜 List를 조회할때에는 같이 join해서 쿼리를 날리지않는것일까요?
-
미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
시계열 딥러닝 그래프에서 수치가 달라요
이렇게 강의에 나오는 수치와 다르네요왜그런거죠?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
웹의 쓰레드와 운영체제의 쓰레드 개념 차이
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 쓰레드의 개념 관련해서 궁금한 사항이 있습니다.운영체제에서 말하는 쓰레드는 프로세스 내부에서 진행되는 흐름의 단위를 일컫는 것으로 알고 있습니다.강의에서 말하는 쓰레드는 자바에서 제공하는 쓰레드의 특징인 것 같은데, 둘이 별개의 개념인걸까요?
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
소스파일이 없다고 나옵니다.
안녕하세요 ㅠㅠ 커리큘럼에 있는 소스압축파일 빈 파일이라고 나오고, 맨 밑에 링크는 이제 만료된 링크라고 나옵니다. 오류가 발생하여 소스 참고하려고 했는데,, 다른 방법으로 소스코드 받을 수 있을까요?
-
미해결언리얼 엔진4 입문 (C++ 기반)
GENERATED_BODY() 에러 질문있습니다
강의 22분쯤 UFloatingPawnMovement를 작성하면 에러가 뜨길래 인터넷에 찾아보니 #include "FloatingPawnMovement.generated.h"을 추가해주면 된다길래 추가했는데 다음과같이 GENERATED_BODY에서 에러가 뜨네요 헤더파일 순서 문제인가 싶어서 순서를 다 바꿔봐도 계속 뜹니다.CPP에 해당 코드에서도 에러가 뜨네요 #include "GameFramework/FloatingPawnMovement.h"이 헤더파일을 붙이면 이렇게 에러가 뜹니다 강의 뒷 내용처럼 위 헤더파일을 cpp로 옮겨서 추가해도 마찬가지네요 구글에 검색해도 저랑 같은 케이스가 보이지않습니다 ㅜㅜ
-
미해결
ci/cd 과정에 도커를 넣는다면 어디에 들어가게 되는건가요??
현재는 스프링부트, 깃허브액션, s3, codeDeploy, ec2 이렇게 연동되어 있는 상태인데, 여기에 도커가 들어간다면 어떻게 바뀌어야 할까요??
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
섹션6 CIFAR10 imshow() 시각화 문제
안녕하세요 교수님!5강 시작부분에서 get_preprocessed_data의 scaling 파라미터 값을 False로 하셨는데, 그러면 픽셀값을 255로 나누지 않는 것인데 이렇게 하면 다음과 같은 흰색 배경만 뜨더라구요..그래서 구글링을 해보니까 plt.imshow() 함수가 0 ~ 1 사이의 float형이나 0 ~ 255 사이의 int형만 가능하다고 해서 다음과 같이 바꾸었는데 제대로 출력되더라구요..!... def get_preprocessed_data(images, labels, scaling=True): if scaling: # 직접 scaling을 한다고 했을때? images = np.array(images/255.0, dtype=np.float32) else: images = np.array(images, dtype=np.int32) # 이 부분을 수정했습니다. oh_labels = np.array(labels, dtype=np.float32) return images, oh_labels def get_preprocessed_ohe(images, labels): images,labels = get_preprocessed_data(images, labels, scaling=False) # OHE oh_labels = to_categorical(labels) return images, oh_labels ...교수님 코드랑 다른 부분이 없는데 저는 흰 배경으로만 나오고, 저렇게 설정해야지만 올바르게 나오는 점이 이상해서 여쭤보고자 합니다ㅠㅠ! 혹시 몰라서 해당 부분 전체 코드 올리겠습니다!from tensorflow.keras.datasets import cifar10 from tensorflow.keras.utils import to_categorical from sklearn.model_selection import train_test_split # seed 설정 def set_random_seed(seed_value): np.random.seed(seed_value) python_random.seed(seed_value) tf.random.set_seed(seed_value) def get_preprocessed_data(images, labels, scaling=True): if scaling: # 직접 scaling을 한다고 했을때? images = np.array(images/255.0, dtype=np.float32) else: images = np.array(images, dtype=np.float32) oh_labels = np.array(labels, dtype=np.float32) return images, oh_labels def get_preprocessed_ohe(images, labels): images,labels = get_preprocessed_data(images, labels, scaling=False) # OHE oh_labels = to_categorical(labels) return images, oh_labels def get_train_valid_test_set(train_images, train_labels, test_images, test_labels, valid_size=0.15, random_state=2023): train_images, train_ohe_labels = get_preprocessed_ohe(train_images, train_labels) test_images, test_ohe_labels = get_preprocessed_ohe(test_images, test_labels) train_images, valid_images, train_ohe_labels, valid_ohe_labels = train_test_split(train_images, train_ohe_labels, test_size=valid_size, random_state=random_state) return train_images, train_ohe_labels, valid_images, valid_ohe_labels, test_images, test_ohe_labelsset_random_seed(2023) (train_images, train_labels), (test_images, test_labels) = cifar10.load_data() print(train_images.shape, train_labels.shape, test_images.shape, test_labels.shape) train_images, train_ohe_labels, valid_images, valid_ohe_labels, test_images, test_ohe_labels = get_train_valid_test_set(train_images, train_labels, test_images, test_labels, valid_size=0.15, random_state=2023) print(train_images.shape, train_ohe_labels.shape, valid_images.shape, valid_ohe_labels.shape, test_images.shape, test_ohe_labels.shape)NAMES = np.array(['Airplane', 'Automobile', 'Bird', 'Cat', 'Deer', 'Dog', 'Frog', 'Horse', 'Ship', 'Truck']) def show_images(images, labels, ncols=8): figure, axs = plt.subplots(nrows=1, ncols=ncols, figsize=(22, 6)) for i in range(ncols): axs[i].imshow(images[i]) label = labels[i].squeeze() axs[i].set_title(NAMES[int(label)]) show_images(train_images[:8], train_labels[:8], ncols=8) show_images(train_images[8:16], train_labels[8:16], ncols=8) show_images(train_images[16:24], train_labels[16:24], ncols=8)감사합니다!
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
설명하시는 소스 git 주소 어디에 있을까요
설명하시는 소스 git 주소 어디에 있을까요커뮤니티 검색해 봤는데 안나오네요...
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
이중연결리스트 list에 대해 질문있습니다
이중연결리스트라고 말씀하셨는대수업내용 들어보니까 [1] <->[2] <->[3] <->[4] <->[Header] <->[Header]노드가 [1]노드랑 연결되어있으면원형연결리스트 아닌가요..?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
안녕하세요 강사님 save 메서드 사용 질문있습니다.
트랜잭션이 걸려있는 경우에stock.decrease(quantity)만 해줘도 영속성 컨텍스트에 있는 값을 가져와서 재고 감소가 가능한 걸로 아는데왜 save를 한 번 더 해주는 건지 이유가 궁금합니다.그리고 위에 제가 이해한 영속성 컨텍스트에 대한 내용도 맞을까요?
-
미해결Practical Testing: 실용적인 테스트 가이드
TEST 코드 내에서 발생하는 쿼리의 바인딩 되는 부분을 볼 수 있나요?
안녕하세요. 강의를 듣다가 테스트를 하며 JPA에서 제공하는 쿼리가 제가 원하는 쿼리가 맞는지 확인함과 더불어 실제 들어가는 값이 제대로 들어가는지 알고 싶을 때가 존재하는데 이때 로그에서 확인할 수 있는 방법이 있을까요?
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
LeNet-5 실습 중 loss값 nan이 나오고 있습니다.
강의와 동일하게 코드를 쳐서 진행한 것 같은데 loss값 자체가 nan이 나오고 accuracy는 0.1을 넘기지 못하는 중입니다. 왜 이렇게 나오는 건지 알려주실 수 있을까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
리뷰 작성 페이지 강의는 언제쯤 나올까요?
안녕하세요?항상 좋은 강의 감사하게 생각하고 있습니다.마지막 강의에 보니 추가 강의 "리뷰 작성 페이지"가 나온다고 했는데, 언제쯤 볼 수 있을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
언제 PathVariable을 사용해야하고 언제 RequestParam을 써야하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.상품 수정 강의를 수강하다가 0분 30초경에 editForm메서드를 만드실때PathVariable 어노테이션을 써야한다고 말씀하시는데 메소드마다 PathVariable을 쓰거나,RequestParam을쓰거나, ModelAttribute를 쓰는 기준점이 궁금합니다
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
스토쿠 검사
이렇게 풀어도 정답 다 통과되던데 반례가 있을까요 ?import sys import string as t sys.stdin = open("input.txt", "r") a = [list(map(int, input().split())) for _ in range(9)] True_flag = True nums = [i for i in range(1, 10)] for y in range(0, 9, 3): for x in range(0, 9, 3): res = [] res.extend(a[y : y + 3][0][x : x + 3]) res.extend(a[y : y + 3][1][x : x + 3]) res.extend(a[y : y + 3][2][x : x + 3]) if len(nums) != len(set(res)): True_flag = False break if True_flag: print("YES") else: print("NO")
-
미해결처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
제공된 코드들을 실행시키면 sdk파일을 받으라고 뜨는데
안녕하세요 제가 초보라 초보적인 질문일 수 있습니다.제공해주신 코드들을 열어보면 위에 이런식으로 뜨는데,저는 제가작성해서 실행시키는건 문제없는데 제공된것 포험 다른곳에서 다ㅏ운받아와서 열어보면 sdk를 자꾸 설치하라고 뜨는데(위 사진과 같이) 이 sdk를 링크를 통해 다운받아줘야하나요..? 전 이미 sdk가 있는상태이니까 잘 실행시키고 있을텐데 다른 파일불러오면 다운받으라고 뜨니까 궁금해서 여쭤봅니다
-
해결됨스프링 웹 MVC
2:51초 질문입니다.
SampleController 클래스에 @Validated 어노테이션을 추가하였고, Event 클래스에서 name에 @NotBlank와 limit에 @Min(value = 0)을 추가하였습니다. 코드는 다음과 같습니다.Event.classpackage com.springMvc.N04_handlerMethod; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; public class Event { private Integer id; @NotBlank private String name; @Min(value = 0) private Integer limit; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getLimit() { return limit; } public void setLimit(Integer limit) { this.limit = limit; } } SampleController.classpackage com.springMvc.N04_handlerMethod; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @Controller public class SampleController { @GetMapping("/events/{id}") @ResponseBody public Event getEvent1(@PathVariable Integer id){ Event event=new Event(); event.setId(id); return event; } @GetMapping("/events/form") public String eventsForm(Model model){ Event newEvent=new Event(); newEvent.setName("action"); newEvent.setLimit(30); model.addAttribute("event", new Event()); return "/events/form"; } @PostMapping("/events") public String getEvent(@Validated @ModelAttribute Event event, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return "/events/form"; } return "/events/list"; } }SampleControllerTest.classpackage com.springMvc.N04_handlerMethod; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import static org.junit.jupiter.api.Assertions.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; @RunWith(SpringRunner.class) @WebMvcTest class SampleControllerTest { @Autowired MockMvc mockMvc; @Test public void postEvent() throws Exception { mockMvc.perform(post("/events") .param("name", "krille") .param("limit", "-1")) .andDo(print()) .andExpect(status().isOk()) .andExpect(model().hasErrors()); } }Event.class에서 설정한 validation과 SampleController.class의 getEvent() 메소드의 @Validated, BingingResult에 따르면 test에서 입력된 param값에 따라 limit가 음수로 나오면 model().hasError()로 인해 테스트가 통과가 되어야 할텐데 java.lang.AssertionError: Expected binding/validation errors가 나오면서 계속 테스트가 통과되지 않습니다. 오류를 해결하기 위해 구글링, chatGPT를 검색해보았지만 결국 해결하지 못해 이렇게 질문하였습니다.사용한 스프링 프레임워크 부트는 3.1.2 버전입니다. 추가로 지금까지 수업을 들으며 다른 질문도 하려고 합니다.1. Test 작성시 mockMvc.perform()을 사용할 때 마다 자동으로 import를 하고 싶은데 어떤 키를 눌러야 하나요?2. junit이 start.spring.io에서 제공하지 않나요? @RunWith(SpringRunner.class) 어노테이션을 작성할 때마다 수동으로 junit 의존성을 추가합니다.3. 개인적인 질문인데 코딩을 하다가 계속 막히면 화가 너무나서 감정 컨트롤이 너무 힘든데 강사님은 어떻게 감정을 다스리는지 궁금합니다.
-
해결됨처음 배우는 리액트 네이티브
터미널 다운 및 사용방법
안녕하세요 처음 프로젝트를 만들고 싶어 강의를 수강하게 된 학생입니다. 혹시 강의 초반에 JDK같은 여러 설치 파일들을 AltchemistK라는 터미널로 설치하시던데 이 터미널을 어디서 다운받아 사용하는지 몰라서 질문드립니다.
-
해결됨그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
테스트환경(VM) 쉽게 On/Off 할수 있는 방법이 있나요?
쉽게 시작하는 쿠버네티스를 완강하고 그림으로 배우는 쿠버네티스를 수강하고 있습니다.요번 사이버 먼데이에 cka 할인 쿠폰이 나오면 cka 도전을 위해 열공 중입니다. 매번 강의 내용 실습을 위해 VM을 On/Off 하고있는데 엔지니어 특성상 이것도 귀찮네요.vagrant halt 를 이용하여 한번에 vm을 Off 하는 방법을 찾았는데 한번에 On 하는 방법은 이리저리 해도 안되더라구요. vagrant up을 다시 하면 프로비저닝을 다시 하려고 해서 시간도 많이 걸리는 것도 같아서요. 그래서 찾은 방법을 공유 드립니다.아래 내용을 배치 파일로 vmon.bat, vmoff.bat 생성후 실행해주는 방법을 찾았습니다.버츄얼 박스도 따로 실행할 필요없이 실행되서 깔끔하네요. VM ON"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm "m-k8s-1.22(github_SysNet4Admin)" --type headless"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm "w1-k8s-1.22(github_SysNet4Admin)" --type headless"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm "w2-k8s-1.22(github_SysNet4Admin)" --type headless"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm "w3-k8s-1.22(github_SysNet4Admin)" --type headless VM OFF"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm "m-k8s-1.22(github_SysNet4Admin)" poweroff"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm "w1-k8s-1.22(github_SysNet4Admin)" poweroff"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm "w2-k8s-1.22(github_SysNet4Admin)" poweroff"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm "w3-k8s-1.22(github_SysNet4Admin)" poweroff 혹시 좀더 우아한 방법이 있으시면 알려주세요.