SlideShare uma empresa Scribd logo
1 de 51
도메인주도설계
Domain-Driven
Design
2022.05.20
키트웍스 김천규
1
https://roadmap.sh/backend
2
소프트웨
어란
무엇인가?
3
소프트웨어
프로젝트의 목적은
사용자에게 가치
있는 소프트웨어를
개발하는 것입니다.
4
실상은…
5
6
도메인 주도
설계(DDD)에서는
이렇습니다.
프로젝트에 반영하기 위해서는
기술보다 도메인이 더 높은 우선순위
어떤 문제를 하기 위해서는 항상 도메인을 먼저
고민하는 것
그 도메인들을 바탕으로 설계(Design)
프로젝트에 지속적으로/반복적으로 반영하여
개발(Development)
7
도메인이란?
사용자가 사용하는 것들은 모두 도메인(Domain)
== 업무의 집합 (업무 지식이자 요구사항)
8
9
DDD 도 하나의
패러다임
Ex) 애자일 개발 방법론 =
빠르게 소통하는 것을 통해 개발 항목들과 이슈들을
정리하고 해결
• 개발해야 할 항목이 줄어들지 않습니다.
• 기존의 이슈들을 해결하더라도, 프로젝트가
진행되면서 더 많은 이슈들이 발생합니다.
• 서로 간의 의견이 달라 논의가 길어지거나 자주
발생합니다.
• 고객이 기다려주지 않습니다.
• 기존의 이슈들의 우선순위가 자주 다음으로
미루어집니다.
10
DDD 의사 소통(Communication)의 한계
1. 연관된 요소가 많을 경우
대화 주제의 범위를 소규모에서 점진적으로 확대
2. 표현의 차이가 있을 경우
=> 서로 같은 의미로 말하고 있는지 다른 의미로 말하고 있는지?
=> 도메인 지식의 숙련도 차이
11
Why?
12
그럼에도 알아야하는 이유는?
기술 관점으로만은 한계가 있다.
13
객체지향 설계, MVC 등등
Database-Driven Design…
SOLID
SOLID는 객체 지향(Object-Oriented)에서 반드시 지켜야 할 5개의
원칙
• SRP(Single Responsibility Principle, 단일 책임 원칙)
• OCP(Open-Closed Principle, 개방-폐쇄 원칙)
• LSP(Liskov Substitution Principle, 리스코프 치환 법칙)
• ISP(Interface Segregation Principle, 인터페이스 분리 원칙)
• DIP(Dependency Inversion Principle, 의존성 역전 법칙)
14
가정을 해봅시다.
1. 하나의 소프트웨어를 개발
2. 모듈(module), 변수(variable),
함수(function) 등의 의존성을
완벽하게 최소화
3. 같은 팀의 모든 개발자들이
이해하고 공유할 수
있는 프로그래밍
스타일(programming style)도
지킴
15
생각해볼 주제
• 구현 1년 후, 특정 기능에 버그가 발생했습니다. 어떤 1개의 기능에 대해 100개의
모듈이 존재한다면, 어떻게 찾아야 할까요?
• 내가 개발한 기능에서 다른 개발자가 새로운 동작을 추가해야 합니다. 기존에 이
기능과 관련된 100개의 동작이 있었습니다. 추가할 위치를 어떻게 찾고,
어떻게 추가해야 할까요?
• 내가 또는 다른 개발자가 개발한 기능을 수정하면서 side-effect가 발생하지 않을
것이라는 것을 무엇을 근거로 신뢰해야 할까요?
• 구현 1년 후, 각 요소들이 왜 그렇게 적용되었는지 어떻게 설명해야 할까요?
• 다른 개발자가 내가 개발한 기능과 함께 전체 로직을 설명해야할 상황이
발생하였습니다. 그 기능의 무엇 때문에 그렇게 구현하였는지 어떻게 설명해야
할까요?
16
이상적이여도 의구심이 생기는데?
17
현실에서는?
18
동작이 우선이다.
19
도메인 주도 설계: 온라인 음식 주문 업무
20
Step1. Domain Event 정의
기능을 우선 모두 나열하는 단계
이벤트
21
Step2. Tell the story:
도출된 이벤트로 도메인의 업무 흐름을 이해하고 토론하여 보완
22
Step3. 프로세스로 그룹핑:
이벤트들을 프로세스로 그룹핑
프로
세스
23
Step4. Command 정의
각 Domain Event를 발생시키는 명령을 현재형으로 정의하며 명령형
=> 서술식을 개조식으로 바꾸면 됨
24
Step5. Trigger 정의
Command를 일으키는 Actor와 Event를 일으키는 External System와 Policy/Rule을 정의
Actor == 구체적인 사용자 유형
External System == 연계되는 외부 시스템
Policy/Rule == 이벤트와 관련된 정책이나 규정
25
Step5. Trigger 정의
26
Step6. Aggregate 정의
Aggregate는 Entity와 VO의 집합
27
Step 7. Bounded Context정의 - "분홍색"
28
Solution Space: Context Map
Shared Kernel: 복수의 Bounded Context가 공통으로
사용하는 Bounded Context간의 관계
Upstream-Downstream: Publisher(=Upstream)와
Subscriber(=Downstream) 관계
Bounded Context의 특성 종류
Open Host Service: 여러 종류의 Downstream Bounded
Context를 고려하여 설계되는 Upstream Bounded Context
Anti Corruption Layer: 다른 Bounded Context에서 받는
데이터를 본인에 맞게 구조, Type, 통신프로토콜 등을
변환해 주는 모듈계층을 가지는 Bounded Context. 보통
Downstream Bounded Context가 ACL을 가짐.
29
도메인주도 설계와 아키텍처
• 계층형 아키텍처
• 헥사고날 아키텍처
• 클린 아키텍처
30
Layered Architecture
Service Layer
 Domain Layer와 Data Layer의 간의 제어, 연결
 Biz logic을 layer에 구현 X
