묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결간단하게 알아보는 React 디자인 패턴
강의가 겹치는건가요?
Container & Presentation 강의랑 customHook 강의가 겹치는건가요? 같은영상이네요
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
Orders에 테이블의 용도
Order 서비스에서 Command가 실행되면 ORDERS_EVENT에 이벤트가 저장되고 Query가 실행되면 ORDER_EVENT에서 이벤트를 읽어 데이터의 최종상태를 읽는다는것으로 이해했는데요..! 그렇다면 ORDERS 테이블은 실질적으로 사용되지 않는다고 이해하면될까요..?
-
해결됨C개발자를 위한 최소한의 C++
소멸자 가상함수 질문
안녕하세요. 57. 소멸자 가상화 강의 보고 질문드립니다.가상함수에서 virtual 예약어를 붙인 메서드는 자기부정을 전제로 파생 클래스에 동일한 이름의 함수가 만들어진다면 기본 클래스에 virtual로 선언된 가상함수는 무시되는 걸로 이해했습니다.그런데 소멸자에 virtual을 붙일 경우에는 왜 파생 소멸자만 불리는게 아니라 기본 클래스 소멸자도 불리는 걸까요?
-
해결됨C개발자를 위한 최소한의 C++
이동생성자의 매개변수로 넘어가는 임시객체의 값 유지 관련하여 질문이 있습니다.
안녕하세요.이동시멘틱 강의를 보다가 의문이 있어 문의드립니다.강의에 나오는 CMyString 클래스는 내부 포인터 변수 멤버를 가지고 있는데, CMyString a,b,c;에서 a = b+c;를 실행할 때CMyString operator+() 함수의 return값의 사본이 임시객체에 저장되고 이 임시객체가 이동생성자의 매개변수에 들어가는 것이 맞을까요?만약 그렇다면 사본을 가진 임시객체의 포인터 변수 멤버의 값이 return 값의 포인터 변수 멤버의 값과 같을텐데 return 후 return값이 소멸함에도 이동생성자 내부에서 사본은 어떻게 계속 값을 유지하는걸까요?이동생성자 호출 시에는 이동생성자 종료 전까지 return 값이 사라지지 않는걸까요?사본이라고 표현하신 것의 의미도 궁금합니다...사본은 모든게 다 똑같은 복사본인걸까요..?근데 그러면 참조자와 같은것일것같은데 반환형식이 참조자는 아니고... shallow copy한 것도 아니고 deep copy한 것도 아닌것 같은데...너무 헷갈리네요...감사합니다.
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
MSA 아키텍쳐 프로젝트 구성 방식
안녕하세요 강사님질문을 드리고 싶은 부분이 있는데요MSA 아키텍쳐로 개발할 때 각각의 서비스 마다 단일 배포할 수 있다는 장점이 있다고 들었는데그러면 MSA 아키텍쳐로 개발을 진행할 때 보여주신 것 처럼 하나의 큰 프로젝트 안에 각각의 마이크로 서비스를 넣어서 만드나요? (모노레포?)혹은 각각의 마이크로 서비스를 독립적으로 만드는건가요? (폴리레포?)만약 둘 다 사용한다면 주로 사용하는 방식은 어떤 방식인가요?
-
미해결스프링 핵심 원리 - 고급편
final 키워드 사용 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]프록시 기술과 한계 - 스프링의 해결책 강의에서프레임워크 같은 개발이 아니라 일반적인 웹 애플리케이션을 개발할 때는 final 키워드를 잘 사용하지 않는다라고 하셨는데요, 다른 자료로 공부할 때 유틸 함수를 모아두는 유틸 클래스의 경우에는 상속이나 오버라이드를 막기 위해서 final 클래스와 static 메서드 등으로 사용하는 것도 좋다고 배웠습니다.영한님께서는 유틸 기능들도 순수 자바 클래스/메서드 보다는 스프링 컴포넌트로 관리하는게 좋다고 생각하시는 편인가요?
-
미해결스프링 핵심 원리 - 고급편
안녕하세요
안녕하세요@Around가 포인트컷이고그밑에 메소드가 어드바이스가 맞을까요? 그렇다면 @Around가 포인트컷에 조건에 해당하는 곳에 프록시가 생성되고 비즈니스 로직이 실행이된다고 생각되는데 예전에는 프록시가 생성되는 지점 포인트컷 , 비즈니스 로직이 적용되는 포인트컷 조건이 있는 걸로 설명을 들었는데 @Around가 포인트컷이 프록시가 생성되는 포인트컷과 비즈니스 로직이 적용되는 포인트컷 두개의 의미가 모두 들어있는걸까요?감사합니다
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
많이 사용되는 패턴의 순서를 정한다면 어떤 순서일까요?
안녕하세요.강의잘들었습니다. 제가 모르고 사용한 패턴들이 많이 보이네요. 그떄 그떄 상황에 맞게 사용을 하면 될 것 같긴 한데.. 그래도 자주사용하는 패턴들의 순서를 매긴 다면 어떻게 될까요?
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
마이크로서비스와 모듈러 아키텍처 선택 질문
db(db2, 오라클 등등)가 여러 종류로 나뉘어 서비스 중입니다. 무조건 마이크로 서비스 구조를 채택하는것이 좋을까요?
-
미해결스프링 핵심 원리 - 고급편
ThradLocal 실무 사례
실무에서 보통 ThreadLocal을 어떤 데이터를 저장에 주로 쓰는지 궁금합니다
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
@Builder에 대해 사소한 질문
강의 잘 듣고 있습니다!강의를 듣던 중 궁금한것이 있는데요.예를 들어 결제 API를 만든다면: - 금액, 결제수단: 필수- 할인쿠폰, 메모: 선택 @Builder를 사용할 때 필수 파라미터 처리가 궁금합니다. 결제 API 같은 걸 만든다면 금액은 필수인데, @NonNull은 런타임 체크로 알고 있는데요. 프로그램을 실행해야 에러를 확인할 수 있었습니다. 필수 항목을 빠뜨리면 컴파일 에러가 나게 할 수는 없나요? 실무에서는 런타임 체크로 충분한가요, 아니면 중요한 객체는 컴파일 타임 체크를 위해 직접 구현해야 할까요?
-
해결됨C개발자를 위한 최소한의 C++
임시 객체 복사 생성자 질문드립니다
30강 19분에서 TestData result = testFunc( 10); 에서 10은 리터럴 상수인데, TestData 객체로 변환될 때 값이 아닌 상수형 참조로 처리되는 건가요? 상수형 참조로 처리되기 때문에 컴파일러가 내부적으로 TestData(10) 라는 임시 객체를 생성해서 그 객체를 testFunc() 의 인자로 넘기는 과정이 맞는 건지 헷갈립니다..!
-
미해결스프링 핵심 원리 - 고급편
실무에서의 동시성 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 실무에서의 동시성 문제에 대해서 궁금한게 생겨서 질문 드립니다.현재 외부 API를 사용하는 서비스를 개발 중인데, WebClient, RestTemplate를 사용하여 개발 중에 있습니다.구글링 및 Claude MCP를 사용하여 검증 했을 때에는 해당 라이브러리를 사용할 때 동시성 문제를 일으킬 가능성이 없다고 하는데, 해당 라이브러리를 사용할 때 동시성 문제에 완전히 자유로운 건가요? 아니면 특정 상황에서는 동시성 문제가 발생할 수 있는 건가요?만약 발생할 수 있다면, 어떻게 테스트 코드를 작성해서 확인 할 수 있을까요?
-
미해결스프링 핵심 원리 - 고급편
로그 등 부가 기능에 대한 테스트코드
강의 자료에서 제공된 테스트 코드가 온전한 테스트 코드가 아니라고 언급하셨습니다. 실무에서 로그와 같은 부가기능에 대해서도 테스트 코드를 작성하시나요? 작성하신다면 로그가 정확하게 찍혔는지, 혹은 메서드 호출 순서나 시간이 기대한 대로 측정되었는지 등을 자동으로 검증하기 위해 일반적으로 사용되는 테스트 기법이나 프레임워크가 있을까요? 관련 방법이나 라이브러리 등에 대해 학습할 수 있는 키워드를 알려주시면 감사하겠습니다.
-
미해결TS/JS 디자인 패턴 with Canvas: 제로초에게 제대로 배우기
undo 구현
안녕하세요 좋은 강의 잘 듣고 있습니다 undo 기능을 따라 구현하던 중 이슈가 있어 질문 드립니다pen mode로 그린 뒤 eraser mode에서 일부 지움 -> undo 실행-> 화면이 모두 지워집니다 원인은 eraser mode에서 mousedown 시 ctx.globalCompositeOperation = 'destination-out' 로 바뀐 상태가 유지된 채 restore() 내부에서 drawImage()가 실행되기 때문인 것 같은데요, 제로초님이라면 eraser mode 종료 시점 (mouseup)에서 source-over로 되돌리는 방식이랑restore에서 source-over로 바꾼 뒤 drawImage()하는 것 또는 제 3의 장소??어떤 곳에 작업하실지 여쭙고 싶습니다
-
미해결스프링 핵심 원리 - 고급편
ProceedingJoinPoint와 MethodInvocation에 대하여
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용]1. 스프링에서 제공하는 MethodInterceptor에서 사용하는 MethodInvocation 객체와 @Aspect 프록시에서 사용되는 ProceedingJoinPoint는 어떤 차이점이 있나요?2. 비슷한 기능을 제공함에도 다른 객체가 사용되는 특별한 이유가 있나요?
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
default 기능이 있는 interface와 추상클래스의 차이
interface에 default 메서드를 사용할 수 있음에 따라 추상 클래스와 동일한 용도로 사용될 수 있는 것처럼 보입니다. 업무 중에는 jdk 6 환경까지 컴파일되야 함을 감안하여 코드를 작성하다보니 해당 기능에 대해 아예 생각해본적이 없는데, 팩토리 강의를 듣던 중 default를 통해 interface가 추상 클래스처럼 사용되는걸 보니, jdk 8 이상의 환경, 특히 9에서는 private까지 지원되면 추상 클래스를 완전히 대체할 수 있는 것처럼 보입니다.default 기능을 제공하는 interface와 추상 클래스에 차이가 있는지, 현장에서 interface의 default 기능이 적극적으로 사용되는지, 추상 클래스는 더이상 필요없는 것인지요.기존에 해당 기능을 설명하는 글귀만 봤을 때는 interface를 변경할 때 레거시 코드의 수정없이 변경할 수 있는, 편의성을 위한 기능이라고만 이해하고 넘어갔는데, 적극적으로 사용되는 기능인지 궁금하네요
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
실무 코드에 디자인 패턴 적용 시의 '기준'에 대해 조언을 얻고 싶습니다.
강의를 들으며 정리한 내용을 바탕으로, 실무적인 관점에서 더 깊이 이해하고 싶은 부분이 생겨 질문드립니다.추석 연휴 동안 강의를 수강하고, 출근을 하여 실무에서 다루고 있는 코드를 보다보니 "이것도 OO 패턴으로 리팩토링 할 수 있을까?" 하는 유혹(?)을 이곳 저곳에서 느끼게 되었습니다.(특히, 상태 패턴과 전략 패턴을 도입 할 수 있어 보이는 코드가 상당히 많았습니다.) 책임 연쇄 패턴이나 커맨드 패턴처럼 유연성을 위해 클래스가 많이 늘어나는 경우, 얻는 이점보다 구조의 복잡함이 더 커지는 순간이 있을 것 같은데요. 결국은 본인 혹은 현실적인 실무 환경 등, 각자의 실무 환경에 따라 달라질 수 있는 내용이지만 실무에서 "이 정도면 과하다. 그냥 if문으로 가자"라고 판단하시는 기준이나 경험적인 '신호'가 있다면 어떤 것일지 조언을 구하고 싶습니다.
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
데코레이터 패턴, before 가 O(2^n) 인 이유
백기선님 안녕하세요.수강중 질문 사항이 있어 글 남깁니다.7분 구간에서 코드 증가량을 빅오로 비유하시며 before를 O(2^n) 로 설명하셨는데,2^n 판단의 전제를 더 설명해 주실 수 있을까요? 또 실무에서 패턴 선택 시, 중요하게 생각하시는 부분이 있으신지 궁금합니다. 마지막으로 자막에서 O(n) 을 “5에 n” 으로 표시하고 있어 제보드립니다. 확인 부탁드립니다 감사합니다:)
-
미해결얄코의 떠먹여주는 객체지향 디자인 패턴
3-layer 에서의 파사드 패턴적용
안녕하세요. 강의 잘 들었습니다! 저는 SpringBoot를 주력으로 백엔드 개발을 하고있는데요. 주로 3-layer로 이루어진 계층형 아키텍처를 사용하고 있습니다. 이때, Controller에서 Service를 호출한 후 서비스 계층에서 비즈니스 로직을 처리한 후 결과만을 Controller에 리턴해주게 될텐데요! 이런 경우에 Controller에서 하나의 Service 클래스에 비즈니스 로직의 실행을 위임하는 것을 파사드 패턴이라고 볼 수 있을까요?