개발하는 프로 국밥러
Primitive 타입과 Reference 타입
언어/Java 2023. 8. 18. 14:11

Primitive 타입 흔히 기본형 타입으로 int, float, double, char, boolean 등의 타입이 해당됩니다. 기본형 타입의 변수는 값을 직접 가지고 있으며, 스택(Stack) 메모리에 저장됩니다. 이러한 변수들은 크기가 작기 때문에, 빠른 엑세스와 빠른 메모리 할당을 허용합니다. 예를 들어 int, float, double, char, boolean 은 고정된 크기에 공간을 차지하며, 변수에 값을 할당하면 해당 공간에 값을 직접 저장합니다. 메모리 할당과 해제가 빠르며 오버헤드가 적습니다. Reference 타입 참조 타입으로 객체, 배열 등이 해당됩니다. 참조형 타입의 변수는 해당 데이터의 주소를 저장하고 있으며, 그 주소는 스택(Stack) 영역에 저장되고 있습니다. 참조 타입 ..

equals() 와 hashCode()
언어/Java 2023. 8. 18. 11:20

equals 와 hashCode 는 둘 다 객체의 동등성 비교에 사용되는 메서드입니다. 하지만 두 메서드의 하는 역할과 사용되는 상황에서 차이가 있습니다. equals() equals 메서드는 두개의 객체가 논리적으로 동일한지 확인하는 데 사용됩니다. 즉 두객체의 내용(값)이 동일한지 비교합니다. 따라서 equals 메서드를 오버라이딩하여 객체들의 내용을 비교하는 방법을 정의할 수 있습니다. (대부분의 IDE 에서 equals hashCode 메서드를 오버라이딩 하는 기능을 제공합니다) 예를 들어서, 사용자 정의 클래스에서 equals 를 오버라이딩 할 때는, 보통 객체의 필드들을 비교하여 같은 내용인지를 판단하는 로직을 구현합니다. 해시 함수 hashCode 메서드를 알기 전에 해시 함수에 대한 기본적..

article thumbnail
[IT 엔지니어를 위한 네트워크 입문] Chapter13,14. 네트워크 디자인, 가상화 기술
CS/네트워크 2023. 1. 10. 17:48

