본문 바로가기

CS11

HTTP HTTP(HyperText Transfer Protocol)는 클라이언트와 서버 간 통신을 위한 통신 규칙 세트 또는 프로토콜이다. 사용자가 웹 사이트를 방문하면 사용자 브라우저가 웹 서버에 HTTP요청을 전송하고 웹서버는 HTTP응답으로 응답한다. 웹 서버와 사용자 브라우저는 데이터를 일반 텍스트로 교환한다. 웹 페이지의 요청과 응답을 처리하는데 사용된다. HTTP는 1989년에 팀 버너스리(Tim Berners-Lee)에 의해 제안된 개념이며 웹 브라우저와 웹 서버 간의 통신을 위한 프로토콜로 HTTP를 개발했다. 팀 버너스리는 CERN에서 작업중인 팀과 같이 1989년 월드와이드웹의 하이퍼텍스트 시스템을 고안하여 개발했다. 인터넷의 기반을 닦은 여러 공로로 웹의 아버지라고 불린다. 초기 버전으로는 .. 2023. 6. 26.
네트워크의 간단한 개념 네트워크는 컴퓨터나 기타 장치들이 데이터를 주고받을 수 있도록 연결된 시스템이다. 컴퓨터 과학에서의 네트워크는 데이터 통신, 리소스 공유, 정보 전달 등을 가능하게 하는 매우 중요한 개념이다. 네트워크는 다양한 영역과 프로토콜로 구성되어 있으며, 각 영역은 특정한 기능과 목적을 가지고 있다. 네트워크를 이해하기 위해 알아야 할 몇 가지 주요 개념만 알아 보겠다. 네트워크 구성 요소 - 디바이스 네트워크에 연결되는 컴퓨터, 스마트폰, 서버, 라우터 등과 같은 장비이다. 이들은 데이터를 전송하고 수신하며, 네트워크에서 특정한 역할을 수행한다. -링크 디바이스들을 연결하는 물리적 또는 무선인 매체이다. 예를 들어, 이더넷 케이블, 광섬유 케이블, 무선 신호 등이 링크로 사용된다. 네트워크 프로토콜 -프로토콜 .. 2023. 6. 8.
CI / CD 가끔 공부를 하다보면 CI와 CD의 차이를 아나요?라는 면접관의 질문이 있다는 것을 보곤한다. 당연히 모르는 부분이기도 하고 많이 언급되기에 한번 찾아서 정리해보려고한다. 많이들 프로젝트를 개발하고 배포를 진행할 때 많은 개발자들이 CI/CD에 대해 언급하곤 한다는데, 이 때 말하는 CI/CD가 무엇이고 왜 적용해야하는지 적어보겠다. 더보기 간단하게 보자면 CI/CD는 소프트웨어 개발의 자동화와 지속적인 품질 향상을 목표로하는 개념이다. 수정된 코드에 문제가 다시 생기면 또 다시 컴파일/빌드/배포과정을 통해 수정된 코드가 정상 동작하는지 테스트하고 검증할 필요가 있는데 이러한 과정들은 시간도 많이 걸리고 실수하기 쉽다. 수정된 코드에 문제가 다시 생기면 또 다시 과정을 반복해야 하는데 이 때를 위해 CI.. 2023. 6. 8.
알고리즘 컴퓨터 공학에서 알고리즘은 문제를 해결하기 위한 절차 또는 계산 과정을 설명하는 단계적인 방법이다. 알고리즘은 주어진 입력에 대해 원하는 출력을 생성하는 명확하고 효율적인 방법을 제공한다. 이 알고리즘은 프로그래밍 언어로 구현되어 컴퓨터에서 실행 될 수 있다. 1. 시간 복잡도(Time Complexity)와 공간 복잡도(Space Complexity)👉 알고리즘의 성능을 분석하는 데 사용되는 두 가지 주요 개념이다. 시간복잡도는 알고리즘이 문제를 해결하는 데 걸리는 시간을 분석한다. 일반적으로 Bing O표기법을 사용하여 표현된다. 예를 들어, O(n)은 입력 크기n에 대해 선형 시간 복잡도를 나타낸다. 공간 복잡도는 알고리즘이 필요로 하는 메모리 공간의 양을 분석한다. 마찬가지로 Bing O표기법을 .. 2023. 6. 7.
2진법 2진법은 컴퓨터 과학에서 중요한 개념이며, 컴퓨터 시스템에서 정보를 표현하는데 사용된다. 이진법은 0과 1 두가지 숫자만 사용하여 숫자를 표현하는 체계이다. 커뮤터는 전기적 신호로 이진법을 사용하여 데이터를 처리하고 저장한다. 2진법 기본 개념👉 2진접에서 각 자릿수는 2의 거듭제곱으로 표현된다. 가장 오른쪽 자리는 2^0(1), 그 다음은 2^1(2),2^2(4),2^3(8)...이다. 예를 들어, 숫자 10110은 1 * 2^4 + 0 * 2^3 + 1 * 2^2 + 1 * 2^1 + 0 * 2^0 로 계산된다. 따라서 22를 2진법으로 나타낸 것이다. 10진법과 2진법 변환👉 10진법에서 2진법으로 변환하는 방법은 주어진 숫자를 2로 나누고, 나머지를 오른쪽에서 왼쪽으로 순서대로 적어가면서 게산한다.. 2023. 6. 7.
불리언대수와 드모르간의 법칙 컴퓨터 공학에서의 논리 연산은 불리언 대수(Boolean algerbra)라고도 알려진 수학적 체계를 기반으로 한다. 불리언 대수는 논리적인 참과 거짓의 값을 다루는 대수적인 구조를 제공하여 논리 연산을 수행한다. 불리언 대수는 주로 두 가지 값, 참(true)과 거짓(false)을 다룬다. 이러한 값은 일반적으로 1과 0으로 표현되기도 한다. 불리언 대수는 논리 연산자를 사용하여 불리언 값들을 조합하고 조작하는데 사용된다. 주요한 논리 연산자로는 AND, OR, NOT ,XOR등이 있다. AND연산자는 두 개의 입력이 모두 참일 때만 결과가 참이된다. OR연산자는 두 개의 입력 중 하나 이상이 참이면 결과가 참 NOT연산자는 입력을 반대로 뒤집어 참은 거짓으로, 거짓은 참으로 변환한다. XOR연산자는 .. 2023. 6. 3.
논리 연산 논리 연산은 컴퓨터 공학에서 중요한 개념이다. 이러한 연산은 디지털 컴퓨터에서 정보를 처리하고 조작하는 데 사용된다. 논리 연산은 논리적으로 참과 거짓의 값을 다루며, 논리적인 문제를 해결하는데 도움을 준다. 논리 연산은 주로 논리 게이트를 사용하여 수행한다. 논리 게이트는 하나 이상의 논리적인 ㅇ비력을 받아 하나의 논리적인 출력을 생성하는데 주요 논리 연산에는 AND, OR, NOT, XOR등이 있다. 이러한 연산들은 논리적인 조건을 평가하고 결과를 만들어내는 데 사용된다. 논리 연산은 다양한 방법으로 조합될 수 있다. 이러한 조합을 통해 복잡한 논리적인 문제를 해결할 수 있다. 또한, 논리 연산은 컴퓨터 아키텍쳐, 회로 설계, 프로그래밍 등 다양한 분야에서 활용된다. 컴퓨터 공학에서 가장 기본적이고 .. 2023. 6. 3.
비트 상자에 대해서 생각해보자. 자연어에서는 이 상자를 문자(character)라고 부른다. 이는 컴퓨터에서 비트(bit)라고 부른다. '비트'라는 단어는 2진법을 사용한다는 뜻의 바이너리(binary)와 숫자를 뜻하는 디지트(digit)가 합쳐진 말이다. 이 결합은 기묘하게 결합된 말인데 그 이유는 '바이너리'라는 말은 두가지 부분으로 이뤄진 어떤 대상을 뜻하고, '디지트'라는 말은 일상생활에서 쓰는 10진수를 표현하는 10가지 기호 0에서 9를 뜻하기 때문이다. 지금 당장은 비트를 사용하면 적은 비용으로 편리하게 기호를 담을 수 있다고 아는 것으로 충분하다. 컴퓨터에서 모든 데이터는 비트로 표현되는데 이진수는 0과 1의 두 가지 값만 사용하기 때문에 컴퓨터에서 처리하는 데이터는 0 또는 1의 형태로 표현된.. 2023. 6. 3.
문자언어 컴퓨터 공학(Computer Science 이하 CS)에서 문자언어는 컴퓨터와 사람간의 상호 작용을 위해 사용되는 언어이다. 이러한 언어는 컴퓨터에게 명령을 전달하거나 정보를 표현하는데 사용된다. 문자언어는 컴퓨터 프로그래밍 언어, 마크업 언어, 쿼리 언어 등등 다양한 형태로 존재한다. 문자언어의 개념👉 문자언어는 사람과 컴퓨터 사이의 의사 소통을 위한 언어이다. 컴퓨터는 이진 코드로 동작하므로, 사람이 이해하기 쉬운형태의 언어를 사용하여 컴퓨터에게 명령을 전달하거나 정보를 표현한다. 문자언어는 구문(Syntax)과 의미(Semantics)를 가지며, 특정 규칙에 따라 작성, 해석된다. 문자언어의 역사👉 1940년대부터 컴퓨터가 개발되기 시작하면서, 기계어와 어셈블리어와 같은 저수준 언어가 처음으로 사용.. 2023. 5. 31.