분류 전체보기(207)
-
[Spring] Category 구현하기
[Spring] Category 구현하기 쇼핑몰, 커뮤니티에 존재하는 주제를 표현할 때 자주 사용되는 것이 카테고리이다. 카테고리는 전형적인 계층형으로 서로 연관이 되는 구조이다. 해당 카테고리만을 단순히 구현해 보고 구현을 할 때 과정을 정리하려고 한다. 코드 먼저 코드들은 다음과 같다. 좀 더 구체화를 시키기 위해서는 인터페이스를 사용하고 DI를 사용하는 등의 과정을 거쳐야하는 것이 맞지만 현재의 경우 카테고리를 구현하는 것이 목표였기에 간단하게 컨트롤러, 엔티티, 서비스, 레포지토리 4개의 구성 요소만을 사용해서 진행을 하였다. 후에 다른 프로젝트를 진행할 때는 해당 부분에 대해 자세하게 세분화하고 DI를 지키는 식으로 진행을 할 예정이다. Controller package com.example.c..
2024.02.21 -
[OS] Operating System - 페이징과 스와핑
Paging Paging, 페이징은 운영체제에서 메모리를 관리하는 기법이다. 운영체제는 메모리를 관리하기 위해 메모리를 같은 크기의 블록으로 나눠서 관리를 하는데 이때 나눠진 블록이 바로 페이지이다. 페이지를 사용하면 연속 메모리 할당의 두 가지 문제점을 해결할 수 있다. 외부 단편화 문제와 연관된 요소들의 압축 문제를 해결할 수 있다. 또한 운영체제와 하드웨어 간의 협력을 통해 성능을 향상할 수 있다. 페이징에 대한 기본적인 방법은 다음과 같다. 물리 메모리의 분할 : 물리 메모리를 고정 크기의 블록으로 나눈다. 이때의 블록은 프레임(frame)이라고 한다 논리 메모리의 분할 : 프로세스의 논리 메모리고 같은 크기의 블록으로 나눈다. 해당 블록을 페이지(page)라고 한다 이를 통해 논리적 주소 공간은..
2024.02.20 -
[Docker] Docker HTTPS 적용
[Docker] Docker HTTPS 적용 [Spring] HTTPS 적용하기 (tistory.com) [Spring] HTTPS 적용하기 [Spring] HTTPS 적용하기 [HTTP] HTTPS란? (tistory.com) [HTTP] HTTPS란? [HTTP] HTTP / HTTPS란? 학습하는 웹 프로젝트에 HTTPS를 적용하기 위해 HTTPS를 먼저 알아보게 되었다. 기존 HTTP는 인터넷상에서 데이터를 주고 skyriv312079.tistory.com 이전에 local 환경에서 https를 적용시키는 것을 해봤다. 로컬에서 https로 작동하는 것을 확인했으니 이제는 해당 사항을 docker에서 사용할 수 있도록 적용하려고 한 과정을 기록하려고 한다. 과정은 다음과 같다. https 적용이 ..
2024.02.17 -
[Spring] HTTPS 적용하기
[Spring] HTTPS 적용하기 [HTTP] HTTPS란? (tistory.com) [HTTP] HTTPS란? [HTTP] HTTP / HTTPS란? 학습하는 웹 프로젝트에 HTTPS를 적용하기 위해 HTTPS를 먼저 알아보게 되었다. 기존 HTTP는 인터넷상에서 데이터를 주고받기 위한 프로토콜이었다. 해당 프로토콜은 웹 브라우저 skyriv312079.tistory.com 학습하던 스프링 프로젝트에 HTTPS를 적용하고자 한다. 단계는 다음과 같이 이루어진다 SSL/TLS인증서 생성 Spring Boot - application.yml 작성 코드 수정 실행 후 postman으로 테스트 SSL/TLS 인증서 생성 먼저 SSL/TLS 인증서를 생성해야 한다. 방법은 두 가지가 있다. 첫 번째는 자체적으..
2024.02.17 -
[HTTP] HTTPS란?
[HTTP] HTTP / HTTPS란? 학습하는 웹 프로젝트에 HTTPS를 적용하기 위해 HTTPS를 먼저 알아보게 되었다. 기존 HTTP는 인터넷상에서 데이터를 주고받기 위한 프로토콜이었다. 해당 프로토콜은 웹 브라우저와 웹 서버 간의 통신에서 사용이 되며, 클라이언트(브라우저)가 서버에 요청(Request)을 보내면, 서버는 클라이언트에게 요청에 맞는 응답(Response)을 반환한다. 다만 이러한 요청과 응답을 주고받는 과정에 데이터 암호화와 같은 보안 기능이 없기에 정보 노출 및 데이터 보안성이 위험한 상황이 발생한다 이러한 문제점을 해결하기 위해 HTTPS가 등장하였다. HTTPS는 Hypertext Transfer Protocol Secure의 약어이다. HTTPS는 기존 HTTP에 보안적인 ..
2024.02.17 -
[OS] Operating System - Dynamic Loading & Memory Allocation
Dynamic Loading 프로그램이 실행될 때 프로그램과 관련이 된 데이터가 모두 물리적 메모리에 존재해야 하는가?라는 질문에 대한 답이 될 수 있는 것이 다이내믹 로딩이다. 다이내믹 로딩은 프로그램이 실행을 하고 해당 프로세스에서 관련 기능을 호출하여 데이터를 로드할 때 그때서야 데이터를 로딩하는 것이다. 그렇기에 불필요한 데이터를 먼저 로딩하지 않기에 메모리의 공간을 좀 더 효율적으로 사용할 수 있다. 프로그램 시작 프로그램이 시작이 되면 디스크에서 메모리로 프로그램이 로드가 된다. 이때 다이나믹 로딩을 사용하기에 필수적이지 않는 데이터들은 로드가 되지 않는 상태로 메모리에 존재하게 된다. 함수 호출 사용자 또는 프로그램에 의해 특정 기능이 필요할 때, 해당 기능을 포함하는 모듈이나 라이브러리의 ..
2024.02.12