분류 전체보기 (5) 썸네일형 리스트형 MyBatis 기본 설정에서 Spring Boot에서 적용까지 개요 JPA와 같은 ORM 기술은 꾸준히 공부해왔지만 MyBatis는 사용해 볼 기회가 없었는데 학습을 위해 강의와 블로그를 보면서 MyBatis 설정부터 간단한 예제까지 정리하는 글 연습 환경 Spring Boot 2.6.5, Jdk11, H2 DB MyBatis란? 마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. JDBC와 비슷한 SQL Mapper로 JDBC에서 제공하는 대부분의 기능을 활용할 수 있고 중요 특징은 XML을 활용해서 SQL을 쉽게 작성하고 동적 쿼리를 편리하게 작성할 수 있다는 점이다. JDBC vs MyBatis JDBC String sql = "update item " + "set item_name=:itemName.. [Spring] @Transaction을 알아보자 Spring 프로젝트를 예시를 보다 보면 Repository에 있는 @Transaction을 만나게 된다. 트랜잭션 그리고 @Transaction을 정리한다 트랜잭션 1. 정의 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 여기서 유사한 시스템이란 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미한다. 데이터의 정합성을 보장하기 위해 고안된 방법이다. 목적 오류로부터 복구를 허용하고 데이터베이스를 일관성있게 유지하는 안정적인 작업 단위를 제공한다. 동시 접근하는 여러 프로그램 간 격리를 제공한다 2. ACID 이론적으로 데이터베이스 시스템은 각각의 트랜잭션에 대해 원자성(Atomicity), 일관성(Consistency), 독립성(Isolat.. [Spring] 프로젝트 Jacoco 적용하기 테스트 코드의 중요성은 많은 개발자가 알고 있다. 오늘은 이전에 만든 프로젝트에 jacoco 를 적용시켜서 내가 작성한 테스트 코드가 커버리지가 어느 정도인지 파악해볼려고 한다. JaCoCo JaCoCo is a free code coverage library for Java, which has been created by the EclEmma team based on the lessons learned from using and integration existing libraries for many years - JaCoCo JaCoCo는 자바 코드 커버리지를 체크하는 데에 사용되는 오픈소스 라이브러리이다. JaCoCo의 버전은 Maven Central Repository를 통해 확인할 수 있습니다. .. 프로그래머스/ 네트워크 (python) https://school.programmers.co.kr/learn/courses/30/lessons/43162# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 인접 행렬 방식의 탐색 문제이다. 탐색을 시작한 컴퓨터에 연결 된 다른 컴퓨터까지 탐색한다. 방문하지 않은 컴퓨터를 만날 때 마다 answer를 +1 한다. 어려웠던 점 처음에는 이것이 코딩테스트다 책에 실려있는 음료수 얼려 먹기와 같은 예제로 착각하고 문제를 풀어 시간이 오래 걸렸다. 이렇게 풀어도 테스트 케이스는 맞았으나 제출에서 처참한 결과가 나왔다. 그래서 혼자 인접 행렬을 그려.. 프로그래머스/ 디스크 컨트롤러 (python) https://school.programmers.co.kr/learn/courses/30/lessons/42627# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 소요 시간이 적은 작업을 먼저 처리 할 수 있도록 힙을 활용한다. 각 작업이 완료 된 시점을 now에 더해서 현재 위치를 파악한다. 각 작업 별 소요 시간은 (now(현재 위치) - 작업 요청 시간)이다. 어려웠던 점 해당 방식으로 소요시간을 계산하기 위해선 now의 위치를 지속적으로 갱신해야 한다. 예제가 now 이전의 작업이 있을 경우로만 되어 있었다. 따라서 now 보다 이후 작업.. 이전 1 다음