[{"id":0,"title":"상태 머신 기반 Agent 파이프라인 코어 로직 구현","path":"AI/agent_state/README.md","url":"/estudy/AI/agent_state/README.html","section":"AI","choseong":"ㅅㅌ ㅁㅅ ㄱㅂ Agent ㅍㅇㅍㄹㅇ ㅋㅇ ㄹㅈ ㄱㅎ","size":66,"degree":1},{"id":1,"title":"LangGraph 기반 Agent DAG","path":"AI/agent_state/st1.md","url":"/estudy/AI/agent_state/st1.html","section":"AI","choseong":"LangGraph ㄱㅂ Agent DAG","size":13086,"degree":2},{"id":2,"title":"Stateless 프로토콜에서 Agent 문맥 식별 라우터","path":"AI/agent_state/st2.md","url":"/estudy/AI/agent_state/st2.html","section":"AI","choseong":"Stateless ㅍㄹㅌㅋㅇㅅ Agent ㅁㅁ ㅅㅂ ㄹㅇㅌ","size":13660,"degree":3},{"id":3,"title":"Checkpointing 적용","path":"AI/agent_state/st3.md","url":"/estudy/AI/agent_state/st3.html","section":"AI","choseong":"Checkpointing ㅈㅇ","size":10305,"degree":3},{"id":4,"title":"Self-Attention, Multi-Head Attention","path":"AI/attention.md","url":"/estudy/AI/attention.html","section":"AI","choseong":"Self-Attention, Multi-Head Attention","size":5046,"degree":3},{"id":5,"title":"BERT, GPT","path":"AI/bert.md","url":"/estudy/AI/bert.html","section":"AI","choseong":"BERT, GPT","size":5952,"degree":2},{"id":6,"title":"Metric Learning & CLIP","path":"AI/clip.md","url":"/estudy/AI/clip.html","section":"AI","choseong":"Metric Learning & CLIP","size":20398,"degree":2},{"id":7,"title":"CNN(Convolution Neural Network) 기반 특징 추출","path":"AI/cnn.md","url":"/estudy/AI/cnn.html","section":"AI","choseong":"CNN(Convolution Neural Network) ㄱㅂ ㅌㅈ ㅊㅊ","size":7772,"degree":2},{"id":8,"title":"CUDA","path":"AI/cuda.md","url":"/estudy/AI/cuda.html","section":"AI","choseong":"CUDA","size":4480,"degree":3},{"id":9,"title":"DeepSeek V4.1 flash 고고학","path":"AI/deepseek41.md","url":"/estudy/AI/deepseek41.html","section":"AI","choseong":"DeepSeek V4.1 flash ㄱㄱㅎ","size":27498,"degree":2},{"id":10,"title":"Preference Optimization: DPO 계열","path":"AI/dpo.md","url":"/estudy/AI/dpo.html","section":"AI","choseong":"Preference Optimization: DPO ㄱㅇ","size":7845,"degree":2},{"id":11,"title":"Positional Encoding, Encoder-Decoder","path":"AI/ende.md","url":"/estudy/AI/ende.html","section":"AI","choseong":"Positional Encoding, Encoder-Decoder","size":5498,"degree":2},{"id":12,"title":"Elasticsearch Indexing & Vector Search","path":"AI/esiv.md","url":"/estudy/AI/esiv.html","section":"AI","choseong":"Elasticsearch Indexing & Vector Search","size":9868,"degree":2},{"id":13,"title":"이미지 특징점 추출 Feature Extraction","path":"AI/feature_extraction.md","url":"/estudy/AI/feature_extraction.html","section":"AI","choseong":"ㅇㅁㅈ ㅌㅈㅈ ㅊㅊ Feature Extraction","size":7213,"degree":2},{"id":14,"title":"GPU 아키텍처","path":"AI/gpu.md","url":"/estudy/AI/gpu.html","section":"AI","choseong":"GPU ㅇㅋㅌㅊ","size":3007,"degree":3},{"id":15,"title":"Hermes Agent, Agent Memory Layer","path":"AI/hermes_memory.md","url":"/estudy/AI/hermes_memory.html","section":"AI","choseong":"Hermes Agent, Agent Memory Layer","size":25009,"degree":2},{"id":16,"title":"근사 검색 알고리즘, HNSW (ANN & FAISS)","path":"AI/hnsw.md","url":"/estudy/AI/hnsw.html","section":"AI","choseong":"ㄱㅅ ㄱㅅ ㅇㄱㄹㅈ, HNSW (ANN & FAISS)","size":10218,"degree":2},{"id":17,"title":"하이퍼 파라미터","path":"AI/hparam.md","url":"/estudy/AI/hparam.html","section":"AI","choseong":"ㅎㅇㅍ ㅍㄹㅁㅌ","size":1336,"degree":2},{"id":18,"title":"Elasticsearch 8.x Native Vector Search와 하이브리드 아키텍처","path":"AI/hybridsearch.md","url":"/estudy/AI/hybridsearch.html","section":"AI","choseong":"Elasticsearch 8.x Native Vector Searchㅇ ㅎㅇㅂㄹㄷ ㅇㅋㅌㅊ","size":11250,"degree":2},{"id":19,"title":"검색 시스템 정량적 평가 지표 (IR Metrics & Evaluation)","path":"AI/irmetric.md","url":"/estudy/AI/irmetric.html","section":"AI","choseong":"ㄱㅅ ㅅㅅㅌ ㅈㄹㅈ ㅍㄱ ㅈㅍ (IR Metrics & Evaluation)","size":23694,"degree":2},{"id":20,"title":"LLM Architecture & Inference Mechanics","path":"AI/llm.md","url":"/estudy/AI/llm.html","section":"AI","choseong":"LLM Architecture & Inference Mechanics","size":4415,"degree":2},{"id":21,"title":"LLM Gateway 및 멀티 테넌트 환경 아키텍처 구현","path":"AI/llm_gateway/README.md","url":"/estudy/AI/llm_gateway/README.html","section":"AI","choseong":"LLM Gateway ㅁ ㅁㅌ ㅌㄴㅌ ㅎㄱ ㅇㅋㅌㅊ ㄱㅎ","size":1054,"degree":1},{"id":22,"title":"LiteLLM 프록시 서버 구성","path":"AI/llm_gateway/lg1.md","url":"/estudy/AI/llm_gateway/lg1.html","section":"AI","choseong":"LiteLLM ㅍㄹㅅ ㅅㅂ ㄱㅅ","size":10140,"degree":2},{"id":23,"title":"테넌트별 요청 분리 권한 인가 미들웨어 개발","path":"AI/llm_gateway/lg2.md","url":"/estudy/AI/llm_gateway/lg2.html","section":"AI","choseong":"ㅌㄴㅌㅂ ㅇㅊ ㅂㄹ ㄱㅎ ㅇㄱ ㅁㄷㅇㅇ ㄱㅂ","size":11029,"degree":2},{"id":24,"title":"Token Bucket 기반 Rate Limiting","path":"AI/llm_gateway/lg3.md","url":"/estudy/AI/llm_gateway/lg3.html","section":"AI","choseong":"Token Bucket ㄱㅂ Rate Limiting","size":9410,"degree":2},{"id":25,"title":"Noisy Neigbor 차단 로직 구현","path":"AI/llm_gateway/lg4.md","url":"/estudy/AI/llm_gateway/lg4.html","section":"AI","choseong":"Noisy Neigbor ㅊㄷ ㄹㅈ ㄱㅎ","size":10106,"degree":2},{"id":26,"title":"지연 없이 프롬프트 토큰 사용량을 로깅하는 관측성 파이프라인","path":"AI/llm_gateway/lg5.md","url":"/estudy/AI/llm_gateway/lg5.html","section":"AI","choseong":"ㅈㅇ ㅇㅇ ㅍㄹㅍㅌ ㅌㅋ ㅅㅇㄹㅇ ㄹㄱㅎㄴ ㄱㅊㅅ ㅍㅇㅍㄹㅇ","size":14379,"degree":2},{"id":27,"title":"LLM API 응답 가공","path":"AI/llm_gateway/lg6.md","url":"/estudy/AI/llm_gateway/lg6.html","section":"AI","choseong":"LLM API ㅇㄷ ㄱㄱ","size":11922,"degree":2},{"id":28,"title":"LLM 추론 서빙 엔진 SGLang 완전 정복","path":"AI/llm_serving_opt.md","url":"/estudy/AI/llm_serving_opt.html","section":"AI","choseong":"LLM ㅊㄹ ㅅㅂ ㅇㅈ SGLang ㅇㅈ ㅈㅂ","size":110260,"degree":2},{"id":29,"title":"LLM 에이전트 아키텍처","path":"AI/llmagent.md","url":"/estudy/AI/llmagent.html","section":"AI","choseong":"LLM ㅇㅇㅈㅌ ㅇㅋㅌㅊ","size":5489,"degree":2},{"id":30,"title":"README","path":"AI/llmagent/README.md","url":"/estudy/AI/llmagent/README.html","section":"AI","choseong":"README","size":261,"degree":1},{"id":31,"title":"RAG 및 Agent 서빙 파이프라인","path":"AI/llmagent/agent_serving.md","url":"/estudy/AI/llmagent/agent_serving.html","section":"AI","choseong":"RAG ㅁ Agent ㅅㅂ ㅍㅇㅍㄹㅇ","size":10728,"degree":2},{"id":32,"title":"AI Agent 도구화(Tooling) 및 동적 프롬프트·컨텍스트 관리 플랫폼","path":"AI/llmagent/ai_tooling.md","url":"/estudy/AI/llmagent/ai_tooling.html","section":"AI","choseong":"AI Agent ㄷㄱㅎ(Tooling) ㅁ ㄷㅈ ㅍㄹㅍㅌ·ㅋㅌㅅㅌ ㄱㄹ ㅍㄹㅍ","size":10662,"degree":2},{"id":33,"title":"LLM/Agent 정량적 Evaluation 시스템","path":"AI/llmagent/evaluation.md","url":"/estudy/AI/llmagent/evaluation.html","section":"AI","choseong":"LLM/Agent ㅈㄹㅈ Evaluation ㅅㅅㅌ","size":8313,"degree":2},{"id":34,"title":"멀티 테넌트(Multi-tenant) LLM 플랫폼 환경과 자원 격리","path":"AI/llmagent/multitenant.md","url":"/estudy/AI/llmagent/multitenant.html","section":"AI","choseong":"ㅁㅌ ㅌㄴㅌ(Multi-tenant) LLM ㅍㄹㅍ ㅎㄱㄱ ㅈㅇ ㄱㄹ","size":8615,"degree":2},{"id":35,"title":"모듈형 RAG 파이프라인 및 통합 인터페이스 설계","path":"AI/llmagent/rag_pipeline.md","url":"/estudy/AI/llmagent/rag_pipeline.html","section":"AI","choseong":"ㅁㄷㅎ RAG ㅍㅇㅍㄹㅇ ㅁ ㅌㅎ ㅇㅌㅍㅇㅅ ㅅㄱ","size":9136,"degree":2},{"id":36,"title":"LLM Gateway와 다중 모델(SaaS & Self-hosted) 통합 라우팅","path":"AI/llmagent/routing.md","url":"/estudy/AI/llmagent/routing.html","section":"AI","choseong":"LLM Gatewayㅇ ㄷㅈ ㅁㄷ(SaaS & Self-hosted) ㅌㅎ ㄹㅇㅌ","size":6478,"degree":2},{"id":37,"title":"LLM Model Tuning Engineer Study","path":"AI/llmtun/README.md","url":"/estudy/AI/llmtun/README.html","section":"AI","choseong":"LLM Model Tuning Engineer Study","size":284,"degree":3},{"id":38,"title":"Pretraining Data와 SFT Data 구분","path":"AI/llmtun/data.md","url":"/estudy/AI/llmtun/data.html","section":"AI","choseong":"Pretraining Dataㅇ SFT Data ㄱㅂ","size":13527,"degree":2},{"id":39,"title":"Pretraining Objective와 Loss 이해","path":"AI/llmtun/loss.md","url":"/estudy/AI/llmtun/loss.html","section":"AI","choseong":"Pretraining Objectiveㅇ Loss ㅇㅎ","size":11021,"degree":2},{"id":40,"title":"Base Model, Instruct Model, Chat Model","path":"AI/llmtun/model.md","url":"/estudy/AI/llmtun/model.html","section":"AI","choseong":"Base Model, Instruct Model, Chat Model","size":13917,"degree":2},{"id":41,"title":"Tokenizer와 Context Length","path":"AI/llmtun/token.md","url":"/estudy/AI/llmtun/token.html","section":"AI","choseong":"Tokenizerㅇ Context Length","size":11572,"degree":2},{"id":42,"title":"Transformer와 Causal LM 구조 이해","path":"AI/llmtun/transformer.md","url":"/estudy/AI/llmtun/transformer.html","section":"AI","choseong":"Transformerㅇ Causal LM ㄱㅈ ㅇㅎ","size":16799,"degree":3},{"id":43,"title":"Continual Pretraining과 Fine-tuning 차이","path":"AI/llmtun/tuning.md","url":"/estudy/AI/llmtun/tuning.html","section":"AI","choseong":"Continual Pretrainingㄱ Fine-tuning ㅊㅇ","size":14403,"degree":2},{"id":44,"title":"Long-Term Memory Reserach","path":"AI/longterm.md","url":"/estudy/AI/longterm.html","section":"AI","choseong":"Long-Term Memory Reserach","size":13205,"degree":2},{"id":45,"title":"로지스틱 회귀분석 이론","path":"AI/lr.md","url":"/estudy/AI/lr.html","section":"AI","choseong":"ㄹㅈㅅㅌ ㅎㄱㅂㅅ ㅇㄹ","size":4952,"degree":2},{"id":46,"title":"LSH(Locality-Sensitive Hashing)","path":"AI/lsh.md","url":"/estudy/AI/lsh.html","section":"AI","choseong":"LSH(Locality-Sensitive Hashing)","size":9755,"degree":2},{"id":47,"title":"회귀 모델 성능 평가 지표","path":"AI/mae.md","url":"/estudy/AI/mae.html","section":"AI","choseong":"ㅎㄱ ㅁㄷ ㅅㄴ ㅍㄱ ㅈㅍ","size":3617,"degree":2},{"id":48,"title":"AI 모델 경량화 및 추론 가속 ONNX & TensorRT","path":"AI/modelx.md","url":"/estudy/AI/modelx.html","section":"AI","choseong":"AI ㅁㄷ ㄱㄹㅎ ㅁ ㅊㄹ ㄱㅅ ONNX & TensorRT","size":11944,"degree":2},{"id":49,"title":"객체 탐지 (Object Detection)","path":"AI/object_detection.md","url":"/estudy/AI/object_detection.html","section":"AI","choseong":"ㄱㅊ ㅌㅈ (Object Detection)","size":5890,"degree":2},{"id":50,"title":"연산자 융합, 양자화","path":"AI/of.md","url":"/estudy/AI/of.html","section":"AI","choseong":"ㅇㅅㅈ ㅇㅎ, ㅇㅈㅎ","size":2845,"degree":2},{"id":51,"title":"One-Hot Encoding, 다중공선성","path":"AI/onehot.md","url":"/estudy/AI/onehot.html","section":"AI","choseong":"One-Hot Encoding, ㄷㅈㄱㅅㅅ","size":3477,"degree":2},{"id":52,"title":"On-policy SFT와 Rejection Sampling Fine-Tuning","path":"AI/onsft.md","url":"/estudy/AI/onsft.html","section":"AI","choseong":"On-policy SFTㅇ Rejection Sampling Fine-Tuning","size":5353,"degree":2},{"id":53,"title":"Off-policy Distillation과 Teacher-Student 학습","path":"AI/opd.md","url":"/estudy/AI/opd.html","section":"AI","choseong":"Off-policy Distillationㄱ Teacher-Student ㅎㅅ","size":9761,"degree":2},{"id":54,"title":"OpenWeight Model(Kimi, GLM, Qwen, DeepSeek) 고고학","path":"AI/openweight.md","url":"/estudy/AI/openweight.html","section":"AI","choseong":"OpenWeight Model(Kimi, GLM, Qwen, DeepSeek) ㄱㄱㅎ","size":49769,"degree":6},{"id":55,"title":"대용량 트래픽 대응 AI 서빙 인프라 구현 및 최적화","path":"AI/optimize_runtime/README.md","url":"/estudy/AI/optimize_runtime/README.html","section":"AI","choseong":"ㄷㅇㄹ ㅌㄹㅍ ㄷㅇ AI ㅅㅂ ㅇㅍㄹ ㄱㅎ ㅁ ㅊㅈㅎ","size":912,"degree":1},{"id":56,"title":"모델 경량화 및 추론 지연 시간 최적화 파이프라인","path":"AI/optimize_runtime/opti1.md","url":"/estudy/AI/optimize_runtime/opti1.html","section":"AI","choseong":"ㅁㄷ ㄱㄹㅎ ㅁ ㅊㄹ ㅈㅇ ㅅㄱ ㅊㅈㅎ ㅍㅇㅍㄹㅇ","size":8808,"degree":2},{"id":57,"title":"Triton Inference Server config.pbtxt 튜닝","path":"AI/optimize_runtime/opti2.md","url":"/estudy/AI/optimize_runtime/opti2.html","section":"AI","choseong":"Triton Inference Server config.pbtxt ㅌㄴ","size":8198,"degree":2},{"id":58,"title":"vLLM 엔진 PagedAttention 기반 메모리 최적화","path":"AI/optimize_runtime/opti3.md","url":"/estudy/AI/optimize_runtime/opti3.html","section":"AI","choseong":"vLLM ㅇㅈ PagedAttention ㄱㅂ ㅁㅁㄹ ㅊㅈㅎ","size":10341,"degree":2},{"id":59,"title":"코어 추론 엔진과 통신하는 고성능 비동기 API 레이어 구현","path":"AI/optimize_runtime/opti4.md","url":"/estudy/AI/optimize_runtime/opti4.html","section":"AI","choseong":"ㅋㅇ ㅊㄹ ㅇㅈㄱ ㅌㅅㅎㄴ ㄱㅅㄴ ㅂㄷㄱ API ㄹㅇㅇ ㄱㅎ","size":8933,"degree":2},{"id":60,"title":"Continuous Batching 알고리즘","path":"AI/optimize_runtime/opti5.md","url":"/estudy/AI/optimize_runtime/opti5.html","section":"AI","choseong":"Continuous Batching ㅇㄱㄹㅈ","size":10257,"degree":2},{"id":61,"title":"Nesight Systems, PyTorch Profiler VRAM 메모리 병목 프로파일링","path":"AI/optimize_runtime/opti6.md","url":"/estudy/AI/optimize_runtime/opti6.html","section":"AI","choseong":"Nesight Systems, PyTorch Profiler VRAM ㅁㅁㄹ ㅂㅁ ㅍㄹㅍㅇㄹ","size":17214,"degree":2},{"id":62,"title":"ORB(Oriented FAST and Rotated BRIEF)","path":"AI/orb.md","url":"/estudy/AI/orb.html","section":"AI","choseong":"ORB(Oriented FAST and Rotated BRIEF)","size":13019,"degree":2},{"id":63,"title":"과대적합, 과소적합","path":"AI/overfit.md","url":"/estudy/AI/overfit.html","section":"AI","choseong":"ㄱㄷㅈㅎ, ㄱㅅㅈㅎ","size":3897,"degree":2},{"id":64,"title":"DeepSeek","path":"AI/ow/deepseek.md","url":"/estudy/AI/ow/deepseek.html","section":"AI","choseong":"DeepSeek","size":6267,"degree":3},{"id":65,"title":"GLM","path":"AI/ow/glm.md","url":"/estudy/AI/ow/glm.html","section":"AI","choseong":"GLM","size":7295,"degree":3},{"id":66,"title":"Kimi","path":"AI/ow/kimi.md","url":"/estudy/AI/ow/kimi.html","section":"AI","choseong":"Kimi","size":7308,"degree":3},{"id":67,"title":"Kimi 모델 분석","path":"AI/ow/kimi_deepdive.md","url":"/estudy/AI/ow/kimi_deepdive.html","section":"AI","choseong":"Kimi ㅁㄷ ㅂㅅ","size":71494,"degree":2},{"id":68,"title":"Qwen","path":"AI/ow/qwen.md","url":"/estudy/AI/ow/qwen.html","section":"AI","choseong":"Qwen","size":5657,"degree":3},{"id":69,"title":"QWEN 모델 분석","path":"AI/ow/qwen_deepdive.md","url":"/estudy/AI/ow/qwen_deepdive.html","section":"AI","choseong":"QWEN ㅁㄷ ㅂㅅ","size":59763,"degree":2},{"id":70,"title":"신경망 Perception","path":"AI/perception.md","url":"/estudy/AI/perception.html","section":"AI","choseong":"ㅅㄱㅁ Perception","size":2956,"degree":2},{"id":71,"title":"Policy Distribution과 On-policy / Off-policy 이론","path":"AI/policydis.md","url":"/estudy/AI/policydis.html","section":"AI","choseong":"Policy Distributionㄱ On-policy / Off-policy ㅇㄹ","size":11518,"degree":2},{"id":72,"title":"RAG 고도화 전략","path":"AI/rag.md","url":"/estudy/AI/rag.html","section":"AI","choseong":"RAG ㄱㄷㅎ ㅈㄹ","size":3995,"degree":2},{"id":73,"title":"Online RL: PPO, GRPO, RLVR","path":"AI/rl.md","url":"/estudy/AI/rl.html","section":"AI","choseong":"Online RL: PPO, GRPO, RLVR","size":13754,"degree":2},{"id":74,"title":"RNN에서 어텐션까지의 발전 과정","path":"AI/rnn.md","url":"/estudy/AI/rnn.html","section":"AI","choseong":"RNNㅇㅅ ㅇㅌㅅㄲㅈㅇ ㅂㅈ ㄱㅈ","size":4230,"degree":3},{"id":75,"title":"훈련 세트 스케일 문제","path":"AI/scale.md","url":"/estudy/AI/scale.html","section":"AI","choseong":"ㅎㄹ ㅅㅌ ㅅㅋㅇ ㅁㅈ","size":4439,"degree":2},{"id":76,"title":"Self-Distillation과 Iterative Self-Improvement","path":"AI/sd.md","url":"/estudy/AI/sd.html","section":"AI","choseong":"Self-Distillationㄱ Iterative Self-Improvement","size":11373,"degree":2},{"id":77,"title":"AI 서빙 아키텍처 (Triton Inference Server & Dynamic Batching)","path":"AI/serving.md","url":"/estudy/AI/serving.html","section":"AI","choseong":"AI ㅅㅂ ㅇㅋㅌㅊ (Triton Inference Server & Dynamic Batching)","size":9069,"degree":2},{"id":78,"title":"SFT와 Policy Learning","path":"AI/sft.md","url":"/estudy/AI/sft.html","section":"AI","choseong":"SFTㅇ Policy Learning","size":8553,"degree":2},{"id":79,"title":"SIFT, SURF","path":"AI/sift.md","url":"/estudy/AI/sift.html","section":"AI","choseong":"SIFT, SURF","size":16002,"degree":2},{"id":80,"title":"sklearn","path":"AI/sklearn.md","url":"/estudy/AI/sklearn.html","section":"AI","choseong":"sklearn","size":3799,"degree":2},{"id":81,"title":"서포트 벡터 머신","path":"AI/svm.md","url":"/estudy/AI/svm.html","section":"AI","choseong":"ㅅㅍㅌ ㅂㅌ ㅁㅅ","size":5354,"degree":2},{"id":82,"title":"Tensor","path":"AI/tensor.md","url":"/estudy/AI/tensor.html","section":"AI","choseong":"Tensor","size":2523,"degree":2},{"id":83,"title":"TensorRT","path":"AI/tensorrt.md","url":"/estudy/AI/tensorrt.html","section":"AI","choseong":"TensorRT","size":10230,"degree":2},{"id":84,"title":"Triton Inference Server","path":"AI/triton.md","url":"/estudy/AI/triton.html","section":"AI","choseong":"Triton Inference Server","size":12265,"degree":2},{"id":85,"title":"vLLM","path":"AI/vllm.md","url":"/estudy/AI/vllm.html","section":"AI","choseong":"vLLM","size":12081,"degree":2},{"id":86,"title":"가중치, 편향 cc.선형회귀","path":"AI/wb.md","url":"/estudy/AI/wb.html","section":"AI","choseong":"ㄱㅈㅊ, ㅍㅎ cc.ㅅㅎㅎㄱ","size":1750,"degree":2},{"id":87,"title":"벨만 포드 알고리즘","path":"Algorithm/bellman_ford.md","url":"/estudy/Algorithm/bellman_ford.html","section":"Algorithm","choseong":"ㅂㅁ ㅍㄷ ㅇㄱㄹㅈ","size":3123,"degree":2},{"id":88,"title":"너비 우선 탐색(BFS)","path":"Algorithm/bfs.md","url":"/estudy/Algorithm/bfs.html","section":"Algorithm","choseong":"ㄴㅂ ㅇㅅ ㅌㅅ(BFS)","size":4062,"degree":2},{"id":89,"title":"깊이 우선 탐색(DFS)","path":"Algorithm/dfs.md","url":"/estudy/Algorithm/dfs.html","section":"Algorithm","choseong":"ㄱㅇ ㅇㅅ ㅌㅅ(DFS)","size":2867,"degree":2},{"id":90,"title":"다익스트라 알고리즘","path":"Algorithm/dijkstra.md","url":"/estudy/Algorithm/dijkstra.html","section":"Algorithm","choseong":"ㄷㅇㅅㅌㄹ ㅇㄱㄹㅈ","size":1051,"degree":2},{"id":91,"title":"플로이드 와샬 알고리즘","path":"Algorithm/floyd_warshall.md","url":"/estudy/Algorithm/floyd_warshall.html","section":"Algorithm","choseong":"ㅍㄹㅇㄷ ㅇㅅ ㅇㄱㄹㅈ","size":1672,"degree":2},{"id":92,"title":"그리디 알고리즘","path":"Algorithm/greedy.md","url":"/estudy/Algorithm/greedy.html","section":"Algorithm","choseong":"ㄱㄹㄷ ㅇㄱㄹㅈ","size":3240,"degree":2},{"id":93,"title":"프림 알고리즘","path":"Algorithm/prim.md","url":"/estudy/Algorithm/prim.html","section":"Algorithm","choseong":"ㅍㄹ ㅇㄱㄹㅈ","size":4015,"degree":2},{"id":94,"title":"3-way / 4-way Handshake","path":"Back-End/Internet/3handshake.md","url":"/estudy/Back-End/Internet/3handshake.html","section":"Back-End","choseong":"3-way / 4-way Handshake","size":3582,"degree":2},{"id":95,"title":"웹 캐시 Web Cache","path":"Back-End/Internet/cache.md","url":"/estudy/Back-End/Internet/cache.html","section":"Back-End","choseong":"ㅇ ㅋㅅ Web Cache","size":3470,"degree":2},{"id":96,"title":"캐시 검증 헤더, Last-Modified, If-Modified-Since","path":"Back-End/Internet/cache_header.md","url":"/estudy/Back-End/Internet/cache_header.html","section":"Back-End","choseong":"ㅋㅅ ㄱㅈ ㅎㄷ, Last-Modified, If-Modified-Since","size":2712,"degree":2},{"id":97,"title":"CDN(Content Delivery Networks)","path":"Back-End/Internet/cdn.md","url":"/estudy/Back-End/Internet/cdn.html","section":"Back-End","choseong":"CDN(Content Delivery Networks)","size":328,"degree":2},{"id":98,"title":"DNS 동작 원리","path":"Back-End/Internet/dns.md","url":"/estudy/Back-End/Internet/dns.html","section":"Back-End","choseong":"DNS ㄷㅈ ㅇㄹ","size":1603,"degree":2},{"id":99,"title":"도메인 네임","path":"Back-End/Internet/domain.md","url":"/estudy/Back-End/Internet/domain.html","section":"Back-End","choseong":"ㄷㅁㅇ ㄴㅇ","size":922,"degree":2},{"id":100,"title":"캐시 검증 헤더 ETag, If-None-Match","path":"Back-End/Internet/etag.md","url":"/estudy/Back-End/Internet/etag.html","section":"Back-End","choseong":"ㅋㅅ ㄱㅈ ㅎㄷ ETag, If-None-Match","size":1414,"degree":2},{"id":101,"title":"호스팅","path":"Back-End/Internet/host.md","url":"/estudy/Back-End/Internet/host.html","section":"Back-End","choseong":"ㅎㅅㅌ","size":2820,"degree":2},{"id":102,"title":"HTTP","path":"Back-End/Internet/http.md","url":"/estudy/Back-End/Internet/http.html","section":"Back-End","choseong":"HTTP","size":3722,"degree":2},{"id":103,"title":"인바운드 (Inbound), 아웃 바운드 (Outbound)","path":"Back-End/Internet/inoutbound.md","url":"/estudy/Back-End/Internet/inoutbound.html","section":"Back-End","choseong":"ㅇㅂㅇㄷ (Inbound), ㅇㅇ ㅂㅇㄷ (Outbound)","size":770,"degree":2},{"id":104,"title":"인터넷 작동 원리","path":"Back-End/Internet/internet.md","url":"/estudy/Back-End/Internet/internet.html","section":"Back-End","choseong":"ㅇㅌㄴ ㅈㄷ ㅇㄹ","size":3674,"degree":2},{"id":105,"title":"IP/IP Packet, 패킷 전달, 한계","path":"Back-End/Internet/ip.md","url":"/estudy/Back-End/Internet/ip.html","section":"Back-End","choseong":"IP/IP Packet, ㅍㅋ ㅈㄷ, ㅎㄱ","size":2490,"degree":2},{"id":106,"title":"L1, L2, L3, L4, L5, L6, L7 스위치","path":"Back-End/Internet/ln.md","url":"/estudy/Back-End/Internet/ln.html","section":"Back-End","choseong":"L1, L2, L3, L4, L5, L6, L7 ㅅㅇㅊ","size":5181,"degree":2},{"id":107,"title":"메시지 큐(Message Queue, MQ) 개념","path":"Back-End/Internet/mq.md","url":"/estudy/Back-End/Internet/mq.html","section":"Back-End","choseong":"ㅁㅅㅈ ㅋ(Message Queue, MQ) ㄱㄴ","size":3662,"degree":2},{"id":108,"title":"OSI 7계층과 TCP/IP 4계층","path":"Back-End/Internet/ositcp.md","url":"/estudy/Back-End/Internet/ositcp.html","section":"Back-End","choseong":"OSI 7ㄱㅊㄱ TCP/IP 4ㄱㅊ","size":1344,"degree":2},{"id":109,"title":"P2P","path":"Back-End/Internet/p2p.md","url":"/estudy/Back-End/Internet/p2p.html","section":"Back-End","choseong":"P2P","size":958,"degree":2},{"id":110,"title":"스위치와 라우터, 스위칭과 라우팅","path":"Back-End/Internet/router_switch.md","url":"/estudy/Back-End/Internet/router_switch.html","section":"Back-End","choseong":"ㅅㅇㅊㅇ ㄹㅇㅌ, ㅅㅇㅊㄱ ㄹㅇㅌ","size":3881,"degree":2},{"id":111,"title":"SSL(Security Socket Layer), TLS(Transfer Layer Security)","path":"Back-End/Internet/ssl_tls.md","url":"/estudy/Back-End/Internet/ssl_tls.html","section":"Back-End","choseong":"SSL(Security Socket Layer), TLS(Transfer Layer Security)","size":3180,"degree":2},{"id":112,"title":"서브넷팅 & 슈퍼넷팅 개념 및 쉬운 계산 방법","path":"Back-End/Internet/subnetsupernet.md","url":"/estudy/Back-End/Internet/subnetsupernet.html","section":"Back-End","choseong":"ㅅㅂㄴㅌ & ㅅㅍㄴㅌ ㄱㄴ ㅁ ㅅㅇ ㄱㅅ ㅂㅂ","size":2690,"degree":2},{"id":113,"title":"TCP/IP Packet, TCP vs UDP","path":"Back-End/Internet/tcppacket.md","url":"/estudy/Back-End/Internet/tcppacket.html","section":"Back-End","choseong":"TCP/IP Packet, TCP vs UDP","size":3357,"degree":2},{"id":114,"title":"아파치 톰캣 (Apache Tomcat)","path":"Back-End/Internet/tomcat.md","url":"/estudy/Back-End/Internet/tomcat.html","section":"Back-End","choseong":"ㅇㅍㅊ ㅌㅋ (Apache Tomcat)","size":2481,"degree":2},{"id":115,"title":"회선교환 방식과 패킷교환 방식","path":"Back-End/Internet/trace.md","url":"/estudy/Back-End/Internet/trace.html","section":"Back-End","choseong":"ㅎㅅㄱㅎ ㅂㅅㄱ ㅍㅋㄱㅎ ㅂㅅ","size":1338,"degree":2},{"id":116,"title":"웹 브라우저의 동작원리","path":"Back-End/Internet/webactive.md","url":"/estudy/Back-End/Internet/webactive.html","section":"Back-End","choseong":"ㅇ ㅂㄹㅇㅈㅇ ㄷㅈㅇㄹ","size":3900,"degree":2},{"id":117,"title":"웹 캐시(프록시 서버)","path":"Back-End/Internet/webcache.md","url":"/estudy/Back-End/Internet/webcache.html","section":"Back-End","choseong":"ㅇ ㅋㅅ(ㅍㄹㅅ ㅅㅂ)","size":413,"degree":2},{"id":118,"title":"네트워크 웹 통신의 흐름","path":"Back-End/Internet/webflow.md","url":"/estudy/Back-End/Internet/webflow.html","section":"Back-End","choseong":"ㄴㅌㅇㅋ ㅇ ㅌㅅㅇ ㅎㄹ","size":2991,"degree":2},{"id":119,"title":"웹소켓(WebSocket), HTTP와의 차이","path":"Back-End/Internet/websocket.md","url":"/estudy/Back-End/Internet/websocket.html","section":"Back-End","choseong":"ㅇㅅㅋ(WebSocket), HTTPㅇㅇ ㅊㅇ","size":2794,"degree":2},{"id":120,"title":"OOP의 4가지 특징","path":"Back-End/JAVA/4특징.md","url":"/estudy/Back-End/JAVA/4특징.html","section":"Back-End","choseong":"OOPㅇ 4ㄱㅈ ㅌㅈ","size":1722,"degree":2},{"id":121,"title":"객체지향 5가지 원칙","path":"Back-End/JAVA/5원칙.md","url":"/estudy/Back-End/JAVA/5원칙.html","section":"Back-End","choseong":"ㄱㅊㅈㅎ 5ㄱㅈ ㅇㅊ","size":5650,"degree":2},{"id":122,"title":"G1GC OpenJDK 8 and 11","path":"Back-End/JAVA/8g1gc.md","url":"/estudy/Back-End/JAVA/8g1gc.html","section":"Back-End","choseong":"G1GC OpenJDK 8 and 11","size":8441,"degree":2},{"id":123,"title":"Java","path":"Back-End/JAVA/JAVA.md","url":"/estudy/Back-End/JAVA/JAVA.html","section":"Back-End","choseong":"Java","size":2566,"degree":3},{"id":124,"title":"StringBuilder 사용법과 주요 메서드","path":"Back-End/JAVA/StringBuilder.md","url":"/estudy/Back-End/JAVA/StringBuilder.html","section":"Back-End","choseong":"StringBuilder ㅅㅇㅂㄱ ㅈㅇ ㅁㅅㄷ","size":3531,"degree":2},{"id":125,"title":"추상 메서드와 추상 클래스","path":"Back-End/JAVA/abstract.md","url":"/estudy/Back-End/JAVA/abstract.html","section":"Back-End","choseong":"ㅊㅅ ㅁㅅㄷㅇ ㅊㅅ ㅋㄹㅅ","size":2672,"degree":2},{"id":126,"title":"Java AIO","path":"Back-End/JAVA/aio.md","url":"/estudy/Back-End/JAVA/aio.html","section":"Back-End","choseong":"Java AIO","size":1721,"degree":2},{"id":127,"title":"Bias Locking, Revocation","path":"Back-End/JAVA/biaslock.md","url":"/estudy/Back-End/JAVA/biaslock.html","section":"Back-End","choseong":"Bias Locking, Revocation","size":3655,"degree":2},{"id":128,"title":"Java Callable, Future","path":"Back-End/JAVA/callable_future.md","url":"/estudy/Back-End/JAVA/callable_future.html","section":"Back-End","choseong":"Java Callable, Future","size":3410,"degree":2},{"id":129,"title":"Card Table","path":"Back-End/JAVA/cardtable.md","url":"/estudy/Back-End/JAVA/cardtable.html","section":"Back-End","choseong":"Card Table","size":4117,"degree":2},{"id":130,"title":"CAS(Compare And Swap)","path":"Back-End/JAVA/cas.md","url":"/estudy/Back-End/JAVA/cas.html","section":"Back-End","choseong":"CAS(Compare And Swap)","size":3373,"degree":2},{"id":131,"title":"자바 Cleaner, PhantomReference class","path":"Back-End/JAVA/cleaner.md","url":"/estudy/Back-End/JAVA/cleaner.html","section":"Back-End","choseong":"ㅈㅂ Cleaner, PhantomReference class","size":4246,"degree":2},{"id":132,"title":"Concurrent Marking","path":"Back-End/JAVA/cm.md","url":"/estudy/Back-End/JAVA/cm.html","section":"Back-End","choseong":"Concurrent Marking","size":7055,"degree":2},{"id":133,"title":"CMS GC (튜닝 전략 parallel, cms)","path":"Back-End/JAVA/cms.md","url":"/estudy/Back-End/JAVA/cms.html","section":"Back-End","choseong":"CMS GC (ㅌㄴ ㅈㄹ parallel, cms)","size":9883,"degree":2},{"id":134,"title":"클래스 , 객채 , 인스턴스","path":"Back-End/JAVA/coi.md","url":"/estudy/Back-End/JAVA/coi.html","section":"Back-End","choseong":"ㅋㄹㅅ , ㄱㅊ , ㅇㅅㅌㅅ","size":2276,"degree":2},{"id":135,"title":"컬렉션 프레임워크","path":"Back-End/JAVA/collection.md","url":"/estudy/Back-End/JAVA/collection.html","section":"Back-End","choseong":"ㅋㄹㅅ ㅍㄹㅇㅇㅋ","size":2743,"degree":2},{"id":136,"title":"Date, SimpleDateFormat 현재 날짜, 시간 출력","path":"Back-End/JAVA/date.md","url":"/estudy/Back-End/JAVA/date.html","section":"Back-End","choseong":"Date, SimpleDateFormat ㅎㅈ ㄴㅉ, ㅅㄱ ㅊㄹ","size":1428,"degree":2},{"id":137,"title":"Evacuation Failure","path":"Back-End/JAVA/evfailed.md","url":"/estudy/Back-End/JAVA/evfailed.html","section":"Back-End","choseong":"Evacuation Failure","size":5085,"degree":3},{"id":138,"title":"예외 처리","path":"Back-End/JAVA/exception.md","url":"/estudy/Back-End/JAVA/exception.html","section":"Back-End","choseong":"ㅇㅇ ㅊㄹ","size":4082,"degree":2},{"id":139,"title":"Java의 예외 생성 비용, 비용 절감 방법","path":"Back-End/JAVA/exception_cost.md","url":"/estudy/Back-End/JAVA/exception_cost.html","section":"Back-End","choseong":"Javaㅇ ㅇㅇ ㅅㅅ ㅂㅇ, ㅂㅇ ㅈㄱ ㅂㅂ","size":8493,"degree":2},{"id":140,"title":"Java Executors","path":"Back-End/JAVA/executor.md","url":"/estudy/Back-End/JAVA/executor.html","section":"Back-End","choseong":"Java Executors","size":1298,"degree":2},{"id":141,"title":"자바에서 Finalize 메서드의 역할은 무엇일까요?","path":"Back-End/JAVA/finalize.md","url":"/estudy/Back-End/JAVA/finalize.html","section":"Back-End","choseong":"ㅈㅂㅇㅅ Finalize ㅁㅅㄷㅇ ㅇㅎㅇ ㅁㅇㅇㄲㅇ?","size":1537,"degree":2},{"id":142,"title":"Java 8 Functional Interface","path":"Back-End/JAVA/functional_interface.md","url":"/estudy/Back-End/JAVA/functional_interface.html","section":"Back-End","choseong":"Java 8 Functional Interface","size":2219,"degree":2},{"id":143,"title":"Java에서 기본적으로 제공하는 Functional Interface","path":"Back-End/JAVA/functional_interface2.md","url":"/estudy/Back-End/JAVA/functional_interface2.html","section":"Back-End","choseong":"Javaㅇㅅ ㄱㅂㅈㅇㄹ ㅈㄱㅎㄴ Functional Interface","size":3052,"degree":2},{"id":144,"title":"G1GC","path":"Back-End/JAVA/g1.md","url":"/estudy/Back-End/JAVA/g1.html","section":"Back-End","choseong":"G1GC","size":7808,"degree":3},{"id":145,"title":"G1GC","path":"Back-End/JAVA/g1gc.md","url":"/estudy/Back-End/JAVA/g1gc.html","section":"Back-End","choseong":"G1GC","size":6128,"degree":2},{"id":146,"title":"Parallel GC to G1GC","path":"Back-End/JAVA/g1pagc.md","url":"/estudy/Back-End/JAVA/g1pagc.html","section":"Back-End","choseong":"Parallel GC to G1GC","size":10618,"degree":2},{"id":147,"title":"JVM GC","path":"Back-End/JAVA/gc.md","url":"/estudy/Back-End/JAVA/gc.html","section":"Back-End","choseong":"JVM GC","size":5593,"degree":2},{"id":148,"title":"Garbage Collector 4가지 종류","path":"Back-End/JAVA/gc_4.md","url":"/estudy/Back-End/JAVA/gc_4.html","section":"Back-End","choseong":"Garbage Collector 4ㄱㅈ ㅈㄹ","size":7291,"degree":2},{"id":149,"title":"GC의 종류와 각각의 차이점","path":"Back-End/JAVA/gc_kind.md","url":"/estudy/Back-End/JAVA/gc_kind.html","section":"Back-End","choseong":"GCㅇ ㅈㄹㅇ ㄱㄱㅇ ㅊㅇㅈ","size":1951,"degree":2},{"id":150,"title":"G1GC, ZGC 성능 비교 테스트","path":"Back-End/JAVA/gctest.md","url":"/estudy/Back-End/JAVA/gctest.html","section":"Back-End","choseong":"G1GC, ZGC ㅅㄴ ㅂㄱ ㅌㅅㅌ","size":3894,"degree":3},{"id":151,"title":"Java Generic","path":"Back-End/JAVA/generic.md","url":"/estudy/Back-End/JAVA/generic.html","section":"Back-End","choseong":"Java Generic","size":3481,"degree":2},{"id":152,"title":"GraalVM","path":"Back-End/JAVA/graal.md","url":"/estudy/Back-End/JAVA/graal.html","section":"Back-End","choseong":"GraalVM","size":3983,"degree":2},{"id":153,"title":"네이티브 이미지의 메모리 최적화","path":"Back-End/JAVA/graal_memory.md","url":"/estudy/Back-End/JAVA/graal_memory.html","section":"Back-End","choseong":"ㄴㅇㅌㅂ ㅇㅁㅈㅇ ㅁㅁㄹ ㅊㅈㅎ","size":4901,"degree":2},{"id":154,"title":"Parallel GC Hang Alert","path":"Back-End/JAVA/hang.md","url":"/estudy/Back-End/JAVA/hang.html","section":"Back-End","choseong":"Parallel GC Hang Alert","size":9293,"degree":2},{"id":155,"title":"HashMap 메소드 및 사용법","path":"Back-End/JAVA/hashmap.md","url":"/estudy/Back-End/JAVA/hashmap.html","section":"Back-End","choseong":"HashMap ㅁㅅㄷ ㅁ ㅅㅇㅂ","size":3325,"degree":2},{"id":156,"title":"Cold Publisher & Hot Publisher","path":"Back-End/JAVA/hot_cold_publisher.md","url":"/estudy/Back-End/JAVA/hot_cold_publisher.html","section":"Back-End","choseong":"Cold Publisher & Hot Publisher","size":1504,"degree":2},{"id":157,"title":"Hotspot VM, JIT Compiler 그리고 한계","path":"Back-End/JAVA/hotspotvm.md","url":"/estudy/Back-End/JAVA/hotspotvm.html","section":"Back-End","choseong":"Hotspot VM, JIT Compiler ㄱㄹㄱ ㅎㄱ","size":5280,"degree":2},{"id":158,"title":"Humongous Object, Mixed GC Trigger","path":"Back-End/JAVA/humong.md","url":"/estudy/Back-End/JAVA/humong.html","section":"Back-End","choseong":"Humongous Object, Mixed GC Trigger","size":14940,"degree":2},{"id":159,"title":"Incremental Update","path":"Back-End/JAVA/incru.md","url":"/estudy/Back-End/JAVA/incru.html","section":"Back-End","choseong":"Incremental Update","size":3854,"degree":2},{"id":160,"title":"SocketAdress 클래스 & NetworkInterface 클래스","path":"Back-End/JAVA/javanet.md","url":"/estudy/Back-End/JAVA/javanet.html","section":"Back-End","choseong":"SocketAdress ㅋㄹㅅ & NetworkInterface ㅋㄹㅅ","size":5227,"degree":2},{"id":161,"title":"JDK Proxy, CGLib Proxy","path":"Back-End/JAVA/jdkproxy_cglib.md","url":"/estudy/Back-End/JAVA/jdkproxy_cglib.html","section":"Back-End","choseong":"JDK Proxy, CGLib Proxy","size":3396,"degree":2},{"id":162,"title":"jemalloc","path":"Back-End/JAVA/jemalloc.md","url":"/estudy/Back-End/JAVA/jemalloc.html","section":"Back-End","choseong":"jemalloc","size":4714,"degree":2},{"id":163,"title":"jemalloc, arena, memory fragmentation","path":"Back-End/JAVA/jemalloc2.md","url":"/estudy/Back-End/JAVA/jemalloc2.html","section":"Back-End","choseong":"jemalloc, arena, memory fragmentation","size":8041,"degree":2},{"id":164,"title":"JIT Compiler","path":"Back-End/JAVA/jit.md","url":"/estudy/Back-End/JAVA/jit.html","section":"Back-End","choseong":"JIT Compiler","size":6121,"degree":2},{"id":165,"title":"JMM(Java Memory Model)","path":"Back-End/JAVA/jmm.md","url":"/estudy/Back-End/JAVA/jmm.html","section":"Back-End","choseong":"JMM(Java Memory Model)","size":1582,"degree":2},{"id":166,"title":"JVM 메모리 구조","path":"Back-End/JAVA/jvm.md","url":"/estudy/Back-End/JAVA/jvm.html","section":"Back-End","choseong":"JVM ㅁㅁㄹ ㄱㅈ","size":4514,"degree":2},{"id":167,"title":"JVM Heap Object Headers on Internals","path":"Back-End/JAVA/jvm_heap_header.md","url":"/estudy/Back-End/JAVA/jvm_heap_header.html","section":"Back-End","choseong":"JVM Heap Object Headers on Internals","size":6066,"degree":2},{"id":168,"title":"JVM 메모리 모델","path":"Back-End/JAVA/jvmm.md","url":"/estudy/Back-End/JAVA/jvmm.html","section":"Back-End","choseong":"JVM ㅁㅁㄹ ㅁㄷ","size":1893,"degree":2},{"id":169,"title":"객체의 생명주기 (생성, 사용, 소멸)","path":"Back-End/JAVA/lifecycle.md","url":"/estudy/Back-End/JAVA/lifecycle.html","section":"Back-End","choseong":"ㄱㅊㅇ ㅅㅁㅈㄱ (ㅅㅅ, ㅅㅇ, ㅅㅁ)","size":1671,"degree":2},{"id":170,"title":"ReentrantLock, Condition","path":"Back-End/JAVA/lock.md","url":"/estudy/Back-End/JAVA/lock.html","section":"Back-End","choseong":"ReentrantLock, Condition","size":3328,"degree":2},{"id":171,"title":"Object Header - Mark Word","path":"Back-End/JAVA/markword.md","url":"/estudy/Back-End/JAVA/markword.html","section":"Back-End","choseong":"Object Header - Mark Word","size":2910,"degree":2},{"id":172,"title":"Mixed GC","path":"Back-End/JAVA/mixedgc.md","url":"/estudy/Back-End/JAVA/mixedgc.html","section":"Back-End","choseong":"Mixed GC","size":6467,"degree":2},{"id":173,"title":"Native Image","path":"Back-End/JAVA/native_image.md","url":"/estudy/Back-End/JAVA/native_image.html","section":"Back-End","choseong":"Native Image","size":7741,"degree":2},{"id":174,"title":"Native Memroy","path":"Back-End/JAVA/native_memory.md","url":"/estudy/Back-End/JAVA/native_memory.html","section":"Back-End","choseong":"Native Memroy","size":3683,"degree":2},{"id":175,"title":"자바 Object 클래스의 메소드","path":"Back-End/JAVA/object.md","url":"/estudy/Back-End/JAVA/object.html","section":"Back-End","choseong":"ㅈㅂ Object ㅋㄹㅅㅇ ㅁㅅㄷ","size":3281,"degree":2},{"id":176,"title":"OutOfMemoryError가 발생했을 때 해결하는 방법","path":"Back-End/JAVA/oom.md","url":"/estudy/Back-End/JAVA/oom.html","section":"Back-End","choseong":"OutOfMemoryErrorㄱ ㅂㅅㅎㅇ ㄸ ㅎㄱㅎㄴ ㅂㅂ","size":2025,"degree":2},{"id":177,"title":"Optional 알아보기","path":"Back-End/JAVA/optional.md","url":"/estudy/Back-End/JAVA/optional.html","section":"Back-End","choseong":"Optional ㅇㅇㅂㄱ","size":2807,"degree":2},{"id":178,"title":"오버라이딩과 오버로딩 (Overriding, Overloading)","path":"Back-End/JAVA/overding.md","url":"/estudy/Back-End/JAVA/overding.html","section":"Back-End","choseong":"ㅇㅂㄹㅇㄷㄱ ㅇㅂㄹㄷ (Overriding, Overloading)","size":1947,"degree":2},{"id":179,"title":"Parallel GC Tuning","path":"Back-End/JAVA/parg.md","url":"/estudy/Back-End/JAVA/parg.html","section":"Back-End","choseong":"Parallel GC Tuning","size":6014,"degree":2},{"id":180,"title":"🧐 POJO (Plain Old Java Object) 알아보기","path":"Back-End/JAVA/pojo.md","url":"/estudy/Back-End/JAVA/pojo.html","section":"Back-End","choseong":"🧐 POJO (Plain Old Java Object) ㅇㅇㅂㄱ","size":3496,"degree":2},{"id":181,"title":"Reactive Streams","path":"Back-End/JAVA/reactive_steam.md","url":"/estudy/Back-End/JAVA/reactive_steam.html","section":"Back-End","choseong":"Reactive Streams","size":3712,"degree":2},{"id":182,"title":"Reactive Stream, Backpressure, API Components","path":"Back-End/JAVA/reactive_stream.md","url":"/estudy/Back-End/JAVA/reactive_stream.html","section":"Back-End","choseong":"Reactive Stream, Backpressure, API Components","size":4995,"degree":2},{"id":183,"title":"자바의 네 가지 참조 유형(Strong, Weak, Soft, Phantom)","path":"Back-End/JAVA/reference.md","url":"/estudy/Back-End/JAVA/reference.html","section":"Back-End","choseong":"ㅈㅂㅇ ㄴ ㄱㅈ ㅊㅈ ㅇㅎ(Strong, Weak, Soft, Phantom)","size":1476,"degree":2},{"id":184,"title":"자바 리플랙션 Reflection","path":"Back-End/JAVA/reflection.md","url":"/estudy/Back-End/JAVA/reflection.html","section":"Back-End","choseong":"ㅈㅂ ㄹㅍㄹㅅ Reflection","size":7829,"degree":2},{"id":185,"title":"RuntimeException 과 Exception","path":"Back-End/JAVA/runtime.md","url":"/estudy/Back-End/JAVA/runtime.html","section":"Back-End","choseong":"RuntimeException ㄱ Exception","size":6892,"degree":2},{"id":186,"title":"JVM Safepoint","path":"Back-End/JAVA/safepoint.md","url":"/estudy/Back-End/JAVA/safepoint.html","section":"Back-End","choseong":"JVM Safepoint","size":2757,"degree":2},{"id":187,"title":"Web 서블릿(Servlet) 이란?","path":"Back-End/JAVA/servlet.md","url":"/estudy/Back-End/JAVA/servlet.html","section":"Back-End","choseong":"Web ㅅㅂㄹ(Servlet) ㅇㄹ?","size":7037,"degree":2},{"id":188,"title":"stringB","path":"Back-End/JAVA/stringB.md","url":"/estudy/Back-End/JAVA/stringB.html","section":"Back-End","choseong":"stringB","size":7062,"degree":2},{"id":189,"title":"Java String Pool","path":"Back-End/JAVA/string_pool.md","url":"/estudy/Back-End/JAVA/string_pool.html","section":"Back-End","choseong":"Java String Pool","size":1247,"degree":2},{"id":190,"title":"TLAB(Thread-Local Allocation Buffer)","path":"Back-End/JAVA/tlab.md","url":"/estudy/Back-End/JAVA/tlab.html","section":"Back-End","choseong":"TLAB(Thread-Local Allocation Buffer)","size":7665,"degree":2},{"id":191,"title":"vDSO(virtual Dynamic Shared Object)","path":"Back-End/JAVA/vdso.md","url":"/estudy/Back-End/JAVA/vdso.html","section":"Back-End","choseong":"vDSO(virtual Dynamic Shared Object)","size":3242,"degree":2},{"id":192,"title":"JVM Warm Up - 배포 직후 Latancy 성능 저하 원인","path":"Back-End/JAVA/warmup1.md","url":"/estudy/Back-End/JAVA/warmup1.html","section":"Back-End","choseong":"JVM Warm Up - ㅂㅍ ㅈㅎ Latancy ㅅㄴ ㅈㅎ ㅇㅇ","size":9541,"degree":2},{"id":193,"title":"JVM Warm UP 적용하기","path":"Back-End/JAVA/warmup2.md","url":"/estudy/Back-End/JAVA/warmup2.html","section":"Back-End","choseong":"JVM Warm UP ㅈㅇㅎㄱ","size":2864,"degree":2},{"id":194,"title":"G1GC는 왜 Incremental Update가 아니라 SATB를 선택했는가?","path":"Back-End/JAVA/whysatb.md","url":"/estudy/Back-End/JAVA/whysatb.html","section":"Back-End","choseong":"G1GCㄴ ㅇ Incremental Updateㄱ ㅇㄴㄹ SATBㄹ ㅅㅌㅎㄴㄱ?","size":2209,"degree":2},{"id":195,"title":"래퍼 클래스(Wrapper Class) , 박싱과 언박싱","path":"Back-End/JAVA/wrapper.md","url":"/estudy/Back-End/JAVA/wrapper.html","section":"Back-End","choseong":"ㄹㅍ ㅋㄹㅅ(Wrapper Class) , ㅂㅅㄱ ㅇㅂㅅ","size":5927,"degree":2},{"id":196,"title":"GC Write Barrier","path":"Back-End/JAVA/writebarrier.md","url":"/estudy/Back-End/JAVA/writebarrier.html","section":"Back-End","choseong":"GC Write Barrier","size":2797,"degree":2},{"id":197,"title":"ZGC (Z Garbage Collector)","path":"Back-End/JAVA/zgc.md","url":"/estudy/Back-End/JAVA/zgc.html","section":"Back-End","choseong":"ZGC (Z Garbage Collector)","size":4840,"degree":3},{"id":198,"title":"다형성","path":"Back-End/JAVA/다형성.md","url":"/estudy/Back-End/JAVA/다형성.html","section":"Back-End","choseong":"ㄷㅎㅅ","size":4078,"degree":2},{"id":199,"title":"생성자와 초기화","path":"Back-End/JAVA/생성자.md","url":"/estudy/Back-End/JAVA/생성자.html","section":"Back-End","choseong":"ㅅㅅㅈㅇ ㅊㄱㅎ","size":4847,"degree":2},{"id":200,"title":"Node.js","path":"Back-End/Node/node.md","url":"/estudy/Back-End/Node/node.html","section":"Back-End","choseong":"Node.js","size":2023,"degree":2},{"id":201,"title":"Npm(Node.js) - 기초 명령어 사용법 정리","path":"Back-End/Node/npm.md","url":"/estudy/Back-End/Node/npm.html","section":"Back-End","choseong":"Npm(Node.js) - ㄱㅊ ㅁㄹㅇ ㅅㅇㅂ ㅈㄹ","size":791,"degree":2},{"id":202,"title":"패키지 설치 / 삭제 명령어","path":"Back-End/Node/npm1.md","url":"/estudy/Back-End/Node/npm1.html","section":"Back-End","choseong":"ㅍㅋㅈ ㅅㅊ / ㅅㅈ ㅁㄹㅇ","size":1904,"degree":3},{"id":203,"title":"기타 명령어","path":"Back-End/Node/npm2.md","url":"/estudy/Back-End/Node/npm2.html","section":"Back-End","choseong":"ㄱㅌ ㅁㄹㅇ","size":1560,"degree":3},{"id":204,"title":"package.json 생성","path":"Back-End/Node/npmjson.md","url":"/estudy/Back-End/Node/npmjson.html","section":"Back-End","choseong":"package.json ㅅㅅ","size":1420,"degree":3},{"id":205,"title":"서버 구축하기","path":"Back-End/Node/server.md","url":"/estudy/Back-End/Node/server.html","section":"Back-End","choseong":"ㅅㅂ ㄱㅊㅎㄱ","size":2925,"degree":3},{"id":206,"title":"Back-end API 문서 효율적인 설계방법","path":"Back-End/backend/api.md","url":"/estudy/Back-End/backend/api.html","section":"Back-End","choseong":"Back-end API ㅁㅅ ㅎㅇㅈㅇ ㅅㄱㅂㅂ","size":4755,"degree":2},{"id":207,"title":"Low Level, JVM Async Programming","path":"Back-End/backend/async.md","url":"/estudy/Back-End/backend/async.html","section":"Back-End","choseong":"Low Level, JVM Async Programming","size":4866,"degree":2},{"id":208,"title":"인증(Authentication) vs 인가(Authorization)","path":"Back-End/backend/auth.md","url":"/estudy/Back-End/backend/auth.html","section":"Back-End","choseong":"ㅇㅈ(Authentication) vs ㅇㄱ(Authorization)","size":4486,"degree":2},{"id":209,"title":"클린 아키텍쳐 with Spring boot","path":"Back-End/backend/cleanspring.md","url":"/estudy/Back-End/backend/cleanspring.html","section":"Back-End","choseong":"ㅋㄹ ㅇㅋㅌㅊ with Spring boot","size":7370,"degree":2},{"id":210,"title":"IDC 이중화 구성으로 DR 하기 + Kafka","path":"Back-End/backend/dr.md","url":"/estudy/Back-End/backend/dr.html","section":"Back-End","choseong":"IDC ㅇㅈㅎ ㄱㅅㅇㄹ DR ㅎㄱ + Kafka","size":2775,"degree":2},{"id":211,"title":"Cache Eviction, Expiration, Passivation","path":"Back-End/backend/eviction.md","url":"/estudy/Back-End/backend/eviction.html","section":"Back-End","choseong":"Cache Eviction, Expiration, Passivation","size":888,"degree":2},{"id":212,"title":"Failover Consistency","path":"Back-End/backend/failcon.md","url":"/estudy/Back-End/backend/failcon.html","section":"Back-End","choseong":"Failover Consistency","size":7072,"degree":2},{"id":213,"title":"Java Backend 웹 기술 역사","path":"Back-End/backend/history.md","url":"/estudy/Back-End/backend/history.html","section":"Back-End","choseong":"Java Backend ㅇ ㄱㅅ ㅇㅅ","size":2120,"degree":2},{"id":214,"title":"Apache Kafka 주요 요소 Producer, Counsumer, Topic, Partition, Segment","path":"Back-End/backend/kafka요소.md","url":"/estudy/Back-End/backend/kafka요소.html","section":"Back-End","choseong":"Apache Kafka ㅈㅇ ㅇㅅ Producer, Counsumer, Topic, Partition, Segment","size":2982,"degree":3},{"id":215,"title":"Apache Kafka 주요 요소2 Zookeeper, Broker + 클러스터링 해보기","path":"Back-End/backend/kafka요소2.md","url":"/estudy/Back-End/backend/kafka요소2.html","section":"Back-End","choseong":"Apache Kafka ㅈㅇ ㅇㅅ2 Zookeeper, Broker + ㅋㄹㅅㅌㄹ ㅎㅂㄱ","size":7804,"degree":3},{"id":216,"title":"개발자라면 꼭 해야하는 Log 관리, Slf4j Logger","path":"Back-End/backend/logger.md","url":"/estudy/Back-End/backend/logger.html","section":"Back-End","choseong":"ㄱㅂㅈㄹㅁ ㄲ ㅎㅇㅎㄴ Log ㄱㄹ, Slf4j Logger","size":4542,"degree":3},{"id":217,"title":"분산 시스템 논리적 시계(렘포트 시계, 벡터 시계)","path":"Back-End/backend/logicaltime.md","url":"/estudy/Back-End/backend/logicaltime.html","section":"Back-End","choseong":"ㅂㅅ ㅅㅅㅌ ㄴㄹㅈ ㅅㄱ(ㄹㅍㅌ ㅅㄱ, ㅂㅌ ㅅㄱ)","size":5817,"degree":2},{"id":218,"title":"모놀리식 아키텍처 (Monolithic Architecture)","path":"Back-End/backend/mono.md","url":"/estudy/Back-End/backend/mono.html","section":"Back-End","choseong":"ㅁㄴㄹㅅ ㅇㅋㅌㅊ (Monolithic Architecture)","size":1266,"degree":2},{"id":219,"title":"MSA 마이크로서비스 아키텍쳐 (MicroService Architecture)란?","path":"Back-End/backend/msa.md","url":"/estudy/Back-End/backend/msa.html","section":"Back-End","choseong":"MSA ㅁㅇㅋㄹㅅㅂㅅ ㅇㅋㅌㅊ (MicroService Architecture)ㄹ?","size":3391,"degree":2},{"id":220,"title":"다중 환경에서 세션은 어떻게 공유하고 관리할까?","path":"Back-End/backend/multi_session.md","url":"/estudy/Back-End/backend/multi_session.html","section":"Back-End","choseong":"ㄷㅈ ㅎㄱㅇㅅ ㅅㅅㅇ ㅇㄸㄱ ㄱㅇㅎㄱ ㄱㄹㅎㄲ?","size":8086,"degree":2},{"id":221,"title":"Netty","path":"Back-End/backend/netty.md","url":"/estudy/Back-End/backend/netty.html","section":"Back-End","choseong":"Netty","size":1665,"degree":3},{"id":222,"title":"☁️ OAuth 2.0 개념과 권한 부여 방식 알아보기","path":"Back-End/backend/oauth2.md","url":"/estudy/Back-End/backend/oauth2.html","section":"Back-End","choseong":"☁️ OAuth 2.0 ㄱㄴㄱ ㄱㅎ ㅂㅇ ㅂㅅ ㅇㅇㅂㄱ","size":6096,"degree":2},{"id":223,"title":"Data Partitioning","path":"Back-End/backend/partition.md","url":"/estudy/Back-End/backend/partition.html","section":"Back-End","choseong":"Data Partitioning","size":6619,"degree":2},{"id":224,"title":"분산 환경 합의 알고리즘 Paxos","path":"Back-End/backend/paxos.md","url":"/estudy/Back-End/backend/paxos.html","section":"Back-End","choseong":"ㅂㅅ ㅎㄱ ㅎㅇ ㅇㄱㄹㅈ Paxos","size":9096,"degree":2},{"id":225,"title":"Protocol Buffers","path":"Back-End/backend/protobuf.md","url":"/estudy/Back-End/backend/protobuf.html","section":"Back-End","choseong":"Protocol Buffers","size":3929,"degree":2},{"id":226,"title":"PUB/SUB (발행/구독) 아키텍처의 이해","path":"Back-End/backend/pub_sub.md","url":"/estudy/Back-End/backend/pub_sub.html","section":"Back-End","choseong":"PUB/SUB (ㅂㅎ/ㄱㄷ) ㅇㅋㅌㅊㅇ ㅇㅎ","size":2008,"degree":2},{"id":227,"title":"Reactive Programming 이것만큼은 알고가자","path":"Back-End/backend/reactive_programming.md","url":"/estudy/Back-End/backend/reactive_programming.html","section":"Back-End","choseong":"Reactive Programming ㅇㄱㅁㅋㅇ ㅇㄱㄱㅈ","size":4529,"degree":2},{"id":228,"title":"SOLID 원칙과 각 원칙의 장단점","path":"Back-End/backend/solid.md","url":"/estudy/Back-End/backend/solid.html","section":"Back-End","choseong":"SOLID ㅇㅊㄱ ㄱ ㅇㅊㅇ ㅈㄷㅈ","size":4842,"degree":2},{"id":229,"title":"IntelliJ 테스트 커버리지 확인하기","path":"Back-End/backend/test_cov.md","url":"/estudy/Back-End/backend/test_cov.html","section":"Back-End","choseong":"IntelliJ ㅌㅅㅌ ㅋㅂㄹㅈ ㅎㅇㅎㄱ","size":952,"degree":2},{"id":230,"title":"수치 기반 사고(Observability + Capacity Planning)","path":"Back-End/backend/think.md","url":"/estudy/Back-End/backend/think.html","section":"Back-End","choseong":"ㅅㅊ ㄱㅂ ㅅㄱ(Observability + Capacity Planning)","size":4858,"degree":2},{"id":231,"title":"분산 시스템에서 시간 동기화 문제","path":"Back-End/backend/timesync.md","url":"/estudy/Back-End/backend/timesync.html","section":"Back-End","choseong":"ㅂㅅ ㅅㅅㅌㅇㅅ ㅅㄱ ㄷㄱㅎ ㅁㅈ","size":4658,"degree":2},{"id":232,"title":"제 3회 당근마켓 SRE 밋업","path":"Back-End/backend/당근밋업.md","url":"/estudy/Back-End/backend/당근밋업.html","section":"Back-End","choseong":"ㅈ 3ㅎ ㄷㄱㅁㅋ SRE ㅁㅇ","size":22691,"degree":2},{"id":233,"title":"우아한스프링배치 by 우아한형제들 이동욱","path":"Back-End/baemin_batch.md","url":"/estudy/Back-End/baemin_batch.html","section":"Back-End","choseong":"ㅇㅇㅎㅅㅍㄹㅂㅊ by ㅇㅇㅎㅎㅈㄷ ㅇㄷㅇ","size":2743,"degree":2},{"id":234,"title":"캐시 시스템 설계","path":"Back-End/cache.md","url":"/estudy/Back-End/cache.html","section":"Back-End","choseong":"ㅋㅅ ㅅㅅㅌ ㅅㄱ","size":31024,"degree":2},{"id":235,"title":"캐시 시스템 설계 구현","path":"Back-End/cache2.md","url":"/estudy/Back-End/cache2.html","section":"Back-End","choseong":"ㅋㅅ ㅅㅅㅌ ㅅㄱ ㄱㅎ","size":17921,"degree":2},{"id":236,"title":"캐시 무중단 마이그레이션 (Lazy Migration)","path":"Back-End/cachemigrate.md","url":"/estudy/Back-End/cachemigrate.html","section":"Back-End","choseong":"ㅋㅅ ㅁㅈㄷ ㅁㅇㄱㄹㅇㅅ (Lazy Migration)","size":11222,"degree":2},{"id":237,"title":"대규모 DB 및 데이터 마이그레이션 (DB & Storage)","path":"Back-End/dbmigrate.md","url":"/estudy/Back-End/dbmigrate.html","section":"Back-End","choseong":"ㄷㄱㅁ DB ㅁ ㄷㅇㅌ ㅁㅇㄱㄹㅇㅅ (DB & Storage)","size":13747,"degree":2},{"id":238,"title":"[DDD] 도메인 주도 설계 애그리거트(Aggregate) 알아보기","path":"Back-End/ddd/aggregate.md","url":"/estudy/Back-End/ddd/aggregate.html","section":"Back-End","choseong":"[DDD] ㄷㅁㅇ ㅈㄷ ㅅㄱ ㅇㄱㄹㄱㅌ(Aggregate) ㅇㅇㅂㄱ","size":5291,"degree":2},{"id":239,"title":"도메인 모델과 바운디드 컨텍스트","path":"Back-End/ddd/boundcontext.md","url":"/estudy/Back-End/ddd/boundcontext.html","section":"Back-End","choseong":"ㄷㅁㅇ ㅁㄷㄱ ㅂㅇㄷㄷ ㅋㅌㅅㅌ","size":10284,"degree":2},{"id":240,"title":"[Domain-Driven-Design] 바운디드 컨텍스트 (Bounded-Context) ✍️","path":"Back-End/ddd/bounded_context.md","url":"/estudy/Back-End/ddd/bounded_context.html","section":"Back-End","choseong":"[Domain-Driven-Design] ㅂㅇㄷㄷ ㅋㅌㅅㅌ (Bounded-Context) ✍️","size":3751,"degree":2},{"id":241,"title":"CQRS (Command Query Responsibility Segregation)","path":"Back-End/ddd/cqrs.md","url":"/estudy/Back-End/ddd/cqrs.html","section":"Back-End","choseong":"CQRS (Command Query Responsibility Segregation)","size":4810,"degree":2},{"id":242,"title":"🔨 DDD(Domain Driven Design) 도메인 주도 설계와 도메인 모델","path":"Back-End/ddd/ddd.md","url":"/estudy/Back-End/ddd/ddd.html","section":"Back-End","choseong":"🔨 DDD(Domain Driven Design) ㄷㅁㅇ ㅈㄷ ㅅㄱㅇ ㄷㅁㅇ ㅁㄷ","size":4723,"degree":2},{"id":243,"title":"여러 애그리거트가 필요한 기능과 도메인 서비스","path":"Back-End/ddd/domainservice.md","url":"/estudy/Back-End/ddd/domainservice.html","section":"Back-End","choseong":"ㅇㄹ ㅇㄱㄹㄱㅌㄱ ㅍㅇㅎ ㄱㄴㄱ ㄷㅁㅇ ㅅㅂㅅ","size":6126,"degree":2},{"id":244,"title":"이벤트 - 시스템 간 강결합 문제","path":"Back-End/ddd/event.md","url":"/estudy/Back-End/ddd/event.html","section":"Back-End","choseong":"ㅇㅂㅌ - ㅅㅅㅌ ㄱ ㄱㄱㅎ ㅁㅈ","size":2525,"degree":2},{"id":245,"title":"이벤트, 핸들러, 디스패처","path":"Back-End/ddd/event2.md","url":"/estudy/Back-End/ddd/event2.html","section":"Back-End","choseong":"ㅇㅂㅌ, ㅎㄷㄹ, ㄷㅅㅍㅊ","size":6957,"degree":2},{"id":246,"title":"동기 이벤트 처리문제, 비동기 이벤트 처리","path":"Back-End/ddd/event3.md","url":"/estudy/Back-End/ddd/event3.html","section":"Back-End","choseong":"ㄷㄱ ㅇㅂㅌ ㅊㄹㅁㅈ, ㅂㄷㄱ ㅇㅂㅌ ㅊㄹ","size":6954,"degree":2},{"id":247,"title":"응용 서비스와 표현 영역","path":"Back-End/ddd/presentation.md","url":"/estudy/Back-End/ddd/presentation.html","section":"Back-End","choseong":"ㅇㅇ ㅅㅂㅅㅇ ㅍㅎ ㅇㅇ","size":10959,"degree":2},{"id":248,"title":"애그리거트와 트랜잭션 관리","path":"Back-End/ddd/transaction.md","url":"/estudy/Back-End/ddd/transaction.html","section":"Back-End","choseong":"ㅇㄱㄹㄱㅌㅇ ㅌㄹㅈㅅ ㄱㄹ","size":11072,"degree":2},{"id":249,"title":"ByteBuf, Memory Management","path":"Back-End/dirbuff.md","url":"/estudy/Back-End/dirbuff.html","section":"Back-End","choseong":"ByteBuf, Memory Management","size":5793,"degree":2},{"id":250,"title":"WAL, 분산 시스템 데이터 일관성과 장애 복구 패턴","path":"Back-End/dist.md","url":"/estudy/Back-End/dist.html","section":"Back-End","choseong":"WAL, ㅂㅅ ㅅㅅㅌ ㄷㅇㅌ ㅇㄱㅅㄱ ㅈㅇ ㅂㄱ ㅍㅌ","size":8314,"degree":2},{"id":251,"title":"장애 지점 식별 및 C/A 시스템 설계","path":"Back-End/dist_consist.md","url":"/estudy/Back-End/dist_consist.html","section":"Back-End","choseong":"ㅈㅇ ㅈㅈ ㅅㅂ ㅁ C/A ㅅㅅㅌ ㅅㄱ","size":15796,"degree":2},{"id":252,"title":"Distributed Lock 취득 후 master node가 다운되었을때","path":"Back-End/distlock.md","url":"/estudy/Back-End/distlock.html","section":"Back-End","choseong":"Distributed Lock ㅊㄷ ㅎ master nodeㄱ ㄷㅇㄷㅇㅇㄸ","size":7096,"degree":2},{"id":253,"title":"Encryption Algorithm AES256","path":"Back-End/encrypt.md","url":"/estudy/Back-End/encrypt.html","section":"Back-End","choseong":"Encryption Algorithm AES256","size":6604,"degree":2},{"id":254,"title":"Netty Thread Model, EventLoop","path":"Back-End/eventloopnetty.md","url":"/estudy/Back-End/eventloopnetty.html","section":"Back-End","choseong":"Netty Thread Model, EventLoop","size":6198,"degree":2},{"id":255,"title":"ftest","path":"Back-End/ftest.md","url":"/estudy/Back-End/ftest.html","section":"Back-End","choseong":"ftest","size":1,"degree":2},{"id":256,"title":"GIT 이란? 무엇인가","path":"Back-End/git/basic.md","url":"/estudy/Back-End/git/basic.html","section":"Back-End","choseong":"GIT ㅇㄹ? ㅁㅇㅇㄱ","size":1923,"degree":2},{"id":257,"title":"git 기본 명령어 정리 2","path":"Back-End/git/basic2.md","url":"/estudy/Back-End/git/basic2.html","section":"Back-End","choseong":"git ㄱㅂ ㅁㄹㅇ ㅈㄹ 2","size":1549,"degree":3},{"id":258,"title":"브랜치 Brnach","path":"Back-End/git/branch.md","url":"/estudy/Back-End/git/branch.html","section":"Back-End","choseong":"ㅂㄹㅊ Brnach","size":2302,"degree":3},{"id":259,"title":"conflict - 충돌 해결","path":"Back-End/git/conflict.md","url":"/estudy/Back-End/git/conflict.html","section":"Back-End","choseong":"conflict - ㅊㄷ ㅎㄱ","size":1940,"degree":3},{"id":260,"title":"Issue","path":"Back-End/git/issue.md","url":"/estudy/Back-End/git/issue.html","section":"Back-End","choseong":"Issue","size":2093,"degree":2},{"id":261,"title":"git log - 이력확인","path":"Back-End/git/log.md","url":"/estudy/Back-End/git/log.html","section":"Back-End","choseong":"git log - ㅇㄹㅎㅇ","size":779,"degree":3},{"id":262,"title":"원격 저장소","path":"Back-End/git/pull.md","url":"/estudy/Back-End/git/pull.html","section":"Back-End","choseong":"ㅇㄱ ㅈㅈㅅ","size":2342,"degree":3},{"id":263,"title":"다른사람 Repo 관리","path":"Back-End/git/pushR.md","url":"/estudy/Back-End/git/pushR.html","section":"Back-End","choseong":"ㄷㄹㅅㄹ Repo ㄱㄹ","size":636,"degree":3},{"id":264,"title":"pull request","path":"Back-End/git/request.md","url":"/estudy/Back-End/git/request.html","section":"Back-End","choseong":"pull request","size":2978,"degree":3},{"id":265,"title":"이전 버전으로 되돌리기 ,","path":"Back-End/git/revert.md","url":"/estudy/Back-End/git/revert.html","section":"Back-End","choseong":"ㅇㅈ ㅂㅈㅇㄹ ㄷㄷㄹㄱ ,","size":1849,"degree":3},{"id":266,"title":"version","path":"Back-End/git/version.md","url":"/estudy/Back-End/git/version.html","section":"Back-End","choseong":"version","size":800,"degree":3},{"id":267,"title":"깃허브 용어정리","path":"Back-End/git/용어.md","url":"/estudy/Back-End/git/용어.html","section":"Back-End","choseong":"ㄱㅎㅂ ㅇㅇㅈㄹ","size":2124,"degree":3},{"id":268,"title":"Handle, Handler, HandleFunc 이해","path":"Back-End/go/http_handler.md","url":"/estudy/Back-End/go/http_handler.html","section":"Back-End","choseong":"Handle, Handler, HandleFunc ㅇㅎ","size":4682,"degree":2},{"id":269,"title":"gorilla/mux를 사용한 REST API 서버","path":"Back-End/go/mux.md","url":"/estudy/Back-End/go/mux.html","section":"Back-End","choseong":"gorilla/muxㄹ ㅅㅇㅎ REST API ㅅㅂ","size":1913,"degree":2},{"id":270,"title":"Golang의 포인터와 역참조","path":"Back-End/go/pointer.md","url":"/estudy/Back-End/go/pointer.html","section":"Back-End","choseong":"Golangㅇ ㅍㅇㅌㅇ ㅇㅊㅈ","size":3747,"degree":2},{"id":271,"title":"Go 데이터베이스 Sqlite3 사용하기","path":"Back-End/go/sqlite.md","url":"/estudy/Back-End/go/sqlite.html","section":"Back-End","choseong":"Go ㄷㅇㅌㅂㅇㅅ Sqlite3 ㅅㅇㅎㄱ","size":2982,"degree":2},{"id":272,"title":"비 연결성 (connectionless)","path":"Back-End/http/HTTP기본/connectionless.md","url":"/estudy/Back-End/http/HTTP기본/connectionless.html","section":"Back-End","choseong":"ㅂ ㅇㄱㅅ (connectionless)","size":1235,"degree":2},{"id":273,"title":"모든 것이 HTTP","path":"Back-End/http/HTTP기본/everyhttp.md","url":"/estudy/Back-End/http/HTTP기본/everyhttp.html","section":"Back-End","choseong":"ㅁㄷ ㄱㅇ HTTP","size":1076,"degree":2},{"id":274,"title":"HTTP 메시지","path":"Back-End/http/HTTP기본/message.md","url":"/estudy/Back-End/http/HTTP기본/message.html","section":"Back-End","choseong":"HTTP ㅁㅅㅈ","size":2245,"degree":2},{"id":275,"title":"Stateful, Stateless","path":"Back-End/http/HTTP기본/state.md","url":"/estudy/Back-End/http/HTTP기본/state.html","section":"Back-End","choseong":"Stateful, Stateless","size":2132,"degree":2},{"id":276,"title":"클라이언트 서버 구조","path":"Back-End/http/HTTP기본/structclient.md","url":"/estudy/Back-End/http/HTTP기본/structclient.html","section":"Back-End","choseong":"ㅋㄹㅇㅇㅌ ㅅㅂ ㄱㅈ","size":1446,"degree":2},{"id":277,"title":"HTTP 메서드의 속성","path":"Back-End/http/HTTP메서드/attrib.md","url":"/estudy/Back-End/http/HTTP메서드/attrib.html","section":"Back-End","choseong":"HTTP ㅁㅅㄷㅇ ㅅㅅ","size":1770,"degree":2},{"id":278,"title":"HTTP API 설계 예시","path":"Back-End/http/HTTP메서드/exam.md","url":"/estudy/Back-End/http/HTTP메서드/exam.html","section":"Back-End","choseong":"HTTP API ㅅㄱ ㅇㅅ","size":3222,"degree":2},{"id":279,"title":"HTTP 메서드 - GET, POST","path":"Back-End/http/HTTP메서드/getpost.md","url":"/estudy/Back-End/http/HTTP메서드/getpost.html","section":"Back-End","choseong":"HTTP ㅁㅅㄷ - GET, POST","size":3095,"degree":2},{"id":280,"title":"HTTP API를 만들어보자","path":"Back-End/http/HTTP메서드/httpapi.md","url":"/estudy/Back-End/http/HTTP메서드/httpapi.html","section":"Back-End","choseong":"HTTP APIㄹ ㅁㄷㅇㅂㅈ","size":1356,"degree":2},{"id":281,"title":"PUT, PATCH , DELETE","path":"Back-End/http/HTTP메서드/putpadel.md","url":"/estudy/Back-End/http/HTTP메서드/putpadel.html","section":"Back-End","choseong":"PUT, PATCH , DELETE","size":1517,"degree":2},{"id":282,"title":"클라이언트에서 서버로 데이터 전송","path":"Back-End/http/HTTP메서드/submit.md","url":"/estudy/Back-End/http/HTTP메서드/submit.html","section":"Back-End","choseong":"ㅋㄹㅇㅇㅌㅇㅅ ㅅㅂㄹ ㄷㅇㅌ ㅈㅅ","size":4402,"degree":2},{"id":283,"title":"2xx - 성공","path":"Back-End/http/HTTP상태코드/2xx.md","url":"/estudy/Back-End/http/HTTP상태코드/2xx.html","section":"Back-End","choseong":"2xx - ㅅㄱ","size":801,"degree":2},{"id":284,"title":"3xx - 리다이렉션","path":"Back-End/http/HTTP상태코드/3xx.md","url":"/estudy/Back-End/http/HTTP상태코드/3xx.html","section":"Back-End","choseong":"3xx - ㄹㄷㅇㄹㅅ","size":5867,"degree":2},{"id":285,"title":"4xx - 클라이언트 오류, 5xx - 서버 오류","path":"Back-End/http/HTTP상태코드/4xx5xx.md","url":"/estudy/Back-End/http/HTTP상태코드/4xx5xx.html","section":"Back-End","choseong":"4xx - ㅋㄹㅇㅇㅌ ㅇㄹ, 5xx - ㅅㅂ ㅇㄹ","size":2370,"degree":2},{"id":286,"title":"HTTP 상태코드","path":"Back-End/http/HTTP상태코드/status.md","url":"/estudy/Back-End/http/HTTP상태코드/status.html","section":"Back-End","choseong":"HTTP ㅅㅌㅋㄷ","size":1037,"degree":2},{"id":287,"title":"인증, 쿠키","path":"Back-End/http/HTTP헤더/cookie.md","url":"/estudy/Back-End/http/HTTP헤더/cookie.html","section":"Back-End","choseong":"ㅇㅈ, ㅋㅋ","size":3737,"degree":2},{"id":288,"title":"일반 정보","path":"Back-End/http/HTTP헤더/info.md","url":"/estudy/Back-End/http/HTTP헤더/info.html","section":"Back-End","choseong":"ㅇㅂ ㅈㅂ","size":2876,"degree":2},{"id":289,"title":"협상, 전송 방법","path":"Back-End/http/HTTP헤더/nego.md","url":"/estudy/Back-End/http/HTTP헤더/nego.html","section":"Back-End","choseong":"ㅎㅅ, ㅈㅅ ㅂㅂ","size":2225,"degree":2},{"id":290,"title":"HTTP 헤더 개요","path":"Back-End/http/HTTP헤더/summary.md","url":"/estudy/Back-End/http/HTTP헤더/summary.html","section":"Back-End","choseong":"HTTP ㅎㄷ ㄱㅇ","size":3134,"degree":2},{"id":291,"title":"캐시 기본 동작","path":"Back-End/http/HTTP헤더2/cache.md","url":"/estudy/Back-End/http/HTTP헤더2/cache.html","section":"Back-End","choseong":"ㅋㅅ ㄱㅂ ㄷㅈ","size":1066,"degree":2},{"id":292,"title":"캐시와 조건부 요청 헤더","path":"Back-End/http/HTTP헤더2/cachehead.md","url":"/estudy/Back-End/http/HTTP헤더2/cachehead.html","section":"Back-End","choseong":"ㅋㅅㅇ ㅈㄱㅂ ㅇㅊ ㅎㄷ","size":922,"degree":2},{"id":293,"title":"프록시 캐시","path":"Back-End/http/HTTP헤더2/proxy.md","url":"/estudy/Back-End/http/HTTP헤더2/proxy.html","section":"Back-End","choseong":"ㅍㄹㅅ ㅋㅅ","size":1685,"degree":2},{"id":294,"title":"검증 헤더와 조건부 요청","path":"Back-End/http/HTTP헤더2/verify.md","url":"/estudy/Back-End/http/HTTP헤더2/verify.html","section":"Back-End","choseong":"ㄱㅈ ㅎㄷㅇ ㅈㄱㅂ ㅇㅊ","size":3043,"degree":2},{"id":295,"title":"URI","path":"Back-End/http/URI/uri.md","url":"/estudy/Back-End/http/URI/uri.html","section":"Back-End","choseong":"URI","size":2742,"degree":2},{"id":296,"title":"웹 브라우저 요청 흐름","path":"Back-End/http/URI/web.md","url":"/estudy/Back-End/http/URI/web.html","section":"Back-End","choseong":"ㅇ ㅂㄹㅇㅈ ㅇㅊ ㅎㄹ","size":885,"degree":2},{"id":297,"title":"IP(인터넷 프로토콜)","path":"Back-End/http/network/ip.md","url":"/estudy/Back-End/http/network/ip.html","section":"Back-End","choseong":"IP(ㅇㅌㄴ ㅍㄹㅌㅋ)","size":1344,"degree":2},{"id":298,"title":"port","path":"Back-End/http/network/port.md","url":"/estudy/Back-End/http/network/port.html","section":"Back-End","choseong":"port","size":1382,"degree":2},{"id":299,"title":"TCP & UDP","path":"Back-End/http/network/tcpudp.md","url":"/estudy/Back-End/http/network/tcpudp.html","section":"Back-End","choseong":"TCP & UDP","size":1932,"degree":2},{"id":300,"title":"Kafka 파티션 리밸런싱중 발생하는 중복 메시지 처리, 멱등성 보장","path":"Back-End/idem.md","url":"/estudy/Back-End/idem.html","section":"Back-End","choseong":"Kafka ㅍㅌㅅ ㄹㅂㄹㅅㅈ ㅂㅅㅎㄴ ㅈㅂ ㅁㅅㅈ ㅊㄹ, ㅁㄷㅅ ㅂㅈ","size":11361,"degree":2},{"id":301,"title":"벌크 수정, 삭제 연산과 영속성 컨텍스트","path":"Back-End/jpa/bulk.md","url":"/estudy/Back-End/jpa/bulk.html","section":"Back-End","choseong":"ㅂㅋ ㅅㅈ, ㅅㅈ ㅇㅅㄱ ㅇㅅㅅ ㅋㅌㅅㅌ","size":8967,"degree":2},{"id":302,"title":"임베디드 타입 @Embedded, @Embeddable","path":"Back-End/jpa/embedded.md","url":"/estudy/Back-End/jpa/embedded.html","section":"Back-End","choseong":"ㅇㅂㄷㄷ ㅌㅇ @Embedded, @Embeddable","size":6729,"degree":2},{"id":303,"title":"JPA Entity equals(), hashcode() overriding","path":"Back-End/jpa/equals.md","url":"/estudy/Back-End/jpa/equals.html","section":"Back-End","choseong":"JPA Entity equals(), hashcode() overriding","size":2563,"degree":2},{"id":304,"title":"일반 조인(Join)과 패치 조인(Fetch Join)의 차이","path":"Back-End/jpa/fetchjoin.md","url":"/estudy/Back-End/jpa/fetchjoin.html","section":"Back-End","choseong":"ㅇㅂ ㅈㅇ(Join)ㄱ ㅍㅊ ㅈㅇ(Fetch Join)ㅇ ㅊㅇ","size":7230,"degree":2},{"id":305,"title":"하이버 네이트 Hibernate","path":"Back-End/jpa/hibernate.md","url":"/estudy/Back-End/jpa/hibernate.html","section":"Back-End","choseong":"ㅎㅇㅂ ㄴㅇㅌ Hibernate","size":3784,"degree":2},{"id":306,"title":"JPA N+1 문제 해결 방법 및 실무 적용 팁","path":"Back-End/jpa/n+1.md","url":"/estudy/Back-End/jpa/n+1.html","section":"Back-End","choseong":"JPA N+1 ㅁㅈ ㅎㄱ ㅂㅂ ㅁ ㅅㅁ ㅈㅇ ㅌ","size":9153,"degree":2},{"id":307,"title":"OSIV(Open Session In View)","path":"Back-End/jpa/osiv.md","url":"/estudy/Back-End/jpa/osiv.html","section":"Back-End","choseong":"OSIV(Open Session In View)","size":2493,"degree":2},{"id":308,"title":"플러시 (Flush)","path":"Back-End/jpa/persistence/flush.md","url":"/estudy/Back-End/jpa/persistence/flush.html","section":"Back-End","choseong":"ㅍㄹㅅ (Flush)","size":2347,"degree":2},{"id":309,"title":"영속성 컨텍스트","path":"Back-End/jpa/persistence/persistcontext.md","url":"/estudy/Back-End/jpa/persistence/persistcontext.html","section":"Back-End","choseong":"ㅇㅅㅅ ㅋㅌㅅㅌ","size":5572,"degree":2},{"id":310,"title":"JPA Propagation 트랜잭션 전파 단계","path":"Back-End/jpa/propagration.md","url":"/estudy/Back-End/jpa/propagration.html","section":"Back-End","choseong":"JPA Propagation ㅌㄹㅈㅅ ㅈㅍ ㄷㄱ","size":1286,"degree":2},{"id":311,"title":"JPA 프록시(Proxy)와 지연 로딩","path":"Back-End/jpa/proxy.md","url":"/estudy/Back-End/jpa/proxy.html","section":"Back-End","choseong":"JPA ㅍㄹㅅ(Proxy)ㅇ ㅈㅇ ㄹㄷ","size":6056,"degree":2},{"id":312,"title":"@Query 어노테이션에서 FK로 객체를 찾는 방법","path":"Back-End/jpa/queryfk.md","url":"/estudy/Back-End/jpa/queryfk.html","section":"Back-End","choseong":"@Query ㅇㄴㅌㅇㅅㅇㅅ FKㄹ ㄱㅊㄹ ㅊㄴ ㅂㅂ","size":912,"degree":2},{"id":313,"title":"객체와 테이블 매핑","path":"Back-End/jpa/table/entity.md","url":"/estudy/Back-End/jpa/table/entity.html","section":"Back-End","choseong":"ㄱㅊㅇ ㅌㅇㅂ ㅁㅍ","size":901,"degree":2},{"id":314,"title":"데이터베이스 스키마 자동 생성","path":"Back-End/jpa/table/util.md","url":"/estudy/Back-End/jpa/table/util.html","section":"Back-End","choseong":"ㄷㅇㅌㅂㅇㅅ ㅅㅋㅁ ㅈㄷ ㅅㅅ","size":1290,"degree":2},{"id":315,"title":"일반 조인 Join은 언제 사용될까?","path":"Back-End/jpa/일반Join은언제.md","url":"/estudy/Back-End/jpa/일반Join은언제.html","section":"Back-End","choseong":"ㅇㅂ ㅈㅇ Joinㅇ ㅇㅈ ㅅㅇㄷㄲ?","size":3078,"degree":2},{"id":316,"title":"Kafka Consumer Offset 수동 commit","path":"Back-End/kafka/autocommit.md","url":"/estudy/Back-End/kafka/autocommit.html","section":"Back-End","choseong":"Kafka Consumer Offset ㅅㄷ commit","size":7399,"degree":2},{"id":317,"title":"Kafka Disk I/O","path":"Back-End/kafka/disk.md","url":"/estudy/Back-End/kafka/disk.html","section":"Back-End","choseong":"Kafka Disk I/O","size":3276,"degree":2},{"id":318,"title":"Kafka ISR(In Sync Replica)","path":"Back-End/kafka/isr.md","url":"/estudy/Back-End/kafka/isr.html","section":"Back-End","choseong":"Kafka ISR(In Sync Replica)","size":3654,"degree":2},{"id":319,"title":"Kafka 파티션 할당 전략","path":"Back-End/kafka/partition.md","url":"/estudy/Back-End/kafka/partition.html","section":"Back-End","choseong":"Kafka ㅍㅌㅅ ㅎㄷ ㅈㄹ","size":8127,"degree":2},{"id":320,"title":"Kafka Partition","path":"Back-End/kafka/partition2.md","url":"/estudy/Back-End/kafka/partition2.html","section":"Back-End","choseong":"Kafka Partition","size":11878,"degree":3},{"id":321,"title":"Producer 주요 Options","path":"Back-End/kafka/producer.md","url":"/estudy/Back-End/kafka/producer.html","section":"Back-End","choseong":"Producer ㅈㅇ Options","size":3253,"degree":2},{"id":322,"title":"Kafka 리밸런싱","path":"Back-End/kafka/rebalancing.md","url":"/estudy/Back-End/kafka/rebalancing.html","section":"Back-End","choseong":"Kafka ㄹㅂㄹㅅ","size":5749,"degree":2},{"id":323,"title":"Kafka Replication 작동 원리","path":"Back-End/kafka/replica.md","url":"/estudy/Back-End/kafka/replica.html","section":"Back-End","choseong":"Kafka Replication ㅈㄷ ㅇㄹ","size":14065,"degree":2},{"id":324,"title":"Block IO (Buffer Head, BIO Struct, Scheduler)","path":"Back-End/kernel/blockio.md","url":"/estudy/Back-End/kernel/blockio.html","section":"Back-End","choseong":"Block IO (Buffer Head, BIO Struct, Scheduler)","size":11682,"degree":3},{"id":325,"title":"Kernel","path":"Back-End/kernel/kernel.md","url":"/estudy/Back-End/kernel/kernel.html","section":"Back-End","choseong":"Kernel","size":4395,"degree":3},{"id":326,"title":"코틀린 컬렉션즈","path":"Back-End/kotlin/collection.md","url":"/estudy/Back-End/kotlin/collection.html","section":"Back-End","choseong":"ㅋㅌㄹ ㅋㄹㅅㅈ","size":1024,"degree":2},{"id":327,"title":"내가 제일 좋아하는 Kotlin companion object","path":"Back-End/kotlin/companion.md","url":"/estudy/Back-End/kotlin/companion.html","section":"Back-End","choseong":"ㄴㄱ ㅈㅇ ㅈㅇㅎㄴ Kotlin companion object","size":1846,"degree":2},{"id":328,"title":"companion object와 object의 차이점은 무엇일까요?","path":"Back-End/kotlin/companion_and_object.md","url":"/estudy/Back-End/kotlin/companion_and_object.html","section":"Back-End","choseong":"companion objectㅇ objectㅇ ㅊㅇㅈㅇ ㅁㅇㅇㄲㅇ?","size":1525,"degree":2},{"id":329,"title":"Kotlin 코루틴 (Coroutine)과 동시성 프로그래밍","path":"Back-End/kotlin/coroutine.md","url":"/estudy/Back-End/kotlin/coroutine.html","section":"Back-End","choseong":"Kotlin ㅋㄹㅌ (Coroutine)ㄱ ㄷㅅㅅ ㅍㄹㄱㄹㅁ","size":11985,"degree":2},{"id":330,"title":"Coroutine","path":"Back-End/kotlin/coroutine/coroutine.md","url":"/estudy/Back-End/kotlin/coroutine/coroutine.html","section":"Back-End","choseong":"Coroutine","size":9308,"degree":2},{"id":331,"title":"CoroutineContext","path":"Back-End/kotlin/coroutine/coroutine_context.md","url":"/estudy/Back-End/kotlin/coroutine/coroutine_context.html","section":"Back-End","choseong":"CoroutineContext","size":5639,"degree":2},{"id":332,"title":"CoroutineDispatcher","path":"Back-End/kotlin/coroutine/coroutinedispatcher.md","url":"/estudy/Back-End/kotlin/coroutine/coroutinedispatcher.html","section":"Back-End","choseong":"CoroutineDispatcher","size":4208,"degree":3},{"id":333,"title":"launch, async","path":"Back-End/kotlin/coroutine/launch.md","url":"/estudy/Back-End/kotlin/coroutine/launch.html","section":"Back-End","choseong":"launch, async","size":3316,"degree":2},{"id":334,"title":"Coroutine Job을 Lazy하게 만들기","path":"Back-End/kotlin/coroutine/lazy.md","url":"/estudy/Back-End/kotlin/coroutine/lazy.html","section":"Back-End","choseong":"Coroutine Jobㅇ Lazyㅎㄱ ㅁㄷㄱ","size":2061,"degree":2},{"id":335,"title":"Coroutine Job 상태 관리","path":"Back-End/kotlin/coroutine/state.md","url":"/estudy/Back-End/kotlin/coroutine/state.html","section":"Back-End","choseong":"Coroutine Job ㅅㅌ ㄱㄹ","size":5092,"degree":2},{"id":336,"title":"Coroutine 상태 변수","path":"Back-End/kotlin/coroutine/state_variable.md","url":"/estudy/Back-End/kotlin/coroutine/state_variable.html","section":"Back-End","choseong":"Coroutine ㅅㅌ ㅂㅅ","size":2260,"degree":2},{"id":337,"title":"suspend fun","path":"Back-End/kotlin/coroutine/suspend.md","url":"/estudy/Back-End/kotlin/coroutine/suspend.html","section":"Back-End","choseong":"suspend fun","size":4358,"degree":2},{"id":338,"title":"data 클래스로 persistence 구현하기","path":"Back-End/kotlin/datapersist.md","url":"/estudy/Back-End/kotlin/datapersist.html","section":"Back-End","choseong":"data ㅋㄹㅅㄹ persistence ㄱㅎㅎㄱ","size":2225,"degree":2},{"id":339,"title":"코틀린 대리자 delegate","path":"Back-End/kotlin/delegate.md","url":"/estudy/Back-End/kotlin/delegate.html","section":"Back-End","choseong":"ㅋㅌㄹ ㄷㄹㅈ delegate","size":3375,"degree":2},{"id":340,"title":"Kotlin Delegation으로 결합도 낮추기","path":"Back-End/kotlin/delegate2.md","url":"/estudy/Back-End/kotlin/delegate2.html","section":"Back-End","choseong":"Kotlin Delegationㅇㄹ ㄱㅎㄷ ㄴㅊㄱ","size":2533,"degree":2},{"id":341,"title":"Kotlin DSL","path":"Back-End/kotlin/dsl.md","url":"/estudy/Back-End/kotlin/dsl.html","section":"Back-End","choseong":"Kotlin DSL","size":2177,"degree":3},{"id":342,"title":"lateinit과 Delegates.notNull<>()로 적절한 null 처리하기","path":"Back-End/kotlin/effectivenull.md","url":"/estudy/Back-End/kotlin/effectivenull.html","section":"Back-End","choseong":"lateinitㄱ Delegates.notNull<>()ㄹ ㅈㅈㅎ null ㅊㄹㅎㄱ","size":2585,"degree":2},{"id":343,"title":"Kotlin Class, Field vs Property","path":"Back-End/kotlin/field_property.md","url":"/estudy/Back-End/kotlin/field_property.html","section":"Back-End","choseong":"Kotlin Class, Field vs Property","size":2420,"degree":2},{"id":344,"title":"코틀린의 함수형 프로그래밍","path":"Back-End/kotlin/fun.md","url":"/estudy/Back-End/kotlin/fun.html","section":"Back-End","choseong":"ㅋㅌㄹㅇ ㅎㅅㅎ ㅍㄹㄱㄹㅁ","size":1669,"degree":2},{"id":345,"title":"infix, inline function","path":"Back-End/kotlin/inline.md","url":"/estudy/Back-End/kotlin/inline.html","section":"Back-End","choseong":"infix, inline function","size":3015,"degree":2},{"id":346,"title":"inline fun 함수를 사용해 고차 함수 최적화","path":"Back-End/kotlin/inline2.md","url":"/estudy/Back-End/kotlin/inline2.html","section":"Back-End","choseong":"inline fun ㅎㅅㄹ ㅅㅇㅎ ㄱㅊ ㅎㅅ ㅊㅈㅎ","size":4186,"degree":2},{"id":347,"title":"@JvmField && @JvmStatic 어노테이션","path":"Back-End/kotlin/jvmannotation.md","url":"/estudy/Back-End/kotlin/jvmannotation.html","section":"Back-End","choseong":"@JvmField && @JvmStatic ㅇㄴㅌㅇㅅ","size":2780,"degree":2},{"id":348,"title":"[Kotlin] kapt란?","path":"Back-End/kotlin/kapt.md","url":"/estudy/Back-End/kotlin/kapt.html","section":"Back-End","choseong":"[Kotlin] kaptㄹ?","size":3221,"degree":2},{"id":349,"title":"Kotlin으로 Spring Framework 사용","path":"Back-End/kotlin/kopring.md","url":"/estudy/Back-End/kotlin/kopring.html","section":"Back-End","choseong":"Kotlinㅇㄹ Spring Framework ㅅㅇ","size":3061,"degree":2},{"id":350,"title":"kotest를 사용해 테스트 코드 작성하기","path":"Back-End/kotlin/kotest.md","url":"/estudy/Back-End/kotlin/kotest.html","section":"Back-End","choseong":"kotestㄹ ㅅㅇㅎ ㅌㅅㅌ ㅋㄷ ㅈㅅㅎㄱ","size":7315,"degree":2},{"id":351,"title":"코틀린이란 무엇이며 왜 필요한가?","path":"Back-End/kotlin/kotlin.md","url":"/estudy/Back-End/kotlin/kotlin.html","section":"Back-End","choseong":"ㅋㅌㄹㅇㄹ ㅁㅇㅇㅁ ㅇ ㅍㅇㅎㄱ?","size":3177,"degree":3},{"id":352,"title":"Kotlin, JPA가 서로 지향하는 방향의 차이","path":"Back-End/kotlin/kotlin_jpa.md","url":"/estudy/Back-End/kotlin/kotlin_jpa.html","section":"Back-End","choseong":"Kotlin, JPAㄱ ㅅㄹ ㅈㅎㅎㄴ ㅂㅎㅇ ㅊㅇ","size":1172,"degree":2},{"id":353,"title":"코틀린 객체 지향 프로그래밍","path":"Back-End/kotlin/kotlinoop.md","url":"/estudy/Back-End/kotlin/kotlinoop.html","section":"Back-End","choseong":"ㅋㅌㄹ ㄱㅊ ㅈㅎ ㅍㄹㄱㄹㅁ","size":7456,"degree":2},{"id":354,"title":"Kotlin에서는 왜 lombok 라이브러리를 사용할 수 없을까?","path":"Back-End/kotlin/lombokcant.md","url":"/estudy/Back-End/kotlin/lombokcant.html","section":"Back-End","choseong":"Kotlinㅇㅅㄴ ㅇ lombok ㄹㅇㅂㄹㄹㄹ ㅅㅇㅎ ㅅ ㅇㅇㄲ?","size":1195,"degree":2},{"id":355,"title":"Kotlin runCatching과 Result 타입","path":"Back-End/kotlin/runcatching.md","url":"/estudy/Back-End/kotlin/runcatching.html","section":"Back-End","choseong":"Kotlin runCatchingㄱ Result ㅌㅇ","size":4847,"degree":2},{"id":356,"title":"Kotlin 함수형 인터페이스와 SAM 생성자","path":"Back-End/kotlin/sam.md","url":"/estudy/Back-End/kotlin/sam.html","section":"Back-End","choseong":"Kotlin ㅎㅅㅎ ㅇㅌㅍㅇㅅㅇ SAM ㅅㅅㅈ","size":5166,"degree":2},{"id":357,"title":"Kotlin 스코프 함수 (Scope Function)","path":"Back-End/kotlin/scope_function.md","url":"/estudy/Back-End/kotlin/scope_function.html","section":"Back-End","choseong":"Kotlin ㅅㅋㅍ ㅎㅅ (Scope Function)","size":3717,"degree":2},{"id":358,"title":"sealed class","path":"Back-End/kotlin/sealed.md","url":"/estudy/Back-End/kotlin/sealed.html","section":"Back-End","choseong":"sealed class","size":6604,"degree":2},{"id":359,"title":"Kotlin 시퀀스와 지연 계산 (Sequences and Lazy Evaluation)","path":"Back-End/kotlin/sequence.md","url":"/estudy/Back-End/kotlin/sequence.html","section":"Back-End","choseong":"Kotlin ㅅㅋㅅㅇ ㅈㅇ ㄱㅅ (Sequences and Lazy Evaluation)","size":5225,"degree":2},{"id":360,"title":"Kotlin에서 싱글톤 클래스를 어떻게 생성할까요?","path":"Back-End/kotlin/singleton.md","url":"/estudy/Back-End/kotlin/singleton.html","section":"Back-End","choseong":"Kotlinㅇㅅ ㅅㄱㅌ ㅋㄹㅅㄹ ㅇㄸㄱ ㅅㅅㅎㄲㅇ?","size":1622,"degree":2},{"id":361,"title":"sortedWith, Comparator 정렬 람다식","path":"Back-End/kotlin/sortedWith.md","url":"/estudy/Back-End/kotlin/sortedWith.html","section":"Back-End","choseong":"sortedWith, Comparator ㅈㄹ ㄹㄷㅅ","size":1931,"degree":2},{"id":362,"title":"Kotlin Generics 스타 프로젝션, reified 자료형","path":"Back-End/kotlin/starpro.md","url":"/estudy/Back-End/kotlin/starpro.html","section":"Back-End","choseong":"Kotlin Generics ㅅㅌ ㅍㄹㅈㅅ, reified ㅈㄹㅎ","size":1524,"degree":2},{"id":363,"title":"mapOf(), to로 Pair 인스턴스 생성하기","path":"Back-End/kotlin/toPair.md","url":"/estudy/Back-End/kotlin/toPair.html","section":"Back-End","choseong":"mapOf(), toㄹ Pair ㅇㅅㅌㅅ ㅅㅅㅎㄱ","size":1028,"degree":2},{"id":364,"title":"클래스 외부의 함수(A package-level/ Top-level 함수)","path":"Back-End/kotlin/top_level.md","url":"/estudy/Back-End/kotlin/top_level.html","section":"Back-End","choseong":"ㅋㄹㅅ ㅇㅂㅇ ㅎㅅ(A package-level/ Top-level ㅎㅅ)","size":1438,"degree":2},{"id":365,"title":"Kotlin에서 Unit과 Nothing의 차이점","path":"Back-End/kotlin/unit_nothing.md","url":"/estudy/Back-End/kotlin/unit_nothing.html","section":"Back-End","choseong":"Kotlinㅇㅅ Unitㄱ Nothingㅇ ㅊㅇㅈ","size":2461,"degree":2},{"id":366,"title":".close()가 필요한 클래스를 사용할 때, use로 효율적으로 사용하기","path":"Back-End/kotlin/use.md","url":"/estudy/Back-End/kotlin/use.html","section":"Back-End","choseong":".close()ㄱ ㅍㅇㅎ ㅋㄹㅅㄹ ㅅㅇㅎ ㄸ, useㄹ ㅎㅇㅈㅇㄹ ㅅㅇㅎㄱ","size":2041,"degree":2},{"id":367,"title":"Kotlin Generics 공변성, 반공변성, 무변성","path":"Back-End/kotlin/공변성.md","url":"/estudy/Back-End/kotlin/공변성.html","section":"Back-End","choseong":"Kotlin Generics ㄱㅂㅅ, ㅂㄱㅂㅅ, ㅁㅂㅅ","size":4857,"degree":2},{"id":368,"title":"KISS, YAGNI, DRY","path":"Back-End/kyd.md","url":"/estudy/Back-End/kyd.html","section":"Back-End","choseong":"KISS, YAGNI, DRY","size":2600,"degree":2},{"id":369,"title":"LXC(Linux Container)","path":"Back-End/linux/lxc.md","url":"/estudy/Back-End/linux/lxc.html","section":"Back-End","choseong":"LXC(Linux Container)","size":6041,"degree":2},{"id":370,"title":"nmap","path":"Back-End/linux/nmap.md","url":"/estudy/Back-End/linux/nmap.html","section":"Back-End","choseong":"nmap","size":3168,"degree":2},{"id":371,"title":"EventLoopGroup","path":"Back-End/netty/elg.md","url":"/estudy/Back-End/netty/elg.html","section":"Back-End","choseong":"EventLoopGroup","size":7119,"degree":2},{"id":372,"title":"Netty Native Memory Tuning, BackPressure","path":"Back-End/netty/native.md","url":"/estudy/Back-End/netty/native.html","section":"Back-End","choseong":"Netty Native Memory Tuning, BackPressure","size":10085,"degree":2},{"id":373,"title":"NioEventLoop vs EpollEventLoop","path":"Back-End/netty/nioepoll.md","url":"/estudy/Back-End/netty/nioepoll.html","section":"Back-End","choseong":"NioEventLoop vs EpollEventLoop","size":11910,"degree":2},{"id":374,"title":"Netty Async Flow Control","path":"Back-End/netty_async.md","url":"/estudy/Back-End/netty_async.html","section":"Back-End","choseong":"Netty Async Flow Control","size":11555,"degree":2},{"id":375,"title":"Netty Message Flow","path":"Back-End/netty_flow.md","url":"/estudy/Back-End/netty_flow.html","section":"Back-End","choseong":"Netty Message Flow","size":3344,"degree":2},{"id":376,"title":"Netty Thread Model","path":"Back-End/netty_thread.md","url":"/estudy/Back-End/netty_thread.html","section":"Back-End","choseong":"Netty Thread Model","size":8738,"degree":3},{"id":377,"title":"Netty가 완료된 작업을 식별하는 메커니즘","path":"Back-End/nettyiden.md","url":"/estudy/Back-End/nettyiden.html","section":"Back-End","choseong":"Nettyㄱ ㅇㄹㄷ ㅈㅇㅇ ㅅㅂㅎㄴ ㅁㅋㄴㅈ","size":3012,"degree":2},{"id":378,"title":"Netty Proxy","path":"Back-End/nettyproxy.md","url":"/estudy/Back-End/nettyproxy.html","section":"Back-End","choseong":"Netty Proxy","size":3412,"degree":2},{"id":379,"title":"외부 연동 시스템 리소스 제약과 쏟아지는 트래픽 대응","path":"Back-End/nice.md","url":"/estudy/Back-End/nice.html","section":"Back-End","choseong":"ㅇㅂ ㅇㄷ ㅅㅅㅌ ㄹㅅㅅ ㅈㅇㄱ ㅆㅇㅈㄴ ㅌㄹㅍ ㄷㅇ","size":30354,"degree":2},{"id":380,"title":"분산 합의 (Consensus) 알고리즘","path":"Back-End/paxra.md","url":"/estudy/Back-End/paxra.html","section":"Back-End","choseong":"ㅂㅅ ㅎㅇ (Consensus) ㅇㄱㄹㅈ","size":11504,"degree":3},{"id":381,"title":"Socket Programming","path":"Back-End/socketp.md","url":"/estudy/Back-End/socketp.html","section":"Back-End","choseong":"Socket Programming","size":7028,"degree":2},{"id":382,"title":"📗 Spring boot Actuator 스프링 부트 액추에이터 API + Spring Cloud를 사용한 예제","path":"Back-End/spring/actuator.md","url":"/estudy/Back-End/spring/actuator.html","section":"Back-End","choseong":"📗 Spring boot Actuator ㅅㅍㄹ ㅂㅌ ㅇㅊㅇㅇㅌ API + Spring Cloudㄹ ㅅㅇㅎ ㅇㅈ","size":4716,"degree":2},{"id":383,"title":"Spring AOP Advice 순서 제어 방법","path":"Back-End/spring/advice_control.md","url":"/estudy/Back-End/spring/advice_control.html","section":"Back-End","choseong":"Spring AOP Advice ㅅㅅ ㅈㅇ ㅂㅂ","size":3882,"degree":2},{"id":384,"title":"Spring의 대표적인 @Annotation과 역할","path":"Back-End/spring/annotation.md","url":"/estudy/Back-End/spring/annotation.html","section":"Back-End","choseong":"Springㅇ ㄷㅍㅈㅇ @Annotationㄱ ㅇㅎ","size":8474,"degree":3},{"id":385,"title":"Spring AOP (Aspect Oriented Programming) 개념","path":"Back-End/spring/aop.md","url":"/estudy/Back-End/spring/aop.html","section":"Back-End","choseong":"Spring AOP (Aspect Oriented Programming) ㄱㄴ","size":8466,"degree":3},{"id":386,"title":"🌱 [Spring] AOP(Aspect Oriented Programming) 대체 뭘까? 🧐","path":"Back-End/spring/aop_basic.md","url":"/estudy/Back-End/spring/aop_basic.html","section":"Back-End","choseong":"🌱 [Spring] AOP(Aspect Oriented Programming) ㄷㅊ ㅁㄲ? 🧐","size":7104,"degree":2},{"id":387,"title":"Spring AOP와 다이나믹 프록시를 사용해 트랜잭션 분리하기","path":"Back-End/spring/aop_transaction.md","url":"/estudy/Back-End/spring/aop_transaction.html","section":"Back-End","choseong":"Spring AOPㅇ ㄷㅇㄴㅁ ㅍㄹㅅㄹ ㅅㅇㅎ ㅌㄹㅈㅅ ㅂㄹㅎㄱ","size":6573,"degree":2},{"id":388,"title":"Spring ArgumentResolver를 이용한 유연성 있는 파라미터 처리","path":"Back-End/spring/args_resolver.md","url":"/estudy/Back-End/spring/args_resolver.html","section":"Back-End","choseong":"Spring ArgumentResolverㄹ ㅇㅇㅎ ㅇㅇㅅ ㅇㄴ ㅍㄹㅁㅌ ㅊㄹ","size":5073,"degree":2},{"id":389,"title":"Spring AOP 라이브러리 AspectJ","path":"Back-End/spring/aspectj.md","url":"/estudy/Back-End/spring/aspectj.html","section":"Back-End","choseong":"Spring AOP ㄹㅇㅂㄹㄹ AspectJ","size":2537,"degree":3},{"id":390,"title":"스프링 부트 배치 Spring boot Batch","path":"Back-End/spring/batch.md","url":"/estudy/Back-End/spring/batch.html","section":"Back-End","choseong":"ㅅㅍㄹ ㅂㅌ ㅂㅊ Spring boot Batch","size":9650,"degree":2},{"id":391,"title":"Spring Batch 데이터 일관성 관리","path":"Back-End/spring/batch_concurrency.md","url":"/estudy/Back-End/spring/batch_concurrency.html","section":"Back-End","choseong":"Spring Batch ㄷㅇㅌ ㅇㄱㅅ ㄱㄹ","size":2440,"degree":2},{"id":392,"title":"Spring Batch 기술적 트레이드 오프","path":"Back-End/spring/batch_tradeoff.md","url":"/estudy/Back-End/spring/batch_tradeoff.html","section":"Back-End","choseong":"Spring Batch ㄱㅅㅈ ㅌㄹㅇㄷ ㅇㅍ","size":3529,"degree":2},{"id":393,"title":"스프링 빈(Bean) 이란?","path":"Back-End/spring/bean.md","url":"/estudy/Back-End/spring/bean.html","section":"Back-End","choseong":"ㅅㅍㄹ ㅂ(Bean) ㅇㄹ?","size":4909,"degree":3},{"id":394,"title":"빈 스코프와 발생할 수 있는 여러 문제들과 해결 방법","path":"Back-End/spring/bean_scope.md","url":"/estudy/Back-End/spring/bean_scope.html","section":"Back-End","choseong":"ㅂ ㅅㅋㅍㅇ ㅂㅅㅎ ㅅ ㅇㄴ ㅇㄹ ㅁㅈㄷㄱ ㅎㄱ ㅂㅂ","size":8196,"degree":2},{"id":395,"title":"애플리케이션 로직, 인프라 빈, 컨테이너 인프라 빈","path":"Back-End/spring/beans.md","url":"/estudy/Back-End/spring/beans.html","section":"Back-End","choseong":"ㅇㅍㄹㅋㅇㅅ ㄹㅈ, ㅇㅍㄹ ㅂ, ㅋㅌㅇㄴ ㅇㅍㄹ ㅂ","size":2097,"degree":2},{"id":396,"title":"Bean Scope, DL(Dependency Lookup), Provider","path":"Back-End/spring/beanscope.md","url":"/estudy/Back-End/spring/beanscope.html","section":"Back-End","choseong":"Bean Scope, DL(Dependency Lookup), Provider","size":11705,"degree":2},{"id":397,"title":"Spring boot @Builder 에 대하여","path":"Back-End/spring/builder.md","url":"/estudy/Back-End/spring/builder.html","section":"Back-End","choseong":"Spring boot @Builder ㅇ ㄷㅎㅇ","size":1949,"degree":3},{"id":398,"title":"ControllerAdvice는 AOP로 구현되어 있을까? 동작 과정 살펴보기","path":"Back-End/spring/controlleradvice.md","url":"/estudy/Back-End/spring/controlleradvice.html","section":"Back-End","choseong":"ControllerAdviceㄴ AOPㄹ ㄱㅎㄷㅇ ㅇㅇㄲ? ㄷㅈ ㄱㅈ ㅅㅍㅂㄱ","size":7978,"degree":2},{"id":399,"title":"[Kotlin, Spring boot] copy() 깊은복사, 얕은복사 성능상의 이점? 🤔","path":"Back-End/spring/copy.md","url":"/estudy/Back-End/spring/copy.html","section":"Back-End","choseong":"[Kotlin, Spring boot] copy() ㄱㅇㅂㅅ, ㅇㅇㅂㅅ ㅅㄴㅅㅇ ㅇㅈ? 🤔","size":10528,"degree":2},{"id":400,"title":"Controller , Service , Repository","path":"Back-End/spring/cre.md","url":"/estudy/Back-End/spring/cre.html","section":"Back-End","choseong":"Controller , Service , Repository","size":4644,"degree":3},{"id":401,"title":"Spring Data Binding, Converter, Formatter","path":"Back-End/spring/data_binding.md","url":"/estudy/Back-End/spring/data_binding.html","section":"Back-End","choseong":"Spring Data Binding, Converter, Formatter","size":2226,"degree":2},{"id":402,"title":"Spring Data JPA 동작 원리","path":"Back-End/spring/datajpa.md","url":"/estudy/Back-End/spring/datajpa.html","section":"Back-End","choseong":"Spring Data JPA ㄷㅈ ㅇㄹ","size":3490,"degree":2},{"id":403,"title":"💻 디스패처 서블릿 Dispatcher-Servlet의 개념과 동작 과정 알아보기","path":"Back-End/spring/dispatcher_servlet.md","url":"/estudy/Back-End/spring/dispatcher_servlet.html","section":"Back-End","choseong":"💻 ㄷㅅㅍㅊ ㅅㅂㄹ Dispatcher-Servletㅇ ㄱㄴㄱ ㄷㅈ ㄱㅈ ㅇㅇㅂㄱ","size":8928,"degree":2},{"id":404,"title":"Spring boot @ExceptionHandler를 통한 예외처리","path":"Back-End/spring/exception.md","url":"/estudy/Back-End/spring/exception.html","section":"Back-End","choseong":"Spring boot @ExceptionHandlerㄹ ㅌㅎ ㅇㅇㅊㄹ","size":3679,"degree":3},{"id":405,"title":"🔒 Servlet Filter, Spring Intercepter 특징과 차이 이해하기","path":"Back-End/spring/filter_interceptor.md","url":"/estudy/Back-End/spring/filter_interceptor.html","section":"Back-End","choseong":"🔒 Servlet Filter, Spring Intercepter ㅌㅈㄱ ㅊㅇ ㅇㅎㅎㄱ","size":17505,"degree":2},{"id":406,"title":"[Kotlin, Spring boot] 검색 api에서 find Query vs Internal Function 데이터 처리 효율? 🤔","path":"Back-End/spring/find_query.md","url":"/estudy/Back-End/spring/find_query.html","section":"Back-End","choseong":"[Kotlin, Spring boot] ㄱㅅ apiㅇㅅ find Query vs Internal Function ㄷㅇㅌ ㅊㄹ ㅎㅇ? 🤔","size":3272,"degree":2},{"id":407,"title":"indexing","path":"Back-End/spring/indexing.md","url":"/estudy/Back-End/spring/indexing.html","section":"Back-End","choseong":"indexing","size":353,"degree":2},{"id":408,"title":"IoC 컨테이너 (Inversion of Control)","path":"Back-End/spring/ioc.md","url":"/estudy/Back-End/spring/ioc.html","section":"Back-End","choseong":"IoC ㅋㅌㅇㄴ (Inversion of Control)","size":3885,"degree":3},{"id":409,"title":"[Spring] IoC, DI, Spring Container, Bean 완벽하게 알아보자 📗","path":"Back-End/spring/iocdi.md","url":"/estudy/Back-End/spring/iocdi.html","section":"Back-End","choseong":"[Spring] IoC, DI, Spring Container, Bean ㅇㅂㅎㄱ ㅇㅇㅂㅈ 📗","size":5310,"degree":2},{"id":410,"title":"Spring JDBC, DataSorce란?","path":"Back-End/spring/jdbc.md","url":"/estudy/Back-End/spring/jdbc.html","section":"Back-End","choseong":"Spring JDBC, DataSorceㄹ?","size":2606,"degree":3},{"id":411,"title":"Jwt (Json Web Token) 알아보기","path":"Back-End/spring/jwt.md","url":"/estudy/Back-End/spring/jwt.html","section":"Back-End","choseong":"Jwt (Json Web Token) ㅇㅇㅂㄱ","size":4878,"degree":3},{"id":412,"title":"Lombok 반드시 알고 써야하는 @annotation 모음","path":"Back-End/spring/lombok.md","url":"/estudy/Back-End/spring/lombok.html","section":"Back-End","choseong":"Lombok ㅂㄷㅅ ㅇㄱ ㅆㅇㅎㄴ @annotation ㅁㅇ","size":2425,"degree":3},{"id":413,"title":"스프링/Spring URL Mapping","path":"Back-End/spring/mapping.md","url":"/estudy/Back-End/spring/mapping.html","section":"Back-End","choseong":"ㅅㅍㄹ/Spring URL Mapping","size":2116,"degree":3},{"id":414,"title":"Mock 테스트와 Stub 테스트의 차이","path":"Back-End/spring/mock_stub.md","url":"/estudy/Back-End/spring/mock_stub.html","section":"Back-End","choseong":"Mock ㅌㅅㅌㅇ Stub ㅌㅅㅌㅇ ㅊㅇ","size":5021,"degree":2},{"id":415,"title":"코틀린 테스트 프레임워크 mockk 사용법","path":"Back-End/spring/mockk.md","url":"/estudy/Back-End/spring/mockk.html","section":"Back-End","choseong":"ㅋㅌㄹ ㅌㅅㅌ ㅍㄹㅇㅇㅋ mockk ㅅㅇㅂ","size":3150,"degree":2},{"id":416,"title":"Spring Data JPA @Modifiying","path":"Back-End/spring/modifying.md","url":"/estudy/Back-End/spring/modifying.html","section":"Back-End","choseong":"Spring Data JPA @Modifiying","size":2578,"degree":2},{"id":417,"title":"MVC 패턴이란 무엇일까?","path":"Back-End/spring/mvc.md","url":"/estudy/Back-End/spring/mvc.html","section":"Back-End","choseong":"MVC ㅍㅌㅇㄹ ㅁㅇㅇㄲ?","size":1428,"degree":3},{"id":418,"title":"High Hiberante Performance, NaturalId","path":"Back-End/spring/naturalid.md","url":"/estudy/Back-End/spring/naturalid.html","section":"Back-End","choseong":"High Hiberante Performance, NaturalId","size":5233,"degree":2},{"id":419,"title":"ObjectMapper의 동작 방식과 Spring boot가 제공하는 추가 기능들","path":"Back-End/spring/objmapper.md","url":"/estudy/Back-End/spring/objmapper.html","section":"Back-End","choseong":"ObjectMapperㅇ ㄷㅈ ㅂㅅㄱ Spring bootㄱ ㅈㄱㅎㄴ ㅊㄱ ㄱㄴㄷ","size":8856,"degree":2},{"id":420,"title":"스프링 패키지 구조(Spring Package Structure) - 계층형 vs 도메인형","path":"Back-End/spring/package.md","url":"/estudy/Back-End/spring/package.html","section":"Back-End","choseong":"ㅅㅍㄹ ㅍㅋㅈ ㄱㅈ(Spring Package Structure) - ㄱㅊㅎ vs ㄷㅁㅇㅎ","size":2313,"degree":3},{"id":421,"title":"Koltin에서 Spring을 실행하기 위한 plugin, dependencies","path":"Back-End/spring/plugko.md","url":"/estudy/Back-End/spring/plugko.html","section":"Back-End","choseong":"Koltinㅇㅅ Springㅇ ㅅㅎㅎㄱ ㅇㅎ plugin, dependencies","size":4114,"degree":2},{"id":422,"title":"Spring boot 프로젝트 profile 설정하기","path":"Back-End/spring/profile.md","url":"/estudy/Back-End/spring/profile.html","section":"Back-End","choseong":"Spring boot ㅍㄹㅈㅌ profile ㅅㅈㅎㄱ","size":2692,"degree":2},{"id":423,"title":"Spring Resource Interface, Resource 추상화와 구현체","path":"Back-End/spring/resource.md","url":"/estudy/Back-End/spring/resource.html","section":"Back-End","choseong":"Spring Resource Interface, Resource ㅊㅅㅎㅇ ㄱㅎㅊ","size":1308,"degree":2},{"id":424,"title":"ResourceLoader, ResourcePatternResolver, ApplicationContext and Resources Paths","path":"Back-End/spring/resource2.md","url":"/estudy/Back-End/spring/resource2.html","section":"Back-End","choseong":"ResourceLoader, ResourcePatternResolver, ApplicationContext and Resources Paths","size":2176,"degree":2},{"id":425,"title":"Spring Scheduler를 사용해 일정 주기로 동작 수행","path":"Back-End/spring/scheduler.md","url":"/estudy/Back-End/spring/scheduler.html","section":"Back-End","choseong":"Spring Schedulerㄹ ㅅㅇㅎ ㅇㅈ ㅈㄱㄹ ㄷㅈ ㅅㅎ","size":2641,"degree":2},{"id":426,"title":"(Spring boot + Security) SecurityConfig 설정하기","path":"Back-End/spring/scuconfig.md","url":"/estudy/Back-End/spring/scuconfig.html","section":"Back-End","choseong":"(Spring boot + Security) SecurityConfig ㅅㅈㅎㄱ","size":6017,"degree":3},{"id":427,"title":"Spring Security Filter","path":"Back-End/spring/security_filter.md","url":"/estudy/Back-End/spring/security_filter.html","section":"Back-End","choseong":"Spring Security Filter","size":5202,"degree":2},{"id":428,"title":"SecurityContextHolderStrategy (ThreadLocal, InheritableThreadLocal, Global)","path":"Back-End/spring/security_strategy.md","url":"/estudy/Back-End/spring/security_strategy.html","section":"Back-End","choseong":"SecurityContextHolderStrategy (ThreadLocal, InheritableThreadLocal, Global)","size":875,"degree":2},{"id":429,"title":"Spring 에서의 Connection Pool, HikariCP","path":"Back-End/spring/springcp.md","url":"/estudy/Back-End/spring/springcp.html","section":"Back-End","choseong":"Spring ㅇㅅㅇ Connection Pool, HikariCP","size":2281,"degree":2},{"id":430,"title":"Swagger를 활용한 API 문서 자동화","path":"Back-End/spring/swagger.md","url":"/estudy/Back-End/spring/swagger.html","section":"Back-End","choseong":"Swaggerㄹ ㅎㅇㅎ API ㅁㅅ ㅈㄷㅎ","size":4628,"degree":2},{"id":431,"title":"Spring Test시에 Spring Security인증을 할 수 있는 어노테이션","path":"Back-End/spring/testsecurity.md","url":"/estudy/Back-End/spring/testsecurity.html","section":"Back-End","choseong":"Spring Testㅅㅇ Spring Securityㅇㅈㅇ ㅎ ㅅ ㅇㄴ ㅇㄴㅌㅇㅅ","size":779,"degree":2},{"id":432,"title":"Spring Security AccessToken & RefreshToken","path":"Back-End/spring/token.md","url":"/estudy/Back-End/spring/token.html","section":"Back-End","choseong":"Spring Security AccessToken & RefreshToken","size":2639,"degree":3},{"id":433,"title":"Spring boot 내장 웹 서버 톰캣 설정, 다른 내장 웹 서버 설정하는 방법","path":"Back-End/spring/tomcat.md","url":"/estudy/Back-End/spring/tomcat.html","section":"Back-End","choseong":"Spring boot ㄴㅈ ㅇ ㅅㅂ ㅌㅋ ㅅㅈ, ㄷㄹ ㄴㅈ ㅇ ㅅㅂ ㅅㅈㅎㄴ ㅂㅂ","size":5410,"degree":2},{"id":434,"title":"Spring Data JPA와 @Transactional","path":"Back-End/spring/transactionaljpa.md","url":"/estudy/Back-End/spring/transactionaljpa.html","section":"Back-End","choseong":"Spring Data JPAㅇ @Transactional","size":8830,"degree":2},{"id":435,"title":"Spring @Transactional 트랜잭션 바인딩과 Auto-Commit","path":"Back-End/spring/trx_autocommit.md","url":"/estudy/Back-End/spring/trx_autocommit.html","section":"Back-End","choseong":"Spring @Transactional ㅌㄹㅈㅅ ㅂㅇㄷㄱ Auto-Commit","size":6708,"degree":2},{"id":436,"title":"Spring Validation을 이용한 유효성 검증","path":"Back-End/spring/valid.md","url":"/estudy/Back-End/spring/valid.html","section":"Back-End","choseong":"Spring Validationㅇ ㅇㅇㅎ ㅇㅎㅅ ㄱㅈ","size":1923,"degree":3},{"id":437,"title":"Spring WebFlux vs MVC, 내부 작동 방식","path":"Back-End/spring/webflux/webflux.md","url":"/estudy/Back-End/spring/webflux/webflux.html","section":"Back-End","choseong":"Spring WebFlux vs MVC, ㄴㅂ ㅈㄷ ㅂㅅ","size":5152,"degree":2},{"id":438,"title":"📗 Spring WebFlux, Reactive Stream, R2DBC, Mono, Flux 정복하기","path":"Back-End/spring/webflux_reactive.md","url":"/estudy/Back-End/spring/webflux_reactive.html","section":"Back-End","choseong":"📗 Spring WebFlux, Reactive Stream, R2DBC, Mono, Flux ㅈㅂㅎㄱ","size":5387,"degree":2},{"id":439,"title":"캐시 스템피드 현상 제어 (Distributed Lock, PER)","path":"Back-End/stampede.md","url":"/estudy/Back-End/stampede.html","section":"Back-End","choseong":"ㅋㅅ ㅅㅌㅍㄷ ㅎㅅ ㅈㅇ (Distributed Lock, PER)","size":21043,"degree":2},{"id":440,"title":"State Machine Pattern","path":"Back-End/state_machine.md","url":"/estudy/Back-End/state_machine.html","section":"Back-End","choseong":"State Machine Pattern","size":4476,"degree":2},{"id":441,"title":"State Machine","path":"Back-End/state_machine2.md","url":"/estudy/Back-End/state_machine2.html","section":"Back-End","choseong":"State Machine","size":6099,"degree":3},{"id":442,"title":"TDD란 (테스트 주도 개발)","path":"Back-End/test/tdd.md","url":"/estudy/Back-End/test/tdd.html","section":"Back-End","choseong":"TDDㄹ (ㅌㅅㅌ ㅈㄷ ㄱㅂ)","size":8886,"degree":2},{"id":443,"title":"SNAT 포트 고갈, DNS 해상도 지연 문제 해결","path":"Back-End/trafficportdns.md","url":"/estudy/Back-End/trafficportdns.html","section":"Back-End","choseong":"SNAT ㅍㅌ ㄱㄱ, DNS ㅎㅅㄷ ㅈㅇ ㅁㅈ ㅎㄱ","size":7280,"degree":2},{"id":444,"title":"Zookeeper가 Paxos를 기용한 이유","path":"Back-End/zookeeperpaxos.md","url":"/estudy/Back-End/zookeeperpaxos.html","section":"Back-End","choseong":"Zookeeperㄱ Paxosㄹ ㄱㅇㅎ ㅇㅇ","size":7474,"degree":3},{"id":445,"title":"ast","path":"Data-Structure/ast.md","url":"/estudy/Data-Structure/ast.html","section":"Data-Structure","choseong":"ast","size":3027,"degree":2},{"id":446,"title":"Parse Tree","path":"Data-Structure/parsetree.md","url":"/estudy/Data-Structure/parsetree.html","section":"Data-Structure","choseong":"Parse Tree","size":5307,"degree":2},{"id":447,"title":"그래프 graph","path":"Data-Structure/비선형/graph/graph.md","url":"/estudy/Data-Structure/비선형/graph/graph.html","section":"Data-Structure","choseong":"ㄱㄹㅍ graph","size":3864,"degree":3},{"id":448,"title":"너비 우선 탐색(BFS, Breadth-First Search)","path":"Data-Structure/비선형/graph/search/bfs.md","url":"/estudy/Data-Structure/비선형/graph/search/bfs.html","section":"Data-Structure","choseong":"ㄴㅂ ㅇㅅ ㅌㅅ(BFS, Breadth-First Search)","size":4193,"degree":2},{"id":449,"title":"깊이 우선 탐색(DFS, Depth-First Search","path":"Data-Structure/비선형/graph/search/dfs.md","url":"/estudy/Data-Structure/비선형/graph/search/dfs.html","section":"Data-Structure","choseong":"ㄱㅇ ㅇㅅ ㅌㅅ(DFS, Depth-First Search","size":5374,"degree":3},{"id":450,"title":"AVL Tree","path":"Data-Structure/비선형/tree/avl.md","url":"/estudy/Data-Structure/비선형/tree/avl.html","section":"Data-Structure","choseong":"AVL Tree","size":6679,"degree":2},{"id":451,"title":"이진 탐색 트리 BST Binary Search Tree","path":"Data-Structure/비선형/tree/bst.md","url":"/estudy/Data-Structure/비선형/tree/bst.html","section":"Data-Structure","choseong":"ㅇㅈ ㅌㅅ ㅌㄹ BST Binary Search Tree","size":3356,"degree":3},{"id":452,"title":"B-Tree","path":"Data-Structure/비선형/tree/btree.md","url":"/estudy/Data-Structure/비선형/tree/btree.html","section":"Data-Structure","choseong":"B-Tree","size":2841,"degree":3},{"id":453,"title":"B-Tree 데이터 삭제","path":"Data-Structure/비선형/tree/btree_delete.md","url":"/estudy/Data-Structure/비선형/tree/btree_delete.html","section":"Data-Structure","choseong":"B-Tree ㄷㅇㅌ ㅅㅈ","size":3972,"degree":3},{"id":454,"title":"Red-Black Tree : 레드 블랙 트리","path":"Data-Structure/비선형/tree/redblack.md","url":"/estudy/Data-Structure/비선형/tree/redblack.html","section":"Data-Structure","choseong":"Red-Black Tree : ㄹㄷ ㅂㄹ ㅌㄹ","size":12954,"degree":2},{"id":455,"title":"트리 Tree","path":"Data-Structure/비선형/tree/tree.md","url":"/estudy/Data-Structure/비선형/tree/tree.html","section":"Data-Structure","choseong":"ㅌㄹ Tree","size":9644,"degree":3},{"id":456,"title":"선형리스트 (LinearList)","path":"Data-Structure/선형/linearlist/linearlist.md","url":"/estudy/Data-Structure/선형/linearlist/linearlist.html","section":"Data-Structure","choseong":"ㅅㅎㄹㅅㅌ (LinearList)","size":2397,"degree":2},{"id":457,"title":"연결리스트 (linkedList)","path":"Data-Structure/선형/linkedlist/linkedlist.md","url":"/estudy/Data-Structure/선형/linkedlist/linkedlist.html","section":"Data-Structure","choseong":"ㅇㄱㄹㅅㅌ (linkedList)","size":3097,"degree":2},{"id":458,"title":"큐 queue","path":"Data-Structure/선형/queue/queue.md","url":"/estudy/Data-Structure/선형/queue/queue.html","section":"Data-Structure","choseong":"ㅋ queue","size":3894,"degree":2},{"id":459,"title":"스택 (Stack)","path":"Data-Structure/선형/stack/stack.md","url":"/estudy/Data-Structure/선형/stack/stack.html","section":"Data-Structure","choseong":"ㅅㅌ (Stack)","size":3230,"degree":2},{"id":460,"title":"ACID","path":"DataBase/ACID.md","url":"/estudy/DataBase/ACID.html","section":"DataBase","choseong":"ACID","size":1716,"degree":2},{"id":461,"title":"ORM의 개념과 종류, 활용 방안","path":"DataBase/ORMs.md","url":"/estudy/DataBase/ORMs.html","section":"DataBase","choseong":"ORMㅇ ㄱㄴㄱ ㅈㄹ, ㅎㅇ ㅂㅇ","size":2690,"degree":2},{"id":462,"title":"분석 함수를 활용해 쿼리 성능 높히기","path":"DataBase/analytic_function.md","url":"/estudy/DataBase/analytic_function.html","section":"DataBase","choseong":"ㅂㅅ ㅎㅅㄹ ㅎㅇㅎ ㅋㄹ ㅅㄴ ㄴㅎㄱ","size":3578,"degree":2},{"id":463,"title":"B+Tree","path":"DataBase/b+tree.md","url":"/estudy/DataBase/b+tree.html","section":"DataBase","choseong":"B+Tree","size":3369,"degree":2},{"id":464,"title":"CAP 이론","path":"DataBase/cap.md","url":"/estudy/DataBase/cap.html","section":"DataBase","choseong":"CAP ㅇㄹ","size":3981,"degree":2},{"id":465,"title":"데이터베이스에서 클러스터 Cluster와 조건","path":"DataBase/cluster.md","url":"/estudy/DataBase/cluster.html","section":"DataBase","choseong":"ㄷㅇㅌㅂㅇㅅㅇㅅ ㅋㄹㅅㅌ Clusterㅇ ㅈㄱ","size":3462,"degree":2},{"id":466,"title":"Clustering (Active Clustering, Standby Clustering)","path":"DataBase/clustering.md","url":"/estudy/DataBase/clustering.html","section":"DataBase","choseong":"Clustering (Active Clustering, Standby Clustering)","size":1394,"degree":3},{"id":467,"title":"데이터베이스 커넥션 풀","path":"DataBase/connectionp.md","url":"/estudy/DataBase/connectionp.html","section":"DataBase","choseong":"ㄷㅇㅌㅂㅇㅅ ㅋㄴㅅ ㅍ","size":1593,"degree":2},{"id":468,"title":"커버링 인덱스","path":"DataBase/coverindex.md","url":"/estudy/DataBase/coverindex.html","section":"DataBase","choseong":"ㅋㅂㄹ ㅇㄷㅅ","size":5802,"degree":2},{"id":469,"title":"데이터베이스 부하분산(파티셔닝, 샤딩, 레플리케이션)","path":"DataBase/dbload.md","url":"/estudy/DataBase/dbload.html","section":"DataBase","choseong":"ㄷㅇㅌㅂㅇㅅ ㅂㅎㅂㅅ(ㅍㅌㅅㄴ, ㅅㄷ, ㄹㅍㄹㅋㅇㅅ)","size":1227,"degree":2},{"id":470,"title":"Deadlock","path":"DataBase/dlock.md","url":"/estudy/DataBase/dlock.html","section":"DataBase","choseong":"Deadlock","size":7581,"degree":2},{"id":471,"title":"엔터티(Entity), 속성(Attribute), 관계(Relation)","path":"DataBase/ear.md","url":"/estudy/DataBase/ear.html","section":"DataBase","choseong":"ㅇㅌㅌ(Entity), ㅅㅅ(Attribute), ㄱㄱ(Relation)","size":4917,"degree":3},{"id":472,"title":"데이터베이스 성능을 위한 Index와 동작원리","path":"DataBase/index.md","url":"/estudy/DataBase/index.html","section":"DataBase","choseong":"ㄷㅇㅌㅂㅇㅅ ㅅㄴㅇ ㅇㅎ Indexㅇ ㄷㅈㅇㄹ","size":5434,"degree":2},{"id":473,"title":"InfluxDB","path":"DataBase/influx.md","url":"/estudy/DataBase/influx.html","section":"DataBase","choseong":"InfluxDB","size":9650,"degree":2},{"id":474,"title":"Join 연산 정리","path":"DataBase/join.md","url":"/estudy/DataBase/join.html","section":"DataBase","choseong":"Join ㅇㅅ ㅈㄹ","size":4265,"degree":2},{"id":475,"title":"키(Key)의 개념 및 종류","path":"DataBase/key.md","url":"/estudy/DataBase/key.html","section":"DataBase","choseong":"ㅋ(Key)ㅇ ㄱㄴ ㅁ ㅈㄹ","size":3763,"degree":2},{"id":476,"title":"partitioning","path":"DataBase/load/partitioning.md","url":"/estudy/DataBase/load/partitioning.html","section":"DataBase","choseong":"partitioning","size":3448,"degree":2},{"id":477,"title":"partitioning2","path":"DataBase/load/partitioning2.md","url":"/estudy/DataBase/load/partitioning2.html","section":"DataBase","choseong":"partitioning2","size":4057,"degree":2},{"id":478,"title":"비관적 락, 낙관적 락","path":"DataBase/lock.md","url":"/estudy/DataBase/lock.html","section":"DataBase","choseong":"ㅂㄱㅈ ㄹ, ㄴㄱㅈ ㄹ","size":3967,"degree":2},{"id":479,"title":"LSM Tree","path":"DataBase/lsmtree.md","url":"/estudy/DataBase/lsmtree.html","section":"DataBase","choseong":"LSM Tree","size":5765,"degree":2},{"id":480,"title":"mmr","path":"DataBase/mmr.md","url":"/estudy/DataBase/mmr.html","section":"DataBase","choseong":"mmr","size":2258,"degree":2},{"id":481,"title":"데이터 모델링과 데이터 성질에 따른 DB 종류","path":"DataBase/modeling.md","url":"/estudy/DataBase/modeling.html","section":"DataBase","choseong":"ㄷㅇㅌ ㅁㄷㄹㄱ ㄷㅇㅌ ㅅㅈㅇ ㄸㄹ DB ㅈㄹ","size":1264,"degree":2},{"id":482,"title":"MySQL 8.0 InnoDB Locking","path":"DataBase/mysql_lock.md","url":"/estudy/DataBase/mysql_lock.html","section":"DataBase","choseong":"MySQL 8.0 InnoDB Locking","size":9852,"degree":2},{"id":483,"title":"데이터베이스 정규화(Normalization)","path":"DataBase/normal.md","url":"/estudy/DataBase/normal.html","section":"DataBase","choseong":"ㄷㅇㅌㅂㅇㅅ ㅈㄱㅎ(Normalization)","size":4253,"degree":2},{"id":484,"title":"crud","path":"DataBase/nosql/mongodb/crud.md","url":"/estudy/DataBase/nosql/mongodb/crud.html","section":"DataBase","choseong":"crud","size":4897,"degree":2},{"id":485,"title":"Document Database","path":"DataBase/nosql/mongodb/document.md","url":"/estudy/DataBase/nosql/mongodb/document.html","section":"DataBase","choseong":"Document Database","size":1530,"degree":3},{"id":486,"title":"MongoDB","path":"DataBase/nosql/mongodb/mongodb.md","url":"/estudy/DataBase/nosql/mongodb/mongodb.html","section":"DataBase","choseong":"MongoDB","size":2474,"degree":3},{"id":487,"title":"MongoDB 샤딩","path":"DataBase/nosql/mongodb/shard.md","url":"/estudy/DataBase/nosql/mongodb/shard.html","section":"DataBase","choseong":"MongoDB ㅅㄷ","size":3306,"degree":2},{"id":488,"title":"MongoDB 트레이드 오프 (vs RDB)","path":"DataBase/nosql/mongodb/tradeoff1.md","url":"/estudy/DataBase/nosql/mongodb/tradeoff1.html","section":"DataBase","choseong":"MongoDB ㅌㄹㅇㄷ ㅇㅍ (vs RDB)","size":3688,"degree":2},{"id":489,"title":"MongoDB 데이터 복구(UNDO, REDO)","path":"DataBase/nosql/mongodb/undo_redo.md","url":"/estudy/DataBase/nosql/mongodb/undo_redo.html","section":"DataBase","choseong":"MongoDB ㄷㅇㅌ ㅂㄱ(UNDO, REDO)","size":5809,"degree":2},{"id":490,"title":"Redis Architecture","path":"DataBase/nosql/redis/architecture.md","url":"/estudy/DataBase/nosql/redis/architecture.html","section":"DataBase","choseong":"Redis Architecture","size":8512,"degree":2},{"id":491,"title":"Redis 다중 명령에 대한 원자성 보장 방법","path":"DataBase/nosql/redis/atomic.md","url":"/estudy/DataBase/nosql/redis/atomic.html","section":"DataBase","choseong":"Redis ㄷㅈ ㅁㄹㅇ ㄷㅎ ㅇㅈㅅ ㅂㅈ ㅂㅂ","size":9252,"degree":2},{"id":492,"title":"Redis Cluster","path":"DataBase/nosql/redis/cluster.md","url":"/estudy/DataBase/nosql/redis/cluster.html","section":"DataBase","choseong":"Redis Cluster","size":13347,"degree":2},{"id":493,"title":"Redis 효율적인 서버 구성","path":"DataBase/nosql/redis/config.md","url":"/estudy/DataBase/nosql/redis/config.html","section":"DataBase","choseong":"Redis ㅎㅇㅈㅇ ㅅㅂ ㄱㅅ","size":4243,"degree":3},{"id":494,"title":"Redis Distributed Lock, RedLock","path":"DataBase/nosql/redis/distributed.md","url":"/estudy/DataBase/nosql/redis/distributed.html","section":"DataBase","choseong":"Redis Distributed Lock, RedLock","size":8506,"degree":2},{"id":495,"title":"Redis Distributed Lock, Example Spring Boot","path":"DataBase/nosql/redis/distributed2.md","url":"/estudy/DataBase/nosql/redis/distributed2.html","section":"DataBase","choseong":"Redis Distributed Lock, Example Spring Boot","size":12708,"degree":2},{"id":496,"title":"Redis Fragmentation Ratio","path":"DataBase/nosql/redis/fragment.md","url":"/estudy/DataBase/nosql/redis/fragment.html","section":"DataBase","choseong":"Redis Fragmentation Ratio","size":6526,"degree":2},{"id":497,"title":"Redis INCR","path":"DataBase/nosql/redis/incr.md","url":"/estudy/DataBase/nosql/redis/incr.html","section":"DataBase","choseong":"Redis INCR","size":7173,"degree":2},{"id":498,"title":"Redis failover시 데이터 손실 방지 방법","path":"DataBase/nosql/redis/locksync.md","url":"/estudy/DataBase/nosql/redis/locksync.html","section":"DataBase","choseong":"Redis failoverㅅ ㄷㅇㅌ ㅅㅅ ㅂㅈ ㅂㅂ","size":2703,"degree":2},{"id":499,"title":"Redis 메모리 관리, 최적화 방안","path":"DataBase/nosql/redis/memory.md","url":"/estudy/DataBase/nosql/redis/memory.html","section":"DataBase","choseong":"Redis ㅁㅁㄹ ㄱㄹ, ㅊㅈㅎ ㅂㅇ","size":7655,"degree":2},{"id":500,"title":"Redis","path":"DataBase/nosql/redis/redis.md","url":"/estudy/DataBase/nosql/redis/redis.html","section":"DataBase","choseong":"Redis","size":3507,"degree":3},{"id":501,"title":"Redis important fact about replication","path":"DataBase/nosql/redis/replica.md","url":"/estudy/DataBase/nosql/redis/replica.html","section":"DataBase","choseong":"Redis important fact about replication","size":5961,"degree":2},{"id":502,"title":"Redis Replication","path":"DataBase/nosql/redis/replication.md","url":"/estudy/DataBase/nosql/redis/replication.html","section":"DataBase","choseong":"Redis Replication","size":6690,"degree":2},{"id":503,"title":"Redis Serialization Sync","path":"DataBase/nosql/redis/serial.md","url":"/estudy/DataBase/nosql/redis/serial.html","section":"DataBase","choseong":"Redis Serialization Sync","size":3704,"degree":2},{"id":504,"title":"SQL vs NoSQL","path":"DataBase/nosql/sql_nosql.md","url":"/estudy/DataBase/nosql/sql_nosql.html","section":"DataBase","choseong":"SQL vs NoSQL","size":1611,"degree":2},{"id":505,"title":"데이터베이스 옵티마이저 (Optimizer)","path":"DataBase/optimizer.md","url":"/estudy/DataBase/optimizer.html","section":"DataBase","choseong":"ㄷㅇㅌㅂㅇㅅ ㅇㅌㅁㅇㅈ (Optimizer)","size":3319,"degree":2},{"id":506,"title":"옵티마이저의 최적화와 목표 그리고 한계","path":"DataBase/optimizer2.md","url":"/estudy/DataBase/optimizer2.html","section":"DataBase","choseong":"ㅇㅌㅁㅇㅈㅇ ㅊㅈㅎㅇ ㅁㅍ ㄱㄹㄱ ㅎㄱ","size":4034,"degree":2},{"id":507,"title":"식별자 Identifier 종류와 분류체계","path":"DataBase/pk.md","url":"/estudy/DataBase/pk.html","section":"DataBase","choseong":"ㅅㅂㅈ Identifier ㅈㄹㅇ ㅂㄹㅊㄱ","size":3049,"degree":2},{"id":508,"title":"Recoverability","path":"DataBase/recoverability.md","url":"/estudy/DataBase/recoverability.html","section":"DataBase","choseong":"Recoverability","size":2866,"degree":2},{"id":509,"title":"리플리케이션(Replicatioin) vs 클러스터링(Clustering)","path":"DataBase/rep_clu.md","url":"/estudy/DataBase/rep_clu.html","section":"DataBase","choseong":"ㄹㅍㄹㅋㅇㅅ(Replicatioin) vs ㅋㄹㅅㅌㄹ(Clustering)","size":3264,"degree":2},{"id":510,"title":"MySQL MyISAM, InnoDB","path":"DataBase/se.md","url":"/estudy/DataBase/se.html","section":"DataBase","choseong":"MySQL MyISAM, InnoDB","size":3140,"degree":2},{"id":511,"title":"Serializability","path":"DataBase/serializability.md","url":"/estudy/DataBase/serializability.html","section":"DataBase","choseong":"Serializability","size":3313,"degree":2},{"id":512,"title":"DataBase Sharding(분산처리)","path":"DataBase/sharding.md","url":"/estudy/DataBase/sharding.html","section":"DataBase","choseong":"DataBase Sharding(ㅂㅅㅊㄹ)","size":3989,"degree":2},{"id":513,"title":"SQL 날짜(DATE) 함수를 사용한 실습 + DUAL 테이블","path":"DataBase/sql/date.md","url":"/estudy/DataBase/sql/date.html","section":"DataBase","choseong":"SQL ㄴㅉ(DATE) ㅎㅅㄹ ㅅㅇㅎ ㅅㅅ + DUAL ㅌㅇㅂ","size":638,"degree":2},{"id":514,"title":"DCL (GRANT, REVOKE) 실습, 사용자 생성","path":"DataBase/sql/dcl.md","url":"/estudy/DataBase/sql/dcl.html","section":"DataBase","choseong":"DCL (GRANT, REVOKE) ㅅㅅ, ㅅㅇㅈ ㅅㅅ","size":1938,"degree":2},{"id":515,"title":"DDL (CREATE, ALTER, DROP, TRUNCATE) 실습","path":"DataBase/sql/ddl.md","url":"/estudy/DataBase/sql/ddl.html","section":"DataBase","choseong":"DDL (CREATE, ALTER, DROP, TRUNCATE) ㅅㅅ","size":1925,"degree":2},{"id":516,"title":"DML(INSERT, UPDATE, DELETE, SELECT) 실습 + TCL(COMMIT, ROLLBACK)","path":"DataBase/sql/dml.md","url":"/estudy/DataBase/sql/dml.html","section":"DataBase","choseong":"DML(INSERT, UPDATE, DELETE, SELECT) ㅅㅅ + TCL(COMMIT, ROLLBACK)","size":4261,"degree":2},{"id":517,"title":"LIKE 쿼리 검색 성능 개선, Full-Text Search","path":"DataBase/sql/full_text.md","url":"/estudy/DataBase/sql/full_text.html","section":"DataBase","choseong":"LIKE ㅋㄹ ㄱㅅ ㅅㄴ ㄱㅅ, Full-Text Search","size":5949,"degree":2},{"id":518,"title":"GROUP BY, 집계함수로 데이터 그룹별 집계 실습","path":"DataBase/sql/groupby.md","url":"/estudy/DataBase/sql/groupby.html","section":"DataBase","choseong":"GROUP BY, ㅈㄱㅎㅅㄹ ㄷㅇㅌ ㄱㄹㅂ ㅈㄱ ㅅㅅ","size":1299,"degree":2},{"id":519,"title":"INNER JOIN & OUTER JOIN 실습","path":"DataBase/sql/innerjoin.md","url":"/estudy/DataBase/sql/innerjoin.html","section":"DataBase","choseong":"INNER JOIN & OUTER JOIN ㅅㅅ","size":1781,"degree":2},{"id":520,"title":"계층형 쿼리(START WITH, CONNECT BY PRIOR, SIBLINGS BY)","path":"DataBase/sql/level.md","url":"/estudy/DataBase/sql/level.html","section":"DataBase","choseong":"ㄱㅊㅎ ㅋㄹ(START WITH, CONNECT BY PRIOR, SIBLINGS BY)","size":3783,"degree":2},{"id":521,"title":"SQL NULL 관련 함수 - NVL, NVL2, NULLIF, COALESCE","path":"DataBase/sql/null.md","url":"/estudy/DataBase/sql/null.html","section":"DataBase","choseong":"SQL NULL ㄱㄹ ㅎㅅ - NVL, NVL2, NULLIF, COALESCE","size":844,"degree":2},{"id":522,"title":"숫자함수 ROUND(), TRUNC(), CEIL() 실습","path":"DataBase/sql/numberfun.md","url":"/estudy/DataBase/sql/numberfun.html","section":"DataBase","choseong":"ㅅㅈㅎㅅ ROUND(), TRUNC(), CEIL() ㅅㅅ","size":645,"degree":2},{"id":523,"title":"ORDER BY로 데이터 정렬하기 실습","path":"DataBase/sql/orderby.md","url":"/estudy/DataBase/sql/orderby.html","section":"DataBase","choseong":"ORDER BYㄹ ㄷㅇㅌ ㅈㄹㅎㄱ ㅅㅅ","size":785,"degree":2},{"id":524,"title":"REPLACE() 함수로 데이터 수정하기 실습","path":"DataBase/sql/replace.md","url":"/estudy/DataBase/sql/replace.html","section":"DataBase","choseong":"REPLACE() ㅎㅅㄹ ㄷㅇㅌ ㅅㅈㅎㄱ ㅅㅅ","size":1024,"degree":2},{"id":525,"title":"SUBSTR() 함수를 사용한 문자 데이터 자르기 실습","path":"DataBase/sql/substr.md","url":"/estudy/DataBase/sql/substr.html","section":"DataBase","choseong":"SUBSTR() ㅎㅅㄹ ㅅㅇㅎ ㅁㅈ ㄷㅇㅌ ㅈㄹㄱ ㅅㅅ","size":1146,"degree":2},{"id":526,"title":"UPPER(), LOWER() 함수를 사용한 대소문자 구분 실습","path":"DataBase/sql/upperlower.md","url":"/estudy/DataBase/sql/upperlower.html","section":"DataBase","choseong":"UPPER(), LOWER() ㅎㅅㄹ ㅅㅇㅎ ㄷㅅㅁㅈ ㄱㅂ ㅅㅅ","size":470,"degree":2},{"id":527,"title":"WHERE 조건절 실습","path":"DataBase/sql/where.md","url":"/estudy/DataBase/sql/where.html","section":"DataBase","choseong":"WHERE ㅈㄱㅈ ㅅㅅ","size":2404,"degree":2},{"id":528,"title":"SQL 윈도우 함수 (WINDOW FUNCTION)","path":"DataBase/sql/windowfun.md","url":"/estudy/DataBase/sql/windowfun.html","section":"DataBase","choseong":"SQL ㅇㄷㅇ ㅎㅅ (WINDOW FUNCTION)","size":14266,"degree":2},{"id":529,"title":"프로시저와 트리거의 차이점","path":"DataBase/sql/프로시저_트리거.md","url":"/estudy/DataBase/sql/프로시저_트리거.html","section":"DataBase","choseong":"ㅍㄹㅅㅈㅇ ㅌㄹㄱㅇ ㅊㅇㅈ","size":1195,"degree":2},{"id":530,"title":"VARCHAR vs TEXT","path":"DataBase/varchar_text.md","url":"/estudy/DataBase/varchar_text.html","section":"DataBase","choseong":"VARCHAR vs TEXT","size":10241,"degree":2},{"id":531,"title":"MySQL WAL","path":"DataBase/wal.md","url":"/estudy/DataBase/wal.html","section":"DataBase","choseong":"MySQL WAL","size":4911,"degree":2},{"id":532,"title":"반정규화 Denormalization","path":"DataBase/반정규화.md","url":"/estudy/DataBase/반정규화.html","section":"DataBase","choseong":"ㅂㅈㄱㅎ Denormalization","size":2601,"degree":2},{"id":533,"title":"전문 검색 인덱스","path":"DataBase/전문검색인덱스.md","url":"/estudy/DataBase/전문검색인덱스.html","section":"DataBase","choseong":"ㅈㅁ ㄱㅅ ㅇㄷㅅ","size":5968,"degree":2},{"id":534,"title":"데이터베이스 정규화 Normalization","path":"DataBase/정규화.md","url":"/estudy/DataBase/정규화.html","section":"DataBase","choseong":"ㄷㅇㅌㅂㅇㅅ ㅈㄱㅎ Normalization","size":3408,"degree":2},{"id":535,"title":"디자인 패턴","path":"Design-Pattern/designp.md","url":"/estudy/Design-Pattern/designp.html","section":"Design-Pattern","choseong":"ㄷㅈㅇ ㅍㅌ","size":2976,"degree":3},{"id":536,"title":"어댑터 패턴","path":"Design-Pattern/구조/adapter.md","url":"/estudy/Design-Pattern/구조/adapter.html","section":"Design-Pattern","choseong":"ㅇㄷㅌ ㅍㅌ","size":3177,"degree":2},{"id":537,"title":"브리지 패턴","path":"Design-Pattern/구조/bridge.md","url":"/estudy/Design-Pattern/구조/bridge.html","section":"Design-Pattern","choseong":"ㅂㄹㅈ ㅍㅌ","size":3878,"degree":2},{"id":538,"title":"컴포지트 패턴","path":"Design-Pattern/구조/composite.md","url":"/estudy/Design-Pattern/구조/composite.html","section":"Design-Pattern","choseong":"ㅋㅍㅈㅌ ㅍㅌ","size":3287,"degree":2},{"id":539,"title":"데코레이터 패턴","path":"Design-Pattern/구조/decorator.md","url":"/estudy/Design-Pattern/구조/decorator.html","section":"Design-Pattern","choseong":"ㄷㅋㄹㅇㅌ ㅍㅌ","size":1588,"degree":2},{"id":540,"title":"퍼사드 패턴","path":"Design-Pattern/구조/facade.md","url":"/estudy/Design-Pattern/구조/facade.html","section":"Design-Pattern","choseong":"ㅍㅅㄷ ㅍㅌ","size":3901,"degree":2},{"id":541,"title":"프록시 패턴","path":"Design-Pattern/구조/proxyp.md","url":"/estudy/Design-Pattern/구조/proxyp.html","section":"Design-Pattern","choseong":"ㅍㄹㅅ ㅍㅌ","size":4695,"degree":2},{"id":542,"title":"추상 팩토리 패턴","path":"Design-Pattern/생성/abstract_factory.md","url":"/estudy/Design-Pattern/생성/abstract_factory.html","section":"Design-Pattern","choseong":"ㅊㅅ ㅍㅌㄹ ㅍㅌ","size":3885,"degree":2},{"id":543,"title":"빌더 패턴","path":"Design-Pattern/생성/builder.md","url":"/estudy/Design-Pattern/생성/builder.html","section":"Design-Pattern","choseong":"ㅂㄷ ㅍㅌ","size":7070,"degree":2},{"id":544,"title":"팩토리 메서드 패턴","path":"Design-Pattern/생성/factory_method.md","url":"/estudy/Design-Pattern/생성/factory_method.html","section":"Design-Pattern","choseong":"ㅍㅌㄹ ㅁㅅㄷ ㅍㅌ","size":2750,"degree":2},{"id":545,"title":"프로토타입 패턴","path":"Design-Pattern/생성/prototype.md","url":"/estudy/Design-Pattern/생성/prototype.html","section":"Design-Pattern","choseong":"ㅍㄹㅌㅌㅇ ㅍㅌ","size":5273,"degree":2},{"id":546,"title":"싱글톤 패턴","path":"Design-Pattern/생성/singleton.md","url":"/estudy/Design-Pattern/생성/singleton.html","section":"Design-Pattern","choseong":"ㅅㄱㅌ ㅍㅌ","size":3498,"degree":3},{"id":547,"title":"인터프리터 패턴","path":"Design-Pattern/행동/Interpreter.md","url":"/estudy/Design-Pattern/행동/Interpreter.html","section":"Design-Pattern","choseong":"ㅇㅌㅍㄹㅌ ㅍㅌ","size":2020,"degree":2},{"id":548,"title":"책임 연쇄 패턴","path":"Design-Pattern/행동/chain_of_resp.md","url":"/estudy/Design-Pattern/행동/chain_of_resp.html","section":"Design-Pattern","choseong":"ㅊㅇ ㅇㅅ ㅍㅌ","size":2258,"degree":2},{"id":549,"title":"커맨드 패턴","path":"Design-Pattern/행동/command.md","url":"/estudy/Design-Pattern/행동/command.html","section":"Design-Pattern","choseong":"ㅋㅁㄷ ㅍㅌ","size":1568,"degree":2},{"id":550,"title":"이터레이터 패턴","path":"Design-Pattern/행동/iterator.md","url":"/estudy/Design-Pattern/행동/iterator.html","section":"Design-Pattern","choseong":"ㅇㅌㄹㅇㅌ ㅍㅌ","size":1880,"degree":2},{"id":551,"title":"중재자 패턴","path":"Design-Pattern/행동/mediator.md","url":"/estudy/Design-Pattern/행동/mediator.html","section":"Design-Pattern","choseong":"ㅈㅈㅈ ㅍㅌ","size":2104,"degree":2},{"id":552,"title":"옵저버 패턴","path":"Design-Pattern/행동/observer.md","url":"/estudy/Design-Pattern/행동/observer.html","section":"Design-Pattern","choseong":"ㅇㅈㅂ ㅍㅌ","size":1401,"degree":2},{"id":553,"title":"싱글톤 패턴","path":"Design-Pattern/행동/singleton.md","url":"/estudy/Design-Pattern/행동/singleton.html","section":"Design-Pattern","choseong":"ㅅㄱㅌ ㅍㅌ","size":2412,"degree":2},{"id":554,"title":"스테이트 패턴","path":"Design-Pattern/행동/state.md","url":"/estudy/Design-Pattern/행동/state.html","section":"Design-Pattern","choseong":"ㅅㅌㅇㅌ ㅍㅌ","size":6500,"degree":2},{"id":555,"title":"전략 패턴","path":"Design-Pattern/행동/strategy.md","url":"/estudy/Design-Pattern/행동/strategy.html","section":"Design-Pattern","choseong":"ㅈㄹ ㅍㅌ","size":5106,"degree":2},{"id":556,"title":"템플릿 메서드 패턴","path":"Design-Pattern/행동/template.md","url":"/estudy/Design-Pattern/행동/template.html","section":"Design-Pattern","choseong":"ㅌㅍㄹ ㅁㅅㄷ ㅍㅌ","size":4674,"degree":2},{"id":557,"title":"도커 컨테이너를 띄워보자","path":"DevOps/Docker/container.md","url":"/estudy/DevOps/Docker/container.html","section":"DevOps","choseong":"ㄷㅋ ㅋㅌㅇㄴㄹ ㄸㅇㅂㅈ","size":3460,"degree":2},{"id":558,"title":"permission denied while trying .. Docker demon socket 트러블 슈팅","path":"DevOps/Docker/denied.md","url":"/estudy/DevOps/Docker/denied.html","section":"DevOps","choseong":"permission denied while trying .. Docker demon socket ㅌㄹㅂ ㅅㅌ","size":999,"degree":2},{"id":559,"title":"docker","path":"DevOps/Docker/docker.md","url":"/estudy/DevOps/Docker/docker.html","section":"DevOps","choseong":"docker","size":2574,"degree":3},{"id":560,"title":"도커 이미지 생성","path":"DevOps/Docker/docker_image.md","url":"/estudy/DevOps/Docker/docker_image.html","section":"DevOps","choseong":"ㄷㅋ ㅇㅁㅈ ㅅㅅ","size":5809,"degree":2},{"id":561,"title":"도커 네트워크 구조","path":"DevOps/Docker/network.md","url":"/estudy/DevOps/Docker/network.html","section":"DevOps","choseong":"ㄷㅋ ㄴㅌㅇㅋ ㄱㅈ","size":5970,"degree":2},{"id":562,"title":"Namespace, Container + runc syscall tracking","path":"DevOps/Docker/ns.md","url":"/estudy/DevOps/Docker/ns.html","section":"DevOps","choseong":"Namespace, Container + runc syscall tracking","size":6226,"degree":2},{"id":563,"title":"Spring 프로젝트 Docker를 사용해 배포해보기","path":"DevOps/Docker/spring_docker.md","url":"/estudy/DevOps/Docker/spring_docker.html","section":"DevOps","choseong":"Spring ㅍㄹㅈㅌ Dockerㄹ ㅅㅇㅎ ㅂㅍㅎㅂㄱ","size":10094,"degree":2},{"id":564,"title":"Docker Swarm","path":"DevOps/Docker/swarm.md","url":"/estudy/DevOps/Docker/swarm.html","section":"DevOps","choseong":"Docker Swarm","size":4592,"degree":2},{"id":565,"title":"도커 볼륨 이용하기","path":"DevOps/Docker/도커볼륨.md","url":"/estudy/DevOps/Docker/도커볼륨.html","section":"DevOps","choseong":"ㄷㅋ ㅂㄹ ㅇㅇㅎㄱ","size":3870,"degree":2},{"id":566,"title":"Docker Engine LXC, libcontainer","path":"DevOps/Docker/도커엔진.md","url":"/estudy/DevOps/Docker/도커엔진.html","section":"DevOps","choseong":"Docker Engine LXC, libcontainer","size":5982,"degree":2},{"id":567,"title":"이미지 관련 명령어","path":"DevOps/Docker/이미지관련명령어.md","url":"/estudy/DevOps/Docker/이미지관련명령어.html","section":"DevOps","choseong":"ㅇㅁㅈ ㄱㄹ ㅁㄹㅇ","size":978,"degree":2},{"id":568,"title":"컨테이너 관리 명령어","path":"DevOps/Docker/컨테이너관리명령어.md","url":"/estudy/DevOps/Docker/컨테이너관리명령어.html","section":"DevOps","choseong":"ㅋㅌㅇㄴ ㄱㄹ ㅁㄹㅇ","size":2425,"degree":2},{"id":569,"title":"컨테이너 애플리케이션 구축","path":"DevOps/Docker/컨테이너애플리케이션구축.md","url":"/estudy/DevOps/Docker/컨테이너애플리케이션구축.html","section":"DevOps","choseong":"ㅋㅌㅇㄴ ㅇㅍㄹㅋㅇㅅ ㄱㅊ","size":2611,"degree":2},{"id":570,"title":"컨테이너 외부 노출","path":"DevOps/Docker/컨테이너외부노출.md","url":"/estudy/DevOps/Docker/컨테이너외부노출.html","section":"DevOps","choseong":"ㅋㅌㅇㄴ ㅇㅂ ㄴㅊ","size":2745,"degree":2},{"id":571,"title":"컨테이너 제어 명령어","path":"DevOps/Docker/컨테이너제어명령어.md","url":"/estudy/DevOps/Docker/컨테이너제어명령어.html","section":"DevOps","choseong":"ㅋㅌㅇㄴ ㅈㅇ ㅁㄹㅇ","size":2403,"degree":3},{"id":572,"title":"ELK와 로깅 구성","path":"DevOps/ELK.md","url":"/estudy/DevOps/ELK.html","section":"DevOps","choseong":"ELKㅇ ㄹㄱ ㄱㅅ","size":1852,"degree":2},{"id":573,"title":"IaaS, PaaS, SaaS 차이","path":"DevOps/XaaS.md","url":"/estudy/DevOps/XaaS.html","section":"DevOps","choseong":"IaaS, PaaS, SaaS ㅊㅇ","size":1468,"degree":2},{"id":574,"title":"애자일 방법론","path":"DevOps/agile.md","url":"/estudy/DevOps/agile.html","section":"DevOps","choseong":"ㅇㅈㅇ ㅂㅂㄹ","size":3439,"degree":3},{"id":575,"title":"APM(Application Performance Management)","path":"DevOps/apm.md","url":"/estudy/DevOps/apm.html","section":"DevOps","choseong":"APM(Application Performance Management)","size":1230,"degree":2},{"id":576,"title":"클라우드와 AWS의 기본 개념","path":"DevOps/aws.md","url":"/estudy/DevOps/aws.html","section":"DevOps","choseong":"ㅋㄹㅇㄷㅇ AWSㅇ ㄱㅂ ㄱㄴ","size":3915,"degree":3},{"id":577,"title":"EC2의 가격 정책과 타입 종류","path":"DevOps/aws/EC2Price.md","url":"/estudy/DevOps/aws/EC2Price.html","section":"DevOps","choseong":"EC2ㅇ ㄱㄱ ㅈㅊㄱ ㅌㅇ ㅈㄹ","size":1135,"degree":2},{"id":578,"title":"AWS ELK (Elastic Search Logstash Kibana)","path":"DevOps/aws/ELK.md","url":"/estudy/DevOps/aws/ELK.html","section":"DevOps","choseong":"AWS ELK (Elastic Search Logstash Kibana)","size":605,"degree":2},{"id":579,"title":"SES Simple Email Service","path":"DevOps/aws/SES.md","url":"/estudy/DevOps/aws/SES.html","section":"DevOps","choseong":"SES Simple Email Service","size":664,"degree":2},{"id":580,"title":"SNS SImple Notification Service","path":"DevOps/aws/SNS.md","url":"/estudy/DevOps/aws/SNS.html","section":"DevOps","choseong":"SNS SImple Notification Service","size":685,"degree":2},{"id":581,"title":"SQS","path":"DevOps/aws/SQS.md","url":"/estudy/DevOps/aws/SQS.html","section":"DevOps","choseong":"SQS","size":1899,"degree":2},{"id":582,"title":"오토 스케일링 Auto Scaling","path":"DevOps/aws/as.md","url":"/estudy/DevOps/aws/as.html","section":"DevOps","choseong":"ㅇㅌ ㅅㅋㅇㄹ Auto Scaling","size":1826,"degree":2},{"id":583,"title":"Amazon Aurora, Aurora 아키텍처","path":"DevOps/aws/aurora.md","url":"/estudy/DevOps/aws/aurora.html","section":"DevOps","choseong":"Amazon Aurora, Aurora ㅇㅋㅌㅊ","size":5052,"degree":2},{"id":584,"title":"AWS Aurora 2nd","path":"DevOps/aws/aurora2.md","url":"/estudy/DevOps/aws/aurora2.html","section":"DevOps","choseong":"AWS Aurora 2nd","size":5332,"degree":2},{"id":585,"title":"Bastion 서버로 Private EC2에 접속하는 방법 + Hi-v2 트러블 슈팅","path":"DevOps/aws/bastion.md","url":"/estudy/DevOps/aws/bastion.html","section":"DevOps","choseong":"Bastion ㅅㅂㄹ Private EC2ㅇ ㅈㅅㅎㄴ ㅂㅂ + Hi-v2 ㅌㄹㅂ ㅅㅌ","size":2967,"degree":2},{"id":586,"title":"Cloud Front","path":"DevOps/aws/cloudfront.md","url":"/estudy/DevOps/aws/cloudfront.html","section":"DevOps","choseong":"Cloud Front","size":830,"degree":2},{"id":587,"title":"CloudWatch vs CloudTrail","path":"DevOps/aws/cloudwatch.md","url":"/estudy/DevOps/aws/cloudwatch.html","section":"DevOps","choseong":"CloudWatch vs CloudTrail","size":3343,"degree":2},{"id":588,"title":"CloudWatch","path":"DevOps/aws/cloudwatch2.md","url":"/estudy/DevOps/aws/cloudwatch2.html","section":"DevOps","choseong":"CloudWatch","size":10356,"degree":2},{"id":589,"title":"DX(Direct Connect)","path":"DevOps/aws/dx.md","url":"/estudy/DevOps/aws/dx.html","section":"DevOps","choseong":"DX(Direct Connect)","size":3026,"degree":2},{"id":590,"title":"EBS, Instance Storage, AMI","path":"DevOps/aws/ebs.md","url":"/estudy/DevOps/aws/ebs.html","section":"DevOps","choseong":"EBS, Instance Storage, AMI","size":2042,"degree":2},{"id":591,"title":"AWS ECR(Elastic Container Registry)","path":"DevOps/aws/ecr.md","url":"/estudy/DevOps/aws/ecr.html","section":"DevOps","choseong":"AWS ECR(Elastic Container Registry)","size":2760,"degree":2},{"id":592,"title":"EKS ALB Controller","path":"DevOps/aws/eks/alb_controller.md","url":"/estudy/DevOps/aws/eks/alb_controller.html","section":"DevOps","choseong":"EKS ALB Controller","size":5469,"degree":2},{"id":593,"title":"EKS CNI","path":"DevOps/aws/eks/cni.md","url":"/estudy/DevOps/aws/eks/cni.html","section":"DevOps","choseong":"EKS CNI","size":2305,"degree":3},{"id":594,"title":"파드간 통신 과정","path":"DevOps/aws/eks/communicate.md","url":"/estudy/DevOps/aws/eks/communicate.html","section":"DevOps","choseong":"ㅍㄷㄱ ㅌㅅ ㄱㅈ","size":6808,"degree":2},{"id":595,"title":"EKS","path":"DevOps/aws/eks/eks.md","url":"/estudy/DevOps/aws/eks/eks.html","section":"DevOps","choseong":"EKS","size":2288,"degree":3},{"id":596,"title":"NLB, ALB 생성과 삭제","path":"DevOps/aws/eks/nlb_alb.md","url":"/estudy/DevOps/aws/eks/nlb_alb.html","section":"DevOps","choseong":"NLB, ALB ㅅㅅㄱ ㅅㅈ","size":3926,"degree":2},{"id":597,"title":"Elastic IP","path":"DevOps/aws/elastic_ip.md","url":"/estudy/DevOps/aws/elastic_ip.html","section":"DevOps","choseong":"Elastic IP","size":971,"degree":2},{"id":598,"title":"AWS ELB (Elastic Load Balancer), Sticky Session","path":"DevOps/aws/elb.md","url":"/estudy/DevOps/aws/elb.html","section":"DevOps","choseong":"AWS ELB (Elastic Load Balancer), Sticky Session","size":2548,"degree":2},{"id":599,"title":"IAM(Identity and Access Management)","path":"DevOps/aws/iam.md","url":"/estudy/DevOps/aws/iam.html","section":"DevOps","choseong":"IAM(Identity and Access Management)","size":1782,"degree":2},{"id":600,"title":"NAT, NAPT 그리고 AWS NAT Gateway","path":"DevOps/aws/natgateway.md","url":"/estudy/DevOps/aws/natgateway.html","section":"DevOps","choseong":"NAT, NAPT ㄱㄹㄱ AWS NAT Gateway","size":2342,"degree":2},{"id":601,"title":"Presto","path":"DevOps/aws/presto.md","url":"/estudy/DevOps/aws/presto.html","section":"DevOps","choseong":"Presto","size":4468,"degree":2},{"id":602,"title":"AWS RDS (Relation Database Service)","path":"DevOps/aws/rds.md","url":"/estudy/DevOps/aws/rds.html","section":"DevOps","choseong":"AWS RDS (Relation Database Service)","size":6134,"degree":2},{"id":603,"title":"Site to Site VPN","path":"DevOps/aws/s2s.md","url":"/estudy/DevOps/aws/s2s.html","section":"DevOps","choseong":"Site to Site VPN","size":3013,"degree":2},{"id":604,"title":"AWS 보안 그룹 Security Group","path":"DevOps/aws/securitygroup.md","url":"/estudy/DevOps/aws/securitygroup.html","section":"DevOps","choseong":"AWS ㅂㅇ ㄱㄹ Security Group","size":1626,"degree":2},{"id":605,"title":"Systems Manager Session Manager","path":"DevOps/aws/session_manager.md","url":"/estudy/DevOps/aws/session_manager.html","section":"DevOps","choseong":"Systems Manager Session Manager","size":2079,"degree":2},{"id":606,"title":"Amazon SQS 속도, 규모 조정을 위한 최적화 개선 사항","path":"DevOps/aws/sqs_optimize.md","url":"/estudy/DevOps/aws/sqs_optimize.html","section":"DevOps","choseong":"Amazon SQS ㅅㄷ, ㄱㅁ ㅈㅈㅇ ㅇㅎ ㅊㅈㅎ ㄱㅅ ㅅㅎ","size":2896,"degree":2},{"id":607,"title":"VPC","path":"DevOps/aws/vpc.md","url":"/estudy/DevOps/aws/vpc.html","section":"DevOps","choseong":"VPC","size":4735,"degree":2},{"id":608,"title":"고가용성과 장애내구성의 차이","path":"DevOps/aws/고가용성_장애내구성.md","url":"/estudy/DevOps/aws/고가용성_장애내구성.html","section":"DevOps","choseong":"ㄱㄱㅇㅅㄱ ㅈㅇㄴㄱㅅㅇ ㅊㅇ","size":1142,"degree":2},{"id":609,"title":"AWS 라우팅 테이블","path":"DevOps/aws/라우팅테이블.md","url":"/estudy/DevOps/aws/라우팅테이블.html","section":"DevOps","choseong":"AWS ㄹㅇㅌ ㅌㅇㅂ","size":2178,"degree":2},{"id":610,"title":"블루/그린 배포, 오토 스케일링","path":"DevOps/bg.md","url":"/estudy/DevOps/bg.html","section":"DevOps","choseong":"ㅂㄹ/ㄱㄹ ㅂㅍ, ㅇㅌ ㅅㅋㅇㄹ","size":3187,"degree":2},{"id":611,"title":"Blue/Green 배포와 아키텍처","path":"DevOps/blue_green.md","url":"/estudy/DevOps/blue_green.html","section":"DevOps","choseong":"Blue/Green ㅂㅍㅇ ㅇㅋㅌㅊ","size":1514,"degree":2},{"id":612,"title":"CI/CD 파이프라인과 구현과정","path":"DevOps/cicd.md","url":"/estudy/DevOps/cicd.html","section":"DevOps","choseong":"CI/CD ㅍㅇㅍㄹㅇㄱ ㄱㅎㄱㅈ","size":3386,"degree":2},{"id":613,"title":"클라우드 아키텍처 (Cloud Architecture)","path":"DevOps/cloud_architecture.md","url":"/estudy/DevOps/cloud_architecture.html","section":"DevOps","choseong":"ㅋㄹㅇㄷ ㅇㅋㅌㅊ (Cloud Architecture)","size":8026,"degree":3},{"id":614,"title":"배포 전략의 종류(롤링/블루 그린/카나리)","path":"DevOps/deploy.md","url":"/estudy/DevOps/deploy.html","section":"DevOps","choseong":"ㅂㅍ ㅈㄹㅇ ㅈㄹ(ㄹㄹ/ㅂㄹ ㄱㄹ/ㅋㄴㄹ)","size":2137,"degree":2},{"id":615,"title":"DevOps Engineer","path":"DevOps/devops.md","url":"/estudy/DevOps/devops.html","section":"DevOps","choseong":"DevOps Engineer","size":5068,"degree":2},{"id":616,"title":"Amazone Web Service EC2란 무엇인가","path":"DevOps/ec2.md","url":"/estudy/DevOps/ec2.html","section":"DevOps","choseong":"Amazone Web Service EC2ㄹ ㅁㅇㅇㄱ","size":4714,"degree":3},{"id":617,"title":"Envoy Proxy Internal Architecture","path":"DevOps/envoy.md","url":"/estudy/DevOps/envoy.html","section":"DevOps","choseong":"Envoy Proxy Internal Architecture","size":2937,"degree":3},{"id":618,"title":"Prometheus Exporter - 모니터링 에이전트","path":"DevOps/exporter.md","url":"/estudy/DevOps/exporter.html","section":"DevOps","choseong":"Prometheus Exporter - ㅁㄴㅌㄹ ㅇㅇㅈㅌ","size":1380,"degree":2},{"id":619,"title":"깃허브 액션 github actions","path":"DevOps/gitaction.md","url":"/estudy/DevOps/gitaction.html","section":"DevOps","choseong":"ㄱㅎㅂ ㅇㅅ github actions","size":2710,"degree":2},{"id":620,"title":"GitOps","path":"DevOps/gitops.md","url":"/estudy/DevOps/gitops.html","section":"DevOps","choseong":"GitOps","size":2786,"degree":2},{"id":621,"title":"gRPC, RPC, 작동원리, HTTP API 비교","path":"DevOps/grpc.md","url":"/estudy/DevOps/grpc.html","section":"DevOps","choseong":"gRPC, RPC, ㅈㄷㅇㄹ, HTTP API ㅂㄱ","size":3051,"degree":2},{"id":622,"title":"Terraform Custom Condition(precondition, postcondition)","path":"DevOps/hcl/condition.md","url":"/estudy/DevOps/hcl/condition.html","section":"DevOps","choseong":"Terraform Custom Condition(precondition, postcondition)","size":2882,"degree":3},{"id":623,"title":"Terraform dynamic block","path":"DevOps/hcl/dynamic_block.md","url":"/estudy/DevOps/hcl/dynamic_block.html","section":"DevOps","choseong":"Terraform dynamic block","size":3202,"degree":2},{"id":624,"title":"HCL 언어","path":"DevOps/hcl/hcl.md","url":"/estudy/DevOps/hcl/hcl.html","section":"DevOps","choseong":"HCL ㅇㅇ","size":2166,"degree":2},{"id":625,"title":"[Terraform] state, remote_state, backend","path":"DevOps/hcl/state.md","url":"/estudy/DevOps/hcl/state.html","section":"DevOps","choseong":"[Terraform] state, remote_state, backend","size":6201,"degree":2},{"id":626,"title":"Terraform 작동 원리","path":"DevOps/hcl/terraform_work.md","url":"/estudy/DevOps/hcl/terraform_work.html","section":"DevOps","choseong":"Terraform ㅈㄷ ㅇㄹ","size":2142,"degree":3},{"id":627,"title":"하이브리드 클라우드 Hybrid Cloud","path":"DevOps/hybrid.md","url":"/estudy/DevOps/hybrid.html","section":"DevOps","choseong":"ㅎㅇㅂㄹㄷ ㅋㄹㅇㄷ Hybrid Cloud","size":2099,"degree":2},{"id":628,"title":"Istio, Istio Architecture","path":"DevOps/istio.md","url":"/estudy/DevOps/istio.html","section":"DevOps","choseong":"Istio, Istio Architecture","size":5108,"degree":3},{"id":629,"title":"Traffic Control & Security mTLS","path":"DevOps/istio_traffic.md","url":"/estudy/DevOps/istio_traffic.html","section":"DevOps","choseong":"Traffic Control & Security mTLS","size":6435,"degree":2},{"id":630,"title":"Istio Circuit Breaker","path":"DevOps/istiocircuit.md","url":"/estudy/DevOps/istiocircuit.html","section":"DevOps","choseong":"Istio Circuit Breaker","size":3674,"degree":2},{"id":631,"title":"쿠버네티스 API 리소스","path":"DevOps/k8s/api_resource.md","url":"/estudy/DevOps/k8s/api_resource.html","section":"DevOps","choseong":"ㅋㅂㄴㅌㅅ API ㄹㅅㅅ","size":3239,"degree":2},{"id":632,"title":"Kubernetes Cluster","path":"DevOps/k8s/cluster.md","url":"/estudy/DevOps/k8s/cluster.html","section":"DevOps","choseong":"Kubernetes Cluster","size":3465,"degree":2},{"id":633,"title":"쿠버네티스 구성요소","path":"DevOps/k8s/component.md","url":"/estudy/DevOps/k8s/component.html","section":"DevOps","choseong":"ㅋㅂㄴㅌㅅ ㄱㅅㅇㅅ","size":2038,"degree":2},{"id":634,"title":"ConfigMap, Secret","path":"DevOps/k8s/config_map.md","url":"/estudy/DevOps/k8s/config_map.html","section":"DevOps","choseong":"ConfigMap, Secret","size":3391,"degree":2},{"id":635,"title":"Control Plane","path":"DevOps/k8s/control_plane.md","url":"/estudy/DevOps/k8s/control_plane.html","section":"DevOps","choseong":"Control Plane","size":8966,"degree":2},{"id":636,"title":"DaemonSet, Job, CronJob","path":"DevOps/k8s/daemonset.md","url":"/estudy/DevOps/k8s/daemonset.html","section":"DevOps","choseong":"DaemonSet, Job, CronJob","size":4070,"degree":2},{"id":637,"title":"쿠버네티스 대시보드 토큰 발행 및 접속","path":"DevOps/k8s/dashboard.md","url":"/estudy/DevOps/k8s/dashboard.html","section":"DevOps","choseong":"ㅋㅂㄴㅌㅅ ㄷㅅㅂㄷ ㅌㅋ ㅂㅎ ㅁ ㅈㅅ","size":1385,"degree":2},{"id":638,"title":"K8s 배포 전략, Probe","path":"DevOps/k8s/deploy.md","url":"/estudy/DevOps/k8s/deploy.html","section":"DevOps","choseong":"K8s ㅂㅍ ㅈㄹ, Probe","size":7634,"degree":3},{"id":639,"title":"Deployment","path":"DevOps/k8s/deployment.md","url":"/estudy/DevOps/k8s/deployment.html","section":"DevOps","choseong":"Deployment","size":4302,"degree":2},{"id":640,"title":"Desired State","path":"DevOps/k8s/desired_state.md","url":"/estudy/DevOps/k8s/desired_state.html","section":"DevOps","choseong":"Desired State","size":3046,"degree":3},{"id":641,"title":"쿠버네티스","path":"DevOps/k8s/k8s.md","url":"/estudy/DevOps/k8s/k8s.html","section":"DevOps","choseong":"ㅋㅂㄴㅌㅅ","size":2894,"degree":3},{"id":642,"title":"Cluster Autoscaler, Karpenter","path":"DevOps/k8s/karpenter.md","url":"/estudy/DevOps/k8s/karpenter.html","section":"DevOps","choseong":"Cluster Autoscaler, Karpenter","size":4852,"degree":2},{"id":643,"title":"멀티 컨테이너 파드 디자인 패턴","path":"DevOps/k8s/multipod.md","url":"/estudy/DevOps/k8s/multipod.html","section":"DevOps","choseong":"ㅁㅌ ㅋㅌㅇㄴ ㅍㄷ ㄷㅈㅇ ㅍㅌ","size":10539,"degree":2},{"id":644,"title":"Namespace, ResourceQuota, LimitRange","path":"DevOps/k8s/namespace.md","url":"/estudy/DevOps/k8s/namespace.html","section":"DevOps","choseong":"Namespace, ResourceQuota, LimitRange","size":4952,"degree":2},{"id":645,"title":"Kubernetes Network","path":"DevOps/k8s/network.md","url":"/estudy/DevOps/k8s/network.html","section":"DevOps","choseong":"Kubernetes Network","size":4579,"degree":2},{"id":646,"title":"Node Components","path":"DevOps/k8s/node.md","url":"/estudy/DevOps/k8s/node.html","section":"DevOps","choseong":"Node Components","size":6801,"degree":3},{"id":647,"title":"Node Scheduling","path":"DevOps/k8s/node_scheduling.md","url":"/estudy/DevOps/k8s/node_scheduling.html","section":"DevOps","choseong":"Node Scheduling","size":4395,"degree":2},{"id":648,"title":"Pod","path":"DevOps/k8s/pod.md","url":"/estudy/DevOps/k8s/pod.html","section":"DevOps","choseong":"Pod","size":5944,"degree":2},{"id":649,"title":"Pod LifeCycle(Phase, Condition)","path":"DevOps/k8s/pod_lifecycle.md","url":"/estudy/DevOps/k8s/pod_lifecycle.html","section":"DevOps","choseong":"Pod LifeCycle(Phase, Condition)","size":4254,"degree":2},{"id":650,"title":"Pod 생명주기, 재시작 정책","path":"DevOps/k8s/podstatus.md","url":"/estudy/DevOps/k8s/podstatus.html","section":"DevOps","choseong":"Pod ㅅㅁㅈㄱ, ㅈㅅㅈ ㅈㅊ","size":2485,"degree":2},{"id":651,"title":"Probe","path":"DevOps/k8s/probe.md","url":"/estudy/DevOps/k8s/probe.html","section":"DevOps","choseong":"Probe","size":5415,"degree":2},{"id":652,"title":"쿠버네티스의 동작 흐름","path":"DevOps/k8s/process.md","url":"/estudy/DevOps/k8s/process.html","section":"DevOps","choseong":"ㅋㅂㄴㅌㅅㅇ ㄷㅈ ㅎㄹ","size":1970,"degree":2},{"id":653,"title":"PV/PVC, Dynamic Provisioning","path":"DevOps/k8s/pvpvc.md","url":"/estudy/DevOps/k8s/pvpvc.html","section":"DevOps","choseong":"PV/PVC, Dynamic Provisioning","size":3766,"degree":2},{"id":654,"title":"Qos Classes","path":"DevOps/k8s/qos.md","url":"/estudy/DevOps/k8s/qos.html","section":"DevOps","choseong":"Qos Classes","size":4708,"degree":2},{"id":655,"title":"ReplicaSet","path":"DevOps/k8s/replicaset.md","url":"/estudy/DevOps/k8s/replicaset.html","section":"DevOps","choseong":"ReplicaSet","size":3814,"degree":2},{"id":656,"title":"Scheduler, Controller","path":"DevOps/k8s/scheduler.md","url":"/estudy/DevOps/k8s/scheduler.html","section":"DevOps","choseong":"Scheduler, Controller","size":3285,"degree":2},{"id":657,"title":"K8s RBAC, Security Policy","path":"DevOps/k8s/security.md","url":"/estudy/DevOps/k8s/security.html","section":"DevOps","choseong":"K8s RBAC, Security Policy","size":3703,"degree":2},{"id":658,"title":"Service - Cluster IP, Node Port, Load Balancer","path":"DevOps/k8s/service.md","url":"/estudy/DevOps/k8s/service.html","section":"DevOps","choseong":"Service - Cluster IP, Node Port, Load Balancer","size":2995,"degree":2},{"id":659,"title":"Service - Headless, Endpoint, ExternalName","path":"DevOps/k8s/service2.md","url":"/estudy/DevOps/k8s/service2.html","section":"DevOps","choseong":"Service - Headless, Endpoint, ExternalName","size":4709,"degree":2},{"id":660,"title":"Volume - emptyDir, hostPath, PV/PVC","path":"DevOps/k8s/volume.md","url":"/estudy/DevOps/k8s/volume.html","section":"DevOps","choseong":"Volume - emptyDir, hostPath, PV/PVC","size":4245,"degree":2},{"id":661,"title":"MicroService Monitoring System (cc. Loki/Grafana)","path":"DevOps/msa_monitoring.md","url":"/estudy/DevOps/msa_monitoring.html","section":"DevOps","choseong":"MicroService Monitoring System (cc. Loki/Grafana)","size":11384,"degree":2},{"id":662,"title":"Nginx","path":"DevOps/nginx.md","url":"/estudy/DevOps/nginx.html","section":"DevOps","choseong":"Nginx","size":5204,"degree":2},{"id":663,"title":"Prometheus, Grafana","path":"DevOps/prometheus_grafana.md","url":"/estudy/DevOps/prometheus_grafana.html","section":"DevOps","choseong":"Prometheus, Grafana","size":2898,"degree":2},{"id":664,"title":"RabbitMQ","path":"DevOps/rabbitmq.md","url":"/estudy/DevOps/rabbitmq.html","section":"DevOps","choseong":"RabbitMQ","size":6830,"degree":2},{"id":665,"title":"MSA에서의 Service discovery 패턴","path":"DevOps/service_discovery.md","url":"/estudy/DevOps/service_discovery.html","section":"DevOps","choseong":"MSAㅇㅅㅇ Service discovery ㅍㅌ","size":3748,"degree":2},{"id":666,"title":"서비스 메시 Service Mesh","path":"DevOps/service_mesh.md","url":"/estudy/DevOps/service_mesh.html","section":"DevOps","choseong":"ㅅㅂㅅ ㅁㅅ Service Mesh","size":5989,"degree":2},{"id":667,"title":"가상머신(Virtual Machine) vs 컨테이너(Container)","path":"DevOps/vircon.md","url":"/estudy/DevOps/vircon.html","section":"DevOps","choseong":"ㄱㅅㅁㅅ(Virtual Machine) vs ㅋㅌㅇㄴ(Container)","size":2220,"degree":2},{"id":668,"title":"xDS Protocol, Control Plane (Istio Pilot)","path":"DevOps/xds.md","url":"/estudy/DevOps/xds.html","section":"DevOps","choseong":"xDS Protocol, Control Plane (Istio Pilot)","size":3493,"degree":2},{"id":669,"title":"데몬(daemon) 프로세스의 정의","path":"DevOps/데몬프로세스.md","url":"/estudy/DevOps/데몬프로세스.html","section":"DevOps","choseong":"ㄷㅁ(daemon) ㅍㄹㅅㅅㅇ ㅈㅇ","size":3320,"degree":2},{"id":670,"title":"서버 이중화 구조","path":"DevOps/이중화.md","url":"/estudy/DevOps/이중화.html","section":"DevOps","choseong":"ㅅㅂ ㅇㅈㅎ ㄱㅈ","size":2268,"degree":2},{"id":671,"title":"컨테이너 로깅","path":"DevOps/컨테이너로깅.md","url":"/estudy/DevOps/컨테이너로깅.html","section":"DevOps","choseong":"ㅋㅌㅇㄴ ㄹㄱ","size":4770,"degree":2},{"id":672,"title":"컨테이너 자원 제한","path":"DevOps/컨테이너자원제한.md","url":"/estudy/DevOps/컨테이너자원제한.html","section":"DevOps","choseong":"ㅋㅌㅇㄴ ㅈㅇ ㅈㅎ","size":4686,"degree":2},{"id":673,"title":"애자일 소프트웨어 개발","path":"Essentials/agilesw.md","url":"/estudy/Essentials/agilesw.html","section":"Essentials","choseong":"ㅇㅈㅇ ㅅㅍㅌㅇㅇ ㄱㅂ","size":4534,"degree":2},{"id":674,"title":"AI 시대에서 살아남는 방법","path":"Essentials/ai_ithink.md","url":"/estudy/Essentials/ai_ithink.html","section":"Essentials","choseong":"AI ㅅㄷㅇㅅ ㅅㅇㄴㄴ ㅂㅂ","size":9286,"degree":2},{"id":675,"title":"카르페디엠 Carpe diem","path":"Essentials/carpedm.md","url":"/estudy/Essentials/carpedm.html","section":"Essentials","choseong":"ㅋㄹㅍㄷㅇ Carpe diem","size":29582,"degree":2},{"id":676,"title":"소프트웨어 엔지니어로서 성장하기","path":"Essentials/growth.md","url":"/estudy/Essentials/growth.html","section":"Essentials","choseong":"ㅅㅍㅌㅇㅇ ㅇㅈㄴㅇㄹㅅ ㅅㅈㅎㄱ","size":8612,"degree":2},{"id":677,"title":"왜 선배들은 Hello World를 찍으라할까?","path":"Essentials/helloworld.md","url":"/estudy/Essentials/helloworld.html","section":"Essentials","choseong":"ㅇ ㅅㅂㄷㅇ Hello Worldㄹ ㅉㅇㄹㅎㄲ?","size":5353,"degree":2},{"id":678,"title":"나만의 역량 강화, 지속 가능한 성장 방법","path":"Essentials/steady.md","url":"/estudy/Essentials/steady.html","section":"Essentials","choseong":"ㄴㅁㅇ ㅇㄹ ㄱㅎ, ㅈㅅ ㄱㄴㅎ ㅅㅈ ㅂㅂ","size":10382,"degree":2},{"id":679,"title":"일을 잘한다와 개발을 잘한다의 정의","path":"Essentials/works.md","url":"/estudy/Essentials/works.html","section":"Essentials","choseong":"ㅇㅇ ㅈㅎㄷㅇ ㄱㅂㅇ ㅈㅎㄷㅇ ㅈㅇ","size":6754,"degree":2},{"id":680,"title":"YAGNI (You Ain't Gonna Need It)","path":"Essentials/yagni.md","url":"/estudy/Essentials/yagni.html","section":"Essentials","choseong":"YAGNI (You Ain't Gonna Need It)","size":6389,"degree":2},{"id":681,"title":"DOM API","path":"Front-End/JS/DOM.md","url":"/estudy/Front-End/JS/DOM.html","section":"Front-End","choseong":"DOM API","size":2793,"degree":2},{"id":682,"title":"자주사용하는 DOM API 정리","path":"Front-End/JS/DOM2.md","url":"/estudy/Front-End/JS/DOM2.html","section":"Front-End","choseong":"ㅈㅈㅅㅇㅎㄴ DOM API ㅈㄹ","size":4792,"degree":2},{"id":683,"title":"데이터 불변성","path":"Front-End/JS/Immutability.md","url":"/estudy/Front-End/JS/Immutability.html","section":"Front-End","choseong":"ㄷㅇㅌ ㅂㅂㅅ","size":1916,"degree":2},{"id":684,"title":"JSON","path":"Front-End/JS/JSON.md","url":"/estudy/Front-End/JS/JSON.html","section":"Front-End","choseong":"JSON","size":932,"degree":2},{"id":685,"title":"Lodash","path":"Front-End/JS/Lodash.md","url":"/estudy/Front-End/JS/Lodash.html","section":"Front-End","choseong":"Lodash","size":2164,"degree":2},{"id":686,"title":"Math","path":"Front-End/JS/Number.md","url":"/estudy/Front-End/JS/Number.html","section":"Front-End","choseong":"Math","size":2232,"degree":2},{"id":687,"title":"Basic Js","path":"Front-End/JS/Object.md","url":"/estudy/Front-End/JS/Object.html","section":"Front-End","choseong":"Basic Js","size":2008,"degree":2},{"id":688,"title":"프로토타입","path":"Front-End/JS/Object2.md","url":"/estudy/Front-End/JS/Object2.html","section":"Front-End","choseong":"ㅍㄹㅌㅌㅇ","size":2781,"degree":2},{"id":689,"title":"객체 메소드","path":"Front-End/JS/Object3.md","url":"/estudy/Front-End/JS/Object3.html","section":"Front-End","choseong":"ㄱㅊ ㅁㅅㄷ","size":1186,"degree":2},{"id":690,"title":"Storage","path":"Front-End/JS/Storage.md","url":"/estudy/Front-End/JS/Storage.html","section":"Front-End","choseong":"Storage","size":730,"degree":2},{"id":691,"title":"Class","path":"Front-End/JS/TS_class.md","url":"/estudy/Front-End/JS/TS_class.html","section":"Front-End","choseong":"Class","size":6742,"degree":3},{"id":692,"title":"ajax","path":"Front-End/JS/ajax.md","url":"/estudy/Front-End/JS/ajax.html","section":"Front-End","choseong":"ajax","size":1859,"degree":2},{"id":693,"title":"배열","path":"Front-End/JS/array.md","url":"/estudy/Front-End/JS/array.html","section":"Front-End","choseong":"ㅂㅇ","size":3657,"degree":2},{"id":694,"title":"배열2","path":"Front-End/JS/array2.md","url":"/estudy/Front-End/JS/array2.html","section":"Front-End","choseong":"ㅂㅇ2","size":3656,"degree":2},{"id":695,"title":"클래스","path":"Front-End/JS/class.md","url":"/estudy/Front-End/JS/class.html","section":"Front-End","choseong":"ㅋㄹㅅ","size":3088,"degree":2},{"id":696,"title":"Constructor(생성자) , 접근제한자 , Getter 와 Setter","path":"Front-End/JS/constructor.md","url":"/estudy/Front-End/JS/constructor.html","section":"Front-End","choseong":"Constructor(ㅅㅅㅈ) , ㅈㄱㅈㅎㅈ , Getter ㅇ Setter","size":3953,"degree":2},{"id":697,"title":"구조 분해 할당","path":"Front-End/JS/destruct.md","url":"/estudy/Front-End/JS/destruct.html","section":"Front-End","choseong":"ㄱㅈ ㅂㅎ ㅎㄷ","size":923,"degree":2},{"id":698,"title":"export","path":"Front-End/JS/export.md","url":"/estudy/Front-End/JS/export.html","section":"Front-End","choseong":"export","size":2082,"degree":2},{"id":699,"title":"fetch API","path":"Front-End/JS/fetch.md","url":"/estudy/Front-End/JS/fetch.html","section":"Front-End","choseong":"fetch API","size":2936,"degree":2},{"id":700,"title":"함수","path":"Front-End/JS/function.md","url":"/estudy/Front-End/JS/function.html","section":"Front-End","choseong":"ㅎㅅ","size":3084,"degree":2},{"id":701,"title":"가비지 컬렉션","path":"Front-End/JS/garbage.md","url":"/estudy/Front-End/JS/garbage.html","section":"Front-End","choseong":"ㄱㅂㅈ ㅋㄹㅅ","size":2478,"degree":2},{"id":702,"title":"import","path":"Front-End/JS/import.md","url":"/estudy/Front-End/JS/import.html","section":"Front-End","choseong":"import","size":1669,"degree":2},{"id":703,"title":"Promise","path":"Front-End/JS/promise.md","url":"/estudy/Front-End/JS/promise.html","section":"Front-End","choseong":"Promise","size":8373,"degree":2},{"id":704,"title":"문자.문자열","path":"Front-End/JS/typeString.md","url":"/estudy/Front-End/JS/typeString.html","section":"Front-End","choseong":"ㅁㅈ.ㅁㅈㅇ","size":1909,"degree":2},{"id":705,"title":"정규표현식","path":"Front-End/JS/정규표현식.md","url":"/estudy/Front-End/JS/정규표현식.html","section":"Front-End","choseong":"ㅈㄱㅍㅎㅅ","size":5073,"degree":2},{"id":706,"title":"클래스형 컴포넌트","path":"Front-End/React/classcompo.md","url":"/estudy/Front-End/React/classcompo.html","section":"Front-End","choseong":"ㅋㄹㅅㅎ ㅋㅍㄴㅌ","size":3296,"degree":3},{"id":707,"title":"Component","path":"Front-End/React/component.md","url":"/estudy/Front-End/React/component.html","section":"Front-End","choseong":"Component","size":2959,"degree":2},{"id":708,"title":"함수형 컴포넌트","path":"Front-End/React/funcompo.md","url":"/estudy/Front-End/React/funcompo.html","section":"Front-End","choseong":"ㅎㅅㅎ ㅋㅍㄴㅌ","size":1947,"degree":3},{"id":709,"title":"React","path":"Front-End/React/react.md","url":"/estudy/Front-End/React/react.html","section":"Front-End","choseong":"React","size":3363,"degree":3},{"id":710,"title":"Type","path":"Front-End/TS/TS_Type.md","url":"/estudy/Front-End/TS/TS_Type.html","section":"Front-End","choseong":"Type","size":4326,"degree":2},{"id":711,"title":"TypeScript 컴파일러","path":"Front-End/TS/TS_compiler.md","url":"/estudy/Front-End/TS/TS_compiler.html","section":"Front-End","choseong":"TypeScript ㅋㅍㅇㄹ","size":4511,"degree":3},{"id":712,"title":"TypeScript 에서의 함수","path":"Front-End/TS/TS_function.md","url":"/estudy/Front-End/TS/TS_function.html","section":"Front-End","choseong":"TypeScript ㅇㅅㅇ ㅎㅅ","size":4172,"degree":2},{"id":713,"title":"Generic","path":"Front-End/TS/TS_generic.md","url":"/estudy/Front-End/TS/TS_generic.html","section":"Front-End","choseong":"Generic","size":5939,"degree":2},{"id":714,"title":"Interface","path":"Front-End/TS/TS_interface.md","url":"/estudy/Front-End/TS/TS_interface.html","section":"Front-End","choseong":"Interface","size":4218,"degree":2},{"id":715,"title":"Interface2","path":"Front-End/TS/TS_interface2.md","url":"/estudy/Front-End/TS/TS_interface2.html","section":"Front-End","choseong":"Interface2","size":2126,"degree":2},{"id":716,"title":"TypeScript","path":"Front-End/TS/TypeScript.md","url":"/estudy/Front-End/TS/TypeScript.html","section":"Front-End","choseong":"TypeScript","size":1014,"degree":3},{"id":717,"title":"JVM이 구현하는 다형성 탈가상화 Devirtualization","path":"JVM/devirtual.md","url":"/estudy/JVM/devirtual.html","section":"JVM","choseong":"JVMㅇ ㄱㅎㅎㄴ ㄷㅎㅅ ㅌㄱㅅㅎ Devirtualization","size":9928,"degree":2},{"id":718,"title":"JIT 컴파일러, GraalVM 자바코드 기계어 번역 과정","path":"JVM/jit_graal.md","url":"/estudy/JVM/jit_graal.html","section":"JVM","choseong":"JIT ㅋㅍㅇㄹ, GraalVM ㅈㅂㅋㄷ ㄱㄱㅇ ㅂㅇ ㄱㅈ","size":7054,"degree":3},{"id":719,"title":"JMM과 하드웨어 교차점","path":"JVM/jmm.md","url":"/estudy/JVM/jmm.html","section":"JVM","choseong":"JMMㄱ ㅎㄷㅇㅇ ㄱㅊㅈ","size":4623,"degree":2},{"id":720,"title":"JVM의 5가지 메서드 호출 명령어","path":"JVM/jvm_command.md","url":"/estudy/JVM/jvm_command.html","section":"JVM","choseong":"JVMㅇ 5ㄱㅈ ㅁㅅㄷ ㅎㅊ ㅁㄹㅇ","size":5347,"degree":2},{"id":721,"title":"JVM Observability 도구별 원리 해부학","path":"JVM/jvm_observability.md","url":"/estudy/JVM/jvm_observability.html","section":"JVM","choseong":"JVM Observability ㄷㄱㅂ ㅇㄹ ㅎㅂㅎ","size":9158,"degree":2},{"id":722,"title":"Marked0/1, Good/Bad Color","path":"JVM/marked_pointer.md","url":"/estudy/JVM/marked_pointer.html","section":"JVM","choseong":"Marked0/1, Good/Bad Color","size":28,"degree":2},{"id":723,"title":"HotSpot JVM ZGC Barrier, NUMA 메모리 할당 및 Safepoint 동작","path":"JVM/memory_concept_hard.md","url":"/estudy/JVM/memory_concept_hard.html","section":"JVM","choseong":"HotSpot JVM ZGC Barrier, NUMA ㅁㅁㄹ ㅎㄷ ㅁ Safepoint ㄷㅈ","size":9264,"degree":2},{"id":724,"title":"PGO(Profile-Guided Optimization)","path":"JVM/pgo.md","url":"/estudy/JVM/pgo.html","section":"JVM","choseong":"PGO(Profile-Guided Optimization)","size":3149,"degree":2},{"id":725,"title":"Safepoint와 Polling Page","path":"JVM/safepoint.md","url":"/estudy/JVM/safepoint.html","section":"JVM","choseong":"Safepointㅇ Polling Page","size":4238,"degree":2},{"id":726,"title":"buffer_head","path":"Linux/buffer_head.md","url":"/estudy/Linux/buffer_head.html","section":"Linux","choseong":"buffer_head","size":3724,"degree":2},{"id":727,"title":"df","path":"Linux/df.md","url":"/estudy/Linux/df.html","section":"Linux","choseong":"df","size":1541,"degree":2},{"id":728,"title":"dmesg","path":"Linux/dmesg.md","url":"/estudy/Linux/dmesg.html","section":"Linux","choseong":"dmesg","size":2829,"degree":2},{"id":729,"title":"epoll","path":"Linux/epoll.md","url":"/estudy/Linux/epoll.html","section":"Linux","choseong":"epoll","size":5122,"degree":2},{"id":730,"title":"free","path":"Linux/free.md","url":"/estudy/Linux/free.html","section":"Linux","choseong":"free","size":3365,"degree":2},{"id":731,"title":"Kernel Space vs User Space","path":"Linux/ku.md","url":"/estudy/Linux/ku.html","section":"Linux","choseong":"Kernel Space vs User Space","size":7389,"degree":2},{"id":732,"title":"Linux File System","path":"Linux/linux_filesystem.md","url":"/estudy/Linux/linux_filesystem.html","section":"Linux","choseong":"Linux File System","size":5836,"degree":2},{"id":733,"title":"netstat","path":"Linux/netstat.md","url":"/estudy/Linux/netstat.html","section":"Linux","choseong":"netstat","size":2280,"degree":2},{"id":734,"title":"System Call Interface","path":"Linux/syscall.md","url":"/estudy/Linux/syscall.html","section":"Linux","choseong":"System Call Interface","size":2797,"degree":2},{"id":735,"title":"top","path":"Linux/top.md","url":"/estudy/Linux/top.html","section":"Linux","choseong":"top","size":2051,"degree":2},{"id":736,"title":"uptime","path":"Linux/uptime.md","url":"/estudy/Linux/uptime.html","section":"Linux","choseong":"uptime","size":3532,"degree":2},{"id":737,"title":"CPU와 GPU의 설계 철학 차이: Latency 최적화(CPU) vs Throughput 최적화(GPU)","path":"MLOps/cpu_gpu.md","url":"/estudy/MLOps/cpu_gpu.html","section":"MLOps","choseong":"CPUㅇ GPUㅇ ㅅㄱ ㅊㅎ ㅊㅇ: Latency ㅊㅈㅎ(CPU) vs Throughput ㅊㅈㅎ(GPU)","size":9793,"degree":2},{"id":738,"title":"CUDA, Tensor Core","path":"MLOps/cuda.md","url":"/estudy/MLOps/cuda.html","section":"MLOps","choseong":"CUDA, Tensor Core","size":9919,"degree":2},{"id":739,"title":"분산 서빙과 통신","path":"MLOps/distribute_serving.md","url":"/estudy/MLOps/distribute_serving.html","section":"MLOps","choseong":"ㅂㅅ ㅅㅂㄱ ㅌㅅ","size":16637,"degree":2},{"id":740,"title":"Agent 구성요소와 State Model 설계","path":"MLOps/durable_agent/agent_component.md","url":"/estudy/MLOps/durable_agent/agent_component.html","section":"MLOps","choseong":"Agent ㄱㅅㅇㅅㅇ State Model ㅅㄱ","size":8730,"degree":2},{"id":741,"title":"Durable Execution과 Workflow 복구","path":"MLOps/durable_agent/durableworkflow.md","url":"/estudy/MLOps/durable_agent/durableworkflow.html","section":"MLOps","choseong":"Durable Executionㄱ Workflow ㅂㄱ","size":10857,"degree":2},{"id":742,"title":"Tool Calling과 MCP 기반 Tool 설계","path":"MLOps/durable_agent/tool_call.md","url":"/estudy/MLOps/durable_agent/tool_call.html","section":"MLOps","choseong":"Tool Callingㄱ MCP ㄱㅂ Tool ㅅㄱ","size":8374,"degree":2},{"id":743,"title":"GPU 하드웨어와 성능 모델","path":"MLOps/gpu.md","url":"/estudy/MLOps/gpu.html","section":"MLOps","choseong":"GPU ㅎㄷㅇㅇㅇ ㅅㄴ ㅁㄷ","size":78322,"degree":2},{"id":744,"title":"GPU 내부 메모리 계층 구조","path":"MLOps/gpu_mem.md","url":"/estudy/MLOps/gpu_mem.html","section":"MLOps","choseong":"GPU ㄴㅂ ㅁㅁㄹ ㄱㅊ ㄱㅈ","size":9758,"degree":2},{"id":745,"title":"GPU 스레드 실행 모델","path":"MLOps/gpu_thread.md","url":"/estudy/MLOps/gpu_thread.html","section":"MLOps","choseong":"GPU ㅅㄹㄷ ㅅㅎ ㅁㄷ","size":10578,"degree":2},{"id":746,"title":"GPU 위에 모델이 뜨는 과정","path":"MLOps/gpumodel.md","url":"/estudy/MLOps/gpumodel.html","section":"MLOps","choseong":"GPU ㅇㅇ ㅁㄷㅇ ㄸㄴ ㄱㅈ","size":37300,"degree":2},{"id":747,"title":"HBM, Roofline 모델","path":"MLOps/hbm.md","url":"/estudy/MLOps/hbm.html","section":"MLOps","choseong":"HBM, Roofline ㅁㄷ","size":11264,"degree":2},{"id":748,"title":"LLM Serving Benchmark와 성능 지표","path":"MLOps/llm_performance/bench.md","url":"/estudy/MLOps/llm_performance/bench.html","section":"MLOps","choseong":"LLM Serving Benchmarkㅇ ㅅㄴ ㅈㅍ","size":8241,"degree":2},{"id":749,"title":"KV Cache와 Batching 최적화","path":"MLOps/llm_performance/kvopt.md","url":"/estudy/MLOps/llm_performance/kvopt.html","section":"MLOps","choseong":"KV Cacheㅇ Batching ㅊㅈㅎ","size":8558,"degree":2},{"id":750,"title":"Transformer 추론 실행 구조 이해","path":"MLOps/llm_performance/llm_infer.md","url":"/estudy/MLOps/llm_performance/llm_infer.html","section":"MLOps","choseong":"Transformer ㅊㄹ ㅅㅎ ㄱㅈ ㅇㅎ","size":8892,"degree":2},{"id":751,"title":"4. Quantization과 Multi-GPU Parallelism","path":"MLOps/llm_performance/quant.md","url":"/estudy/MLOps/llm_performance/quant.html","section":"MLOps","choseong":"4. Quantizationㄱ Multi-GPU Parallelism","size":8478,"degree":2},{"id":752,"title":"Production Model Serving과 Capacity Planning","path":"MLOps/llm_performance/serving.md","url":"/estudy/MLOps/llm_performance/serving.html","section":"MLOps","choseong":"Production Model Servingㄱ Capacity Planning","size":6454,"degree":2},{"id":753,"title":"병렬화 전략 — TP, PP, EP, DP","path":"MLOps/np.md","url":"/estudy/MLOps/np.html","section":"MLOps","choseong":"ㅂㄹㅎ ㅈㄹ — TP, PP, EP, DP","size":23900,"degree":2},{"id":754,"title":"NVLink, NVSwitch","path":"MLOps/nv.md","url":"/estudy/MLOps/nv.html","section":"MLOps","choseong":"NVLink, NVSwitch","size":7929,"degree":2},{"id":755,"title":"PCIe 레인 구조, GPUDirect Storage, NUMA Optimization","path":"MLOps/pcle.md","url":"/estudy/MLOps/pcle.html","section":"MLOps","choseong":"PCIe ㄹㅇ ㄱㅈ, GPUDirect Storage, NUMA Optimization","size":7908,"degree":2},{"id":756,"title":"모델 아키텍처별 서빙 플레이북","path":"MLOps/serving.md","url":"/estudy/MLOps/serving.html","section":"MLOps","choseong":"ㅁㄷ ㅇㅋㅌㅊㅂ ㅅㅂ ㅍㄹㅇㅂ","size":60436,"degree":2},{"id":757,"title":"SGLang 서빙 실전 케이스북","path":"MLOps/sglang.md","url":"/estudy/MLOps/sglang.html","section":"MLOps","choseong":"SGLang ㅅㅂ ㅅㅈ ㅋㅇㅅㅂ","size":96360,"degree":2},{"id":758,"title":"ZeRO Optimizer (DeepSpeed, FSDP)","path":"MLOps/zeroopt.md","url":"/estudy/MLOps/zeroopt.html","section":"MLOps","choseong":"ZeRO Optimizer (DeepSpeed, FSDP)","size":10424,"degree":2},{"id":759,"title":"마이크로서비스에서 분산 트랜잭션 관리하기","path":"MSA/distribution.md","url":"/estudy/MSA/distribution.html","section":"MSA","choseong":"ㅁㅇㅋㄹㅅㅂㅅㅇㅅ ㅂㅅ ㅌㄹㅈㅅ ㄱㄹㅎㄱ","size":7747,"degree":2},{"id":760,"title":"비동기 메시지 패턴 응용 통신","path":"MSA/ipc/async_message.md","url":"/estudy/MSA/ipc/async_message.html","section":"MSA","choseong":"ㅂㄷㄱ ㅁㅅㅈ ㅍㅌ ㅇㅇ ㅌㅅ","size":11891,"degree":2},{"id":761,"title":"마이크로서비스 아키텍처 IPC","path":"MSA/ipc/ipc.md","url":"/estudy/MSA/ipc/ipc.html","section":"MSA","choseong":"ㅁㅇㅋㄹㅅㅂㅅ ㅇㅋㅌㅊ IPC","size":1117,"degree":3},{"id":762,"title":"동기 RPI 패턴 응용 통신","path":"MSA/ipc/rpi.md","url":"/estudy/MSA/ipc/rpi.html","section":"MSA","choseong":"ㄷㄱ RPI ㅍㅌ ㅇㅇ ㅌㅅ","size":1434,"degree":3},{"id":763,"title":"CQRS","path":"MSA/pattern/cqrs.md","url":"/estudy/MSA/pattern/cqrs.html","section":"MSA","choseong":"CQRS","size":1427,"degree":2},{"id":764,"title":"Event Sourcing","path":"MSA/pattern/event_sourcing.md","url":"/estudy/MSA/pattern/event_sourcing.html","section":"MSA","choseong":"Event Sourcing","size":2376,"degree":2},{"id":765,"title":"Transactional Outbox Pattern","path":"MSA/pattern/outbox.md","url":"/estudy/MSA/pattern/outbox.html","section":"MSA","choseong":"Transactional Outbox Pattern","size":7378,"degree":2},{"id":766,"title":"Saga Pattern","path":"MSA/pattern/saga.md","url":"/estudy/MSA/pattern/saga.html","section":"MSA","choseong":"Saga Pattern","size":4602,"degree":2},{"id":767,"title":"Two Phase Commit","path":"MSA/pattern/two_phase_commit.md","url":"/estudy/MSA/pattern/two_phase_commit.html","section":"MSA","choseong":"Two Phase Commit","size":2962,"degree":2},{"id":768,"title":"마이크로서비스 클라이언트 회복성 패턴","path":"MSA/recover.md","url":"/estudy/MSA/recover.html","section":"MSA","choseong":"ㅁㅇㅋㄹㅅㅂㅅ ㅋㄹㅇㅇㅌ ㅎㅂㅅ ㅍㅌ","size":4655,"degree":2},{"id":769,"title":"service_discovery","path":"MSA/service_discovery.md","url":"/estudy/MSA/service_discovery.html","section":"MSA","choseong":"service_discovery","size":2153,"degree":2},{"id":770,"title":"서비스 디스커버리를 DNS, 로드 밸런서 방식을 사용하지 않는 이유","path":"MSA/service_discovery_dns.md","url":"/estudy/MSA/service_discovery_dns.html","section":"MSA","choseong":"ㅅㅂㅅ ㄷㅅㅋㅂㄹㄹ DNS, ㄹㄷ ㅂㄹㅅ ㅂㅅㅇ ㅅㅇㅎㅈ ㅇㄴ ㅇㅇ","size":4250,"degree":2},{"id":771,"title":"MSA, MA, SOA(Service Oriented Architecture), ESB, SOAP","path":"MSA/soa.md","url":"/estudy/MSA/soa.html","section":"MSA","choseong":"MSA, MA, SOA(Service Oriented Architecture), ESB, SOAP","size":4048,"degree":2},{"id":772,"title":"확장 큐브로 보는 마이크로서비스","path":"MSA/확장큐브.md","url":"/estudy/MSA/확장큐브.html","section":"MSA","choseong":"ㅎㅈ ㅋㅂㄹ ㅂㄴ ㅁㅇㅋㄹㅅㅂㅅ","size":2429,"degree":2},{"id":773,"title":"수학","path":"Math/README.md","url":"/estudy/Math/README.html","section":"Math","choseong":"ㅅㅎ","size":805,"degree":8},{"id":774,"title":"연립선형방정식과 행렬","path":"Math/math1.md","url":"/estudy/Math/math1.html","section":"Math","choseong":"ㅇㄹㅅㅎㅂㅈㅅㄱ ㅎㄹ","size":9754,"degree":3},{"id":775,"title":"가우스-조르당 소거법과 여러 가지 행렬","path":"Math/math2.md","url":"/estudy/Math/math2.html","section":"Math","choseong":"ㄱㅇㅅ-ㅈㄹㄷ ㅅㄱㅂㄱ ㅇㄹ ㄱㅈ ㅎㄹ","size":8641,"degree":3},{"id":776,"title":"벡터공간과 내적","path":"Math/math3.md","url":"/estudy/Math/math3.html","section":"Math","choseong":"ㅂㅌㄱㄱㄱ ㄴㅈ","size":10376,"degree":3},{"id":777,"title":"선형변환과 랭크정리","path":"Math/math4.md","url":"/estudy/Math/math4.html","section":"Math","choseong":"ㅅㅎㅂㅎㄱ ㄹㅋㅈㄹ","size":7798,"degree":3},{"id":778,"title":"고윳값과 케일리-해밀턴 정리","path":"Math/math5.md","url":"/estudy/Math/math5.html","section":"Math","choseong":"ㄱㅇㄱㄱ ㅋㅇㄹ-ㅎㅁㅌ ㅈㄹ","size":7812,"degree":3},{"id":779,"title":"행렬 분해","path":"Math/math6.md","url":"/estudy/Math/math6.html","section":"Math","choseong":"ㅎㄹ ㅂㅎ","size":4052,"degree":3},{"id":780,"title":"VLAN 이해하기 - VLAN, Trunk, Access Port","path":"Network/VLAN.md","url":"/estudy/Network/VLAN.html","section":"Network","choseong":"VLAN ㅇㅎㅎㄱ - VLAN, Trunk, Access Port","size":6495,"degree":2},{"id":781,"title":"Mac Address, IP Address","path":"Network/addr.md","url":"/estudy/Network/addr.html","section":"Network","choseong":"Mac Address, IP Address","size":7434,"degree":2},{"id":782,"title":"현대적 네트워크와 차세대 혼잡 제어 (BBR & QUIC)","path":"Network/bbrquic.md","url":"/estudy/Network/bbrquic.html","section":"Network","choseong":"ㅎㄷㅈ ㄴㅌㅇㅋㅇ ㅊㅅㄷ ㅎㅈ ㅈㅇ (BBR & QUIC)","size":4180,"degree":2},{"id":783,"title":"BGP(Border Gateway Protocol) Peering","path":"Network/bgp.md","url":"/estudy/Network/bgp.html","section":"Network","choseong":"BGP(Border Gateway Protocol) Peering","size":3238,"degree":2},{"id":784,"title":"Network Components","path":"Network/component.md","url":"/estudy/Network/component.html","section":"Network","choseong":"Network Components","size":7753,"degree":2},{"id":785,"title":"네트워크 회선, VPN, DWDM","path":"Network/conn.md","url":"/estudy/Network/conn.html","section":"Network","choseong":"ㄴㅌㅇㅋ ㅎㅅ, VPN, DWDM","size":4467,"degree":2},{"id":786,"title":"DHCP(Dynamic Host Configuration Protocol)","path":"Network/dhcp.md","url":"/estudy/Network/dhcp.html","section":"Network","choseong":"DHCP(Dynamic Host Configuration Protocol)","size":2929,"degree":2},{"id":787,"title":"Token Ring, Ethernet","path":"Network/et.md","url":"/estudy/Network/et.html","section":"Network","choseong":"Token Ring, Ethernet","size":2106,"degree":2},{"id":788,"title":"File Descriptor in Network(cc. KeepAlive)","path":"Network/fd.md","url":"/estudy/Network/fd.html","section":"Network","choseong":"File Descriptor in Network(cc. KeepAlive)","size":3823,"degree":2},{"id":789,"title":"HTTP Keep-Alive","path":"Network/httpka.md","url":"/estudy/Network/httpka.html","section":"Network","choseong":"HTTP Keep-Alive","size":4982,"degree":2},{"id":790,"title":"IPsec","path":"Network/ipsec.md","url":"/estudy/Network/ipsec.html","section":"Network","choseong":"IPsec","size":3276,"degree":2},{"id":791,"title":"HTTP Keep-Alive, TCP Keep-Alive","path":"Network/keepalive.md","url":"/estudy/Network/keepalive.html","section":"Network","choseong":"HTTP Keep-Alive, TCP Keep-Alive","size":2789,"degree":2},{"id":792,"title":"Loss-based 알고리즘의 진화와 표준 (Reno & CUBIC)","path":"Network/lossbased.md","url":"/estudy/Network/lossbased.html","section":"Network","choseong":"Loss-based ㅇㄱㄹㅈㅇ ㅈㅎㅇ ㅍㅈ (Reno & CUBIC)","size":5287,"degree":2},{"id":793,"title":"QoS 3가지 수행 모델 (Best Effort, IntServ, DiffServ)","path":"Network/qos.md","url":"/estudy/Network/qos.html","section":"Network","choseong":"QoS 3ㄱㅈ ㅅㅎ ㅁㄷ (Best Effort, IntServ, DiffServ)","size":3589,"degree":2},{"id":794,"title":"라우터 Router","path":"Network/router.md","url":"/estudy/Network/router.html","section":"Network","choseong":"ㄹㅇㅌ Router","size":2642,"degree":2},{"id":795,"title":"SSL Handshake","path":"Network/ssl_handshake.md","url":"/estudy/Network/ssl_handshake.html","section":"Network","choseong":"SSL Handshake","size":3840,"degree":2},{"id":796,"title":"Gateway, Subnet","path":"Network/subn.md","url":"/estudy/Network/subn.html","section":"Network","choseong":"Gateway, Subnet","size":2554,"degree":2},{"id":797,"title":"Switch in Action","path":"Network/switch_act.md","url":"/estudy/Network/switch_act.html","section":"Network","choseong":"Switch in Action","size":7296,"degree":2},{"id":798,"title":"SYN Cookie","path":"Network/syncookie.md","url":"/estudy/Network/syncookie.html","section":"Network","choseong":"SYN Cookie","size":3010,"degree":2},{"id":799,"title":"TCP State Machine","path":"Network/tcp.md","url":"/estudy/Network/tcp.html","section":"Network","choseong":"TCP State Machine","size":9924,"degree":2},{"id":800,"title":"TCP Congestion Control","path":"Network/tcp_control.md","url":"/estudy/Network/tcp_control.html","section":"Network","choseong":"TCP Congestion Control","size":9413,"degree":2},{"id":801,"title":"TCP Flag, ECN","path":"Network/tcp_flag.md","url":"/estudy/Network/tcp_flag.html","section":"Network","choseong":"TCP Flag, ECN","size":6848,"degree":2},{"id":802,"title":"TCP Header","path":"Network/tcp_header.md","url":"/estudy/Network/tcp_header.html","section":"Network","choseong":"TCP Header","size":5277,"degree":2},{"id":803,"title":"TCP 세션 유지 Keepalive","path":"Network/tcp_keepalive.md","url":"/estudy/Network/tcp_keepalive.html","section":"Network","choseong":"TCP ㅅㅅ ㅇㅈ Keepalive","size":7309,"degree":2},{"id":804,"title":"TCP Syn, Accept Queue","path":"Network/tcpqueue.md","url":"/estudy/Network/tcpqueue.html","section":"Network","choseong":"TCP Syn, Accept Queue","size":4661,"degree":2},{"id":805,"title":"TCP Window Size, MSS, SACK Permmited","path":"Network/tcpwin.md","url":"/estudy/Network/tcpwin.html","section":"Network","choseong":"TCP Window Size, MSS, SACK Permmited","size":3573,"degree":2},{"id":806,"title":"VLAN","path":"Network/vlan2.md","url":"/estudy/Network/vlan2.html","section":"Network","choseong":"VLAN","size":6176,"degree":2},{"id":807,"title":"캐시 메모리 구조와 작동 방식","path":"Operating-System/cache_memory.md","url":"/estudy/Operating-System/cache_memory.html","section":"Operating-System","choseong":"ㅋㅅ ㅁㅁㄹ ㄱㅈㅇ ㅈㄷ ㅂㅅ","size":7990,"degree":2},{"id":808,"title":"CAS와 ABA 문제","path":"Operating-System/casaba.md","url":"/estudy/Operating-System/casaba.html","section":"Operating-System","choseong":"CASㅇ ABA ㅁㅈ","size":6143,"degree":2},{"id":809,"title":"컴파일러 최적화","path":"Operating-System/compiler_optimize.md","url":"/estudy/Operating-System/compiler_optimize.html","section":"Operating-System","choseong":"ㅋㅍㅇㄹ ㅊㅈㅎ","size":4380,"degree":2},{"id":810,"title":"컴퓨팅 시스템 Computing System","path":"Operating-System/computingsystem.md","url":"/estudy/Operating-System/computingsystem.html","section":"Operating-System","choseong":"ㅋㅍㅌ ㅅㅅㅌ Computing System","size":4382,"degree":2},{"id":811,"title":"Copy-on-Write (CoW)와 fork()의 메모리 최적화","path":"Operating-System/cow.md","url":"/estudy/Operating-System/cow.html","section":"Operating-System","choseong":"Copy-on-Write (CoW)ㅇ fork()ㅇ ㅁㅁㄹ ㅊㅈㅎ","size":4850,"degree":2},{"id":812,"title":"CPU Out-of-Order Execution, Barrier, Happens-Before","path":"Operating-System/cpuooo.md","url":"/estudy/Operating-System/cpuooo.html","section":"Operating-System","choseong":"CPU Out-of-Order Execution, Barrier, Happens-Before","size":5556,"degree":2},{"id":813,"title":"메모리 단편화 Fragmentation","path":"Operating-System/fragmentation.md","url":"/estudy/Operating-System/fragmentation.html","section":"Operating-System","choseong":"ㅁㅁㄹ ㄷㅍㅎ Fragmentation","size":2582,"degree":2},{"id":814,"title":"하이퍼바이저 Hypervisor","path":"Operating-System/hypervisor.md","url":"/estudy/Operating-System/hypervisor.html","section":"Operating-System","choseong":"ㅎㅇㅍㅂㅇㅈ Hypervisor","size":3179,"degree":2},{"id":815,"title":"Inode(Index Node)","path":"Operating-System/inode.md","url":"/estudy/Operating-System/inode.html","section":"Operating-System","choseong":"Inode(Index Node)","size":4038,"degree":2},{"id":816,"title":"IPC(Inter Process Comunication)","path":"Operating-System/ipc.md","url":"/estudy/Operating-System/ipc.html","section":"Operating-System","choseong":"IPC(Inter Process Comunication)","size":3696,"degree":2},{"id":817,"title":"Lock-Free 자료구조 및 STM","path":"Operating-System/lockfree.md","url":"/estudy/Operating-System/lockfree.html","section":"Operating-System","choseong":"Lock-Free ㅈㄹㄱㅈ ㅁ STM","size":9747,"degree":2},{"id":818,"title":"MMU, TLB, Page Table","path":"Operating-System/mm.md","url":"/estudy/Operating-System/mm.html","section":"Operating-System","choseong":"MMU, TLB, Page Table","size":4153,"degree":2},{"id":819,"title":"Memory - Address, Contiguous allocation, MMU","path":"Operating-System/mmu.md","url":"/estudy/Operating-System/mmu.html","section":"Operating-System","choseong":"Memory - Address, Contiguous allocation, MMU","size":8233,"degree":2},{"id":820,"title":"뮤텍스(Mutex)와 세마포어(Semaphore)","path":"Operating-System/mutex_semaphore.md","url":"/estudy/Operating-System/mutex_semaphore.html","section":"Operating-System","choseong":"ㅁㅌㅅ(Mutex)ㅇ ㅅㅁㅍㅇ(Semaphore)","size":4921,"degree":2},{"id":821,"title":"스핀락, 뮤텍스, 세마포어 + 뮤텍스 vs 이진 세마포어","path":"Operating-System/mutual_exclusion.md","url":"/estudy/Operating-System/mutual_exclusion.html","section":"Operating-System","choseong":"ㅅㅍㄹ, ㅁㅌㅅ, ㅅㅁㅍㅇ + ㅁㅌㅅ vs ㅇㅈ ㅅㅁㅍㅇ","size":4088,"degree":2},{"id":822,"title":"NUMA","path":"Operating-System/numa.md","url":"/estudy/Operating-System/numa.html","section":"Operating-System","choseong":"NUMA","size":2674,"degree":2},{"id":823,"title":"NUMA (Kernel Level)","path":"Operating-System/numa2.md","url":"/estudy/Operating-System/numa2.html","section":"Operating-System","choseong":"NUMA (Kernel Level)","size":3820,"degree":2},{"id":824,"title":"페이지 교체 알고리즘 FIFO, LRU, LFU, MFU, NUR","path":"Operating-System/page.md","url":"/estudy/Operating-System/page.html","section":"Operating-System","choseong":"ㅍㅇㅈ ㄱㅊ ㅇㄱㄹㅈ FIFO, LRU, LFU, MFU, NUR","size":5173,"degree":2},{"id":825,"title":"Parity bit, Pararell Paritiy, Hamming Code","path":"Operating-System/paritiy.md","url":"/estudy/Operating-System/paritiy.html","section":"Operating-System","choseong":"Parity bit, Pararell Paritiy, Hamming Code","size":3552,"degree":2},{"id":826,"title":"Page Cache, Buffer Cache","path":"Operating-System/pbcache.md","url":"/estudy/Operating-System/pbcache.html","section":"Operating-System","choseong":"Page Cache, Buffer Cache","size":4287,"degree":2},{"id":827,"title":"Process Architecture","path":"Operating-System/procarc.md","url":"/estudy/Operating-System/procarc.html","section":"Operating-System","choseong":"Process Architecture","size":4465,"degree":2},{"id":828,"title":"Process Memory Structure","path":"Operating-System/process_memory.md","url":"/estudy/Operating-System/process_memory.html","section":"Operating-System","choseong":"Process Memory Structure","size":4084,"degree":2},{"id":829,"title":"OS에서의 스와핑 Swapping","path":"Operating-System/swapping.md","url":"/estudy/Operating-System/swapping.html","section":"Operating-System","choseong":"OSㅇㅅㅇ ㅅㅇㅍ Swapping","size":2071,"degree":2},{"id":830,"title":"Paging, Fragmentation, TLB","path":"Operating-System/tlb.md","url":"/estudy/Operating-System/tlb.html","section":"Operating-System","choseong":"Paging, Fragmentation, TLB","size":15818,"degree":2},{"id":831,"title":"UDS, 0000.sock","path":"Operating-System/uds.md","url":"/estudy/Operating-System/uds.html","section":"Operating-System","choseong":"UDS, 0000.sock","size":3730,"degree":2},{"id":832,"title":"가상 메모리 Virtual Memory System","path":"Operating-System/vm.md","url":"/estudy/Operating-System/vm.html","section":"Operating-System","choseong":"ㄱㅅ ㅁㅁㄹ Virtual Memory System","size":5820,"degree":2},{"id":833,"title":"README","path":"README.md","url":"/estudy/README.html","section":"root","choseong":"README","size":109143,"degree":909},{"id":834,"title":"Pod Pending 상태의 주요 원인","path":"SRE/question/q_1.md","url":"/estudy/SRE/question/q_1.html","section":"SRE","choseong":"Pod Pending ㅅㅌㅇ ㅈㅇ ㅇㅇ","size":2704,"degree":2},{"id":835,"title":"CrashLoopBackOff 원인 분류","path":"SRE/question/q_10.md","url":"/estudy/SRE/question/q_10.html","section":"SRE","choseong":"CrashLoopBackOff ㅇㅇ ㅂㄹ","size":3522,"degree":2},{"id":836,"title":"StatefulSet과 Deployment 비교","path":"SRE/question/q_11.md","url":"/estudy/SRE/question/q_11.html","section":"SRE","choseong":"StatefulSetㄱ Deployment ㅂㄱ","size":2691,"degree":2},{"id":837,"title":"Ingress와 Service 비교","path":"SRE/question/q_12.md","url":"/estudy/SRE/question/q_12.html","section":"SRE","choseong":"Ingressㅇ Service ㅂㄱ","size":2924,"degree":2},{"id":838,"title":"kubelet의 Pod 관리 과정","path":"SRE/question/q_13.md","url":"/estudy/SRE/question/q_13.html","section":"SRE","choseong":"kubeletㅇ Pod ㄱㄹ ㄱㅈ","size":3296,"degree":2},{"id":839,"title":"Liveness·Readiness·Startup Probe 비교","path":"SRE/question/q_14.md","url":"/estudy/SRE/question/q_14.html","section":"SRE","choseong":"Liveness·Readiness·Startup Probe ㅂㄱ","size":2118,"degree":2},{"id":840,"title":"containerd의 역할","path":"SRE/question/q_15.md","url":"/estudy/SRE/question/q_15.html","section":"SRE","choseong":"containerdㅇ ㅇㅎ","size":4273,"degree":2},{"id":841,"title":"OOM Killer 동작 방식","path":"SRE/question/q_16.md","url":"/estudy/SRE/question/q_16.html","section":"SRE","choseong":"OOM Killer ㄷㅈ ㅂㅅ","size":3411,"degree":2},{"id":842,"title":"epoll이 select/poll보다 효율적인 이유","path":"SRE/question/q_17.md","url":"/estudy/SRE/question/q_17.html","section":"SRE","choseong":"epollㅇ select/pollㅂㄷ ㅎㅇㅈㅇ ㅇㅇ","size":4692,"degree":2},{"id":843,"title":"CPU Load Average 해석","path":"SRE/question/q_18.md","url":"/estudy/SRE/question/q_18.html","section":"SRE","choseong":"CPU Load Average ㅎㅅ","size":8212,"degree":2},{"id":844,"title":"cgroup의 CPU·메모리 제어 방식","path":"SRE/question/q_19.md","url":"/estudy/SRE/question/q_19.html","section":"SRE","choseong":"cgroupㅇ CPU·ㅁㅁㄹ ㅈㅇ ㅂㅅ","size":3612,"degree":2},{"id":845,"title":"kube-proxy 역할","path":"SRE/question/q_2.md","url":"/estudy/SRE/question/q_2.html","section":"SRE","choseong":"kube-proxy ㅇㅎ","size":1761,"degree":2},{"id":846,"title":"파일 디스크립터 고갈 시 나타나는 증상","path":"SRE/question/q_20.md","url":"/estudy/SRE/question/q_20.html","section":"SRE","choseong":"ㅍㅇ ㄷㅅㅋㄹㅌ ㄱㄱ ㅅ ㄴㅌㄴㄴ ㅈㅅ","size":5886,"degree":2},{"id":847,"title":"TCP TIME_WAIT 증가의 원인","path":"SRE/question/q_21.md","url":"/estudy/SRE/question/q_21.html","section":"SRE","choseong":"TCP TIME_WAIT ㅈㄱㅇ ㅇㅇ","size":5630,"degree":2},{"id":848,"title":"DNS Lookup Timeout 발생 요인","path":"SRE/question/q_22.md","url":"/estudy/SRE/question/q_22.html","section":"SRE","choseong":"DNS Lookup Timeout ㅂㅅ ㅇㅇ","size":5491,"degree":2},{"id":849,"title":"Swap 사용이 위험한 이유","path":"SRE/question/q_23.md","url":"/estudy/SRE/question/q_23.html","section":"SRE","choseong":"Swap ㅅㅇㅇ ㅇㅎㅎ ㅇㅇ","size":4766,"degree":2},{"id":850,"title":"NUMA 구조에서 발생하는 성능 문제","path":"SRE/question/q_24.md","url":"/estudy/SRE/question/q_24.html","section":"SRE","choseong":"NUMA ㄱㅈㅇㅅ ㅂㅅㅎㄴ ㅅㄴ ㅁㅈ","size":10421,"degree":2},{"id":851,"title":"스레드 풀 사이즈 산정 원리","path":"SRE/question/q_25.md","url":"/estudy/SRE/question/q_25.html","section":"SRE","choseong":"ㅅㄹㄷ ㅍ ㅅㅇㅈ ㅅㅈ ㅇㄹ","size":5027,"degree":2},{"id":852,"title":"Prometheus Pull 방식의 장점","path":"SRE/question/q_26.md","url":"/estudy/SRE/question/q_26.html","section":"SRE","choseong":"Prometheus Pull ㅂㅅㅇ ㅈㅈ","size":4014,"degree":2},{"id":853,"title":"Alertmanger 역할","path":"SRE/question/q_27.md","url":"/estudy/SRE/question/q_27.html","section":"SRE","choseong":"Alertmanger ㅇㅎ","size":5514,"degree":2},{"id":854,"title":"p95·p99 레이턴시 차이 분석","path":"SRE/question/q_28.md","url":"/estudy/SRE/question/q_28.html","section":"SRE","choseong":"p95·p99 ㄹㅇㅌㅅ ㅊㅇ ㅂㅅ","size":3226,"degree":2},{"id":855,"title":"High Cardinality의 위험성","path":"SRE/question/q_29.md","url":"/estudy/SRE/question/q_29.html","section":"SRE","choseong":"High Cardinalityㅇ ㅇㅎㅅ","size":5750,"degree":2},{"id":856,"title":"iptables와 ipvs의 차이","path":"SRE/question/q_3.md","url":"/estudy/SRE/question/q_3.html","section":"SRE","choseong":"iptablesㅇ ipvsㅇ ㅊㅇ","size":4940,"degree":2},{"id":857,"title":"로그 수집 시스템 필터링의 필요성","path":"SRE/question/q_30.md","url":"/estudy/SRE/question/q_30.html","section":"SRE","choseong":"ㄹㄱ ㅅㅈ ㅅㅅㅌ ㅍㅌㄹㅇ ㅍㅇㅅ","size":5200,"degree":2},{"id":858,"title":"Jaeger·Tempo의 역할","path":"SRE/question/q_31.md","url":"/estudy/SRE/question/q_31.html","section":"SRE","choseong":"Jaeger·Tempoㅇ ㅇㅎ","size":6416,"degree":2},{"id":859,"title":"OpenTelemetry 구조","path":"SRE/question/q_32.md","url":"/estudy/SRE/question/q_32.html","section":"SRE","choseong":"OpenTelemetry ㄱㅈ","size":10207,"degree":2},{"id":860,"title":"SLO와 SLI의 비교","path":"SRE/question/q_33.md","url":"/estudy/SRE/question/q_33.html","section":"SRE","choseong":"SLOㅇ SLIㅇ ㅂㄱ","size":6481,"degree":2},{"id":861,"title":"MTU Mismatch 발생 시 증상","path":"SRE/question/q_34.md","url":"/estudy/SRE/question/q_34.html","section":"SRE","choseong":"MTU Mismatch ㅂㅅ ㅅ ㅈㅅ","size":7673,"degree":2},{"id":862,"title":"Retry 폭주(Thundering Herd)의 위험성","path":"SRE/question/q_35.md","url":"/estudy/SRE/question/q_35.html","section":"SRE","choseong":"Retry ㅍㅈ(Thundering Herd)ㅇ ㅇㅎㅅ","size":7151,"degree":2},{"id":863,"title":"Connection Pool 고갈 증상","path":"SRE/question/q_36.md","url":"/estudy/SRE/question/q_36.html","section":"SRE","choseong":"Connection Pool ㄱㄱ ㅈㅅ","size":7516,"degree":2},{"id":864,"title":"Nginx 502·504 차이","path":"SRE/question/q_37.md","url":"/estudy/SRE/question/q_37.html","section":"SRE","choseong":"Nginx 502·504 ㅊㅇ","size":5180,"degree":2},{"id":865,"title":"Slow Query 탐지 방법","path":"SRE/question/q_38.md","url":"/estudy/SRE/question/q_38.html","section":"SRE","choseong":"Slow Query ㅌㅈ ㅂㅂ","size":5421,"degree":2},{"id":866,"title":"Thread Overflow 발생 원인","path":"SRE/question/q_39.md","url":"/estudy/SRE/question/q_39.html","section":"SRE","choseong":"Thread Overflow ㅂㅅ ㅇㅇ","size":5343,"degree":2},{"id":867,"title":"CNI(Container Network Interface)","path":"SRE/question/q_4.md","url":"/estudy/SRE/question/q_4.html","section":"SRE","choseong":"CNI(Container Network Interface)","size":3669,"degree":2},{"id":868,"title":"GC Pause 증가의 근본 원인","path":"SRE/question/q_40.md","url":"/estudy/SRE/question/q_40.html","section":"SRE","choseong":"GC Pause ㅈㄱㅇ ㄱㅂ ㅇㅇ","size":5803,"degree":2},{"id":869,"title":"장애 대응 시 우선순위 판단 기준","path":"SRE/question/q_41.md","url":"/estudy/SRE/question/q_41.html","section":"SRE","choseong":"ㅈㅇ ㄷㅇ ㅅ ㅇㅅㅅㅇ ㅍㄷ ㄱㅈ","size":5043,"degree":2},{"id":870,"title":"Incident Severity 산정 방식","path":"SRE/question/q_42.md","url":"/estudy/SRE/question/q_42.html","section":"SRE","choseong":"Incident Severity ㅅㅈ ㅂㅅ","size":5568,"degree":2},{"id":871,"title":"롤백 전략 수립 방법","path":"SRE/question/q_43.md","url":"/estudy/SRE/question/q_43.html","section":"SRE","choseong":"ㄹㅂ ㅈㄹ ㅅㄹ ㅂㅂ","size":5536,"degree":2},{"id":872,"title":"Blue/Green Deployment vs Canary Deployment","path":"SRE/question/q_44.md","url":"/estudy/SRE/question/q_44.html","section":"SRE","choseong":"Blue/Green Deployment vs Canary Deployment","size":4889,"degree":2},{"id":873,"title":"DNS Failover 구성 방법","path":"SRE/question/q_45.md","url":"/estudy/SRE/question/q_45.html","section":"SRE","choseong":"DNS Failover ㄱㅅ ㅂㅂ","size":5754,"degree":2},{"id":874,"title":"재발 방지 대책(Runbook 포함) 작성 방법","path":"SRE/question/q_46.md","url":"/estudy/SRE/question/q_46.html","section":"SRE","choseong":"ㅈㅂ ㅂㅈ ㄷㅊ(Runbook ㅍㅎ) ㅈㅅ ㅂㅂ","size":6058,"degree":2},{"id":875,"title":"Incident Flow: 감지 → Triage → Mitigation → RCA","path":"SRE/question/q_47.md","url":"/estudy/SRE/question/q_47.html","section":"SRE","choseong":"Incident Flow: ㄱㅈ → Triage → Mitigation → RCA","size":5332,"degree":2},{"id":876,"title":"Alert Fatigue 감소 전략","path":"SRE/question/q_48.md","url":"/estudy/SRE/question/q_48.html","section":"SRE","choseong":"Alert Fatigue ㄱㅅ ㅈㄹ","size":4498,"degree":2},{"id":877,"title":"배포 자동화 시 고려해야 할 안정성 체크","path":"SRE/question/q_49.md","url":"/estudy/SRE/question/q_49.html","section":"SRE","choseong":"ㅂㅍ ㅈㄷㅎ ㅅ ㄱㄹㅎㅇ ㅎ ㅇㅈㅅ ㅊㅋ","size":6453,"degree":2},{"id":878,"title":"Pod 간 노드 통신 패킷 흐름","path":"SRE/question/q_5.md","url":"/estudy/SRE/question/q_5.html","section":"SRE","choseong":"Pod ㄱ ㄴㄷ ㅌㅅ ㅍㅋ ㅎㄹ","size":3926,"degree":2},{"id":879,"title":"SLA·Error Budget 적용 방식","path":"SRE/question/q_50.md","url":"/estudy/SRE/question/q_50.html","section":"SRE","choseong":"SLA·Error Budget ㅈㅇ ㅂㅅ","size":4276,"degree":2},{"id":880,"title":"HPA(Horizontal Pod Autoscaler) 동작 원리","path":"SRE/question/q_6.md","url":"/estudy/SRE/question/q_6.html","section":"SRE","choseong":"HPA(Horizontal Pod Autoscaler) ㄷㅈ ㅇㄹ","size":3507,"degree":2},{"id":881,"title":"VPA 사용 시 발생할 수 있는 위험 요소","path":"SRE/question/q_7.md","url":"/estudy/SRE/question/q_7.html","section":"SRE","choseong":"VPA ㅅㅇ ㅅ ㅂㅅㅎ ㅅ ㅇㄴ ㅇㅎ ㅇㅅ","size":7837,"degree":2},{"id":882,"title":"PDB(Pod Disruption Budget)의 필요성","path":"SRE/question/q_8.md","url":"/estudy/SRE/question/q_8.html","section":"SRE","choseong":"PDB(Pod Disruption Budget)ㅇ ㅍㅇㅅ","size":3182,"degree":2},{"id":883,"title":"Node Pressure(OOM, DiskPressure)","path":"SRE/question/q_9.md","url":"/estudy/SRE/question/q_9.html","section":"SRE","choseong":"Node Pressure(OOM, DiskPressure)","size":3206,"degree":2},{"id":884,"title":"SLO, SLI, SLA","path":"SRE/slo.md","url":"/estudy/SRE/slo.html","section":"SRE","choseong":"SLO, SLI, SLA","size":4765,"degree":2},{"id":885,"title":"객체지향","path":"정보처리/Java.md","url":"/estudy/정보처리/Java.html","section":"정보처리","choseong":"ㄱㅊㅈㅎ","size":1763,"degree":3},{"id":886,"title":"런타임과 컴파일타임","path":"정보처리/comrun.md","url":"/estudy/정보처리/comrun.html","section":"정보처리","choseong":"ㄹㅌㅇㄱ ㅋㅍㅇㅌㅇ","size":1325,"degree":2},{"id":887,"title":"CPU Scheduling","path":"정보처리/cpus.md","url":"/estudy/정보처리/cpus.html","section":"정보처리","choseong":"CPU Scheduling","size":3849,"degree":2},{"id":888,"title":"데이터베이스","path":"정보처리/database.md","url":"/estudy/정보처리/database.html","section":"정보처리","choseong":"ㄷㅇㅌㅂㅇㅅ","size":4451,"degree":2},{"id":889,"title":"데이터베이스2","path":"정보처리/database2.md","url":"/estudy/정보처리/database2.html","section":"정보처리","choseong":"ㄷㅇㅌㅂㅇㅅ2","size":5171,"degree":2},{"id":890,"title":"DDL (데이터 정의어)","path":"정보처리/ddl.md","url":"/estudy/정보처리/ddl.html","section":"정보처리","choseong":"DDL (ㄷㅇㅌ ㅈㅇㅇ)","size":2395,"degree":2},{"id":891,"title":"도커와 쿠버네티스","path":"정보처리/doker.md","url":"/estudy/정보처리/doker.html","section":"정보처리","choseong":"ㄷㅋㅇ ㅋㅂㄴㅌㅅ","size":1897,"degree":2},{"id":892,"title":"HTTP 메서드","path":"정보처리/httpmethod.md","url":"/estudy/정보처리/httpmethod.html","section":"정보처리","choseong":"HTTP ㅁㅅㄷ","size":5139,"degree":2},{"id":893,"title":"네트워크","path":"정보처리/network.md","url":"/estudy/정보처리/network.html","section":"정보처리","choseong":"ㄴㅌㅇㅋ","size":5030,"degree":2},{"id":894,"title":"[OS] 운영체제 구조와 원리","path":"정보처리/os.md","url":"/estudy/정보처리/os.html","section":"정보처리","choseong":"[OS] ㅇㅇㅊㅈ ㄱㅈㅇ ㅇㄹ","size":4296,"degree":2},{"id":895,"title":"네트워크 계층별 프로토콜","path":"정보처리/osiproto.md","url":"/estudy/정보처리/osiproto.html","section":"정보처리","choseong":"ㄴㅌㅇㅋ ㄱㅊㅂ ㅍㄹㅌㅋ","size":3462,"degree":2},{"id":896,"title":"Process와 Thread","path":"정보처리/processthread.md","url":"/estudy/정보처리/processthread.html","section":"정보처리","choseong":"Processㅇ Thread","size":7599,"degree":2},{"id":897,"title":"네트워크 프로토콜","path":"정보처리/protocall.md","url":"/estudy/정보처리/protocall.html","section":"정보처리","choseong":"ㄴㅌㅇㅋ ㅍㄹㅌㅋ","size":3463,"degree":2},{"id":898,"title":"RESTful API 의미와 설게 규칙","path":"정보처리/rest.md","url":"/estudy/정보처리/rest.html","section":"정보처리","choseong":"RESTful API ㅇㅁㅇ ㅅㄱ ㄱㅊ","size":4089,"degree":2},{"id":899,"title":"SQL 기초 문법 정리","path":"정보처리/sql.md","url":"/estudy/정보처리/sql.html","section":"정보처리","choseong":"SQL ㄱㅊ ㅁㅂ ㅈㄹ","size":2429,"degree":2},{"id":900,"title":"테스트","path":"정보처리/test.md","url":"/estudy/정보처리/test.html","section":"정보처리","choseong":"ㅌㅅㅌ","size":8161,"degree":2},{"id":901,"title":"워크스루 , 인스팩션","path":"정보처리/검토.md","url":"/estudy/정보처리/검토.html","section":"정보처리","choseong":"ㅇㅋㅅㄹ , ㅇㅅㅍㅅ","size":743,"degree":2},{"id":902,"title":"Synchronize(동기화)와 Deadlock","path":"정보처리/동기화.md","url":"/estudy/정보처리/동기화.html","section":"정보처리","choseong":"Synchronize(ㄷㄱㅎ)ㅇ Deadlock","size":9163,"degree":2},{"id":903,"title":"스레드와 동시성","path":"정보처리/스레드.md","url":"/estudy/정보처리/스레드.html","section":"정보처리","choseong":"ㅅㄹㄷㅇ ㄷㅅㅅ","size":1991,"degree":2},{"id":904,"title":"응용SW ( 컴퓨터 시스템 일반 학습지 )","path":"정보처리/응용SW.md","url":"/estudy/정보처리/응용SW.html","section":"정보처리","choseong":"ㅇㅇSW ( ㅋㅍㅌ ㅅㅅㅌ ㅇㅂ ㅎㅅㅈ )","size":3414,"degree":2},{"id":905,"title":"응용SW_2( 컴퓨터 시스템 일반 학습지 )","path":"정보처리/응용SW2.md","url":"/estudy/정보처리/응용SW2.html","section":"정보처리","choseong":"ㅇㅇSW_2( ㅋㅍㅌ ㅅㅅㅌ ㅇㅂ ㅎㅅㅈ )","size":1380,"degree":2},{"id":906,"title":"자료구조와 알고리즘","path":"정보처리/자료구조알고리즘.md","url":"/estudy/정보처리/자료구조알고리즘.html","section":"정보처리","choseong":"ㅈㄹㄱㅈㅇ ㅇㄱㄹㅈ","size":5767,"degree":2}]