yh
@yh
受講生
580,311
受講レビュー
39,873
講義評価
5.0
교육자
전: 우아한형제들 기술이사, 카카오, SK플래닛
진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.
저의 개발 인생 이야기
EO 인터뷰 영상
개발바닥 - 시골 청년 개발왕 되다
취업과 이직에 대한 고민 해결
講義
受講レビュー
- すべての開発者のためのHTTP Webの基本知識
- キム・ヨンハンの実践Java - 中級1編
投稿
Q&A
category_path 테이블에서 idx_descendant 인덱스를 생성하는 이유가 궁금합니다
안녕하세요. 개발하는쿼카님이 인덱스가 부분이 중요한 내용이라, 여기서는 인덱스의 이름을 명시적으로 지정해주기 위해서 직접 사용했습니다 🙂인덱스의 이름을 명시적으로 지정하거나, 인덱스의 조건을 좀 더 다르게(역방향 등등) 주고 싶다면 인덱스를 직접 만들면 됩니다. 물론 FK 인덱스와 중복으로 만들어지지는 않고, 명시적으로 지정한 인덱스가 사용됩니다.감사합니다.
- 0
- 2
- 15
Q&A
자바 동시성 현업에서 사용예시가 궁금합니다
안녕하세요. kkkkhh님재고나 포인트 같은 글로벌 데이터는 말씀하신 대로 DB 락이나 Redis가 맞습니다.그럼에도 자바 동시성 기술은 각 서버의 성능 최적화를 위해 필수적입니다.1. 로컬 캐싱 & 버퍼링: DB 부하를 줄이기 위해 조회수를 메모리에 모아 한 번에 저장Atomic)하거나, 공통 데이터를 캐싱ConcurrentHashMap)할 때 사용합니다.2. 비동기 & 병렬 처리: 이메일 발송 같은 작업을 별도 스레드로 빼거나, 여러 데이터를 동시에 조회해(CompletableFuture) 사용자 응답 속도를 획기적으로 높일 때 사용합니다.요약하자면 DB는 데이터 정합성을, 자바 기술은 서버 내부의 효율과 속도를 책임진다고 보시면 됩니다.감사합니다 🙂
- 0
- 1
- 29
Q&A
2.스레드 생성과 실행 - 17P 그림 문의
안녕하세요. 드림보이즈-DREAMBOYS님해당 그림은 사실 몇가지가 겹쳐 있는데요. 스레드 객체의 생성과 실행이 둘다 포함되어 있는 그림입니다.참고로 생각하신 것과 같이 실제 start()를 호출해야 스레드가 실행됩니다.강의를 보시면서 start()가 중간에 있으면 객체의 생성과 실행이 함께 포함된 그림으로 이해하시면 됩니다 🙂감사합니다.
- 0
- 2
- 31
Q&A
수업자료 pdf파일관련 건의 - 제목 링크위치 개선
돼감님 감사합니다 🙂제가 사용하는 편집 툴에 버그가 발생했네요.문서는 고쳐서 새로 업로드해두었습니다^^다시 한번 감사합니다!
- 0
- 2
- 32
Q&A
강의 자료에 사소한 오타가 있습니다
SpRingLJM님 감사합니다 🙂다음 패치에 반영할게요!
- 0
- 2
- 29
Q&A
gradle 설정 안떠서 질문 남깁니다!
안녕하세요. 준석님아마도 IntelliJ 버그로 보이는데요. 우선은 저도 어떤 문제인지 정확히 잘 모르겠습니다.실행에 문제가 없다면 해당 메뉴의 Gradle 설정 없이 그냥 진행하셔도 무관합니다.왜냐하면 IntelliJ 최신 기본 설정이 메뉴얼에서 설명하는 것과 같은 Gradle로 실행이기 때문입니다 🙂혹시 또 진행하면서 어려움이 있으면 질문 남겨주세요.감사합니다.
- 0
- 2
- 49
Q&A
혹시 Containing 을 안쓰신 이유가 있을까요?
안녕하세요. 이상우님이 경우 특별한 이유는 없고, 강의 진행 과정에서 이해하시는 분들이 이해하기 쉬운 방법을 선택했습니다 🙂추가로 JPA에서 %를 어떻게 사용하는지도 설명이 필요했습니다.감사합니다.
- 0
- 2
- 31
Q&A
common_code_detail의 code 변경 가능성
안녕하세요. 박호정님공통 코드는 개발 생산성과 가독성을 위해 Natural Key를 사용하며, 불변성 원칙을 실무적으로 타협합니다.코드가 변경(예: SHIPPING 분리)될 때는 PK를 직접 수정(UPDATE)하지 않습니다. 대신에 데이터를 마이그레이션 하는데요. 예를 들면 다음과 같습니다.신규 생성: 새로운 코드(SHIPPING_START, SHIPPING_COMPLETED)를 만듭니다.데이터 이관: 기존 데이터를 새 코드(SHIPPING_COMPLETED)로 업데이트합니다.구 코드 폐기: 기존 코드(SHIPPING)는 사용 중지 처리합니다.이렇게 하면 이론적인 제약을 피하면서 안전하게 데이터를 관리할 수 있습니다.감사합니다.
- 1
- 1
- 59
Q&A
[해결책 - 코드값 분리] 중 orders(order_status) - common_code(code) 타입 불일치 제보
안녕하세요. 박호정님 🙂뒤에서 설명하지만 공통 코드의 경우 여러 테이블에서 범용적으로 사용되기 때문에 좀 더 넉넉한 길이를 사용하기도 합니다 🙂감사합니다.
- 0
- 1
- 51
Q&A
이미 문자열 타입인 컬럼을 캐스팅하는 이유
안녕하세요. ZZAMBA님말씀하신 내용이 맞습니다 🙂이 경우 문자 -> 문자이기 때문에 name AS CHAR과 같은 케스팅은 무의미합니다.(강의 내용을 수정해야겠네요 ㅎㅎ)그런데 이런 케스팅이 필요할 때가 있습니다.이 경우 VARCHAR(100)으로 문자의 길이가 넉넉하기 때문에 크게 의미가 없지만 다음과 같은 경우에는 도움이 됩니다. 재귀 CTE에서 결과 테이블의 컬럼 데이터 타입과 길이(Length)는 첫 번째 SELECT 문(Anchor Member, 기본 케이스)에 의해 결정됩니다.즉 여기서는 VARCHAR(100)이 됩니다.하지만 UNION 하는 다음에는 문자를 계속 이어붙이게 됩니다. 1단계: '전자제품' (길이 4) -> 문제없음2단계: '전자제품 > 컴퓨터' (길이 9) -> 문제없음...N단계: 경로가 계속 길어져서 100자를 넘어가게 되면?이 경우 다음과 같은 오류가 발생합니다.Error Code: 1406. Data too long for column 'path' at row 1이때 CAST(name AS CHAR(200))처럼 넉넉한 값을 주면 이런 문제를 피할 수 있습니다.예시의 경우에는 CHAR라고만 적고 길이 숫자를 입력하지 않았는데요. 이렇게 하면 처음에 설정한 VARCHAR(100)의 길이를 그대로 사용합니다.감사합니다.
- 0
- 2
- 65







