묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
join() 위치
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 아직 끝까지 듣지 않았는데 궁금해서 질문 드립니다. volatile을 사용한 뒤에 메인에서 t1.start() 바로 뒤에 t1.join()이 오게 위치를 변경해주면 t1.start() 가 끝난뒤에 t2.start()가 시작이 되서 balance 값이 변경된 상태로 t2 스레드가 검증에서 false값이 걸리는줄 알았는데.. 이렇게 해도 문제가 발생하는데 그 이유가 궁금합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
대규모 시스템에 관련하여 질문 있습니다.
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 보고 있습니다. 복습하던 중에 궁금한 부분이 있어 질문을 남깁니다.현업에서 대규모 시스템을 만드는 경우에 헥사고날 아키텍처 + MSA를 사용한다는 것으로 알고 있는데, MVC 패턴이 아니라,헥사고날 아키텍처를 대규모 시스템에서 더 선호하고 사용하는 이유가 무엇인가요?? 추가적으로 이건 강의와는 관련이 없는데, 개인적인 질문이 있습니다.저는 자바 스프링 신입 개발자를 준비하고 있는 학생입니다.지금까지는 MVC 패턴만 사용하고, 모놀리틱 아키텍처를 사용해서 배포를 진행하고 프로젝트를 해왔습니다. 제가 알기로는 학습적으로나 포트폴리오적으로나 필요성을 느껴서 하는 공부가 제일 좋다고 들었습니다. 근데, 최근에는 어떤 필요성을 느끼지 못하면서 대규모 시스템 강의,헥사고날 아키텍처가 중요하다고 하니 강의 등을 듣고 있습니다. 왜냐하면, 본격적인 취업은 내년이고 시간이 좀 남았습니다. 그래서 해당 강의들을 들어두면 언젠가 개인 프로젝트나 현업에서 사용할 수 있지 않을까하고 듣고있습니다만, 제가 사용했던 MVC 패턴의 장단점 등 기본적인 것들도 알지 못하는 상태에서 계속 진도 나가듯이 이런 저런 강의를 듣고 하는게 괜찮을까요? 즉, 아직 기본도 잘 모르면서 계속 새로운 걸 배우는 과정들이 괜찮을까하는 걱정이 드네요. 하지만, 한편으로는 CS지식이 너무 방대해서 기초를 다 잡아두고 다음 단계로 넘어간다는 것도 솔직히 엄두가 안납니다. 그래서 우선은 쭉 이것저것 배워두고 나중에 필요하면 다시 찾아보면서 공부하면 되지 않을까 싶은데, 쿠케님은 어떤 방향이 더 괜찮다고 생각하시나요??
-
해결됨스프링 핵심 원리 - 기본편
컨테이너 호출 방법 질문
지금까지ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);테스트 코드 만들때 수동으로 빈을 등록하도록 만든 설정(AppConfig)을, 컨테이너를 만들어 빈 들을 등록하고, 의존관계를 주입한 환경에서 테스트 진행.ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);컴포턴트 스캔 애노테이션을 포함하고 필터로 범위를 제한한 설정으로 컨테이너를 만들어서 빈들을 등록하고 의존관계를 주입한 환경에서 테스트 진행 그래서 테스트에서 만든 컨테이너는AppConfig ,AutoAppConfig 로 만들어진 빈들로만 구성된 컨테이너가 만들어지는 거죠. 이렇게 설정 클래스를 통한 빈들로만 구성된 컨테이너를 테스트에서 사용 하는 이유는 ,내가 설정한 (복잡한 로직의 수동 빈 등록이 필요한) 설정클래스들만 테스트에서 확인하기 위함이죠? 그렇다면 실무에서는@SpringBootApplication 애노테이션이 있는 메인클래스가 있어서 @Comopenet로 자동 등록된 빈들과 AppConfig 처럼 설정 클래스로 수동 등록된 빈들은 모두 같은 컨테이너에 보관될거잖아요. 테스트에서는 이렇게 compnent로 자동 구성된 빈들로만 이루어진 컨테이너를 호출하거나, 지금까지 진행한 설정클래스들을 통한 빈들로만 이루어진 컨테이너를 호출하거나, 전체적인 빈들이 있는 컨테이너를 호출하는 등 다양하게 테스트를 진행하겠죠? 각각의 테스트에서 컨테이너를 호출하는 방법이 무엇인가요? 뒤에 강의들에서 이러한 질문들을 해결하는 개념들이 나오나요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
코딩 예상 문제 올려주시나요?
코딩 문제가 어려워지는 추세인데코딩 문제집 올려주시나요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
17:40 질문입니다.
A:65, a:97은 ASCII코드에서 이것만 알고가면 된다는 것 생각났습니다. 아주 유효한 정보라고 생각합니다. 그러면 여기서 8, 즉 숫자는 ASCII코드로 어떻게 접근하면 되는 지 알려주시면 감사하겠습니다.
-
미해결Tensorflow 사용메뉴얼
동영상 재생오류
비공개 동영상이라 나타나요. 볼 수 있는 방법이 없을까요?
-
미해결절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part 1)
7강 재생 관련 문의
안녕하세요.윈도우 환경에서 7강이 재생되지 않습니다.이전 질문자 분처럼 검은색 화면으로 재생 버튼을 눌러도 재생이 되지 않으며, 크롬, 웨일 모두 재생되지 않습니다.듀얼 모니터를 사용하고 있고, 팀 뷰어 같은 프로그램도 모두 꺼둔 상태이며, 크롬/웨일의 하드웨어 가속을 꺼도 재생 시작이 되지 않습니다.이전 강의인 6강, 이후 강의인 8강은 정상적으로 재생이 됩니다.혹시나하여 로그아웃 후 미리보기를 통해 재생을 시도해봐도 5강은 정상적으로 재생되나 7강은 검은화면 상태에서 재생 시작이 되지않습니다.
-
해결됨스프링 핵심 원리 - 기본편
@Configuration 를 왜 사용할까요?
@SpringBootApplication 이 루트 위치에 있고 이 애노테이션 설정안에@ComponentScan이 있고 따라서@Component 애노테이션이 붙은 클래스들을스프링 컨테이너에 싱글톤 으로 빈 등록을 하고 @AutoWired로 의존관계를 주입해준다 라고 이해했습니다 @ComponentScan을 배우기 전에는AppConfig에서 @Configuration 과 @Bean으로 클래스들을 수동으로 빈 등록을 하고 의존관계도 주입해줬죠. 그리고 이 과정에서 여러 객체가 발생하는 하여 싱글톤이 깨지는 것을@Configuration 을 통해 CGLIB 라이브러리로 싱글톤을 보장해준다 라고 이해했습니다. @SpringBootApplication -> @ComponentScan 으로 @Component 클래스들을스프링이 싱글톤을 보장하면서 컨테이너에 빈으로 등록하는것의 대한 과정에 대한 구체적인 과정이 있나요?(@Configuration 에선 CGLIB 라이브러리로 new가 여러개 있어도 싱글톤을 보장하는데.. 이런 구체적인 과정이 있는지?)아니면 그냥 간단하게 저렇게 하면 싱글톤을 보장한다. 라고 이해하면 될까요? 그리고 @ComponentScan과 @Component로 클래스들을 사용함으로 AutoAppConfig는 아무런 코드 가 없었죠,Configuration 과 Bean으로 수동 등록하고, 싱글톤이 깨져서, CGLIB 라이브러리를 사용했던것이 대체되었다는건데, @Configuration 과 CGLIB 라이브러리를 왜 사용했던건지요? 그냥 @ComponentScan과 @Component로 클래스들을 사용하면 되잖아요.
-
미해결리눅스 소개와 리눅스 커널 Overview [저자직강 1부-1]
혹시 리눅스 커널 강의는 할인 쿠폰 발행하실 생각 없으신가요?
혹시 리눅스 커널 강의는 할인 쿠폰 발행하실 생각 없으신가요? 전체 코스를 다 구매하고 싶은데... ARM 강의는 할인 쿠폰이 제공되고 있어서 질문드립니다!
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
손절에 대한 전략?
안녕하세요 손절 전략에 대해서는 어떻게 생각하고 계시는지 궁금하여 여쭤봅니다. signal_calculation()함수를 보면 zscore가 zscore_threshold(=2) 초과, 5 미만일 때는 signal을 -1로 채워서 stock1/stock2를 각각 매도/매수 하는 전략으로 진행되는데요,그 밑에 ffill() 코드로 인해 한번 signal이 -1로 채워지면 zscore가 1미만으로 내려가지 않는 한, signal이 계속 -1로 유지되게 됩니다. 이 경우에 만약 zscore가 한 번 2~5 영역에 들어간 이후에 갑자기 zscore가 6, 10, 20, 100까지 혹은 그 이상 벌어지는 현상도 현실세계에서 가끔 발생할 수 있다고 생각합니다.(해당 기업에 예상치 못한 이슈가 발생 한다던가, 재해가 발생할 수 도 있겠죠) 물론 이런 경우가 자주 발생하지는 않겠지만, 한 번 발생했을 때 큰 손실이 발생할 것으로 예상되어, 그 이전 수익을 모두 잃을 수 있다고 생각합니다. 때문에 zscore가 일정 값 이상으로 벌어진다면 (예를 들면 20 이상?) 손절하는 전략을 취하는 코드도 추가하면 어떨까요? 이 부분에 대한 생각을 여쭤보고 싶네요.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
이영상에있는문제 질문
저는 이문제를 여기서 풀기전에 유튜브에서 먼저접해봐서(흥달) 사진과같이 임의의 주솟값을 배정하는식으로 문제를 풀었는데 저런식으로 풀어도 문제없을까요?영상에서 설명하는방식은 전체적으로는 유서한데 좀 난해하다고 생각되어서요...
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
STM32 Project Type 관련 질문입니다..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요윈도우 계정명이 한글이면 설치가 안되길래, 윈도우 계정명을 영어로 한 계정을 새로 만들어서 그 계정에 설치 한 뒤, Project Type을 STM32Cube로 하지 못하고, Empty만 가능한 이유를 잘 모르겠습니다.. 이것만 부여잡고있는데 제 노트북엔 C드라이브 밖에 없어서, D드라이브에 프로젝트를 저장하지 못하여 그런걸까요? 경로 문제일까 싶어서 이렇게 다른 경로로도 지정해보고 재설치도 해보았는데 안되네요...
-
해결됨AI 시대, 이제 현업이 개발한다! Cursor와 ChatGPT로 시작하는 바이브코딩
Project Rules 에 Add Rule 버튼을 눌러도 아무 반응이 없습니다.
'섹션2. Cursor 기능 설명' 4:02 에서 Add new rule 을 누르시면 룰을 입력할 수 있게 창이 나오는데제꺼에서는 아무 반응이 없어서 프로젝트 룰을 입력할 수 없습니다.(맨 아래 사진 있습니다. 빨간색 표시 해놨습니다.)저는 1.2.4 버전을 사용하는데 버전이 달라서 그런가요? 어떻게 해야 하나요? 그리고 영상에서 사용하신 User Rules과 노션에 있는 룰이 다르던데 둘 중 어느걸 따라해야 하나요?
-
해결됨PCB HW설계 실무 : STM32를 활용한 Mixed-signal 보드 설계 프로젝트
Artwork 50ohm 매칭 관련 질문
안녕하세요 삼코치님, Artwork 진행 중인데 궁금한 점이 생겨서 질문 남깁니다.PHY칩과 Main contoller의 RX/TX 통신선로 50ohm 매칭을 진행하고 있습니다.(25MHz 통신으로 10/파장 = 0.4mm보다는 길어져서 반드시 매칭이 필요하다고 생각했습니다.)Kicad에서 제공하고 있는 calculator tool로 50옴 매칭을 계산한 결과(현 보드셋업 반영: dielectric, dielectric thickness 등등 ) width가 0.9mm로 산출되었습니다. 해당 width는 인접 핀에서 신호선을 가져오기에 너무 커서 routing이 어려운 상황입니다.(0.3mm가 각 핀에서 보여지는 width입니다.)이런 문제를 해결하기 위해 저는 아래와 같은 방법을 확인해봤습니다.1. 일부 bit선은 via를 통해 bottom plate에서 routing 진행: 각 데이터별 신호선의 길이를 맞추는 장점은 있지만, via로 인한 discontinuity 발생2. 보드 셋업 변경: pcb dielectric 두께를 0.48mm에서 더 얇게 변경(제조사 마다 다르기 때문에 맞는 업체를 찾는 게 가능할지 미지수)제가 생각한 방법 외에 다른 방도가 있는지, 아니면 제가 놓치고 있는 개념이나 포인트들이 있는지 확인해주시면 감사하겠습니다. 또한 어떤 방법이 더 현실적인 방안인지 알고 싶습니다. 감사합니다.
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
signal_calculation후에 zscore가 2가 넘지 않았음에도 signal이 1인 이유?
안녕하세요, 14분 47경에 df_pair에 대해서 signal_calculation()을 진행하고 난 후의 df_pair를 보면 마지막 5행의 데이터가 zscore가 2를 넘지 않음에도 불구하고 signal이 계속 -1이네요. 강의에서는 그 사이에 signal을 변경하는 신호를 못 받아서 그렇다고 넘어가셨는데, 저는 이해가 잘 안돼서요. mother class의 signal_calculation()메서드를 확인해도 ffill()함수가 1번만 적용되고, 그 다음줄에 fillna(0)함수로 signal을 0으로 채우기 때문에 signal이 계속 -1로 유지되는 현상이 왜 발생하는지 이해가 안됩니다.(시그널이 2이하로 떨어진다면, 1번만 -1로 유지되고 그 이후에는 0으로 채워져야 하는 것 아닌가요? 더 자세히 설명해주실 수 있나요?(AI봇의 설명은 부정확한 부분이 많네요...ㅠ)
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
volatile
안녕하세요 영한쌤!질문드립니다! 쓰레드별로 공유 자원에 대해 효율적인 연산 처리를 위해 캐시 메모리를 사용한다고 하셨습니다! 이러한 문제가 메모리 가시성 문제를 일으킬 수 있어 volatile 키워드로 캐시가 아닌 메인 메모리에 직접 접근할 수 있었습니다. 이번 예제의 경우,volatile이 없었던 가장 기본 BasicInteger는 volatile을 사용하지 않았어도 어느정도 값 수정이 되었는데 이는 캐시 메모리를 사용하지만 컨텍스트 스위칭이 발생하면서 캐시메모리가 메인메모리로 반영하고 다시 이를 읽어오니 반영이 된건가요?(이전에 interrupt를 boolean flag + volatile로 해결하던 예제에서는 컨텍스트 스위칭이 발생할 시기가 확정적이지 않다고 하셨는데 그거에 비해 꽤 많이 연산이 이뤄진것같습니다...)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
LoginCheckFilter의 sendRedirect부분에 대해 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.LoginCheckFilter의 doFilter 메서드에서 미인증 사용자의 요청일 경우 httpResponse.sendRedirect("/login?redirectURL=" + requestURI);위와 같이 리다이렉트를 해주는데 @PostMapping("/login") public String loginV4(@ModelAttribute LoginRequest loginRequest, HttpServletRequest request, @RequestParam(defaultValue = "/") String redirectURL) { log.info("redirectURL: {}", redirectURL);로그를 찍어보면 "/" 값이 넘어옵니다.여기서 궁금한게 있는데, redirect는 get요청으로 알고있는데 어떻게 Post요청이 되는지 궁금합니다.브라우저가 응답을 받아 리다이렉트 했을 때 요청받는 건 GetMapping("/login")이 아닌건가요?
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
vagrant up 시에 Running pre-flight checks 에서 에러
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://inf.run/DvsRD)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://inf.run/Ljaer)[질문 하기]안녕하세요.현재 집에서 mac m1 노트북으로 실습 환경을 구성하고 있는데, vagrant up 했을 때worker node에 대해서[preflight] Running pre-flight checks과정에서 아래 에러가 발생합니다. w3-k8s-1.30.0: error execution phase preflight: couldn't validate the identity of the API Server: failed to request the cluster-info ConfigMap: client rate limiter Wait returned an error: rate: Wait(n=1) would exceed context deadline w3-k8s-1.30.0: To see the stack trace of this error execute with --v=5 or higherThe 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. 도움을 받을 수 있을까요? virtual box 버전: 7.1.10vagrant 버전: 2.4.7입니다.
-
해결됨스프링 핵심 원리 - 기본편
갑자기 @Test 시 junit 이 import 가 안돼요
plugins { id 'java' id 'org.springframework.boot' version '3.5.3' id 'io.spring.dependency-management' version '1.1.7' } group = 'hello' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }지금 Gradle.build 코드이고 이전까지 test 폴더 하위에서 test 시에는 import 가 잘 됐는데27강의 ApplicationContestInfoTest.java클래스에서는 안되네요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
4:20 문자열 복사 질문
4:20 이부분에서 for문을 이용해서 modelName1[]에 있던 문자열을 myCar.model[i] 배열로 복사하는것인데 for문 실행으로는 NULL문자를 제외한 문자열들만 복사가 되기 때문에 for문 바깥에서 myCar.model[i] = '\0'; 이라는 코드로 NULL 문자를 마저 복사해주는 게 맞나요?? 제가 이해한 것이 맞는지 질문드립니다