728x90
반응형
728x90
반응형
# HTTP HyperText Transfer Protocol HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, Client-Server 간 데이터 통신을 위한 프로토콜이다. ## 특징 TCP/IP를 이용하는 응용 프로토콜이다. TCP/IP : 컴퓨터 사이의 통신 표준 및 네트워크 라우팅, 상호 연결에 대한 규칙을 지정한 프로토콜 TCP : 전송 계층 IP : 인터넷 계층 연결을 유지 하지 않고 요청/응답 방식으로 동작하는 무상태 프로토콜이다. 쿠키 및 세션으로 보완 ## 장점 불특정 다수를 대상으로 하는 서비스에 유리하다. Cilent Server 간 연결을 유지하지 않기에 최대 연결수보다 더 많은 요청과 응답 처리가 가능..
# SOLID 로브터 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 5대 기본 원칙이다. ## SRP Single Responsibility Principle : 단일 책임의 원칙 작성된 클래스는 하나의 기능만 가지며, 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수행하는데 집중해야 한다. 즉, 어떤 변화에 의해 클래스를 변경하는 이유는 오직 하나뿐이어야 한다. SRP 원리를 적용하면 책임 영역이 확실해지기 때문에, 다른 책임 변경 시 발생하는 사이드 이팩트로부터 자유로울 수 있다. 또한, 책임을 적절히 분배함으로써 코드의 가독성과 유지보수에도 효과적이다. ## OCP Open Close Principle : 개방 폐쇄의 원칙 소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수..
# OSI 7 Layers 인터넷 환경에서 통신하기 위해 네트워킹에 대한 표준을 7 계층으로 나눈 것이다. 이를 통해 통신이 일어나는 과정을 단계별로 알 수 있고, 이슈가 생겼을 경우에 그 단계만 수정할 수 있다. ## Physical Layer (L1) 리피터, 케이블, 허브 등 전선으로 전기적인 신호를 주고받는 계층, 데이터 전송의 역할만 수행한다. ## DataLink Layer (L2) 브릿지, 스위치 등 Physical Layer (물리 계층)으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 계층이다. 프레임에 Mac 주소를 부여하고, Mac 주소를 통해 통신한다. 에러 검출, 재전송, 흐름 제어를 진행한다. ## Network Layer (L3) 라우터, IP 데이터를 목적지까지 ..
# 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k =..
# 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택..
# 문제 설명 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다. 당첨 번호 6개가 31, 10, 45, 1, 6, 19라면, 당첨 가능한 최고 순위와 최저 순위의 한 예는 아래와 같습니다. 당첨 번호 31 10 45 1 6 19 결과 최고 순위 번호 31 0→10 44 1 0→6 25 4개 번호 일치, 3등 최저 순위 번호 31 0→11 44 1 0→7 ..