고재성, 이상훈님의 책을 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 2계층 / 3계층 네트워크 2계층 네트워크 2계층 네트워크는 이름 그대로 호스트 간 통신이 직접 2계층 통신만으로 이루어지는 네트워크 디자인이다. → 2계층에서 통신을 하려면 호스트들끼리 동일한 네트워크여야 한다. (LAN) → 3계층 장비를 거치지 않고 통신하는 네트워크 만약 하나의 브로드캐스트 도메인이 되고 루프 구조가 생기면 문제가 발생하므로 STP(Spaning Tree Protocol) 를 사용해 문제를 해결한다. STP 사용으로 블록 포인트가 생겨 전체 대역폭을 사용하지 못하는 문제가 생겨난다. → 이 문제 해결을 위해서 논 블로킹(Non-Blocking) 구조를 만들어야 한다. MC-LAG(가상 MAC 주..

article thumbnail
[IT 엔지니어를 위한 네트워크 입문] Chapter12. 로드 밸런서
CS/네트워크 2023. 1. 10. 17:29

고재성, 이상훈님의 책을 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 부하 분산이란? 서비스 규모가 커질 때, 물리, 가상 서버 한 대로는 모든 서비스를 수용할 수 없게 된다. 서비스 가용성을 높이기 위해서 하나의 서비스는 보통 두 대 이상의 서버로 구성하는데, 각 서버 IP 주소가 다르기 때문에, 사용자가 서비스를 호출할 때는 어떤 IP 로 서비스를 요청할 지 결정해야 한다. 이런 문제점 해결을 위해서, L4, L7 스위치라는 로드밸런서를 사용한다. 부하 분산 방법 로드 밸런서는 부하를 다수의 장비에 분산시키기 위해 가상 IP 주소를 갖게 된다. → 이 주소는 가상 IP 주소이므로 VIP(Virtual IP) 라고도 하고, 서비스를 위해 사용 되는 IP 주소이므로 서비스 IP 라고도 ..

article thumbnail
[IT 엔지니어를 위한 네트워크 입문] Chapter11. 이중화 기술
CS/네트워크 2023. 1. 10. 16:41

고재성, 이상훈님의 책을 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 이중화 기술 개요 SPoF(Single Point of Failure) 서비스를 제공하기 위한 인프라의 목적은 적시에 서비스를 출시하기 위해 인프라를 신속히 제공하는 것이다.. → 때문에, 단일 접점 장애가 전체 서비스의 영향을 미치지 않도록 SPoF 를 만들지 않아야 한다. → 인프라를 설계할 때 SPoF 를 최소화 하는 것이 아니라, 아예 만들지를 말아야 한다.. 이중화의 목적 SPoF 가 발생하더라도, 이중화 된 다른 인프라를 통해서 서비스가 지속되도록 해준다. 액티브-스탠바이가 아닌, 액티브-액티브로 구성할 때는, 이중화 된 인프라에서 서비스 요청을 동시에 처리할 수 있기에, 처리 가능 용량이 늘어난다. → 다..

article thumbnail
[IT 엔지니어를 위한 네트워크 입문] Chapter9. 보안
CS/네트워크 2023. 1. 10. 15:58

고재성, 이상훈님의 책을 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 보안의 개념과 정의 정보 보안의 정의 IT 에서 다루는 보안 : 다양한 위협으로부터 보안을 보호하는 것 3대 보안 정의(보안의 필수요소) 기밀성 인가되지 않은 사용자에게 정보를 보지 못하도록 하는 것 무결성 정확하고 완전한 정보 유지에 필요한 모든 작업 누군가 정보를 고의로 회손 했을 때, 그것을 파악해 정보가 전달되거나 유지되지 못하도록 하는 것 가용성(권한!) 정보가 필요할 때 접근을 허락하는 일련의 작업 우리가 유지하는 정보에 대해서 온전한 상태를 유지하는 것이 정보 보안인데, 어떤 이유에서라도 인가 된 사용자가 정보를 사용할 수 없는 상황이라면 정보 보안에 실패한 것. 네트워크 정보 보안 정보를 침해하는 행동을..

article thumbnail
[IT 엔지니어를 위한 네트워크 입문] Chapter7. 통신을 도와주는 네트워크 기술
CS/네트워크 2023. 1. 10. 15:35

고재성, 이상훈님의 책을 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. NAT(Network Address Translation) /PAT(Port Address Translation) NAT : 네트워크 주소(IP) 를 변환하는 기술 1:1 PAT : 네트워크 주소(IP) 를 변환하는 기술 다:1 통신사에서 LTE / 5G 로 연결된 스마트폰은 통신사 장비 어디에선가 NAT 을 수행해 외부와 통신하게 된다. NAT 은 기본적으로 1:1 변환이 기본이지만, IP 고갈 문제를 해결하기 위해서 다:1 변환을 사용하기도 한다.(PAT) PAT 의 공식 명칭은 NAPT(Network Address Port Translation) 이다. NAT/PAT의 용도와 필요성 IPv4 주소 고갈 문제의 솔..

article thumbnail
[IT 엔지니어를 위한 네트워크 입문] Chapter6. 로드 밸런서 / 방화벽 : 4계층 장비(세션 장)
CS/네트워크 2023. 1. 10. 14:59

고재성, 이상훈님의 책을 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 4계층 장비의 특징 4계층 장비는 TCP 와 같은 4계층 헤더에 있는 정보를 이해하고 이 정보를 기반으로 동작한다. → 4계층에 대한 이해 없이 2,3 계층처럼 관리하게 되면 문제가 발생한다. 4계층 장비에서 우선적으로 고려해야 할 요소는 다음과 같다. 세션테이블 세션 장비는 세션 테이블 기반으로 운영된다. 세션 정보를 저장, 확인하는 작업 전반에 대한 이해가 필요하다. 세션 정보는 세션 테이블에 남아 있는 라이프타임이 존재한다. 이 부분에 이해가 필요. → 3계층 라우터의 TTL (홉에서 패킷 생존기간) 을 생각해보자! Symmetric(대칭) 경로 요구 Inbound, Outbound 경로가 일치해야 한다. 정보 ..