전체 글 (81) 썸네일형 리스트형 [python] logging 라이브러리와 계층적 구조 1. 로깅소프트웨어가 실행될 때 발생하는 이벤트를 추적하는 수단이다.print문은 즉각적으로 CLI나 콘솔에 출력될 뿐 저장되지 않는다. 이때문에 이벤트 추적을 위해서는 로거를 활용한 로깅이 필요 로깅은 4개 기본 구조로 설계한다. logger: 로그를 찍는 주체 (객체)handler: 어디에 기록할지 핸들링하는 객체formatter: 어떤 형식으로 기록할지 지정하는 객체level: 이벤트 별 로그 심각도DEBUG: 정보성 진단INFO: 정상 작동 확인WARNING: 정상작동하나 미래 문제에 대한 경고ERROR: 일부 기능 수행 불가 장애CRITICAL: 프로그램 실행 불가능한 에러)간략하게 설명하자면 logger (로거를 찍는 주체)는 logger = getLogger(__name__)으로 생성하고,.. [CS] OSI 7계층 & 도커 네트워크 몇번째 공부하는지 모르겠다. 공부할 때마다 몇시간씩 보는데, 볼 때마다 새롭다. 1. OSI 7계층: 네트워크 통신 과정을 7단계로 나눈 표준 모델TCP/IP계층 TCP/IP계층명 OSI 계층OSI 계층명설명장비1네트워크 인터페이스1물리물리적으로 단말을 전송/연결하는 계층허브, 케이블2데이터링크네트워크 내 단말 식별, 물리적 오류 검출, 프레임 생성/전달스위치, 브릿지, 랜카드2네트워크3네트워크네트워크 경로 선택 (라우팅)라우터3통신4통신패킷 생성/전송/검증, 프로세스 단위 종간 통신 (포트)게이트웨이4응용5세션세션 연결 관리소프트웨어6표현데이터 변환 (암호화/복호화, 압축)7응용사용자와 프로그램이 직접 상호작용 이 모델을 이해하기 전에 LAN과 WAN이 파악되어야 한다.LAN: '근거리 통신망'으로, .. [자료구조] 정렬 (+ 힙) [Algorythm] BFS와 DFS 정리 문제 정리 과정문제의 탐색 대상이 뭔가? (그래프, 격자, 트리 등)탐색의 목적은? (모두 방문, 최단거리, 연결 여부 등)방문 여부를 어떻게 체크할 건가?탐색의 진행 방향은? (인접 노드, 상하좌우 등)종료 조건은 뭔가?결과는 어떻게 반환할 건가?DFS 사고 순서: 한 경로를 끝까지 > 재귀로 쌓고 돌아오기 > 모든 경로 백트래킹 탐색 코드 설계 순서: DFS 함수 정의 > 기저 조건 > 방문처리 > 탐색(재귀호출) > 필요 시 백트래킹 BFS 사고 순서: 가까운 곳부터 단계별로 > 모든 방향으로 동시에 > 큐로 방문 순서 관리코드 설계 순서: 큐 초기화 > 방문표시/거리저장 > 큐가 빌 때까지 반복 > 인접노드 탐색 > 도착조건에서 return 1. 게임 맵 최단거리link초기코드# 알고리즘: df.. [Algorythm] 자료구조의 성질 List전통적인 리스트는 데이터가 포인터를 가지고 있다. 불연속적 저장포인터를 통해 sequential access만 가능 (느린 접근, 빠른 수정)Array파이썬의 리스트는 배열의 성질과 더 유사하다. 연속적 저장인덱스를 바탕으로 랜덤 접근 가능 (빠른 접근, 느린 수정)Stack후입선출 구조 (LIFO)항상 최신의 것을 선택해야 할 때 사용깊이우선탐색Queue선입선출 구조 (FIFO)가장 오래된 것을 선택해야 할 때 사용너비우선탐색Hash해시함수로 key값을 인덱스로 변환해 배열에 저장해시값 충돌 시 배열 각 칸에 리스트를 적용해 순차 탐색 (분리 연쇄법)배열 크기가 너무 잦으면 충돌이 늘어 선형탐색이 증가배열 크기가 너무 작으면 빈 배열 칸이 늘어 메모리가 낭비 Heap힙은 트리구조 그래프최소값을 .. [Algorythm] stack/queue 1. 같은 숫자는 싫어link# 0def solution(arr): answer = [] for a in arr: if len(answer) == 0: answer.append(a) if a == answer[-1]: continue answer.append(a) return answer# 1-1: 초기값을 arr[0]으로def solution(arr): answer = [arr[0]] for a in arr: if not a == answer[-1]: # not과 조합 answer.append(a) return answer # 1-2: 혹은 or로 조.. [CS] PUT, POST, and PATCH 보호되어 있는 글입니다. [Algorythm] 해시 1. 해시1) 해시함수: 데이터 관리 목적으로 임의 길이 데이터를 고정 길이 데이터로 매핑하는 함수 hash table: 해시 테이블은 키(key)와 값(value)으로 구성된 자료 구조key: 매핑 이전 데이터 값hashing: 매핑 과정hash fucntion: 입력된 키를 통해 고유한 해시 값을 생성하는 함수hash value: key를 해시함수로 매핑한 값 (index의 신규 key)collision: 해시 충돌. 다른 2개 key가 같은 value를 갖는 것해싱을 거친 해시테이블은 해시함수를 거친 key값을 index로 value와 매칭된다.2) 특징장점: 탐색/삽입/삭제 모두 O(1), 중복제거, 보안단점: 해시 충돌 가능성, 높은 공간복잡도 3) 예시class HashTable: def.. 이전 1 2 3 4 ··· 11 다음