728x90

전체 글 151

Basic 프로젝트 - DAY1

public interface QuestionRepository extends JpaRepository { } JpaRepository(스프링 프레임워크에서 제공하는 인터페이스)... 상속했음 상속할 때는 제네릭 타입으로 repository 의 대상이 되는 엔티티의 타입(Question)과 해당 엔티티의 Primary Key의 속성 타입(Integer)을 지정해야함 테스트 코드 익숙해지기 @SpringBootTest 애노테이션 BasicApplicationTests 클래스가 스프링부트 테스트 클래스임을 의미 @Autowired 애노테이션 스프링의 DI 기능, questionRepository 객체를 스프링이 자동으로 생성해 준다. @Autowired는 스프링 프레임워크에서 제공하는 의존성 주입(Depen..

카테고리 없음 2023.06.29

intelli j 스프링 최초 실행시 오류

Process 'command 'C:\Program Files\자바경로' finished with non-zero exit value 1 해결방법 Files > settings > Build, Execution, Deployment > Gradle(난 gradle임) bulid and run using: Run tests using: 원래 gradle이었는데 IntelliJ IDEA로 변경해준다 Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 해결방법 DB 설정이 안되어있어서 그럼 application.properties에 추가 # mysql dat..

카테고리 없음 2023.06.29

파이썬 heapq 활용하기

import heapq 써줘야 한다 파이썬 내장 모듈 최소 힙(Min Heap)으로 구현 리스트를 힙으로 만들기 heapq.heapify(리스트) 힙에 요소 추가 heapq.heappush(힙이름, 요소) 힙 최소값 조회(제거) heapq.heappop(힙이름) 힙 최소값 조회(just 조회, 제거X) 힙이름[0] import heapq # 리스트를 힙으로 변환 nums = [5, 3, 8, 1, 2] heapq.heapify(nums) print(nums) # [1, 2, 8, 5, 3] # 요소 추가 heapq.heappush(nums, 4) print(nums) # [1, 2, 8, 5, 3, 4] # 최솟값 조회 및 제거 min_value = heapq.heappop(nums) print(min_..

카테고리 없음 2023.06.28

mysql root 비밀번호 모를때 해결

sudo apt-get install mysql-server 아니 다들 설치할때 root 비밀번호 설정하는 시간이 있다고 하던데... 나는 그런거 없이 설정이 끝났다. 그래서 비밀번호가 없나? 하고 들어갔더니 mysql -u root -p 나한테 왜이래~~~!! 그냥 빈칸으로 두고 엔터 -> 안됨 root -> 안됨 toor -> 안됨 password 0000 다 아니다!!! 난 아무것도 설정한 적이 없는데... 대체 뭐란 말임? 해결방법 일단 root로 로그인 하려 하지 말고 그냥 mysql 실행 먼저 한다 sudo mysql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '새 비밀번호'; 성공~~~~~ mysql root..

카테고리 없음 2023.06.26

JAVA 버전별 특징

옛날엔 자바 버전이 그렇게 중요한가... 싶었는데 중요한가봄... 쩝 참고로 나는 11을 사용한다. 일단 외우기 쉽도록 간략한 주요 내용만 정리 Java 8: 람다식, 함수형 인터페이스, 스트림 API, 날짜/시간 API의 도입으로 함수형 프로그래밍과 간결한 코드 작성을 지원하는 기능들이 추가되었습니다. Java 9: 모듈 시스템인 Java Platform Module System (JPMS)의 도입으로, 애플리케이션의 모듈화를 지원하고 성능 및 보안 측면에서 개선되었습니다. Java 11: Long-Term Support (LTS) 버전으로, 자바 EE 모듈의 제거, HTTP 클라이언트 API의 추가, 지속적인 가비지 수거 (Epsilon GC) 등의 기능이 포함되었습니다. Java 14: 패턴 매칭,..

카테고리 없음 2023.06.26

7장 스프링 삼각형과 설정 정보 - 1

IoC: 제어의 역전 Inversion of Control DI: 의존성 주입 Dependency Injection 자바에서 의존성이란? - 전체가 부분에 의존한다 - 프로그래밍에서 의존 관계는 new로 표현된다 집합관계: 부분과 전체가 다른 생명 주기를 가질 수 있음 (집 vs 냉장고) 구성관계: 부분과 전체가 같은 생명주기를 갖는다 (사람 vs 심장) 주입... -> 외부에서 만들어진 것을 장착 하는것 스프링 없이 의존성 주입하기 1. 생성자를 통한 의존성 주입 // 운전자가 타이어를 생산한다 // 운전자가 자동차를 생산하면서 타이어를 장착한다 Tire tire = new KoreaTire(); Car car = new Car(tire); 기존방식: Car는 다른것들에 대해 정확히 알고 있어야만 그에..

카테고리 없음 2023.06.25

6장 스프링이 사랑한 디자인 패턴

앞 내용 정리 객체지향특성(캡슐화, 상속, 추상화, 다형성) -> 도구 설계원칙(SOLID) -> 도구 사용법 디자인패턴 -> 도구를 활용한 요리법 디자인 패턴은 객체지향 특성 중 상속(extends), 인터페이스(interface/implements), 합성(객체를 속성으로 사용) 이용함 어댑터 패턴 (Adapter pattern) 어댑터 = 변환기 -> 다른 두 인터페이스 사이에 통신이 가능하도록 함 - JDBC/ODBC, 플랫폼별 JRE이 어댑터 패턴의 사용 예시 - 개방폐쇄원칙(OCP)를 활용한 설계패턴임 호출 당하는 쪽의 데서드를 호출하는 쪽의 코드에 대응하도록 중간에 변환기를 통해 호출하는 패턴 프록시 패턴 ( Proxy pattern) 대리자, 대변인 -> 다른 누군가를 대신해 역할 수행 -..

카테고리 없음 2023.06.25

spring 오류 Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException

spring에 swagger를 쓰려고 코드를 추가했는데 이런 오류가 생겼다!!! Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException 해결 방법 application.properties에 추가하기 spring.mvc.pathmatch.matching-strategy=ant_path_matcher spring.mvc.pathmatch.matching-strategy=ant_path_matcher는 Spring MVC의 URL 패턴 매칭 전략을 설정하는 속성 이러한 오류가 발생한 이유는? Spring MVC는 기본적으로 AntPathMatcher를 사용하여 URL 경로매..

카테고리 없음 2023.06.21

스프링에 swagger 활용하기

swagger란? Swagger는 API 문서 자동화와 테스트를 위한 오픈 소스 프레임워크입니다. Swagger를 사용하면 API에 대한 문서를 자동으로 생성하고, 테스트할 수 있는 인터랙티브한 UI를 제공합니다. Swagger의 핵심 구성 요소는 다음과 같습니다: Swagger 문서 (Swagger Specification): API의 구조와 기능을 정의한 JSON 또는 YAML 형식의 문서입니다. Swagger 문서는 API의 엔드포인트, 매개변수, 응답 형식, 인증 등 API에 대한 상세한 정보를 담고 있습니다. Swagger UI: Swagger 문서를 시각적으로 표현하는 사용자 인터페이스입니다. Swagger UI를 통해 API의 엔드포인트를 테스트하고, 요청 및 응답을 확인할 수 있습니다. S..

카테고리 없음 2023.06.21
728x90