CS
-
TCP vs HTTPCS 2024. 6. 22. 05:03
우리 삶의 필수적인 부분이 된 인터넷에서는 다양한 활동을 통해 매일 같이 방대한 양의 데이터를 주고받고 있다.TCP와 HTTP는 이러한 데이터들의 안전과 효율적인 전송을 도와주는 프로토콜이다. 이 둘에 대해서 자세하게 알아보도록 한다.OSI 7 계층일단 TCP와 HTTP를 알기 위해선, OSI 7 계층에 대한 지식이 필요하다. 네트워크에서는 데이터 전송을 위해, 데이터에 헤더를 붙인 패킷을 이용하는데,여기서 패킷이란 유저가 데이터를 전송할 때 전송하는 데이터에 각 계층별로 헤더가 붙어서 생긴 네트워크 전송 데이터이다. 각 계층별로 헤더가 붙는 이유는 각 계층에서 맡은 역할에 따라 데이터를 압축하거나 암호화/복호화 등의 데이터 정제를 헤더에 맞게 하기 위함이다.TCP?TCP는 전송제어 프로토콜이라는 뜻으로..
-
CDN(Content Delivery Network)?CS 2024. 6. 22. 02:40
인터넷 사용이 일상화되는 만큼, 웹사이트 속도는 사용자 경험에 큰 영향을 미치는 중요한 요소가 되었다.사용자들은 웹사이트 로딩 속도가 느리면 금방 지루해하며, 다른 사이트로 이동할 가능성이 높다. 따라서 웹사이트 관리자들은 사용자에게 더 나은 경험을 제공하기 위해 웹사이트 속도 향상을 위한 노력을 지속해야 한다. 그리하여 웹사이트 속도를 향상시키는 방법 중 가장 효과적인 CDN을 사용하게 되는데, 이 CDN에 대해서 자세히 알아보고자 한다.CDN(Content Delivery Network)?웹사이트 콘텐츠를 전 세계 여러 곳에 분산된 서버에 저장하고 사용자에게 가장 가까운 서버로부터 콘텐츠 제공하는 기술이다. CDN은 웹사이트의 이미지나 CSS, JS 파일과 같이 정적 콘텐츠와 웹 페이지 자체, 영상 ..
-
DNS(Domain Name System)?CS 2024. 6. 19. 14:16
인터넷의 발달로 우리는 매일 같이 다양한 웹사이트에 방문하고 정보를 교환하는 등의 상호작용을 이루고 있다. DNS라는 개념은 인터넷을 사용하면서 몇 번 들어본 적이 있는 용어일 것이다. 하지만 그렇다면 이 DNS에 대해 자세하게 살펴보도록 하자.DNS(Domain Name System)DNS는 도메인 이름과 IP 주소를 서로 매칭시켜 인터넷에서 원하는 웹사이트를 쉽게 찾을 수 있도록 하는 시스템이다. DNS는 마치 전화번호부와 같다고 생각할 수 있는데, 전화번호부에서 이름을 찾아 전화번호를 확인하는 것과 비슷한 역할을 하기 때문이다. 우리는 보통 [https://alswlfjddl.tistory.com]와 같이 사람이 읽을 수 있는 도메인 이름을 가지고 어떠한 웹사이트에 접속하게 되는데, 이 도메인 이..
-
HTTP/HTTPS?CS 2024. 6. 19. 01:46
인터넷을 사용하는 우리는 매일 다양한 웹사이트를 방문하고, 정보를 주고받는다. 하지만 모든 웹사이트가 안전한 건 아니다. 웹사이트에 접속할 때 사용되는 프로토콜에 따라 개인정보 유출 위험이 따를 수 있다. 이러한 웹사이트의 안전을 위한 주요 프로토콜인 HTTP와 HTTP에 대해서 자세하게 살펴보면 다음과 같다.HTTP(Hypertext Transfer Protocol)HTTP는 웹 브라우저와 웹 서버 간의 데이터 전송을 위한 기본적인 프로토콜이다. 하지만 HTTP는 데이터 전송 과정에서 암호화가 되지 않기에, 도청 위험이 존재한다. HTTP의 경우 포트 번호 80을 사용하는데, 이는 접속하려는 웹페이지의 웹서버가 80번 포트를 열고 대기하고 있는 것이다. 따라서, 사용자의 클라이언트는 TCP 80포트를 ..
-
GitHub ActionsCS 2024. 6. 2. 13:43
지금 우리 사회에서 소프트웨어 개발은 빠른 속도와 높은 품질을 요구한다.이러한 요구를 충족하기 위해 많은 개발자와 개발 팀은 자동화 도구를 사용하고 있는데,그 중에서도 GitHub Actions는 매우 대표적인 도구로 자리잡고 있다. GitHub Actions?GitHub에서 제공하는 CI/CD 도구로, 코드 저장소에서 발생하는 이벤트에 따라 자동화된 Workflow를 설정할 수 있다. 이를 통해 개발자들은 코드를 커밋할 때마다 테스트, 빌드, 배포 등의 작업을 자동으로 수행할 수 있다.CI/CD에 대해 이해가 잘 되지 않는다면, https://alswlfjddl.tistory.com/25 글을 참고하면 된다. GitHub Actions 주요 개념Workflow하나 이상의 Job으로 구성되고, Event..
-
CI/CD(Continuous Integration/Continuous Deployment)CS 2024. 6. 2. 12:44
소프트웨어 개발은 끊임없이 변화하고 있으며, 효율성과 품질을 동시에 높이는 것을 가장 중요시 여긴다.개발 팀은 코드 변경, 테스트, 배포 등 다양한 작업을 빠르고 효율적으로 수행해야 하며, 동시에 높은 품질을 유지해야 하는데, 이러한 개발 팀의 코드 변화를 신속하고 안정적으로 배포할 수 있게 도와주는 핵심적인 솔루션이 바로 CI/CD이다. CI/CD는 개발, 테스트, 배포 과정을 자동화하여 개발 속도를 높이고 품질을 향상시키는 데 도움을 준다.그렇다면 CI/CD가 무엇인지 자세히 알아보도록 하자. CI/CD란?CI(Continuous Integration, 지속적 통합)개발자들의 새로운 코드의 변경 사항을 정기적으로 빌드 및 테스트 되어 git과 같은 외부 저장소에 통합하는 것을 의미한다. CI를 통해 ..
-
Docker?CS 2024. 5. 30. 01:58
개발을 조금이라도 공부해본 사람이라면, Docker를 한 번쯤은 들어봤을 것이다.Docker는 컨테이너 기수을 활용하여 애플리케이션 개발, 배포, 관리를 보다 간편하고 효율적으로 만드는 플랫폼이다. Docker에 대해서 자세하게 들어가기 전에, Docker가 왜 생겨나게 되었는지를 알고 들어가기 위해서가상 머신에 대해서 알고 들어가야 한다. 가상 머신(VM)가상 머신(VM)은 애플리케이션과 운영 체제를 별도의 가상 환경에 격리하여 실행하는 기술이다. Docker가 등장하기 전, 주로 이 가상 머신을 통해 애플리케이션 개발, 배포 및 관리를 했다.물리적인 서버 하나를 여러 개의 가상 서버로 쪼개서 여러 애플리케이션에 빌려줄 수 있으니, 저렴하게 이용이 가능했다.왜냐하면 비싼 서버 한 대를 전부 사용할 필요..
-
인증과 인가CS 2024. 5. 12. 16:38
인증과 인가, 어딘가 비슷한 말 같지만 둘은 서로 다른 개념을 뜻한다.둘 다 시스템 보안과 데이터 보호에 필수적인 개념이지만 자칫하면 혼동될 수 있는 부분이다. 인증인증은 "누구인가"를 확인하는 과정이다. 예를 들어, 로그인을 할 때 우리는 ID를 입력한 후에 계정의 주인이 맞는지 확인받을 수 있게 비밀번호를 입력한다.또는 지문과 같은 생체 인식을 통하여 우리가 해당 계정의 주인임을 확인하는 과정을 거치는데, 이것이 바로 인증이다. 쉽게 정리하면, 신원 확인을 하는 것이다. 인증 요소사용자의 신원을 확인하는 데 사용되는 방법 또는 증거를 인증 요소라고 한다. 인증 요소는 다음과 같이 3가지 유형으로 분류할 수 있다.유형설명예시지식 기반 요소사용자가 알고 있는 정보를 기반으로 인증하는 요소이다.비밀번호,..