https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr def solution(n, lost, reserve): student = {} for i in range(n): student[i + 1] = 1 for l in lost: if l in student: student[l] -= 1 for r in reserve: if r in student: student[r] += 1 answer = 0 for key in..
CSS Preprocessor에 대해 Sass는 CSS Preprocessor(전처리기)이다. CSS는 작업이 고도화될수록 불필요한 선택자의 과용, 연산 기능의 한계, 구문의 부재 등의 문제가 생긴다. CSS가 동작하기 전에 사용하는 기능이고, CSS의 불편함을 없애기 위해 사용한다. Sass와 SCSS의 차이점 Sass의 3버전에서 새롭게 등장한 SCSS는 CSS구문과 완전한 호환을 제공하고, Sass의 모든 기능을 지원한다. 즉 SCSS는 CSS와 거의 비슷한 문법을 사용하며 Sass 기능이 지원된다. { } 와 ; 의 유무에서 차이를 보인다. -Sass의 경우 .list width: 100px float: left li color: red background: url("./image.jpg") &:..
Repository 활용 Restaurant 정보를 List로 관리하는데 가게 목록 출력할 때, 가게 상세 정보 출력할 때 모두 List를 사용하기 때문에 중복이 된다. 이러한 Restaurant의 collection을 Repository로 옮겨주어 효율적으로 만들어준다. Repository는 UI Layer에 속하지 않고 domain Layer에 속한다. 따라서 domain package 안에 RestaurantRepository.java 파일을 생성해준다. 1. Controller에서는 Repository에 있는 restaurant 정보를 받아와서 쓸 수 있도록 list method를 다음과 같이 바꿔준다. repository라는 field도 추가해준다. findAll method를 Restauran..
가게 상세 가져오기 GET/restaurants/{id} 를 통해 가게 상세 정보를 가져온다. 1. 먼저 RestaurantCotroller.java 파일에 가게 상세 정보를 불러오는 detail method를 추가해준다. 예외를 처리하기 위해 throw Exception도 추가해주고 우선 id가 1인 것에 대해서만 불러온다. Test를 실행해보면 'restaurants/1' 이라는 URL에 매핑되는 것이 없으므로 실패하게 된다. 2. 매핑이 가능하게 하기 위해 RestaurantController.java 파일에 method를 추가한다. 3. 가게 상세 정보를 불러오게 하기 위해서 RestaurantControllerTest.java 파일에 list method에서와 같은 접근을 하게 만들어준다. Re..
가게 목록 만들기 GET/restaurants에 대해 JSON 포맷으로 응답해준다. 각 URL에 대해서 요청이 들어왔을 때 처리하는 Controller를 만들어본다. 1. Restaurant에 대한 Controller를 생성해준다. 먼저, main/java 안의 interfaces 패키지에 RestaurantController.java 파일을 생성해준다. 이후, Go To - Test 를 통해 RestaurantControllerTest.java 파일도 생성해준다. 2. RestaurantControllerTest.java 안에 /restaurant에 대해 get 요청을 해주는 class를 만든다. @WebMvcTest(RestaurantController.class) 라는 Annotation으로 Res..
REST REpresentational State Transfer의 약자이다. 상태를 전달하는 것을 의미한다. 다른 말로 resource를 처리하는 것이다 Resource를 처리하는 것에는 4가지 방식이 있고 흔히 CRUD라고 일컫는다. ( )는 HTTP에 표준으로 주어져있는 method이다. C : Create(POST) R : Read(GET) U : Update(PUT/PATCH) D : Delete(DELETE) Resource를 지정할 때는 URI 라고 불리는 식별자를 사용하고, URL이라는 지시자를 사용하기도 한다. Resource는 Collection과 Member 두 가지로 나눌 수 있다. Collection에 대해서는 Read(List)와 Create가 가능하다. Member에 대해서는 ..
Restaurant 모델 생성 1. src/main/java 안에 domain이라는 package를 생성해주고 Restaurant.java 파일을 생성해준다. 2. Restaurant를 우클릭하여 Test 파일을 생성해준다. Create new test를 누르고 다음과 같이 설정해주고 생성을 한다. tests 파일이 생성된 것을 확인할 수 있다. 3. RestaurantTests.java 파일에 객체 생성하는 함수를 추가해준다. @Test Annotation을 붙여주어 test할 수 있게 한다. run까지 해서 test가 제대로 passed 되는 것을 확인한다. 4. Bob zip이라는 이름의 Restaurant을 생성해주준다. 그리고 assertThat(~은 ~여야 한다)을 이용해 restaurant의..
Test Driven Development 테스트 주도 개발 = 목표 주도 개발 = 사용자 중심 개발 = 인터페이스 중심 개발 -> TDD를 하는 이유 : 목표를 달성하기 위해 올바르게 작동하는 깔끔한 코드를 만드는 것 1. 올바르게 작동하는 코드를 만든다. 2. 깔끔한 코드로 Refactoring한다. TDD의 핵심 IDEA : 올바르게 작동한다는 것을 보장해주는 Test Code가 필요하고, Test Code를 가장 먼저 작성하자. TDD cycle Red : 실패한 Test ex) 1 + 1을 계산해주는 method가 없음 Green : 부분 성공한 Test ex) 1 + 1 = 2 를 계산해주는 method를 만들어줬지만, 1 + 3은 계산하지 못함 Refactoring : 깔끔한 Code로 바꿔..
- Total
- Today
- Yesterday
- 알고리즘
- BOJ
- webpack
- 투포인터
- 파이썬
- python
- SCSS
- 백준
- html
- 최소스패닝트리
- BFS
- 고차함수
- js
- javascript
- heapq
- 다익스트라
- springboot
- CSS
- controller
- MST
- 자바스크립트
- 에라토스테네스의체
- frontend
- 최소공통조상
- 플로이드워셜
- 위상정렬
- 인프런
- 웹팩
- Java
- 1급객체
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |