본문 바로가기

분류 전체보기121

[Algorithm][개념 정리] Binary Tree Traveral - InOrder, PreOrder, PostOrder TreeNode 예제 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} TreeNode(int val) { this.val = val; } TreeNode(int val, TreeNode left, TreeNode right) { this.val = val; this.left = left; this.right = right; } } InOrder 조회 순서 왼쪽 -> 자신 -> 오른쪽 private void treeNodeTraversal(TreeNode node) { treeNodeTraversal(node.left); System.out.println(node.val); treeNodeTraversal(node... 2022. 9. 30.
[Spring][JPA] Transactional Annotation Transaction 이란? Database의 data 일관성을 유지하기 위해 사용하는 단위입니다. 참고 링크 [개념 정리] Transaction에서 ACID와 MVCC란? Transaction이란? 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 여기서 유사한 시스템이란 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있 paciencia.tistory.com Spring에서는 해당 개념 단위를 제어할 수 있는 Annotation을 제공 합니다. @Transactional public class SampleService { // 클래스 적용 } @Transactional public void insertSampleData(Object data) { // 매서드.. 2022. 9. 15.
[Spring][JPA] JPA란? Persistence Layer - 영속성 계층 Spring 에서 DAO 객체를 사용하여 Database와 커넥션 등을 유지하는 것을 이야기 합니다. Mybatis와 JPA에서의 가장 큰 차이점을 따지고 본다면 DAO interface를 만들지 않고 JpaRepository 를 상속 받아 사용하게 됩니다. 이렇게 되면 가장 큰 이점으로 xml등의 파일을 따로 관리 하지 않고 Repository 내에서 Query를 조합하여 좀 더 직관적이고 객체 관점의 쿼리등이 가능해 집니다. Query 방법 예약되어 있는 query를 메서드 형태로 바로 불러와 사용도 가능하고 @Query annotation을 사용하여 native query 혹은 DTO 객체를 만들수도 있습니다. // 1. 예약 Query findAll.. 2022. 9. 14.
[Algorithm][프로그래머스] - 오픈채팅방 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42888?language=java 내 풀이 import java.lang.*; import java.util.*; class Solution { public String[] solution(String[] record) { List answer = new ArrayList(); Map map = new HashMap(); for(String r : record) { String[] log = r.split(" "); String type = log[0]; String uId = log[1]; String oId = log.length == 2 ? "" : log[2]; if(!type.eq.. 2022. 9. 5.