SlideShare a Scribd company logo
1 of 22
Download to read offline
Customizable
SpreadSheet
for Smart Users
by gal. Sergei
collabo with Jober
Context
• Collaboration
• Features
• Tech Stack
• Project Demo
• Reference
• Libraries
• Technical Issues
Context
iDESIGN
by HiSlide.io
3
협업 기업 퇴사자 급여 계산하기
급여대장 제공
직원별 급여명세서
자동발급
급여 관리
1:1 인사노무상담
인사업무서식 제공
iDESIGN
by HiSlide.io
4
급여 대장 - HandsonTable
경제적 부담 및 부족한 기능
iDESIGN
by HiSlide.io
Features
셀 선택 기능
#1 드래그 선택
#2 Shift & Cmd / Ctrl 키를 통한 선택
Shift 클릭 - 시작 지점 ( 바로전에 선택된 셀) 부터 끝
지점 까지의 모든 셀 선택
#3 헤더 클릭을 통한 전체 선택
Cmd/Ctrl 클릭 - 추가적으로 셀 선택 및 선택 해제
iDESIGN
by HiSlide.io
Features
- 방향키로 셀이동
- 우클릭 메뉴
TextAlign#2KeyBoardNav#1
iDESIGN
by HiSlide.io
Features
- 각 컬럼의 합산된
(reduced) 값 표시
( 함수 설정 가능 )
iDESIGN
by HiSlide.io
8
Features
계층적 헤더 - Nested Headers
iDESIGN
by HiSlide.io
9
Features - Nested Headers
Tree형 자료구조로 구현
.01
부모자식 관계
부모노드 ∋ 자식노드
.02
BFS, DFS (pre-order)
를 통한 효율적인 서치
Breadth / Depth
First-Search
iDESIGN
by HiSlide.io
10
Features - Nested Headers
헤더 접기 - 첫째 자식만 보이기
헤더가 접혔을 때
값이 변할 때
=> Return / Enter Key가 눌렸을 때
Features
전 / 후 처리 함수 (pre / post processor)
1.전처리 함수 실행
- 값의 변경 or NOT
- IF 값을 변경한다면 어떤값으로
변경할지 설정
2.전처리 함수에 따른 변경
3.후처리 함수 실행
1.DB에 저장 or NOT
2. IF 저장한다면 저장 값 설정
Life Cycle
iDESIGN
by HiSlide.io
Tech stack
- React.js
: 한 셀씩 컴포넌트화
- Redux
: 헤더에서 전체상태 제어
iDESIGN
by HiSlide.io
Tech stack
- Sass
: 가독성과 변수 활용
- Styled-components
: 컴포넌트별 변수 대입
iDESIGN
by HiSlide.io
14
References
Заголовок
공식 문서
20%
Stack-Overflow
15%
Github
25%
w3schools
25%
MDN
15%
iDESIGN
by HiSlide.io
15
Libraries
- classnames : React + Sass
s
- semantic - ui - react :
Dropdown + Menu
iDESIGN
by HiSlide.io
16
Technical Issues
• Nested Headers :
상위 헤더에서 하위 헤더의 정보를 필요
iDESIGN
by HiSlide.io
17
Technical Issues
기존의 방식 : [1,[1,3],2], [1,1,[1,1,1],[1,1]]
현재 방식 : label colspan collapsible
isCollapsed hidden
children
iDESIGN
by HiSlide.io
18
Technical Issues
• semantic-ui-react :
스프레드 시트에 맞게 스타일링
iDESIGN
by HiSlide.io
19
Technical Issues
• event-handling :
keydown
up, down, move, click, dbclick, contextmenu
start, end, move
onChange, onFocus, onBlur
iDESIGN
by HiSlide.io
20
Technical Issues
• event-handling :
이벤트 겹침 : mousedown, click, touchdown
element 접근 : 공통 부모를 이용한 재귀
keyboard navigating: 공통 자식를 이용한 재귀
iDESIGN
by HiSlide.io
21
Technical Issues
• Selection : 경우의 수
• 열 헤더: click, drag, shift &ctrl/cmd
• 행 헤더: click, shift &ctrl/cmd
• 각 셀: drag, shift &ctrl/cmd
Questions &
Answers
sergei@codestates.com
Contact

More Related Content

Similar to 자버 Javer: 코드스테이츠 데모데이

Tadpole DB Hub 1.0.0
Tadpole DB Hub 1.0.0Tadpole DB Hub 1.0.0
Tadpole DB Hub 1.0.0cho hyun jong
 
NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스Sungik Kim
 
DDD로 복잡함 다루기
DDD로 복잡함 다루기DDD로 복잡함 다루기
DDD로 복잡함 다루기beom kyun choi
 
[114]angularvs react 김훈민손찬욱
[114]angularvs react 김훈민손찬욱[114]angularvs react 김훈민손찬욱
[114]angularvs react 김훈민손찬욱NAVER D2
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxNeoClova
 
델파이 소스코드의재발견
델파이 소스코드의재발견델파이 소스코드의재발견
델파이 소스코드의재발견Devgear
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계Wonjun Hwang
 
Undefined 2월발표 backbonejs
Undefined 2월발표 backbonejsUndefined 2월발표 backbonejs
Undefined 2월발표 backbonejsKyungree Bae
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나JeongHwan Kim
 
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스NAVER D2
 
[243]kaleido 노현걸
[243]kaleido 노현걸[243]kaleido 노현걸
[243]kaleido 노현걸NAVER D2
 
Team project (for frontend)
Team project (for frontend)Team project (for frontend)
Team project (for frontend)형석 장
 
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.Adonis Han
 
분석과 설계
분석과 설계분석과 설계
분석과 설계Haeil Yi
 
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기
[DevOn 2013] Backbone.js로 능동적  M-V 디자인 구현하기[DevOn 2013] Backbone.js로 능동적  M-V 디자인 구현하기
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기Gyutae Jo
 
[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략Ji-Woong Choi
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기Sunghyouk Bae
 
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019min woog kim
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big dataH K Yoon
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트Dae Kim
 

Similar to 자버 Javer: 코드스테이츠 데모데이 (20)

Tadpole DB Hub 1.0.0
Tadpole DB Hub 1.0.0Tadpole DB Hub 1.0.0
Tadpole DB Hub 1.0.0
 
NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스
 
DDD로 복잡함 다루기
DDD로 복잡함 다루기DDD로 복잡함 다루기
DDD로 복잡함 다루기
 
[114]angularvs react 김훈민손찬욱
[114]angularvs react 김훈민손찬욱[114]angularvs react 김훈민손찬욱
[114]angularvs react 김훈민손찬욱
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
델파이 소스코드의재발견
델파이 소스코드의재발견델파이 소스코드의재발견
델파이 소스코드의재발견
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계
 
Undefined 2월발표 backbonejs
Undefined 2월발표 backbonejsUndefined 2월발표 backbonejs
Undefined 2월발표 backbonejs
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나
 
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
 
[243]kaleido 노현걸
[243]kaleido 노현걸[243]kaleido 노현걸
[243]kaleido 노현걸
 
Team project (for frontend)
Team project (for frontend)Team project (for frontend)
Team project (for frontend)
 
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
 
분석과 설계
분석과 설계분석과 설계
분석과 설계
 
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기
[DevOn 2013] Backbone.js로 능동적  M-V 디자인 구현하기[DevOn 2013] Backbone.js로 능동적  M-V 디자인 구현하기
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기
 
[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
 
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big data
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
 

Recently uploaded

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 

Recently uploaded (6)

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 

자버 Javer: 코드스테이츠 데모데이