학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 여기에 질문 내용을 남겨주세요. MemoryMemberRepository에 있는 private static Map<Long, Member> store = new HashMap<>(); @Override public void save(Member member) { store.put(member.getId(), member); } 이 부분에 대해 질문사항이 있습니다. Member에는 id, name, grade의 필드가 있고, 예를 들면 (1L, "memberA", Grade.VIP )의 형식으로 저장이 될 것인데, 굳이 store를 Map형식으로 선언하여서, save메서드에서 store.put(member.getId(), member)의 형식으로 저장하는 이유가 무엇인가요? 요약하자면 Member에는 id, name, grade의 정보가 있는데 굳이 save메서드에서 member.getId()를 통해 id를 한 번 꺼내고, member와 같이 굳이 키와 쌍의 값으로 저장을 하는 이유가 궁금합니다. 그저 member만 저장하면 되므로 Map을 쓸 필요가 없지 않나 라는 의문점이 듭니다. Map을 쓴다고 하였을 때, Map의 구현체들 중에서 HashMap을 사용한 이유가 궁금합니다.
안녕하세요 선생님! 복습하다가 의문점이 생겨 질문드립니다. from collections import defaultdict N = int(input()) T = int(input()) dic = defaultdict(list) discovered = [] for _ in range(T): a, b = map(int, input().split()) dic[a].append(b) dic[b].append(a) def dfs(node): global dic, discovered discovered.append(node) for n in dic[node]: if n not in discovered: dfs(n) return dfs(1) print(len(discovered) - 1) 이 코드에서 dic[b].append(a)를 지워도 문제 해결에는 영향이 없어 보이는데, 백준에 제출하면 틀린 답으로 나옵니다. 즉, 그래프를 양방향이 아닌 단방향으로 설정해도 문제 없지 않나요..?
호돌맨의 요절복통 개발쇼 시즌2 배포 준비(빌드) 강의를 듣고 있는데, 계속 오류가 생겨 질문 올립니다. 우선 ./gradlew clean으로 삭제한 뒤 ./gradlew build를 실행하면 이런 식으로 한글이 깨졌다는 에러가 나옵니다. 해결하고자 했던 방안 세팅 바꾸기 파일 인코딩 바꾸기 Help - EditCustom Vm Options 이런 방법을 써 봤으나 다 되지 않았고 이 코드를 build.gradle에 넣는 방식으로 해결했더니 build 후 libs 폴더가 생기지 않습니다. 그래서 이 부분을 true로 바꿔주면 plain snapshot만 생깁니다. 어떻게 해결해야 하나요? 밑 코드는 build.gradle 파일입니다. plugins { id 'java' id 'org.springframework.boot' version '2.5.9' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id "org.asciidoctor.jvm.convert" version "3.3.2" } group = 'com.reheat' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '11' } configurations { compileOnly { extendsFrom annotationProcessor } asciidoctorExt } repositories { mavenCentral() } ext { asciidocVersion = "2.0.6.RELEASE" snippetsDir = file('build/generated-snippets') } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-validation' testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1' testImplementation 'junit:junit:4.13.1' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //REST Docs asciidoctorExt "org.springframework.restdocs:spring-restdocs-asciidoctor:${asciidocVersion}" testImplementation "org.springframework.restdocs:spring-restdocs-mockmvc:${asciidocVersion}" } tasks.named('test') { useJUnitPlatform() } test { outputs.dir snippetsDir } asciidoctor { inputs.dir snippetsDir configurations 'asciidoctorExt' dependsOn test } bootJar { enabled = true dependsOn asciidoctor copy { from asciidoctor.outputDir into "src/main/resources/static/docs" } } jar{ enabled = true } tasks.withType(JavaCompile){ options.encoding = "UTF-8" }
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 등록 API를 할 때까지는 static에 에러가 없었는데 수정 API를 할 때에 static 부분 4군데에 다 해당 에러가 뜹니다. static이 있는 상태로는 해당 에러로 작동하지 않고 static을 지우고 작동을 시키면 작동을 하고 포스트맨에서 수정도 가능합니다. 여기서 궁금한 점은 1. 왜 이런 상황이 발생하는 지 2. static을 지우고 그냥 진행을 시켜도 문제가 없는지 에 대해서 알고 싶습니다.
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
안녕하세요 선생님. docker 주요 명령 익히기6(컨테이너 다루는 다양한 옵션) 8분:25초 에서 해당 이미지를 제하려고하면 하기와 같은 오류가 뜨면서 삭제가 안되는데, 조치할수있는 사항이 있을까요?.. ubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 4 4 305.5MB 0B (0%) Containers 11 1 28B 26B (92%) Local Volumes 0 0 0B 0B Build Cache 0 0 0B 0B ubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest b6548eacb063 12 days ago 77.8MB httpd alpine 489db2792d7f 13 days ago 59.3MB httpd latest a6ca7b52a415 3 weeks ago 168MB hello-world latest 9c7a54a9a43c 7 months ago 13.3kB ubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ docker rmi httpd:latest Error response from daemon: conflict: unable to remove repository reference "httpd:latest" (must force) - container 919738d198d7 is using its referenced image a6ca7b52a415 ubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ 감사합니다..
저는 앞으로 마블스냅 같은 게임을 1인개발로 만들어 출시해서 운영해보고 싶습니다. 그 목표를 이루는데에 있어서, 지금 이 강의가 도움이 될수있을까요? 게임 장르가 다르면 사용되는 기술이나 방법들이 많이 달라질수도 있는건가요? 이 강의를 들으면 오직 방치형, 리니지라이크 같은 종류의 게임들만을 만드는데만 도움이 되고 타 장르의 게임을 개발하는데는 별로 도움이 되지않는것인지 궁금합니다. 알려주세요.
본 강의의 데이터 에셋에서도 그렇고 언리얼에서는 uint8, uint16, uint32b 로 boolean 의 성질을 갖는 멤버를 자주 선언하던데, 혹시 어떤 차이가 있어서 이렇게 사용하는 걸까요? https://forums.unrealengine.com/t/difference-between-bool-and-uint32-1/362306 이쪽 포럼도 참고해 봤는데 의견이 분분하길래 한번 여쭤봅니다!
안녕하세요. 섹션7 의존관계 자동 주입 2번째 파트 옵션 처리 초반 에러코드 수정중에 아래와 같이 해결이 안되고 있습니다. package hello.core.member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository; @Autowired //ac.getBean(MemberRepository.class) public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } //테스트 용도 @Override public MemberRepository getMemberRepository() { return memberRepository; } } Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [/Users/kssk3-/Desktop/study/core/out/production/classes/hello/core/member/MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:802) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:241) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1356) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1193) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1442) at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:552) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) ... 17 more Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository at org.springframework.beans.factory.config.DependencyDescriptor.resolveNotUnique(DependencyDescriptor.java:218) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1418) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ... 41 more
탐색 위치와 기본 스캔 대상에 대해서 강의를 듣다고 궁금한게 생겨서 글을 남겼습니다 SpringBootApplication이 @ComponentScan을 가지고 있고 저희가 사용할려는 Config도 같은 위치에 있으면 굳이 @ComponentScan을 달아주지않아도 컴포넌트스캔은 동작하지않는거랑 만약에 같은 레벨의 위치에서 두개가 있다면 충돌이 발생할 것같은데 테스트 코드에서는 문제가없었습니다 혹시 그이유는 new AnnotationConfigApplicationContext(AutoAppConfig.class); 위의 코드처럼 AutoAppConfig.class라고 지정해서 일까요?? 그러면 이경우에는 CoreApplication은 사용되지않고 AutoAppConfig만 사용해서 동작하는 걸까요?
jpashop 프로젝트에서 OrderRepository를 criteria 부분은 스프링데이터jpa로 바꿔보려하는데 @Query(“select o from Order o join o.member m) List<Order> findByMemberName(); 이렇게 작성한다면 Order를 멤버 이름으로 조회 할 수 있을까요??
안녕하세요, 회사에서 화이트리스트에서 특정 웹 사이트를 추가해야해서 IP로 화이트리스트에 추가해야한다고 했을 때, 로드밸런서나 어떤 방법(컨테이너 서비스 등)으로 상대방의 웹 사이트에 접속할 때마다 IP가 바뀌어 화이트 리스트가 제대로 작동하지 않는 경우는 어떻게 해야 하나요? 일일이 생기는 IP를 모두 화이트리스트에 등록을 해야하는지요? 고맙습니다.
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
40번째 ~ 46번째 라인인 시프트 레지스터 구현을 Concat syntax 사용해서 구현하셨는데 매 cycle 마다 shift left 된다고 하셨습니다. 그런데 구현하신 시프트 레지스터는 Right shift register로 보이는것 같아서요. 벡터값이 3 2 1 0 이런식으로 가서 shift left 된다고 표현하신건가요 ?? 물리적인 배치와 시뮬레이션 값이랑 잘 매칭이 안되고 있습니다 ㅠㅠ 해당 사진의 출처는 HDLBits Exams/m2014 q4k 이고 문제의 솔루션도 맛비님이 제공해주신 14강 실습 파일과 동일한 로직을 가지고 있습니다. 즉 질문하고 싶은것은 Shift left가 아니라 Shift right가 맞지 않나요 ??레지스터를 어떻게 배치하냐에 따라서 Right left 다르게 할 수 있나요?? 라고 조심스럽게 질문드려봅니다..
기존 스프링 빈 방식으로 등록을 하면 등록해야 할 스프링 빈이 수십,수백개가 되어 일일이 등록하기가 귀찮고, 설정 정보도 커지고 누락하는 문제가 발생하여 컴포넌트 방식을 사용한다고 배웠습니다. 그런데 컴포넌트 방식도 사용하려고 하면 @Component와 의존 관계 주입인 @Autowired를 넣어줘야 하는데, 동일한 문제가 발생하는게 아닌지 궁금합니다. 2.excludeFilters로 @Configuration 어노테이션이 붙은 클래스를 제거해주고 있는데, 앞서 정의했던 AppConfig 때문인가요? 만약 AppConfig가 없다고 가정하면 excludeFilters를 굳이 삽입하지 않아도 되는지 궁금합니다. @Autowired 과정이 getBean(MemberRepository.class)와 동일하다고 하는데, 이해가 가지 않습니다. 필터 부분 코드가 전체적으로 이해가 가지 않습니다. package hello.core.scan.filter; import java.lang.annotation.*; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface MyIncludeComponent { } 여기서 target,retention,documented가 어떤 역할을 하는건가요? package hello.core.scan.filter; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.context.annotation.ComponentScan.Filter; public class ComponentFilterAppConfigTest { @Test void filterScan() { ApplicationContext ac = new AnnotationConfigApplicationContext(ComponentFilterAppConfig.class); BeanA beanA = ac.getBean("beanA", BeanA.class); assertThat(beanA).isNotNull(); Assertions.assertThrows( NoSuchBeanDefinitionException.class, () -> ac.getBean("beanB", BeanB.class)); } @Configuration @ComponentScan( includeFilters = @Filter(type = FilterType.ANNOTATION, classes = MyIncludeComponent.class), excludeFilters = @Filter(type = FilterType.ANNOTATION, classes = MyExcludeComponent.class) ) static class ComponentFilterAppConfig { } } 여기서도 beanA가 왜 추가되고, beanB가 왜 포함되지 않는지 궁금합니다.