JPA 심화, 후발대 수업 복습(6~7), 알고리즘

우정·2023년 2월 1일
0

[내일배움캠프] TIL

목록 보기
46/50

프로그래머스

최댓값 만들기(1)

  • Java
import java.util.Arrays;

class Solution {
    public int solution(int[] numbers) {
        Arrays.sort(numbers);
        int answer = numbers[numbers.length - 1] * numbers[numbers.length - 2];
        return answer;
    }
}
  • Python
def solution(numbers):
    numbers.sort()
    answer = numbers[-1] * numbers[-2]
    return answer
어제 풀었던 알고리즘과 거의 비슷한 풀이

후발대 수업 복습(6~7)

클래스
객체지향
생성자
실습퀴즈

  • 거꾸로 출력하기
  • 가위바위보 프로그램
  • Up Down 게임

JPA 심화

ORM의 탄생 배경

  • JDBC의 문제점
    - SQL 쿼리 요청 시 중복 코드 발생

    • DB별 예외에 대한 구분 없이 Checked Exception (SQL Exception) 처리
      - Connection, Statement 등 자원 관리를 따로 해줘야함
  • 이러한 문제 해결해주기 위해 Persistence Framework 가 등장함

  • Persistence Framework

    • SQL Mapper : JDBC Template, MyBatis
    • ORM : JPA, Hibernate
  • SQL Mapper(QueryMapper)

    • SQL <-> Object

    • SQL문과 객체(Object)의 필드를 매핑하여 데이터를 객체화함

    • JDBC Template

      • 쿼리 수행 결과와 객체 필드 매핑
      • RowMapper로 응답필드 매핑 코드 재사용
      • Connection, Statement, ResultSet 반복적 처리 대신 해줌
      • 하지만, 결과값을 객체 인스턴스에 매핑하는데 여전히 많은 코드가 필요함

        JDBC Template는 JDBC Driver를 추상화하여 동작함
    • MyBatis

      • 반복적인 JDBC 프로그래밍을 단순화
      • SQL 쿼리들을 SML 파일에 작성해 코드와 SQL을 분리
      • 하지만, 결국 SQL을 직접 작성해야하고 테이블마다 비슷한 CRUD 반복, DB타입 및 테이블에 종속적이라는 한계가 있음

        MyBatis 가 Data 를 Access 하는 순서
  • ORM

    • QueryMapper의 DB 의존성 및 중복 쿼리 문제로 발생
    • DB의 주도권을 뺏어왔다고 해도 될 정도
    • DAO 또는 Mapper를 통해 조작하는 것이 아닌 테이블을 아예 하나의 객체(Object)와 대응시킴
열심히 들었는데 뭔가 진도는 안 나간 이 느낌...ㅜ
도커 깔았더니 우분투도 깔아야 하고 그래도 뭐가 안돼서 재부팅하고,,
겨우 깔아서 강의 들었더니
갑자기 파일 날라가서 멘붕;;
다시 들어야하나 어떻게 해야하지.. 하면서 우선 인텔리제이 껐다가 키고 좀 기다리니까 돌아옴!!
진짜 십년감수했으요
너무 당황해서 TIL에 쓰려고 캡쳐도 해놓음 ㅎ
사진 올리려니까 너무 거대하게 올라가서 나만 보는 걸로~ ㅋㅋㅋㅋ

0개의 댓글

관련 채용 정보