[SUPERSET] 시놀로지 NAS에서 Apache Superset 구축하기🚀
·
Docker
Apache Superset으로 데이터 시각화 환경을 구축하고 IBM i DB2와 연동하는 완벽 가이드들어가기전 삽질공유🛠️우선 도커컴포즈를 통해서도 슈퍼셋 설치가 가능하고 파이썬을 통해서도 설치가 가능합니다 해당 내용은 슈퍼셋 공식 홈페이지에 들어가시면 doc에 자세히 설명되어 있습니다.도커 컴포즈로 설치하지 않은 이유는 도커 컴포즈로 설치후 실행하면 우측위에 빨간글로 개발환경이라는 표시가 나옵니다 저는 회사에서 BI툴로 실제 운영배포하기 위해 구축하므로 아파치에서 도커허브에 공식 배포한 이미지를 다운받아 프로덕션 환경으로 제공했습니다.들어가기 앞서 그동안 메타베이스 슈퍼셋 그라파나 등등 여러가지 BI 및 시각화 도구를 사용해 봤지만 그때마다 문제가 되는건 저희 회사의 DB인 IBM I db2 (as..
[개발기] 사내 문서 자동번역기를 만들어보자! - Part 3. 완성과 후기 🎉
·
개발 관련
드디어 문서 자동번역기 시리즈의 마지막 편을 작성하게 됐네요! 실제 운영 결과와 시연 영상, 그리고 프로젝트를 통해 배운 점들을 공유해드리려고 합니다.1. 데스크톱 앱 이미지해당 로고는 이미지 생성 ai를 통해 제작하였습니다.2. 메인 앱 화면UI/UX는 최대한 심플하게 구성했습니다파일 선택은 직접 선택 및 드레그엔 드롭이 가능하게 구현했습니다.🎥 시연 영상시연 영상을 위해 사용할 자료가 적당한게 없어 클로드에게 랜섬웨어 안내 양식을 만들어 달라 하여 시연하였습니다.3. 번역 결과물 비교📊 성능 지표1. 처리 속도A4 10페이지 기준: 약 1-2분PowerPoint 20장 기준: 약 2-3분Excel (데이터량에 따라 편차 큼): 5000셀 기준 약 3-4분2. 번역 품질 (내부 평가 기준)가독성: ..
[개발기] 사내 문서 자동번역기를 만들어보자! - Part 2. 삽질편 🛠️
·
개발 관련
안녕하세요! 지난 편에서 소개드린 문서 자동번역기의 개발 과정에서 있었던 재미있는(?) 도전들을 공유해보려고 합니다.🎯 Challenge #1: 문서 파싱과의 사투처음에는 단순하게 생각했습니다. "그냥 텍스트만 추출해서 번역하면 되겠지?" ...현실은 달랐습니다 😅 Word, PowerPoint, Excel 각각의 문서가 전부 다른 구조를 가지고 있었고, 거기에 스타일, 표, 이미지까지... 머리가 아프더라구요.어떻게 해결했나?# Word 문서 처리 예시from docx import Documentdef process_docx(file_path): doc = Document(file_path) for paragraph in doc.paragraphs: # 스타일 정보 저장 ..
[개발기] 사내 문서 자동번역기를 만들어보자! - Part 1. 아키텍처편 🚀
·
개발 관련
안녕하세요! 이번에 업무 자동화를 위해 재미있는 프로젝트를 시작하게 되어 공유드립니다.🤔 왜 이 프로젝트를 시작했나?일본계 기업에서 일하다 보니 늘 마주치는 pain point가 하나 있었습니다. 바로 한국어로 된 내부 문서들을 일본어로 번역하는 작업인데요.단순 작업이라 생각했지만 실제로 해보니:Word, PPT, Excel 등 다양한 포맷 처리 필요번역 후에도 원본 서식 유지해야 함문서 양이 많으면 시간이 너무 오래 걸림이런 문제들을 겪다가 문득 "이거 자동화할 수 있지 않을까?" 하는 생각이 들었습니다.그리고 최근 LLM api 에 관심이 생겨 프로젝트를 진행해보며 번역을 저렴한 gpt 4o mini와 연동해서 해보기로 결정했습니다.💡 프로젝트 설계: 고민했던 포인트들Tech Stack 선정처음엔..
[Docker] React + Springboot + Docker 배포 세팅
·
Docker
이번 시간에는 Docker, docker-compose를 사용하여 로컬 환경에서 Nginx(React), Tomcat(Springboot)을 명령어 한줄로 실행시켜 보도록 하겠습니다.Docker를 어떻게 공부해야할 지 모르겠다면 진행에 앞서 다음 강좌의 학습을 우선적으로 추천드립니다.도커 한방에 정리초보를 위한 도커 안내서도커 쓸 땐 필수! 도커 컴포즈구체적인 순서는 다음과 같습니다.Docker Desktop 다운로드DockerHub 가입 및 로그인Dockerfile 작성Nginx 설정 파일 작성Docker Image 빌드 및 도커허브에 push도커허브에서 pull 및 docker-compose.yml 파일로 컨테이너 실행빌드된 이미지를 도커허브에 올리고 로컬 환경에서 pull 받아 뛰울 수 있다면 EC..
[회고록] 내가 생각하는 개발자
·
개발 관련
개발자로서 여러 프로젝트를 경험하며 깨달은 점이 있습니다. 단순한 프로그래밍 능력을 넘어, 진정한 개발의 핵심은 프로세스에 대한 깊은 이해와 사용자 중심의 사고에 있다는 것입니다. 이 글에서는 제 경험을 바탕으로 이 두 가지 요소의 중요성에 대해 이야기하고자 합니다.프로세스 이해: 개발의 근간프로그래밍 능력 vs 프로세스 이해개발에 있어 프로그래밍 능력도 중요하지만, 그보다 더 중요한 것은 프로세스에 대한 이해입니다. 아무리 뛰어난 프로그래밍 실력을 갖추고 있다 해도, 해당 분야의 프로세스를 이해하지 못한다면 그 능력을 제대로 발휘할 기회조차 없을 것입니다.제조업 환경에서의 경험제조업 환경에 맞는 프로그램을 개발하면서 이 점을 더욱 강하게 느꼈습니다. 예를 들어, 공정검사 프로그램을 개발할 때 각 프로세..
[WEB] 그래서 서블릿 너가 뭔데?
·
개발 관련
이전 글 에서 저의 발목을 잡았던 서블릿 파해쳐 보겠습니다.Java 웹 개발의 근간을 이루는 서블릿(Servlet) 스펙은 지난 20여 년간 꾸준히 발전해왔습니다. 이번 포스트에서는 주요 서블릿 버전별 특징과 변화를 살펴보며, 웹 애플리케이션 개발이 어떻게 진화해왔는지 알아보겠습니다.서블릿 버전별 주요 특징Servlet 2.5 (2005년)web.xml 필수: 모든 서블릿과 필터의 선언이 web.xml에 필요Java 5 지원: 제네릭스, 열거형 등 Java 5 기능 활용 가능애노테이션 지원 없음Servlet 3.0 (2009년)web.xml 선택적: 애노테이션을 통한 설정 가능 (@WebServlet, @WebFilter 등)비동기 처리 지원: AsyncContext를 통한 비동기 요청 처리프로그래밍 방..
[회고록]레거시 프로그램에 발목잡히다...(서블릿 나빠)
·
개발 관련
서론안녕하세요, 오늘은 최근 제가 경험한 흥미로운 프로젝트에 대해 이야기하려고 합니다. 이 프로젝트는 레거시 시스템과 최신 기술을 통합하는 과정에서 발생한 도전과 그에 대한 해결책을 다루고 있습니다.프로젝트 배경저는 최근 회사에서 Flutter와 Spring Boot를 사용하여 MES(제조실행시스템) 및 ERP(전사적자원관리) 연동 애플리케이션을 1인 개발했습니다. 그러나 로컬 환경에서의 정상적인 테스트 이후 서버환경으로 옮기며 문제가 발생하였습니다.현재 시스템 환경서버: IBM i / AS400 (버전 7.4)웹 서버: WebSphere 8.5.5.15발생한 문제Spring Boot 애플리케이션을 EAR 파일로 빌드하여 WebSphere에 배포하려 했으나, Spring Boot의 서블릿과 WebSphe..
[JAVA] 이메일 전송 라이브러리 구현
·
자바
오늘은 Java를 사용하여 만든 간편한 이메일 전송 라이브러리를 소개하고자 합니다. 이 라이브러리를 통해 복잡한 이메일 전송 로직을 쉽게 구현할 수 있습니다.해당 라이브러리는 사내 MES,ERP,PMS 등 여러 프로그램을 고도화를 진행하며 메일기능 사용이 빈번하게 일어나 동일 기능의 원활한 사용을 위하여 제작하였습니다.Mail 클래스 소개Mail 클래스는 여러 수신자에게 동시에 이메일을 보낼 수 있는 기능을 제공합니다. 주요 기능은 다음과 같습니다:여러 수신자에게 동시 발송HTML 콘텐츠 지원중복 수신자 자동 제거코드 살펴보기package kpms.lib;import java.util.ArrayList;import java.util.Arrays;import java.util.Properties;impor..
소프트웨어 아키텍처 패턴: MVC, MVVM,MVP
·
개발 관련
서론소프트웨어 개발에서 아키텍처 패턴은 애플리케이션의 구조를 정의하고 각 구성 요소 간의 관계를 설정하는 중요한 역할을 합니다. 이 글에서는 가장 널리 사용되는 아키텍처 패턴인 MVC(Model-View-Controller)와 MVVM(Model-View-ViewModel)을 중심으로, 다양한 아키텍처 패턴들의 특징과 구조를 살펴보겠습니다. 모든 예제는 Java로 작성되어 있습니다.1. MVC (Model-View-Controller) 패턴MVC는 가장 오래되고 널리 사용되는 아키텍처 패턴 중 하나입니다.구조Model: 데이터와 비즈니스 로직을 담당View: 사용자 인터페이스를 표현Controller: Model과 View 사이의 상호작용을 조정동작 방식사용자가 View를 통해 상호작용합니다.Contro..