묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결중고급 SQL과 실전 데이터 분석 101 문제 풀이
where 컬럼에 함수를 적용하는건 좋지 못하다고 들었습니다.
강의 연습문제 where 컬럼에 함수를 래핑해서 조건을 만족하는 문제를 보았는데요, 테이블 행수가 적을 땐 문제가 안된다고 들었는데, 행 수가 많을때는 컬럼에 함수를 래핑하면 인덱스 적용 불가 및 모든 컬럼에 함수를 적용해야해서 성능이 안좋아진다고 들었는데, 선생님의 의견 궁금합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
인기글 컨슈머 질문
안녕하세요 강의 잘 듣고 있습니다. 인기글 컨슈머 관련해서 궁금한 점이 있습니다. 컨슈머와 api가 동일한 hotarticle 모듈에 포함되어 있는데 api는 그대로 두고 컨슈머만 스케일아웃하고 싶을 수 있을 것 같은데, 이 경우 별도의 모듈로 분리하면 될까요? 아니면 더 좋은 방법이 있을까요? 감사합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
좋아요 수 구현 PessimisticLock1 질문
안녕하세요 강사님 강의 잘 듣고 있습니다.아래 내용이 궁금하여 질문 드립니다. 질문:PessimisticLock1에서 주석 달아놓으신"트래픽이 몰리는 상황에서 유실될 수 있으니게시글 생성 시점에 미리 0으로 초기화해둘 수 있다"는 부분에서 어떤 이유로 데이터가 유실이 될 수 있는지 궁금한데 예시나 상황에 대해서 추가 설명해주실 수 있을까요?! 감사합니다.
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
MMO 3D 게임 서버의 스킬 판정을 어떻게 하면 좋을까요?
3D MMO 중에서 소수점 단위로 이동하고 모든 방향을 바라볼 수 있는 게임은 스킬 판정을 어떻게 하면 좋을까요?어려운 점은 모든 방향을 볼 수 있는 캐릭가 스킬을 사용하면 스킬 범위는 float 형태로 나와야 한다는 것 인데요.기존 강의에서 배운 맵 좌표는 int로 관리할텐데, 3D 게임은 오브젝트 위치 정보를 float 형태로 관리하기 때문에 이 둘을 동기화 하는 방법을 떠올리는게 어려웠습니다. 루키스님 질의응답과 상상을 통해서 두 가지 방법을 생각해봤습니다.(맵에 높이는 없이 x, y 축만 생각하겠습니다.)첫 번째 방법서버의 맵은 2D 타일 맵(int 좌표)으로 관리하면서 캐릭터는 정밀한 위치(float 좌표)를 가지고 있어, 스킬 히트 판단 시 정밀 판단 로직을 추가한다.아래 그림처럼 회색 캐릭터의 정확한 위치는 캐릭터가 가지고 있으며, 점유하고 있는 셀(분홍색 박스 4개)은 서버 맵에 저장합니다.현재 서버 맵에 (0,0), (1,0), (0,1), (1,1)에는 회색 캐릭터가 (3,2)에는 빨간색 캐릭터가 있습니다. 빨간 캐릭터가 방사형 or 투사체를 발사했을 때 서버는 서버는 서버 맵에서 스킬 효과 범위에 들어갈 것 같은 예상 후보가 있는지 탐색합니다.투사체가 닿는 범위인 (1,0), (2,0), (3,0), (2,1), (3,1) 을 대상으로 예상 후보 탐색예상 후보 셀에 포함된 캐릭터가 있는지 확인하고 해당 캐릭터가 실제 효과 범위에 들어가는지 판단합니다.(1,0) 셀에 회색 캐릭터가 있을 수 있으니 스킬 효과 범위 min < 캐릭터 중심점 기반 히트박스 < 스킬 효과 범위 max 인지 판단두 번째 방법캐릭터가 점유하는 셀을 더 작게 쪼개서 캐릭터 히트 박스나 조이스틱 처럼 살짝 이동할 수도 있고, 전방향 이동에 위화감이 없도록 구현 현업에서는 어떻게 구현하는지 궁금합니다!
-
미해결김영한의 실전 데이터베이스 - 기본편
### **: 복합 인덱스 순서 변경에 따른 쿼리 성능 차이가 없는 이유 분석**
안녕하세요!MySQL에서 복합 인덱스의 순서 변경이 쿼리 성능에 실질적으로 영향을 미치는지 테스트해 보고 있는데, 예상과는 다른 결과가 나와 도움을 요청드립니다.테이블 구조데이터가 저장된 테이블은 다음과 같습니다:(예시)CREATE TABLE orders ( group_id VARCHAR(10), -- 그룹 ID order_id VARCHAR(20), -- 주문 ID condition_id VARCHAR(20), -- 조건 ID contract_type VARCHAR(10), -- 계약 유형 status_code VARCHAR(10), -- 상태 코드 include_exclude_code VARCHAR(10) -- 포함/제외 코드 );데이터 분포는 다음과 같습니다:group_id는 카디널리티가 낮음 (예: 값 종류가 'A', 'B' 등 소수 종류만 있음).order_id와 condition_id는 각각 고유값(유니크하거나 높은 카디널리티)을 가집니다.실험한 쿼리복합 인덱스를 2개 생성한 후 아래의 쿼리를 실행했습니다:EXPLAIN ANALYZE SELECT order_id, include_exclude_code, group_id, contract_type, condition_id, null AS additional_condition, status_code FROM orders FORCE INDEX(ix_orders_01) -- 또는 ix_orders_02 WHERE condition_id = 'C100000001' AND group_id = 'A' AND order_id IN ( 'O20201016020421', 'O20250808368450', 'O20250808368492', 'O20250711342532', 'O20250711342535', 'O20240412709178' );생성한 인덱스인덱스 1: 데이터를 (group_id, order_id, condition_id) 순으로 정렬CREATE INDEX ix_orders_01 ON orders (group_id, order_id, condition_id);인덱스 2: 데이터를 (condition_id, order_id, group_id) 순으로 정렬CREATE INDEX ix_orders_02 ON orders (condition_id, order_id, group_id);실행 결과두 인덱스를 강제로 사용해서 실행한 결과, 실행 비용(cost), 실제 실행 시간(actual time), 그리고 사용된 인덱스 조건에서 모두 차이를 보이지 않았습니다.실행 계획 결과 (인덱스 1과 2 공통):인덱스 조건: (condition_id = 'C100000001' AND order_id IN (...) AND group_id = 'A')실행 비용(cost):15.41 rows=22실제 실행 시간(actual time):0.054~0.058초질문두 인덱스가 서로 다른 순서로 설정되었는데, 실행 결과가 동일한 이유가 무엇인가요?이런 경우 복합 인덱스의 순서가 실제 성능에 영향을 주지 않는다고 판단해도 될까요?추가로 고려해야 할 사항이 있다면 조언 부탁드립니다!
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
DTO 관련 질문
저희 회사에서는 코드를 model이나 dto 코드를 만들때 보통하나로 전부 request보내고 받고 다하던데이 강의에서는 용도마다 UserCreateRequest, UserUpdateRequest, UserResponse 이렇게 따로 만들던데 혹시 그 이유가 있을까요?
-
해결됨Real MySQL 시즌 1 - Part 1
레코드 수정시 저장공간이 부족하면
레코드를 저장할 위치가 같은 페이지내에 존재하지 않으면 다른 페이지에 저장될까요?
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
help me 도와주세요 MySQL 설치 pls 급해요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.윈도우 - MySQL 설치 안내를 보고 따라 설치를 하는데 Type and Netwroking 화면에서 Next버튼이 활성화가 되어야 하는데 되어있지 않아요. 버튼 클릭이 안됩니다. 그래서 진행이 안됩니다. 도와주세요 help me
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
32강 강의중 인텔리제이 문제
다름 아니라 강사님께서 강의 하실땐 32강 도중에 User class에 User 부분이 빨간 글씨가 나오는데왜 제가 사용하는 인텔리제이에서는 빨간 글씨가 안나오나요?그리고 좌측에 빈 객체들에 콩모양도 안나타나요혹시 제껀 무료인 Community버전인데 강사님인 유료버전이라서 그런가요?아니면 설정을 따로 해야하나요?구글에 찾아봐도 잘 안나와서 물어봅니다.학습관련 질문이 아니라 죄송합니다.
-
해결됨[백문이불여일타] 데이터 분석을 위한 기초 SQL
비교연산자 질문
질문에서 greater than, less than 등과 같은 비교연산자로 나타내는 표현들을 보고 이하, 이상, 미만, 초과 구분이 궁금합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결김영한의 실전 데이터베이스 - 기본편
is_active 컬럼의 인덱스 활용 방법
is_active는 0/1의 두 개의 값만 존재하기 떄문에 카디널리티값이 상대적으로 낮은데요,, 그렇다면 단독으로 인덱스 사용시 그 이점을 크게 누리기 어렵다고 보면 되나요?그렇다면 문제와 풀이처럼 복합 인덱스에서는 사용되는데 여러 컬럼을 복합 인덱스로 사용될 땐 효과가 극대화 된다고 보면 되나요? (0/1의 값 정렬 유무가 후위 컬럼 값 정렬에 영향을 미침)
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
Outbox와 OutBoxEvent 무엇이 다른 것인가요?
OutBoxEvent.class의 필드에 그대로 OutBox를 받으시던데 생성이유와 OutBox와 OutBoxEvent의 차이점이 궁금합니다
-
해결됨React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
Github repository는 없나요?
Notion에 있는 코드말고, Github Repository는 따로 없나요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
12.7 socket.js코드 그대로 뱃겨서 했는데, socket.request.session.color가안나오네요
socket.request.session은 서버쪽으로 잘 전달되는데, socket.request.session.color가 전달이안되네요 cors에러도 잡았는데 그래도 안잡히네요
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
DB 설계편 예상 출시일
안녕하세요. 지속적으로 질문을 드려 번거롭게 하여 죄송합니다. 혹시나DB 설계편은 언제쯤 출시되는지 여쭤볼 수 있을까요 ?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
12.7 코드 그대로 뱃겨서 햇는데 스샷같이 오류가뜹니다.
완전히 똑같이 복붙하고 실행했는데 계속 이메시지가 프론트엔트에 뜨네요
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
강의 내용
안녕하세요. 김영한 선생님! 자바에서부터 DB 까지 정말 훌륭한 과목들을 개설해주셔서 정말 감사합니다.저는 학교에서 배우는 DB 예습용으로 배우고 싶은 마음이 큰데, 영한 선생님께서 입문편, 기본편에서 다루는 내용들이 아래에 있는 내용들을 상당 부분 커버가 가능한지 여쭤보고 싶습니다. 바쁘실텐데 시간내어 댓글을 작성해주셔서 감사드려요. 데이터베이스의 기초 및 관계형 데이터베이스 (Foundational concepts)데이터베이스 시스템이 무엇인지, 데이터베이스를 효과적으로 설계하는 방법데이터 모델, 관계형 모델, 관계형 데이터베이스 및 애플리케이션, 스키마, 정규화 등엔티티-관계 모델링 (Entity-Relationship Modeling)관계형 데이터베이스의 논리적 설계 (Logical design)관계형 대수 (Relational Algebra)데이터베이스 보안데이터베이스 관리 시스템의 아키텍처 및 구현 (Database management system architecture and implementation)데이터베이스 관리 시스템의 소프트웨어 아키텍처, 알고리즘 및 구현 기술메모리 계층, 저장 시스템, 캐싱/버퍼 풀, 인덱스, 쿼리 처리, 쿼리 최적화트랜잭션 처리, 격리 및 동시성 제어데이터베이스 질의 및 애플리케이션 개발데이터베이스를 쿼리하는 방법 (SQL)데이터베이스 애플리케이션을 개발하는 방법쿼리 최적화 및 트랜잭션 처리 개요다양한 데이터베이스 유형 및 데이터 처리 (NoSQL – “Not Only SQL” databases & Data Enabled Decision Support)NoSQL 데이터베이스: "NoSQL" 데이터 모델과 데이터베이스의 필요성, 예시 및 사용 사례클라우드 데이터베이스 및 DaaS (Databases-as-a-service)데이터 기반 의사결정 지원: 데이터 웨어하우스, 데이터 가져오기 및 정제 (data import and cleanse), OLAP, 피벗 테이블, 스타 스키마, 보고 및 시각화클러스터링, 분류, 분석, 마이닝 등 분석 기법 개요
-
미해결김영한의 실전 데이터베이스 - 기본편
문제와 풀이: 특정 상사의 부하 직원 찾기
[질문 내용]저는 FK에서 PK로 조인하고 id로 찾았는데,PK에서 FK를 조인한 후 name으로 찾는 것과의 차이를 모르겠습니다.자식 입장에서는 PK가 하나이기 때문에 한 행이고, 부모에서 FK를 볼 땐 여러 개일 수도 있으니 여러 행일 수 있다는 것은 이해했지만이 경우에는 어떤 차이점이 있는지, 안좋은 방식인지, 틀린 건지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
문제 4번 실행 결과
[질문 내용]문제 4번 실행 결과가 강의와 pdf에서는이렇게 돼있는데 영한님이 직접 실행해보신 것과 제가 실행했을 때에는'세종대왕'님과 '션'의 위치가 달라서 잘못 푼 줄 알았습니다! ㅋㅋㅋ
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
21강 생성자에서 의존성 주입과 관련하여 질문 있습니다.
생성자에서 필드에 의존성 주입하면예를 들어 컨트롤러 생성자를 만들때 서비스 필드에 의존성 주입해주면 그때는 @Autowired가 자동으로 존재한다고 했는데 이 @Autowired 는 생성자의 파라미터를 전부 빈으로 등록시켜주는건가요?만약 그렇다고 한다면 생성자의 파라미터가 객체가 아닌 경우는 어떻게 되는건가요?혹시 객체 타입 파라미터만 빈으로 등록시켜주고 객체가 아닌 파라미터는 빈으로 등록시켜주지 않나요?