본문 바로가기
반응형

스프링부트68

[TIL] : 269 일일 배움을 위한 Today I Learned ! 코딩 테스트 30일 챌린지 코딩 테스트를 풀 시간이 생각보다 많이 없다.. 그래도 시간 내서 억지로 풀고 있긴 한데 위태롭다. 2022.06.22 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 11 Spring Boot 로그 추적기를 만들고 적용해 보았다. 2022.06.22 - [Framework & Library/Spring Boot] - [Spring Boot] : 로그 추적기 2022. 6. 22.
[TIL] : 161 일일 배움을 위한 Today I Learned ! JPA 프로젝트에서 JPA를 사용하려고 하기 때문에 미리 연습해 놓고 있다. 빨리 기초를 익히고 바로 프로젝트에 적용해야 한다. 2022.04.05 - [Data Base/JPA] - [JPA] : 데이터베이스 스키마 자동 생성하기 2022.04.05 - [Data Base/JPA] - [JPA] : 필드와 컬럼 매핑 2022.04.05 - [Data Base/JPA] - [JPA] : 기본 키 매핑 오류노트 오늘도 오류 하나 정리해 봤다. 2022.04.05 - [노트/오류 노트] - [오류 노트] : Command failed with error 48 (NamespaceExists): 'Collection already exists. Spring Bo.. 2022. 4. 5.
[TIL] : 155 일일 배움을 위한 Today I Learned ! React React에 대한 지식을 조금이라도 쌓아두기 위해 공부를 시작했다. 예전에 세미나에 참여하고 구매한 강의였는데 다른 우선순위 강의들을 먼저 다 해치우고 뒤늦게 시작한다. 아직 초반부라 기초 지식을 배우면서 내가 잘 몰랐던 부분이나 나중에 떠올리면 좋을만한 부분을 메모하며 공부한다. 코드는 무조건 실습 코딩을 해 본다. 2022.03.30 - [Framework & Library/React] - [React] : React와 JavaScript에 대해서.. 2022.03.30 - [Framework & Library/React] - [React] : JavaScript 자료형 중 원시 타입과 비 원시 타입 소경관 개발 설계 산출물 완성했다. 아무.. 2022. 3. 30.
[TIL] : 154 일일 배움을 위한 Today I Learned ! 소경관 개인 프로젝트를 진행하기 전에 서류 작업을 먼저 하게 되었는데 이제 곧 마무리가 될 것 같다. 당장 이번주 목요일 부터는 발표가 잡혀있다. 2022.03.29 - [Project/소경관] - [소경관] : 화면 설계서 마무리 단계에 돌입했다. CS 지식 Array와 Linked List에 대해서 확실한 복습과 학습을 진행하고 있다. 공부를 하고 같이 공부하는 동기에게 설명하면서 공부하고 있는데 역시 이런 방법이 제일 좋다. 2022.03.29 - [노트/CS 노트] - [CS 노트] : Array와 Linked List를 비교하면 어떤가? Spring Boot 멜론 차트 크롤링하는 토이 프로젝트를 만들고 있다 지금 데이터 전체를 가져오는 것 까지 .. 2022. 3. 29.
[TIL] : 153 일일 배움을 위한 Today I Learned ! 소경관 소경관 프로젝트를 진행하기 위해 개발 설계 산출물을 작성하고 있는데 전체적인 구상을 고민하고 있다. 2022.03.28 - [Project/소경관] - [소경관] : 아직도 개발 설계 산출물 작성 중 .. 곧 완료 예정.. 멘토링 마지막 멘토링을 했다. Array를 간단하게 설명했고 깔끔하게 마무리가 되었다. Spring Boot Melon 노래를 크롤링해 MongoDB에 저장하는 프로젝트를 하고 있었는데 컬렉션 생성이 안 되고 있다.(컬렉션 자동 생성 적용 중) 모두 다 완성하고 코드 정리해서 올릴 예정이다. Kubernetes 스터디 진도만큼 책을 읽었다. 후반부 K8s는 조금 어려움을 느끼고 있기도 하고 아직 사전에 공부한 지식과 연계가 되는.. 2022. 3. 28.
[TIL] : 149 일일 배움을 위한 Today I Learned ! Spring Boot 멜론 차트 1~ 100순위를 MongoDB에 저장하는 프로젝트를 진행하고 있다. 아직 코드를 다 작성하지 못 해서 설명을 남기진 못 했으나 내일 안으로 완성해서 코드를 적어 올릴 예정이다. 강연 및 세미나 OKKY에서 주최하는 세미나에 참여했다. 이제는 거의 주기적으로 매 번 참여하는 것 같다. 개인적으로 최신 기술에 대한 정보나 내가 원하는 것에 대한 정보를 얻을 때 잡지를 많이 봤는데 요즘에는 영상이나 이런 세미나 참여 기회가 잦아지면서 질의응답이 실시간으로 가능한 매체를 추구하게 되었다. 2022.03.24 - [발전소/강연 및 세미나] - [강연 및 세미나] : 서비스 개발자로 커리어 전환하기 by 와이즐리컴퍼니 현철 CTO .. 2022. 3. 24.
[JPA] : 준영속 상태 지금은 어렵다. 나중에 실전에서 웹 애플리케이션을 만들 때 배우는 게 더 좋다. 추후에 다시 다룬다. 영속에서 준영속으로 가는 게 em.persist(member); 이렇게 사용하거나 em.find(member)로 가져올 수 있다. 영속 상태의 엔티티가 영속성 컨텍스트에서 detached 되는 것 즉, 다 떼어 버리는 것이다 영속에서 준영속으로 빠진 상태를 준영속 상태라고 하는 것이다. //영속 Member member = em.find(Member.class, 150L); // member는 영속 상태이다. member.setName("AAAA"); //데이터 변경 em.detach(member); //영속성 컨텍스트에서 관리하지 마! 해버린 것이다. 영속성에서 빠지게 된다. System.out.pri.. 2022. 3. 23.
[JPA] : Flush(), 플러시에 대해서.. 플러시, flush 간단 설명 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영 변경 사항과 데이터베이스를 맞추는 것으로 쿼리를 날려주는 것이라고 보면 된다. 플러시가 발생하면 어떻게 되나? 변경 감지가 일어나고 수정된 엔티티가 쓰기 지연 SQL 저장소에 등록한다. 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송한다. ( 등록, 수정, 삭제 쿼리 등) 플러시가 발생된다고 Commit 되는 것은 아니다. 영속성 컨텍스트를 어떻게 플러시하나? em.flush() 직접 호출한다. 트랜잭션을 커밋하면 자동으로 호출된다. 플러시를 실행해도 1차 캐시가 지워지지는 않고 쓰기 지연 SQL 저장소에 있는 것들이 데이터베이스에 반영이 되는 과정이다.데이터베이스에 쿼리가 즉시 나가고 그 다음에 Commit된다. Me.. 2022. 3. 23.
[TIL] : 146 일일 배움을 위한 Today I Learned ! Kubernetes 디플로이먼트 사용법에 대해 알아보고 Service 종류 중 자주 사용하는 것을 체크해 봤다. 2022.03.21 - [Server & System/Kubernetes] - [Kubernetes] : 디플로이먼트 사용하기 2022.03.21 - [Server & System/Kubernetes] - [Kubernetes] : 디플로이먼트를 사용하는 간단한 이유 2022.03.21 - [Server & System/Kubernetes] - [Kubernetes] : Service : 포드를 연결하고 외부에 노출하기 2022.03.21 - [Server & System/Kubernetes] - [Kubernetes] : Service 종류 .. 2022. 3. 21.
[TIL] : 143 일일 배움을 위한 Today I Learned ! Spring Boot 파일을 올리고, 올린 파일을 다운로드하는 실습 코딩을 진행했다. 간단히 파일을 올린다고 생각했지만 서버에 저장되는 이름이 같으면 충돌이 나는 문제는 떠올려 보지 못 한 부분이다. 2022.03.18 - [Framework/Spring Boot] - [Spring Boot] : 파일 업로드, 파일 다운로드 구현하기 Kubernetes 레플리카셋 사용을 적용해 봤다. 2022.03.18 - [Server & System/Kubernetes] - [Kubernetes] : 레플리카셋 사용 2022. 3. 18.
[Spring Boot] : 파일 업로드, 파일 다운로드 구현하기 파일 업로드와 파일 다운로드를 구현해 봤다. private String uploadFileName; private String storeFileName; public UploadFile(String uploadFileName, String storeFileName) { this.uploadFileName = uploadFileName; this.storeFileName = storeFileName; uploadFileName는 고객이 업로드한 파일명이다. storeFileName는 서버 내부에서 관리하는 파일명이다. 서로 다른 고객이 같은 파일을 업로드할 때 충돌날 수 있어서 서버에는 이름이 겹치지 않게 저장해야 한다. 때문에 파일명을 분리했다. @Value("${file.dir}") private St.. 2022. 3. 18.
[TIL] : 142 일일 배움을 위한 Today I Learned ! Kubernetes 레플리카 셋과 pod에 대해 공부하기 시작했다. 전에 레플리카 셋을 학교에서 실습해 본 적이 있는데 아직은 잘 모르겠다. 2022.03.17 - [Server & System/Kubernetes] - [Kubernetes] : 완전한 애플리케이션으로서의 pod 2022.03.17 - [Server & System/Kubernetes] - [Kubernetes] : Replica Set, 레플리카 셋을 사용하는 이유 CentOS CentOS에 MongoDB를 설치하고 로그 저장 위치 수정이나 방화벽 등 설정 셋팅을 진행했다. Robo 3T를 통해 외부 접속도 성공했지만 Studio 3T로 해 볼 예정이다. 2022.03.17 - [Ser.. 2022. 3. 17.
[Spring Boot] : 스프링과 파일 업로드 스프링은 MultipartFile 이라는 인터페이스로 매우 편리하게 지원을 한다. @PostMapping("/upload") public String svaeFile(@RequestParam String itemName, @RequestParam MultipartFile file, HttpServletRequest request) throws IOException { log.info("request={}", request); log.info("itemName={}", itemName); log.info("multipartFile={}", file); if (!file.isEmpty()) { String fullPath = fileDir + file.getOriginalFilename(); log.info.. 2022. 3. 17.
[TIL] : 141 일일 배움을 위한 Today I Learned ! Spring Boot 포맷터 사용에 대해 공부하고 코딩했다. 2022.03.16 - [Framework/Spring Boot] - [Spring Boot] : Formatter, 포맷터 적용하기 2022.03.16 - [Framework/Spring Boot] - [Spring Boot] : 포맷터를 지원하는 컨버젼 서비스 2022.03.16 - [Framework/Spring Boot] - [Spring Boot] : 포맷터를 웹 애플리케이션에 적용하기 2022.03.16 - [Framework/Spring Boot] - [Spring Boot] : Spring이 제공하는 기본 포맷터 Kubernetes 포드에 대해 알아봤다. 2022.03.16 - [.. 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.
[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.
[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.
반응형