반응형
반응형
📌 개요Vue 프로젝트에서 여러 개의 독립적인 애플리케이션을 관리해야 하는 상황이 있습니다. 예를 들어, 관리자용 앱과 고객용 앱을 하나의 코드베이스에서 관리하면서도 별도로 빌드해야 한다면 어떻게 해야 할까요? 이 글에서는 Vite를 사용하여 Vue 3 프로젝트에서 다중 앱을 구성하고 빌드하는 방법을 소개합니다.🎯 목표App1.vue → 빌드 시 dist/gtc/index.html로 출력App2.vue → 빌드 시 dist/customer/index.html로 출력공통 컴포넌트와 유틸리티는 재사용각 앱마다 독립적인 진입점(entry point) 설정🗂️ 프로젝트 구조다중 앱 구성을 위한 권장 프로젝트 구조는 다음과 같습니다: my-vue-app/├── index.html ← ..
1. 의존성 다운로드 방법기본 명령어# 모든 의존성을 offline-repo 폴더에 다운로드mvn dependency:go-offline -Dmaven.repo.local=./offline-repo플러그인과 소스코드도 함께 다운로드# 플러그인과 소스코드까지 모두 다운로드mvn dependency:resolve-plugins dependency:resolve -Dclassifier=sources -Dclassifier=javadoc -Dmaven.repo.local=./offline-repo2. 로컬 JAR 파일 처리두 개의 로컬 JAR 파일(Dataconverter.jar, RelaySocket.jar)은 별도로 복사해 두어야 합니다.# 로컬 JAR 파일 복사mkdir -p ./offline-repo/l..
이 코드에서 orderAmount는 Vue의 계산된 속성(computed property)으로, get()과 set() 메서드를 가진 객체를 사용해 정의되었습니다. 이 설계는 사용자 입력값과 표시값을 다르게 처리하기 위한 중요한 패턴입니다.get() 메서드 — 값을 읽을 때 호출됩니다.get() { return orderAmountRaw.value ? orderAmountRaw.value.toLocaleString() : '';}역할: 화면에 값을 '표시'할 때 사용됩니다.동작 방식:orderAmountRaw.value가 존재하면 숫자에 콤마를 추가하여 가독성 있게 표시(toLocaleString())값이 없으면 빈 문자열('')을 반환사용 시점: 템플릿에서 {{ orderAmount }}나 v-mod..
이번 글에서는 객체지향 프로그래밍 원칙을 활용한 PHP 웹 크롤러 코드를 분석해보겠습니다. 이 코드는 여러 웹사이트(뽐뿌, 클리앙)에서 인기글을 수집하는 크롤러를 구현하고 있으며, 다양한 디자인 패턴을 활용해 확장성 있는 구조를 갖추고 있습니다.주요 구성요소1. 인터페이스 정의 (CrawlerInterface)interface CrawlerInterface { public function crawl(); public function getSiteName();}모든 크롤러가 구현해야 할 기본 인터페이스를 정의하고 있습니다. 각 크롤러는 반드시 crawl() 메소드와 getSiteName() 메소드를 구현해야 합니다.2. 추상 클래스 (AbstractCrawler)abstract class Abs..
목표 하나의 Gradle 프로젝트 내에서 특정 패키지(cc, dd)만 별도 JAR로 생성생성된 JAR을 libs 디렉토리에 넣고 implementation fileTree(...) 방식으로 참조원본 소스(src/main/cofor/wts/cc dd)는 삭제build.gradle 추가 task customJar1(type: Jar) { archiveBaseName.set("Dataconverter") destinationDirectory.set(file("$buildDir/custom-libs")) from sourceSets.main.output.classesDirs include '**/aa/bb/cc/**' from sourceSets.main.output.resources..
이 포스팅에서는 Java 애플리케이션에서 JNI(Java Native Interface)를 통해 miniLZO 압축 라이브러리를 연동하는 방법을 상세히 설명합니다. 성능이 중요한 대용량 데이터 처리 시스템에서 압축/해제 속도를 최적화하고 싶다면 참고하세요.들어가며LZO(Lempel-Ziv-Oberhumer) 압축 알고리즘은 압축률보다 압축/해제 속도에 초점을 맞춘 알고리즘입니다. 특히 miniLZO는 LZO의 경량 버전으로, 실시간 데이터 처리나 네트워크 전송 최적화에 유용합니다.이 글에서는 AlmaLinux 9 환경에서 테스트했으며, 다른 리눅스 배포판에서도 유사하게 적용 가능합니다.1. Java 클래스 설계먼저 native 메서드를 선언할 Java 클래스를 작성합니다. 이 클래스는 C/C++로 구현된..