나를 기록하다
article thumbnail
[TIL-46/240318] File Upload & Download
TIL 2024. 3. 19. 08:55

File Upload 파일 업로드 클라이언트가 서버로 파일을 전송하는 과정 여러 개의 파일을 업로드 할 수 있음 기존 방식의 Form 기존에 사용하던 은 문자 위주의 데이터를 사용 enctype="application/x-www-form-urlencoded" 기본 값(생략 가능) HTTP Body에 문자로 key=value 형태로 전송하고, 여러 개의 데이터라면 & 기호를 통해 구분하였음 파일 업로드 방식의 Form 파일은 문자가 아닌 바이너리 데이터를 전송 파일만 전송하는 것이 아니라 다른 데이터를 같이 전송하기도 함 enctype="multipart/form-data", method="POST" 필수 여러 개의 파일을 업로드하고 싶다면 multiple="multiple" 속성 추가 필요 참고할 블로그..

article thumbnail
[TIL-45/240315] MVC 패턴
TIL 2024. 3. 16. 00:10

MVC 패턴을 접한지는 어느덧 반년이 넘었다. MVC 패턴을 처음 접하고 Model, View, Controller를 구현하면서 정말 재미있게 구현했던 기억이 난다. 그러다가 Model, View, Controller에 이어서 Service를 분리하여 구현하는 코드를 접하게 되었다. 하지만 그때의 나는 왜 꼭 Service가 필요하지? Controller에서 모든 코드를 구현하면 안되나? 라고 생각하며 Service의 필요성을 확실하게 느끼지 못하였고, 현재까지도 개발할 때 Service를 만들긴 하였으나, 왜 Service가 필요한지, Controller와 어떻게 분리해야 하는지에 대한 확실한 이해가 없이 개발을 해왔던 것 같다. 그렇기 때문에 이번 기회를 통하여 Controller와 Service의 ..

article thumbnail
[TIL-44/240314] Filter & Interceptor
TIL 2024. 3. 15. 00:23

오늘은 Filter와 Interceptor에 대한 공부를 하였다. 먼저 Listener, Filter, Interceptor의 정의에 대해서 알아보고, 이번 내용의 핵심인 Filter와 Interceptor를 비교하면서 정리하고자 한다. Listener부터 시작하겠다. Listener, Filter, Interceptor Listener란? 프로그래밍에서 Listener란 특정 이벤트가 발생하기를 기다리다가 실행되는 객체 이벤트란 특정한 사건 발생 버튼 클릭 ,키보드 입력, 컨테이너 빌드 완료, 웹 어플리케이션 시작, HTTP 요청 수신 등 서블릿 컨테이너에서 발생하는 이벤트 감지 web.xml 파일에 태그를 이용하여 사용 가능 리스너가 여러 개일 경우 보통 선언된 순서대로 실행되지만 아닌 경우도 있음 ..

article thumbnail
[TIL-43/240313] Spring MVC
TIL 2024. 3. 13. 23:07

MVC 패턴 요청과 응답의 흐름 1 forward 서버 내부에서 일어나는 호출 클라이언트의 URL에 대한 요청이 들어오면 해당 URL이 다른 URL로 포워딩된 것이 확인되었을 경우 URL의 리소스를 확인하여 클라이언트에 응답 포워딩이 일어나면 클라이언트 단에서는 아무런 동작 X, 모든 동작을 서버에서 처리 클라이언트(웹브라우저)에서 요청한 URL은 물론 요청정보도 바뀌지 않음 redirect 서버가 클라이언트에서 요청한 URL에 대해 응답에서 다른 URL로 재접속하라고 명령을 보내는 것 URL을 다시 가리킨다라는 뜻 클라이언트는 해당 URL로 다시 요청 URL 주소가 바뀌면서 다시 접속되는 것을 확인 가능, 클라이언트 또한 리다이렉션이 일어났음을 알 수 있음 웹브라우저 서버에서 Redirect를 하라는 ..

article thumbnail
[TIL-42/240312] 관점 지향 프로그래밍(AOP)
TIL 2024. 3. 12. 22:21

관점 지향 프로그래밍(AOP) AOP(Aspect Oriented Programming) 어플리케이션 로직에는 핵심 기능과 부가 기능이 존재 핵심 기능: 객체가 제공하는 고유의 기능 부가 기능: 핵심 기능을 보조하기 위한 기능(시간 측정, 로그 추적, 트랜잭션 관리 등) OOP에서 모듈화의 핵심 단위는 클래스, AOP에서 모듈화의 단위는 Aspect Aspect는 여러 타입과 객체에 거쳐서 사용되는 기능(Cross-Cutting, 트랜잭션 관리 등)의 모듈화 AOP는 OOP를 대체하는 것이 아닌 보조하는 것이 목적 AOP 용어 Target: 핵심 기능을 담고 있는 객체 → 부가기능을 부여할 대상 Aspect 여러 클래스에 공통적으로 적용되는 공통 관심 사항(AOP의 기본 모듈) Advice + Point..

article thumbnail
[TIL-41/231024] 우테코 프리코스, 빌더 패턴, 스트림, 정적 팩토리 메서드
TIL 2023. 10. 24. 23:00

우아한테크코스 - 프리코스 1주차 최근에 우아한테크코스의 프리코스를 진행하면서, 부족한 개념 보충과 리팩토링에 몰두하느라 TIL을 신경쓰지 못했다. 이럴 때 공부하는 내용이 많은 만큼 정리를 잘하여 TIL을 썼어야 했는데 반성 중이다. 프리코스를 참가하면서 정말 뛰어난 지원자들이 많다는 걸 새삼 느끼고 있다. 프리코스를 참여하는 인원들이 모인 디스코드 방이 있는데 서로 자유롭게 자료를 공유하고 토론을 하는 공간이다. 나도 공유를 해볼려 했는데 사람들이 올리는 양질의 자료를 보니 차마 내 블로그 글을 공유를 하지 못하였다. 이유는 나는 이제껏 공부하고 정리하여 블로그 포스팅을 하였지만, '내가 올린 내용들을 온전하게 이해했는가'를 스스로에게 질문했을 때, 답은 '아니오'이기 때문이다. 혼자서 공부하는 데 ..

profile on loading

Loading...