Computer Science

Computer Science/Network

[Network] TCP와 UDP

TCP(Transmission Control Protocol) TCP(Transmission Control Protocol)는 인터넷 프로토콜 스택에서 가장 많이 사용되는 전송 계층 프로토콜 중 하나입니다. TCP는 연결 지향적인 프로토콜로, 전송할 데이터를 패킷 단위로 나누어 순서에 맞게 전송합니다. TCP는 전송할 데이터를 여러 개의 패킷으로 분할하고, 각 패킷에 일련번호(sequence number)를 부여하여 전송합니다. 수신자는 이 일련번호를 기반으로 패킷을 받은 순서대로 재조립합니다. 이때, 송신자는 각 패킷 전송 후, 수신자로부터 확인 응답(ACK) 메시지를 받으면 다음 패킷을 전송합니다. 만약 일정 시간 동안 수신자로부터 ACK 메시지가 도착하지 않으면 해당 패킷을 재전송합니다. 이러한 절..

Computer Science/Algorithm

[Algorithm] 내가 지금 현재 풀고 있는 알고리즘 사이트

지금 현 상황 2023년 5월 4일(목) 내가 풀고 있는 알고리즘 사이트에 대해서 정리를 하여보자. 백준알고리즘 백준알고리즘 사이트이다. 내가 지금 현재 가장 주력으로 풀고있다. 앞으로 졸업까지 목표는 1000문제를 푸는 것이다.(할 수 있을까...) 내가 가장 좋아하는 사이트이다. 프로그래머스 프로그래머스이다. 최근에 네이버, 삼성 코테를 보면서 프로그래머스 또한 풀어야겠구나를 느꼈다. 특히나 네이버 코테때는 프로그래머스 환경에 익숙해져야함을 느꼈다. 목표는 lv3까지는 다 푸는 것이다. 삼성 SwExpertAcademy 최근에 다시 풀기 시작한 사이트이다. 삼성의 출제방식이랑 최대한 비슷해서 풀고있다. 삼성을 갈 수 있으나 모르겠다....

Computer Science/Algorithm

[Algorithm] DFS와 BFS

DFS와 BFS 란 DFS(깊이 우선 탐색)와 BFS(너비 우선 탐색)는 그래프 탐색 알고리즘입니다. 이 두 알고리즘은 그래프의 노드를 탐색하는 방식에서 차이가 있습니다. DFS는 한 노드에서 시작하여 깊이를 우선으로 탐색하며, 해당 경로가 더 이상 진행할 수 없을 때 되돌아가서 다른 경로를 탐색합니다. 스택이나 재귀 함수를 사용하여 구현할 수 있습니다. DFS는 그래프의 깊은 부분을 우선적으로 탐색하므로, 해답이 깊은 단계에 위치한 경우 효율적일 수 있습니다. 하지만 무한 루프에 빠질 수 있으며, 최단 경로를 찾는 문제에서는 최적의 해를 보장하지 않을 수 있습니다. BFS는 한 노드에서 시작하여 인접한 모든 노드를 먼저 탐색한 후, 그 다음 레벨의 인접한 노드를 탐색합니다. 큐를 사용하여 구현할 수 있..

Computer Science/Network

[Network] HTTP 란

오늘은 HTTP에 대해서 알아보자 HTTP 란? HTTP (Hypertext Transfer Protocol)는 인터넷에서 데이터를 주고받는 프로토콜 중 하나로, 웹 서버와 클라이언트 간의 통신을 위해 사용됩니다. HTTP는 클라이언트(웹 브라우저)와 서버 간에 요청(request)과 응답(response)을 주고받는 방식으로 동작합니다. 클라이언트는 웹 서버에게 요청을 보내고, 서버는 요청에 대한 응답을 반환합니다. 요청과 응답은 일반적으로 텍스트 형식으로 이루어져 있으며, 이를 HTTP 메시지라고 합니다. HTTP는 주로 웹 페이지를 전송하는 데 사용되지만, 다양한 종류의 데이터를 전송할 수 있습니다. HTTP는 기본적으로 TCP/IP 프로토콜 위에서 동작하며, 80번 포트를 사용합니다. HTTPS는..

Computer Science/Algorithm

[Algorithm] 유니온 파인드(Union-Find) 알고리즘

