api documentation 회원가입 & 로그인 공통: http://localhost:8080/api/v1/auth/ 로그인 예시: http://localhost:8080/api/v1/auth/login 동작 HTTP 메서드 주소 입력 형식 입력 예시 리턴 회원가입 이메일 전송 POST /sign-up/email JSON { "email": } 200 OK 이메일 전송 성공 인증코드 확인 POST /sign-up/code JSON { "email":, "code": } 200 OK 인증 성공 회원가입 POST /sign-up JSON name: "data", value: { "email":, "password": , "name": , "nickname": , "phone": , "image": } name: "image", valu..
썸네일 [week06] 회원가입 & 로그인 회원가입 /api/v1/auth [회원가입] 이메일 인증전송: /sign-up/email, POST 인증코드 일치확인: /sign-up/code, POST - 임시 테이블 Email에 저장되어 있는 값 인증 후 어떻게 할지 생각하기 프로필 이미지 설정: /sign-up/image, POST - 이미지 저장 경로 생각하기 회원가입 완료: /sign-up, POST [로그인] 로그인: /login, POST
썸네일 [week04] Command pattern 1. Command Pattern 2. Given Hardware & Our Vendor Classes 3. Without Using Command Pattern 4. Implementing Command interface 5. Our Approach 6. Collaborations 7. Extending the Remote Control 8. After Setting the Commands 1. Command Pattern 목적 Request를 객체로 인캡슐화하자 각 command 객체는 execute 또는 undo 메서드만 노출함 Request가 queuing과 callback과 같은 relationships에 근거해 전형적인 객체로 다루어짐 Use when? Requests가 다양한 시간에 다양한 ..
썸네일 [week04] Observer Pattern 1. Observer Pattern 2. The Application Overview 3. Meet the Observer Pattern 4. The Observer Pattern Defined 5. Class Diagram for Observer Pattern 6. The Power of Loose Coupling 7. Designing the Weather Station 8. Implementation 9. Using Java's Offcial Observable Class 1. Observer Pattern Publish/Subscribe model로 알려져있음 목적: 하나 이상의 객체들이 시스템 내의 다른 객체들의 변화를 감지하기 위함 언제 사용?: loose coupling이 필요할 때 하나 이..
썸네일 [week03] Introduction to Design Patterns 1. What is a pattern? 2. Why do we use patterns? 3. Three Part Rule of Design Pattern 4. Example of Design Pattern: Iterator 5. Category of GoF Patterns 6. Category of GoF Patterns 7. Key Features of Desgin Patterns 8. Hierarchy of Pattern Knowledge 9. Levels of Patterns 1. What is a pattern? 전문가들은 종종 이미 해결한 문제와 비슷한 문제를 떠올리고, 새로운 문제를 해결하기 위해 예전 문제의 솔루션의 본질을 재사용한다. 그런 의미에서 패턴은 "한 상황에서 문제에 대한 해결책"..
[Week04] DB 설계 & 프로젝트 환경 구성 Week04 DB 설계 & 프로젝트 환경 구성 Week05 DB 쿼리 작성 & API 컨트롤러 설계 Week06 API 컨트롤러 개발 Week07 API 컨트롤러 개발 -------------------------------------------- 중간점검 Week08 옷 추천 서비스 개발을 위한 공부 Week09 옷 추천 서비스 개발 Week10 옷 추천 서비스 개발 Week11 iOS와 연동 진행 ----------------------------------------------- 중간점검 Week12 iOS와 연동진행 Week13 서버 배포 Week14 에러 체킹 Week15 Final Demo 요구사항 분석 1. 회원가입/로그인 사용자는 이메일을 통해 서비스에 등록할 수 있다. 사용자는 닉네임(고..
썸네일 [week02] 2. Strategy Pattern 전략 패턴 특정 행동을 수행하는 알고리즘들을 캡슐화해서 바꿔낄 수 있도록 함 언제 사용하냐? 관계 있는 class들 사이의 차이가 behavior 밖에 없을 때 한 알고리즘에 여러 버전 / 변종들이 있을 때 런타임에 알고리즘 / class를 바꿔끼고 싶을 때 조건문이 복잡하게 나올 때 디자인 목표 오리를 표현하는 클래스를 설계해보자. 요구 사항은 다음과 같다: quack: 모든 오리는 운다. swim: 모든 오리는 같은 방식으로 수영한다. display: 모든 오리는 각각의 생김새를 보여줄 수 있어야 한다. 설계된 클래스를 살펴보자. 부모인 Duck 클래스에는 요구 사항을 반영하기 위한 세 개의 메서드(quack, swim, display)가 있다. 이 중 3번째 display 메서드는 추상 메서드로 설..
썸네일 [week02] 1. Object-Oriented Paradigm Review [목차] 1. Abstract Data Type 2. Object-Oriented Paradigm 3. Inheritance 4. Polymorphism 5. Method Overloading 6. Method Overridng 7. What is an Interface 8. Class Relationships and Change Propagations 1. Data Abstraction Abstract Data Type (ADT) 데이터와 데이터를 다루는 operation을 캡슐화해서 하나의 문법적인 요소로 묶은 것 하나의 문법적인 요소: 프로그램 조직화, 수정, ADT 단위로 분할 컴파일이 가능해짐 캡슐화: 구현이 사용자에게서 감춰짐에 따라 내부 코드가 바뀌어도 사용자는 영향을 받지 않음 → reli..
[week01] Java 객체지향 개념 정리 (1) 1. 상속 2. 오버라이딩 3. package와 import 4. 제어자 5. 다형성(polymorphism) 6. 추상클래스 7. 인터페이스 8. 내부클래스 1. 상속 상속 기존 클래스를 재사용해서 새로운 클래스를 작성하는 것 parent class: 재사용되는 class child class: parent class를 재사용하는 class child class는 parent class에 선언된 변수와 메서드를 가지게 됨. 하지만 생성자와 초기화 블럭, private이 붙은 멤버에 대해서는 상속되지 않음 is-a 관계를 나타냄 ex) A Dog is an Animal. → class Dog extends Animal 단일 상속만 가능 모든 클래스의 상속 계층도의 최상위에는 Object class 존재 ..
[ch3] Review Questions 14 a. False b. False c. True d. False e. True f. True g. True 15 a. 20 bytes b. 90 17 R/2 18. False
[ch4] Review Questions 2. data plane과 control plane의 기능과 차이 data plane: hw에 구현되어 있음 (nanoseconds), forwarding table를 사용해서 packet을 input port에서 output port로 이동, packet이 drop 거나 duplicate될 수 있음 control plane: sw에 구현되어 있음 (milliseconds), packet이 이동할 route 결정, forwarding table를 만듦 3. forwarding & routing function의 차이 forwarding: local, per router function, forwarding table 사용 routing function: network-wide func, forwardin..
[ch5] Problem and Questions Review Questions 5.1, 5.2, 5.3, 5.4, 5.6, 5.7 1. 라우터당 제어를 기반으로 하는 control plane은 무엇을 의미하는가? A. 각각의 라우터에서 routing algorithm이 실행됨. forwarding & routing 기능 모두 라우터 내에 제한됨. 각각의 라우터는 그 라우터에서 쓸 forwarding table를 계산하기 위해 다른 라우터의 routing component와 통신하는 routing componenet를 가짐. 2. logically centralized control를 기반으로 하는 control plane은 무엇을 의미하는가? A. logically central routing controller가 각각의 router에서 사용하는 fo..