간단 정리SSL은 과거에 사용된 프로토콜로, TLS가 이를 대체.TLS는 현대 인터넷 보안 통신의 핵심.HTTPS는 TLS를 사용하여 HTTP 트래픽을 암호화하며, 웹사이트 보안을 위한 필수 요소.OSI 7계층 & TCP/IP 4계층OSI 모델이 너무 복잡해서 TCP/IP가 표준이랍니다~네트워크 접근 계층 (Network Access Layer)역할: 데이터를 물리적으로 전송하는 계층.인터넷 계층 (Internet Layer)역할: 데이터의 논리적 전송 경로를 결정.전송 계층 (Transport Layer)역할: 프로세스 간 신뢰할 수 있는 데이터 전송 제공.애플리케이션 계층 (Application Layer)역할: 사용자와 가장 가까운 계층으로 데이터 표현 및 통신 서비스를 제공Encapsulate, ..
링크: https://www.acmicpc.net/problem/3568 아이디어입력받은 문자열을 " "(공백) 단위로 잘라 리스트로첫 요소는 무조건 맨 앞에 고정으로 사용하기 때문에 따로 저장.2번때 요소부터 for 문을 돌리며 판별 진행요소의 뒤에서 부터 확인하는데 맨 뒤는 , 아니면 ; 이기 때문에 그 다음 부터 확인 *이거나 &이면 따로 저장한 첫번째 요소의 뒤에 붙인다.]이 나오면 []를 붙이고 for문을 한번 건너 뛰어 다음으로 간다.알파벳 소문자가 나올 때까지 반복한다.알파벳 소문자가 나오면 그 지점을 가지고 변수명을 추출한다. -> 요소[:그지점 +1] = 변수명! 구현li = input().split()fix = li.pop(0)for i in li: result = fix f..
링크: https://www.acmicpc.net/problem/1929 생각M, N을 입력받음M부터 N까지 반복문을 돌며 소수 판별소수는 무엇인가 -> 약수를 1과 자기 자신만을 가지는 수하나의 수를 num이라 할 때 2부터 num -1 까지의 수를 눴을 때 나머지가 0이 되는 경우가 있으면 소수가 아님2중 for문을 써야겠다구현 1 - 시간초과M, N = map(int, input().split(" "))result = []for num in range(M, N+1): if num > 2: for i in range(2, num): if num % i == 0: break if i == num-1: ..
CI/CD란?CI는 Continuous Integration(지속적 통합), CD는 Continuous Delivery(지속적 전달)의 줄임말.CI : 테스트, 빌드, Dockerizing, 저장소에 전달하는 것까지 프로덕션 환경으로 서비스를 배포할 수 있도록 준비하는 프로세스CD : 저장소로 전달된 프로덕션 서비스를 실제 사용자들에게 배포하는 프로세스작업한 소스 코드를 빌드하고, 저장소에 전달 후 배포까지 하는 과정을 통상적으로 CI/CD라고 부른다.GitHub Actions개요GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD(연속 통합 및 지속적인 업데이트) 플랫폼입니다. 리포지토리에 대한 모든 끌어오기 요청을 빌드 및 테스트하거나 병합된 끌어오기 요청을 프..
블루-그린 배포란 무엇인가?블루-그린 배포: 애플리케이션이나 서비스를 배포할 때 다운타임을 최소화하고, 배포 과정에서 발생할 수 있는 문제를 빠르게 복구할 수 있도록 설계된 배포 전략.기존 시스템(블루 환경)과 새로운 시스템(그린 환경)을 동시에 운영하며, 안정적이고 빠른 배포를 가능하게 한다.블루-그린 배포의 원리두 개의 환경(Blue와 Green) 운영Blue 환경: 현재 운영 중인 환경Green 환경: 새로운 버전의 애플리케이션을 배포하고 테스트하는 환경그린 환경으로 트래픽 전환새 버전이 Green 환경에 배포되면, 트래픽을 기존 Blue 환경에서 Green 환경으로 전환합니다. 이 과정은 주로 로드밸런서나 DNS 변경을 통해 수행됩니다.롤백 가능성 보장만약 Green 환경에서 문제가 발생하면, 트..
HTTP는 Stateless (상태 비저장) 프로토콜HTTP는 상태를 저장하지 않는(stateless) 프로토콜이다. 즉, 클라이언트가 서버에 요청을 보낼 때마다 서버는 이전 요청에 대한 정보를 기억하지 않는다. 각 요청은 독립적으로 처리되며, 서버는 요청이 끝나면 클라이언트가 누구였는지에 대해 기억하지 않는다. 이를 stateless라 하며, 이는 웹 애플리케이션을 설계할 때 중요한 고려사항이 된다.이러한 특성을 보완하기 위해 HTTP에서는 쿠키와 세션이 사용된다. 클라이언트의 상태를 유지하고, 클라이언트가 누구인지 확인하기 위해 두 가지 방법을 활용할 수 있습니다.쿠키와 세션의 개념쿠키 (Cookie)정의: 클라이언트(브라우저)에 작은 데이터를 저장하는 방법. 서버는 클라이언트에게 쿠키를 보내고, 클..
네트워크와 관련된 주요 개념 정리1. 통신과 네트워크통신: 데이터를 주고받는 행위를 의미네트워크: 통신을 가능하게 하는 연결의 구조를 뜻함.네트워크는 작은 LAN(Local Area Network)에서부터 큰 범위의 WAN(Wide Area Network)까지 다양한 규모로 구성될 수 있음.LAN은 주로 집이나 회사처럼 한정된 지역에서 사용되고, WAN은 지리적으로 멀리 떨어진 네트워크를 연결함.2. IP 주소IP(Internet Protocol) 주소: 네트워크에서 기기를 식별하는 고유 주소.정적 IP는 고정된 주소로 변하지 않고, 동적 IP는 네트워크에 접속할 때마다 새로 할당됨.동적 IP의 할당은 DHCP(Dynamic Host Configuration Protocol) 서버가 담당하며, 네트워크 ..
Python Advanced(1) - Context Manager(1) Keyword - Contextlib, enter, exit, exception 가장 대표적인 with 구문 이해 원하는 시점에 리소스 할당 및 회수 정확한 이해 후 사용 프로그래밍 개발 중요(문제 발생 요소) Ex1 # No use with. file = open('./testfile1.txt', 'w') try: file.write('Context Manager Test1.\nContextlib Test1.') finally: file.close() 예전에는 이런 식으로 많이 사용 Ex2 # Use with.` with open('testfile2.txt', 'w&#..