TIL33 [TIL] 스프링 MVC 1편 - Section 1 Section 1 - 웹 애플리케이션 이해 웹 서버 http 프로토콜을 사용하여 서버와 클라이언트는 데이터를 주고 받음 정적 리소스를 제공한다. 아파치, nginx 웹 애플리케이션 서버 WAS 정적 리소스를 제공한다. 프로그램 코드를 실행하여 애플리케이션 로직 수행 사용자마다 다른 화면을 보여줄 수 있다. 동적 HTML, HTTP API 서블릿, JSP, 스프링 MVC 애플리케이션 로직 : DB 조회, 동적으로 html 생성 톰캣 웹 서버와 WAS 차이 웹 서버는 정적 리소스를 제공하고, WAS는 정적 리소스 제공과 애플리케이션 로직 수행 WAS는 애플리케이션 코드를 실행한다는 특징이 있다. 자바에서는 서블릿 컨테이너 기능을 제공하면 WAS이다. 웹 시스템 구성 ![Untitled] Web Server .. 2024. 4. 17. [TIL] 모든 개발자를 위한 HTTP 웹 기본 지식 - Section 3 모든 개발자를 위한 HTTP 웹 기본 지식 - Section 3 HTTP HyperText Transfer Protocol HyperText = HTML HTML5 html의 5번째 버전 마크업 언어 비디오, 오디오 등을 액티브 X가 없이 브라우저에서 소비할 수 있다. HTTP/1.1 2,3 버전도 있지만, 1.1에 대부분의 기능이 포함되어 있고 이 버전의 성능개선이다. 기반 프로토콜 TCP: 1.1, 2 UDP: 3 → TCP보다 속도가 빠르다. HTTP 특징 클라이언트-서버 구조 무상태 프로토콜 (stateless), 비연결성 HTTP 메세지를 사용한 통신 단순함, 확장가능 클라이언트-서버 구조 무상태 프로토콜 (Stateless) 상태 유지 (Stateful) 클라이언트의 요청들을 기억하고 있다가 .. 2024. 4. 12. MyBatis foreach 반복문에 List 자료형 parameterType 사용하기 실행환경 - SpringBoot: 3.0.0 - MyBatis: org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.1 - MariaDB: 2.7.3 나의 요구사항 List 리스트를 돌면서 update 문을 여러 개 실행시키고 싶었다. update 테이블 set 컬럼=[list.get(i)] where 컬럼=[i] 0) return true; else return false; } 3. mapper.xml 코드 공식 문서를 보면 index가 리스트의 인덱스 순서, 아이템이 리스트의 값이 들어있다고 한다. 그리고 separator로 ;를 지정해주어야 한다. 지정해주지 않으면 update-set-where-update-set-where-이런식으로 실행되어 오류가.. 2024. 1. 28. [Spring] Exception Handler, Controller Advice exception handler 컨트롤러 클래스의 메서드에서 @ExceptionHandler(value = 처리할예외.class) 해당 컨트롤러 내에서 처리하고 싶은 예외처리에 대한 메서드를 생성 후, 애너테이션을 붙여준다. 하나의 컨트롤러 클래스에서 발생하는 예외 처리를 한다. target : 어디서 사용할 것인지 명시. 메서드에서 사용될 것이다. 컨트롤러 레이어에서 발생한 예외처리 예외 발생 @GetMapping("exc_in_controller") public void controllerException() { throw new NullPointerException(); // controller에서 NullPointerException 예외발생 -> @ExceptionHandler(value = N.. 2024. 1. 25. [TIL] Git 잘못된 브랜치에서 작업했을 때, 작업 내용을 다른 브랜치로 옮기기 - 현재 상황 내 브랜치에서 작업을 해야 하는데 main 브랜치에서 작업을 하였다. 아직 add는 안 된 상황이다. - 방법 git stash을 사용한다. 1. git stash 2. git checkout (나의브랜치) 3. git stash apply - git stash git stash는 스택을 만들어 저장한다. 이때 저장되는 파일 대상은 다음과 같다. 1. add는 하였지만 commit 하지 않은 파일들(Staging Area에 있는 파일) 2. 예전에 add되어 추적되지만 현재 수정 후 add하지 않은 파일들(Modified이면서 Tracked 상태) - commit 후 브랜치 옮기기 만약 commit 까지 하였다면 commit을 취소하는 revert를 사용한 후 stash를 사용한다. 2023. 11. 27. [AWS] AWS 가입, EC2 인스턴스 생성 Amazon EC2 서버에 대응된다. Amazon S3 사진, 영상과 같은 미디어 컨텐츠 데이터가 저장된다. 객체 수준 스토리지 EC2 인스턴스 생성 1. ec2 서비스 선택 2. AMI ec2 인스턴스에서 사용할 운영체제에 대한 정보를 제공한다. ubuntu 20.0.4 사용 apt 패키지 매니저를 사용하여 패키지의 설치, 변경, 삭제 등을 편리하게 관리한다. 사용자가 패키지 매니저를 통해 특정 프로그램의 설치를 요청하면, 패키지 매니저는 패키지가 저장된 위치에서 패키지를 다운로드하여 설치 프로그램을 실행한다. 즉, 리눅스 패키지와 패키지 매니저는 스마트폰의 어플리케이션과 앱스토어와 같은 역할을 한다. 3. 인스턴스 cpu, memory, network 설정 t2.micro로 설정한다. 4. 키 페어 .. 2023. 11. 23. 이전 1 2 3 4 ··· 6 다음