분류 전체보기 20

[Cloud] - AI Cloud 트랙 2일차 - 쿠버네티스(Kubernetes) 실습편

이전편에서 컨테이너부터 쿠버네티스까지 이론 개념들을 정리해보았다.이번에는 실제로 AWS의 EKS를 이용해 쿠버네티스를 구축해보는 실습 과정을 정리해보겠다. AWS에서는 쿠버네티스를 다음과 같이 정리하고 있다.쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼.쿠버네티스의 궁극적 목표는 현재 상태(current state)가 원하는 상태(desired state)가 되도록 관리하는 것Control Plane (워커 노드와 클러스터 내 파드를 관리하고 제어하는 부분 (Master Node))Data Plane (워커 노드들로 구성) Amazon EKSAmazon EKS는 쿠버네티스를 쉽게 실행할 수 있는 관리형 서비스로 쿠버네티스를 한 번에 만들어,Cont..

Cloud 2025.12.24

[Cloud] - AI Cloud 트랙 2일차 - 쿠버네티스(Kubernetes) 이론편

오늘은 쿠버네티스 구축한 내용을 정리해보겠다.가장 기본적인 쿠버네티스를 이용한 배포 방식을 이론과 함께 실습해보았다. 쿠버네티스는 쉽게 말해 방대한 컨테이너들의 컨트롤러라고 보면 된다.쿠버네티스를 알기 위해서는 컨테이너를 우선 알아야한다. 1차 : 이론 (컨테이너 ~ 쿠버네티스)컨테이너란?컨테이너란 가상화된 운영체제 위에서 어플리케이션을 독립적인 실행에 필요한 파일을 모은 패키지를 말한다.정의를 쉽게 해석하면 컨테이너는 "프로그램 + 실행에 필요한 모든 것을 한 상자에 담아 놓은 것"으로 아래의 것들이 포함되어 있다.애플리케이션 코드 (Flask, Spring 등)실행 환경 (Java, Python, Node)라이브러리 / 의존성설정값실행 명령Virtual Machine과 어떤 차이가 있는 걸까? 핵심은..

Cloud 2025.12.23

[Cloud] AI Cloud 트랙 1일차 - overview

AI Cloud 트랙은 클라우드 네이티브 기술의 기반이 되는 공공 PaaS 플랫폼 구현체인 K-PaaS 표준모델과 민간 사용 PaaS 솔류션의 구조 및 활용 방식을 실습 중심으로 학습하는 수업이다. K-PaaS표준모델의 기술과 오픈소스 기반의 아키텍처를 익히고 민간에서 사용되는 PaaS 솔루션을 활용하여 학습한다. 클라우드 기반 서비스 운영, MSA, 컨테이너 기술, CI/CD 자동화 등 클라우드 네이티브 전환을 위한 실무 역량을 배양하는데 중점을 둔다. 내가 해당 수업을 듣게된 계기는 코드만 치는 개발자는 살아남기 어렵다고 생각했기 때문이다. 또한 더 높은 수준의 개발자가 되기 위해서는 인프라를 이해할 줄 알아야하고 설계할 줄 알아야하는데 그것의 기반이 되는 것이 현재 Cloud라고 생각해 수업을 듣..

Cloud 2025.12.23

[코드 리뷰] - DDD 아키텍처 VS Feature First 아키텍처

" 내가 리뷰한 코드는 현재 총학생회 산하 기구인 IT지원위원회에서의 프로젝트에 대한 경험 내용이다.올해 9월부터 IT지원위원회 소속이 되면서 총학생회 벡엔드 홈페이지에 대한 래거시 코드에 대한 리팩토링 역할을 담당했다.지금까지 내가 참여했던 프로젝트들은 모두 Feature First 아키텍처였었다. 그런데 아지위(IT지원위원회)에서는 DDD 아키텍처를 사용하고 있었다. 나는 듣기만 했었던 DDD 아키텍처를 처음 경험했고 어떤 구조가 더 나은 구조인가를 고민해보았다."[DDD 아키텍처의 나의 소감]DDD구조를 처음 마주쳤을 때는 번거로움이 느껴졌다. 우선 구조는 다음과 같았다. 최상위 디렉토리는 [application], [domain], [global], [infra]로 구성되어 있었다.applicat..

카테고리 없음 2025.11.15

[코드 리뷰] - 배운 점 (음성 Text AI 정제 품질 향상)

" 내가 리뷰한 코드는 파이썬 AI 음성인식 스펠체크라는 기능에서 음성 text의 정제 품질을 향상시키는 것이었다." [나의 접근]내가 해당 문제/요구사항을 마주했을 때 나는 text정제 모델을 확인하고 프롬프트를 확인했었다. 당연히 정제 성능의 향상을 기대했기 때문에 모델과 프롬프트의 개선 접근이 적합했다. [좋은 개발자의 접근]하지만 좋은 개발자의 접근은 달랐다. 어떻게가 구체화 되어 있었다. 품질향상인데 어떻게 품질향상의 기준을 알고 품질이 향상되었는지를 알 수 있는지를 우선 생각했을 것이다. 우선적으로 Test Data를 만들고 Test할 수 있는 코드를 만들어서 현재의 품질을 파악했다. 예를 들어 100개의 test data를 만들고 test code를 통해 성공 개수, 실패 개수, 실패 시 ..

