반응형 스프링14 [TIL] : 272 일일 배움을 위한 Today I Learned ! 코딩 테스트 30일 챌린지 알고리즘 한 문제를 풀었다. 이번에는 프로그래머스에 있는 2단계 문제 중 소수 찾기를 풀어봤다. 2022.06.25 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 14 하둡 기존에 학습한 하둡을 다시 살펴봤다. 정의와 잡을 실행하려는 명령어를 찾아봤다. 스프링 인프런 강의를 듣고 있는 중이다. CS 스터디 아침에 스터디가 있어서 발표를 했다. 운영체제 파트를 발표했고 다음 주는 데이터베이스 파트를 공부해 가면 될 것 같다. 오늘은 2명이 참여하지 못 해서 나 포함 2명이 진행했다. 우리 스터디의 총 인원은 4명이다. 2022. 6. 25. [JPA] : JPA 영속성 컨텍스트(2) 영속성 컨텍스트의 이점은 동일성을 보장하고 트랜잭션을 지원하는 쓰기 지연과 변경 감지, 지연 로딩이다. Member member1 = em.find(Member.class, "member1"); Member member2 = em.find(Member.class, "member2"); 동일성을 비교했을 때 true가 나온다 1차 캐시로 반복 가능한 읽기 등급의 트랜적션 격리 수준을 데이터베이스가 아닌 애플리케이션 차원에서 제공한다. transaction.begin(); em.persist(member1); em.persist(member2); transaction.commit(); 트랜잭션을 시작하고 em.persist를 해도 INSERT SQL을 데이터베이스에 보내지 않는다. 마지막에 commit을 진.. 2022. 3. 22. [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. [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. [Spring Boot] : Spring type converter 스프링 타입 컨버터 소개 개발을 하다 보면 문자를 숫자로 혹은 숫자를 문자로 변환하는 등 타입 변환을 해야 하는 일들이 많이 생긴다. 이번 강의에서는 스프링 타입 컨버터를 공부하기 전에 간단한 예시로 타입 변환을 진행해 봤다. String data = request.getParameter("data"); // 문자 타입 조회 Integer intValue = Integer.valueOf(data); // 숫자 타입으로 변경 문자 타입을 숫자 타입으로 바꾸었다. HTTP 요청 파라미터는 모두 문자로 처리되기 때문에 타입 변환을 통해 숫자로 바꿔 준 것이다. public String helloV2(@RequestParam Integer data) { System.out.println("data = " + d.. 2022. 3. 13. [Spring Boot] : 스프링 인터셉터 스프링 인터셉터 소개 스프링 인터셉터는 서플릿 필터와 같이 웹과 관련된 공통 관심 사항을 효과적으로 해결할 수 있는 기술이다. 서블릿 필터는 서블릿이 제공하고 스프링 인터셉터는 스프링 MVC가 제공하는 기술이다. 스프링 인터셉터는 디스패쳐 서블릿과 컴트롤러 사이에서 컨트롤러 호출 직전에 호출이 된다. HTTP 요청 → WAS → 필터 → 서블릿 → 스프링 인터셉터 → 컨트롤러 //로그인 사용자 HTTP 요청 → WAS → 필터 → 서블릿 → 스프링 인터셉터 → 적절하지 않은 요청이라 판단해서 컨트롤러 호출 X //비로그인 사용자 이렇게 동작하게 된다. 스프링 인터셉터도 서블릿 필터처럼 체인으로 구성할 수 있다. 뭔가 서블릿 필터와 비슷해 보이지만 사실 더 편하고 정교하고 다양한 기능을 제공한다고 하는데 .. 2022. 2. 23. [질문 노트] : Spring Boot 프로젝트 폴더 구조는 어떻게 만드는 게 좋을까? project controller dto service mapper 프로젝트를 진행하기 전에 학교에서는 위에 패키지 구조 처럼 controller, service, mapper, dto, util을 다 나누어서 진행했다. 하지만 Git Hub를 찾아보면 폴더 구조가 내가 배우고 있는 부분하고 많이 다른 것을 확인할 수 있었는데 왜 그렇게 하는지 궁금했다. project member AController BController service ASerivce BService 팀 프로젝트를 할 떄 다른 사람에게 물어보니 단위를 작게 나눌 수록 좋다고 해서 위와 같이 나누는 것도 고민을 해 봤다. 그에 관한 내용을 찾아보니 딱 정해진 내용은 없다고 한다. 제일 좋은 방법은 프로젝트의 상황과 규모에 따라서 거기에 .. 2022. 2. 2. [Spring Boot] : 정적 리소스 및 뷰 템플릿 스프링 서버에서 응답 데이터를 받는 방법은 크게 3가지 정도로 나누어진다. 정적 리소스 HTML, CSS, JS 뷰 템플릿 사용 웹 브라우저에 동적인 HTML을 제공할 때 뷰 템플릿을 사용한다. HTTP 메시지 사용 HTTP API를 제공하는 경우에 HTML이 아니라 데이터를 전달해야 한다. 떄문에 HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. Spring Boot는 /static, /public, /resources, /META-INF/resources 디렉토리에 있는 정적 리소스를 제공한다. src/main/resources는 리소스를 보관하는 곳이면서 클래스 패스의 시작 경로이다. 이 디렉토리에 리소스를 넣어두면 스프링 부트가 정적 리소스로 서비스를 제공하게 된다. /src/.. 2022. 1. 26. [Spring Boot] : 스프링이 제공하는 핸들러 매핑과 어댑터 지금은 잘 사용하지 않는 스프링이 제공하는 간단한 핸들러 매핑과 어댑터에 대해 공부한다. public interface Controller{ } 전에는 이렇게 인터페이스 컨트롤러를 만들어서 안에서 ModelAndView를 사용해 주었지만 사실 인터페이스 컨트롤러와 @Controller는 전혀 다르다. 코드를 통해 알아본다. @Component("/springmvc/old-controller") public class OldController implements Controller { } @Component를 사용하여 스프링 빈의 이름을 URL로 해둬서 핸들러 매핑이 가능하도록 해준다. 이렇게 만들면 스프링 빈도 등록이 된 것이고 빈의 이름으로 URL을 매핑하게 되는 것이다. 컨트롤러가 호출되기 위해 2가.. 2022. 1. 24. [Spring Boot] : 라이브러리, DI컨테이너, 스프링 라이브러리, DI컨테이너, 스프링 라이브러리 내가 작성한 코드가 직접 제어의 흐름을 담당하면 라이브러리이다. 자바 객체를 직접 xml이나 json으로 바꾼다면 이것은 라이브러리이다. AppConfig 객체를 생성하고 관리하면서 의존관계를 연결해 준다. IoC컨테이너, DI컨테이너, 어셈블러, 오브젝트 팩토리 등으로 불린다. 스프링 @Configuration 은 설정, 구성 정보로 스프링에서 어노테이션을 활용하여 사용할 수 있다. 그 안에는 @Bean 을 사용해 스프링 컨테이너에 스프링 빈으로 등록할 수 있다. 2022. 1. 4. [Spring Framework] : 스프링 프레임워크 자문 자답 16제 1. 웹상의 데이터를 수집하는 위한 기술 및 자바 기반 외부라이브러리의 명칭은 무엇인가? 💡 JSOUP 2. 스프링 배치를 사용하기 위한 어노테이션과 사용법을 작성하시오. 💡 어노테이션) @Scheduled 어노테이션 활용 사용법) 리눅스에서 제공하는 crontab과 동일 예시) @Scheduled(cron="0 0 05 * * ?") => 매일 5시에 실행 @Scheduled(cron="0 0 02 2,20 * ?") => 매월 2일,20일 새벽2시에 실행 3. 파일업로드 구현할 때, HTML의 Form 태그에 반드시 작성해야 하는 옵션을 작성하시오. 💡 enctype="multipart/form-data" 4. 파일업로드 구현할 때, Controller에서 input type=“file”을 받기 위한.. 2021. 12. 10. [T.I.L] : 09 일일 배움을 위한 Today I Learned ! Spring Framework Rest 기반 Open API 서버 구현을 했습니다. 톰켓과 톰켓을 통신합니다. 2021.11.03 - [Framework/Spring Framework] - [Spring Framework] : Rest 기반 Open API Server 구현 (1부) [Spring Framework] : Rest 기반 Open API Server 구현 (1부) DB에 테이블을 만들어주고 값을 넣어줍니다. 복합키를 주고 각 데이터의 크기와 형식을 정해주고 간단한 주석을 넣었습니다. 데이터 베이스에 값도 넣어줍니다. 전에 만들어둔 프로젝트를 복사 ohju.tistory.com 2021.11.03 - [Framework/Spring Framew.. 2021. 11. 3. [Spring Framework] : 오피니언 마이닝, Opinion Mining (긍정 및 부정 분석) 오미니언 마이닝 - 형태소 분석은 품사를 뽑아내어 형태소의 어근, 어미를 파악하는 것으로 한국 밖에 없습니다. - 데이터 사전 # 다양한 단어들이 모인 집단입니다. # 형태소 분석을 통해 분석된 형태소와 데이터 사전과 매칭하여 데이터를 분석합니다.(데이터 사전은 정보이고, 정보는 곧 돈이기 때문에 오픈이 잘 안 됩니다. # 일반적으로 JSON 형태로 데이터를 처리합니다. 데이터 베이스에 사용할 데이터를 유형에 맞게 생성해 줬습니다. - 데이터를 넣어주었습니다. - 데이터가 얼마나 들어갔는지 확인해 보면 14811개가 들어가있는 것을 확인할 수 있습니다. select count(*) from NLP_DICTIONARY; - SQL count (카운트) 쿼리니다. - 만약 제대로 데이터가 안 들어가면 테이블.. 2021. 10. 29. Base Setting : No.03_Encoding Setting 인코딩 설정을 해 줍니다. - 상단에 Window - Preferences로 들어가 줍니다. Preferences에서 좌측 상단에 enc를 검색하면 목록이 뜹니다. 좌측 메뉴 탭들 모든 항목의 encoding을 UTF-8로 바꿔줍니다. Content Type - Text에 들어가서 맨 아래 부분을 보면 Default encoding가 있습니다. 이 부분에 타이핑으로 UTF-8을 적어주고 Update해 줍니다. 두 번째 탭에서는 맨 아래 부분에 Other 부분을 눌러 utf-8로 바꿔줍니다. 위와 같이 Encoding 부분을 전부 다 utf-8로 바꿔주면 Encoding은 끝이 납니다. - 제 스프링 파일은 위와 같이 설정을 다 해도 한글이 깨지는 경우가 있었는데 알고 보니 넘겨주는 인코딩 코드가 없었어서.. 2021. 7. 11. 이전 1 다음 반응형