[원격 강의] Spring 입문, 알고리즘

우정·2022년 12월 7일
0

[내일배움캠프] TIL

목록 보기
18/50

프로그래머스 - 캐릭터의 좌표

  • Python
def solution(keyinput, board):
    column = board[0]
    row = board[1]
    answer = [0, 0]
    for i in keyinput:
        if i == "up" and answer[1]+1 <= (row // 2):
            answer[1] += 1
        if i == "down" and answer[1]-1 >= -(row // 2):
            answer[1] -= 1
        if i == "left" and answer[0]-1 >= -(column // 2):
            answer[0] -= 1
        if i == "right" and answer[0]+1 <= (column // 2):
            answer[0] += 1
    return answer
  • Java
class Solution {
    public int[] solution(String[] keyinput, int[] board) {
        int[] answer = {0, 0};
        for (int i = 0; i < keyinput.length; i++) {
            if (keyinput[i].equals("up"))
                answer[1] += answer[1] < (board[1]/2)?1:0; // '? :' -> 조건 연산자. '조건식 ? 참값 : 거짓값'
            else if (keyinput[i].equals("down"))
                answer[1] -= answer[1] > -(board[1]/2)?1:0;
            else if (keyinput[i].equals("left"))
                answer[0] -= answer[0] > -(board[0]/2)?1:0;
            else if (keyinput[i].equals("right"))
                answer[0] += answer[0] < (board[0]/2)?1:0;
        }
        return answer;
    }
}

Spring 입문

용어 정리

  • Lombok : 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리

    • 코드의 가독성, 생산성 향상
    • API 설명과 내부 동작을 숙지하고 사용하는 것이 좋음
  • JPA(Java Persistence API)

    • Java 진영에서 ORM 기술 표준으로 사용하는 인터페이스 모음

    • 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스

    • 인터페이스이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현함

    • 사용하는 이유

      • 반복적인 CRUD SQL을 처리해줌
      • 네이티브 SQL 기능을 제공해 특정한 경우에는 SQL을 직접 작성하여 사용할 수 있음
      • 객체 중심으로 개발 가능 -> 생산성 향상, 유지보수 수월
      • 패러다임의 불일치 해결
  • Spring Data JPA

    • JPA를 쓰기 편하게 만들어 놓은 모듈
    • JPA를 한 단계 추상화시킨 Repository라는 인터페이스를 제공함

    Spring Data JPA가 JPA를 추상화했다
    => Spring Data JPA의 Repository의 구현에서 JPA를 사용하고 있음

  • Spring Data JDBC

    • Spring에서 사용할 수 있는 데이터 엑서스 기술 중 하나, SQL의 중심 기술
    • JPA처럼 ORM 기술을 사용하지만, JPA의 기술적 복합도를 낮춘 기술
    • 애플리케이션의 규모가 상대적으로 크지 않고, 복잡하지 않을 경우 사용?
    • Sprin Data JPA와 달리 단방향 연관관계만 지원
    • 미리 작성된 DDL이 존재해야 함
  • Spring Web

    • 멀티 파트 파일 업로드, 서블릿 리스너 등 웹 지향 통합 기능 제공
    • HTTP 클라이언트와 Spring의 원격 지원을 위한 웹 관련 부분을 제공
    • Web 기반 응용 프로그램에 대한 Context를 제공, 일반적인 Web Application 개발에 필요한 기본적인 기능을 지원
  • H2 Database

    • 설치가 필요없고 개발용 로컬 DB로 사용하기 좋은 DBMS
    • In-memory DB -> 서버가 작동하는 동안에만 내용을 저장함, 서버가 작동을 멈추면 데이터 모두 삭제됨
    • Java 기반의 오픈소스 관계형 데이터베이스 관리 시스템(DBMS)
    • 브라우저 기반의 콘솔 모드를 이용할 수 있음
    • 표준 SQL을 대부분 지원

과제 제출이 밀려서 다행이다,, ,
밀린만큼 완벽하게 해야할 거 같은데
지금으로썬 과제하는 것 마저 기적,,,ㅠ

뭔가 알 것 같은데 이걸 혼자 해보라 하면
???
이 상태임
결국 모른다는 뜻이죠

0개의 댓글

관련 채용 정보