SlideShare a Scribd company logo
@OpanAPISpec @SwaggerCodegen @Daou_S/W_Labs @Design
API First Design
설계의 선순환
• 다우기술 비즈 플랫폼팀 김 정규
APIFirstDesign 설계의선순환
안녕하세요 J
다우기술 비즈 플랫폼 팀 김 정규 입니다.
Introduce
다우오피스 로그 플랫폼 구축 및 유지보수 담당.
책을 좋아하고,
발표를 즐겨하며,
사람을 좋아합니다.
joenggyu0@gmail.com
hihi3039
LenKIM
APIFirstDesign 설계의선순환What is API First Design?
협업하는 개발 프로세스에서 API 를 첫 번째 우선 순위로 가져가는 것
API First Design 설계의 선순환
왜 API-First가 필요한 걸까?
API-First Design 의미란 무엇일까?
어떻게 API-First Design 동작 되는 걸까?
API-First Design 의 장점은 무엇일까?
SwaggerCodeGen 을 활용한 API-First Design 실천 해보기
Road Map
APIFirstDesign 설계의선순환What is API First Design?
API-First Design
APIFirstDesign 설계의선순환What is API First Design?
API-First Design
APIFirstDesign 설계의선순환What is API First Design?
Release 가 증가함에 따른 개발 비용
APIFirstDesign 설계의선순환
COST/ LOC
0
50
100
150
200
250
300
350
400
1 2 3 4 5 6 7 8
처음 릴리즈의
약 40배
Major Release
What is API First?
0
20
40
60
80
100
120
1 2 3 4 5 6 7 8
APIFirstDesign 설계의선순환
Release 별 생산성
What is API First?
처음 릴리즈의
약 40배
APIFirstDesign 설계의선순환
• 기능이 동작만 하면 아키텍처 개선 없이 다음 기능 구현
• 기능 변경: 복붙 + 일부 수정 => ‘향후 문제시 해결 카드’
• 공유 부족으로 소수의 개발 인력에 대한 의존도 높아짐
• 좋은 설계, 아키텍처 그리고 클린 코드에 주의를 기울어야 ....
아키텍처의 중요성
엉망진창의 징후
What is API First?
APIFirstDesign 설계의선순환
• 기능이 동작만 하면 아키텍처 개선 없이 다음 기능 구현
• 기능 변경: 복붙 + 일부 수정 => ‘향후 문제시 해결 카드’
• 공유 부족으로 소수의 개발 인력에 대한 의존도 높아짐
• 좋은 설계, 아키텍처 그리고 클린 코드에 주의를 기울어야 ....
아키텍처의 중요성
엉망진창의 징후
What is API First?
APIFirstDesign 설계의선순환
“ Big Ball of Mud ”
What is API First?
“the only way to go fast, is to go well”
생산성 저하와 비용증가를 뒤집을 수 있는 유일한 방법은
SW 아키텍처의 품질에 대해서 신중을 기하는 것.
APIFirstDesign 설계의선순환
SW 개발의 단순한 진리
What is API First?
API
API
API
Asrelease
Iteration
goesby..
API
“릴리즈가 증가 하게 될수록….
API는…”
API First Design 설계의
선순환
What is API First?
APIFirstDesign 설계의선순환
“ Big Ball of Mud ”
API
What is API First?
API First Design 설계의
선순환
API
Android
Web
App
Etc
IOS
릴리즈가 반복될수록…
클라이언트와의 의존도 증가
만약, 또 다른 클라이언트가
발생한다면..?
What is API First?
?
API Etc
API First Design 설계의
선순환
What is API First?
/etc/....
API Etc
API First Design 설계의
선순환
What is API First?
APIFirstDesign 설계의선순환
API FIRST 란?
What is API First?
APIFirstDesign 설계의선순환
API FIRST 란?
서비스가 개발/ 통합/ 분리 시 endpoint 역할이 되는 API 을 개발 시
고려해야하는 우선순위 1순위 로 두는 것.
개발 시
우선순위 1위!API
What is API First?
API-First Design
APIFirstDesign 설계의선순환What is Design?
API-First Design
APIFirstDesign 설계의선순환What is Design?
What is Design?
Design is to design the design of a design
1 2 3 4
noun verb noun noun
- John Heskett
A general concept
of policy
An Activity A plan of
Intention
A finished outcome
(System, service or product)
APIFirstDesign 설계의선순환
[ ] ==
디자인 은 어떠한 개념을 브레인 스토밍,사고 또는 수정하는 과정 을
통하여 도출된 주제나 요구, 문제에 대한 답변을 해 나가며 완성됩니다.
What is Design?
Design is to design the design of a design
1 2 3 4
noun verb noun noun
- John Heskett
A general concept
of policy
An Activity A plan of
Intention
A finished outcome
(System, service or product)
APIFirstDesign 설계의선순환
[ ] ==“ 협업 프로세스 “
디자인 은 어떠한 개념을 브레인 스토밍,사고 또는 수정하는 과정 을
통하여 도출된 주제나 요구, 문제에 대한 답변을 해 나가며 완성됩니다.
API-First Design
APIFirstDesign 설계의선순환What is API First Design?
개발자들간에 API 을 우선순위로 두고 협업하여 설계하는 것.
일반적인 우리의 개발 과정은?
APIFirstDesign 설계의선순환What is API First Design?
IMPL 1
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
IMPL 1
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API 2
IMPL 1
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API 2
SDK SDK SDK
Android IOS Client
3
Frontend 개발팀
IMPL 1
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API 2
SDK SDK SDK
Android IOS Client
3
Frontend 개발팀
“동기식”
IMPL 1
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API 2
SDK SDK SDK
Android IOS Client
3
Frontend 개발팀
문제점은 무엇일까?
1.Backend 개발자가 설계를 마칠 동안 Frontend 개발자는 기다려야 합니다.
2.설계 API 문서가 나왔지만, 명확하지 않을 수 있습니다.
3.기능, 버그, 개선 또는 변경이 필요한 경우 앞선 1,2,3 개발 과정이 반복되어 시간 낭비됩니다.
4.Time-in-market 시간이 길어집니다.
그렇다면,
API ­ FIRST Design는 어떤 방식일까요?
APIFirstDesign 설계의선순환What is API First Design?
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API
MOCK
Frontend 개발팀
API
MOCK
API
MOCK
1
“ 개발자들간에 API 을 우선순위로
두고 협업하여 설계하는 것. ”
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API
MOCK
Frontend 개발팀
API
MOCK
API
MOCK
IMPL IMPL IMPL 2
1
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API
MOCK
Frontend 개발팀
API
MOCK
API
MOCK
IMPL IMPL IMPL 2
1
SDK SDK SDK
Android IOS Client
3
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API
MOCK
Frontend 개발팀
API
MOCK
API
MOCK
IMPL IMPL IMPL 2
1
SDK SDK SDK
Android IOS Client
3
“병렬식”
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API
MOCK
Frontend 개발팀
API
MOCK
API
MOCK
IMPL IMPL IMPL 2
1
SDK SDK SDK
Android IOS Client
3
장점은 무엇일까?
1. Backend 개발자가 설계를 마칠 동안 Frontend 개발자는 기다려야 한다.
2. 설계 API 문서가 나왔지만, 명확하지 않을 수 있다.
3. 기능, 버그, 개선 또는 변경이 필요한 경우 앞선 1,2,3 개발 과정이 반복되어 시간 낭비된다.
4. Time-in-market 시간이 길어진다.
… 기다릴 필요가 없다.
… 명확하게 전달할 수 있다.
… 시간이 절약될 수 있다.
… 단축시킬 수 있다.
Backend 개발팀
APIFirstDesign 설계의선순환What is API First Design?
API
MOCK
Frontend 개발팀
API
MOCK
API
MOCK
IMPL IMPL IMPL 2
1
SDK SDK SDK
Android IOS Client
3
Server
API
MOCK
TEST
CODE
Client
TEST
CODE
APIFirstDesign 설계의선순환
TEST 관점에서의 API FIRST 개발은?
What is API First?
FEEDBACK
APIFirstDesign 설계의선순환What is API First?
Use / Try Build
Package
Deploy
TestDesign
API FIRST Design 개발 시나리오 및 도구들
APIFirstDesign 설계의선순환What is API First?
Swagger Codegen 을 활용한 API First 실천하기
Swagger.yml
APIFirstDesign 설계의선순환What is API First?
Swagger Codegen 을 활용한 API First 실천하기
https://github.com/slippStudy/moim/
APIFirstDesign 설계의선순환What is API First?
Swagger Codegen 을 활용한 API First 실천하기
: 서버단
APIFirstDesign 설계의선순환What is API First?
Swagger Codegen 을 활용한 API First 실천하기
: 클라이언트단
@OpanAPISpec @SwaggerCodegen @Daou_S/W_Labs @Design
Thank you
감사합니다.
• 다우기술 비즈 플랫폼팀 김 정규