Domain Layer
=> Domain Object별로 Business Logic처리를 담당
Data Layer
Database와의 CRUD처리 Layer
Spring boot, JPA에서는
Presentation Layer => @Controller, @RestController
Service Layer, Domain Layer => @Service
Data Layer => @Repository, @Entity
31
Transaction script vs Domain Model
32
DDD 관점으로 프로그래밍을 해보자
1. VO
2. Entity
3. Service
4. Repository
33
VO(값 객체)
1. 값의 불변성
2. 교환이 가능하다.
3. 등가성 비교 가능
원시 타입(number, string 등)만으로 표현할 수 없는게 있다.
금액 계산 예시
34
VO(값 객체) = Money 예시
35
그냥 더하기, 빼기는 숫자로 하면 되는 거
아니야?
36
VO(값 객체)
금액끼리는 더하기, 빼기는 되지만 곱하기, 나누기는 불가
1000 + 2000 = 3000
1000 * 2000 = 2000000 ?
음수를 처리는 어떻게? 0으로만 표기, 차액으로 표기할지?
1000 – 2000 = -1000
1000 – 2000 = 0
원화/달러/엔화 등 통화가 다를 때는 고려를 어떻게?
37
VO(값 객체) = Money 예시
38
Entity(엔티티)
1. 가변이다
2. 속성이 같아도 구분할 수 있다
3. 동일성
사람을 예시로
39
누군가를 식별할 수 있는 기준?
40
Entity
41
Entity와 VO 간 판단 기준?
엔티티에는 생애주기가 있다.
42
엔티티는 시간에 따라 계속 변한다.
43
Service(서비스)
44
Entity나 VO에서 행하기 부자연스러운 로직을 정의 해놓는 곳
예시) 회원가입 기능
User 엔티티
회원이 스스로 등록하는 거는 이상
Repository(레파지토리)
도메인 객체를 저장하고 복원하는 퍼시스턴시
DB에 쓰고/읽기 기능만 (CRUD) 책임
45
DDD가 왜
필요할까?
46
47
48
49
감사합니다.
50
출처
https://medium.com/@dreamingsandwich/도메인-주도-설계-domain-
driven-design-in-real-project-1-도메인-83a5e31c5e45
https://happycloud-lee.tistory.com/94
https://helloworld.kurly.com/blog/road-to-ddd/
https://velog.io/@teo/Javascript에서도-SOLID-원칙이-통할까
참고도서
도메인 주도 설계 철저 입문 (코드와 패턴으로 밑바닥부터 이해하는
DDD)
51

