본문 바로가기

분류 전체보기165

RESTFul API 패키지 구조 설계안 ( 버전 우선, 도메인 우선 등 방식 비교 ) RESTFul API 설계시 패키지 구조를 어떤 방식으로 잡을지 많은 고민을 합니다. 다음과 같이 버전이 특정되어 있는 형태일 때, 몇가지 효과적인 방법을 생각해볼 수 있습니다. 인증 API /api/v1/auth 대출 조회 API /api/v1/loan 대략 위와 같은 형태로 API가 설계된다면, 버전에 종속적인 패키지 구조를 고려할수도, 혹은 업무에 따라 구분하는 방법도 고려할 수 있습니다. 1. 버전 우선 -src -main -java -com.example -api -config (for swagger configuration) -controller -v1 -AuthController.java (handles authentication-related endpoints for version 1 of.. 2023. 1. 30.
Java 17 주요 특징 with 예제 샘플 코드 1. record ( From java 14 ) record는 간결하면서, 변경 불가한 객체를 위한 새로운 타입입니다. record를 사용하면 기존에 장황했던 코드를 몇 줄의 간결한 코드로 축약할 수 있습니다. 👍 다음 샘플 코드를 통해 기존 방식과의 차이점을 알아봅니다. public class Human { private String name; private int age; private String address; public Human(String name, int age, String address) { this.name = name; this.age = age; this.address = address; } public String getName() { return name; } public v.. 2023. 1. 29.
Java 11 주요 특징 with 예제 샘플 코드 Java 11 버전에서 추가된 주요 기능을 알아봅니다. 1. HTTP2 클라이언트 - HttpClient 클래스를 사용하여 HTTP2 프로토콜 사용을 지원합니다. - 다음은 HTTP2를 사용하여 네이버에 요청을 보내는 코드입니다. HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://www.naver.com")) .GET() .build(); client.sendAsync(request, BodyHandlers.ofString()) .thenApply(HttpResponse::body) .thenAccept(System.out::println) .. 2023. 1. 28.
python - 랜덤 범주형(Categorical) 데이터 생성하기 ( numpy ) np.random.choice 함수를 사용하여 Categorical data를 랜덤으로 생성합니다. np.random.choice random_data = np.random.choice( a=['a', 'b', 'c', 'd'], size=687, p=[0.1, 0.2, 0.3, 0.4] # 합이 1이 아닌 경우 오류 ) unique, counts = np.unique(random_data, return_counts=True) counts = (counts / len(random_data) * 100).round(2) for _class, _count in zip(unique, counts): print(_class, _count)output a .. 2022. 12. 7.