본문 바로가기

java40

[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][Graph][Java] 문제 풀이 #29 - 542. 01 Matrix 문제 링크 https://leetcode.com/problems/01-matrix/ 문제 풀이 public int[][] updateMatrix(int[][] mat) { int row = mat.length; int col = mat[0].length; for (int i = 0; i 0) mat[i][j] = Math.min(mat[i][j], mat[i - 1][j] + 1); if (j > 0) mat[i][j] = Math.min(mat[i][j], mat[i][j - 1] + 1); } } for (int.. 2022. 8. 31.