묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결누구나 할 수 있는 안드로이드 앱 개발 - 2 (Kotlin)
2-2 목표달성앱 Realm 설정 관련
설정 관련 잘 안되어서 메일 보냈습니다.asdsad8664@naver.com
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시 객체와 영속성 컨텍스트
강의 내용과 PPT를 봤을 때는 프록시 객체가 영속성 컨텍스트에 저장되지 않는 것으로 느껴졌는데, 찾아보니 프록시 객체도 영속성 컨텍스트에 저장되더라고요. 만약, 같은 PK값을 가진 프록시 객체와 엔티티 객체가 모두 영속성 컨텍스트에 존재하는 상황이라면 어떤 모습으로 각각이 존재하게 될지 알 수 있을까요. PDF의 도식으로 개념을 구조화했는데 이 상황은 잘 그려지지 않아 질문드립니다.
-
미해결스프링 핵심 원리 - 기본편
AnnotationConfigApplicationContext 다형성
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]강의 내용에서 MemberApp과 OrderApp에는 다음과 같이 // MemberApp.javapackage hello.core; import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class MemberApp { public static void main(String[] args) { // AppConfig appConfig = new AppConfig(); // MemberService memberService = appConfig.memberService(); ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = applicationContext.getBean("memberService", MemberService.class); Member member = new Member(1L, "memberA", Grade.VIP); memberService.join(member); Member findMember = memberService.findMember(1L); System.out.println("new member = " + member.getName()); System.out.println("find Member = " + findMember.getName()); } } // OrderApp.javapackage hello.core; import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.order.Order; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class OrderApp { public static void main(String[] args) { // AppConfig appConfig = new AppConfig(); // MemberService memberService = appConfig.memberService(); // OrderService orderService = appConfig.orderService(); ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = applicationContext.getBean("memberService", MemberService.class); OrderService orderService = applicationContext.getBean("orderService", OrderService.class); Long memberId = 1L; Member member = new Member(memberId, "memberA", Grade.VIP); memberService.join(member); Order order = orderService.createOrder(memberId, "itemA", 20000); System.out.println("order = " + order); System.out.println("order.calculatePrice() = " + order.calculatePrice()); } } applicationContext를 생성할 때 그 자료형을 ApplicationContext란 Interface로 선언했는데 왜 ApplicationContextInfoTest에서는 ac의 자료형을 AnnotationConfigApplicationContext으로 하신거죠? // ApplicationContextInfoTest.javapackage hello.core.beanfind; import hello.core.AppConfig; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class ApplicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("모든 빈 출력하기") void findAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = " + beanDefinitionName + " object = " + bean); } } @Test @DisplayName("애플리케이션 빈 출력하기") void findApplicationBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); } } } 그리고 ac의 자료형을 ApplicationContext 로 했을 때는 findApplicationBean 메서드의 ac.getBeanDefinition이 사용할 수 없다고 나오는데 AnnotationConfigApplicationContext으로 선언했을 때는 사용할 수 있는데 그 이유가 뭔지 궁금합니다.
-
미해결실리콘밸리 엔지니어와 함께하는 테라폼(Terraform)
tfstate 관리 시 dynamodb 사용 관련 질문
tfstate 관리 시 S3 버저닝을 했을 때, dynamo db를 사용하지 않아도 버지닝이 되니 굳이 사용하지 않아도 되지 않을까요 ?
-
미해결확률과 통계 기초
6.1 두 독립인 정규분포의합
독립인 정규분포의 합이 평균 분산 모두 두개의 합인 새로운정규분포가 된다는걸 MGF로 증명해주셨는데그것말고 평균은 선형성으로 더할수있고 분산도 독립이라면 V(X1+X2) = V(X1)+V(X2)이렇게 증명하는건 틀린건가요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
watch 함수 실습
해당 강의의 App_multiple_source_type.vue 소스에서 다양한 watch 함수들 주석을 풀어가며 실습 중인데, 강사님은 소스 입력 후 저장하면 바로 웹에 적용되어 vue 개발자도구에서 데이터 변경을 하시는데 저는 watch 함수 하나 실습 후 다른 watch 함수 주석 풀어서 테스트하면 웹에서 새로 고침을 했는데도 불구하고 데이터 변경이 안되요ㅠ... 따로 이유가 있을까요?? vite.config.js 에 server: watch: usePolling 도 설정해둔 상태입니다.
-
미해결PWA 시작하기 - 웹 기술로 앱을 만들자
권한 부탁드립니다.
인프런 아이디 : kj94gakt@naver.com인프런 이메일 : kj94gakt@naver.com깃헙 아이디 : shdong@tanso.life깃헙 Username : seunghyeonD
-
미해결모바일 웹 퍼블리싱 포트폴리오 with Figma
display flex 질문,,
안녕하세요 ! gnb부분 하다가 헷갈리는게 있어서요 ..gnb 부분엔 flex를 줘서 가로배치 1/5한 건 이해했는데,.gnb a 위아래 여백이 남았어서 그 여백을 없애려면.gnb a에 display : flex를 주어야한다고 하셨는데왜 flex를 주면 위아래 여백이 사라지고 딱 맞게 배치가 되는건지 이해가 잘 안가서요 ㅠ..!말로 설명이 가능하실까 모르겠지만 일단 남겨봅니다!
-
미해결실리콘밸리 엔지니어와 함께하는 테라폼(Terraform)
subnet 생성을 terraform으로 하는게 괜찮을지 고민입니다.
resource "aws_instance" "web" { ami = data.aws_ami.ubuntu.id instance_type = "t2.micro" tags = { name = "MyEc2" } depends_on = [aws_default_subnet.default_az1] } resource "aws_default_subnet" "default_az1" { availability_zone = "us-west-2a" tags = { Name = "Default subnet for us-west-2a" } }aws default subnet을 지정해주는 terraform resource가 있는 것 같은데 정상동작했어요 ! 이런 방법은 어떤가요 ? aws cli를 따로 사용해야하니 왠지 terraform에 종속성이 생긴 느낌이들어서요
-
해결됨홍정모의 따라하며 배우는 C++
(과제스포)제가 과제를 똑바로 이해했는지 궁금합니다.
#include<chrono> #include<iostream> #include<mutex> #include<random> #include<thread> #include<utility> #include<vector> #include<atomic> #include<future> #include<numeric> #include<execution> using namespace std; mutex mtx; void dotProductDQThread(const vector<int>& v0, const vector<int>& v1, const unsigned i_start, const unsigned i_end, unsigned long long& sum) { int sum_tmp = 0; //local sum for (unsigned i = i_start; i < i_end; ++i) { sum_tmp += v0[i] * v1[i]; } sum += sum_tmp; } void dotProductProm(const vector<int>& v0, const vector<int>& v1, const unsigned i_start, const unsigned i_end, promise<unsigned long long>&& sum) { int sum_tmp = 0; //local sum for (unsigned i = i_start; i < i_end; ++i) { sum_tmp += v0[i] * v1[i]; } sum.set_value(sum_tmp); } int main() { /*v0 = { 1,2,3 }; v1 = { 4,5,6 }; v0_dot = 1 * 4 + 2 * 5 + 3 * 6;*/ const long long n_data = 100'000'000; const unsigned n_threads = 4; //initialize vectors std::vector<int> v0, v1; v0.reserve(n_data); v1.reserve(n_data); random_device seed; mt19937 engine(seed()); uniform_int_distribution<> uniformDist(1, 10); //v0와 v1에 값 무작위로 넣어줌 for (long long i = 0; i < n_data; ++i) { v0.push_back(uniformDist(engine)); v1.push_back(uniformDist(engine)); //cout << v0[i] << "\t" << v1[i] << endl; } cout << "std::inner_product" << endl; { const auto sta = chrono::steady_clock::now(); const auto sum = std::inner_product(v0.begin(), v0.end(), v1.begin(), 0ull);//0ull = unsigned longlong 0 const chrono::duration<double> dur = chrono::steady_clock::now() - sta; cout << dur.count() << endl; cout << sum << endl; cout << endl; } //TODO: use divde and conquer strategy for std::thread cout << "TODO: use divde and conquer strategy for std::thread" << endl; { const auto sta = chrono::steady_clock::now(); unsigned long long sum = 0; vector<thread> threads; threads.resize(n_threads); const unsigned n_per_thread = n_data / n_threads; for (unsigned t = 0; t < n_threads; ++t) threads[t] = std::thread(dotProductDQThread, std::ref(v0), std::ref(v1), t * n_per_thread, (t + 1) * n_per_thread, std::ref(sum)); for (unsigned t = 0; t < n_threads; ++t) threads[t].join(); const chrono::duration<double> dur = chrono::steady_clock::now() - sta; cout << dur.count() << endl; cout << sum << endl; cout << endl; } //TODO: use promise cout << "TODO: use promise" << endl; { const auto sta = chrono::steady_clock::now(); //std::promise<unsigned long long> sum; auto sum = 0ull; vector<thread> threads; vector<future<unsigned long long>> futures; vector<promise<unsigned long long>> proms; threads.resize(n_threads); futures.resize(n_threads); proms.resize(n_threads); const unsigned n_per_thread = n_data / n_threads; for (unsigned t = 0; t < n_threads; ++t) { futures[t] = proms[t].get_future(); threads[t] = std::thread(dotProductProm, std::ref(v0), std::ref(v1), t * n_per_thread, (t + 1) * n_per_thread, std::move(proms[t])); } for (unsigned t = 0; t < n_threads; ++t) { threads[t].join(); sum += futures[t].get(); } const chrono::duration<double> dur = chrono::steady_clock::now() - sta; cout << dur.count() << endl; cout << sum << endl; cout << endl; } }결과는 제대로 나오지만, 제가 과제를 똑바로 이해했는지 궁금해서 여쭤봅니다.과제1: use divde and conquer strategy for std::thread쓰레드에 sum에 local sum값을 넣어 race condition 해결과제2: prom 사용해보기sum 변수 선언 및 thread, promise, future 모두 쓰레드 크기 만큼의 vector로 만들어줬습니다. 병렬 처리 후 future값을 sum에 더해줬습니다.※추가 궁금증promise 과제 중, std::ref와 std::move 둘 다 해보았습니다. 두 경우 모두 정상 작동하였는데, 어떤 방법을 가장 추천하시나요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
다시 질문 드립니다 ㅠㅠ CSS 키프레임 애니메이션 활용한 실전 예제 제작 01(원형 크기 변경 로딩 애니메이션)
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>도형 로딩 애니메이션</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="loading"> <span></span> <span></span> <span></span> </div> </body> </html> /* Google Web Font */ @import url('http://fonts.googleapis.com/css?family=Raleway&display=swap'); body { font-family: 'Raleway', sans-serif; line-height: 1.5em; margin: 0; font-weight: 300; display: inline; justify-content: center; align-items: center; height: 100vh; } a { text-decoration: none; } .loading {} .loading span { display: inline-block; width: 20px; height: 20px; background-color: gray; border-radius: 50%; animation: loading 1s linear infinite; } .loading span:nth-child(1) { animation-duration: 0s; background-color:crimson; } .loading span:nth-child(2) { animation-duration: 0.2s; background-color:dodgerblue; } .loading span:nth-child(3) { animation-duration: 0.4s; background-color:royalblue; } @keyframes loading { 0% { opacity: 0; transform: scale(0.5); } 50% { opacity: 1; transform: scale(0.5); } 100% { opacity: 0; transform: scale(0.5); } }이렇게 작성했는데 go live 화면에선 이렇게 뜨고 애니메이션이 안나와요.. ㅠㅠ 뭐가 문제일까요??? 몇주동안 안되요..
-
미해결처음 만난 리덕스(Redux)
강의자료문의
ppt 강의 자료는 어디서 받을 수 있나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터의 afterCompletion에서는 예외를 처리해주진 못하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]afterCompletion 구현 코드 결과 화면사진과 같이 afterCompletion()에서 예외 처리 부분에 response.sendError(200)을 해도 예외가 500으로 나가는 걸 확인할 수 있었습니다.@ControllerAdvice 어노테이션을 지정한 클래스 및 제가 구현한 ExceptionResolver들은 전부 주석처리 하여서 HandlerExceptionResolver 단계에서 예외 처리 실패했으니 500 Internal Error이 나가는 것은 맞지만,최종적인 단계에서 필터링 해주는 인터셉터인 afterCompletion()에서 sendError()을 지정하면 WAS는 지정된 상태 코드의 예외 처리를 해줘야하지 않나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 가입 run 했을 시 DB 저장 안돼요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영상 속 6분 20초경 @Transactional을 주석 처리 한 후 회원가입 run 했을 시 DB에 데이터가 들어가지 않습니다
-
해결됨스프링 핵심 원리 - 기본편
store에 static을 사용하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]OrderServiceTest에서 NullPointerException 오류가 나서 찾아보니 MemoryMeberRepository의 store에 static이 빠져서 오류가 났었더라고요.store에 static을 붙이는 이유와 붙이지 않으면 NullPointerException이 발생하는 이유가 궁금합니다.
-
미해결확률과 통계 기초
6.1 유니폼분포 MGF로 평균구하기
M' =My(s) - My(0) / s = exp(sb) - exp(sa) -1 /(s^2*(b-a) 이걸 어떻게 분리해서 미분값이 나오는지 모르겠습니다.. 분모텀에 0이 두개인걸 처리못하겠는데 풀이알려주시면 감사하겠습니다..
-
미해결Next + React Query로 SNS 서비스 만들기
처음에 패키지 생성만 해도 콘솔에 뜨는 오류가 있던데 이게 뭔가요? Extra attributes from the server
app-index.js:35 Warning: Extra attributes from the server: class at html at RedirectErrorBoundary (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/redirect-boundary.js:73:9) at RedirectBoundary (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/redirect-boundary.js:81:11) at NotFoundErrorBoundary (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js:76:9) at NotFoundBoundary (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js:84:11) at DevRootNotFoundBoundary (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/dev-root-not-found-boundary.js:33:11) at ReactDevOverlay (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js:84:9) at HotReload (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js:307:11) at Router (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js:182:11) at ErrorBoundaryHandler (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js:114:9) at ErrorBoundary (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js:161:11) at AppRouter (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js:538:13) at ServerRoot (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-index.js:129:11) at RSCComponent at Root (webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-index.js:145:11)프레임 1개 더 표시 패키지 생성만 했는데 콘솔에 찍히는 오류가 있던데그냥 로컬에서 실행해서 뜨는 오류인건가요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
도형 로딩 애니메이션 질문입니다
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>도형 로딩 애니메이션</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="loading"> <span></span> <span></span> <span></span> </div> </body> </html>/* Google Web Font */ @import url('http://fonts.googleapis.com/css?family=Raleway&display=swap'); body { font-family: 'Raleway', sans-serif; line-height: 1.5em; margin: 0; font-weight: 300; display: flex; justify-content: center; align-items: center; height: 100vh; } a { text-decoration: none; } .loading {} .loading span { display: inline-block; width: 20px; height: 20px; background-color: gray; } .loading span:nth-child(1) {} .loading span:nth-child(2) {} .loading span:nth-child(3) {} 지금 이 상태인데 화면에 아무것도 나타나지 않습니다. 이렇게 뜨는데 뭐가 문제일까요?
-
미해결쉽게 시작하는 쿠버네티스(v1.25)
실습환경 세팅 오류
실습 환경 구성중에 있는데요.vagrant up 진행시 아래와 같은 오류가 발생합니다.failure: repodata/repomd.xml from kubernetes: [Errno 256] No more mirrors to try. m-k8s-1.25.0: https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found m-k8s-1.25.0: /tmp/vagrant-shell: line 21: /etc/containerd/config.toml: No such file or directory m-k8s-1.25.0: Failed to execute operation: No such file or directory m-k8s-1.25.0: Failed to execute operation: No such file or directory m-k8s-1.25.0: Failed to execute operation: No such file or directoryThe SSH command responded with a non-zero exit status. Vagrantassumes that this means the command failed. The output for this commandshould be in the log above. Please read the output to determine whatwent wrong. 또한 OVA를 찾을수가 없는데요 어디서 확인가능할까요?..공유되는 자료가 한번에 확인할 수 있는곳이 없어 불편한거 같습니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
Ram의 기능
강의 제목 : RAM의 특징과 종류 예전에 초반 강의에선RAM을 현재 실행하고있는 프로그램 즉, 프로세스의 데이터와 명령어를 저장한다고 들었습니다. 근데 여기 강의에서는 RAM은 CPU가 실행할 데이터를 저장하는 공간이라고 하셧는데 그럼 RAM은 현재 실행하고있는 데이터와 명령어를 저장하는 기능과 실행"할" 데이터와 명령어를 저장하는 기능 두가지가 있는건가요?