분류 전체보기

개발일지/Spring

Spring - Pagination

Spring에서 제공하는 pagination을 이용하여 간단한 페이징 처리를 해보자 { "data": [ { "memberId": 25, "email": "test5@test.com", "name": "이장고", "phone": "010-0505-0505" }, { "memberId": 24, "email": "test4@test.com", "name": "스프링", "phone": "010-0404-0404" }, { "memberId": 23, "email": "test3@test.com", "name": "파이썬", "phone": "010-0303-0303" }, { "memberId": 22, "email": "test2@test.com", "name": "김자바", "phone": "010-1..

개발일지/Spring

Spring - AOP

Aspect Oriented Programming 관점 지향 프로그래밍 어떠한 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어 그 관점을 기준으로 각각 모듈화 하는 것 OOP 모듈화의 핵심 단위는 클래스 AOP 모듈화의 핵심 단위는 관점(Aspect) AOP는 기존에 사용하던 OOP를 대체하기 위한 것이 아닌 횡단 관심사를 깔끔하게 처리하기 위해 OOP의 부족한 부분을 보조하는 목적으로 개발됨 AOP가 필요한 이유 소프트웨어 개발에서 변경 지점은 하나가 될 수 있도록 잘 모듈화 되어야 함 부가 기능처럼 특정 로직을 애플리케이션 전반에 적용하는 문제는 일반적인 OOP 방식으로는 해결이 어렵기 때문에 핵심 기능과 부가 기능을 분리하는 AOP 방식이 필요함 OOP 방식의 프로그래밍을 했을 때 여러 곳..

개발일지/Spring

Spring MVC의 동작 방식과 구성 요소

1. 클라이언트가 요청을 전송하면 DispatcherServlet 이라는 클래스에 요청이 전달됨 2. DispatcherServlet은 클라이언트의 요청을 처리할 Controller에 대한 검색을 HandlerMapping 인터페이스에 요청 3. HandlerMappting은 클라이언트 요청과 매핑되는 핸들러 객체를 다시 DispatcherServlet에게 리턴 핸들러 객체는 해당 핸들러의 Handler 메서드 정보를 포함하고 있음 Handler 메서드는 Controller 클래스 안에 구현된 요청 처리 메서드를 의미 4. 실제로 클라이언트 요청을 처리할 Handler 메서드를 찾아서 호출해야 하므로 DispatcherServlet은 Handler 메서드를 직접 호출하지 않고, HandlerAdpater..

개발일지/Spring

Spring MVC

Spring MVC 란 ? 클라이언트의 요청을 편리하게 처리해주는 프레임워크 Servlet API 기반으로 클라이언트의 요청을 처리하는 모듈 (spring-webmvc -> 보통 spring MVC라 부름) Servlet이란? 클라이언트의 요청을 처리하도록 특정 규약에 맞추어서 Java 코드로 작성하는 클래스 파일 Spring MVC 내부에서 Servlet을 기반으로 웹 애플리케이션이 동작한다 Model Spring MVC에서 M에 해당 웹 애플리케이션이 클라이언트의 요청을 전달받으면 요청 사항을 처리하기 위한 작업을 수행 클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터를 Model 이라고 한다 클라이언트의 요청 사항을 구체적으로 처리하는 영역을 서비스 계층(Service Layer)이라고 하며..

이것저것

백엔드 부트캠프 section 2 - ??? : 어차피 다 똑같아요~

section2 에서는 코딩 테스트와 관련된 여러 알고리즘 문제들을 많이 풀었고 웹 애플리케이션의 작동원리, 데이터베이스 스프링 프레임워크를 살짝 맛보았다. 슬슬 프로그래밍이라는 단어에 어울리는 것들을 배우고 있는 기분이다. 알고리즘 문제는 너무 재밌었다. 한 문제 한 문제 풀어나갈 때마다 얻는 성취감이 너무 짜릿하다. 가끔씩 문제가 안 풀릴 때가 있는데 뚫어져라 쳐다보면서 이 방법도 시도해보고 저 방법도 시도해보면서 결국 풀어냈을 때는 너무 기분이 좋았다. 데이터베이스 같은 경우에는 이전에 공부한 적이 있어서 비교적 수월했다. 하지만 section2가 통곡의 관문이라고 한다. 교육 엔지니어 분들이 농담 삼아한 말들이 있었는데, 정말이었다. 난 전공자는 아니지만 그래도 다른 사람들과 비교했을 때, 더 열..

개발일지/웹개발

REST API

REST란? (Representational State Transfer) 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식 -> API를 작성하는 여러 방식들 중 하나의 방식 좋은 REST API를 디자인하는 방법 로이 필딩은 REST 성숙도 모델은 총 4단계(0~3)로 나누어지며, 모든 단계를 충족해야 REST API라고 부를 수 있다고 주장했다 실제로는 엄밀하게 3단계까지 지키기 어렵기 때문에 2단계까지만 적용해도 좋은 API디자인이라고 한다 이런 경우 HTTP API라고도 부른다 REST 성숙도 모델 0단계 - HTTP 사용 단순히 HTTP 프로토콜을 사용하기만 해도 된다. 하지만 REST API라고 할 수 없으며, ..

개발일지/웹개발

HTTP 요청 메서드

GET : 특정 리소스 표시를 요청. 데이터를 받을 때만 사용 HEAD : GET메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않는다 POST : 특정 리소스에 엔티티를 제출할 때 사용 PUT : 요청 페이로드를 사용해 새로운 리소스를 생성하거나, 교체한다 DELETE : 삭제 CONNECT : 요청한 리소스에 대해 양방향 연결을 시작한다. 터널을 열기 위해 사용 OPTIONS : 리소스와의 통신을 설정 TRACE : 대상 리소스에 대한 메시지 루프백 테스트를 수행하여 디버깅 메커니즘을 제공 PATCH : 리소스 수정 출처 - https://developer.mozilla.org/ko/docs/Web/HTTP/Methods HTTP 요청 메서드 - HTTP | MDN HTTP는 요청 메..

개발일지/컴퓨터지식

교차 출처 리소스 공유 (CORS, Cross-Origin Resource Sharing)

동일 출처 정책 (SOP, Same-Origin Policy) 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안 방식 교차 출처 리소스 공유 (CORS) 다른 출처 간의 리소스를 공유할 수 있도록 하는 것 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제 예를 들어, 내가 티스토리를 잘 사용하고 있는데 어떤 해커가 사람들의 정보를 빼낼 목적으로 "BAD사이트"를 만들었다 사람들이 "BAD사이트"로 접속하게 하기 위하여 이메일로 링크를 뿌리거나 게시글로 유인을 하여 접속하게 한다 그러면 "BAD사이트"의 html, css, 자바스크립트 코드가 브라우저에 받아지고 그것을 이용해 나..

개발일지/컴퓨터지식

SSR 과 CSR

SSR (Server Side Rendering) 서버 쪽에서 렌더링 준비를 끝낸 상태로 클라이언트에게 전달하는 방식 서버에서 이미 렌더 가능한 상태로 클라이언트에게 보내주기 때문에 JS가 다운로드되는 동안 사용자는 무언가를 보고 있을 수 있음 장점 검색엔진 크롤러가 html에 접근하기 쉽다 -> SEO(Search Engine Optimization)가 우선순위인 경우, 일반적으로 SSR을 사용 웹 페이지의 첫 화면 렌더링이 빠르다 -> 단일 파일의 용량이 작음 웹 페이지가 사용자와 상호작용이 적은 경우 활용 가능 단점 자원이용이 서버에 집중되어 유지비용이 높음 일부 서드파티 자바스크립트 라이브러리의 경우 불가능할 수 있음 CSR (Client Side Rendering) 서버가 클라이언트에게 HTML..

E-room
'분류 전체보기' 카테고리의 글 목록 (11 Page)