Java[Stream]
Stream Java의 Stream은 데이터를 처리하는데 사용되는 연속된 요소의 시퀀스를 나타내는 기능입니다. 이는 컬렉션, 배열, 파일 등과 같은 데이터 소스에서 간편하게 연속된 요소를 처리할 수 있는 방법을 제공합니다. 비유적으로 설명하면, Stream은 마치 택배 박스에서 일일이 물건을 꺼내는 대신에 박스를 열어두고 필요한 조건에 따라 선택하...
Stream Java의 Stream은 데이터를 처리하는데 사용되는 연속된 요소의 시퀀스를 나타내는 기능입니다. 이는 컬렉션, 배열, 파일 등과 같은 데이터 소스에서 간편하게 연속된 요소를 처리할 수 있는 방법을 제공합니다. 비유적으로 설명하면, Stream은 마치 택배 박스에서 일일이 물건을 꺼내는 대신에 박스를 열어두고 필요한 조건에 따라 선택하...
TDD 테스트 주요 개발의 약자입니다. 주로 소프트웨어를 개발하는 방법론 중 하나로, 코드를 작성하기 전에 테스트를 작성하고, 그 테스트를 통과시키는 코드를 작성하는 것을 말합니다. 이를 통해 코드의 품질을 향상 시키고 유지 보수를 용이하게 만들 수 있습니다. TDD를 사용한 예시 코드를 보겠습니다. 예시 코드는 Socket을 기반으로한 테스트 코...
Socket HTTP 통신 일반적인 HTTP 통신은 클라이언트 - 서버 간의 통신을 얘기하는데, HTTP 통신은 클라이언트가 서버로 요청을 보내고, 다시 서버가 클라이언트로 응답을 보내는데 이거를 HTTP 통신이라고 합니다. 또한 이런 특성을 단방향 통신이라고 하는데, 이런 특성 때문에 양방향 통신이 불가능합니다. 클라이언트가 서버로 통신을 하면 지...
Nginx Ingress Controller Nginx Ingress Controller란 Nginx를 사용하여 Ingress기능을 이용하는데 필요한 Ingress Controller를 생성하는 방법입니다. 여기서 Ingress, Ingress Controller가 등장하는데 이를 좀 더 알아보겠습니다. Ingress 예를 들어서 클라이언트가 서비...
Kubernetes 이전에 라즈베리파이와 쿠버네티스에 대해 알아보았습니다. 이번 포스터에서는 클러스터링한 라즈베리파이4에 쿠버네티스를 적용시키는 방법에 대해 알아보겠습니다. 참고로 클러스터링한 라즈베리파이4에 설치해야 하기 때문에 Kubernetes는 일반 버전인 K8s가 아닌 경량화버전인 k3s를 기준으로 설명 드리겠습니다. 라즈베리파이4 Ku...
Kubernetes Kuberntes에 배우기전에 먼저 배포방식에 대해 알아보고 가겠습니다. 배포 방식 Traditional 전통적인 배포 방식은 예전에 쓰이던 방식입니다. 주로 컴퓨터 한대에 하나의 운영체제를 설치하고, 여러가지 프로그램을 구동하는 방식입니다. 쉽게 이야기 하면, 집에있는 데스크톱에 여러가지 프로그램을 설치하여 사용하는 ...
Raspberry_Pi_4 프로젝트를 진행하던 도중, 서버를 AWS로 사용할까, 아니면 직접 서버를 라즈베리파이로 구축할까 고민하던중에 라즈베리파이로 구축하게 되었습니다. 라즈베라 파이4를 선택하게 된 이유는, AWS를 사용할 시, 빠르게 구축이 가능하고 언제 어디서나 사용이 가능하다는 장점이 있지만, 서버 비용이 발생한다는 단점이 존재 하였습니다....
Fetch Join Fetch Join은 명시적 조인, 묵시적 조인과 똑같을 거라 생각할 수 있지만, 페치 조인은 SQL 조인의 종류가 아닙니다. 단지 JPQL에서 성능 최적화를 위해 제공되는 기능일 뿐 입니다. 페치 조인은, 연관된 엔티티나 컬렉션을 SQL 한 번에 함께 조회하는 기능입니다. 예를 들어서, 만약에 회원과 팀이 있다고 생각해봅시다...
JPQL 경로표현식 JPQL에서 경로 표현식은 .을찍어 객체 그래프를 탐색하는 것입니다. 이떄 사용되는 용어는 상태필드, 단일 값 연관 필드, 컬렉션 값 연관 필드가 있는데 이에 대해서 알아보겠습니다. 예제 코드 select m.username -> 상태 필드 from Member m join m.team t -> 단일 값 연관 필드...
JPQL 서브쿼리 서브쿼리는 JPQL 쿼리안에 다른 JPQL 쿼리가 포함한 것을 의미합니다. 이를 통해 복잡합 쿼리를 단순화하거나 특정 조건에 따라 데이터를 필터링 할 수 있습니다. 서브쿼리 예시 SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(e2.salary) FROM Employee e2 W...