More Related Content

What's hot

Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3
Claus Ibsen
 
Seamless replication and disaster recovery for Apache Hive Warehouse
Seamless replication and disaster recovery for Apache Hive WarehouseSeamless replication and disaster recovery for Apache Hive Warehouse
Seamless replication and disaster recovery for Apache Hive Warehouse
DataWorks Summit
 
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
Simplilearn
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams
Amazon Web Services
 
Amazon EBS: Deep Dive
Amazon EBS: Deep DiveAmazon EBS: Deep Dive
Amazon EBS: Deep Dive
Amazon Web Services
 
Structured and centralized logging with serilog
Structured and centralized logging with serilogStructured and centralized logging with serilog
Structured and centralized logging with serilog
Denis Missias
 
Spark 2.x Troubleshooting Guide
Spark 2.x Troubleshooting GuideSpark 2.x Troubleshooting Guide
Spark 2.x Troubleshooting Guide
IBM
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
Claus Ibsen
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
Flink Forward
 
Apache Ratis - In Search of a Usable Raft Library
Apache Ratis - In Search of a Usable Raft LibraryApache Ratis - In Search of a Usable Raft Library
Apache Ratis - In Search of a Usable Raft Library
Tsz-Wo (Nicholas) Sze
 
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
XpressEngine
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQL
Amazon Web Services
 
