애플리케이션과 데이터베이스가 같은 서버에서 실행되는 구조클라이언트 : 우리가 흔히 사용하는 앱이나 크롬과 같은 웹 브라우저매우 단순한 구성이기에 환경 구축이 쉽다.테스트 서버나 간단한 애플리케이션에 많이 사용애플리케이션과 데이터베이스가 같은 서버에서 실행되고 있기 때문
클라우드 환경에서 운영되는 애플리케이션 서비스PC에 설치하지 않아도 웹에서 소프트웨어를 빌려 쓸 수 있는 환경구체적으로 SNS나 블로그 서비스, 웹 메일 서비스 등으로 지메일(Gmail)과 드롭박스(Dropbox)가 대표적인 예시다.편리한 반면 자유도가 낮다.바로 사용
클라우드에서 가장 중요한 기술은 가상화와 분산 처리다.물리적인 하드웨어 장치(하드 디스크, OS 등)을 소프트웨어로 대체예를 들어 가상 서버는 물리 서버 1대 위에 게스트가 되는 서버 여러 대를 가상으로 생성한 것이고, 가상 네트워크는 물러적 배선 1개를 가상으로 분할
클라우드 : 언제, 어디서든 인터넷을 통해서 접속이 가능한 환경클라우드 컴퓨팅 서비스 : 서버 및 네트워크 등을 인터넷으로 빌려주는 서비스온프레미스(on-premises) : 자사 서버시스템 운영에 필요한 모든 서비스 사용 가능 : 여러 사업자에게 각각 빌려야 했던 인
데이터를 일시적으로 저장하기 위해 사용하는 자료구조 스택 (Stack) 데이터의 입출력 순서는 후입선출(LIFO, Last In First Out)이다. 푸시(Push) : 데이터를 넣는 작업 팝(Pop) : 데이터를 꺼내는 작업 코드 예시 큐 (Queue)
요소 개수가 n인 배열 요소를 역순으로 정렬하는 알고리즘의 핵심 하지만 주의해야할 사항은 배열의 중간을 넘어가면 for문이 끝나기 때문에 나머지 배열의 뒤 요소들은 원래의 값을 가진다. 따라서 t라는 교환 요소를 하나 생성해서 t에 값을 대입하면서 세 개의 요소들을
Q. 아래의 코드가 위의 코드보다 비효율적인 이유는?아래 코드의 첫번째 if문( b >= a 와 b <= a )과 두번째 if( a > b와 b > a )첫번째 if문이 성립한 경우 2 번째의 if문에서도 (실질적으로)같은 판단을 수행하므로 효율이 나빠진다.
제 3의 서비스에 계정 관리를 맡기는 방식자신의 정보를 사용하도록 인증 서버에 허가하는 주체서비스를 이용하는 사용자리소스 오너의 정보를 가진다리소스 오너의 정보를 보호하는 주체네이버, 구글, 페이스북인증 서버에게 인증을 받고 리소스 오너의 리소스를 사용하는 주체개발자가
다양한 형태의 데이터를 저장하기 위해 각각의 데이터를 저장할 수 있는 변수라는 문법 요소를 만들어 사용ex) String, int, double데이터의 종류가 많아질수록 데이터의 개수만큼 변수명을 짓거나 관리하는 일이 버거워짐배열을 사용하면 같은 자료형인 변수들을 묶어
웹이 처음 등장했을 때는 정적인 데이터(HTML, 이미지)만을 전달해주는 웹서버 밖에 없었다. 하지만 CGI가 탄생한 이 후 동적으로 사용자와 상황에 따라 다른 페이지를 보여줄 수 있게 되었다. 하지만 CGI는 요청이 들어올 때마다 프로세스 단위로 실행이 되어 사용자가
불필요한 부분을 제거함으로써 핵심만 나타낸 것목적 : 단순화로 복잡성을 낮춤다양한 형태를 가지는 것하나의 타입으로 여러 종류의 객체를 참조객체 내부의 세부사항을 외부로부터 감추는 것목적 : 인터페이스만 공개해서 변경하기 쉬운 코드를 만드는 것부모로부터 물려받는 것기존의
사용자 인증 확인 방법에는 두 가지가 있다.스프링 시큐리티에서 기본적으로 제공해주는 세션 기반 인증은 사용자마다 사용자의 정보를 담은 세션을 생성하고 저장해서 인증한다. 토큰은 서버에서 클라이언트를 구분하기 위한 유일한 값으로 서버가 토큰을 생성해서 클라이언트에게 제공
애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임워크인증(authentication): 사용자의 신원을 입증하는 과정 (로그인)인가(authorization): 사용자의 접근 권한을 확인하는 과정 (관리자 페이지)SecurityContextPersi
계층끼리 데이터를 교환하기 위해 사용하는 객체데이터 전송에만 사용DTO는 단순하게 데이터를 옮기기 위해 사용하는 전달자 역할을 하는 개체이기 때문에 비즈니스 로직 없음DTO 속성은 getter / setter 메서드로 구성되어 있고, 이 외의 로직은 불필요DB에서 데이
자바 객체와 데이터베이스를 연결해 데이터를 관리하는 JPA의 중요한 컨셉 두 가지가 있다.엔티티(entity) : DB의 테이블과 매핑되는 객체엔티티 매니저 : 엔티티를 관리해 데이터베이스와 어플리케이션 사이에서 객체를 생성, 수정, 삭제하는 역할엔티티 매니저 팩토리
ORM(object-relational mapping)은 객체와 데이터베이스를 연결하는 기법SQL을 직접 작성하지 않고 사용하는 언어로 데이터베이스에 접근할 수 있다.객체지향적으로 코드를 작성할 수 있기 때문에 비즈니스 로직에만 집중할 수 있다.데이터베이스 시스템이 추
전체 테스트를 시작하기 전에 처음으로 한 번만 실행한다.ex) DB에 연결하거나 테스트 환경을 초기화할 때 사용한다.전체 테스트 실행 주기에서 한 번만 호출되어야 하기 때문에 메서드를 static으로 선언해야 한다.테스트 케이스를 시작하기 전에 매번 실행한다.ex) 테