CS
-
[JAVA] Garbage CollectorCS/Java 2021. 7. 17. 21:37
📝 Garbage Collector ✨ 해당 글은 아래 [10분 테코톡]을 듣고 작성했습니다.✨ 🙋♀️ 먼저 JVM에 대해 간단하게 알아보고 가자. OS의 메모리 영역에 접근하여 메모리를 관리하는 프로그램이다. 자바 바이너리 코드(.class) 를 읽고 검증하며 실행 환경의 규격을 제공한다. 메모리 관리, GC를 수행한다. 📌 GC란 무엇일까? 🔎 먼저 간단하게 알아보자. - Garbage Collector 동적으로 할당된 메모리 영역 중 사용하지 않는 영역을 탐지하여 메모리에서 해제하는 기능을 제공한다. 🔎 동적으로 할당된 메모리란 무엇일까? - JVM의 Runtimdata Area JVM의 메모리 영역으로 자바 어플리케이션 실행시 사용되는 데이터를 적재하는 영역이다. Method, Stack, He..
-
[Network] TCP와 UDPCS/Network 2021. 7. 15. 23:37
📝 TCP와 UDP ✨ 해당 글은 아래 [10분 테코톡]을 듣고 작성했습니다.✨ 📌 Transport Layer 🔎 전송 계층? - End Point간 신뢰성있는 데이터 전송을 담당하는 계층이다. 신뢰성: 데이터를 순차적, 안정적으로 전달한다. 전송: 포트 번호에 해당하는 프로세스에 데이터를 전달한다. 🔎 전송 계층이 없다면 어떻게 될까? - 데이터의 순차적 전송을 원활히 할 수 없다. 송신자의 의도대로 데이터를 전달하지 못할수도 있다. - 흐름 문제(Flow) 송 수신간에 데이터 처리 속도에 차이 때문에 발생한다. 만약 수신자가 처리할 수 있는 데이터량을 초과한다면 데이터가 손실될 수 있다. - 혼잡 문제(Congestion) 네트워크의 데이터 처리 속도로 인해 발생한다. 현재 네트워크가 혼잡할 때 통..
-
[WEB]CORSCS/WEB 2021. 7. 13. 23:51
📝 CORS ✨ 해당 글은 아래 [10분 테코톡]을 듣고 작성했습니다.✨ 📌 SOP란? 🔎 먼저 SOP에 대해 알아보자. - 다른 리소스를 사용하는 것을 제한하는 보안 방식을 말한다. 🔎 O에 해당하는 Origin이 무엇인지 알아보자. - URL은 다음과 같이 이루어져 있다. 이때 URL의 Protocol, Host, Port를 통해 같은 출처인지 확인할 수 있다. 브라우저 입장에서 Host 비교시 String으로 비교를 한다. (localhost와 127.0.0.1은 다른 Host로 판단된다.) 🔎 SOP는 언제 사용할까? - 동일한 출처의 리소스만 허용한다. A출처에서 온 리소스와 B출처에서 온 리소스를 상호작용 하지 못하도록한다. 사용자 모르게 해커가 접근하여 서버로 요청을 보내고, 해당 요청에 대..
-
[DB]TransactionCS/DB 2021. 7. 11. 20:25
📝 Transaction ✨ 해당 글은 아래 [10분 테코톡]을 듣고 작성했습니다.✨ 📌 Transaction 🔎 트랜잭션에 대해 알아보자. - 여러 쿼리를 논리적으로 하나의 작업으로 묶어주는 것이다. - 관련 용어를 알아보자. commit: 트랜잭션으로 묶인 모든 쿼리가 성공하여 트랜잭션 연산 결과를 DB에 반영한다. rollback: 쿼리 실행 결과를 취소하고 DB의 상태를 트랜잭션 이전 상태로 되돌린다. 📌 Transaction의 성질 🔎 트랜잭션의 성질을 알아보자. - 트랜잭션이 안전하게 수행된다는 것을 보장한다. 다음과 같은 성질을 가진다. (ACID 성질) Atomicitiy(원자성): 트랜잭션은 DB에 모두 반영되거나, 전혀 반영되지 않아야 한다. Consistency(일관성): 트랜잭션 작..
-
[OS]Process VS ThreadCS/OS 2021. 7. 10. 19:15
📝 Process VS Thread ✨ 해당 글은 아래 [10분 테코톡]을 듣고 작성했습니다.✨ 🙋♀️ 프로세스와 쓰레드에 대해 알아보기 전에, 먼저 용어를 정리하고 가자. 실행 단위 - cpu core에서 일어나는 하나의 단위. 프로세스와 스레드를 포괄하는 개념이다. (부연 설명이 없는)프로세스 - 하나의 스레드만 가지고 있는 단일 스레드 동시성 - 짧은 전환으로 여러가지 일을 동시에 처리하는 것처럼 보이는 것 📌 Process에 대한 사전 지식 🔎 프로세스가 실행되기 위해선 필요한 자원이 메모리에 올라가 있어야 한다. - 메모리 영역은 Code영역, Data영역, Heap영역, Stack영역으로 나뉜다. Code: 실행 명령을 포함하는 코드 영역 Data: static, grobal 변수 영역 He..
-
Network - Dynamic Routing ProtocolCS/Network 2021. 3. 11. 20:34
Dynamic Routing Protocol Dynamic Route란? 최적의 경로를 결정하며 라우팅 테이블을 지속적으로 관리한다. 라우팅 프로토콜에 의해 이웃 라우터 끼리 정보를 교환하여 최적의 경로를 확인한다. Dynamic Routing Protocol EGP: 다른 그룹간 라우팅 경로를 설정한다. EX) SK - LG 통신 IGP: 같은 그룹 간 라우팅 경로를 설정한다. EX) SK - SK 통신 1. RIPv2 Metric(목적지 까지 걸리는 시간을 계산하는 방법): hop count를 사용한다. 라우터를 지날 때마다 hop count + 1을 해준다. Distance Vector 자신의 최적 경로만 이웃 라우터에 전달하며 전체 토폴로지를 기억하지 않는다. 라우팅 테이블을 주기적으로 업데이트하..
-
자료구조 - 해시테이블CS/자료구조 2021. 3. 8. 20:01
해시테이블 해시테이블 이란? Key, Value의 쌍으로 데이터를 저장하는 자료구조 중 하나로 빠르게 데이터를 검색할 수 있다. 내부적으로 배열을 사용하여 데이터를 저장하고, 각각의 key값에 해시 함수를 적용해 배열의 유일한 인덱스를 생성한다. 이 인덱스를 활용해 값을 저장하거나 검색하게 된다. 해시 함수 저장할 데이터의 key를 고유한 인덱스로 변환하여 해시 테이블에 저장하기 위해 사용되는 함수. 대표적 해시 함수로는 아래 4가지가 있다. Division Method: 입력값을 테이블의 크기로 나누어 계산한다. Digit Fording: key의 문자열을 아스키 코드로 바꾸고 값을 합한 데이터를 주소로 사용한다. Multiplication Method: 특정한 값을 사용해 연산을 하여 주소로 사용한다..
-
Network - RoutingCS/Network 2021. 3. 6. 19:37
Routing 라우팅? 출발지에서 목적지 까지 패킷을 전달하기 위한 모든 경로를 말한다. 다른 네트워크 장비와 통신할 때 반드시 필요하다. 라우팅 하기 위해선 출발지 목적지의 주소, 입출력 인터페이스 상태, 가능성 있는 모든 경로, 최적의 경로(라우팅 테이블)를 알아야 하며 지속적으로 네트워크 상태를 확인하고 유지해야 한다. 라우팅 테이블 라우팅 테이블에 최종 목적지 정보가 있어야 통신이 가능하다. 네트워크에 대한 정보가 들어있다. 직접 연결되지 않은 라우팅 테이블 간에는 별도의 방법으로 학습할 수 있다. 목적지의 정보를 학습하는 방법 1. Static Routing 관리자가 직접 정보를 입력하는 방법이다. 목적지로 가기 위한 이웃 라우터를 관리자가 지정한다. 장점) 리소스 소모량이 적고, 관리자가 원하..