분류 전체보기

정보처리기사 실기

OSI 7계층

계층 이름계층 설명프로토콜전송 단위장비응용 계층사용자와 네트워크 간 응용 서비스 연결 및 데이터 생성HTTP, FTP데이터(Data)PC, 호스트표현 계층데이터 형식 결정, 부호교환, 암호화, 복호화JPEG, MPEG세션 계층송수신 간의 논리적 연결RPC, NetBIOS전송 계층송수신 프로세스 간의 연결TCP, UDP세그먼트(Segment)L4 스위치네트워크 계층단말기 간 데이터 전송을 위한 최적화된 경로 제공IP, ICMP패킷(Packet)라우터데이터링크 계층인접 시스템 간 데이터 전송, 동기화, 오류 제어HDLC, PPP프레임(Frame)브리지, 스위치물리 계층0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환RS-232C비트(Bit)허브, 리피터

공부하면서 얻은 지식들

정적 바인딩 vs 동적 바인딩

정적 바인딩 (Static Binding) 컴파일 시점에 메소드 호출이 결정된다. 메소드 오버로딩에서 주로 사용 메소드 호출이 컴파일 시점에 결정되기 때문에 실행 속도가 빠르고, 어떤 메소드가 호출될지 예측할 수 있다.하지만 다형성은 적절히 구현하지 못한다. 동적 바인딩 (Dynamic Binding) 런타임 시점에 메소드 호출이 결정된다. 메소드 오버라이딩에서 주로 사용 메소드 호출이 런타임 시점에 결정되기 때문에 오버헤드가 발생할 수 있지만, 다형성을 적절히 구현할 수 있다.

코딩테스트

파이썬 코딩테스트에서 자주 사용되는 표준 라이브러리 (4) bisect

bisect 모듈이진 검색 및 정렬된 리스트에 삽입할 때 사용합니다. import bisectsorted_list = [1, 2, 4, 5]bisect.insort(sorted_list, 3)print(sorted_list) # Output: [1, 2, 3, 4, 5]index = bisect.bisect_left(sorted_list, 3)print(index) # Output: 2

코딩테스트

파이썬 코딩테스트에서 자주 사용되는 표준 라이브러리 (3) itertools

itertools 모듈반복자 생성 및 조합, 순열 등을 생성할 때 사용합니다. from itertools import permutations, combinations, product# permutations 예시data = ['a', 'b', 'c']perm = list(permutations(data, 2))print(perm) # Output: [('a', 'b'), ('a', 'c'), ('b', 'a'), ('b', 'c'), ('c', 'a'), ('c', 'b')]# combinations 예시comb = list(combinations(data, 2))print(comb) # Output: [('a', 'b'), ('a', 'c'), ('b', 'c')]# product 예시prod = ..

코딩테스트

파이썬 코딩테스트에서 자주 사용되는 표준 라이브러리 (2) heapq

heapq 모듈우선순위 큐를 구현할 때 사용합니다import heapqheap = []heapq.heappush(heap, 3)heapq.heappush(heap, 1)heapq.heappush(heap, 2)print(heapq.heappop(heap)) # Output: 1print(heapq.heappop(heap)) # Output: 2print(heapq.heappop(heap)) # Output: 3

코딩테스트

파이썬 코딩테스트에서 자주 사용되는 표준 라이브러리 (1) collections

collections 모듈Counter: 요소의 빈도를 계산할 때 사용합니다.defaultdict: 기본값이 있는 딕셔너리를 생성할 때 사용합니다.deque: 양방향 큐를 사용할 때 사용합니다.from collections import Counter, defaultdict, deque# Counter 예시data = ['a', 'b', 'c', 'a', 'b', 'a']counter = Counter(data)print(counter) # Output: Counter({'a': 3, 'b': 2, 'c': 1})# defaultdict 예시dd = defaultdict(int)dd['key1'] += 1print(dd) # Output: defaultdict(, {'key1': 1})# deque 예..

CS/네트워크

3-tier architecture

소프트웨어 아키텍처 패턴의 하나 애플리케이션을 세 개의 주요 계층으로 분리하는 방식 이를 통해 시스템의 모듈성을 높이고 유지 보수를 용이하게 하며, 성능과 확장성을 향상시킬 수 있다.  프리젠테이션 계층 (Presentation Tier)사용자와 상호 작용하는 부분으로, 사용자 인터페이스(UI)를 제공한다.HTML, CSS, JavaScript 등으로 UI를 구성하며, 사용자로부터 입력을 받고 이를 처리하여 데이터를 표시한다.애플리케이션 계층 (Application Tier)비즈니스 로직을 처리하는 부분으로, 데이터 처리, 계산, 데이터 변환 등의 핵심 기능을 담당한다.프리젠테이션 계층과 데이터 계층 간의 중개 역할을 하며, 두 계층 간의 데이터 흐름을 관리한다.일반적으로 서버에서 실행되며, Java, ..

알고리즘

[프로그래머스] 2 x n 타일링

특정 수로 나누어 나머지 구하는 과정을 다른 방식으로 해주었더니 시간 초과를 해결하였다. def solution(n): answer = 0 dp = [0] * (n+1) if n == 1: return 1 if n == 2: return 2 dp[1] = 1 dp[2] = 2 for i in range(3, n+1): dp[i] = dp[i-1] + dp[i-2] return dp[n] % 1000000007 위 코드는 일부 효율성 테스트케이스에서 시간 초과가 발생하였다. 위 코드는 1000000007 로 나누는 과정을 마지막에만 해주었다.def solution(n): ..

화서동 병아리
'분류 전체보기' 카테고리의 글 목록