전체 글 (66) 썸네일형 리스트형 웹 서버와 웹 애플리케이션 서버 (WAS) 의 차이. 먼저 웹 서버란 정적 리소스 파일을 주고받을 수 있는 서버를 웹 서버라고 한다. 웹 애플리케이션 서버(WAS) 는 웹 서버의 기능을 가지고 있으면서 동적 리소스 즉 프로그래밍을 통한 로직수행이 가능한 서버이다. DB에서 인덱스를 잘 활용하면 좋은점 index란 도서관에 비유할 수 있다. 도서관에는 책들이 마구잡이로 꽃혀있지 않다. 문학, 예술, 경재 등 카테고리별로 묶여서 정리되어 있고, 그 안에서 가나다 순으로 정리되어 있을 것이다. index는 이런 역할이다. index를 정의해준다면 우리는 잘 정리된 도서관에서 원하는 책만 골라서 찾아볼 수 있다. DI란? DI는 Dependency Injection의 줄임말로 스프링이 다른 프레임워크와 차별화 되어 제공하는 의존 관계 주입 기능이다. 객체를 직접 생성 하는게 하니라 외부에서 생성한 후 주입 시켜주는 방식이다. 예를들어, a객체에서 b,c객체를 의존할때, a객체에 직접 생성하는 것이 아니라 외주에서 생성된 b,c객체를 생성자를 통해 사용한다. DI 장점 1. 의존성이 줄어든다. 의존한다는 것은 그 의존 대상의 변화에 취약하는 것이다. DI로 구현하게 되었을 때, 주입받는 대상이 변하더라도 그 구현 자체를 수정할 일이 없거나 줄어들게 된다. 2. 재사용성이 높은 코드가 된다. 객체를 외부에서 생성해 주입하면 만들어진 객체는 다른 클래스에서도 재사용이 용이하다. 3. 테스트하기 좋은 코드가 된다. 객체만 별도로.. REST API란? REST: 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. REST API의 정의 REST 기반으로 서비스 API를 구현한 것 REST API 설계 규칙 슬래시 구분자(/ )는 계층 관계를 나타내는데 사용한다. REST API는 분명한 URI를 만들어 통신을 해야 하기 때문에 혼동을 주지 않도록 URI 경로의 마지막에는 슬래시(/)를 사용하지 않는다. REST API의 종류: GET, POST, PUT, DELETE 객체지향 프로그래밍(OOP) 객체지향 프로그래밍이란 컴퓨터 프로그래밍의 패러다임 중 하나입니다. 하나의 프로그램을 만들때, 하나의 코드로 나열을 하는것이 아닌 각 기능을 하는 객체를 생성하여 필요할때마다 만들어진 객체를 사용하는 프로그래밍 방식입니다. 예를들면 본래는 강아지라는 클래스를 만들때, 달리는 강아지 짖는 강아지 수영하는 강아지 라고 3개의 클래스를 만들었다면 객체지향은 달린다, 짖는다, 수영한다 라는 객체를 만들고 강아지라는 클래스에 단순히 사용만 하면 됩니다. 이것의 장점은 강아지뿐만 아니라 고양이, 원숭이 등등의 다른 클래스에서도 객체들을 쉽게 사용 가능하다는 것입니다. 객체지향의 특징: 추상화, 상속, 다형성, 캡슐화 WIL 1. DI 란? 스프링이 다른 프레임워크와 차별화 되어 제공하는 의존 관계 주입 기능이다. 객체를 직접 생성 하는게 하니라 외부에서 생성한 후 주입 시켜주는 방식이다. 예를들어, a객체에서 b,c객체를 의존할때, a객체에 직접 생성하는 것이 아니라 외주에서 생성된 b,c객체를 생성자를 통해 사용한다. 2. loc란? Inversion of Control의 약자. "제어의 역전" 이라는 의미로, 말 그대로 메소드나 객체의 호출작업을 개발자가 결정하는것이 아니라, 외부에서 결정되는 것을 의미한다. 기존에는 다음과 순서로 객체가 만들어지고 실행되었다. 객체 생성 의존성 객체 생성 클래스 내부에서 생성 의존성 객체 메소드 호출 하지만, 스프링에서는 다음과 같은 순서로 객체가 만들어지고 실행된다. 객체 생성 의존.. 다른 클래스타입의 리스트 복사하기 JAVA 문제점 JPA사용 과정에서 데이터 값을 client에게 보낼때, 몇가지 정보를 제외한 체로 보내려고 시도하다가 생긴 문제이다. //메모 보여주기 @GetMapping("/api/memos") public List getMemos() { return memoService.getMemos(); } 이렇게 controller에서 dto클래스타입 list를 리턴하고 싶었다. service에서 문제가 있었는데 public List getMemos() { //memoRepository.findAllByOrderByModifiedAtDesc()이것은 List타입만 반환을 하였다. List ignorePwResponseDtos = memoRepository.findAllByOrderByModifiedAtDesc(); .. SQL연습 제약조건 AUTO_INCREMENT : 컬럼의 값이 중복되지 않게 1씩 자동으로 증가하게 해줘 고유번호를 생성해 줍니다. NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게 됩니다. UNIQUE : 해당 필드는 서로 다른 값을 가져야만 합니다. PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 됩니다. FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만들며 데이터의 무결성을 보장해 줍니다. CASCADE : FOREIGN KEY 로 연관된 데이터를 삭제,변경할 수 있습니다. 코드 1.테이블 생성(CREATE) CREATE TABLE IF NOT EXISTS MAJOR ( major_code varchar(100) primary .. 이전 1 ··· 3 4 5 6 7 8 9 다음