카테고리 없음 2025.10.02

[코드 리뷰] - 배운 점 (프로젝트 전반에 걸치 n+1 문제 해결)

"내가 맡은 부분은 프로젝트 전반에 걸쳐 고질적인 문제인 N puls 1 문제를 해결하는 것이었다.N +1 문제는 크게 2가지로 나눌 수 있다,첫 번째는, Lazy fetch에 의한 N+1이고.두 번째는, 루프에 의한 반복접근 N+1문제이다." [개선 사항]1. 우선 Lazy Fetch에 대한 문제를 우선적으로 해결했다.- 프로젝트 엔티티 내에 fetch 전략이 EAGER로 된 경우들이 있었기 때문에 LAZY 전략으로 바꿔주었다.- 그 다음 레포지토리가 사용된 메소드를 하나씩 확인해서 fetch join이 필요한 필드들을 확인하였다.- 필요한 필드들에 대해서는 여러 방법들이 존재했다. 1) 아주 간단하게 @EntityGraph사용하기 - 해당 프로젝트에 내가 적용한 방법으로 확장성을 고려해 우선 En..

카테고리 없음 2025.09.10

[코드 리뷰] 배운 점 (게임 전적 데이터 업데이트를 통해 추천 서비스 설계)

" 내가 리뷰한 코드는 Lol 게임의 상위 티어의 전적을 업데이트하여 상위 티어의 [추천템트리, 추천 시작템, 추천 룬, 추천스킬트리, 추천 신발 등]의 정보를 db에 일괄 저장하여일반 사용자 즉, 저티어 사용자에게 추천해주는 서비스를 구성하는 코드였다. " 우선 코드의 Refactoring과정을 이야기해보겠다. [이전의 코드]Spring Batch를 활용해 배치 서버로 일정 시간(일일 2회, 새벽 시간)에 상위 티어 전적을 업데이트해주는 요청을 보낸다. [이전 코드의 문제점]Spring Scheduler를 사용하면 서버에 대한 부화가 커질 수 있어 안정성에 위험이 있었다. ※Spring Batch는 대량의 데이터를 일괄적으로 처리하는 데 특화되어 있고,※ MQ는 분산 및 비동기 처리를 통해 시스템의..

카테고리 없음 2025.09.05

[충남대학교 - NHN아카데미] Java Backend 개발자 과정 교육생 모집(~6/18)

[충남대학교-NHN아카데미] Java Backend 개발자과정 교육생 모집​1. 모집기간: 2025. 5. 12(월) ~ 6. 18(수)2. 교육기간: 2025. 7. 1(화) ~ 2025. 12. 5(금)3. 교육방법: 오프라인 교육(주 5일, 1일 8시간) 및 실무프로젝트 진행4. 모집절차: 교육과정 신청 후, 코딩테스트 실시 후 최종 합격5. 교육혜택 - 교육비 전액 무료, 지원금 지급(월 30만원, 4개월 지급) - NHN현직자 특강 - 우수 연수생 NHN계열사 및 파트너사 채용 연계 - 우수교육생(상위10%)선정 시, 타 사업 가산점 부여 및 코딩테스트 면제6. 신청 URL - 교육과정 지원: https://www.nhnacademy.com/apply?camp..

카테고리 없음 2025.05.14

[ Spring ] HttpMessageConverter 파헤치기 - 개발 지식

✨사용자로부터 서버는 값을 어떻게 받을 수 있을까?서버는 사용자한테 값을 어떻게 넘길 수 있을까?만약 서버는 LocalDate 클래스로 시간 정보를 받고 싶은데 Client는 LocalDate클래스가 뭔지 모르는데 어떻게 값을 넘겨야 할까? 또는 만약 사용자가 서버에게 User라는 값을 넘기고 싶을 때는 어떻게 해야할까? Spring에서는 이러한 문제를 HttpMessageConverter를 통해 값을 변환해서 각자가 받기 좋은 데이터를 변환을 해줍니다.사용자가 Json형태로 User정보를 넘기면 Spring이 Converter를 통해 서버에게 User객체로 만들어서 전달해줍니다.오늘은 이러한 Converter에 대해서 알아보도록 하겠습니다! ✨목차01. HttpMessageConverter란? (서버..

Spring 2025.04.18

[ Redis ] 메모리 데이터 베이스 Redis - 개발 지식

오늘은 Redis에 대해서 알아보도록하겠습니다.개발을 하다보면 서버에서 유저 정보를 저장해줘야하는데 어떻게 저장을 해야할까요?저는 서블릿 기반으로 개발할 때는 저장할 곳이 없어서 Session에 사용자 정보를 저장하고Cookie에는 그 SessionID값을 저장해서 로그인 인증 처리를 해주었었습니다.그런데 서버는 하나의 사용자만을 저장하지 않기 때문에 로그인한 사용자 정보를 저장할 데이터베이스가 필요하게 됩니다. 문제는 데이터 베이스는 영속성을 지니고 있는데 로그인 인증은 영속성이 필요 없는 휘발성 데이터입니다.그래서 저희가 사용하는게 바로 메모리 데이터 베이스 Reids입니다. 목차01. REDIS란 무엇일까? 01-1. 사용 방법 예시 정리 01-2. Java에서의 Redis 구현체들02. REDI..

DataBase 2025.04.16