묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결홍정모의 따라하며 배우는 C++
클래스와 구조체의 이름에 대한 질문
진짜 이건 왠만해선 질문글 안올릴려고 했는데.. 인터넷이랑 스택 오버플로우를 뒤져봐도 명쾌한 해답을 못찾아서 그런데요, 구조체 나 클래스를 선언한 변수 이름은 무얼 가르키는건가요? 주소값으로 출력해서 보면 주소값처럼 생긴 무엇인가 나오긴 합니다만... 이게 어떤걸 나타 내는건지 도통 알수가 없네요. 궁금합니다.
-
해결됨14일만에 배우는 ASP.NET CORE
2019 비주얼스튜디오 쓰고있습니다. 아무리 찾아봐도 c# 기반 mvc가 없습니다.
3강 mvc에서 막혔습니다. 아무리 찾아봐도 f# 기반 만 있네요 c#이 없습니다. 아래 질문 처럼 정말 환경설정 강의가 하나 필요할 것 같습니다. 설치 해야되는 플랫폼을 2019버전으로 알려주시길 바랍니다.
-
미해결스프링 핵심 원리 - 기본편
안녕하세요 SOLID 원칙 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. SOLID 원칙은 그냥 암기하는 것도 하나의 방법이 될까요? 그리고 강의자료로 복습하면 되는건가요...? 제가 책으로만 공부해봐서 인강은 많이 낯서네요..ㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
덱에서 순차접근은 벡터보다 느린가요?
STL 덱에서 모든 원소를 접근할때 벡터보다 더 느린가요? 벡터는 연속된 메모리라서 괜찮지만, 덱은 모든 데이터가 연속된 메모리에 저장되지 않아서 순차적으로 모든 데이터를 접근할때 메모리상 점프해야하는일이 생길것 같아서 이 부분 때문에 매우 많은 데이터를 모두 순차접근해야하는 경우에 벡터보다 성능이 훨씬 떨어질 수 있다고 이해해도 괜찮은건가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
service와 controller의 역할에 대한 질문이 있습니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]service와 controller의 역할에 대한 질문이 있습니다. 강의를 듣고 활용해던 도중 의문점이 생겼습니다. 한참 찾아봤는데 아직도 모르겠어서 질문드립니다. 저의 기존 코드에서는 어떤 컨트롤러의 post 요청에서 A,B,C 엔티티가 반드시 순서대로 생성된후 저장되어야 합니다. (참조관계 떄문에 그렇습니다) 기존에 저는 컨트롤러에서 A 엔티티 생성 -> AService.createA() 한 후 B, C도 동일한 과정을 거칩니다. 이러니까 컨트롤러가 서비스의 역할을 해버린다고 생각했습니다. 그래서 컨트롤러는 그냥 dto를 넘겨주고 서비스에서 위의 작업을 하려했습니다. 그랬더니 몇가지 문제가 생겼습니다. 1. service에서 repository만을 사용하면 코드 중복이 심함(create 할때 복잡한 중복검증 로직이 있는대, 그것까지 전부 다시 해야함) 2. service에서 service를 주입받아서 하자니 순환참조, 나말고 코드 이해도 낮은 다른사람이 손대면 실수할 가능성 높음 등등의 문제가 생김 그래서 그냥 원래대로 냅두려니 controller가 너무 크고 service가 하는게 그냥 repository로 요청 보내기인 경우가 대부분임 그래서 질문은 1. 적절한 방법이 뭘까요? 2. 복잡하고 큰 규모의 서버 코드를 보고싶은데 좋은 예시를 어디서 찾을수 있을까요? 3. 제가 해결방법으로 여러 service를 주입받아서 사용만하는 service를 만들어서 컨트롤러에 있던 코드를 거기로 옮겨서 컨트롤러에 비즈니스 로직이 생기는걸 없에고 순환참조, 코드 중복 등을 제거 해봤는데 이게 맞는건가요? 4. MSA와 상관있는 문제일까요?
-
미해결Vue로 Nodebird SNS 만들기
머테리얼 트위터의 리트윗 아이콘이 안나오는 분들께
강의에서는 아래 처럼 twitter-retweer이라고 나와있지만 그 후에 사양이 조금 변경된 것 같습니다 <v-icon>mdi-twitter-retweet</v-icon> 뷰티파이 아이콘 설명에 보시면 리트윗 아이콘 이름이 아래와 같이 변경되었습니다. 혹시 안나오는 분들은 아래를 참조해주세요. <v-icon>mdi-repeat-variant</v-icon> [제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.
-
미해결스프링 핵심 원리 - 고급편
aspectj expression 문법 체크하는 거는 어떻게 하나요?(execution() 등)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.ㅇㄹㅇㄹ
-
미해결Vue.js + TypeScript 완벽 가이드
리포지토리 권한 부탁드립니다.
github. ID : gimyo1987 인프런 email: tucknike11@naver.com 감사합니다
-
미해결시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
wsl2에서 Vagrant 사용법이 궁금합니다~
@DESKTOP-9A9A9UT:~/VWS_vagrant_script$ vagrant up /opt/vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/lib/vagrant/util/which.rb:37: warning: Insecure world writable dir /mnt/c in PATH, mode 040777 Vagrant failed to initialize at a very early stage: Vagrant is unable to use the VirtualBox provider from the Windows Subsystem for Linux without access to the Windows environment. Enabling this access must be done with caution and an understanding of the implications. For more information on enabling Windows access and using VirtualBox from the Windows Subsystem for Linux, please refer to the Vagrant documentation: https://www.vagrantup.com/docs/other/wsl.html 안녕하세요 wsl2 ubuntu에서 작업하는데 vagrant 실행 에러가 계속 떠서 문의 드립니다 윈도우랑 ubuntu 둘 다 virtualBox 설치한 후 ubuntu에 vgrant 설치하고 vagrant up 명령어를 입력하니 위와 같은 에러가 뜨더라구요 에러로그에서 알려준 공식사이트 따로 해도 잘 이해 되지 않아서 구글링 후 아래 링크 보면서 다시 vagrant랑 virtualBox 설치 했습니다 https://blog.thenets.org/how-to-run-vagrant-on-wsl-2/ virtualbox_WSL2를 설치해도 같은 에러가 뜨더라구요😢 혹시 wsl2에서 vagrant사용법을 알려주실 수 있나요? 읽어주셔서 감사합니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
안녕하세요 연관관계 편의 메서드에 관한 질문을 드립니다.
선생님 안녕하십니까. 다름이 아니라 이전 강의들이나 다른 강의에서 setter를 만들지 여부를 생각해봐야할 문제라고 하셨는데 연관관계 편의메서드를 만들면서 연관관계가 있는 다른쪽 setter 사용하는것이 괜찮은 것인가요? 어떤 기능을 하는지 알기 쉬운 이름으로 재정의 해서 사용해야 하는 것일까요?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
이벤트 루프 강의해주신 것 정리해봤는데 이해한게 맞는지 확인부탁드립니다.
안녕하세요. 이벤트 루프 강의해주신 것을 정리해봤는데 이해한게 맞는지 확인부탁드립니다. 이미지를 첨부하겠습니다
-
미해결홍정모의 따라하며 배우는 C언어
dereferenced 이중포인터의 연산에 질문
void prointIntArray(double** arr, int n) { for (int i = 0; i < n; ++i) printf("%p \n", *arr + i); printf("\n"); } int main() { double* arr_i[] = { (double[]) { 0,1,2,3 }, (double[]) { 4,5,6,7,8 }, (double[]) { 9,10,11 } }; int n_i = sizeof(arr_i) / sizeof(arr_i[0]); prointIntArray(arr_i, n_i); return 0; } /* Output 006FFA34 // (double) 크기만큼 이동함을 확인할 수 있습니다. 006FFA3C // arr은 이중포인터니 *arr도 포인터 아닌가요? 006FFA44 // 이 값은 포인터 크기만큼 움직여야 할 것 같습니다. */ void printStrLiteral(char** arr, int n) { for (int i = 0; i < n; ++i) printf("%p \n", *arr + i ); printf("\n"); } int main() { char* arr[] = { "Cherry", "AppleBee", "Pineappple", "Apple", "Orange" }; int n = sizeof(arr) / sizeof(arr[0]); printStrLiteral(arr, 5); } /* Output 00AC7E40 // 이중포인터를 dereference하여도 여전히 포인터입니다. 00AC7E41 // 포인터 + 1 연산을 했을 때 4byte를 이동해야할 것 같습니다. 00AC7E42 // base type 만큼 움직이고 있습니다. 00AC7E43 00AC7E44 */ 이중 포인터를 derefrence해도 pointer입니다. pointer 크기만큼 이동해야할 거 같은데 base type 크기만큼 이동하는 이유가 있을까요?
-
미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
강의 - 섹션2. Parallelism with Multiprocessing 질문
안녕하세요, 강사님. 항상 좋은강의에 감사드립니다. 섹션2을 다 듣고나서, 스스로 정리를 하고 궁금한 부분들을 한번에 질문드립니다. 제가 컴퓨터쪽 전공이 아니라서 용어나 잘 모르는 부분이 많아 질문이 깔끔하지 않은점 이해 부탁드립니다. (섹션1도 다 듣고 동일한 방법으로 질문을 최근에 해서... 혹시 게시판에 도배가 되지 않을까 실례됩니다. 너무 질문이 잦다면 말씀주세요!) 그리고 제 질문들이 당연한것일수도 있는데... 강사님께 한번 더 확인(?)을 받으면 더 효율적으로 이해가되서 문의드립니다^^! 질문이 많고 clear하지 않음에 다시한번 양해를 부탁드리며, 미리 답변에 진심으로 감사드립니다. 0. thread와 process 관련 high-level로 만들어놓은 라이브러리를 concurrent.futures로 알고있습니다. 그 기반(low-level)은 threading과 multiprocessing으로 이해하고 있고요. 그런데 thread 강의에서는 대부분 concurrent.futures이용해서 multi-thread를 구현하셨는데, process 강의에서는 오히려 multiprocessing을 더 많이 쓰시는 것 같습니다. (concurrent.futures이용은 적어보임). 혹시 multi-processing은 concurrent.futures보다는 multiprocessing 라이브러리가 더 자주쓰이고 일반적인가요? 1. 숫자를 0부터1억까지 순서대로 더할때(0+1+2+...+1억), '1스레드/1프로세스'로 하는것과 '#스레드/#프로세스'로 하는것 중 어느것이 일반적으로 더 빠른가요? 잘은 모르지만... 숫자를 share하면서 가야하기때문에 (현재 어디까지 더한지를 알아야하니) '#스레드/#프로세스'는 굳이 switching(?)만 해야해서 더느릴것같은데... 이런생각이 맞나요? 더 나아가서 share하는 변수(상태를 연속적으로 알아야하는)가 있으면 하나의 스레드/프로세스에서 하는게 제일 빠르다고 생각해도 되나요? 2-1. parent thread/process에서 child thread/process를 만들고, 그 child가 할일을 다하면(더이상 실행할 코드가 없으면) 그것을 종료하는것이 자원관리에 효율적이라고 생각합니다. with문을 쓰면 자동으로 with문 내에서 정의된 child들이 다 끝나고 나서 with문을 나갈때 그 안에서 정의되었던 child들이 자원을 더이상 안쓴다고 생각하면 되나요? 그리고 역으로 with문은 with문 내에서 만들어진 child가 다 끝날때까지 with문 밖으로(들여쓰기 밖) 못나간다고 생각하는게 맞는 생각인가요? 2-2. 그러면 역으로 child는 무한으로 돌고, parent는 할일을 하고싶다면, with문내에서 그러한 child들을 정의하면 안될 것 같은데 (끝나지 않아 못나오니).... 이럴 경우에는 추후에 child가 끝나면, 제가 억지로 그 child의 자원사용을 막기위해 close(?)같은 걸 해야할 것 같은데... 어떻게하나요? 자동으로 파이썬이 작업을 안하는 therad/proecss는 자원을 안쓰도록 관리하나요? (ex. is_alive()나 .running()으로 찍었을때 False면 자원 안쓰도록) 3. (Thread부분이지만 Process에서도 동일할거라 생각) concurrent.futures.TheradPoolExecutor에서 submit을 통해 만들어지는 child thread가 daemon이 되도록 어떻게 설정하나요? threading.Thread로 만들때는 argument에 daemon=True을 하면, 만들어지는 child thread는 daemon이 였는데, 위 경우는 잘 모르겠네요... 4. concurrent.futures.as_completed(Future Object)는 그 Future Object가 그것의 thread/process를 끝내면 바로 어떤작업을 처리하도록 해놓는것이고, thread/process가 끝난 시점에서 return값으로 Future Object 가 있다! 라고 이해하면 되나요? 그리고 그 return값을 갖고 무엇인가를 할때는 parent의 thread/process에서 하는게 맞는것이죠? (그 Future Object가 갖고있던 child thread/process가 아니라) 5. (4번이어서) 그러면 4번의 경우는 child thread/process에서 어떤작업들을 다하고, 그것의 결과를 가지고, parent thread/process에서 추가적인 작업을 할때 사용을 하면 되나요? 6. multi-process를 할때, 그 process의 개수는 제한이 없나요? (제 컴퓨터가 4Cores, 8Logical processors라 하더라도 process는 8개가 최대고 이런것은 없는것이죠??? 마치 task manager의 performance를 보면 Processes가 엄청많이 돌고있는것처럼, 제가 multi-process를 한다는것은 Processes를 그만큼 늘린다는것이고, 그것들을 어떻게 잘 할지는 8개의 Logical processors를 갖고 운영체제가 알아서 할일이라고 이해하면 되겠죠?) ※ multiprocessing을 하실때, 여러 process들을 다 만들어 start를 시키시고, parent process에서 .join()을 하시던데... 관련 2가지 질문이 있습니다. (아래 7번/8번) 7. process A/B/C를 만들어 start를 시키면 parent/A/B/C가 parallel하게 실행이 될텐데, 결국에 (강의에서는 for문을 이용) 순차적으로 parent에서 A.join() > B.join() > C.join()이 되도록 하면 parallel이 더이상 유지되지 않는것 아닌가요? 즉... A.join()을 만나는순간 모든 process는 멈추고 A process만 진행되다가 그것이 끝나면 다시 parent/B/C가 parallel하게 진행되고, 곧 B.join()을 만나는순간 모든 process는 멈추고 B process만 진행되다가 그것이 끝나면 다시 parent/C가 parallel하게 진행되고, 곧 C.join()을 만나면 모든 process는 멈추고 C process만 진행되다가 그것이 끝나면 다시 parent가 진행되고... 이 순서가 아닌가요? 그러면 multi-process의 parallel이, join을 만나는순간 깨지는 개념이 아닌가요? 8. (만일5의 제 의견이 맞다면) multi process에서 main process가 끝나더라도, 다른 child process는 계속해서 진행을 할텐데 (daemon이 아니라면), 굳이 join()을 써서 parallelism을 깨는 이유가 있나요? thread에서는 잘 안쓰던 join인데, process에서는 join을 너무 당연하게 쓰셔서, 제가 놓치거나 모르는부분이 있나 싶어 여쭤봅니다. 9. multi-process의 변수 공유 관련하여 @ multiprocessing(4)-Sharing state 강의, 예시를 들어주신것이 parent process에서 share_value가 0이 나오고 '공유가 안되고있다' 라고 해주셨습니다. (강의 8분4초정도) 그리고 이어서 share_value를 다른 method에 (with 다른 process) 넘겼음에도 불구하고, share_value는 0이라고 해주셨습니다. 따라서 프로세스간 주소공간은 독립적이라고 해주셨는데... (프로세스간 object 공유가 안된다) 그런데 제 짧은 지식으로는, 이번경우는 mulit-process라서 공유가 안되었다기 보다는, 함수의 local변수와 그밖에서의 변수의 name space 때문이 아닌가요? 예를들면 아래코드 (single process) 에서도 share_value는 generate_update_number라는 함수를 다녀오더라도 0입니다. 그 이유는 share_value라는 object가 generate_update_number라는 함수안에서 한것은, return이 따로없다면, 그 밖에서는 영향이 없다! (제 짧은 지식으로는) 때문으로 이해가되는데... 혹시 아닐까요? (아래에 그대로 copy and paste 할 수 있도록 코드를 만들고, 실행결과도 붙였습니다.) ㅡㅡㅡㅡㅡㅡㅡ 코드 ㅡㅡㅡㅡㅡㅡㅡ def generate_update_number(v): print(f"[step2] v의 값 / id : {v} / {id(v)}") for _ in range(50): v +=1 print(f"[step3] v의 값 / id : {v} / {id(v)}") def main(): share_value = 0 print(f"[step1] share_value의 값 / id : {share_value} / {id(share_value)}") generate_update_number(share_value) print(f"[step4] share_value의 값 / id : {share_value} / {id(share_value)}") if __name__=='__main__': main() ㅡㅡㅡㅡㅡㅡㅡ 실행결과 ㅡㅡㅡㅡㅡ [step1] share_value의 값 / id : 0 / 140737278943616 [step2] v의 값 / id : 0 / 140737278943616 [step3] v의 값 / id : 50 / 140737278945216 [step4] share_value의 값 / id : 0 / 140737278943616
-
미해결함수형 프로그래밍과 JavaScript ES6+
4분57초 쯤에
const res = await map(async a=> await delayI(a*a),list); 4분 57초쯤에 바로 return을 해주기떄문에 async, await이 지운다는 말이 이해가 안되어 질문드립니다! 혹시 이유가 go1함수에서 delayI(a*a)가 then으로 풀려서 그런가요?
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
SW 파트 질문드립니다.
안녕하세요 맛비님. 강의 매우 잘 보고 있습니다. 이번 강의 내용에서 lab10_main.c 코드를 분석해보다가 질문드릴께 있어 글을 작성하게 되었습니다. usleep 체크를 한 뒤 FSM을 돌리기 위해 i_run 신호를 발생시키기 전에 IDLE state를 체크하시는 부분을 확인해보고 있었는데요. do{ read_data = Xil_In32((XPAR_LAB10_MATBI_0_BASEADDR) + (STATUS_REG*AXI_DATA_BYTE)); } while( (read_data & IDLE) != IDLE); 이 부분을 아래와 같이 수정해서 어떤 값을 읽고 있는지 확인해보았습니다. do{ read_data = Xil_In32((XPAR_LAB10_MATBI_0_BASEADDR) + (STATUS_REG*AXI_DATA_BYTE)); printf("current state is %d\n",read_data); } while( (read_data & IDLE) != IDLE); 출력되는 값이 5였습니다. 이 말은 IDLE과 DONE이 모두 active high라는 상태 같아서 제가 제대로 이해한게 맞는지 궁금합니다. 연계해서 한가지 더 궁금한점은 do while문이 iteration 하는 횟수가 PL에서 동작하는 클럭과는 무관하게 돌아가는거 같은데요. 이 부분은 DONE 신호를 기다리는 파트에서 마찬가지로 printf 넣어서 갯수를 한번 세어봤거든요. data로 1M을 입력 했으면 do while문도 1M 번 반복할 줄 알았는데 훨씬 많은 횟수의 iteration을 도는 것으로 보이는데요. 이 부분은 PS와 관련이 있는 걸까요? 너무 기초적인걸 질문드리는건 아닌지 조심스럽지만... 용기내어 질문드려봅니다. 감사합니다.
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
TypeORM 트랜잭션 질문드립니다.
안녕하세요 윤상석 강사님. TypeORM의 트랜잭션 관련으로 질문이 있습니다.TypeORM에서 트랜잭션을 다루는 방법은 이전 질문글에 답변해주셨듯이 크게 3가지인 것으로 알고 있습니다.1. QueryRunner2. getConnection, getManager3. @Transactional개인적으로는 @Transactional() 데코레이터를 사용하는것이 편리하여 사용하고 있었는데요.NestJS 공식문서에서 데코레이터를 이용하는 것을 권장하지 않고 있고,구글링을 해보아도 유닛 테스트에 어려움이 있어 권장하지 않는 분들이 많은 것을 알게되었습니다.여기서 첫 번째 질문이 있습니다.Q1. "유닛 테스트에 어려움이 있다"는 이야기가 구체적으로 무슨 의미인지 궁금합니다. 모킹이 어렵다. 내 마음대로 제어가 불가능하다 등의 이야기가 이해는 가는데 와닿지는 않아서 질문드립니다.----QueryRunner 방식을 이용하게 되면 try-catch-finally 코드가 강제가 되는 것 같아보입니다.여기서 두 번째 질문이 있습니다.Q2. 모든 에러를 감지하는 Filter를 적용해두었다면 QueryRunner를 사용하는 try-catch-finally 구문에서 에러 처리를 해버려 필터가 작동하지 않을 것 같은데 맞을까요?맞다면, 만약 Filter에서 요청이 실패하였을 때의 로깅기능이 있다고 가정한다면 로깅기능이 작동하지 않을 것 같습니다.그렇다면 catch 문에서 따로 Filter에서 구현한 로깅을 다시 구현해주어야 할까요?----트랜잭션 처리를 도와주는 typeorm-transactional-cls-hooked 패키지를 발견하였습니다.여기서 마지막 세 번째 질문이 있습니다.Q3. 해당 패키지는 유닛 테스를 할 때 트랜잭션 기능이 작동하지 않도록 모킹기능도 제공해주는 것 같습니다. QuerryRunner 보다 안 좋은점이 있다면 어떤 점이 있을까요?----질문이 너무 많은 것 같아 죄송합니다.좋은 강의와 답변해주셔서 항상 감사합니다.
-
미해결초보를 위한 쿠버네티스 안내서
hyperV 로 minikube 가상머신 시작시 장애
minikube start --driver=hyperv 명령어를 입력하면 이런 장애가 나는데 어떻게 해야하나요? hyperV 를 비활성화하고 virtual box로 하면 This computer doesn't have VT-X/AMD-v ena bled. Enabling it in the BIOS is mandatory 이런 에러가 나면서 시작실패를하는데 어떻게 해야할까요?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
피봇테이블 문제 질문이요!
코드작성시 SUM함수를 쓴 경우와 안쓴경우의 차이가 왜 나는건가요..? SUM함수를 안써도 id에 따라 월별로 수익을 각각골라내라는 코드를 썼으니 골라져야 하는거 아닌가요? ㅜㅜ SUM함수를 쓰면 존재하는거 다 골라지는데, SUM함수를 안쓰면 한개만 골라지네요ㅜ
-
미해결스프링 핵심 원리 - 기본편
Assertions 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 모르겠어요3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네[질문 내용]4:37분쯤에 나오는 Assertions.assertThat 메소드는 지원하지 않는것으로 나오는데요 ㅠㅠ(빨간색) Asseertions의 다른 메소드들(assertionAll 등...)은 자동완성이 되는데 저 메소드를 쓰려면 따로 import 해야하는 설정이 있을까요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
선생님 질문있습니다. 회귀 예측에서 새로운 테스트 데이터를 입력해서 어떻게 결과를 찾아내는 지 궁금합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 저는 토목전공 대학원생입니다. 선생님 강의를 통해서 머신러닝에 대해서 공부를 하고 있습니다. 먼저 비전공이기 때문에 컴퓨터 언어와 머신러닝 기법에 능숙하지 않은 점은 미리 양해를 구합니다. 현재 저는 가지고 있는 실험 데이터를 머신러닝에 접목시키는 시도를 하고 있습니다. 제가 가지고 있는 데이터는 회귀분석이 적합한 것 같아서 기초 개념부분이랑 회귀분석 파트를 주로 집중해서 공부를 했는데요, 엑셀 데이터 파일을 파이썬으로 가져와서 회귀분석하고 RMSE 값을 평가하는 것 까지는 그럭저럭 잘 따라온 것 같았습니다. 데이터의 내용을 간략하게 말씀드리면 흙의 일축압축강도를 UCS라고 하는데 UCS를 결정짓는 여러 파라미터를 가지고 UCS 값을 예측하고자 하였습니다. 그래서 UCS가 Output 이고 input 값들로는 폴리머의농도(1.0, 1.5, 2.0, ...), 초기함수비(20, 30, 60, ...) 테스트함수비(0.32, 2.33, 60.23, ...), 건조 단위중량(1,23, 1,35, ...), 흙의 종류(CL, SP, SP-SM), 실험조건(건조, 침수, 초기상태) 등 이 있습니다. 데이터 프레임을 보여드리면 아래와 같습니다. 아무튼 이렇게 해서 강의 내용을 따라 회귀 분석은 마쳤는데요 제가 궁금한건 이 분석 후에 새로운 데이터가 있을 때 그 데이터의 UCS 값을 어떻게 얻을 수 있는지, 입니다. 혹은 회귀식이나, 함수를 얻을 수 있는지, 입니다. 그리고 이 데이터가 회귀 분석을 하는 것이 적절한 걸까요..? 제가 이 분야에 지식이 많이 부족해서 계속 공부하고 검색해서 찾아보곤 있는데 혼자서 공부하는 거라 궁금한 점이 속시원히 해결이 잘 안됩니다ㅠㅠ 막무가내의 질문일 수도 있을 것 같은데,, 도움을 청할 곳이 선생님 밖에 없는 것 같습니다ㅠㅠ 어떤 챕터의 강의를 더 자세히 들어보라거나, 어떤 자료를 참고해라 정도의 답변도 좋습니다! 답변 기다리겠습니다. 감사합니다.