반응형 전체 글1065 [Spring Boot] : Spring이 제공하는 기본 포맷터 스프링은 수 많은 포맷터를 기본으로 제공한다고 한다. 그 중 이번 강의에서 사용해 본 포맷터는 @NumberFormat 으로 숫자 관련 형식을 지정할 때 사용하는 포맷터와 @DateTimeFormat 으로 날짜 관련 형식 지정 할 때 사용하는 포맷터이다. @Data static class Form { @NumberFormat(pattern = "###,###") private Integer number; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime localDateTime; } 포맷터에 사용되는 어노테이션으로 형식을 지정해 DTO를 생성해 사용하면 된다. 여기서 @DateTimeFormat을 사용할 때 형식 중 달은 MM .. 2022. 3. 16. [Spring Boot] : 포맷터를 웹 애플리케이션에 적용하기 이번에는 포맷터를 웹 애플리케이션에 적용해 봤다. // registry.addConverter(new StringToIntegerConverter()); // registry.addConverter(new IntegerToStringConverter()); 우선 전에 만든 컨버터를 주석처리했고 registry.addFormatter(new MyNumberFormatter()); 포맷터를 추가해 주었다. 주석 처리한 컨버터와 새로 추가한 포맷터는 서로 기능이 겹치는데 우선 순위는 컨버터가 높아 포맷터가 적용이 되지 않고 컨버터가 적용이 되어 버리기 때문에 주석 처리를 해 주었다. 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다. 2022. 3. 16. [Spring Boot] : 포맷터를 지원하는 컨버젼 서비스 이번 강의에서는 컨버전 서비스를 만들고 포맷터와 컨버전을 등록하고 테스트를 진행했다. 포맷터를 지원하는 컨버전 서비스를 사용하면 컨버전 서비스에 포맷터를 추가할 수 있다. 내부에서 어댑터 패턴을 사용해 Formatter가 Converter처럼 동작하도록 지원한다고 한다. FormattingConversionService는 포맷터를 지원하는 컨버전 서비스이다. DefaultFormattingConversionService는 FormattingConversionService에 통화나 숫자 관련 포맷터를 제공한다. @Test void formattingConversionService() { DefaultFormattingConversionService conversionService = new DefaultF.. 2022. 3. 16. [Spring Boot] : Formatter, 포맷터 적용하기 포맷터는 객체를 특정한 포맷에 맞춰 문자로 출력하거나 그 반대 역할을 하는 것에 특화된 기능이라고 한다. 그냥 컨버터의 특별한 버전으로 이해하면 된다. 이번 강의에서는 포맷터를 적용해 보고 간단한 설명을 해줬다. 우선, 컨버전과 차이다 Converter은 범용(객체 → 객체)이고, Formatter는 문자에 특화되어 있다고 한다.(객체 → 문자, 문자 → 객체) + Locale(현지화) public class MyNumberFormatter implements Formatter { @Override public Number parse(String text, Locale locale) throws ParseException { log.info("text={}, locale={}", text, locale).. 2022. 3. 16. [Kubernetes] : 포드 vs 도커 컨테이너 단일 컨테이너와 크게 다르지 않은 것 같지만 왜 포드를 사용할까? 쿠버네티스가 포드를 사용하는 이유는 여러 리눅스 네임스페이스를 공유하는 여러 컨테이너들을 추상화된 집합으로 사용하기 위해서이다. kubectl get pods 명령어를 출력했을 때 READY 항목에 1/1이 출력되었을텐데 Nginx 포드에 1개의 컨테이너가 정의되어 있고 준비되었다. 라는 뜻이다. 이처럼 보통 1개의 컨테이너로 포드를 구성해 사용하지만 꼭 1개로 구성해야 하는 것은 아니다. 네트워크 네임스페이스는 컨테이너의 고유한 네트워크 환경을 제공해 주는 역할을 담당한다. 다른 컨테이너를 추가해 2/2로 만든 뒤 하나의 컨테이너의 접속해서 HTTP 요청을 전송하면 다른 서버에서 응답이 도착하는 것을 확인할 수 있다. 📖 ← [ 시작하세.. 2022. 3. 16. [Kubernetes] : 포드, Pod 사용하기 포드, Pod 사용하기 애플리케이션을 구동하기 위해 필수적으로 알아야 하는 몇 가지 오브젝트가 있는데 그것이 바로 포드, 레플리카셋, 서비스, 디플로이먼트이다. 쿠버네티스에서 컨테이너 애플리케이션의 기본 단위를 포드라고 한다. 포드는 1개 이상의 컨테이너로 구성된 컨테이너의 집합이다. 도커 엔진에서 기본 단위가 도커 컨테이너, 스웜 모드에서 기본 단위는 서비스인 것 처럼 쿠버네티스는 기본 단위로 포드를 사용한다. 1개의 포드엔 1개의 컨테이너가 존재 할 수도 있고 여러 개의 컨테이너가 존재 할 수도 있다. apiVersion: v1 kind: Pod metadata: name: my-nginx-pod spec: containers: - name: my-nginx:latest ports: - contain.. 2022. 3. 16. [TIL] : 140 일일 배움을 위한 Today I Learned ! Spring Boot 스프링 부트 강의를 진도나갔고, 학교에서 배운 내용도 간단하게 정리해 봤다. 2022.03.15 - [Framework/Spring Boot] - [Spring Boot] : ComversionServcie 사용해 보기 2022.03.15 - [Framework/Spring Boot] - [Spring Boot] : myBatis와 JPA 간단 정리 2022.03.15 - [Framework/Spring Boot] - [Spring Boot] : 스프링에 Converter 적용하기 2022.03.15 - [Framework/Spring Boot] - [Spring Boot] : 뷰 템플릿에 컨버터 적용하기 Kubernetes 쿠버네티.. 2022. 3. 15. [Kubernetes] : 쿠버네티스에 대한 간단한 설명 모든 리소스는 오브젝트 형태로 관리된다. 쿠버네티스는 리소스를 오브젝트라고 불리는 형태로 관리한다. 오브젝트는 간단히 추상화된 집합 정도로 생각하면 된다. 쿠버네티스의 오브젝트 개념은 생각보다 넓고 세밀한 단위로 사용한다. kubectl api-resources 쿠버네티스에서 사용할 수 있는 오브젝트 종류를 확인하는 명령어이다. 이 오브젝트들을 전부 다 다루지도 않고 전부 다 외울 필요도 없다. 또, 쿠버네티스 공식 문서에서 대부분의 리소스 오브젝트 사용법이 적혀있다. kubectl explatin pod 특정 오브젝트의 설명을 확인할 수 있는 명령어이다. pod 오브젝트를 확인해 본다. 쿠버네티스는 명령어보다 YAML 파일을 더 많이 사용한다. 쿠버네티스에서는 kubectl 명령어로 쿠버네티스를 사용할.. 2022. 3. 15. [Spring Boot] : 뷰 템플릿에 컨버터 적용하기 뷰 템플릿에 컨버터를 적용해 본다. 타임리프는 렌더링 시 컨버터를 적용해 렌더링하는 방법을 편리하게 지원한다고 한다. @GetMapping("/converter-view") public String converterView(Model model) { model.addAttribute("number", 10000); model.addAttribute("ipPort", new IpPort("127.0.0.1", 8000)); return "converter-view"; } Model에 숫자 1000과 ipPort 객체를 담아 뷰 템플릿에 전달한다. ${number}: ${{number}}: ${ipPort}: ${{ipPort}}: 뷰 템플릿에서 이런 형식으로 받는데 잘 보면 어떤 라인은 {{}} 중괄호가 .. 2022. 3. 15. [Spring Boot] : 스프링에 Converter 적용하기 이번 강의에서는 웹 애플리케이션에 Converter를 적용해 본다. @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addFormatters(FormatterRegistry registry) { registry.addConverter(new StringToIntegerConverter()); } } WebMvcConfigurer가 제공하는 addFormatters()를 사용해 추가하고 싶은 컨버터를 등록하면 스프링이 ConversionService에 컨버터를 추가해 주게 된다. 스프링에서도 수 많은 기본 컨버터들을 제공하기 때문에 StringToIntegerConverter가 없어도 잘 작동한.. 2022. 3. 15. [Spring Boot] : myBatis와 JPA 간단 정리 myBatis란? - SQL이 자바 프로그램 내 존재함에 따라 발생되는 SW개발, 소스 관리 및 유지보수의 어려움을 해소하기 위해 개발된 오픈소스이다. myBatis - SQL을 통해 관계형 데이터베이스 제어(CRUD) - 개발자 입력한 SQL을 직접 수행하기 때문에 DB에서 제공되는 SQL을 그대로 사용 가능 - JOIN, GROUP BY 등 사용 가능 JPA - 데이터베이스의 테이블을 객체지향 관점으로 처리하도록 개발 - Hibernate 기반 데이터 처리 - 기본적인 CRUD 기능 - JOIN, GROUP BY 사용이 어렵다. JPA가 왜 뜨게 되었나? - 인터넷 서비스 기업이 급부상 하다 보니까 뜨게 되었다. - SQL의 처리 속도가 가장 느린 쿼리는 조회(Select)이고 그 중에서도 가장 오래.. 2022. 3. 15. [Spring Boot] : ComversionServcie 사용해 보기 컨버터를 모아두고 묶어서 쉽게 사용할 수 있는 기능이 ConversionService이다. ConversionService는 인터페이스로 구성되어 있는데 단순하게 컨버팅이 가능한지 확인하는 기능과 컨버팅을 하는 기능을 제공한다. 강의에서 이 ConversionService를 코딩해 보면서 어떤건지 알아갔다. @Test void conversionService() { //등록 DefaultConversionService conversionService = new DefaultConversionService(); conversionService.addConverter(new StringToIntegerConverter()); //사용 assertThat(conversionService.convert("10".. 2022. 3. 15. [TIL] : 139 일일 배움을 위한 Today I Learned ! R 데이터 프레임을 다루어보고 데이터 개념을 이해하기 위해 예제 파일을 통해 행, 열을 정리하고 그래프를 출력해 봤다. 2022.03.14 - [프로그래밍언어/R] - [R] : 데이터 프레임 다루기(2) 2022.03.14 - [프로그래밍언어/R] - [R] : 데이터 프레임 다루기(3) 2022.03.14 - [프로그래밍언어/R] - [R] : 데이터 개념 이해하기(1) 2022.03.14 - [프로그래밍언어/R] - [R] : 데이터 개념 이해하기(2) 2022.03.14 - [프로그래밍언어/R] - [R] : 데이터 개념 이해하기(3) Spring Boot 스프링 타입 컨버터에 대해 간단하게 코딩하고 조금 더 진화된 버전이 있다는 것을 공부했다. .. 2022. 3. 14. [Kubernetes] : kops로 AWS에서 쿠버네티스 설치 kops는 클라우드 플랫폼에서 쉽게 쿠버네티스를 설치할 수 있게 도와주는 도구이다. kubeadm은 쿠버네티스를 설치할 서버 인프라를 직접 마련해야 하지만 kops는 서버 인스턴스와 네트워크 리소스 등을클라우드에서 자동으로 생성해 쿠버네티스를 설치한다. kops는 AWS, GCP 등 클라우드 플랫폼에서 설치를 지원하고 있다. wget -O kops chmod +x ./kops sudo mv ./kops /usr/local/bin/ wget -O kubectl \\ chmod +x kubectl sudo mv kubectl /usr/local/bin/ kopos 및 kubectl 실행 바이너르를 내려받는다. AWS 사용자를 생성하고 정책 연결 및 AWS CLI를 설정한다. 번거로워서 책에서는 따로 🔗링크를.. 2022. 3. 14. [Spring Boot] : 타입 컨버터 - Converter 타입 컨버터를 사용하려면 org.springframework.core.convert.converter.Converter 의 인터페이스를 구현하면 되는데 Converter라는 인터페이스가 많아 조심해야 한다. 강의에서 간단하게 숫자와 문자를 서로 변환할 수 있는 두 개의 컨버터를 코딩했다. @Slf4j public class StringToIntegerConverter implements Converter { @Override public Integer convert(String source) { log.info("converter source={}", source); return Integer.valueOf(source); } 문자를 숫자로 만드는 컨버터이다. Integer.valueOf()를 사용해 변.. 2022. 3. 14. [R] : 데이터 개념 이해하기(3) 데이터 개념 이해하기(3) 전국 커피숍 폐업/영업 상황을 살펴본다. install.packages("data.table") library("data.table") library("ggplot2") 필요한 패키지를 불러온다. DF 2022. 3. 14. [R] : 데이터 개념 이해하기(2) 대장암 환자 자료를 분석해 본다. 건강보험심사평가원에서 공개한 보건의료빅데이터개방시스템을 활용한다. DF 2022. 3. 14. [R] : 데이터 개념 이해하기(1) 데이터 개념 이해하기(1) 20만건 관측치가 넘는 데이터셋의 명목형 변수 도수분포표를 만들어 본다. install.packages("hflights") 먼저 데이터셋 패키지를 불러온다. library("hflights") 패키지를 불러온다. head(hflights,5) 데이터를 살펴본다. str(hflights) 객체가 data.frame이고 관측치는 22만건 변수는 21이다. CountOfDest 2022. 3. 14. [R] : 데이터 프레임 다루기(3) 데이터 프레임 다루기(3) DF 2022. 3. 14. [R] : 데이터 프레임 다루기(2) DF 2022. 3. 14. [TIL] : 138 일일 배움을 위한 Today I Learned ! Spring Boot 스프링 타입 컨버터를 공부하기 전에 간단한 타입 변환을 코딩하고 앞으로 어떤 부분을 학습하게 될 지 체크해 봤다. 2022.03.13 - [Framework/Spring Boot] - [Spring Boot] : Spring type converter Kubernetes 간단하게 쿠버네티스 설치와 버전 선택에 대해 알아봤다. 2022.03.13 - [Server & System/Kubernetes] - [Kubernetes] : 쿠버네티스 버전 선택 및 설치 2022.03.13 - [Server & System/Kubernetes] - [Kubernetes] : 리눅스 서버에서 도커 엔진만으로 minikube 설치하기 2022. 3. 13. 이전 1 ··· 14 15 16 17 18 19 20 ··· 51 다음 반응형