본문 바로가기

분류 전체보기54

GC(Garbage Collection)이란? + 대상,구조,예시 Java Garbage Collection Garbage Collection이란, 스택으로부터, Heap 영역 객체 중 도달 불가능한 객체들을 자동으로 메모리에서 제거해주는 개념이다. Java는 객체지향 언어인만큼, 힙을 사용하여 객체를 생성하는 경우가 굉장히 많다. 개발자들은 이렇게 힙을 자유롭게 사용하고, 더 이상 사용되지 않는 객체들은 가비지 컬렉션 과정에서 자동으로 메모리에서 제거된다. 그렇다면 다른 언어들은 어떠할까? C언어 #include #include void main() { int* pPoint; pPoint = (int*)malloc(sizeof(int)*5); pPoint[0] = 25; pPoint[1] = 45; pPoint[2] = 50; pPoint[3] = 70; pPoint.. 2023. 2. 6.
JVM의 존재 이유 & 구성 요소 JAVA Java의 가장 큰 특징 중 하나가 어느 플랫폼, 어느 하드웨어(CPU)든, 어떤 운영체제(OS)이던 상관없이 컴파일된 코드가 플랫폼 독립적인 것이다. 다시 말해 어떤 필랫폼이든 작성한 소스를 변경할 필요 없이 다 실행할 수 있다는 것이다. 이 점이 웹 어플리케이션의 특성과 맞아 떨어져 폭발적인 인기와 함께 현재 웹 어플리케이션 개발에 가장 사용이 많이 되는 언어 중 하나가 되었다. 그리고 이 특징을 구현하기 위해 필요한 것이 바로 이 JVM이다. 예를 들어 C언어로 작성된 Test.c가 있다고 하면, 이 Test.c를 윈도우 컴파일러를 사용해서 컴파일하면 Test.exe가 만들어니다. 윈도우 컴파일러로 컴파일되었기에 Test.exe는 윈도우에서만 실행되는 실행 파일이다. 리눅스 운영체제에서는 .. 2023. 2. 2.
웹 통신의 큰 흐름 웹이란? WWW (world wide web)의 약자이며 인터넷으로 연결된 컴퓨터를 통해 정보를 공유할 수 있는 공간을 뜻한다. 흔히 인터넷과 통용하여 사용하는데 엄연히 다른 개념이다. 인터넷 : 인터넷 프로토콜을 사용해 네트워크와 기기 간 통신하는 컴퓨터 네트워크들이 전세계적으로 상호 연결되어 이루는 시스템이다. 인터넷 vs 웹: 비유를 한 예: 인터넷이 도시라면, 웹은 도시 위에 있는 건물 하나 인터넷이 도로라면, 웹은 도로 위에 있는 자동차 한대 기본적으로 웹 통신은 HTTP 프로토콜을 사용하여 통신한다. 웹에 연결된 컴퓨터는 클라이언트(Client)와 서버(Server)로 구분한다. 클라이언트 : 사용자가 서버에 접속하기 위해 사용하는 프로그램 또는 서비스이다. ex) 웹 브라우저, 모바일 앱 등.. 2023. 1. 29.
DNS와 DNS round robin 방식 DNS(Domain Name System) DNS는 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해 준다. 도메인 네임 시스템은 흔히 "전화번호부"에 비유된다. 인터넷 도메인 주소 체계로서 TCP/IP의 응용에서, www.google.com 이라는 도메인 이름을 DNS 서버에게 제공하면, 24.55.67.22 라는 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템이다. DNS 과정 1. DNS Query DNS 서버에서 도메인 이름에 해당하는 IP 주소를 요청하여 받아.. 2023. 1. 27.
HTTP와 HTTPS 란? + SSL 동작 과정 HTTP (Hypertext Transfer Protocol) HTTP는 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜이다. 웹 서핑을 할 때 서버에서 자신의 브라우저로 데이터를 전송해 주는 용도로 가장 많이 사용된다. 인터넷 초기에 모든 웹 사이트에서 기본적으로 사용된 프로토콜이다. 자세한 HTTP의 동작 방식은 이전 글을 참고해 주길 바란다. 하지만 HTTP에는 단점이 존재했다. 평문 텍스트, 즉 암호화되지 않은 텍스트를 전송하는 프로토콜로, 중간자 공격에 취약하다. 변조, 위장, 도청에 취약하다. 이 말은 즉슨 데이터가 쉽게 도난 당할 수 있다는 것이다. 이 문제를 해결하기 위해 HTTPS가 등장했다. HTTPS (Hypertext Transfer Protocol Sec.. 2023. 1. 22.
HTTP 요청 방식 - GET, POST HTTP(Hyper Text Transfer Protocol) HTTP의 개념 HTTP는 하이퍼텍스트 전송 규약으로, 웹 브라우저(Web Browser) 같은 응용프로그램을 통해 웹 클라이언트(사용자)와 웹 서버(서비스 제공자) 사이 데이터를 전송하는 프로토콜이다. HTTP를 통해 주고 받는 대표적인 파일은 HTML 문서파일이 있다. HTTP의 특징 - TCP/IP를 이용하는 응용 프로토콜(application protocol)이다. - 연결 상태를 유지하지 않는 비연결성 프로토콜이다. - 요청/응답 (Request/Response) 방식으로 동작한다. 연결 상태를 유지하지 않기 때문에 정보를 저장하기 위해 쿠키(Cookie)와 세션(Session)이 등장했다. 쿠키란? 웹 서버가 웹 브라우저에게 보내어.. 2023. 1. 18.