Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions week1/[1주차]이성은.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# COW 1주차 이성은 과제

## www.google.com을 치면 일어나는일
### 1. DNS가 www.google.com에 해당하는 IP 주소를 조회한다.
### 2. 브라우저는 호스트의 IP 주소를 받아 해당 호스트의 WS(Web Server)와 TCP/IP 연결을 설정한다
### 3. 브라우저에서 HTTP 요청을 생성하고 전송한다
### 4. WS(Web Server, 정적 컨텐츠, 요청처리 등), WAS(Web Application Server, 동적 웹 페이지 생성, DB 연동 등)에서 요청을 처리한 후 응답을 생성한다.
### 5. 응답을 전송하여 컨텐츠가 렌더링 된다.
***

## API, HTTP통신
### API : 애플리케이션(고유한 기능을 가진 모든 소프트웨어) 간의 요청과 응답을 주고 받는 형식 및 사용 방법을 정의한 인터페이스
### HTTP 통신 : 클라이언트와 서버 간에 Hyper Text를 교환하기 위한 프로토콜
***

## 백엔드가 하는 일
### 1. 클라이언트에게 요청을 받고 응답을 반환
### 2. DB와 연결하고 관리
### 3. 요청과 Data를 활용하여 응답해야할 데이터로 변환하는 로직 구현
### 4. 인증 및 보안 관리
***

## 객체지향 특징 및 장점
### 1. 유지보수성이 좋다
### 2. 코드의 재사용성 및 확장성이 좋다
### 3. 업무를 분담하기 좋다
***

## 코드 컨벤션이란
### 가독성을 높이고 관리하기 쉬운 코드를 작성하기 위한 코딩 스타일 규약(네이밍, 들여쓰기, 주석 등)
***

## MVC 패턴
### Model : DB에 접근하여 데이터를 사용하고 관련된 로직 처리하는 역할
### View : 사용자에게 보여지는 클라이언트 부분
### Controller : View와 Model을 연결하는 역할
***
49 changes: 49 additions & 0 deletions week2/[2주차]객체지향 코드 연습.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# 링크 : https://github.com/COW-edu/practice-oop-lotto/pull/51

# 필수 기능

## 구입 금액 입력
### 입력 했을때 나누기 밑 횟수 리턴
### 1000으로 나누어 떨어지지 않으면 에러 처리

## 당첨 번호 입력 및 보너스 번호 입력 -> 오름차순 정렬하면 비교할 때 좋을듯
### 1~45 사이의 숫자가 아니거나 같은 숫자를 입력시 에러 처리

## 로또 구입
### 랜덤으로 갯수만큼 번호 추출 -> 오름차순 정렬

## 비교 및 당첨 확인

## 수익률 계산


# 코드 방향성

## Lotto class
### 당첨 번호와 랜덤으로 뽑은 로또들을 저장

## Application class
### 입력 및 실행 담당 + 수익률 계산 method

## check implement
### check_input -> 1000으로 나누어 떨어지는지 확인
### check_num -> 1~45 사이의 숫자인지 확인

## Lotto 랜덤 생성 Class

## Rank Class(Enum 사용)
### 등수를 저장하고 로또 번호끼리와 보너스 번호를 비교하는 메소드 생성

# 배운점 및 고민했던점, 아쉬운 점 등
## 배운점
### Scanner가 아닌 우테코에서 활용하는 Console을 사용하는 것이 효율적이다
### Enum을 활용할 수 있다
### 객체지향 관점으로 고민해보는 좋은 경험이 되었다.

## 고민했던점
### SOLID 원칙을 적용해서 코드를 짜보려고 하였다 -> 습관적으로 Application에 너무 책임이 몰린 거 같아 잘 지켜지진 않은것 같다
### 금액이 1,000 단위로 떨어지는 지와 숫자가 1~45 사이에 존재하는 지가 둘 다 수를 확인하다 보니 Check 인터페이스를 활용해 구현받게 해보았다

## 아쉬운 점
### Application에 너무 많은 책임이 들어있다...
### Enum의 사용법이나 장점에 명확히 이해하지 못 했다