묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
solid 면접에서 질문 받으면 어떻게 대답해야 하나요
solid 면접에서 질문 받으면 어떻게 대답해야 하나요?저의 언어로 정제하고 싶은데 알랑말랑 어렵네요 다른 분이 설명하신거 참고해서 나름대로 해석해 봤는데 이렇게 말해도 괜찮을까요? *SOLIDSRP: 단일 책임 원칙(single responsibility principle)한 클래스는 하나의 책임만 가져야 한다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 ᄄᆞ른 것SRP원리를 적용하면 책임 영역이 확실해지기 때문에 한 책임의변경에서 다른 책임의 변경으로의 연쇄작용에서 자유로울 수 있습니다. OCP: 개방-폐쇄 원칙(Open/closed principle)소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 새로운 변경사항이 발생했을 때 객체를 직접 수정하지 않고도변경사항을 적용할 수 있도록 설계해야함을 말합니다 DI, IoC가 필요합니다. LSP: 리스코프 치환 원칙(Liksov substitution principle)객체는 프로그램의 정확성을 깨지 않으면서 하위 타입의 인스턴스로 바꿀수 있어야 한다. 클라이언트는 인터페이스 구현객체의 내부를 모르기 때문에 믿고 쓰기 위해선 인터페이스를 구현한 객체가 인터페이스의 사용 의도에 맞게 구현해야 된다는 것을 의미합니다. ISP: 인터페이스 분리 원칙(Interface segregation principle)특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다 특정 클래스에서 다 쓰지 않는 다양한 추상메서드가 들어간 커다란 인터페이스 보 다는 인터페이스를 특정 클라이언트에 맞게 구체적이게 쪼개는 것을 의미합니다. DIP: 의존관계 역전 원칙(Dependency inversion principle) 프로그래머는 추상화에 의존해야지 구체화에 의존하면 안된다. 클라이언트가 구현객체에 의존하는 것이 아닌클라이언트와 구현객체 사이에 인터페이스를 두고 클라이언트와 구현객체가인터페이스에 의존하여 구현객체를 변경해도 클라이언트에 변경이 없음을 의미합 니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
테스트 시 테이블 생성 방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]테스트시 테이블 초기 생성 질문드립니다.강의에서는 테스트 테이블 세팅을 위해 /test/resources/schema.sql 파일을 생성하고 내부에 DDL을 작성하여서 테이블을 생성해주었는데요.이 방법은 엔티티가 많아질 수록 DDL이 많아져서 관리하기에 어려움이 있을 것 같다는 생각이 듭니다.그래서 test의 application.properties 내부에 spring.jpa.hibernate.ddl-auto=create 설정을 주어 테이블 생성과 validation을 위임하는 것이 좋지 않을까 하는 생각이 있는데, 어떻게 생각하시는지 궁금합니다.
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
구조 관련 질문 드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]서비스가 스프링 데이터 JPA 와 Querydsl 둘 다 쓸때 repository 인터페이스에 의존하고 싶으면 앞에서 설명해주신 어뎁터를 하나 중간에 넣어서 그 어뎁터가 repository를 implements하면서 안에서 스프링 데이터 jpa와 querydsl을 쓰면 되는건가요??
-
미해결C#.NET 0.5년차~3년차(파트1)
BeginIvoke
BeginInvoke 사용 시 System.PlatformNotSupportedException: 'Operation is not supported on this platform.'다음과 같이 닷넷에서 지원하지 않는 것 같은데.. deprecated된 메소드일까요..?만약 실행가능한 메소드로 실행시키려면 소스를 어떻게 짜야할까요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
탱크가 영상처럼 작동하질 않습니다..
현재 위 같은 코드를 chan에 적용할때는 잘 작동했는데, 영상처럼 탱크에 적용하니까 탱크가 회전할때 크게크게 돌고 있습니다.. 탱크에 넣었으나 탱크가 아닌 무언가를 기준으로 돌고 있는 듯한 상태입니다.
-
해결됨스프링 핵심 원리 - 기본편
영한님 로드맵 jpa 강의 질문드립니다
현재 영한님의 스프링 완전 정복 로드맵을 따라 학습하고 있는데요.JPA 로드맵도 동시에 학습하려 하고 있습니다.JPA 로드맵 학습 전에 스프링 로드맵을 듣고 학습해야 좋을까요? 아니면 충분히 들을 수 있을만한 내용일까요?
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
클라에서 서버로 ack를 보내는 3번 이후에 연결이 끊어지는 경우는 없나요??
만약에 3번 ACK를 보내고 이제 데이터를 전송하려고 하는데 그때 서버와 연결이 끊기면 데이터가 안가나요?? 그리고 약간 이런 맥락인 것 같은데 맞나요?1번 SYN : 클라와 서버를 연결을 해달라고 요청2번 SYN+ACK : 요청 잘 받았고(ACK), 나도 이제 연결해달라고 요청(SYN)3번 ACK : 서버의 요청을 잘 받았음을 알림이제 연결된 상태이고, 이후 데이터 전송
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
변경 감지가 일어나는 시점에 대하여 궁금한 점이 있습니다.
안녕하세요, 언제나 질 좋은 강의 잘 듣고 있습니다. JPA 영속성 컨텍스트에서 변경 감지가 일어나는 시점에 대해서 궁금한 점이 있습니다.영한님께서 강의 10분 45초 즈음에, "트랜잭션이 커밋되는 시점에 JPA가 변경 감지를 실행한다." 라고 언급을 해주셨습니다. 제가 의문이 드는 지점은,영속성 컨텍스트 안에서의 변경 감지영속성 컨텍스트 flush트랜잭션 커밋이 3개가 발생하는 시점입니다. flush가 발생하면, 영속성 컨텍스트의 쓰기 지연 sql 저장소의 쿼리문들이 비워지고, db에 전송된다. 이 때 1차 캐시는 비워지지 않고, 트랜잭션이 커밋되는 시점에서 db에 전송된 쿼리문들이 커밋됨과 동시에 1차 캐시의 스냅샷과 현재 엔티티 상태와의 변경 감지가 일어난다. ---> 이것이 현재 제가 기본적으로 알고 있는 지식입니다. 제 질문은 다음과 같습니다.그런데, 변경 감지라는 것이 결국 update 쿼리문을 날리기 위함인데, 저는 flush 이전에 변경 감지가 발생하여 쓰기 지연 sql 저장소에 update 쿼리문이 저장되는 것이 순서에 맞지 않나? 라는 생각이 듭니다.또한 커밋되는 순간 변경 감지가 일어난다면, 트랜잭션 종료 바로 직전에 update 쿼리문이 날라가는 것이 맞을까요? 즉, (커밋으로 인한 flush가 아닌) 임의의 flush 호출 상황에서는 변경 감지로 인한 쿼리문이 전송되지 않는 것인가요? 질문 이외에도, 제 이해에 틀린 점이 있다면 알려주시면 감사하겠습니다!
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
s3 배포시 Re-run all jobs 버튼 부재
Re-run all jobs 버튼이 없어서 node.js에서 오류가 발생하는데 혹시 어떻게 해야할까요?
-
미해결WPF (C#, 자막제공)
소스코드
안녕하세요! 유익한 강의 감사드립니다.본 강의 project에서 작성하신 소스코드는 어디서 다운 받을 수 있나요 ? 감사합니다!
-
해결됨게임 프로그래머 취업 전략 가이드
멘토링 관련해서..
어디다가 여쭤봐야할 지 몰라서 여기다 글씁니다 죄송합니다 ㅠ멘토링 관련해서 궁금한 사항이 있습니다.저번에도 너무 신청하고 싶었는데 고민하다가 마감되었는데1. 학과공부 따라가느라 기존의 루키스님 강의도 다 못들은 사람은 시간날 때 기존 커리큘럼 강의나 먼저 듣는게 맞겠죠 ..?2. 지금 멘토링에서 진행하는 커리큘럼은 온라인으로 언제쯤 올려주실 예정인지 궁금합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 데이터 JPA 실습 중 질문
안녕하세요!스프링 데이터 JPA 강의에 따라 실습을 하던 중 오류를 해결하는 과정에서 궁금증이 생겨 질문드립니다!!스프링 데이터 JPA 실습 중 오류가 생겨서 확인해보니nested exception is org.springframework.beans.factory.BeanCreationException 이었고, 그 중defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration문제였습니다! 이전 실습을 진행하면서 실습 코드와 달랐던 부분이findById를 findByID로 사용한 것이었는데, 그 전까지는 문제가 안 생기다가 스프링 데이터 JPA 실습에서 오류가 생겼습니다!일단 findById로 변수명을 바꿔주니 해결이 되었습니다. 그런데 변수명을 findByID 그대로 사용하고, SpringDataJpaMemberRepository에 오버라이드 함수로 넣어줘도 해결되지 않을까 하는 생각해 해봤으나, 똑같은 오류가 발생했습니다.제가 강의를 듣고 이해한 바로는 JpaRepository 에 구현되지 않은 함수를 사용하기 위해서는 SpringDataJpaMemberRepository에 오버라이드로 넣어주기만 하면 된다고 생각했는데, findByID는 되지 않는 이유가 궁금합니다!!id는 기본 값으로 들어가야 하기 때문일까요?아니면, 제가 잘못 이해한 것인가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
dp 관련 질문드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 dp 너무 어렵읍니다.. 질문드립니다... dp 문제는 모두 탑 다운 방식과 바텀 업 방식 둘 다 사용이 가능한가요? 아니면 둘 중 하나만 되는 경우가 있나요?있다면 문제를 봤을 때 무엇으로 로직을 만드는게 좋은지 팁 같은게 있을까요...?
-
미해결
스마트폰으로 강의 동영상 시청시, 영상 부분확대기능
스마트폰으로 강의 동영상 시청시,개발업무 강좌 교육인데 동영상 부분 확대가 안돼서 코딩부분이나 화면 글씨가 보이지 않아 설명을 들어도 이해하기가 힘드네요.제가 방법을 모르는건지 지원이 안되는건지 궁금하네요.이동시 교육들으려고 등록했는데 난감하네요 안돼면 환불을 받을수 있는지도 궁금합니다. 다 태블릿이나 노트북으로 시청하는건 아닐것 같은데요..
-
미해결C#.NET 0.5년차~3년차(파트1)
델리게이트 관련
아래와 같이 Form1_Load 함수에 델리게이트 식 표현을 할 경우, str이 출력되지 않습니다. (강의내용 09:30초 참고)label.Text=str; 이 부분 출력되지 않는 이유를 여쭤보고싶습니다. private void Form1_Load(object sender, EventArgs e) { label1.Text += MySetting; } 감사합니다!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
useCallback, useMemo의 deps 기준에 대해서 질문드립니다.
Todo리스트를 만들어보았습니다..useCallback이나 useMemo는state를 기점으로 deps를 정의하는게 옳은것일까요?
-
미해결단 두 장의 문서로 데이터 분석과 시각화 뽀개기
20강 관련 문의드립니다.
df4 = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000), 'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c']) 위의 코드는 20강중에 나온 차트입니다.이와 관련해서 2가지가 궁금해서 질문드립니다. 앞전 예제와 같이 차트에 별달리 지정하는 파라메타도 없었는데, 이번에는 차트에 눈금이 생겼습니다. 눈금을 만들고 지우려면 어떻게 해야하는지 궁금합니다. 2. a,b,c 컬럼 차트가 겹쳐서 안나오고 따로 나오는 이유도 궁금합니다.
-
미해결프레이머를 활용하여 쉽고 간단하게 프로토타입 제작하기
Frame에 백그라운드이미지와 텍스트를 함께 설정하고 싶습니다.
export default function MyComponent(props) { return ( <Frame position="relative" width={"100%"} height={100} style={{ fontSize: 16, fontWeight: 800, color: "black" }} background={{ src: props.image }} > {props.text} </Frame> ) }이렇게 작성했는데, 이미지가 텍스트 위로 로드되어서 텍스트가 보이지 않습니다. 텍스트가 이미지 위로 로드되게 하려면 코드를 어떻게 작성해야 할까요?
-
미해결냉동코더의 알기 쉬운 Modern Android Development 입문
소스 깃허브에 올려도 되나요? (라이센스 문의)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 자유 주제에 블로그 저작권 관련한 내용은 봤습니다.블로그에 올릴 건 아니고,해당 강의 실습 한 거, 깃허브 public 레포지토리로, Today i leared으로 올려도 괜찮은가요?소스에 대게 아파치2.0라이센스가 걸어두신거 같은데, 아파치가 어떻게 적용되는지 정확하게 잘 모르기도 해서.. 한번 여쭤보려고 질문 올립니다.
-
미해결빅데이터분석기사 실기대비 (R 활용)
예상문제 작업2유형 샘플파일이 읽혀지지 않는 문제
예상문제 유형 2의 샘플 Data가 R4.2.1에서 읽혀지지 않는데 자주하는 질문보니까 교수님이 이 문제의 답변으로 R3.6.1에서 read.csv로 읽어올수 있다는 답변을 보고 그대로 했는데 R3.6.3에서 파일을 읽어오는 문제는 해결이 됐는데 다른 문제가 발생했습니다. 즉 library(dplyr)을 했을때 팩키지가 다 불려와 지지 않는 에러가 발생합니다. 그래서 파이프연산자(%>%)가 인식이 안되는 문제가 발생합니다. 결론적으로 샘플로 올리신 파일을 R4.2.1에서도 읽어올 수 있도록 해주시면 안될까요. 그러면 대단히 감사하겠습니다. R3.6.1의 환경에서 연습하는 것도 좋지만 그 버젼에서 여러 문제가 발생하니 여러일로 바쁘시겠지만 최신버젼인 R4.2.1에서 파일을 읽어올 수 있도록 해주시면 시험 연습하는데 많은 도움이 될 것으로 사료됩니다. 부탁드립니다.