반응형

CS 10

[JAVA] Gabage Collection (2)🗑️

2022.01.14 - [Language/Java] - [JAVA] Gabage Collection (1)🗑️ [JAVA] Gabage Collection (1)🗑️ # 개요 Gabage Collection, GC란?? CS를 공부할때 한번쯤 언어적으로 접근할 필요가 있다고 생각한다. Gabage(쓰레기) Collector(수집가)라는 말의 뜻을 갖고 있다. 그러면 컴퓨터, 즉, 프로세스가 구동중에 Ga blaj2938.tistory.com 이전 포스팅에서는 GC가 어떻게 사용하지 않는 메모리를 판별하는 참조 방식과 청소 방식에 대해서 알아보았다. 그렇다면 이 방식과 방식을 JVM Heap영역에 대입해서 동작하도록 해야한다. # heap 메모리의 구조 & GC 종류 JVM의 Heap 메모리 영역은 애초에..

Language/Java 2024.04.09

[JAVA] Gabage Collection (1)🗑️

# 개요 Gabage Collection, GC란?? CS를 공부할때 한번쯤 언어적으로 접근할 필요가 있다고 생각한다. Gabage(쓰레기) Collector(수집가)라는 말의 뜻을 갖고 있다. 그러면 컴퓨터, 즉, 프로세스가 구동중에 Gabage(쓰레기)는 무엇인지 알아보아야한다. Once upon a time~ 과거 java, python 등등 이러한 언어가 나오기 이전으로 돌아가보자 과거 프로그래밍 언어들은 프로그래머가 동적메모리를 할당부터 해제까지 모두 수동으로 해줘야했다. 특히 우리가 알고 있는 C언어도 그랬다. 항상 개발자들은 메모리를 할당하고 해제하지 않거나 해제한 메모리를 다시 해제 하는 등... 휴먼에러를 많이 발생시켰다. 개발자는 휴먼에러를 최소화해야겠다. 명령대로만 알아듣는 컴퓨터를 ..

Language/Java 2024.04.09

[DB] DataBase와 SQL VS. NoSQL

# DataBase 먼저, 데이터베이스의 정의가 무엇인지 알아보겠다. 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 의미한다. 데이터베이스 관리 시스템(DBMS)를 통해 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음이다. 일반적으로 미들웨어를 통해서 관리된다. ※ 미들웨어(Middleware) 간단하게 설명하면, OS와 application 사이에서 실행되는 응용프로그램 사이에 존재하게 되며 분산 컴퓨터 환경(client와 server)에서 동작을 한다. 이는 컴퓨터와 컴퓨터간의 연결을 안전하고 용이하게 해주게된다. 다시말해, 서로 다른 기기의 하드웨어나 프로토콜, 통신환경 등을 연결하게된다. 그게 우리가 아는 WAS, DBMS, Web Server 등등 이..

[Network] Load Balancer(부하 분산 장치)

#개요 이번에 프로젝트를 하다 로드밸런서가 무엇인지 정확히 잡고 넘어가야했다. 네트워크쪽에서는 자주 등장하는 용어이고 사용하는 장치이다. Load Balancer(부하 분산 장치) 즉, 로드밸런서라고 칭하겠다. 이 로드밸런서가 등장하게 된 계기 부터 알아보면 더 쉽게 이해가 가능하다. 우리가 서버에 트래픽이 부하(트래픽)이 많이 걸리면 우리는 서버의 사양을 늘리거나 증축해서 설비를 해야한다. 서버의 사양을 늘리는 것(Scale-up), 서버를 증축하여 설비하는 것(Scale-out)이라고 부른다. 다시 설명하면, AWS EC2를 기준으로 t3.small ➡️ t3.large로 간다면 Scale-up은 수직 스케일링 t3.small ➡️ t3.small, t3.small 로 간다면 Scale-out 수평 ..

[Data Structure] 비선형 - 이진 트리(Binary Tree)

#구체적인 설명 그래프의 일종 ➡️ 한 노드에서 시작해서 다른 정점(Edge)들을 순회하여 자신에게 돌아오는 순환이 없는 연결 그래프 부모 - 자식 관계로 정의가 가능 부모에서 자식으로 간선이 이어져 있는 방향성이 있는 그래프 용어 정리 노드: 트리를 구성하는 기본 원소 루트 노드: 트리에서 부모가 없는 최상위 노드, 트리의 시작점 부모 노드: 루트 노드 방향으로 직접 연결된 노드 자식 노드: 루트 노드 반대 방향으로 직접 연결된 노드 형제 노드: 같은 부모 노드를 갖는 노드 리프 노드: 루트 노드를 제외한 차수가 1인 정점 ➡️ 말단, 단말에 있는 노드 경로: 한 노드에서 다른 노드로 이르는 길 사이에 있는 노드들의 순서 길이: 출발 노드에서 도착 노드까지 거치는 간선(Edge)의 갯수 깊이: 류투 경..

