개인 공부89 자바 ORM 표준 JPA 프로그래밍 : JPA 소개 (1장) 📌 SQL을 직접 다룰 때 발생하는 문제점 ✔️ 반복, 반복 그리고 반복 DB는 객체 구조와는 다른 데이터 구조를 가져 객체를 DB에 직접 저장하거나 조회할 수 없다. 따라서 개발자가 직접 애플리케이션과 API 중간에서 변환 작업을 직접 해야 한다. 객체를 DB에 CRUD하려면 너무 많은 코드를 작성해야 한다. 즉, 비슷한 일을 계속 반복해야 한다. ✔️ SQL에 의존적인 개발 기능을 모두 개발하고 나서 추가적인 요청이 들어왔을 때 너무 많은 코드(등록, 수정, 연관 객체 등)를 수정해야 한다. 엔티티를 신뢰하고 사용할 수 없다. 일일이 확인해야 한다. 강한 의존관계를 가져 진정한 의미의 계층 분할이 아니다. ✔️ JPA와 문제 해결 JPA를 사용하면 객체를 데이터베이스에 저장하고 관리할 때 JPA가 제.. 2022. 8. 12. TIL : Two-Pointer 알고리즘 (7) 💻 알고리즘 ✔️ Two-Pointer 알고리즘이란? 리스트에 순차적으로 접근할 때 두 개의 점 위치를 기록하면서 처리하는 알고리즘! 간단히 말해서 포인터 두 개를 사용해서 데이터에 접근하겠다는 소리이다. 💡 특징 포인터 2개가 같은 방향으로 이동 → 특정 값과 일치하는 배열을 찾는 경우 포인터 2개가 양끝에서 출발해서 만남 → 특정 값과 일치하는 합을 찾는 경우 모든 범위를 확인하지 않고 O(n^2), 포인터가 각각 N번만 이동하기 때문에 O(N) ✔️ 포인터가 같은 방향으로 이동 def two_pointer(array, target): end, sum_ = 0, 0 cnt = 0 for start in range(len(array)): while sum_ < target and end < len(ar.. 2022. 8. 8. TIL : Union-Find 알고리즘, Disjoint Set 자료구조 (6) 📚 자료구조 ✔️ Disjoint Set이란? 여집합이 없는 부분집합을 저장하고 조작하는 자료 구조. 한 마디로, 서로소 집합 자료구조 세 가지 연산을 가진다. 초기화, make-set(x) : x를 유일한 원소로 하는 새로운 set을 만든다. 합치기, union(x, y) : x가 속한 set과 y가 속한 set을 합친다. 찾기, find(x) : x가 속한 set의 루트 노드 값을 리턴한다. 💡 특징 부모 노드가 자식 노드를 가리키는 트리 구조와 다르게 분리 집합은 자식 노드가 부모 노드를 가리킨다. 💻 알고리즘 ✔️ Union-Find 알고리즘이란? 그래프 알고리즘 중 하나로 두 노드가 같은 그래프에 속하는지 판별하는 알고리즘이다. 다시 말하면, disjoint set을 표현할 때 사용하는 알고리즘.. 2022. 8. 7. TIL : 다익스트라 알고리즘 (5) 💻 알고리즘 ✔️ 다익스트라 알고리즘 그래프 이론 알고리즘 중 목적지에서 다른 노드로 이동할 때 최단 경로를 계산하는 알고리즘이다! 이 알고리즘의 특징과 동작 원리는 다음과 같다. 💡 특징 최단 거리를 기록할 추가적인 테이블이 필요하다. 그리디 알고리즘과 비슷한 면이 있다. 💡 동작 원리 출발 노드를 정하고 최단거리 테이블을 초기화한다. 방문하지 않은 노드 중 거리가 가장 짧은 노드를 선택한다. 거리를 계산해서 더 짧은 거리라면 최신화해준다. 2번, 3번 과정을 반복한다. import heapq def dijkstra(graph, start): # 최단거리 계산용 리스트, INF는 무한대를 의미한다. distance = [INF] * (size + 1) distance[start] = 0 queue = .. 2022. 8. 1. 데이터베이스 개론 : 데이터베이스 기본 개념 (1장) ◾데이터베이스의 필요성 - 데이터와 정보 데이터 : 현실에서 단순히 수집한 사실(fact)이나 값(value), 자료라고도 불림 정보 : 데이터를 활용할 수 있게 처리한 결과물 정보 처리 : 데이터에서 정보를 추출하는 방법(과정) - 정보 시스템과 데이터베이스 정보 시스템 : 데이터를 수집하여 저장하고 필요할 때 정보로 처리해주는 시스템 (저장과 제공 모두 DB 담당!) ◾데이터베이스의 정의와 특징 - 데이터베이스의 정의 데이터베이스 : 공유할 수 있도록 통합해서 저장한 운영 데이터의 집합1. 공유 데이터 : 여러 사용자가 함께 이용할 수 있어야하는 데이터2. 통합 데이터 : 중복을 최소화하고 통제 가능한 중복만 허용하는 데이터3. 2022. 7. 19. Today I Learned : 파이썬 (4) 🐍 파이썬 ✔️ 2차원 배열 max 값 ### 2차원 배열에서 최대값 찾기 feat. max() arr= [[1,2], [3,4]] max_ =max(max_, max(map(max, arr))) ✔️ 깊은 복사, 얕은 복사 파이썬에는 객체를 2가지로 분류할 수 있다. 바로 mutable과 immutable. list, dictionary, set 이렇게 3가지만 mutable하고 나머지는 모두 immutable이다. 차이는 변경이 가능한지인데, immutable은 값이 같으면 변수명만 다르고 같은 참조를 한다는 것이다. 깊은 복사와 얕은 복사를 이해하기 위해서 이 개념이 필요하다. 얕은 복사란, 변수를 복사했는데 같은 곳을 참조할 때를 말한다. 대입연산자('='), 슬라이싱([:]), copy(), c.. 2022. 7. 17. 이전 1 ··· 7 8 9 10 11 12 13 ··· 15 다음