개요쿠버네티스를 사용하다가 k3s에서 사용하는 iptables와 firewalld가 iptables를 쓰는 것이 충돌하여 문제가 발생했습니다. 이 과정에서 리눅스 네트워킹 개념이 부족하고, iptables의 개념이 부족하여 찾아보고 공부한 내용을 정리하고자 합니다. IPTABLES 란❓기본 개념iptables는 Linux 커널에 내장된 네트워크 패킷 필터링 시스템(netfilter)을 제어하는 사용자 공간 도구입니다.즉, 실제 패킷 처리(차단, 허용 등)는 커널에서 수행하고, iptables는 그 규칙을 설정하거나 제어하는 사용자 공간 프로그램입니다.네트워크 패킷 필터링 시스템이란 ❓ Netfilter는 리눅스 커널 내부에 포함된 네트워크 패킷 처리 프레임워크입니다. 즉, 리눅스 커널 안에서 네트워크 패..
전체 글
좋은 성과를 얻으려면 한 걸음 한 걸음이 힘차고 충실하지 않으면 안 된다. -단테개요Spring 기반의 프로젝트를 살펴보면, Service와 ServiceImpl로 나누어진 구조를 자주 접하게 됩니다. 그런데 저는 개인 프로젝트나 팀 프로젝트를 진행할 때에는 별도로 ServiceImpl을 두지 않고 하나의 Service 클래스에서 비즈니스 로직을 구현하곤 했습니다. 하지만 실제 업무에서 코드를 분석하다 보니, 많은 프로젝트들이 Service와 ServiceImpl을 분리하는 방식을 택하고 있었습니다. 이 글에서는 왜 Service와 ServiceImpl을 분리하는지, 이러한 구조를 채택한 이유에 대해서 정리하고자 합니다. 분리하는 이유는❓1. 유지보수성Service는 인터페이스로 정의하고, ServiceImpl에서 실제 구현을 담당하는 방식은 결합도를 낮추고 변경에 유연하게 대응할..
개요Spring boot를 사용한 백엔드 개발을 하다보면 자연스럽게 JSON데이터를 객체로 매핑해야하는 경우가 있습니다. 이러한 Java 객체와 JSON 간의 변환 작업, 즉 '직렬화(Serialization)'와 '역직렬화(Deserialization)'는 매우 중요한 과정인데, 본 글에서는 이 과정을 효율적으로 처리하기 위한 강력한 도구인 ObjectMapper에 대해서 정리하고자 합니다. 직렬화 & 역직렬화란❓직렬화(Serialization) 직렬화는 객체의 상태를 바이트 스트림이나 다른 형식(JSON, XML 등)으로 변환하는 과정입니다. 이 과정을 통해 메모리에 존재하는 객체를 외부에서 사용할 수 있는 형태로 변환합니다. 주요 목적:네트워크를 통한 데이터 전송파일 시스템에 데이터 저장다른 시..