Deep dive - AWS Fargate
Deep dive - AWS FargateDeep dive - AWS Fargate
Deep dive - AWS Fargate
Amazon Web Services
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Flink Forward
 
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
confluent
 
Redis Lua Scripts
Redis Lua ScriptsRedis Lua Scripts
Redis Lua Scripts
Itamar Haber
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
mfrancis
 
Maximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performanceMaximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performance
Amazon Web Services
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
Amazon Web Services
 

What's hot (20)

Deep Dive into AWS Fargate
Deep Dive into AWS FargateDeep Dive into AWS Fargate
Deep Dive into AWS Fargate
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3
 
Seamless replication and disaster recovery for Apache Hive Warehouse
Seamless replication and disaster recovery for Apache Hive WarehouseSeamless replication and disaster recovery for Apache Hive Warehouse
Seamless replication and disaster recovery for Apache Hive Warehouse
 
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams
 
Amazon EBS: Deep Dive
Amazon EBS: Deep DiveAmazon EBS: Deep Dive
Amazon EBS: Deep Dive
 
Structured and centralized logging with serilog
Structured and centralized logging with serilogStructured and centralized logging with serilog
Structured and centralized logging with serilog
 
Spark 2.x Troubleshooting Guide
Spark 2.x Troubleshooting GuideSpark 2.x Troubleshooting Guide
Spark 2.x Troubleshooting Guide
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
 
Apache Ratis - In Search of a Usable Raft Library
Apache Ratis - In Search of a Usable Raft LibraryApache Ratis - In Search of a Usable Raft Library
Apache Ratis - In Search of a Usable Raft Library
 
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQL
 
