본문 바로가기

전체 글

(118)
텍스트(text)와 바이트(byte) 문자파이썬에서 "문자"는 문자열의 기본 요소로, 일반적으로 유니코드 코드 포인트를 나타내는 단일 문자이다. 파이썬 3부터 모든 문자열은 기본적으로 유니코드로 처리되며, 각 문자는 하나 이상의 코드 포인트로 표현된다.문자의 특징단일 문자 요소: 문자는 보통 문자열 내에서 하나의 글자나 기호로 표현된다. 예를 들어, 'a', '1', '가', '?' 등이 모두 유효한 파이썬 문자이다.유니코드 사용: 유니코드는 세계의 모든 문자 체계를 단일 문자 집합으로 통합하는 표준이다. 파이썬에서 문자는 이 유니코드 시스템을 사용하여 인코딩된다.불변성: 파이썬의 문자열과 마찬가지로, 개별 문자도 불변 객체이다. 즉, 문자 자체를 변경할 수 없고, 변경하려면 새 문자열을 생성해야 한다.파이썬에서 문자 사용s = 'Hello..
딕셔너리(dictionary)와 집합(set) 일반적인 매핑형매핑형(mapping types)은 키와 값을 연결시켜 데이터를 저장하는 파이썬의 데이터 구조 중 하나이다. 이런 형태의 자료형에서는 각 키가 고유해야 하며, 키를 통해 해당 값에 접근할 수 있다.파이썬에서 가장 일반적인 매핑형은 dict (딕셔너리)입니다. 딕셔너리는 키와 값의 쌍으로 데이터를 저장하며, 중괄호 {}를 사용하여 표현한다.person = {"name": "John", "age": 30}print(person["name"]) # 출력: Johnprint(person["age"]) # 출력: 30 파이썬의 딕셔너리 주요 특징동적 변경 가능: 딕셔너리는 실행 중에 항목의 추가, 삭제, 수정이 자유롭다.순서 유지: 파이썬 3.7 이상에서는 딕셔너리가 항목을 추가한 순서를 유지..
시퀀스(sequence) - 슬라이싱(slicing), bisect, 다른 시퀀스 슬라이싱(slicing)시퀀스(리스트, 튜플, 문자열 등)의 일부분을 잘라내어 새로운 시퀀스를 만드는 방법이다. 슬라이싱을 사용하면 코드를 더 간결하고 읽기 쉽게 만들 수 있으며, 데이터의 부분 집합을 효율적으로 처리할 수 있다.슬라이싱 기본 문법슬라이싱은 대괄호([]) 안에 시작 인덱스:끝 인덱스:간격 형태로 표현된다.시작 인덱스는 포함되고,끝 인덱스는 포함되지 않습니다.간격은 선택적이며, 각 요소 사이의 간격을 정의합니다.numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# 인덱스 2부터 5까지 요소를 슬라이싱 (5는 포함되지 않음)print(numbers[2:5]) # [2, 3, 4]# 리스트의 처음부터 인덱스 5까지 요소를 슬라이싱 (5는 포함되지 않음)print(numb..
시퀀스(sequence) - 지능형 리스트(List Comprehension), 튜플(tuple) 파이썬에서 시퀀스(sequence)는 데이터를 순서대로 저장하는 구조를 말한다. 여기에는 여러 타입의 데이터가 포함될 수 있으며, 각 요소는 순서를 가지고 인덱스로 접근할 수 있다. 저장하는 데이터의 타입과 저장 방식에 따라 두가지로 나눈다. (컨테이너 시퀀스(Container Sequences), 균일 시퀀스(Flat Sequences)) 컨테이너 시퀀스(Container Sequences) 컨테이너 시퀀스는 다양한 타입의 객체들을 담을 수 있는 시퀀스이다. 이 유형의 시퀀스는 객체에 대한 참조를 저장한다. 즉, 컨테이너 시퀀스 내의 각 항목은 다른 타입일 수 있다. 예를 들어, 리스트(list)와 튜플(tuple)은 컨테이너 시퀀스의 예시이다. 이들은 숫자, 문자열, 리스트 등 어떤 타입의 객체라도 ..
Python Special method (magic method) Python에서 특별 메소드를 마술 메소드(magic method)라고 한다. 특별 메소드 대해 설명해 보고자 한다. __getitem__(), __len__() 예시 class MyList: def __init__(self, items): self._items = items # 클래스의 인스턴스에서 [] 연산자를 사용할 때 호출 def __getitem__(self, index): return self._items[index] # 클래스의 인스턴스에 대해 len() 함수가 호출될 때 사용 def __len__(self): return len(self._items) # MyList 클래스의 인스턴스 생성 my_list = MyList([1, 2, 3, 4, 5]) # __getitem__ 메소드를 통해 ..
웹 보안 기초: XXS, SQL Injection, REST API 및 네트워크 기술 쿠키(Cookie) & 세션 (Session) 컴퓨터 네트워크, 특히 웹에서의 사용자 인증 및 정보 저장을 위해 쿠키와 세션은 중요한 역할을 한다. 이 두 기술은 사용자의 정보와 선호도를 저장하고, 사용자를 구별하는 데 도움을 준다. 쿠키 (Cookie) 정의: 쿠키는 웹사이트가 사용자의 웹 브라우저에 저장하는 작은 텍스트 파일이다. 목적: 사용자의 선호도, 로그인 정보, 장바구니 정보 등을 저장하여 사용자가 웹사이트를 재방문할 때마다 동일한 정보를 다시 입력하지 않도록 돕는다. 특징: 1. 클라이언트 측에 저장된다. 2. 만료 기간이 있으며, 이 기간이 지나면 자동으로 삭제된다. 3. 보안에 취약할 수 있기 때문에 중요한 정보를 직접 저장하는 것은 권장되지 않는다. 세션 (Session) 정의: 세션은..
 네트워크 레이어, IP 프로토콜 네트워크 레이어 (Network Layer) 란? OSI 모델의7 계층 중 세 번째 계층으로, 데이터 패킷의 송수신과 라우팅을 담당한다. 네트워크 레이어는 데이터를 목적지까지 가장 효과적으로 전송하는 경로를 결정하고, 다양한 네트워크 간의 연결을 관리한다. IP 프로토콜 (Internet Protocol) 란? IP 프로토콜은 네트워크 레이어에서 주로 사용되는 프로토콜 중 하나이다. IP는 인터넷 프로토콜 스택, 즉 TCP/IP 모델에서 핵심적인 역할을 하는 프로토콜이다. IP는 데이터 패킷을 송수신하는 역할을 담당하며, 각 패킷에는 출발지와 목적지의 IP 주소가 포함되어 있다. IP 주소 (IP Address) 란? IP 주소는 인터넷에 연결된 각 장치를 구별하기 위한 고유한 주소입이다. 현재는 IPv..
TCP (Transmission Control Protocol) TCP란? Transmission Control Protocol (TCP)는 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로, 신뢰성 있는, 연결 지향적인 스트림 전송 서비스를 제공한다. TCP는 웹 브라우징, 이메일 전송, 파일 전송 등과 같은 많은 인터넷 응용 프로그램에서 사용된다. TCP의 주요 특징과 작동 방식 1. 연결 지향적: TCP는 데이터 전송을 시작하기 전에 송신자와 수신자 간에 연결을 설정한다. 이를 위해 "3-way handshake"라는 과정을 사용한다. 2. 신뢰성 있는 전송: TCP는 데이터의 손실, 중복, 순서 변경 등을 처리하여 신뢰성 있는 데이터 전송을 보장한다. 이를 위해 확인 응답 (ACK), 재전송, 순서 제어 등의 메커니즘을 사용한다. 3. 흐름 제어: TCP는 송..

728x90