오픈소스 전문 검색 서버 - Fess 개발 가이드

이 가이드는 Fess 개발에 참여하기 위해 필요한 정보를 제공합니다. Fess 개발을 처음 시작하는 분부터 경험이 풍부한 개발자까지, 폭넓은 분들을 대상으로 합니다.

대상 독자

이 가이드는 다음과 같은 분들을 대상으로 합니다:

  • Fess 의 기능 추가나 개선에 기여하고 싶은 개발자

  • Fess 의 코드를 이해하고 싶은 기술자

  • Fess 를 커스터마이즈하여 사용하고 싶은 분

  • 오픈소스 프로젝트 참여에 관심이 있는 분

필요한 사전 지식

Fess 개발에 참여하려면 다음과 같은 지식이 도움이 됩니다:

필수

  • Java 프로그래밍 기초 지식(Java 21 이상)

  • Git 및 GitHub 기본 사용법

  • Maven 기본 사용법

권장

  • LastaFlute 프레임워크 지식

  • DBFlute 지식

  • OpenSearch/Elasticsearch 지식

  • 웹 애플리케이션 개발 경험

개발 가이드 구성

이 가이드는 다음 섹션으로 구성되어 있습니다.

오픈소스 전문 검색 서버 - Fess 개발 개요

Fess 개발 개요와 개발을 시작하기 위한 첫 단계를 설명합니다. 개발에 필요한 기술 스택과 프로젝트 전체 구조를 이해할 수 있습니다.

개발 환경 설정

개발 환경 설정 절차를 자세히 설명합니다. Java, IDE, OpenSearch 등 필요한 도구 설치부터 Fess 소스 코드 취득 및 실행까지 단계별로 해설합니다.

아키텍처 및 코드 구조

Fess 의 아키텍처와 코드 구조에 대해 설명합니다. 주요 패키지, 모듈, 디자인 패턴을 이해함으로써 효율적으로 개발을 진행할 수 있습니다.

개발 워크플로우

Fess 개발의 표준 워크플로우를 설명합니다. 기능 추가, 버그 수정, 코드 리뷰, 테스트 등 개발 작업 진행 방법을 배울 수 있습니다.

빌드 및 테스트

Fess 의 빌드 방법과 테스트 방법에 대해 설명합니다. 빌드 도구 사용법, 단위 테스트 실행, 배포 패키지 생성 방법 등을 해설합니다.

기여 가이드

Fess 프로젝트 기여 방법에 대해 설명합니다. 풀 리퀘스트 작성, 코딩 규약, 커뮤니티와의 커뮤니케이션 방법 등을 배울 수 있습니다.

빠른 시작

Fess 개발을 지금 바로 시작하고 싶다면 다음 절차를 따르세요:

  1. 시스템 요구사항 확인

    개발에는 다음 도구가 필요합니다:

    • Java 21 이상

    • Maven 3.x 이상

    • Git

    • IDE(Eclipse, IntelliJ IDEA 등)

  2. 소스 코드 취득

    git clone https://github.com/codelibs/fess.git
    cd fess
    
  3. OpenSearch 플러그인 다운로드

    mvn antrun:run
    
  4. 실행

    IDE에서 org.codelibs.fess.FessBoot 을 실행하거나 Maven에서 실행합니다:

    mvn compile exec:java
    

자세한 내용은 개발 환경 설정 을 참조하세요.

개발 환경 선택

Fess 개발은 다음 환경 중 하나에서 수행할 수 있습니다:

로컬 개발 환경

가장 일반적인 개발 환경입니다. 자신의 머신에 개발 도구를 설치하고 IDE를 사용하여 개발합니다.

장점:

  • 빠른 빌드 및 실행

  • IDE 기능을 완전히 활용 가능

  • 오프라인에서도 작업 가능

단점:

  • 초기 설정에 시간이 걸림

  • 환경 차이로 인한 문제가 발생할 가능성

Docker를 사용한 개발 환경

Docker 컨테이너를 사용하여 일관된 개발 환경을 구축할 수 있습니다.

장점:

  • 환경의 일관성 유지

  • 설정이 간단

  • 깨끗한 상태로 되돌리기 쉬움

단점:

  • Docker 지식이 필요

  • 성능이 다소 저하될 수 있음

자세한 내용은 개발 환경 설정 을 참조하세요.

자주 묻는 질문

Q: 개발에 필요한 최소 사양은?

A: 다음을 권장합니다:

  • CPU: 4코어 이상

  • 메모리: 8GB 이상

  • 디스크: 20GB 이상의 여유 공간

Q: 어떤 IDE를 사용해야 하나요?

A: Eclipse, IntelliJ IDEA, VS Code 등 원하는 IDE를 사용할 수 있습니다. 이 가이드는 주로 Eclipse를 예로 설명하지만 다른 IDE에서도 마찬가지로 개발할 수 있습니다.

Q: LastaFlute나 DBFlute 지식이 필수인가요?

A: 필수는 아니지만 있으면 개발이 원활하게 진행됩니다. 기본적인 사용법은 본 가이드에서도 설명하지만 자세한 내용은 각 프레임워크의 공식 문서를 참조하세요.

Q: 첫 기여는 무엇부터 시작하면 좋을까요?

A: 다음과 같은 비교적 간단한 작업부터 시작하는 것을 권장합니다:

  • 문서 개선

  • 테스트 추가

  • 버그 수정

  • 기존 기능의 작은 개선

자세한 내용은 기여 가이드 을 참조하세요.

관련 리소스

공식 리소스

기술 문서

커뮤니티

다음 단계

개발을 시작하려면 오픈소스 전문 검색 서버 - Fess 개발 개요 부터 읽는 것을 권장합니다.

목차: