전체 글

백엔드 개발자 취준생입니다:)
[Python]알고리즘/백준

[다이나믹 프로그래밍] ★ 1520번 - 내리막 길

[백준] 1520번 - 내리막 길 (한줄평) 오랜만에 dp 문제플 풀었더니 약간 헤맸던 문제다. dp와 dfs를 한 번에 쓰는 문제는 처음이라 낯설었던 것 같기도 하다. 꼭 복습이 필요한 문제! 풀이 시간: 60분 이내 1) 문제 해결 아이디어 n * m의 지도의 높이 정보가 주어지고 지금보다 높이가 더 낮은 곳으로만 이동하여 (0, 0)에서 (n-1, m-1)까지 이동 가능한 경로의 수를 구하는 문제다. 이 문제는 DFS + DP 를 이용하여 풀 수 있는 문제다. 오로지 DFS로만 풀려고 한다면 가능한 모든 경로의 수를 다 세야하기 때문에 아마 시간초과가 날 것이다. n, m의 범위가 1이상 500이하이기 때문이다. DFS와 DP를 이용하여 풀어야한다는 것은 알았는데 점화식을 잘못세워서 헤맸다. 처음에..

JPA/JPA 학습

[JPA] Entity(엔티티)와 EntityManger(엔티티 매니저)

1. Entity JPA에서 엔티티란 DB 테이블에 대응하는 하나의 클래스라고 생각하면 된다. ▶ @Entity @Entity 가 붙은 클래스는 JPA가 관리하며 DB의 테이블과 자바 클래스가 매핑이 된다. 1. 엔티티 Member 클래스 @Entity public class Member { Long id; String name; } 2. DB의 Member 테이블 id name 1 hello ▶ @Table 엔티티와 매핑할 테이블을 지정한다. ▶ @Id 식별키(PK, Primary Key) 로 매핑한다. ▶ @GeneratedValue(strategy) 식별키(PK, Primary Key) 를 자동 생성한다. ▶ @Column 객체 필드와 DB 테이블의 column을 매핑한다. 2. EntityMang..

Spring/스프링 입문

[스프링 입문] 06. 스프링 DB 접근 기술 - JPA

(인프런) 김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 공부하고 리뷰한 글입니다. 스프링 DB 접근 기술 4가지 방식대로 차례로 진행할 예정이다. 1. 순수 JDBC 2. JDBCTemplate 3. JPA 4. 스프링 데이터 JPA 1. JPA 장점 1. 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다. 2. SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환을 할 수 있다. 3. 개발 생산성을 크게 높일 수 있다. 2. JPA를 이용한 코드 작성 1. build.gradle 파일에 JPA, h2 데이터베이스 관련 라이브러리 추가 jdbc를 사용하지 않으므로 아래와 같이 주석 처리하거나 삭제하고 jpa 관련 라이..

Spring/Spring 학습

[Spring] 스프링의 JDBC(DAO, JDBC, JdbcTemplate, DataSource)

JDBC Template에 DataSource를 주입(DI)한다. JDBC Template은 JDBC Driver를 이용해 DB에 접근한다. 1. DAO(Data Access Object) 란? DAO는 실제로 DB에 접근하는 객체로 Service와 DB를 연결하는 고리의 역할을 한다. 2. JDBC(Java Database Connectivity) 란? JDBC는 DB에 접근할 수 있도록 Java에서 제공하는 API이다. JDBC API는 쿼리 실행 전후로 연결 생성, 닫기, 예외 처리 코드 등 많은 코드를 반복적으로 작성해야하므로 가독성도 떨어지고 시간이 낭비되는 문제가 있다. 3. JdbcTemplate 이란? JdbcTemplate은 SpringJDBC 접근 방법 중 하나로 JDBC API의 문제..

Spring/스프링 입문

[스프링 입문] 06. 스프링 DB 접근 기술 - 스프링 JdbcTemplate

(인프런) 김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 공부하고 리뷰한 글입니다. 스프링 DB 접근 기술 4가지 방식대로 차례로 진행할 예정이다. 1. 순수 JDBC 2. JDBCTemplate 3. JPA 4. 스프링 데이터 JPA 1. 스프링 JdbcTemplate 회원 리포지토리 1) repository 패키지에 JdbcTemplateMemberRepository 클래스 생성 2) JdbcTemplateMemberRepository 코드 작성 1. 생성자(Constructor) public class JdbcTemplateMemberRepository implements MemberRepository{ private final JdbcTemplate jdbc..

Spring/스프링 입문

[스프링 입문] 06. 스프링 DB 접근 기술 - 스프링 통합 테스트

(인프런) 김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 공부하고 리뷰한 글입니다. 이전에 했던 회원 서비스 테스트(MemberServiceTest) 같은 경우는 실제로 순수 자바로만 테스트 하는 단위 테스트 였다. 하지만 이전에 했던 회원 서비스 테스트가 궁금하다면 여기 1. 회원 서비스 스프링 통합 테스트 1) Test/service 패키지에 MemberServcieTest를 복사한 MemberServiceIntegrationTest 클래스 생성 2) MemberServiceIntegrationTest 클래스 위에 @SpringBootTest 추가 3) @BeforeEach 삭제 → @Autowired 로 스프링 컨테이너에서 메모리 서비스, 메모리 리퍼지토리 사..

Spring/스프링 입문

[스프링 입문] 06. 스프링 DB 접근 기술 - 순수 JDBC

(인프런) 김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 공부하고 리뷰한 글입니다. 스프링 DB 접근 기술 4가지 방식대로 차례로 진행할 예정이다. 1. 순수 JDBC 2. JDBCTemplate 3. JPA 4. 스프링 데이터 JPA 1. 환경 설정 1. build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' 2. application.properties 파일에 스프링 부트 데이터베이스 연결 설정 spring.datasource.url=jdbc:h2:tcp://lo..

Spring/스프링 입문

[스프링 입문] 06. 스프링 DB 접근 기술 - H2 데이터베이스 설치

(인프런) 김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 공부하고 리뷰한 글입니다. 1. H2 데이터베이스 설치하기 h2 데이터베이스는 개발이나 테스트 용도로 가볍고 편리한 DB로 웹화면을 제공한다. 실무에서는 MySql이나 Oracle DB를 주로 사용한다. 1. h2 데이터 베이스 1.4.200 버전 다운로드 및 설치 h2 다운로드 주소 잘 안된다면 아래 순서와 같이 따라해보자. 2. h2 데이터베이스 실행 h2.bat 이 위치한 경로를 찾는다. 아마 ~H2/bin/경로에 있을 것이다. (MAC) 해당 경로에서 chmod 755 h2.sh 실행후 ./h2.sh 로 h2 데이터 베이스를 실행한다. (Windows) cmd에서 해당 경로로 이동 후 h2.bat 으로..

HSY_mumu
mumu 개발 블로그