묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
notifyAll 이 더 선호되는 이유에 대한 조금 더 detail 한 설명 요청드립니다.
안녕하세요 선생님, 질문이 있어서 글 올립니다.[스레드 간 협력 - wait() & notify() 강의 - 6:23 ] 즈음에"notifyAll 이 더 선호된다"... 라고 했는데, 제가 뭘 놓친 걸 수도 있지만, 잘 이해가 안됩니다. 왜 notfiyAll 이 선호되는지에 대한 핵심적인 이유를 알려주실 수 있을까요?
-
해결됨스프링 핵심 원리 - 기본편
의존관계 자동주입 - 조회 빈이 2개 이상일 경우에 궁금증이 있습니다.
@Autowired 필드 명, @Qualifier, @Primary 강의 부분에서 궁금한 점이 생겼습니다.결국에 조회 빈이 2개 이상인 경우엔 위의 어노테이션을 활용해서 우선순위를 지정해준다고 되어있는데,필드명을 수정해주거나, Qualifier의 이름을 변경해야하는 상황이 생긴다면( ex) OrderServiceImpl의 discountPolicy를 fixDiscountPolicy 에서 rateDiscountPolicy 로 할인 정책을 변경하고 싶다면)직접 구현체들(클라이언트 코드)을 수정해줘야하는데( ex) Autowired 된 DiscountPolicy의 변수명을 수정하거나, @Qualifier의 이름을 수정해서)이는 OCP 원칙에서 위배되는 것은 아닌지 궁금합니다. 나아가 이런식으로 실제 구현체를 수정해줘야하는 것이라면 discountPolicy 의 타입명만 DiscountPolicy일 뿐이지, 타입명 자체를 FixDiscountPolicy 로 지정하거나 RateDiscountPolicy로 지정해서 사용하는 DIP 위반하는 코드들과 무슨 차이인지 잘 모르겠습니다. 순수 자바 코드 자체는 해당 원칙들을 지키고 있는 것이니까 상관없는것인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
model 및 BindingResult을 사용할 때
model이랑 BindingReulst로 오류처리 하는 부분을 뷰로 넘겨주는 로직에 관해서 질문입니다. 지금은 타임리프를 사용해서 model 등을 값을 받아서 화면에 출력하는데 사용을 하지만 나중에 프론트 프레임워크를 사용하는 경우 해당 검증 방법을 그대로 쓸 수 있나요?? 보통 json형태로 값을 보내주는 걸로 알고 있는데 그 경우 검증 로직은 프론트 단에서 하게 되는지 궁금합니다.
-
해결됨CUDA 프로그래밍 (4) - C/C++/GPU 병렬 컴퓨팅 - 행렬 matrix 곱하기
kernelMatCpy에서는 __syncthreads가 필요없지 않나요
제목 그대로 kernelMatCpy에서는 각 스레드 작업이 다른 스레드에 영향을 주지 않기 때문에 필요없을 것 같은데요. 실제로 __stncthreads()를 제거하고 돌려봐도 정상적으로 결과가 나오구요.혹시 이런 경우라도 내부적으로 꼬일 수 있어서 사용하신 것인지 아니면 대부분의 shared memory로 복사해서 쓰는 경우에 필요하기 때문에 습관(?)차원에서 사용하신 것인지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
질문있습니다
package hello.core.beanfind; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.NoUniqueBeanDefinitionException; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; public class ApplicationContextExtendsFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class); @Test @DisplayName("부모 타입으로 조회 시, 자식이 둘 이상 있으면, 중복 오류가 발생한다.") void findBeanByParentTypeDuplicate(){ assertThrows(NoUniqueBeanDefinitionException.class,()->ac.getBean(DiscountPolicy.class)); } @Test @DisplayName("부모 타입으로 조회 시, 자식이 둘 이상 있으면, 빈 이름 지정하면 된다.") void findBeanByParentTypeBeanName(){ DiscountPolicy rateDiscountPolicy=ac.getBean("rateDiscountPolicy",DiscountPolicy.class); assertThat(rateDiscountPolicy).isInstanceOf(RateDiscountPolicy.class); } @Test @DisplayName("특정 하위 타입으로 조회") void findBeanBySubType(){ RateDiscountPolicy bean=ac.getBean(RateDiscountPolicy.class); assertThat(bean).isInstanceOf(RateDiscountPolicy.class); } @Test @DisplayName("부모 타입으로 모두 조회하기") void findAllBeanByParentType(){ Map<String,DiscountPolicy> beansOfType=ac.getBeansOfType(DiscountPolicy.class); assertThat(beansOfType).isEqualTo(2); for (String key : beansOfType.keySet()) { System.out.println("key= "+key+"value="+beansOfType.get(key)); } } @Test @DisplayName("부모 타입으로 모두 조회하기-Object") void findAllBeanByObjectType(){ Map<String,Object> beansOfType=ac.getBeansOfType(Object.class); for(String key:beansOfType.keySet()){ System.out.println("key = "+key +"value="+beansOfType.get(key)); } } @Configuration static class TestConfig{ @Bean public DiscountPolicy rateDiscountPolicy(){ return new RateDiscountPolicy(); } @Bean public DiscountPolicy fixDiscountPolicy(){ return new FixDiscountPolicy(); } } }여기서assertThrows(NoUniqueBeanDefinitionException.class,()->ac.getBean(DiscountPolicy.class)); 이 부분이 왜 부모 타입으로 조회하는 건지 이해가 안갑니다. 상속을 한 적도 없고 그냥 타입을 넣어줬을 뿐인데 말이죠..ㅠ
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
궁금한게 생겨서 질문해요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]여기에 질문 내용을 남겨주세요. 컴퓨터에 IP주소를 부여받고, 웹을 실행하였을 때, 크롬으로 웹 페이지를 2개 생성했을 때에는 프로세스가 1개인건가요? 2개인건가요? 하나의 프로세스 안에 포트번호가 1개가 부여된다고 하셨는데, 그렇다면 동시에 화상으로 이야기하면서 채팅을 한다면 하나의 웹 페이지 안에 두개의 포트번호가 부여된다는건가요??화상으로 오는 패킷 정보와 채팅으로 오는 패킷 정보 이렇게 두개요! 다시 복습하면서 공부하고 있는데, 궁금해서 질문합니다!
-
미해결자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
사용자 스레드 vs 데몬 스레드 강의에서요
메인스레드는 어플리케이션을 실행하는 최초의 스레드이자 어플리케이션 실행을 완료하는 마지막 스레드의 역할을 한다 고 되어있는데제공해주신 예제 코드 chaper02 의 exam02 MultiThreadAppTerminatedExample 를 실행 시켜보면 메인스레드 종료가 먼저 출력 된뒤 다른 스레드들이 실행 중 이라고 출력 됩니다.그러면 예제 코드에서 System.out.println("메인 스레드 종료"); 가 호출 된 뒤 실제로는 메인 쓰레드가 종료되지는 않고다른 스레드들이 다 종료 될 때 까지 대기 중인 상태 인가요?
-
미해결홍정모의 따라하며 배우는 C++
namespace 관련 질문
결과값은 잘 나오는데 컴파일 관련 오류가 있는 것 같습니다해결방법 알 수 있을까요??
-
미해결
packet tracer, STP convergence time 변경
STP convergence time 을 변경하는 중(정확히는 BPDU의 hello time을 2초 -> 1초로 변경하고 싶습니다.) 이해할 수 없는 오류가 발생해서 질문 글을 써봅니다.https://peemangit.tistory.com/29여러 글을 참조했지만, 대부분 비슷한 내용이었던지라 그 중 하나의 링크만 올립니다. 요약하자면 root bridge에서의Switch(config)#spanning-tree vlan 1 hello-time 3명령어가 실행이 되지 않습니다. 다음의 사진은 오류가 발생했을 때의 모습입니다.설정이 잘못됐다든지의 오류가 아니라 hello-time 이라는 키워드가 없다는 식의 오류가 발생하니 고칠 방법을 찾지 못하고 답답해하고만 있는 상황입니다. 어디가 잘못된 걸까요?(현재 저 CLI는 show spanning-tree 명령어를 사용해서 This bridge is the root bridge 라는 문구를 확인한 상태의 확실한 root bridge의 것입니다.)
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
오류는 안뜨는데 테이블 생성이 안됩니다.
H2랑 연결이 안되는건지..오류는 안뜨는데 member 테이블이 생성이 안됩니다..설정 이것저것 만져보기도하고 자바도 17로 변경했고, PDF에 변경된 사항 다 확인하고 등등 해봤는데 모르겠습니다.테스트부터 문제가 발생해서 진도가 안나갑니다.... 아래는 제가 코딩한 파일 링크입니다. ㅠㅠ https://drive.google.com/file/d/1fAVZQQ-mag2_oRpXDGhaWIpw4UFC9c-T/view?usp=sharing
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
[hibernate 6] custom 함수 등록 방법 공유
Hibernate 6에서는 강의에서 처럼 Dialect를 통한 함수 등록이 불가능합니다.https://start.spring.io/로 Spring Boot 3버전으로 만드신 분들은 문제를 겪으실 거라고 생각합니다. 등록법FunctionContributer의 구현체를 만들어 준다.package custom; import org.hibernate.boot.model.FunctionContributions; import org.hibernate.boot.model.FunctionContributor; import org.hibernate.dialect.function.StandardSQLFunction; import org.hibernate.type.StandardBasicTypes; public class CustomFunctionContributor implements FunctionContributor { @Override public void contributeFunctions(FunctionContributions functionContributions) { functionContributions.getFunctionRegistry() .register("group_concat", new StandardSQLFunction("group_concat", StandardBasicTypes.STRING)); } } src/main/resources/META-INF/services/org.hibernate.boot.model.FunctionContributor파일을 생성한다.해당 파일에 직접 구현한 CustomFunctionContributor를 등록한다. 패키지명.컨트리뷰터이름 형태로 등록!!custom.CustomFunctionContributor이렇게 하시면, 강의에서처럼 group_concat함수를 사용하실 수 있습니다. Dialect는 변경 안하셔도 됩니다. referencehttps://aregall.tech/hibernate-6-custom-functions
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문말고 요청입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]수업이 주로 타임리프로 진행이되어 백엔드단에서 model이나 modelattribute를 많이사용하시는데요! 요새는 주로 템플릿엔진대신 spa를 많이사용하는걸고알고있습니다 혹시 강의에 중간중간 그럴경우에 어떤파라미터를 써야하는지 아니면 다른 방법을얗야하는지 혹은 별도 섹션 강의로 만들어주시면 좋은것 같습니다!
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
C++이랑 언리얼 방향성
유니티는 딱 정해져있으니까 게임개발시리즈 쭉 공부하다가 실전프로젝트 섞어서 하면 되겠다 하는 방향이 보이는데 언리얼은 올인원, UE5시리즈, MMORPG시리즈 셋다 입문이고 이래서...짜여져있는 로드맵이 없다보니 정하기가 어려워요 ㅠ그래서 혼자 뭘 우선으로 해야할지 고민하다가 물어보는게 좋을거같아서 질문드립니다.강사님 강의로 언리얼 블루프린트로 입문해서 C++ 배우는 식으로 가는 로드맵을 만든다면올인원 -> 입문자를 위한 UE5시리즈 -> C++과 언리얼로 만드는 MMORPG게임개발시리즈 -> C++20, DX11입문올인원으로 한번 슥 확인하고 입문자를 위한 UE5 시리즈보고 C++과 언리얼로 만드는 MMORPG시리즈로 넘어가서 C++ 좀더 심층적으로 하고 C++20 훑어보기랑 DX11 입문으로 넘어가는 식으로..방향을 잡으면 될까요??
-
미해결웰컴 투 태블로 월드
태블로 데스크탑에서 대용량데이터연결 문의드립니다
태블로 데스크탑에서 데이터 연결 질문입니다. 태블로 데스크탑으로 Hive쿼리를통해서 row count 기준 1억 줄 정도 되는 데이터를 연결 하니 매번 데이터를 읽는것만 1시간이 걸리는데요. 혹시 대시보드를 퍼블리시(게시) 전 에는 1만줄 정도만 읽고, 퍼블리시(게시) 할 때는 1억줄 읽는다던지 이런 옵션이 별도로 있을까요?데이터 저장 방법 지정 추출할 데이터의 양 지정에서 샘플 1만줄만 나오도록 해서 대시보드작성하고 그리고 게시 후에태블로웹으로 가서 샘플 1만줄 해제하고 게시하면 될까하는 생각이 들기는 합니다.
-
해결됨실전! Redis 활용
외부 클라이언트에서 도커 redis-stack-server 접속 시, 블룸필터 명령어가 없다고 합니다.
도커 컨테이너 > 레디스 서버 내에서 redis-cli 실행 후, BF.MADD 명령어를 실행하면, 아래와 같이 잘 실행됩니다.그러나, 외부(JDBC) 커낵션을 통한 접속에서는이처럼 명령 실행을 전혀 할 수가 없습니다.(BF.XX 명령어를 제외하고, 이전 강의내용의 명령어는 잘 실행됩니다)이걸 해결해보려 시도해본 것은 아래와 같습니다.docker-compose.yml 볼륨마운팅 설정/redis-stack.conf 파일 내용의 변경 부분:bind 0.0.0.0protected-mode nodocker-compose.yml 내용입니다.version: "3.8" services: redis: image: redis/redis-stack-server hostname: redis container_name: redis-stack-server command: /entrypoint.sh ports: - "6379:6379" volumes: - ../redis/conf/7.2.conf:/redis-stack.conf restart: always networks: - redis-network networks: redis-network: driver: bridge외부접속에서 명령 실행을 막는 기능을 어떻게 해제할 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew build 시 오류입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]사진과 같이 intelliJ 에서 JDK는 17로 맞춰놓았습니다.그래서 빌드도 성공적으로 잘됩니다. 하지만 빌드 후, 제 로컬환경에서CMD에서위와같이 gradlew 입력시 ,아래와같은 오류가 뜹니다 ㅠ어떻게 해결할 수 있을까요?검색해서 해보라는 조치는 다해본상태입니다 ㅠ
-
해결됨언리얼로 만드는 게임사운드 - 중.고급 과정
따로 궁금한 점이 있으면 이메일로 문의드려도 될까요?
강의 잘 보고있습니다!따로 궁금한 점이 있어서 그러는데 이메일로 문의드리면 될까요?
-
해결됨8명의 비전공자는 어떻게 개발자로 취업했을까
추가 질문 남겨 봅니다...
앨런님 추가로 여쭤보고 싶은게 있어서 추가 질문 남겨 드립니다...저는 비전공자이고 이제 개발 공부를 시작한지 한달정도 되어가는데요강의에서 문법과정이 2주~1개월 정도라고 하셨는데 지금 제가 HTML,CSS,Javascript를 빠르게 한번정도 훑은 상태인데요...(자바스크립트는 너무 빠르게 속성으로 해서 모르는 부분이 많습니다)그런데 제가 생각했을때 자바스크립트라는 언어가 프론트엔드에서 차지하는 중요도가 워낙 크기도 하고 성격상 내용이 납득이 안되면 잘 못넘어가는것도 있어서 일주일 전부터 자바스크립트 책을 사서 꼼꼼히 보고 있는데요...아마 제 계획상으로는 이 책을 어느정도 보고 프레임워크를 하려면 문법과정을 1개월이 아니라 2개월 정도는 가져야 할 것 같은데2개월이 걸리더라도 자바스크립트는 한번은 제대로 하고 넘어가는것이 좋을까요??아니면 이미 한번 훑은 상태이긴하니 프레임워크를 하면서 자바스크립트 책을 병행하는 식으로 하는게 좋을까요?? 아! 그리고 제가 지금 자바스크립트를 공부하고 있는 책이 자바스크립트 Deep Dive 라는 책인데 두께도 두껍고 내용도 꽤 자세한 책인데요 이 책이 좋긴한데 실무에서 사용하지 않는 내용이 꽤 있다는 후기들이 있는 책인데 저는 실제로 쓰이진 않더라도 기초는 확실히 제대로 잡고 가야 나중에 고생 안한다는 생각으로 고른 책인데요... 실제로 개발자로 취업해서 실무를 하는데 필요없는 기초를 공부하는건 시간 낭비일까요?? 다른사람들의 그런 후기 보면 다른책으로 바꿔야 하나 계속 고민이 되네요...
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
스프링 고급편 까지 촬영하고 JPA강의 찍으신거아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 얼마전에 결제했는데 jpa강의가 2019년이전에 만들어진거같은데... 이거 최신판맞나요? 스프링 고급편까지 듣고 다시 jpa결제해서듣는데... 분명히 스프링편에서는 고급편 후에 jpa강의 찍으신다고 하셨던거같은데
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Sprint 3-4까지의 전체 내용도 따로 구매를 안해도 이 강의에 업데이트가 되는 건가요?
Section 3-4에는 Sprint 2라고 되어 있어 궁금해서 질문드립니다.