유니온 파인드(Union-Find) 알고리즘이란 유니온 파인드 알고리즘은 대표적인 그래프 알고리즘 중 하나로, 주어진 그래프의 노드들을 서로 다른 집합으로 분리하거나, 두 개의 노드가 같은 집합에 속하는지 여부를 판단하는 데 사용됩니다. 이 알고리즘은 일반적으로 노드들이 상호 연결된 그래프에서 사용됩니다. 초기에는 모든 노드들이 각각 서로 다른 집합에 속해 있습니다. 유니온 파인드 알고리즘은 두 개의 노드가 같은 집합에 속하도록 하거나, 두개의 집합을 하나로 합치는 연산을 수행합니다. 이 알고리즘의 핵심은 각각의 집합을 하나의 트리로 나타내는 것 입니다. 각 노드는 해당 집합의 루트 노드를 가리키는 포인터를 가지고 있습니다. 노드들이 합쳐지면, 두 트리의 루트 노드를 연결하고, 이전에 각 트리의 루트 노..

Computer Science/Computer Security

[Security] 컴퓨터 보안(Computer Security)의 개요(간단 정리)

컴퓨터 보안이란 컴퓨터 보안(Computer Security)은 컴퓨터 시스템과 네트워크 시스템의 보호를 위한 전문 분야입니다. 컴퓨터 보안은 컴퓨터 시스템의 보안 위협으로부터 데이터를 보호하고, 시스템의 안정성과 기밀성을 유지하기 위해 일련의 절차와 기술을 적용합니다. 컴퓨터 보안은 컴퓨터 시스템과 네트워크 시스템에 대한 공격을 방어하고, 보안 위협으로부터 시스템을 보호하는데 중점을 둡니다. 이러한 보안 위협은 컴퓨터 바이러스, 악성 소프트웨어, 침입자, 악의적인 해커 등으로부터 발생할 수 있습니다. 컴퓨터 보안은 컴퓨터 시스템의 안정성, 가용성, 무결성, 기밀성을 유지하는 것을 목표로 합니다. 이를 위해 다양한 보안 기술과 방법을 사용합니다. 이러한 기술과 방법으로는 암호화, 인증, 권한 부여, 네트..

Computer Science/OperatingSystem

[OS] 요구 페이징

요구 페이징이란? 요구 페이징(demand paging)은 운영체제에서 사용되는 가상 메모리 관리 기법중 하나이다. 요구페이징은 프로세스가 실행되는 동안 필요한 페이지만 메모리에 올리고, 필요하지 않은 페이지는 디스크에 저장하여 메모리를 절약하는 방법입니다. 이를 위해 페이지 테이블에 페이지의 위치 정보와 함께 각 페이지의 접근 여부를 표시하여 필요한 페이지만 메모리에 올리게 된다. 요구 페이징의 장점 효율적인 메모리 사용 : 요구페이징은 물리적 메모리 공간을 아끼면서 프로세스가 필요한 페이지만 메모리에 적재하므로 메모리 사용이 효율적입니다. 빠른 프로세스 실행 : 요구 페이징은 필요한 페이지만 적재하므로 디스크에서 메모리로 페이지를 로드하는 작업이 빠릅니다. 이는 프로세스 실행속도를 높이는데에 도움이 ..

Computer Science/DataBase

[DataBase] 정규화와 비정규화의 탄생 배경 및 장단점

정규화(Normalization) 정규화란 데이터베이스 설계 시 중복을 최소화하며 데이터를 구조화하는 과정이다. 이는 데이터의 무결성을 보장하고 데이터베이스의 성능을 향상시킨다. 정규화는 1970년대 E.F.Codd가提唱한 관계형 데이터베이스 이론의 핵심 개념이다. 이론에 따르면, 데이터베이스의 테이블은 1차 정규화, 2차 정규화, 3차 정규화, BCNF, 4차 정규화, 5차 정규화 등으로 분류된다. 장점 데이터 중복 최소화 데이터 무결성 유지 쿼리의 성능 향상 단점 데이터베이스 설계에 많은 시간과 노력이 필요 복잡한 데이터베이스 설계로 인한 성능 저하 가능성 너무 많은 정규화를 시키면 데이터의 일관성을 유지하거나 읽어오는 데 시간이 더 오래 걸릴 수 있음. 비정규화(Denormalization) 비정규..

Tenacity_Dev
'Computer Science' 카테고리의 글 목록 (5 Page)