Deep dive - AWS Fargate
Deep dive - AWS FargateDeep dive - AWS Fargate
Deep dive - AWS Fargate
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
 
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
 
Redis Lua Scripts
Redis Lua ScriptsRedis Lua Scripts
Redis Lua Scripts
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
 
Maximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performanceMaximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performance
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 

Similar to Api first design 개발의 선순환

200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
NAVER Engineering
 
Jandy - Introduction Paper
Jandy - Introduction PaperJandy - Introduction Paper
Jandy - Introduction Paper
진성 박
 
DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링
JeongHun Byeon
 
Abcd 2016 firebase
Abcd 2016 firebaseAbcd 2016 firebase
Abcd 2016 firebase
휴창 신
 
모바일, 클라우드, 웹 환경에 필요한 DB관리
모바일, 클라우드, 웹 환경에 필요한 DB관리모바일, 클라우드, 웹 환경에 필요한 DB관리
모바일, 클라우드, 웹 환경에 필요한 DB관리
mosaicnet
 
2014 공개소프트웨어 개발자대회 SK플래닛 기업과제 소개
2014 공개소프트웨어 개발자대회 SK플래닛 기업과제 소개2014 공개소프트웨어 개발자대회 SK플래닛 기업과제 소개
2014 공개소프트웨어 개발자대회 SK플래닛 기업과제 소개
Junhee Woo
 
Framework principal v1.6
Framework principal v1.6Framework principal v1.6
Framework principal v1.6Alopex Ui
 
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
KTH, 케이티하이텔
 
앱팀메이킹
앱팀메이킹앱팀메이킹
앱팀메이킹Jungsook Baek
 
앱팀메이킹1111381
앱팀메이킹1111381앱팀메이킹1111381
앱팀메이킹1111381Jungsook Baek
 
앱팀메이킹
앱팀메이킹앱팀메이킹
앱팀메이킹Jungsook Baek
 
강의 개요 및 교안 2014 1차수_font
강의 개요 및 교안 2014 1차수_font강의 개요 및 교안 2014 1차수_font
강의 개요 및 교안 2014 1차수_fontYoung Choi
 
2019 nexters x spoqa
2019 nexters x spoqa2019 nexters x spoqa
2019 nexters x spoqa
KimHeamin1
 
앱 디자인 시작하기
앱 디자인 시작하기앱 디자인 시작하기
앱 디자인 시작하기
Sangho Lee
 
강의 개요 및 교안 2013 4차수_font
강의 개요 및 교안 2013 4차수_font강의 개요 및 교안 2013 4차수_font
강의 개요 및 교안 2013 4차수_font
Young Choi
 
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)Channy Yun
 
LetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptxLetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptx
ssuser2601f7
 
개발자들 뭐 하는 건가요?
개발자들 뭐 하는 건가요?개발자들 뭐 하는 건가요?
개발자들 뭐 하는 건가요?
Skyler Shin
 
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
정민 안
 
최영현 강의 개요 및 교안샘플 배포용_font
최영현 강의 개요 및 교안샘플 배포용_font최영현 강의 개요 및 교안샘플 배포용_font
최영현 강의 개요 및 교안샘플 배포용_fontYoung Choi
 

Similar to Api first design 개발의 선순환 (20)

200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
 
Jandy - Introduction Paper
Jandy - Introduction PaperJandy - Introduction Paper
Jandy - Introduction Paper
 
DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링
 
Abcd 2016 firebase
Abcd 2016 firebaseAbcd 2016 firebase
Abcd 2016 firebase
 
모바일, 클라우드, 웹 환경에 필요한 DB관리
모바일, 클라우드, 웹 환경에 필요한 DB관리모바일, 클라우드, 웹 환경에 필요한 DB관리
모바일, 클라우드, 웹 환경에 필요한 DB관리
 
2014 공개소프트웨어 개발자대회 SK플래닛 기업과제 소개
2014 공개소프트웨어 개발자대회 SK플래닛 기업과제 소개2014 공개소프트웨어 개발자대회 SK플래닛 기업과제 소개
2014 공개소프트웨어 개발자대회 SK플래닛 기업과제 소개
 
