분류 전체보기
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/dLazfs/btsFBI6a6ub/dAzrY0KNkWNFGeGTLHxKIK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
Stream API Java 8에서 소개된 Stream API는 컬렉션, 배열 등의 데이터 소스로부터 데이터를 받아와서 원하는 형태로 가공하거나 필터링할 수 있는 기능을 제공한다. Stream API를 사용하면 데이터 처리 작업을 병렬로 수행할 수 있어서 멀티스레드 환경에서의 성능을 향상시킬 수 있다.또한 데이터 처리 과정을 람다식과 함께 사용하여 한 줄로 간결하게 표현할 수 있어 가독성을 높여준다. https://sjh9708.tistory.com/190 [Java] 람다식(Lambda Expression)과 함수형 프로그래밍람다식(Lambda Expression) 람다식은 함수형 프로그래밍에서 사용되는 개념으로, 간결하고 명확한 방식으로 익명 함수를 표현하는 방법이다. 자바 8부터 도입되었으며, 함수..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bGB75T/btsFA6Gc2dV/8xTcqWKsbokQI6pchks16K/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
람다식(Lambda Expression) 람다식은 함수형 프로그래밍에서 사용되는 개념으로, 간결하고 명확한 방식으로 익명 함수를 표현하는 방법이다. 자바 8부터 도입되었으며, 함수형 인터페이스의 구현을 간단한 방법으로 할 수 있다. 람다식의 기본적인 표현 식은 다음과 같다. () 안에 파라미터들을 선언하고 ->(화살표)로 이은 후 {} 안에 동작 혹은 리턴을 작성한다. (parameter1, parameter2, ...) -> { body } (String s) -> { System.out.println("Hello World") } (int a, int b) -> { return a + b; } 이는 다음의 함수를 표현한 것과 같다. void sayHello(String s){ System.out.pr..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/pIKAp/btsFzfKwnRu/TRxY864gkBRHmFqfVBwo31/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
내부 클래스 내부 클래스(inner class)는 다른 클래스 내부에 선언된 클래스를 의미한다. 내부 클래스는 클래스의 멤버로 간주되며, 속해있는 클래스의 멤버 변수와 메서드에 쉽게 접근할 수 있다. 외부 클래스라는 단어가 나올 텐데 내부 클래스가 속해있는 클래스를 칭하는 단어라고 생각하면 된다. 내부 클래스의 종류에는 크게 네 가지가 있다. 멤버 내부 클래스(Member Inner Class): 외부 클래스의 멤버 변수와 메서드와 동일한 수준에서 선언된 클래스. 외부 클래스의 인스턴스에 종속적이며, 따라서 외부 클래스의 인스턴스가 생성되어야만 사용할 수 있다. 정적 내부 클래스(Static Inner Class): 내부 클래스가 정적으로 선언된 경우이다. 외부 클래스의 인스턴스와 독립적으로 동작하며, ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/y97y9/btsFzcNOyNQ/21IC3k7woa3UQoZthJZ0JK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
Generic Type 제네릭(Generic) 타입은 자바에서 클래스 또는 메서드를 정의할 때, 타입을 파라미터화하는 기능이다. 사용 목적은 다음과 같다. 1. 어떤 값이 하나의 참조 자료형이 아니라 여러개의 참조 자료형을 사용할 수 있도록 프로그래밍 할 수 있다. 2. 참조 자료형이 변환될 때 검증을 컴파일러가 하기 때문에 안정적이다. 우리가 많이 사용하는 컬렉션 프레임워크도 제네릭 타입을 사용하는 대표적인 예시이다. List list = new ArrayList(); 컬렉션은 제네릭 타입을 사용하여 List가 여러가지 타입의 Element를 받을 수 있도록 설정할 수 있어 클래스 사용의 유동성이 매우 높다. 또한 제네릭을 사용하여 List를 선언함으로써 해당 List가 어떤 타입의 요소를 다루는지 명..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/lSJ7s/btsFiqD0fCl/dg0t0ZTYVig26TKnL9DVGk/img.jpg)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
IP 주소 체계의 단점 IPv4 주소 체계는 32비트 주소 공간을 제공하며, 약 43억 개의 주소를 나타낸다. 그러나 인터넷의 확산에 따라서 공용 IPv4 주소의 고갈이 발생했다. 실제로 2015년, ARIN에서 아이피 주소가 고갈되었다고 밝혔다. 또한 IP가 조직별 블록으로 할당되며, 이러한 할당 방식은 종종 각 조직이 필요한 주소보다 더 큰 블록을 할당받게 됨으로써 주소 공간의 낭비를 초래하였다. 이를 극복하기 위해서 IPv6와 NAT이 등장하였다. IPv6 주소 체계는 128비트의 값을 가져 2^128개의 기하급수적인 주소를 할당할 수 있다. 공인 IP와 사설 IP 공인 IP (Public IP) 외부에 공개되어 있는 IP 공인 IP는 전 세계적으로 고유하며 인터넷 상에서 라우터, 서버, 네트워크 ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bvrlWv/btsFaMWShOG/ExsA2vnrXmWuxv5X6ARks0/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
Network Layer 네트워크 계층은 OSI 모델이나 TCP/IP 모델에서 호스트 간 통신을 관리하고 데이터의 경로 설정과 전송을 담당하는 계층이다. 한 호스트에서 다른 호스트로의 라우팅(경로 설정 + 경로 결정)을 담당하면서 최적의 데이터 경로를 설정한다. Packetizing 모든 Layer에서 수행되는 기능. Segment를 받아서 Network layer에서 사용할수 있는 데이터 단위로 바꿔준다.(Encapsulation, Decapsulation) Network Layer는 철저하게 Payload(데이터)를 열어보지 않는다는 철칙이 있다.(편지를 보낼 때 우체국에서 열어보지 않는다) 그러나 특정 경우에는 까봐야 하는 경우도 생길 수 있음. Routing and forwarding Routin..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/0hCdb/btsFfwj2xkJ/AmxhqVICNqcyjdnKL1BTSK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
네트워크 주소 체계 우선 네트워크에서 사용되는 Port, MAC, IP 등 주소의 종류와 주소 형식 체계에 대해서 살펴보자 Port컴퓨터 내에서 특정 프로세스를 식별하는 데 사용 -> 같은 IP 주소 상의 호스트들을 구분TCP/IP 프로토콜에서는 포트 번호를 사용하여 특정 프로세스나 서비스를 식별한다. 예를 들어, 웹 서버는 보통 80번 포트를 사용한다.포트 번호는 랜덤하게 생성되며, 특정 서비스에 대한 예약된 포트 번호를 제외하고 호스트의 프로세스에 할당된다. Physical Addressing (MAC Address)물리적 주소 체계는 네트워크에서 데이터 링크 계층에서 사용되며, 네트워크 인터페이스 카드(NIC)에서 실제로 사용되는 주소이다.MAC(Media Access Control) 주소로 알..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/u6PyJ/btsFetg01rX/0aeAZFPSPFSFRovTADXIAK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
네트워크는 결국 데이터를 전송하기 위한 연결 인프라를 의미한다. 네트워크에서의 데이터를 전송할 때의 주요 개념들에 대해서 살펴보자. 프로토콜 네트워크나 컴퓨터 등에서 데이터를 주고받는 데 사용되는 규칙과 절차의 집합. 예를 들어, 인터넷에서 주로 사용되는 프로토콜 중 하나는 TCP/IP 프로토콜이 있다. 데이터 전송 데이터 전송 시 수신자와 발신자 사이에서는 데이터가 전달되기 위해 Encapsulation과 Decapsulation 과정이 발생한다. 이러한 과정은 OSI 모델의 각 계층에서 수행되며, 데이터가 한 계층에서 다음 계층으로 전달될 때 일어난다. Encapsulation(인캡슐레이션) : 통신 과정에서 데이터에 헤더(주소 등 부가적 데이터)가 추가되며, Data-link layer에서는 트레일..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/ROv3O/btsFaMoUnhO/D3pBpBrLU0wZMSTywneK2K/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
네트워크(Network) 컴퓨터나 다른 장치들이 상호 연결되어 데이터를 주고받을 수 있는 구조. 네트워크는 유선 또는 무선으로 연결된 디바이스들 간에 정보를 교환하고 자원을 공유하는 데 사용된다. LAN(Local Area Network) : 한정된 지역 내에서 사용되는 네트워크, 일반적으로 한 건물 또는 사무실 내에서 사용 WAN(Wide Area Network) : 넓은 지역을 커버하는 네트워크, 지리적으로 분산된 지역을 연결하는 데 사용 ((ex)인터넷) 인터넷 전세계적으로 연결된 많은 네트워크들의 집합체, 이를 통해 사용자들은 정보를 교환하고 통신할 수 있다. ISP(인터넷 서비스 공급업체, ex) KT, SKT, LG..)들의 Network라고 볼 수도 있다. 네트워크의 구성 네트워크의 구성 :..