분류 전체보기(109)
-
TCP vs UDP
TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol)는 전송 계층에서 사용되는 프로토콜입니다. 둘 다 패킷 통신을 통해 데이터를 전송하며, IP 프로토콜 위에서 작동합니다. 하지만, TCP와 UDP는 각각 다른 특징과 용도가 있습니다. 연결 지향성 (Connection-Oriented) vs 비연결 지향성 (Connectionless) TCP는 연결 지향성 프로토콜입니다. 클라이언트와 서버 간에 연결을 설정한 후, 데이터를 전송하고 연결을 해제합니다. 이로 인해 신뢰성이 높아지지만, 연결 설정 과정이 필요하기 때문에 UDP보다 속도가 느릴 수 있습니다. 반면, UDP는 비연결 지향성 프로토콜입니다. 데이터를 전송하기 전에 연결 설정 과정이 ..
2023.03.18 -
HTTP GET vs POST?
먼저 간단한 결론부터 내자면 다음과 같다. GET은 주로 데이터를 요청하고, POST는 데이터를 전송하는 데 사용됩니다. GET은 데이터를 요청하는 데 사용됩니다. 이 메소드는 URL에 데이터를 포함시켜 요청을 보냅니다. 예를 들어, 웹 페이지를 열면 브라우저는 GET 요청을 보내 해당 페이지에 필요한 HTML 파일 및 이미지 파일 등을 서버에서 받아옵니다. GET은 브라우저에서 캐시된 데이터를 사용하여 빠르게 로드할 수 있지만, 보안에 취약할 수 있으므로 보안이 중요한 데이터 전송에는 사용되지 않아야 합니다. 반면 POST는 데이터를 전송하는 데 사용됩니다. 이 메소드는 요청 바디에 데이터를 포함시켜 요청을 보냅니다. 예를 들어, 로그인 폼을 작성하고 제출하면, 브라우저는 POST 요청을 보내 해당 데..
2023.03.17 -
트랜잭션의 연산 중 ROLLBACK 이란?
롤백(rollback)이란 트랜잭션이 실패할 경우 실행되며, 전체 트랜잭션을 취소하는 연산이다. 트랜잭션을 실행하다 보면, 가끔 발생할 수 있는 여러 오류나 시스템의 예기치 않은 전원 차단 등으로 인해 트랜잭션이 실행 중 중단되는 경우가 있다. 이런 요인들로 인해 트랜잭션이 실행 중 중단되게 되면 트랜잭션의 ROLLBACK 연산이 일어난다고 보면 된다. 롤백은 트랜잭션을 트랜잭션 시작부터 또는 트랜잭션 내의 저장 지점까지 되돌린다. 롤백 트랜잭션을 사용하면 트랜잭션 시작부터 또는 저장 지점까지의 모든 데이터 수정을 지울 수 있으며, 트랜잭션에 할당된 자원도 해제된다. 트랜잭션 처리 시스템에서 롤백은 다음과 같은 경우에 발생할 수 있다: 명시적 요청(예: 사용자가 의도적으로 ROLLBACK 을 요청함) 처..
2023.03.16 -
거품 정렬(Bubble Sort)이란?
거품 정렬(Bubble Sort)은 인접한 두 원소의 대소 관계를 비교하여 작은 값의 원소를 앞으로, 큰 값의 원소를 뒤로 교환하면서 정렬하는 알고리즘이다. 자료구조와 알고리즘을 공부해본 사람이라면 알겠지만, 가장 먼저 배우는 정렬 기법이기도 하다. 왜냐하면 이 알고리즘은 구현하기도, 이해하기에도 정말 쉽다는 게 장점이다. 하지만 으레 모든 방법이 장점이 있다면, 그에 수반하는 단점도 있는 법. 거품 정렬은 비교와 교환을 반복하면서 시간 복잡도가 O(n^2)으로 비효율적이며 정렬된 데이터에 대해서도 비교를 계속 하므로 최선의 경우에도 O(n^2)의 시간복잡도를 가지게 된다. 아래는 자바로 구현한 거품 정렬이다. public static void main(String[] args) { int[] arr =..
2023.03.15 -
프록시란(proxy)?
일반적으로 프록시란? 일반적으로 프록시는 다른 사람을 대신하여 행동하는 중개자 또는 대리인을 일컫는다. proxy 1. [명사] 대리[위임](권) 2. [명사] 대리인 3. [명사][격식 또는 전문 용어] (측정·계산하려는 다른 것을 대표하도록 이용하는) 대용물 출처 컴퓨터 과학에서 프록시란? 컴퓨터 과학에서 프록시는 클라이언트와 서버 사이에서 중개자 역할을 하는 서버 또는 서비스, 즉 중계 서버를 의미한다. 프록시 서버는 클라이언트로부터 요청을 받은 다음 클라이언트를 대신하여 서버로 전달합니다. 서버는 프록시 서버에 응답한 다음 응답을 다시 클라이언트로 전달합니다. 프록시 서버의 용도 보안 향상 : 프록시는 클라이언트와 서버 사이의 장벽 역할을 하여 들어오는 트래픽을 필터링하여 악의적인 요청이나 트래픽..
2023.03.14 -
가상 메모리란?
물리적 메모리란? RAM(Random Access Memory)이라고도 하는 물리적 메모리는 프로세서에서 빠르게 액세스할 수 있는 데이터를 저장하는 컴퓨터의 실제 하드웨어이다. 프로그램이 실행되면 명령과 데이터가 물리적 메모리에 로드되어 프로세서가 빠르게 액세스할 수 있게 된다. 그러나 물리적 메모리에는 한계가 있다. 메모리는 가격이 비싸고, 컴퓨터에 설치할 수 있는 양이 제한되어 있다. 또한 최신 프로그램은 특히 대용량 데이터 또는 멀티미디어 파일로 작업할 때 많은 메모리를 필요로 하게 된다. 따라서 프로그램에 필요한 모든 데이터를 저장할 수 있는 물리적 메모리가 충분하지 않은 경우 운영 체제는 프로그램이 물리적으로 사용 가능한 것보다 더 많은 메모리에 액세스할 수 있도록 하는 방법을 찾게 되고, 이를..
2023.03.11 -
Q. 로깅을 이용한 데이터베이스의 회복에 대해서 간략히 설명해주세요
위 질문에서 핵심 명사들을 먼저 한번 뜯어보자 로깅이란? In computing, logging is the act of keeping a log of events that occur in a computer system, such as problems, errors or just information on current operations. These events may occur in the operating system or in other software. A message or log entry is recorded for each such event. These log messages can then be used to monitor and understand the operation of t..
2023.03.09 -
Spring MVC? MVC 패턴? 뭐가 다른 건가
스프링의 정석(이하 스정)에서 Spring MVC 에 대한 이론적인 정리를 했을 때 다음과 같았다. 1. 컨트롤러의 코드들을 크게 분류하면 3 가지이다 입력 처리 출력 2. 각 컨트롤러마다 처리의 과정은 다르지만, 입출력의 과정은 거의 비슷하다. 즉, 모든 컨트롤러가 위의 3 가지를 다 가지고 있다면 입출력 코드의 중복을 초래한다. 3. 이를 위해 모든 입력을 받는 DispatcherServlet 을 만들고, 들어온 입력에 대해 처리를 하는 Controller, 그리고 이러한 처리의 결과를 출력한 View 로 나누게 된다. 4. 이때 Controller 와 View 는 별개이므로, 처리의 결과물을 출력쪽으로 보내기 위한 매개체로 Model 을 사용한다. 그리고 이는 DispatcherServlet 이 만..
2022.09.28 -
[후기] 남궁성과 함께하는 2022 DevCamp (feat. 최우수팀)
2022.08.01 ~ 2022.09.02 짧지만 서도 정말 길었던 데브 캠프 1기가 드디어 끝났다. 지원 경로 및 사전 학습 이번 여름방학 동안 어떻게 시간을 알차게 보낼까 고민하던 와중에 남궁성 강사님 개인 유튜브 채널에 아래처럼 커뮤니티 글이 올라와 1 초의 고민도 하지 않고 바로 지원을 하게 되었다. 후에 화상 면접 후 다음과 같은 메일이 왔다 사실 위와 같은 메일을 받게 되면, 겁주려고 탈락시킨다는 말을 한다고 생각할 수도 있지만, 강사님의 네이버 카페 답글들을 많이 보신 분들은 알겠지만 정말로 성적이 안 좋으면 집으로 돌려 보내실 분이시다... (겪고 보니 더더욱 이렇다고 생각...) 데브 캠프 시작, 그리고 모델링 메일에서 말씀하신 것처럼 시험을 보고 난 후 팀이 짜여졌는 데, 초기에 우리 ..
2022.09.13