분류 전체보기(210)
-
[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 -
[OS] Operating System - Main Memory
[OS] Operating System - Main Memory 이전까지 다룬 기존의 프로세스의 정의는 프로그램이 실행이 되는 것을 의미하며 이는 메인 메모리에 저장이 된 일련의 명령어 집합이다. 이때 메모리는 각각의 고유한 주소를 가진 방대한 바이트 배열로 구성이 된다. CPU는 PC - 프로그램 카운터를 사용하여 메모리에서 명령어를 가져오며, 명령어는 메모리에서 데이터를 로드하거나 저장할 수 있다. 프로그램은 이러한 과정을 통해 실행이 되며 운영체제와 하드웨어의 상호작용을 나타내게 된다. 메모리의 구조는 다음과 같다. 각각의 프로세스들은 메모리의 공간을 나눠서 존재하게 된다. 이때 base / limit 두 개의 레지스터를 사용하는 데 base 레지스터의 경우 프로세스의 메모리 공간의 시작 주소를, ..
2024.02.11 -
[Python] Programmers lv2 - 더 맵게
[Python] Programmers lv2 - 더 맵게 코딩테스트 연습 - 더 맵게 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 주어진 조건 음식의 스코빌 지수가 담긴 리스트 스코빌 지수의 최소 요구치 리스트 내의 모든 요소들이 해당 요구치를 넘어야 한다 풀이 아이디어(기존) 주어진 스코빌 지수 리스트를 heap에 넣어준다 heap으로 들어가면 작은 순서대로 정렬이 되며 pop을 하는 경우에도 작은 순서대로 나오게 된다 heap에서 두 개의 원소를 꺼내서 조건에 맞게 조립 후 총 조립 횟수의 cnt와 요구치를 넘었는지 확인한다 풀이 아이디어 ( 오답 후 조건 추가 - 문제를 다각도로 분석 및 조건 설정의 미숙함 존재 ) 첫 번째 원소를 pop 하고 힙에 남아있는 원소가 있는지 체..
2024.02.11 -
[Python] 프로그래머스 lv3 - 가장 먼 노드
[Python] 프로그래머스 lv3 - 가장 먼 노드 코딩테스트 연습 - 가장 먼 노드 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 vertex로 연결된 정점들이 주어진다. 연결된 정점끼리의 간선은 모두 1이다. 1번 정점을 기준으로 하여 해당 정점에서 멀리 떨어진 정점의 개수를 반환하는 것이다 떨어진 거리를 dist로 하여 배열에 저장을 한다 이때 거리의 최댓값과 동일한 노드의 갯수를 반환하는 방식을 선택했다 거리를 측정하는 방법은 다익스트라 알고리즘을 사용 각 정점끼리의 거리를 최대..
2024.02.08