본문 바로가기

전체 글95

[python 백준 3107] IPv6 📜 접근 방법 1. ":"를 기준으로 문자열을 쪼갠다. 2. 쪼갠 문자열을 for문을 돌린다. 3. 빈 문자열일 경우 현재 문자열 갯수만큼 "0000:"을 추가한다. 4. 빈 문자열이 아닐 경우 (4 - s의 갯수)만큼 0을 추가한 후 문자열 s + : 를 추가한다. ❌ 실패 코드 import sys s_list = sys.stdin.readline().strip().split(":") res = "" check = True for s in s_list: if s == "": if check: if len(s_list) < 8: for i in range(8 - len(s_list)): res += "0000:" check = False res += "0000:" else: if len(s) != 4: .. 2023. 3. 13.
데이터 모델 데이터 모델 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형 데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적 도구들의 모임임 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터 구조(Schema)를 논리적으로 표현하기 위해 사용되는 도구 데이터 모델 구성 요소 개체(Entity) 속성(Attribute) 관계(Relationship) 개체(Entity) 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체 속성(Attribute) 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당 관계(Relationsh.. 2023. 3. 10.
[디자인 패턴] 디자인 패턴 디자인 패턴 객체지향 프로그램에서 유연하고 확장성 있는 설계가 가능한 예시를 제시 객체 지향 프로그래밍 특성 추상화 캡슐화 상속 다형성 객체 지향 디자인 원칙 (Object Oriented Design Principle) 애플리케이션의 달라지는 부분을 찾아내고, 달라지지 않는 부분과 분리한다. 새로운 요구사항이 있을때 마다 달라지는 부분을 분리해야한다. 구현보다는 인터페이스에 맞춰서 프로그래밍을 한다. 상속보다는 합성을 사용한다. Abstract class vs Concrete class(구상 클래스, 구체 클래스) Class Inheritance(상속) vs Object composition(합성) Interface inheritance(인터페이스를 구현한 클래스를 유연하게 사용) vs Implemen.. 2023. 3. 5.
[네트워크] 네트워크 기기 처리 범위 계층별로 처리 범위를 나눌수 있다. 처리 가능한 계층 네트워크 애플리케이션 계층 L7 스위치 인터넷 계층 라우터, L3 스위치 데이터 링크 계층 브리지, L2 스위치 물리 계층 NIC, 리피터, AP 상위 계층을 처리하는 기기는 하위 계층을 처리 가능하지만 하위 계층을 처리하는 기기는 상위 계층을 처리할 수 없음! 스위치 여러 장비를 연결하고 데이터 통신을 중재하며 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장비 애플리케이션 계층 처리 기기 L7 스위치(로드 밸런서) 로드밸런서라고도 하며 서버의 부하를 분산시키는 기기 클라이언트로부터 오는 요청들을 뒤쪽의 여러 서버로 나누는 역할을 하며 시스템이 처리할 수 있는 트래픽 증가를 목표로함 URL, 서버, 캐시, 쿠키들을 기반으.. 2023. 3. 4.