Framework principal v1.6
Framework principal v1.6Framework principal v1.6
Framework principal v1.6
 
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
 
앱팀메이킹
앱팀메이킹앱팀메이킹
앱팀메이킹
 
앱팀메이킹1111381
앱팀메이킹1111381앱팀메이킹1111381
앱팀메이킹1111381
 
앱팀메이킹
앱팀메이킹앱팀메이킹
앱팀메이킹
 
강의 개요 및 교안 2014 1차수_font
강의 개요 및 교안 2014 1차수_font강의 개요 및 교안 2014 1차수_font
강의 개요 및 교안 2014 1차수_font
 
2019 nexters x spoqa
2019 nexters x spoqa2019 nexters x spoqa
2019 nexters x spoqa
 
앱 디자인 시작하기
앱 디자인 시작하기앱 디자인 시작하기
앱 디자인 시작하기
 
강의 개요 및 교안 2013 4차수_font
강의 개요 및 교안 2013 4차수_font강의 개요 및 교안 2013 4차수_font
강의 개요 및 교안 2013 4차수_font
 
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
 
LetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptxLetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptx
 
개발자들 뭐 하는 건가요?
개발자들 뭐 하는 건가요?개발자들 뭐 하는 건가요?
개발자들 뭐 하는 건가요?
 
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
 
최영현 강의 개요 및 교안샘플 배포용_font
최영현 강의 개요 및 교안샘플 배포용_font최영현 강의 개요 및 교안샘플 배포용_font
최영현 강의 개요 및 교안샘플 배포용_font
 

More from Jeong-gyu Kim

Id generator
Id generatorId generator
Id generator
Jeong-gyu Kim
 
근육 기억으로 주도하는 테스트 주도 개발 입문하기
근육 기억으로 주도하는 테스트 주도 개발 입문하기근육 기억으로 주도하는 테스트 주도 개발 입문하기
근육 기억으로 주도하는 테스트 주도 개발 입문하기
Jeong-gyu Kim
 
Design by contract(계약에의한설계)
Design by contract(계약에의한설계)Design by contract(계약에의한설계)
Design by contract(계약에의한설계)
Jeong-gyu Kim
 
JPA Study - 1주차(SLIPP)
JPA Study - 1주차(SLIPP)JPA Study - 1주차(SLIPP)
JPA Study - 1주차(SLIPP)
Jeong-gyu Kim
 
얼굴인식 - 기초
얼굴인식 - 기초얼굴인식 - 기초
얼굴인식 - 기초
Jeong-gyu Kim
 
02.cnn - CNN 파헤치기 3탄
02.cnn - CNN 파헤치기 3탄02.cnn - CNN 파헤치기 3탄
02.cnn - CNN 파헤치기 3탄
Jeong-gyu Kim
 
01.cnn - 본격CNN논문 파헤치기
01.cnn - 본격CNN논문 파헤치기01.cnn - 본격CNN논문 파헤치기
01.cnn - 본격CNN논문 파헤치기
Jeong-gyu Kim
 
00.cnn basic
00.cnn basic00.cnn basic
00.cnn basic
Jeong-gyu Kim
 
코드 재사용에 대해서 생각해보기
코드 재사용에 대해서 생각해보기 코드 재사용에 대해서 생각해보기
코드 재사용에 대해서 생각해보기
Jeong-gyu Kim
 
Deep dive functional thinking
Deep dive functional thinkingDeep dive functional thinking
Deep dive functional thinking
Jeong-gyu Kim
 
Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리
Jeong-gyu Kim
 
'객체지향의 사실과 오해' 북 리뷰 세미나
'객체지향의 사실과 오해' 북 리뷰 세미나'객체지향의 사실과 오해' 북 리뷰 세미나
'객체지향의 사실과 오해' 북 리뷰 세미나
Jeong-gyu Kim
 
