Companion slides for Stormpath CTO and Co-Founder Les REST API Security Webinar. This presentation covers all the RESTful best practices learned building the Stormpath APIs. This webinar is full of best practices learned building the Stormpath API and supporting authentication for thousands of projects. Topics Include:
- HTTP Authentication
- Choosing a Security Protocol
- Generating & Managing API Keys
- Authorization & Scopes
- Token Authentication with JSON Web Tokens (JWTs)
- Much more...
Stormpath is a User Management API that reduces development time with instant-on, scalable user infrastructure. Stormpath's intuitive API and expert support make it easy for developers to authenticate, manage and secure users and roles in any application.
This document provides an overview of Spring Boot and some of its key features. It discusses the origins and modules of Spring, how Spring Boot simplifies configuration and dependency management. It then covers examples of building Spring Boot applications that connect to a SQL database, use RabbitMQ for messaging, and schedule and run asynchronous tasks.
I did this presentation for one of my java user groups at work.
Basically, this is a mashed up version of various presentations, slides and images that I gathered over the internet.
I've quoted the sources in the end. Feel free to reuse it as you like.
This document discusses Spring Boot and how it provides automatic configuration for common web application functionalities like JPA, security, and Spring MVC. It also covers how Spring Boot uses starter dependencies to select libraries automatically and provides tools like the CLI and Spring Initializr. The document then demonstrates creating a basic Spring Boot application and discusses testing Spring Boot applications using techniques like mocking Spring MVC and integrating tests.
Spring Boot is a framework for developing Java applications that reduces configuration and provides production-ready features. It allows developing Spring applications with minimal configuration by automatically configuring Spring and third-party libraries. Spring Boot provides starter dependencies to simplify build configuration and modules for autoconfiguration, CLI, monitoring, and more.
배민찬(https://www.baeminchan.com) 서비스의 백엔드 시스템 중 일부가 지난 1년간 어떤 고민과 아이디어, 결과물을 만들어냈는지 공유하려고 합니다. 발표 중 언급되는 용어나 도구에 대해 일반적인 정의나 간단한 설명은 언급되나 자세히 다루지 않습니다. 사용된 도구들로 어떻게 이벤트 기반 분산 시스템을 만들었는지에 대한 이야기가 중심입니다.
Companion slides for Stormpath CTO and Co-Founder Les REST API Security Webinar. This presentation covers all the RESTful best practices learned building the Stormpath APIs. This webinar is full of best practices learned building the Stormpath API and supporting authentication for thousands of projects. Topics Include:
- HTTP Authentication
- Choosing a Security Protocol
- Generating & Managing API Keys
- Authorization & Scopes
- Token Authentication with JSON Web Tokens (JWTs)
- Much more...
Stormpath is a User Management API that reduces development time with instant-on, scalable user infrastructure. Stormpath's intuitive API and expert support make it easy for developers to authenticate, manage and secure users and roles in any application.
This document provides an overview of Spring Boot and some of its key features. It discusses the origins and modules of Spring, how Spring Boot simplifies configuration and dependency management. It then covers examples of building Spring Boot applications that connect to a SQL database, use RabbitMQ for messaging, and schedule and run asynchronous tasks.
I did this presentation for one of my java user groups at work.
Basically, this is a mashed up version of various presentations, slides and images that I gathered over the internet.
I've quoted the sources in the end. Feel free to reuse it as you like.
This document discusses Spring Boot and how it provides automatic configuration for common web application functionalities like JPA, security, and Spring MVC. It also covers how Spring Boot uses starter dependencies to select libraries automatically and provides tools like the CLI and Spring Initializr. The document then demonstrates creating a basic Spring Boot application and discusses testing Spring Boot applications using techniques like mocking Spring MVC and integrating tests.
Spring Boot is a framework for developing Java applications that reduces configuration and provides production-ready features. It allows developing Spring applications with minimal configuration by automatically configuring Spring and third-party libraries. Spring Boot provides starter dependencies to simplify build configuration and modules for autoconfiguration, CLI, monitoring, and more.
배민찬(https://www.baeminchan.com) 서비스의 백엔드 시스템 중 일부가 지난 1년간 어떤 고민과 아이디어, 결과물을 만들어냈는지 공유하려고 합니다. 발표 중 언급되는 용어나 도구에 대해 일반적인 정의나 간단한 설명은 언급되나 자세히 다루지 않습니다. 사용된 도구들로 어떻게 이벤트 기반 분산 시스템을 만들었는지에 대한 이야기가 중심입니다.
This document provides an overview of Spring Security including:
I. It distinguishes Spring Framework, Spring Boot, and Spring Security and their relationships.
II. It defines Spring Security as a framework focusing on authentication and authorization for Java applications.
III. It outlines some of the core concepts in Spring Security such as Principal, Authentication, Authorization, GrantedAuthority etc.
The document serves as an introduction to Spring Security fundamentals and architecture.
This document discusses different types of animations in Android including frame-by-frame animation, tween animation, interpolators, and layout animation. Frame-by-frame animation involves playing a sequence of images like a flipbook. Tween animation uses interpolators to transition properties like translation, rotation, scale, and alpha over time. Layout animation applies animations when views are added or removed from a layout. The document provides details on creating animation resources in XML and applying them through code.
Spring Boot is a framework for creating stand-alone, production-grade Spring-based applications that can be started using java -jar without requiring any traditional application servers. It is designed to get developers up and running as quickly as possible with minimal configuration. Some key features of Spring Boot include automatic configuration, starter dependencies to simplify dependency management, embedded HTTP servers, security, metrics, health checks and externalized configuration. The document then provides examples of building a basic RESTful web service with Spring Boot using common HTTP methods like GET, POST, PUT, DELETE and handling requests and responses.
This presentation shows what are JSON Web Tokens, explaining about the structure, signature, encryption and how we can integrate this with Authentication/Authorization together with Spring Security.
The link for the project in Github is:
https://github.com/BHRother/spring-boot-security-jwt
The example implements JWT + Spring Security in a Spring-Boot project.
The document discusses CompletableFuture in Java. It begins with an introduction to java.util.Future and its limitations. It then discusses how CompletableFuture allows asynchronous and parallel operations through callbacks and chaining of tasks. This improves performance over serial execution. It provides examples of CompletableFuture methods like supplyAsync, thenApply, thenCombine, and allOf. Finally, it discusses how CompletableFuture can be used to build powerful and scalable libraries.
Spring Security is a powerful and highly customizable authentication and authorization framework for Spring-based applications. It provides authentication via mechanisms like username/password, LDAP, and SSO. Authorization can be implemented through voting-based access control or expression-based access control at the web (URL) level and method level. It includes filters, providers, and services to handle authentication, authorization, logout, and remember-me functionality. Configuration can be done through XML or Java configuration with support for common annotations.
This document provides an overview of JavaServer Faces (JSF), including:
- An introduction to JSF and what it is
- A description of the JSF request lifecycle and faces servlet
- An explanation of JSF component models and commonly used tags
- A step-by-step guide for creating a basic "Hello World" JSF application
- Details about JSP architectures (Model 1 and Model 2) that provide context for JSF
This document provides an introduction to Spring Boot, including its objectives, key principles, and features. It discusses how Spring Boot enables building standalone, production-grade Spring applications with minimal configuration. It demonstrates creating a "Hello World" REST app with one Java class. It also covers auto-configuration, application configuration, testing, supported technologies, case studies, and other features like production readiness and remote shell access.
Spring Data is a high level SpringSource project whose purpose is to unify and ease the access to different kinds of persistence stores, both relational database systems and NoSQL data stores.
This document provides an overview of developing a web application using Spring Boot that connects to a MySQL database. It discusses setting up the development environment, the benefits of Spring Boot, basic project structure, integrating Spring MVC and JPA/Hibernate for database access. Code examples and links are provided to help get started with a Spring Boot application that reads from a MySQL database and displays the employee data on a web page.
Hibernate has several core framework objects that represent the different components of the architecture. The SessionFactory acts as a factory for Session objects and caches compiled object mappings. Each Session represents a single-threaded conversation with the database and manages a level one cache and transactions. Persistent objects are associated with a Session and represent the data model, while transient and detached objects are not associated with a Session. Transactions demarcate atomic units of work and are represented by the Transaction object. The ConnectionProvider manages connections to the database and abstracts the application from the underlying data source.
Rasheed Amir presents on Spring Boot. He discusses how Spring Boot aims to help developers build production-grade Spring applications quickly with minimal configuration. It provides default functionality for tasks like embedding servers and externalizing configuration. Spring Boot favors convention over configuration and aims to get developers started quickly with a single focus. It also exposes auto-configuration for common Spring and related technologies so that applications can take advantage of them without needing to explicitly configure them.
JPA and Hibernate are specifications and frameworks for object-relational mapping (ORM) in Java. JPA is a specification for ORM that is vendor-neutral, while Hibernate is an open-source implementation of JPA. Both use annotations to map Java classes to database tables. JPA queries use JPAQL while Hibernate supports both JPAQL and its own HQL. Additional features covered include relationships, inheritance mapping strategies, custom types, and querying.
The document provides an overview and introduction to Spring Data JPA, including:
1) How Spring Data abstracts away basic data management concepts and supports both relational and non-relational databases.
2) An example of refactoring from plain JPA to Spring Data JPA by defining a repository interface and using built-in query methods.
3) How the Spring Data repository abstraction reduces the effort to implement data access layers through interfaces like Repository.
A REST API uses HTTP requests with verbs like GET, POST, PUT, and DELETE to perform CRUD (Create, Read, Update, Delete) operations on resources identified by URLs. It provides a lightweight alternative to SOAP that returns data in JSON format and HTTP response codes. Well-known codes include 200 for OK, 201 for Created, 400 for Bad Request, and 404 for Not Found. REST enables building applications and platforms that can easily integrate new interfaces over time.
- REST (Representational State Transfer) uses HTTP requests to transfer representations of resources between clients and servers. The format of the representation is determined by the content-type header and the interaction with the resource is determined by the HTTP verb used.
- The four main HTTP verbs are GET, PUT, DELETE, and POST. GET retrieves a representation of the resource and is safe, while PUT, DELETE, and POST can modify the resource's state in atomic operations.
- Resources are abstract concepts acted upon by HTTP requests, while representations are the actual data transmitted in responses. The representation may or may not accurately reflect the resource's current state.
The document discusses JDBC, JPA, and Spring Data frameworks. JDBC allows establishing database connections and sending SQL statements. JPA provides object-relational mapping and includes annotations to map entities to tables. Spring Data provides repositories to access data based on the underlying data access technology like JPA or MongoDB. It supports common CRUD operations and custom queries.
This document provides an overview of Spring Security including:
I. It distinguishes Spring Framework, Spring Boot, and Spring Security and their relationships.
II. It defines Spring Security as a framework focusing on authentication and authorization for Java applications.
III. It outlines some of the core concepts in Spring Security such as Principal, Authentication, Authorization, GrantedAuthority etc.
The document serves as an introduction to Spring Security fundamentals and architecture.
This document discusses different types of animations in Android including frame-by-frame animation, tween animation, interpolators, and layout animation. Frame-by-frame animation involves playing a sequence of images like a flipbook. Tween animation uses interpolators to transition properties like translation, rotation, scale, and alpha over time. Layout animation applies animations when views are added or removed from a layout. The document provides details on creating animation resources in XML and applying them through code.
Spring Boot is a framework for creating stand-alone, production-grade Spring-based applications that can be started using java -jar without requiring any traditional application servers. It is designed to get developers up and running as quickly as possible with minimal configuration. Some key features of Spring Boot include automatic configuration, starter dependencies to simplify dependency management, embedded HTTP servers, security, metrics, health checks and externalized configuration. The document then provides examples of building a basic RESTful web service with Spring Boot using common HTTP methods like GET, POST, PUT, DELETE and handling requests and responses.
This presentation shows what are JSON Web Tokens, explaining about the structure, signature, encryption and how we can integrate this with Authentication/Authorization together with Spring Security.
The link for the project in Github is:
https://github.com/BHRother/spring-boot-security-jwt
The example implements JWT + Spring Security in a Spring-Boot project.
The document discusses CompletableFuture in Java. It begins with an introduction to java.util.Future and its limitations. It then discusses how CompletableFuture allows asynchronous and parallel operations through callbacks and chaining of tasks. This improves performance over serial execution. It provides examples of CompletableFuture methods like supplyAsync, thenApply, thenCombine, and allOf. Finally, it discusses how CompletableFuture can be used to build powerful and scalable libraries.
Spring Security is a powerful and highly customizable authentication and authorization framework for Spring-based applications. It provides authentication via mechanisms like username/password, LDAP, and SSO. Authorization can be implemented through voting-based access control or expression-based access control at the web (URL) level and method level. It includes filters, providers, and services to handle authentication, authorization, logout, and remember-me functionality. Configuration can be done through XML or Java configuration with support for common annotations.
This document provides an overview of JavaServer Faces (JSF), including:
- An introduction to JSF and what it is
- A description of the JSF request lifecycle and faces servlet
- An explanation of JSF component models and commonly used tags
- A step-by-step guide for creating a basic "Hello World" JSF application
- Details about JSP architectures (Model 1 and Model 2) that provide context for JSF
This document provides an introduction to Spring Boot, including its objectives, key principles, and features. It discusses how Spring Boot enables building standalone, production-grade Spring applications with minimal configuration. It demonstrates creating a "Hello World" REST app with one Java class. It also covers auto-configuration, application configuration, testing, supported technologies, case studies, and other features like production readiness and remote shell access.
Spring Data is a high level SpringSource project whose purpose is to unify and ease the access to different kinds of persistence stores, both relational database systems and NoSQL data stores.
This document provides an overview of developing a web application using Spring Boot that connects to a MySQL database. It discusses setting up the development environment, the benefits of Spring Boot, basic project structure, integrating Spring MVC and JPA/Hibernate for database access. Code examples and links are provided to help get started with a Spring Boot application that reads from a MySQL database and displays the employee data on a web page.
Hibernate has several core framework objects that represent the different components of the architecture. The SessionFactory acts as a factory for Session objects and caches compiled object mappings. Each Session represents a single-threaded conversation with the database and manages a level one cache and transactions. Persistent objects are associated with a Session and represent the data model, while transient and detached objects are not associated with a Session. Transactions demarcate atomic units of work and are represented by the Transaction object. The ConnectionProvider manages connections to the database and abstracts the application from the underlying data source.
Rasheed Amir presents on Spring Boot. He discusses how Spring Boot aims to help developers build production-grade Spring applications quickly with minimal configuration. It provides default functionality for tasks like embedding servers and externalizing configuration. Spring Boot favors convention over configuration and aims to get developers started quickly with a single focus. It also exposes auto-configuration for common Spring and related technologies so that applications can take advantage of them without needing to explicitly configure them.
JPA and Hibernate are specifications and frameworks for object-relational mapping (ORM) in Java. JPA is a specification for ORM that is vendor-neutral, while Hibernate is an open-source implementation of JPA. Both use annotations to map Java classes to database tables. JPA queries use JPAQL while Hibernate supports both JPAQL and its own HQL. Additional features covered include relationships, inheritance mapping strategies, custom types, and querying.
The document provides an overview and introduction to Spring Data JPA, including:
1) How Spring Data abstracts away basic data management concepts and supports both relational and non-relational databases.
2) An example of refactoring from plain JPA to Spring Data JPA by defining a repository interface and using built-in query methods.
3) How the Spring Data repository abstraction reduces the effort to implement data access layers through interfaces like Repository.
A REST API uses HTTP requests with verbs like GET, POST, PUT, and DELETE to perform CRUD (Create, Read, Update, Delete) operations on resources identified by URLs. It provides a lightweight alternative to SOAP that returns data in JSON format and HTTP response codes. Well-known codes include 200 for OK, 201 for Created, 400 for Bad Request, and 404 for Not Found. REST enables building applications and platforms that can easily integrate new interfaces over time.
- REST (Representational State Transfer) uses HTTP requests to transfer representations of resources between clients and servers. The format of the representation is determined by the content-type header and the interaction with the resource is determined by the HTTP verb used.
- The four main HTTP verbs are GET, PUT, DELETE, and POST. GET retrieves a representation of the resource and is safe, while PUT, DELETE, and POST can modify the resource's state in atomic operations.
- Resources are abstract concepts acted upon by HTTP requests, while representations are the actual data transmitted in responses. The representation may or may not accurately reflect the resource's current state.
The document discusses JDBC, JPA, and Spring Data frameworks. JDBC allows establishing database connections and sending SQL statements. JPA provides object-relational mapping and includes annotations to map entities to tables. Spring Data provides repositories to access data based on the underlying data access technology like JPA or MongoDB. It supports common CRUD operations and custom queries.
최근 인프라스트럭처 쪽에서는 플랫폼 엔지니어링이라는 말이 관심을 받고 있습니다. 최근 2년 동안 당근마켓에서 배포 시스템을 포함한 사내 개발자 플랫폼을 만들면서 플랫폼 엔지니어링에 관해 알게 되고 이를 잘 적용하기 위해 많은 고민을 했습니다. 그 결과 플랫폼 엔지니어링은 갑자기 새로 나왔다기 보다 DevOps부터 이어진 개발과 운영의 사일로 문제와 피드백 루프 문제를 해결하고 이 문제를 소프트웨어로 해결하는 SRE에서 이어진 개념이라고 생각하고 있습니다.
이 발표에서는 그동안 공부하고 고민하면서 알게된 플랫폼 엔지니어링이 무엇인지를 설명하고 왜 필요한지, 어떻게 적용해 볼 수 있는지에 관해 공유합니다.
https://inflearn.com/conf/infcon-2023/session-detail?id=782
<p>
[데브멘토 동영상]Simplify Development for DB 1부</p>
<p>
이동우 차장/퀘스트소프트웨어코리아</p>
<p>
시스템 컨설턴트, Toad Presales</p>
<p>
전 현대해상 차세대 프로젝트DBA</p>
<p>
전 SKT DBA 근무</p>
앱 디자인 시작하기
Starting App Design
2014. 9. 11
이 강의는 앱 디자인을 시작하는
디자이너를 위한 강의입니다.
강의 순서
1. 강의에 들어가며
2. 앱 디자인 시작하기
3. Case Study
4. 작업하기
5. 마치며
- 강의 페이지: http://isangho.com/study/appdesign
- SlideShare: https://www.slideshare.net/SanghoLee1/ss-38908104
- 비트코인 기부하기: http://daramghaus.com/donate/bitcoin
- 이메일: isangho@me.com
본 강의자료는 한국디자인진흥원 UXUI 전략직종 인력양성을 돕기위한 강의자료입니다. 초상권 및 자료 저작권과 관련된 부분이 있어 파일형태의 배포는 금지하며, 자료관리를 위해서 본 URL을 통해서만 공유합니다. 본 자료는 학습을 위한 용도로 사용하실 것을 부탁드립니다. 감사합니다.
This document discusses test-driven development (TDD) and provides an introduction to TDD. It defines TDD as writing tests before writing code to validate functionality. The document then outlines the TDD process, which involves writing a test, writing the minimum amount of code to pass that test, refactoring the code, and repeating. It provides an example of creating a bank account class using TDD. Finally, it lists benefits of TDD such as maintaining code direction, producing high quality code, enabling automated testing, serving as documentation, improving design, and increasing developer confidence.
The document discusses regularization techniques for deep learning models to prevent overfitting. It describes residual networks (ResNets) which address the problem of vanishing gradients in very deep networks. ResNets introduce identity skip connections that learn residual functions with reference to the layer inputs rather than underlying functions. The document also discusses techniques like dropout, batch normalization, data augmentation, noise injection, and ensemble methods to improve model generalization.
This document discusses several popular convolutional neural network models that have achieved state-of-the-art results on the ImageNet visual recognition challenge: AlexNet, VGG, GoogLeNet, and ResNet. It provides details on the architecture and contributions of each model, including AlexNet's use of ReLU activation, dropout regularization, and data augmentation which helped it significantly outperform other models at the time. VGG improved on this with very deep convolutional networks using only 3x3 filters. GoogLeNet introduced inception modules and auxiliary outputs to reduce parameters and computational cost. ResNet solved the degradation problem of deeper networks with residual learning and identity mappings.
Convolutional neural networks (CNNs) are a type of neural network that use convolution operations and pooling layers instead of fully connected layers. CNNs take advantage of the spatial structure of input data like images and learn hierarchical pattern representations through multiple convolutional and pooling layers. The key operations in CNNs are convolutions for extracting features, subsampling or pooling for reducing dimensionality, and fully connected layers for classification.
오브젝트 책 10장 11장에 대한 내용을 발표로 만들어보았습니다.
자바를 사용하면서 객체지향프로그래밍이라는 단어는 수도 없이 들었지만, 여전히, 객체지향은 솜사탕을 만지는 느낌이였습니다.
'오브젝트' 책은 그런면에서 굉장히 실용적인 책이라는 점을 발견했고, 이를 Sliip 스터디에서 발표하게 되었습니다.
2. APIFirstDesign 설계의선순환
안녕하세요 J
다우기술 비즈 플랫폼 팀 김 정규 입니다.
Introduce
다우오피스 로그 플랫폼 구축 및 유지보수 담당.
책을 좋아하고,
발표를 즐겨하며,
사람을 좋아합니다.
joenggyu0@gmail.com
hihi3039
LenKIM
4. 협업하는 개발 프로세스에서 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?
7. 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?
9. APIFirstDesign 설계의선순환
• 기능이 동작만 하면 아키텍처 개선 없이 다음 기능 구현
• 기능 변경: 복붙 + 일부 수정 => ‘향후 문제시 해결 카드’
• 공유 부족으로 소수의 개발 인력에 대한 의존도 높아짐
• 좋은 설계, 아키텍처 그리고 클린 코드에 주의를 기울어야 ....
아키텍처의 중요성
엉망진창의 징후
What is API First?
10. APIFirstDesign 설계의선순환
• 기능이 동작만 하면 아키텍처 개선 없이 다음 기능 구현
• 기능 변경: 복붙 + 일부 수정 => ‘향후 문제시 해결 카드’
• 공유 부족으로 소수의 개발 인력에 대한 의존도 높아짐
• 좋은 설계, 아키텍처 그리고 클린 코드에 주의를 기울어야 ....
아키텍처의 중요성
엉망진창의 징후
What is API First?
12. “the only way to go fast, is to go well”
생산성 저하와 비용증가를 뒤집을 수 있는 유일한 방법은
SW 아키텍처의 품질에 대해서 신중을 기하는 것.
APIFirstDesign 설계의선순환
SW 개발의 단순한 진리
What is API First?
22. 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 설계의선순환
[ ] ==
디자인 은 어떠한 개념을 브레인 스토밍,사고 또는 수정하는 과정 을
통하여 도출된 주제나 요구, 문제에 대한 답변을 해 나가며 완성됩니다.
23. 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 설계의선순환
[ ] ==“ 협업 프로세스 “
디자인 은 어떠한 개념을 브레인 스토밍,사고 또는 수정하는 과정 을
통하여 도출된 주제나 요구, 문제에 대한 답변을 해 나가며 완성됩니다.
30. 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 시간이 길어집니다.
31. 그렇다면,
API FIRST Design는 어떤 방식일까요?
APIFirstDesign 설계의선순환What is API First Design?
34. 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
35. 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
“병렬식”
36. 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 시간이 길어진다.
… 기다릴 필요가 없다.
… 명확하게 전달할 수 있다.
… 시간이 절약될 수 있다.
… 단축시킬 수 있다.
37. 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