서비스가 실제로 ‘동작’하고 ‘유지보수’ 가능한 시스템으로 구현되도록, 기술 구조와 개발 로드맵을 설계하는 일1️⃣ 개발기획의 정의와 역할🔍 정의개발기획(Development Planning)은기획된 서비스 요구사항(요구기능, 정책 등)을 바탕으로실제 구현 가능한 기술 아키텍처, 개발 범위, 일정, 리소스를 설계하고개발팀과 협력하여 기능 구현과 품질 확보를 가능하게 만드는 기술 기획 활동입니다.즉, ‘무엇을 만들 것인가’를 ‘어떻게 만들 것인가’로 전환하는 브릿지 역할입니다.🎯 주요 역할 (Key Roles)영역세부내용📦 요구사항 기술화서비스 기능 명세를 기반으로 개발단에서 필요한 요구사항 도출 (API, DB, 인프라 등)🧱 시스템 설계기술 스택 선정, 시스템 아키텍처 설계, DB 모델링, 인터..
“고객의 문제를 해결하는 동시에, 비즈니스적으로 지속 가능한 서비스를 설계하는 일”1️⃣ 서비스 기획의 정의와 역할🔍 정의서비스 기획(Service Planning)이란,사용자의 니즈(Need)와 페인포인트(Pain Point)를 분석하여,이를 해결하는 서비스 컨셉과 기능을 구조화하고,시장성, 수익성, 기술 구현 가능성을 종합 고려하여제품/서비스의 전반적인 구조를 설계하는 활동입니다.🎯 주요 역할 (Key Roles)영역 세부 역할🧠 고객 중심 사고고객 페르소나 정의, 사용 시나리오 설계, 고객 여정 지도(Journey Map) 작성💡 기획 설계 및 구체화유스케이스(Use Case), 기능 정의서, 정책 설계, 와이어프레임, 화면 플로우💬 커뮤니케이션 & 조율개발/디자인/마케팅/운영 팀과 협업,..
캡처 필터 (Capture Filter) – 패킷을 캡처할 때부터 걸러냅니다.디스플레이 필터 (Display Filter) – 캡처한 이후 화면에 보여줄 패킷을 필터링합니다.🎯 1. 캡처 필터 (Capture Filter)Wireshark 실행 전에 설정합니다. (예: tcp port 80)목적필터 예시설명특정 IPhost 192.168.0.10IP가 192.168.0.10인 트래픽만송신 IPsrc host 192.168.0.10출발지 IP가 192.168.0.10수신 IPdst host 192.168.0.10목적지 IP가 192.168.0.10특정 포트port 80포트 80의 트래픽만TCP만tcpTCP 트래픽만UDP만udpUDP 트래픽만TCP + 특정 포트tcp port 443TCP 443 포트(HT..
✅ BlockingQueue란?java.util.concurrent.BlockingQueue는 생산자-소비자 패턴에 적합한 멀티스레드 안전 큐 인터페이스입니다.쓰레드 간 데이터 전달용 큐로,큐가 **비어 있을 때 take() 호출 시 대기(block)**하고,큐가 **가득 찼을 때 put() 호출 시 대기(block)**합니다.✅ 주요 메서드 특징메서드 설명 동작put(E e)큐가 꽉 차면 블로킹생산자가 데이터를 넣음take()큐가 비어있으면 블로킹소비자가 데이터를 꺼냄offer(E e)큐가 꽉 차면 false 반환비블로킹poll()큐가 비어있으면 null 반환비블로킹✅ 주요 구현체 비교구현체내부 구조특성큐 용량용도ArrayBlockingQueue배열고정 크기고정생산자/소비자 기본형LinkedBlocki..
✅ Java 큐/스택 계열 컬렉션 비교 컬렉션 특징 주요 메서드 시간 복잡도 용도 / 사용 시점Stack후입선출(LIFO) 구조push(), pop(), peek()O(1)계산기, 괄호 검사, DFSQueue (인터페이스)선입선출(FIFO) 구조offer(), poll(), peek()O(1)일반적인 작업 대기열LinkedListQueue, Deque 동시 구현add(), remove(), get() 등O(1) (양 끝 삽입/삭제)큐, 덱 용도로 유연하게 사용 가능ArrayDequeDeque 구현체, 스택/큐 대체 가능addFirst(), addLast(), pollFirst() 등O(1)Stack, Queue 대체로 우수PriorityQueue우선순위 큐 (힙 기반)offer(), poll(), pe..
✅ Java 주요 컬렉션 비교표 컬렉션 특징 주요 메서드 성능 중복 허용 정렬 보장 쓰레드 안전ArrayList배열 기반 리스트. 인덱스 접근이 빠름.get: O(1)add/remove: O(n) (중간에서)허용삽입 순서 유지❌LinkedList이중 연결 리스트 기반. 삽입/삭제 빠름get: O(n)add/remove: O(1) (앞뒤에서)허용삽입 순서 유지❌HashSet해시 기반. 순서 없음. 빠른 검색add/remove/contains: O(1)❌ 중복 불가❌❌LinkedHashSetHashSet + 삽입 순서 유지HashSet과 동일❌✔ 삽입 순서 유지❌TreeSet이진 탐색 트리 기반 (Red-Black Tree)add/remove/contains: O(log n)❌✔ 정렬됨 (자연순/비교기)..

👀 Observer 패턴 (관찰자 패턴)✅ 정의객체의 상태 변화가 있을 때, 그 변화를 관심 있는 다른 객체(옵저버)에게 자동으로 알려주는 디자인 패턴즉, **“어떤 객체를 관찰하고 있다가, 변화가 생기면 알려줘!”**라는 구조를 구현하는 방식입니다.🎯 기본 구성 요소구성요소설명Subject관찰 대상. 상태가 변경되면 옵저버들에게 알림Observer변화를 감지하고 반응하는 객체Notify()Subject가 상태 변화 시 Observer에게 알리는 메서드🧵 구조 Subject (Publisher) ├── observers[] 등록 └── 상태 변경 시 notify() 호출 ↓Observer A (Subscriber)Observer B (Subscriber)📦 예제 – 자바 코드// O..
✅ 1. CRON (크론)📌 정의유닉스/리눅스 계열 운영체제에서 사용되는 시간 기반 작업 스케줄러주기적으로 반복되는 작업을 자동으로 실행하기 위해 사용📌 동작 방식리눅스의 cron daemon이 정해진 시간에 등록된 명령을 실행설정 파일인 **crontab**을 사용하여 작업 등록📌 Cron 표현식 예시* * * * * 명령어│ │ │ │ ││ │ │ │ └── 요일 (0=일요일~6=토요일)│ │ │ └──── 월 (1~12)│ │ └────── 일 (1~31)│ └──────── 시 (0~23)└────────── 분 (0~59)📌 예시# 매일 자정에 스크립트 실행0 0 * * * /home/user/backup.sh# 매 5분마다 실행*/5 * * * * /usr/bin/python3 /h..
Thread, Coroutine, Green Thread는 모두 동시성(Concurrency) 과 병렬성(Parallelism) 을 다루기 위한 실행 단위이지만, 운영 방식과 무게감, 어디서 스케줄링되는지(OS vs 사용자) 에 따라 명확히 구분됩니다.🧵 1. Thread (쓰레드)✅ 정의OS(운영체제)가 관리하는 실행 단위하나의 프로세스 내부에서 여러 개의 작업을 동시에 처리할 수 있게 해줌무거움 (Heavyweight): 생성, 전환, 관리 비용이 큼✅ 특징각각 독립된 스택(stack) 을 가짐OS 수준에서 스케줄링되며, CPU 코어 수만큼 진짜 병렬 실행 가능하지만 context switching(문맥 교환) 비용이 큼✅ 예시Thread t1 = new Thread(() -> { System..
✅ 1xx: 정보 응답 (Informational) 상황 상태코드 의미요청을 받았고 처리 중임100Continue전환 프로토콜 제안 (업그레이드)101Switching Protocols🟢 2xx: 성공 응답 (Success) 상황 상태코드 의미요청 성공, 리소스 있음200OK새 리소스 생성됨 (POST/PUT)201Created요청은 성공했으나 응답 본문 없음204No Content클라이언트가 보낸 헤더 조건 충족206Partial Content (Range 요청에 사용)🟡 3xx: 리디렉션 (Redirection)상황 상태코드 의미 의미리소스가 임시로 다른 URI에 있음302Found (Temporary Redirect)리소스가 영구적으로 이동됨301Moved Permanently캐시된..