토스뱅크 론 트라이브(Loan Tribe > Personal Loan: 개인대출) 소속
* 기술 및 역량 요약
병리 조직으로부터 면역항암제의 반응성을 예측해주는 서비스 PoC 단계의 초기 버전부터 1.0.0 메인 버전 출시를 앞두고 현재 개발 중. 기획 단계 중 최종 버전의 디자인이 결정되기까지 지속적으로 참여.
SCOPE AI 분석결과를 웹브라우저에서 시각화하는 툴. 연구를 위한 엔진 결과 디버깅(research-scope.lunit.io), 진행중인 연구를 회사 외부에 소개(scope.lunit.io/app) 등의 용도로 사용
위의 문서 페이지들은 90% 이상 작성. 이외 Zeppelin 공식 문서 웹사이트 다른 문서들에 대해서도 리뷰 및 부분 수정.
* 사용 기술 및 툴: Jekyll
* 사용 기술 및 툴: NPM / Bower / Webpack / AngularJS/ Bootstrap위의 기여 내용 이외에도 어플리케이션 전반적인 부분에 UI/UX 개선
* 프로젝트 내용NPM online registry 와 Maven online repository에 있는 Helium 패키지 정보들을 NPM / Maven에서 제공하는 공개 API를 이용해 취합한 후 S3 버킷에 Json 파일로 저장(Zeppelin 공식 웹사이트에서 온라인 저장소에 있는 Helium package 리스트 확인 가능)더 자세한 내용은 Jira issue ticket를 참고해주세요* 사용 기술: Node.js 및 AWS Lambda / S3/ Cloud Watch* 투입 인원: 1명* 역할: 리서치 / 설계 / 개발
가 가능한 점이 로컬 환경에서 실행되는 오픈소스인 Zeppelin과 차이점
A. 장기간 주요 프로젝트 (성능 개선 중심)
* 기존 문제점
- 하나의 노트북 안에 패러그래프(코드 에디터 + 코드 실행 결과 컴포넌트) 개수가 많아짐에 따라 노트북 페이지 초기 렌더링 속도가 기하급수 적으로 저하
- 잘못된 방식의 React 컴포넌트 사이의 prop 전달
- Immutable object ↔ plain object 빈번한 변환
- 불필요한 action dispatch / API 호출 등의 원인으로 전체 어플리케이션의 컴포넌트 렌더링 및 반응 속도가 늦어지는 현상 발생
* 해결 방법
- state selector를 이용해 컴포넌트 사이의 prop 전달 최소화
- react-redux-immutable을 이용해 immutable object ↔ plain object 변환 최소화
- 컴포넌트 구조 재정비
- 불필요한 액션 및 API 호출 제거
* 성과
- 노트북 안에서의 여러 액션(e.g. 패러그래프 CRUD / 패러그래프 내 에디터 텍스트 수정 / 패러그래프 위치 변경 등) 후 반응속도 100 - 300% 향상
- 레거시 코드 제거 및 컴포넌트 구조 재정비로 번들 사이즈 축소 및 디버깅 용이
* 투입인원: 4명* 역할: 리서치 / 개발
* 기존 문제점
- 데이터 사이즈가 큰 경우, 수백개의 SVG element가 그려지는 동안 전체 페이지 동작이 멈춤
- 불필요하게 중복되고 비효율적인 데이터 조작 로직
* 해결 방법
* 성과
* 투입 인원: 2명
* 역할: 리서치 / 개발 / 설계
* 기존 문제점
- React 로 쓰여진 Zepl의 프론트엔드 웹 어플리케이션에 Zeppelin의 AngularJS로 쓰여진 노트북 컴포넌트를 그대로 가져와 사용하던 기존의 방식 때문에(서비스 초창기 빠른 개발을 위한 선택이었음)
- 노트북 서비스는 Zepl의 가장 핵심 서비스임에도 불구하고 디버깅이 거의 불가능한 블랙박스 상태
- React 어플리케이션 ↔ Angular 어플리케이션 사이 통신채널을 통한 리소스 낭비또한 문제
* 해결 방법
- AngularJS 노트북 컴포넌트의 모든 기능을 포함한 React버전의 노트북 컴포넌트 새로 작성
* 성과
- 디버깅 소요시간 대폭 축소로 고객 불만 / 요구사항 대응시간 단축
- 개발 소요시간 단축
* 투입인원: 2명* 역할: 리서치 / 설계/ 개발
B. 이 외 프로젝트 (기능 개발 중심)
* 투입인원: 1명* 역할: 리서치 / 설계/ 개발
* 투입인원: 2명* 역할: 리서치 / 설계/ 개발
* 투입인원: 1명* 역할: 리서치 / 설계/ 개발
* 투입인원: 1명* 역할: 리서치 / 설계/ 개발
* 투입인원: 2명* 역할: 리서치 / 설계/ 개발
제플린 한국 사용자 모임에서 아파치 탑레벨 프로젝트의 커미터가 되기 까지 겪었던 경험 공유
ApacheCon, Europe 2016 에서 "Apache Zeppelin Training" 핸즈온 세션 진행
Fly Zeppelin, Fly 컨퍼런스 - Apache Zeppelin 0.7 버전에 새로 추가된 기능인 "Helium"에 대해 소개
9XD (90's developer community) 정기 세미나 발표
- 오픈소스의 참 정의 왜 오픈소스가 대세일까?- 졸업 전 오픈소스를 시작해야 하는 이유- 오픈소스 프로젝트에 기여하는 방법 A-Z등 오픈소스 활동으로 얻을 수 있는 ‘개인적 가치’를 통해 학생들에게 동기부여를 하고, 학생들이 오픈소스 사용자가 아닌 실질적인 프로젝트 참여자로 거듭나는 것을 강의 목표로 경북대학교/ 안동대학교/ 전북대학교/ 한림대학교 등 4곳에서 강의 진행
토스뱅크 론 트라이브(Loan Tribe > Personal Loan: 개인대출) 소속
* 기술 및 역량 요약
병리 조직으로부터 면역항암제의 반응성을 예측해주는 서비스 PoC 단계의 초기 버전부터 1.0.0 메인 버전 출시를 앞두고 현재 개발 중. 기획 단계 중 최종 버전의 디자인이 결정되기까지 지속적으로 참여.
SCOPE AI 분석결과를 웹브라우저에서 시각화하는 툴. 연구를 위한 엔진 결과 디버깅(research-scope.lunit.io), 진행중인 연구를 회사 외부에 소개(scope.lunit.io/app) 등의 용도로 사용
위의 문서 페이지들은 90% 이상 작성. 이외 Zeppelin 공식 문서 웹사이트 다른 문서들에 대해서도 리뷰 및 부분 수정.
* 사용 기술 및 툴: Jekyll
* 사용 기술 및 툴: NPM / Bower / Webpack / AngularJS/ Bootstrap위의 기여 내용 이외에도 어플리케이션 전반적인 부분에 UI/UX 개선
* 프로젝트 내용NPM online registry 와 Maven online repository에 있는 Helium 패키지 정보들을 NPM / Maven에서 제공하는 공개 API를 이용해 취합한 후 S3 버킷에 Json 파일로 저장(Zeppelin 공식 웹사이트에서 온라인 저장소에 있는 Helium package 리스트 확인 가능)더 자세한 내용은 Jira issue ticket를 참고해주세요* 사용 기술: Node.js 및 AWS Lambda / S3/ Cloud Watch* 투입 인원: 1명* 역할: 리서치 / 설계 / 개발
가 가능한 점이 로컬 환경에서 실행되는 오픈소스인 Zeppelin과 차이점
A. 장기간 주요 프로젝트 (성능 개선 중심)
* 기존 문제점
- 하나의 노트북 안에 패러그래프(코드 에디터 + 코드 실행 결과 컴포넌트) 개수가 많아짐에 따라 노트북 페이지 초기 렌더링 속도가 기하급수 적으로 저하
- 잘못된 방식의 React 컴포넌트 사이의 prop 전달
- Immutable object ↔ plain object 빈번한 변환
- 불필요한 action dispatch / API 호출 등의 원인으로 전체 어플리케이션의 컴포넌트 렌더링 및 반응 속도가 늦어지는 현상 발생
* 해결 방법
- state selector를 이용해 컴포넌트 사이의 prop 전달 최소화
- react-redux-immutable을 이용해 immutable object ↔ plain object 변환 최소화
- 컴포넌트 구조 재정비
- 불필요한 액션 및 API 호출 제거
* 성과
- 노트북 안에서의 여러 액션(e.g. 패러그래프 CRUD / 패러그래프 내 에디터 텍스트 수정 / 패러그래프 위치 변경 등) 후 반응속도 100 - 300% 향상
- 레거시 코드 제거 및 컴포넌트 구조 재정비로 번들 사이즈 축소 및 디버깅 용이
* 투입인원: 4명* 역할: 리서치 / 개발
* 기존 문제점
- 데이터 사이즈가 큰 경우, 수백개의 SVG element가 그려지는 동안 전체 페이지 동작이 멈춤
- 불필요하게 중복되고 비효율적인 데이터 조작 로직
* 해결 방법
* 성과
* 투입 인원: 2명
* 역할: 리서치 / 개발 / 설계
* 기존 문제점
- React 로 쓰여진 Zepl의 프론트엔드 웹 어플리케이션에 Zeppelin의 AngularJS로 쓰여진 노트북 컴포넌트를 그대로 가져와 사용하던 기존의 방식 때문에(서비스 초창기 빠른 개발을 위한 선택이었음)
- 노트북 서비스는 Zepl의 가장 핵심 서비스임에도 불구하고 디버깅이 거의 불가능한 블랙박스 상태
- React 어플리케이션 ↔ Angular 어플리케이션 사이 통신채널을 통한 리소스 낭비또한 문제
* 해결 방법
- AngularJS 노트북 컴포넌트의 모든 기능을 포함한 React버전의 노트북 컴포넌트 새로 작성
* 성과
- 디버깅 소요시간 대폭 축소로 고객 불만 / 요구사항 대응시간 단축
- 개발 소요시간 단축
* 투입인원: 2명* 역할: 리서치 / 설계/ 개발
B. 이 외 프로젝트 (기능 개발 중심)
* 투입인원: 1명* 역할: 리서치 / 설계/ 개발
* 투입인원: 2명* 역할: 리서치 / 설계/ 개발
* 투입인원: 1명* 역할: 리서치 / 설계/ 개발
* 투입인원: 1명* 역할: 리서치 / 설계/ 개발
* 투입인원: 2명* 역할: 리서치 / 설계/ 개발
제플린 한국 사용자 모임에서 아파치 탑레벨 프로젝트의 커미터가 되기 까지 겪었던 경험 공유
ApacheCon, Europe 2016 에서 "Apache Zeppelin Training" 핸즈온 세션 진행
Fly Zeppelin, Fly 컨퍼런스 - Apache Zeppelin 0.7 버전에 새로 추가된 기능인 "Helium"에 대해 소개
9XD (90's developer community) 정기 세미나 발표
- 오픈소스의 참 정의 왜 오픈소스가 대세일까?- 졸업 전 오픈소스를 시작해야 하는 이유- 오픈소스 프로젝트에 기여하는 방법 A-Z등 오픈소스 활동으로 얻을 수 있는 ‘개인적 가치’를 통해 학생들에게 동기부여를 하고, 학생들이 오픈소스 사용자가 아닌 실질적인 프로젝트 참여자로 거듭나는 것을 강의 목표로 경북대학교/ 안동대학교/ 전북대학교/ 한림대학교 등 4곳에서 강의 진행