Functional thinking - 책 리뷰 1탄
Functional thinking - 책 리뷰 1탄Functional thinking - 책 리뷰 1탄
Functional thinking - 책 리뷰 1탄
Jeong-gyu Kim
 
Intern pt sw_r&d_len_second_mission
Intern pt sw_r&d_len_second_missionIntern pt sw_r&d_len_second_mission
Intern pt sw_r&d_len_second_mission
Jeong-gyu Kim
 
Log Parser Story In Python3
Log Parser Story In Python3Log Parser Story In Python3
Log Parser Story In Python3
Jeong-gyu Kim
 
Stampfood 2.0
Stampfood 2.0Stampfood 2.0
Stampfood 2.0
Jeong-gyu Kim
 
You dont know_js
You dont know_jsYou dont know_js
You dont know_js
Jeong-gyu Kim
 
Node.js를 활용한 웹 크롤링(Crawling)
Node.js를 활용한 웹 크롤링(Crawling)Node.js를 활용한 웹 크롤링(Crawling)
Node.js를 활용한 웹 크롤링(Crawling)
Jeong-gyu Kim
 

More from Jeong-gyu Kim (18)

Id generator
Id generatorId generator
Id generator
 
근육 기억으로 주도하는 테스트 주도 개발 입문하기
근육 기억으로 주도하는 테스트 주도 개발 입문하기근육 기억으로 주도하는 테스트 주도 개발 입문하기
근육 기억으로 주도하는 테스트 주도 개발 입문하기
 
Design by contract(계약에의한설계)
Design by contract(계약에의한설계)Design by contract(계약에의한설계)
Design by contract(계약에의한설계)
 
JPA Study - 1주차(SLIPP)
JPA Study - 1주차(SLIPP)JPA Study - 1주차(SLIPP)
JPA Study - 1주차(SLIPP)
 
얼굴인식 - 기초
얼굴인식 - 기초얼굴인식 - 기초
얼굴인식 - 기초
 
02.cnn - CNN 파헤치기 3탄
02.cnn - CNN 파헤치기 3탄02.cnn - CNN 파헤치기 3탄
02.cnn - CNN 파헤치기 3탄
 
01.cnn - 본격CNN논문 파헤치기
01.cnn - 본격CNN논문 파헤치기01.cnn - 본격CNN논문 파헤치기
01.cnn - 본격CNN논문 파헤치기
 
00.cnn basic
00.cnn basic00.cnn basic
00.cnn basic
 
코드 재사용에 대해서 생각해보기
코드 재사용에 대해서 생각해보기 코드 재사용에 대해서 생각해보기
코드 재사용에 대해서 생각해보기
 
Deep dive functional thinking
Deep dive functional thinkingDeep dive functional thinking
Deep dive functional thinking
 
Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리
 
'객체지향의 사실과 오해' 북 리뷰 세미나
'객체지향의 사실과 오해' 북 리뷰 세미나'객체지향의 사실과 오해' 북 리뷰 세미나
'객체지향의 사실과 오해' 북 리뷰 세미나
 
Functional thinking - 책 리뷰 1탄
Functional thinking - 책 리뷰 1탄Functional thinking - 책 리뷰 1탄
Functional thinking - 책 리뷰 1탄
 
Intern pt sw_r&d_len_second_mission
Intern pt sw_r&d_len_second_missionIntern pt sw_r&d_len_second_mission
Intern pt sw_r&d_len_second_mission
 
Log Parser Story In Python3
Log Parser Story In Python3Log Parser Story In Python3
Log Parser Story In Python3
 
Stampfood 2.0
Stampfood 2.0Stampfood 2.0
Stampfood 2.0
 
You dont know_js
You dont know_jsYou dont know_js
You dont know_js
 
Node.js를 활용한 웹 크롤링(Crawling)
Node.js를 활용한 웹 크롤링(Crawling)Node.js를 활용한 웹 크롤링(Crawling)
Node.js를 활용한 웹 크롤링(Crawling)
 

Api first design 개발의 선순환