BACKEND/KAU BACKEND 특강 4

Spring Persistence (영속성)

Persistence를 영어 그대로 해석한다면, 고집, 지속성, 집요 등으로 해석할 수 있다. 하지만 Spring에서 Persistence는 다르다. Spring Persistence란 데이터를 영구적으로 저장하는 것을 의미한다. 데이터 액세스 레이어 (데이터 접근 계층) 여기도 모르는 단어가 참 많다. 단어 먼저 정리하고 넘어가자. 💡ORM(Object Relational Mapping ,객체-관계 매핑) 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결) 해주는 것 객체지향프로그래밍은 클래스를 사용해서 객체 위주로 코드를 작성하며, 관계형 데이터베이스는 테이블을 사용하는데 이때, 객체 모델과 관계형 모델 간에 불일치가 존재할 수 있다. 이를 ORM이 해결해주는데, ORM을 통해 객체 간의 관계..

스프링 프레임워크

** 한국항공대학교 [카카오엔터테인먼트 개발자가 알려주는 백엔드 프로그래밍 특강] 을 참고하여 작성한 post입니다. 스프링 프레임워크란? 자바 애플리케이션 개발을 위한 경량 프레임워크 💡 '프레임워크'란? 기본적인 기능이 담겨있어서 개발할 때 도움을 주는 틀 ex ) 중복되는 작업들, 이미 상용화 되있는 코드들 을 쉽게 가져다 쓸 수 있도록 모아놓은 것 💡 '경량'이란 ? 프레임워크 코드가 적다는 의미 x 프레임워크 외의 코드에 최소한의 영향만 준다는 의미 제어의 역전 (Spring Inversion of Control, IoC) 프로그램의 흐름을 개발자가 아닌 외부에서 제어 및 관리해주는 것 만약 프레임워크 없이 개발을 한다면, 객체의 생성, 설정, 초기화, 호출, 소멸 등을 모두 개발자가 직접 관리..

백엔드 엔지니어링이란?

** 한국항공대학교 [카카오엔터테인먼트 개발자가 알려주는 백엔드 프로그래밍 특강] 을 참고하여 작성한 post입니다. 백엔드 엔지니어링이란 ? 특강을 듣기 전까지 내가 알고 있던 백엔드 엔지니어링이란 "프론트엔드는 아니고,,, db를 다루며,,, 서버를 다루는,,,기술,,개발,,? " 정도 였다. 백엔드 엔지니어링을 진로로 선택했지만 사실 정확히 그 분야가 어떤 엔지니어링을 하는지 정확히 알기 어려웠다. 특강을 계기로 그 분야에 대해 세부적으로 알 수 있었고 그 부분에 대해 설명하고자 한다. 일단 용어 설명부터 하고 시작하겠다. LB (Load Balancer) 트래픽이 몰릴 경우를 대비하여 여러 대의 서버로 일을 분산하여 처리해주는 서비스 사용자가 인터넷을 사용할 때는 실상 웹서버를 통해 databas..

웹 프로그래밍이란?

** 한국항공대학교 [카카오엔터테인먼트 개발자가 알려주는 백엔드 프로그래밍 특강] 을 참고하여 작성한 post입니다. 웹프로그래밍이란 ? 과거 : 웹사이트나 웹 페이지를 만드는 과정 현재 : 주로 웹 애플리케이션을 만드는 과정 과거에는 프론트엔드 / 백엔드 부분이 모호했다면 현재는 그 분야가 나뉘었고 상호작용하여 하나의 애플리케이션을 만들어 나가는 과정을 "웹 프로그래밍"이라 한다. 웹 사이트(web site) 와 웹 애플리케이션(web application)의 차이점은? ** 좀 애매모호하긴 함! 하지만 개념적 차이가 있고 "흐름에 따라 발전되어왔다" 정도만 알고 지나가면 좋을 듯하다. 웹사이트 ? 정보제공을 위한 "정적"인 사이트 사이트에서 사용자가 정보를 얻어가는 흐름 ! (수동적) ex ) 위키피..