일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- AI/GPT
- 개발/Java
- ⌨️Developer
- 개발/환경
- 대외활동/카카오테크캠퍼스
- 개발/Tools/프레임워크/Spring
- 카카오 테크 캠퍼스
- AI/ML
- 취업
- 개발/MySQL
- 알고리즘
- 개발/Electron
- ⌨️Developer/보안
- 개발/CS/알고리즘
- 개발/보안
- 개발/Java/Spring
- 카카오테크캠퍼스
- 개발/에러
- 개발/네트워크
- 개발/webrtc
- 개발/CS/OS
- electron
- 개발/프레임워크&라이브러리
- 개발
- 개발/언어/Java
- 개발/언어론
- 개발/컴퓨터네트워크
- ai
- 카테캠
- 개발/OOP
- Today
- Total
목록2023/05 (81)
봄수의 연구실
Spring의 HTTP 처리 Spring 프레임워크에서 클라이언트, 서버, 컨트롤러 및 요청 매핑 간의 흐름을 이해하는 것을 목적으로 기술합니다 TIP 1 Spring 프레임워크에서 컨트롤러 내부의 메소드는 일반적으로 정적이 아닌 인스턴스 메소드입니다. 이는 Tomcat이 각 요청을 처리하기 위해 컨트롤러의 인스턴스를 생성하기 때문입니다. 이렇게 하면 각 요청이 별도의 컨트롤러 인스턴스에서 처리되므로 확장성과 스레드 안전성이 향상됩니다. TIP 2 WAR 파일(웹 응용 프로그램 리소스 또는 웹 응용 프로그램 ARchive)의 경우 Tomcat과 같은 모든 서블릿 컨테이너 또는 응용 프로그램 서버에 배포할 수 있는 응용 프로그램용 패키지입니다. 이 파일을 내보내고 원격으로 전송하여 AWS와 같은 서버에 직..
Tomcat Tomcat이라고도 하는 Apache Tomcat은 Apache Software Foundation에서 개발한 오픈 소스 웹 서버 및 Servlet 컨테이너입니다. Tomcat은 Java Servlet, JSP(JavaServer Pages) 및 EL(Java Expression Language)을 포함하여 Java 플랫폼의 여러 핵심 기술을 구현합니다. Java 코드를 실행할 수 있는 “순수한 Java” 웹 서버 환경을 제공합니다. 톰캣의 특징 서블릿 컨테이너 본질적으로 Tomcat은 웹 애플리케이션에서 요청과 응답을 처리하는 작은 서버측 애플리케이션인 Java 서블릿을 실행하는 서블릿 컨테이너입니다. JSP 엔진 Tomcat에는 실행을 위해 JSP를 서블릿으로 변환한 다음 컴파일하고 나중..
HTTP - 웹 상에서 데이터를 교환하기 위해 사용되는 프로토콜 HTTP(HyperText Transfer Protocol)는 웹 애플리케이션에 사용되는 애플리케이션 계층 프로토콜입니다. 클라이언트(브라우저)가 요청을 보내고 서버(웹 서버)가응답을 보내는 클라이언트/서버 모델에서 작동합니다. HTTP의 배경 HTTP는 HTML 파일, JPEG와 같은 형식의 이미지 또는 웹 페이지의 일부인 기타 파일 유형이 될 수 있는 웹 개체의 전송을 용이하게 하기 위해 World Wide Web용으로 설계되었습니다. 이러한 각 웹 개체는 URL(Uniform Resource Locator)로 식별됩니다. HTTP Request and Response HTTP는 데이터 전송에 TCP(전송 제어 프로토콜)를 사용합니다. ..
MIME(Multipurpose Internet Mail Extensions) MIME는 RFC 5322 프레임워크의 확장으로서, SMTP나 다른 메일 전송 프로토콜과 이메일 RFC 5322가 가진 문제점과 제약 사항을 해결하였다 또한, MIME은 이메일을 통해 비 ASCII 문자, 비디오, 오디오, 이미지 같은 이진 파일을 전송하기 위해 설계된 인터넷 표준이다 특징 MIME는 이메일을 통해 다양한 형식의 데이터를 안전하게 전송할 수 있게 해줍니다. MIME 타입은 보통 "타입/하위 타입"으로 구성되어 있습니다. 예를 들어, "text/html"은 HTML 문서를 나타내는 MIME 타입입니다. MIME는 헤더 필드를 통해 메시지의 본문과 첨부파일에 대한 정보를 제공합니다. 등장 배경 MIME는 원래 SM..
Base64 Base64는 바이너리 데이터를 ASCII 문자열로 변환하는 인코딩 방식입니다. 이 방식은 바이너리 데이터를 텍스트 형식으로 안전하게 전송하거나 저장할 수 있게 해줍니다. Base64는 주로 이메일 메시지의 첨부파일, 웹에서 이미지 데이터를 전송하거나, 복잡한 정보를 URL 안에 인코딩하는 데 사용됩니다. Base64 인코딩은 바이너리 데이터를 6비트 단위로 잘라서 64개의 인코딩된 문자 중 하나를 대응시킵니다. 만약 입력 데이터의 길이가 6비트가 안되어 공백을 채워야 한다면, 패딩 문자 '='가 추가됩니다. 예제 : Base64를 HTML 소스로 바로 입력해보자 Base64 Encoded Image An image from Base64 data: img 태그의 src 속성에서 "data:i..
Aspect-oriented Programming (AOP) AOP(Aspect-Oriented Programming)는 교차 편집 문제를 분리하여 모듈성을 높이는 것을 목표로 하는 프로그래밍 패러다임입니다 교차 편집 문제는 로깅, 보안 및 트랜잭션 관리와 같은 다른 부분에 영향을 미치는 프로그램의 일부입니다 이러한 종류의 문제는 종종 코드를 분산시키거나 엉키게 하여 전통적인 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 달성하고자 하는 문제의 분리를 위반합니다. AOP는 OOP에 추가 차원을 추가하여 이러한 문제를 해결합니다. AOP에서 모듈성의 주요 단위는 aspect Aspect는 여러 클래스에 영향을 미치는 동작을 재사용 가능한 모듈로 캡슐화합니다. 결과적으로 ..
Spring Spring 프로젝트 template 생성해주는 웹 사이트 Spring Framework의 주요 기능 의존성 주입/제어 반전(IoC) Spring 프레임워크의 핵심 IoC Container를 통해 생성에서 소멸까지 Java 객체를 관리 Spring은 종속성 주입을 사용하여 구성 요소를 독립적으로 개발하고 테스트 Aspect-oriented programming (AOP) 이 기능은 aspect의 교차 편집 문제 모듈화 Spring AOP(Aspect Oriented Programming)는 대부분의 엔터프라이즈 애플리케이션에서 필요한 로깅, 보안, 트랜잭션 관리와 같은 기능을 구현하는 데 사용 Spring MVC 다른 프레임워크와의 통합 Spring은 Hibernate, JPA, Struts..
AWS의 서버 AWS 서버를 보다보면, EC2와 S3 등이 보입니다. 사실 서버 인스턴스를 생성해서 사용했었지만 정확히 어떤 것을 목적으로 만들어진 서비스인지 모르고 사용해서 정리합니다 Amazon EC2 - 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스 Amazon S3 - 확장성, 가용성, 내구성을 가진 데이터 저장 공간(Simple Storage)을 제공. Amazon RDS - 관계형 DB 관리 서비스. 관계형 DB(MySQL, Oracle 등)를 모니터링, 주기적 백업 S3란 무엇인가요? Amazon S3(Simple Storage Service)는 인터넷 데이터를 위한 안정적이고 빠르며 저렴한 데이터 스토리지 인프라를 제공하는 개체 스토리지 서비스입니다. 사용자는 웹 어디에..
메모리 구조 요즘 🐥 카카오 테크 캠퍼스에서 Java를 공부하는데 강의에서 메모리 구조와 연관지어 설명하니 귀에 쏙쏙 들어온다. 좀 더 깊은 이해를 위해서는 메모리 구조가 필수란 생각이 들어 복습 한다 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 합니다. 이때 프로그램이 사용하는 변수들을 저장할 메모리 공간도 필요하며, 이러한 메모리 공간은 운영체제가 제공합니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 코드(code) 영역, 데이터(data) 영역, 스택(stack) 영역, 힙(heap) 영역 등이 있습니다. 운영체제는 이러한 메모리 공간을 효율적으로 관리함으로써 프로그램의 안정성과 성능을 보장할 수 있습니다. 메모리의 기본 구조 코드(code) 영역: 실행할 프로그..
Java의 Hook Method Java의 후크 메서드는 기본 클래스에서 선언되지만 해당 동작을 사용자 지정하기 위해 하위 클래스에서 재정의되는 메서드입니다. 이러한 메서드는 미리 정의된 워크플로 또는 일련의 작업에 삽입할 수 있는 사용자 지정 코드의 자리 표시자 역할을 합니다 즉 기본 코드를 변경할 필요 없이 코드 설계의 유연성을 높이고 코드 재사용을 촉진할 수 있습니다 Java 컨텍스트에서 후크 메서드는 기본 클래스에서 알고리즘의 골격을 정의하는 방법을 제공합니다 또는, 하위 클래스가 후크 메서드를 재정의하여 알고리즘의 특정 단계를 사용자 지정할 수 있는 템플릿 메소드 디자인 패턴을 구현하는 데 일반적으로 사용됩니다. 이를 통해 일반 프레임워크 구성 요소를 재사용하고 애플리케이션별 논리를 실행할 수 ..