The content of this page is written in Korean because all mentees of this program are Korean so it would reduce communication costs.

자기소개

TBD

분야 정하기

백엔드

  • Jetty + Jersey + Websocket
  • 스토리지 플러그인
  • 인터프리터 로딩
  • HA!!
  • Note manager
  • 히스토리 기능 리팩토링
  • 스토리지 기능 개선

프론트엔드

  • 빌드 시스템 개선
  • 앵귤러 버전 업!!
  • 두 버전의 UI통합 ← 서버 변경도 약간 필요함
  • 더 많은 데이터를 시각화 할 수 있도록 개선
    • 현재는 약 2만라인정도 밖에 처리하지 못함

사용성

  • 도커 환경 구성
  • AWS에서 동작하도록 구성
  • HA 환경 구성
    • 이미 Raft로 구성되어 있음

테스트

  • 이상한 테스트들 수정하기
    • 가장 중요한 이슈 중 하나!!
  • 윈도우 테스트 환경 구성하기
  • 인터프리터들 테스트해서 이슈 만들기
    • R, python, Spark ... 

문서화

  • 오래된 문서 구조 개선
  • 새로운 예제 추가
    • 나중에 발표하기 좋음 (smile)

기여하기

개발환경 준비 및 설정

  • Git 설정

    $ # Git 환경 설정
    $ git config --global user.name "Your Name"
    $ git config --global user.email "your_email@email.com"
    $ git config --global --add pull.rebase true 
    $
    $ # Git clone 리모트 설정
    $ git clone https://github.com/{your_github_id}/zeppelin
    $ git remote add apache https://github.com/apache/zeppelin
    $
    $ # Git pull from apache and push to my repo
    $ git checkout master
    $ git pull --rebase apache master
    $ git push origin master
  • 빌드 준비

    $ # 자바 설치
    $ # 자바8이 필요합니다. (11로 올리고 싶네요)
    $ # 맥이면,
    $ brew tap homebrew/cask-versions
    $ brew install --cask temurin8
    
    $ ./mvnw clean package -DskipTests -Phadoop2

커뮤니티

진행 상황 정리

  • 기본적으로 위키를 이용
    • 기록을 유지하기 위한 용도

처음하기 좋은 이슈

  • No labels

1 Comment

  1. Note by Hyewon Park

    1. 오픈소스 개발자가 되는 것
      • 커뮤니티에 적응하기
      • 나의 코드를 커뮤니티에 설득하기
      • 리뷰어를 만족시키기
    2. 아카데미 선발 기준
      • 사용해본 사람, 사용하면서 개선할 의지가 있는 사람
        • 직접 사용하면서 개선하는 것이 중요
      • 프론트엔드를 해본 사람
    3. 분야 설명
      1. 백엔드
        • Jetty + Jersey + Web socket 구성
          • 기회가 된다면 스프링으로 전환했으면 함
        • 스토리지 추가 또는 기존 기능 개선
          • 기본적으로 파일 스토리지 사용
        • 인터프리터
          • 다이나믹 로딩
          • 개수를 늘리는 것 보다는 기존 인터프리터들의 안전성/성능 향상 필요
          • Spark, JDBC, Flink를 많이 사용하는데 고장이 잘 발생해 개선했으면 함
        • HA가 잘 안되어 개선 필요
          • 현재는 싱글 머신
        • Note Manager
          • 동시성 문제 개선 필요, 많은 요구사항 해결 필요
        • 히스토리 관리
          • 자동화/배치를 위한 히스토리 관리 필요 (최신의 노트로 업데이트할 때 필요)
          • Git은 과한 것 같았다고 함
      2. 프론트엔드
        • 빌드 시스템 개선 필요
        • UI 개선 필요
          • 알리바바에서 만들다 말았던 UI는 모든 기능이 지원되지 않아 적용되지 않음
        • 많은 데이터를 처리할 수 있도록 수정 필요
          • 제플린은 약 2만 라인 처리 가능, 이 이상의 데이터에서는 크롬이 죽어서 개선 필요
      3. 사용성
        • 도커 관련 완성도 높이기
        • AWS에서 동작하도록 제플린 추가
        • HA에서 Raft를 사용하는데 스케일 아웃이 어려워 구조 개선 필요
      4. 테스트
        • 소스를 릴리즈하면 바로 사용자가 사용하기 때문에 많은 테스트가 필요함
        • PR을 하면 자동으로 테스트가 진행되는데, 테스트에 실패할 경우, 테스트 코드가 문제인지 코드가 문제인지 판단이 필요함
        • 테스트마다 결과가 다를 수 있어 기존 테스트 코드들의 개선이 필요
        • 사용자는 OS를 가리지 않기 때문에 윈도우 테스트 필요
        • 인터프리터들의 기능을 제플린이 지원할 수 있도록 하는 것 필요
      5. 문서화
        • 외부에 가장 빨리 나의 기여를 알릴 수 있는 방법
      6. 아카데미기간동안
        • 이 중에서 1~3가지를 하반기에 할 것 같음
        • 하고 싶은 것을 하면서 동기 부여가 되는 것이 좋음
    4. 기여
      • 이슈를 찾고 기존 이슈에서 검색, 없으면 이슈 추가
      • 누가 하고 있는지(Assign) 확인하고 없으면 내가 하면 됨
      • 모든 연락은 퍼블릭으로 진행해야 함
      • PR 시에 리뷰어 지정
      • 히스토리 관리가 중요함
      • 커뮤니티 구성원들과 좋은 관계를 유지하자
      • 모든 문서화는 제플린 위키에 공유하자
      • 기본적으로는 영어를 사용해야 할 것 같음
    5. 처음 하기 좋은 이슈
      • 인터프리터 유지/삭제하려고 함