분류 전체보기
-
Spring Framework 시리즈 11화 – 테스트 가능한 구조 만들기와 DI 테스트 전략기술과 산업/언어 및 프레임워크 2025. 6. 2. 13:16
스프링의 의존성 주입 구조를 테스트에 적합하게 리팩토링하는 방법과 함께, 단위 테스트와 통합 테스트에서 @TestConfiguration, @MockBean, ApplicationContext 활용 전략을 소개합니다. 왜 테스트 가능한 구조가 중요한가? 실무에서 스프링 애플리케이션의 성공 여부는 테스트 전략에 크게 좌우됩니다.하지만 많은 개발자가 기능은 되는데 테스트는 어려운 구조를 만들어냅니다. 그 이유는 다음과 같습니다: new 키워드 남용 → DI 불가내부 의존성 연결이 강함 → Mock 불가Bean 설정이 하드코딩 → 프로파일 분기 실패 이제, 우리가 앞서 만든 DI 기반 계산기 시스템을 테스트 가능한 구조로 바꿔보고, 실제 테스트 코드까지 작성해보겠습니다. 1. 설계 리팩토링 – 인터페이스 ..
-
소프트웨어 아키텍처 시리즈 6화 – 계층 아키텍처와 책임 분리 설계: 구조보다 중요한 질문기술과 산업/아키텍처 2025. 6. 2. 10:13
계층형 아키텍처는 소프트웨어 설계의 기본입니다. 하지만 진짜 중요한 건 '계층이 몇 개냐'가 아니라 '책임이 올바르게 분리되었느냐'입니다. 이 글에서는 구조를 넘은 설계 철학을 깊이 있게 다룹니다.레이어의 수보다 중요한 것: 책임(Responsibility)많은 개발자들이 아키텍처 설계를 시작할 때 흔히 묻는 질문은 "몇 개의 계층이 적당한가요?"입니다.그러나 더 중요한 질문은 **"각 계층이 어떤 책임을 가져야 하며, 그것이 명확하게 분리되어 있는가?"**입니다.1. 전통적인 계층 구조의 재조명우리는 3~4계층의 구조를 자주 사용합니다.UI (사용자와의 인터페이스)Application Logic (유스케이스, 흐름 제어)Domain (핵심 비즈니스 로직)Infrastructure (DB, API, 메시..
-
FastAPI 시리즈 13화 - 사용자 권한(Role) 관리와 종속성 적용 방법기술과 산업/언어 및 프레임워크 2025. 6. 2. 10:12
FastAPI에서 사용자 역할(Role)을 기반으로 접근 권한을 제어하는 방법을 설명합니다. Depends를 활용해 인증과 권한 검증을 모듈화하고, 실무에서 필요한 보안 구조를 구축합니다.왜 Role 기반 권한 관리가 필요한가?대부분의 서비스는 사용자 유형이 나뉘며 각자의 권한이 다릅니다:사용자 유형 접근 가능한 리소스일반 사용자본인의 정보, 게시글관리자전체 사용자 목록, 설정 변경운영자일부 모니터링 기능이러한 역할(Role) 기반 권한 관리 시스템은 서비스 품질뿐만 아니라 보안을 위해서도 반드시 필요합니다.1. JWT 토큰에 Role 정보 포함def create_access_token(data: dict): payload = data.copy() payload.update({ "..
-
제조 프로세스 이해 시리즈 7화 – 스마트 제조 KPI 설계 전략 (OEE, Takt Time, PPM 등)기술과 산업/도메인 2025. 6. 2. 10:10
스마트 제조의 성과는 측정 가능해야 한다. 본 글에서는 OEE, Takt Time, PPM, CTQ 등 핵심 KPI를 어떻게 정의하고 구조화하며, MES 및 분석 시스템과 연동해 실시간 모니터링과 개선 활동으로 연결할 수 있는지 전략적으로 안내한다.서론 – 측정할 수 없으면, 개선할 수 없다스마트팩토리의 핵심은 지능형 판단과 자동화지만,그 출발점은 결국 정확한 측정과 지표(KPI)의 설계다.제조현장은 수많은 설비와 사람이 동시에 움직이는 복잡한 생태계이며,그 흐름을 정량화하지 않으면 아무리 자동화를 하더라도 본질적인 개선은 어렵다.이번 글에서는 스마트 제조에 최적화된 KPI 항목과 측정 방식, 실시간 모니터링 전략을 산업공학과 데이터 분석 관점에서 정리한다.1. 제조 KPI의 분류 체계운영 효율 지표OE..
-
100대 상장사 분석 시리즈 10화 – LG화학: 석유화학의 한계를 넘는 배터리 소재 메이저의 조건은?경제와 정치 2025. 6. 2. 10:09
LG화학은 전통적인 석유화학 기업에서 출발했지만, 현재는 양극재, 바이오소재, 생명과학까지 아우르는 종합 소재 그룹으로 변모하고 있습니다. 2025년 기준 사업 구조 변화, 주력 자회사인 LG에너지솔루션과의 시너지, 투자자 관점의 핵심 포인트를 분석합니다. LG화학은 어떤 기업인가?LG화학은 1947년 설립된 대한민국 대표 화학 기업입니다.기존에는 석유화학 중심의 수직계열화 구조를 바탕으로 안정적인 수익을 창출해 왔으나, 2020년 LG에너지솔루션을 분사하며 이차전지 소재를 중심으로 한 ‘첨단소재 중심 기업’으로 전환하고 있습니다.현재는 3대 핵심 축인 석유화학, 첨단소재, 생명과학을 바탕으로 배터리, 플라스틱 대체소재, 바이오 의약품 등을 미래 성장동력으로 보고 중장기 투자를 확대하고 있습니다.사업 구..
-
Spring Boot 고급 시리즈 2화 – Spring Bean 생성 전략: @Configuration, @Component, @Bean의 차이와 활용법기술과 산업/언어 및 프레임워크 2025. 6. 2. 10:07
Spring Boot를 일정 수준 이상으로 활용하다 보면, 애플리케이션 전체 구조를 설계할 때 Bean 정의 방식의 차이를 정확히 이해하고 선택하는 것이 매우 중요해집니다. 이번 글에서는 Spring에서 Bean을 정의하는 세 가지 주요 방식인 @Configuration, @Component, @Bean의 차이를 심도 있게 분석하고, 각 방식이 실제 아키텍처 설계에서 어떻게 적용되어야 하는지 살펴보겠습니다. Spring Boot에서 Bean을 등록할 때 사용하는 @Configuration, @Component, @Bean의 차이를 깊이 있게 분석하고, 실전 설계에서 어떤 전략으로 선택해야 하는지를 설명합니다.@Component 기반 자동 스캔: 간단하지만 통제가 어렵다@Component는 Spring에서..
-
Spring AI 시리즈 4화 – Hugging Face 연동: Inference API 실습기술과 산업/언어 및 프레임워크 2025. 6. 2. 10:06
Spring AI를 활용해 Hugging Face Inference API와 연동하는 방법을 설명합니다. 모델 선택, 설정 파일 구성, 텍스트 생성 실습까지 Java 기반에서 손쉽게 구현할 수 있는 방법을 소개합니다. Spring AI는 OpenAI뿐만 아니라 Hugging Face Hub의 모델들도 손쉽게 연동할 수 있도록 설계되어 있습니다.이번 글에서는 Spring AI를 통해 Hugging Face Inference API를 연동하고,BLOOM 또는 Falcon 등 텍스트 생성 모델을 활용하는 방법을 실습 중심으로 소개합니다.1. Hugging Face Inference API란?Hugging Face Inference API는 Hugging Face에 업로드된 사전 학습 모델을 REST API로 ..
-
Spring AI 시리즈 3화 – OpenAI 연동: 텍스트 생성 API 통합 실습기술과 산업/언어 및 프레임워크 2025. 5. 30. 21:03
Spring AI를 통해 OpenAI GPT API를 Spring Boot 애플리케이션에 연동하는 방법을 소개합니다. 프로젝트 설정, 프롬프트 구성, 결과 출력까지 실습 중심으로 설명합니다. 이전 글에서 Spring AI의 모듈 구조와 계층 설계를 살펴봤습니다. 이번 글에서는 그 구조를 실제로 적용해보는 시간을 갖겠습니다.Spring Boot 애플리케이션에 OpenAI GPT 모델을 연동하고, 사용자의 입력을 받아 텍스트를 생성하는 과정을 실습 중심으로 정리했습니다. 1. 의존성 설정 프로젝트에 OpenAI Starter를 추가합니다. 현재 Spring AI는 Maven Central에 공개되어 있으며, 버전은 0.8.0 기준입니다. Maven org.springframework.ai sprin..