[Network] UDP 헤더

UDP는 바로 한번 헤더 구조에 대해 알아보겠습니닷! ???: 뭐여 TCP와 다르게 UDP는 헤더를 먼저 살펴보았습니다. 너어어어무 Simple하지 않나요?? TCP는 데이터검증에 아주 목을 매달았지만 UDP는 그렇지 않습니다. 그렇기때문에 빠르죠! 또한, 송수신 장치간의 비연결형 서비스를 지원합니다. 출발지에서 데이터를 보낼때 목적지에서 받던 말던 데이터를 보내게 되죠 데이터그램간의 전후 관계를 고려하지 않고 전송!! 좀 매너가 없긴 합니다 ㅋㅋㅋㅋㅋㅋ 아무튼 오늘은 UDP 해더를 알아보았습니다 ㅎㅎ TCP가 궁금하다면 2023.09.14 - [Computer Science] - TCP 헤더를 알아보쟈!

[Network] TCP/IP (Transmission Control Protocol/Internet Protocol)

TCP/IP 는 무엇일까요? 인터넷을 사용하는 모든 통신의 기본이 되는 프로토콜 프로토콜이 한 개만 있는 것이 아닌 여러가지 프로토콜의 조합 TCP/IP를 기반으로 BAN,PAN,MAN,WAN 구간의 장치들이 데이터 교환 OSI 7 Layer와 달리 4개의 계층으로 표현됨 TCP는 통신 방식, 포트는 서비스, IP는 주소 수 많은 프로토콜들이 IP주소를 기반으로 동작 1 계층 - Network Access Layer(네트워크 엑세스 계층) OSI 7 계층의 물리 계층과 데이터 링크 계층의 역할 수행 프레임의 송신과 수신을 담당하는 계층 ARP, RARP를 통해 MAC 주소와 IP주소를 둘다 알아낸다 에러 검출 기능이 있고, 패킷을 프레임화 2 계층 - Network(Internet) Layer(네트워크[..

[Network] DNS(Domain Name System)

개인적으로 블로그 쓰면서 위에 짤이 너무 맘에 드네요. 네트워크나 인터넷 관련 기술 블로그를 작성할때 저기 짤을 항상 유용하게 사용하겠습니다. 오늘 알아볼 내용은 바로바로 DNS(Domain Name System)입니다. 도메인 네임 시스템? 우리 지구는 위도와 경도로 이루어져 있듯이 인터넷 세상도 IP(Internet Protocol)로 되어있습니다. 위도/ 경도 IP 37.3592° N, 127.1048° E 125.209.222.141 혹시 이렇게 상단에 표를 보았을때 저기가 어딘지 알 수 있을까요? 세계지도를 펼치고 자를 대고 그려봐야지 알 수 있을거 같습니다 IP주소도 마찬가지 입니다. 해당 IP주소를 보고 웹사이트가 어딘지 정확히 알 수 없습니다 물론 브라우저에 접속후에 주소창에 입력해보면 바..

[Network] URI(Uniform Resource Identifier)?

인터넷 세상은 무지하게 큽니다 세계일주가 아니라 인터넷 일주를 한다면 얼마나 걸릴까요? 물론 인터넷은 컴퓨터 하나로 모든 사이트에 도착할 수 있으니깐 금방하겟죠? 오프라인 세상으로 넘어와서 국가를 판별할 수 있는 것은 국가명이 있습니다. 제가 살고 있는 "대한민국"같이 말입니다. 그리고 저는 대한민국에 살고 있기 때문에 "주민등록증"을 갖고있습니다. 주민등록증은 저를 식별할 수 있는 중요한 도구입니다. 그렇다면 광활한 인터넷에서도 엄청나게 많은 자원이 존재할텐데 그 자원들을 사용하고 싶다면 찾아내어 식별해야합니다!! 자원(리소스)는 어떤 방식으로 식별을 진행하게 될까요? 바로! URI(Uniform Resource Identifier)을 통해 식별을 진행하게 됩니다. URI는 인터넷에서 리소스를 고유하게..

[JAVA] Thread 활용법

모든 언어는 CS와 연결되어있다. 한가지를 뚜렷하게 알면 용어는 돌려쓰기 때문에 더 헷갈리지만, 연결되어있다고 생각하면 더 쉽다. 나는 이전 포스팅에서 Thread와 Process에 대해서 디테일 하게 알아보았다. (모른다면 읽어보고 JAVA의 Thread를 따라오자.) 2024.01.03 - [Computer Science/Operation System] - [OS] 프로세스 & 쓰레드(Process & Thread) [OS] 프로세스 & 쓰레드(Process & Thread) #개요 CS를 공부할때는 언어에 대해서 1차적인 고민을 해야한다. 우리는 PC를 사용할때 프로그램(Program)을 사용한다. 프로그램(Program)을 실행하여 원하는 동작을 구현하는데 우리는 이 단위를 프 blaj2938.t..

Language/Java 2022.01.14
반응형