Mais conteúdo relacionado

Mais procurados

임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
devCAT Studio, NEXON
 
Windows system - memory개념잡기
Windows system - memory개념잡기Windows system - memory개념잡기
Windows system - memory개념잡기
ChangKyu Song
 
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
min woog kim
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
Seungjae Lee
 
Compute shader
Compute shaderCompute shader
Compute shader
QooJuice
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010
devCAT Studio, NEXON
 

Mais procurados (20)

실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
 
스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기
 
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
 
AAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxAAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptx
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
 
Windows system - memory개념잡기
Windows system - memory개념잡기Windows system - memory개념잡기
Windows system - memory개념잡기
 
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
 
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
 
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
 
Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
 
Compute shader
Compute shaderCompute shader
Compute shader
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010
 

Semelhante a 도메인주도설계

홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
devCAT Studio, NEXON
 
Domain driven design 8장
Domain driven design 8장Domain driven design 8장
Domain driven design 8장
kukuman
 
[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장
sung ki choi
 
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

Semelhante a 도메인주도설계 (20)

[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
객체지향프로그래밍 특강
객체지향프로그래밍 특강객체지향프로그래밍 특강
객체지향프로그래밍 특강
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 
하드웨어 스타트업의 소프트웨어 이야기
하드웨어 스타트업의 소프트웨어 이야기하드웨어 스타트업의 소프트웨어 이야기
하드웨어 스타트업의 소프트웨어 이야기
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
 
MSA_기초자료.pdf
MSA_기초자료.pdfMSA_기초자료.pdf
MSA_기초자료.pdf
 
Domain driven design 8장
Domain driven design 8장Domain driven design 8장
Domain driven design 8장
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
 
[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
 
Lost practice : Requirement Analysis
Lost practice : Requirement AnalysisLost practice : Requirement Analysis
Lost practice : Requirement Analysis
 
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
 
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
클라우드 세상에서 IT 관리자로 살아남기 - AWS Summit Seoul 2017
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기
 
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
 
델파이 소스코드의재발견
델파이 소스코드의재발견델파이 소스코드의재발견
델파이 소스코드의재발견
 

Mais de Wonjun Hwang

Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
Wonjun Hwang
 
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
Wonjun Hwang
 
스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)
Wonjun Hwang
 
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
Wonjun Hwang
 
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Wonjun Hwang
 

Mais de Wonjun Hwang (20)

Spring HTTP Client (Kitworks Team Study)
Spring HTTP Client (Kitworks Team Study)Spring HTTP Client (Kitworks Team Study)
Spring HTTP Client (Kitworks Team Study)
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)
 
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
 
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
 
Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)
 
JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)
 
Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)
 
XSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team StudyXSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team Study
 
Flutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team StudyFlutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team Study
 
PWA
PWAPWA
PWA
 
얕은복사,깊은복사
얕은복사,깊은복사얕은복사,깊은복사
얕은복사,깊은복사
 
Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기
 
완전 유용한 CSS 모음
완전 유용한 CSS 모음완전 유용한 CSS 모음
완전 유용한 CSS 모음
 
2024 개발 트렌드
2024 개발 트렌드2024 개발 트렌드
2024 개발 트렌드
 
디바운싱과 쓰로틀링
디바운싱과 쓰로틀링디바운싱과 쓰로틀링
디바운싱과 쓰로틀링
 

도메인주도설계