전체 글
-
[정렬] 선택정렬 -파이썬자료구조_알고리즘/자료구조 2020. 8. 18. 12:49
''' 선택정렬 ''' a =[3,9,6,5,2,10] def selectedSort(unsorted_list): length = len(unsorted_list) for i in range(length): min_index = i for j in range(i+1 ,length): if(unsorted_list[j] < unsorted_list[min_index]): min_index = j unsorted_list[i], unsorted_list[min_index] = unsorted_list[min_index], unsorted_list[i] print(a) selectedSort(a) print(a) 오름차순 선택정렬은 최소값을 갖는 index를 찾는 방식으로 구현한다. 버블 정렬과 마찬가지로 구..
-
[정렬] 버블소트 - 파이썬자료구조_알고리즘/자료구조 2020. 8. 17. 22:49
버블 소트 - 파이썬 자료구조 관련 내용은 인터넷에서 검색하면 자료가 많이 나오기 때문에 따로 정리하진 않았다. a =[ 5, 3 , 6, 9, 2] list_length = len(a) for i in range(list_length -1): for j in range(list_length - i -1): if(a[j] >a[j+1]): a[j], a[j+1] = a[j+1], a[j] print(a) 버블 소트를 구현할 때 가장 중요한 것은 range의 범위를 설정하는 것이다. 실제 코딩테스트에서 버블소트 구현이 나올 확률은 없지만, 가장 기본이 되는 sorting 방법이기 때문에 주의해야 한다. 두번째 for문에서 list_length - i - 1 로 range 범위를 설정하는 이유는 뒤쪽 부터 ..
-
[Restuful 학습] - 버전관리SPRING/WEBSERVICE 2020. 8. 8. 20:48
Restful 웹서비스 개발방식에서 버전관리를 하는 법은 여러가지이다. 1. mapping url / 메서드 별 관리 @GetMapping("/v1/users/{id}") public MappingJacksonValue retrieveUservV1(@PathVariable int id) @GetMapping("/v2/users/{id}") public MappingJacksonValue retrieveUserV2(@PathVariable int id) 2. paramter를 사용하는 방법 @GetMapping(value = "/users/{id}", params = "version=1") @GetMapping(value = "/users/{id}", params="version=2") 위와 같이 Para..
-
Jackson Annotation 관련 정리 (업데이트 중)SPRING/SPRINGBOOT 2020. 8. 8. 17:39
실무나 공부 중에 알게 된 Jackson Annotation 관련 사항에 대하여 정리를 하였다. @JsonIgnore 해당 어노테이션을 사용하면 Jackson이 해당 프로퍼티를 무시하도록 만든다. 예를 들어 아래와 같이 @JsonIgnore 어노테이션을 설정하면 Json으로 return할때 해당 필드들은 제외되게 된다. public class User { private Integer id; @Size(min=2, message ="Name은 2글자 이상 입력해 주세요.") private String name; @Past private Date joinDate; @JsonIgnore private String password; @JsonIgnore private String ssn; } @JsonIgnor..
-
[Restuful 학습] - 다국어처리 실습 및 예제SPRING/WEBSERVICE 2020. 8. 8. 15:57
package com.example.demo; import java.util.Locale; @SpringBootApplication public class RestStudyApplication { public static void main(String[] args) { SpringApplication.run(RestStudyApplication.class, args); } // 다국어 처리 (한국어 기본설정) @Bean public LocaleResolver localeResolver() { SessionLocaleResolver localeResolver = new SessionLocaleResolver(); localeResolver.setDefaultLocale(Locale.KOREA); retur..
-
[Restuful 학습] - Validation 체크 (@Valid 사용)SPRING/WEBSERVICE 2020. 8. 8. 15:42
Restful로 데이터를 받을 때 @Valid 어노테이션을 이용하여 유효성 체크를 할 수 있다. @PostMapping("/users") public ResponseEntity createUser(@Valid @RequestBody User user) { User savedUser = service.save(user); URI location = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{id}") .buildAndExpand(savedUser.getId()) .toUri(); //아래와 같이 HTTP 상태코드를 post get put delete에 맞게 내려주는 것이 무조건 200을 내려주는것보다 좋은코드이다. return ResponseEn..
-
[Restuful 학습] - DeleteMapping 실습 및 예제SPRING/WEBSERVICE 2020. 8. 8. 12:55
package com.example.demo.user; @RestController public class UserController { private UserDaoService service; public UserController(UserDaoService service) { this.service = service; } @DeleteMapping("/users/{id}") public void deleteUser(@PathVariable int id) { User user = service.deleteById(id); if(user == null) { throw new UserNotFoundException(String.format("ID[%s] not found",id)); } } } packag..
-
[Restuful 학습] - Exception 핸들링을 통한 HTTP STATUS Code 관리법 (ControllerAdvice 사용)SPRING/WEBSERVICE 2020. 8. 4. 00:07
package com.example.demo.exception; @RestController @ControllerAdvice public class CustomizedResponseEntityExceptionHandler extends ResponseEntityExceptionHandler{ @ExceptionHandler(Exception.class) public final ResponseEntity handleAllExcetipon(Exception ex, WebRequest request) { System.out.println("Exception..."); ExceptionResponse exceptionResponse = new ExceptionResponse(new Date(), ex.getMe..