묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
verify_token 함수의 네이밍에 대한 질문입니다
안녕하세요!JWT 구현 중 verify_token 함수의 네이밍이 궁금합니다. app/core/jwt_handler.pydef verify_token(token: str) -> int: payload = decode_token(token) return payload.get("uid") verify라는 이름은 보통 boolean을 반환할 것 같은데, 실제로는 uid(int)를 반환하고 있어서 조금 헷갈립니다. get_uid_from_token이나 extract_user_id 같은 이름이 더 명확하지 않을까요? 감사합니다!
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
DDL 구문에서의 COMMENT 활용 방법 문의드려요.
안녕하세요. 테이블 정의서를 열어서 보다 자세한 사항을 확인하기 전에접속된 세션에서 MySQL에 생성된 DDL 구문을 툴에서 추출하여 먼저 구조를 파악하고자COMMENT를 활용하여 "컬럼 한글명(논리명)" 기입하여 사용하려고 하는데비고 같이 진짜 설명을 써놓는 사례도 있는 것 같아서 혹시, 실무에서 COMMENT를 어떻게 활용하시는지 궁금합니다. Ex) -- 실습용 쇼핑몰 테이블 정의서 member 테이블의 login_id에 -- comment "컬럼 한글명(논리명)" 적용 예시 (하고 싶은 방향)login_id VARCHAR(50) NOT NULL COMMENT '로그인 ID' -- comment "비고 같이 길게 설명" 예시login_id VARCHAR(50) NOT NULL COMMENT '로그인 시에만 사용하는 별도의 아이디로, 이메일 및 블로그 등을 통해 외부로 노출되지 않는 보안설정입니다. '
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
레거시 프로젝트를 현대적 PK 설계 방식으로 변환하는 과정이 궁금합니다.
현대적 설계에서는 대리키 PK와 자연키 UNIQUE 제약조건으로 데이터베이스 설계하는 것이 합리적이고 안정적이라고 하셨는데요아직 대부분 레거시 프로젝트는 자연키를 PK로 사용하거나, 일부 테이블은 대리키로 PK를 사용하지만 여전히 많은 테이블들은 해당 일부테이블의 PK를 FK를 사용하여 복합 PK로 생성하여 사용하는 경우가 많습니다.이런 레거시 프로젝트들의 복합 PK를 대리키 PK로 변환한다고 하면 전체적인 데이터베이스 구조를 재 설계해야 하는것이 맞겠지만 만약 기존 운영중인 테이블 구조를 유지하면서 PK를 변환하게 된다면, 기존 운영중인 테이블에 대리키 PK를 생성 후 기존 사용중이던 복합 PK에 UNIQUE 설정을 추가해주는 방식으로 변환하면 큰 문제가없을까요? 아니면 비즈니스 상황에따라 추가 제약조건을 추가해야 할 것들이 있을까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
데이터 베이스 판단 기준
안녕하세요실무에서 RDBMS, NoSQL을 선택하는 기준에 대해서 궁금합니다.어떤 서비스에서 어떤 데이터 베이스가 더 적합한지 판단하는 기준이 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
spring 개념적인 질문
스프링을 사용하는 이유 중 하나가 스프링 컨테이너를 통한 의존성 주입(DI)이라고 알고 있습니다.그러면 스프링 컨테이너가 Bean을 관리하기 때문에, 자동으로 싱글톤 패턴이 적용된다고 이해해도 될까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
현업에서 많이 사용되는 상용 툴은 어떤게 있나요?
안녕하세요!강의에서 상용툴에 대한 코멘트를 짧게 해주셨는데, ERD나 DDL 만들 때 현업에서 많이 사용되는 상용툴은 어떤게 있는지 궁금합니다!
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
실무에서 외래키의 사용
안녕하세요. 강의 잘 보고 있습니다!다름이 아니라, 제가 알고있는 짧은 지식으로는실무에서는 실제 외래키 관계가 있더라도, 외래키를 선언하는걸 지양하는 것으로 알고 있습니다. 혹시 영한님은 실무에서 외래키를 선언하여 외래키 제약조건 사용을 지향하셨는지가 궁금합니다!!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
도커 설치
윈도우 버전 이슈로 로컬에 도커를 설치 못하는 상황인데요 (예전에도 설치 이슈있어서 해결하려다가 실패) 혹시 해결 방법 알고 계실까요?해결이 어려우면 깃허브 코드스페이스에서도 실습이 가능한 내용일까요
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
draw.io 다크모드 어떻게 할수있을까요?
영한님 안녕하세요.강의 영상 처럼 draw.io 다크모드로 변경하고 싶은데 어떻게 할수있을까요? 감사합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
mysql 인덱스 생성 시 컬럼의 우선순위 질문
9:05분 쯤에create unique index idx_article_id_path on comment_v2 ( article_id asc, path asc );이렇게 인덱스 컬럼에 asc를 붙이신 이유가 있을까요? 생략할 수 있지 않나 해서요!order by는 확실히 asc 생략해도 무방한데, 인덱스는 좀 헷갈려서 질문 드립니다.
-
해결됨백엔드 개발자 성능 개선 초석 다지기
thread pool
common pool을 사용하지 않도록 thread pool을 설정 해야 된다고 주의사항을 적어주셨는데 그 이유는 무엇인가요?그리고 둘의 차이는 onPool-worker-3, pool-1-thread-8 이라고 알려주셨는데 차이가 이거밖에 없는건가요?
-
해결됨실전! 데이터베이스 완전정복 [설계편]
인덱스 사용 패턴 질문
안녕하세요, 강의 중 궁금한 점이 생겨 질문드립니다.GROUP BY 사용 패턴3: 필터링 후 그룹화에서 WHERE status = 'paid' GROUP BY status ORDER BY status처럼 동일한 컬럼을 사용하는 경우, 하나의 인덱스로 효율적으로 처리할 수 있다고 말씀하셨는데요.이 경우 WHERE 절에서 status = 'paid'로 필터링하면, 결과가 모두 동일한 status 값을 가지게 되어 GROUP BY나 ORDER BY를 추가해도 WHERE 절만 사용한 것과 결과가 동일하지 않을까요?궁금한 점:WHERE, GROUP BY, ORDER BY에서 동일한 필드를 사용하는 실제 사용 사례가 있을까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
id bigint unsigned
테이블 만드실 때 id의 타입을 bigint 로 하고 unsigned는 선언하지 않으셨는데, 굳이 필요 없어서 사용하지 않으신걸까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
created_at, updated_at 자동화는 DB, JPA 중 어느곳에서 하는게 좋을까요?
안녕하세요 영한님!11강에서 created_at과 updated_at 값을 데이터베이스의 DEFAULT CURRENT_TIMESTAMP과 ON UPDATE CURRENT_TIMESTAMP 기능을 사용하는 가이드에 대해 다뤄주셨는데요. Spring Data JPA를 사용하면 아래와 같이 @EnableJpaAuditing 을 사용하여 Application 단에서 Auditing 기능을 사용할 수 있는 걸로 알고 있습니다.@EntityListeners(AuditingEntityListener.class) @MappedSuperclass @Getter public class BaseEntity { @CreatedDate @Column(updatable = false) private LocalDateTime createdAt; @LastModifiedDate private LocalDateTime updatedAt; }만약 위와 같은 JPA 기능을 데이터베이스와 같이 사용한다면, Application 단에서 createdAt , updatedAt 값이 채워진 채로 저장되고, DB에서 한 번 더 덮어쓰는 구조가 될 것 같더라고요. 실무에서 created_at과 updated_at 값을 채울 때, @EnableJpaAuditing 과 데이터베이스의 DEFAULT CURRENT_TIMESTAMP과 ON UPDATE CURRENT_TIMESTAMP 중 어떤 것을 사용하는게 더 나은 선택일지 궁금합니다. 각각을 사용했을 때 유리한 케이스가 따로 있을까요?
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
논리적 실행 순서에서 SELECT 설명 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. SQL 쿼리의 논리적 실행 순서에서 SELECT 절 설명에 대한 질문이 있습니다.SELECT 절에 SUM, COUNT 같은 집계 함수 계산이라는 부분이 있는데 이 내용은 GROUP BY 에서 HAVING 으로 넘어갈 때 이루어지는 것이 아닌가요? HAVING 절에서 집계 함수로 필터링이 가능한데 이 계산이 SELECT 에서 이루어진다는 것이 이해가 가지 않아서 질문드립니다.
-
해결됨실전! 데이터베이스 완전정복 [설계편]
논리적 삭제 적용시 INDEX 생성 전략
안녕하세요 논리적 삭제를 위한 컬럼 적용시 해당 테이블에서 조회할때 조회 조건에 항상 deleted_at 컬럼이 포함될거 같은데요 그러면 INDEX생성에 반영해주는게 좋을까요?
-
해결됨React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
6-2 강의 노션 코드 오타인거죠? 2
위치:SingleTopic/Chart/ChartCanvas.jsx (39번 라인)문제: stroke={colors[i].bg} // ❌ 현재 코드원인:voteColors.js의 실제 구조는 문자열 배열입니다예: 2: ["#10B981", "#F43F5E"].bg 프로퍼티가 존재하지 않아 undefined 반환해결:stroke={colors[i]} // ✅ 수정 코드결과: 수정 후 차트 선 색상이 정상적으로 표시됩니다.제안:후속 수강생들을 위해 강의 자료 업데이트 부탁드립니다. 강의 노션 코드에 오타가 너무 많아서 도움을 주는 자료인지 강의 진행을 방해하는 자료인지 모를 정도입니다. 솔직히 좀 심각합니다.감사합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
*가 아니가 article_id로 count를 뽑아줘야 할까요?
@Query( value ="select count(t.article_id) from ( " + " select article_id from article where board_id = :boardId " + "limit :limit " + ") t", nativeQuery = true ) Long count(@Param("boardId") Long boardId, @Param("limit") Long limit);위와 같이count(*)가 아니라 count(t.article_id) 처럼 alias도 붙여야 하고, 모든 걸 뽑는 게 아니라 딱 서브쿼리 안에서 추출한 article_id만 count로 뽑아줘야 테스트가 통과되더라고요.이유가 있을까요...?
-
미해결김영한의 실전 데이터베이스 - 기본편
인덱스를 활용하여 검색할 때 궁금한 점이 있습니다.
sellers와 items 테이블이 있을때두 테이블을 조인한다고 할때만약 items에 seller_id가 외래키로 잡혀 있지 않을 경우select * from items i join seller s on i.seller_id = s.seller_id이렇게 조인하면 풀스캔 조인이 일어나는 걸까요?추가적으로 select * from items i join seller s on i.seller_id = s.seller_idwhere s.seller_id = '행복상점'과select * from items i join seller s on i.seller_id = s.seller_idwhere i.seller_id = '행복상점'이렇게 두 쿼리를 실행 할떄 첫번째 쿼리는 인덱스를 활용해 검색을 하고 두번째 쿼리는 테이블 풀스캔을 해서 검색할까요?
-
해결됨김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
이미 개발이 끝난 프로젝트에서도 용어사전이 필요할까요?
강의 도중 용어사전에 대해 나왔는데 현재 프로젝트가 이미 끝나서 배포가 된 상황인데 지금이라도 용어사전을 만드는게 나을까요...?