본문 바로가기

분류 전체보기

(224)
[TIL] Spring Boot(intellij) - [DB-3] DB 연결 테스트 * 인프런 김영한 강사님의 스프링 입문 강의 정리 이제 DB를 연결했으니 스프링 컨테이너와 DB까지 연결한 통합 테스트를 진행해본다. 전에 진행했던 테스트는 Spring과 관련이 없는 순수한 자바코드를 가진 테스트(단위 테스트)지만 이제 DB가 연결된 상태이므로 스프링과 연결된 통합 테스트를 한다. 5. 스프링 통합 테스트 스프링 통합 테스트를 진행하기 위해 Test 디렉토리의 service 하위에 MemberServiceInTest 파일을 생성하였다. [MemberServiceInTest] package myStudyspring.myStudyspring.service; import myStudyspring.myStudyspring.domain.member; import myStudyspring.mySt..
[TIL] Spring Boot(intellij) - [DB-2] DB 연결과 JDBC * 인프런 김영한 강사님의 스프링 입문 강의 정리 데이터 베이스를 설치했으므로 이제 스프링과 연결한다. 순수 jdbc와 jdbcTemplate을 사용하는 방법을 학습하였는데 jdbcTemplate을 중심으로 정리하려고 한다. 2. build.gradle에 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' 3. application.properties에 라이브러리 추가 spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.d..
[TIL] Spring Boot(intellij) - [DB-1] H2 데이터베이스 설치 * 인프런 김영한 강사님의 스프링 입문 강의 정리 H2 데이터베이스를 설치하고 순수 JDBC와 JdbcTemplate을 사용하여 스프링에서 DB에 접근하는 방법을 학습하였다. 1. H2 설치하기 > https://www.h2database.com/html/download-archive.html Archive Downloads www.h2database.com H2 홈페이지에서 1.4.200 버전을 다운받는다. 다운받은 후 bin에 들어간 후 h2.bat 파일을 실행시켜 H2를 실행한다. H2가 실행되면서 다음과 같은 화면이 뜨게 된다. 이 때, H2가 정상적으로 생성되지 않는 경우가 있기 때문에 url 앞부분을 localhost로 변경한 후 시작한다. JDBC URL에 jdbc:h2:~/test 를 입력..
[python] 1976 - 여행 가자 1976번: 여행 가자 (acmicpc.net) 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net union-find를 활용하는 문제였다. 도시를 탐색하면 되었기 때문에 bfs나 dfs로도 탐색할 수 있을 것 같았는데 유니온 파인드를 최근에 공부하였기 때문에 이를 이용하여 문제를 해결하였다. import sys sys.setrecursionlimit(1000000) input = sys.stdin.readline n = int(input()) m = int(input()) parent = [i for i in ..
[python] 프로그래머스 Lv2. - 기능개발 코딩테스트 연습 - 기능개발 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 스택과 큐를 활용하는 문제이다. 스택과 큐 문제는 대부분 구현 가능하기는 한데 문제에서 주어진 상황에서 스택과 큐를 어떤 방식으로 활용해야 할지 아직 감을 못잡겠다. 그래서 처음에는 for문을 3개나 사용하여 해결하였더니 복잡한 코드가 나왔다. def solution(progresses, speeds): answer = [] for i in range(len(progresses)): rest=100-progresses[i] ..
[TIL] Spring Boot(intellij) - 홈 화면, 회원 등록, 조회 개발 * 인프런 김영한 강사님의 스프링 입문 강의 정리 이번 강의에서는 홈화면을 추가하고 회원을 등록하고 등록된 회원 목록을 조회하는 기능까지 구현해보았다. 1. 홈 화면 추가 위의 폴더 목록에 HomeController를 생성하고 templates에 home.html을 생성하였다. [HomeController] package myStudyspring.myStudyspring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") ///도메인 pu..
[TIL] Spring Boot(intellij) - 스프링 빈과 의존 관계 * 인프런 김영한 강사님의 스프링 입문 강의 정리 회원 컨트롤러가 회원 서비스와 리포지토리를 사용할 수 있으려면 그들 사이를 엮어주는 무언가가 필요하고 이 때 사용하는 것이 바로 스프링 빈이다. 스프링 빈을 등록하는 방법은 컴포넌트 스캔과 직접 코드로 등록하는 두 가지 방법이 있다. 1. 컴포넌트 스캔 - 컴포넌트 스캔은 @Component 어노테이션이 있으면 스프링 빈으로 자동 등록된다. - @Controller, @Service, @Repository 등은 @Component를 포함하므로 스프링 빈으로 자동 등록된다. [controller] @Controller public class MemberController { ... } [service] @Service public class MemberSe..
[java] StringBuilder StringBuilder 자바의 문자열 형식은 String이다. String은 불변 객체이다. 그말인 즉슨, 두 개의 String을 + 연산할 경우 새로운 String 결과값을 생성한다. 기존의 데이터를 변경하는 것이 아니라 새로운 객체를 생성하므로 String을 가지고 연산한다면 메모리 성능이 저하될 수 있다. 이를 해결하기 위해 StringBuilder를 사용한다. StringBuilder는 String 연산 시 새로운 객체를 생성하지 않고 위와 같이 + 연산을 할 경우 기존 데이터에 더하는 방식을 사용한다. StringBuilder test = new StringBuilder(); test.append("hello"); test.append("java"); test.toString(); //hell..

728x90