SlideShare a Scribd company logo
1 of 30
1
[수습 과제 발표]
업무 & 생각 & 계획
2020. 05. 18
웹개발 2팀 문승현
2
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 2
I. 무엇을 했는가
II. 무슨 생각을 했는가
III. 앞으로 무엇을 할 것인가
Index
!!! RSUPPORT Confidential !!!
3
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 3!!! RSUPPORT Confidential !!!
1. 채팅앱 (수습 과제)
1. Lazy Loader Component (수습 과제)
1. 그밖의 작업들
무엇을 했는가
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 4
다른 유저의
타이핑 메시지
현재 어떤 유저들이 참여중인지 표시
입장, 퇴장시 이벤트 메시지
로그인
1. 채팅앱(수습과제) - 기능
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 5
1. 채팅앱(수습과제) - 시연
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 6
1. 채팅앱(수습과제) - 구조
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 7
1. Lazy Load Component(수습 과제) - 작업 대상
Remote Meeting - Lounge Page
https://st.remotemeeting.com/lounge/room-list
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 8
3. Lazy Load Component(수습 과제) - 기능
화
면
기존 방식
: Room 배경 이미지 99개를 한번에 로드
화면
달라진 방식
: 화면에 보이는 룸의 이미지들만 로드
화면
화면
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 9
3. Lazy Load Component(수습 과제) - 응용한 API
Intersection Observer API
교차 관찰자 API(Intersection Observer API)는 상위요소 또는 최상위 문서의 뷰포트
(viewport)와 대상 요소의 교차점에서 변화를 비동기적으로 관찰할 수 있는 방법을 제공
한다.
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 10
3. Lazy Load Component(수습 과제) - 시연
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 11
3. Lazy Load Component(수습 과제) - 설계
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 12
3. Lazy Load Component(수습 과제) - 목표
화
면 화
면
화
면
현재 목표
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 13
3. Lazy Load Component(수습 과제) - 목표
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 14
4. 그 밖의 작업들
15
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 15!!! RSUPPORT Confidential !!!
퀄리티를 어떻게 높일까? … Lighthouse Reports
- Lazy Load
- JS 경량화
무엇을 생각했는가
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 16
1. 퀄리티를 어떻게 높일까? - Lighthouse란?
Lighthouse란?
Lighthouse는 웹 앱의 품질을 개선하는 오픈 소스 자동화 도구입니다.
Lighthouse는 Chrome 확장프로그램, 커맨드 라인에서, 노드 모듈에서
프로그램으로도 사용할 수 있습니다. Lighthouse에 확인할 URL을 지정
하고, 페이지에 대한 테스트를 실행한 다음, 페이지에 대한 보고서를 생
성합니다. 여기에서 실패한 테스트는 앱을 개선하기 위해 할 수 있는 것
에 대한 지표로 사용할 수 있습니다.
시연 샘플 : 링크
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 17
1. 퀄리티를 어떻게 높일까? - 활용 방식
시연 : https://github.com/Seunghyum/lighthouse-report-script
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 18
1. 퀄리티를 어떻게 높일까? - 활용 방식
알림 방법
슬랙 채널 메시지 메일로 보고서 파일전송
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 19
1. 퀄리티를 어떻게 높일까? - 활용 방식
주기적인 실행
- 배포 시기
- 2주마다(서비스에 문제없는지 체크
)
알림 방식
- 슬랙 메시지
- 담당자 메일로 보고서 전송
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 20
1. 퀄리티를 어떻게 높일까? - 실제 적용
RM 홈페이지 : https://www.remotemeeting.com/ko/home
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 21
1. 퀄리티를 어떻게 높일까? - 보고서 수정사항 반영해보기 (1)
Google Page Speed Insight 링크
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 22
1. 퀄리티를 어떻게 높일까? - 보고서 수정사항 반영해보기 (1)
RM 홈페이지 : https://www.remotemeeting.com/ko/home
Lazy Loading
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 23
1. 퀄리티를 어떻게 높일까? - 보고서 수정사항 반영해보기 (1)
Google Page Speed Insight 링크
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 24
1. 퀄리티를 어떻게 높일까? - 보고서 수정사항 반영해보기 (1)
Room 페이지
CSS, JS 파일 크기 : 2.3MB
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 25
1. 퀄리티를 어떻게 높일까?
렌더링 속도 높이기
: 에셋 용량 줄이기 by Webpack Bundle Analyzer
Moment.js
235.4KB(gzipped: 66.3KB)
Day.js
7.1KB(gzipped: 2.9KB)
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 26
1. 퀄리티를 어떻게 높일까?
Webpack Bundle Analyzer 시연
구글드라이브 링크
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 27
1. 퀄리티를 어떻게 높일까?
기대 효과 : 제품 퀄리티를 정량화
각 페이지마다 Lighthouse 보고서를 출력하는 스크립트를 만들고
업데이트 주기마다 돌리면 제품 퀄리티가 유지되고 있는지 확인할 수 있지 않을까.
28
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 28!!! RSUPPORT Confidential !!!
앞으로 무엇을 할 것인가
Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 29
3. 앞으로 무엇을 할 것인가
- jQuery → React 전환 (프론트 / 백엔드 분리작업)
- 주기적인 Lighthouse - AWS Lambda + CloudWatch
Thank you

More Related Content

Similar to presentation after intern

Serverless로 이미지 크롤링 프로토타입 개발기::유호균::AWS Summit Seoul 2018
Serverless로 이미지 크롤링 프로토타입 개발기::유호균::AWS Summit Seoul 2018Serverless로 이미지 크롤링 프로토타입 개발기::유호균::AWS Summit Seoul 2018
Serverless로 이미지 크롤링 프로토타입 개발기::유호균::AWS Summit Seoul 2018
Amazon Web Services Korea
 

Similar to presentation after intern (8)

Rshinydashboard
RshinydashboardRshinydashboard
Rshinydashboard
 
Serverless로 이미지 크롤링 프로토타입 개발기::유호균::AWS Summit Seoul 2018
Serverless로 이미지 크롤링 프로토타입 개발기::유호균::AWS Summit Seoul 2018Serverless로 이미지 크롤링 프로토타입 개발기::유호균::AWS Summit Seoul 2018
Serverless로 이미지 크롤링 프로토타입 개발기::유호균::AWS Summit Seoul 2018
 
Rpa approach
Rpa approach Rpa approach
Rpa approach
 
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
 
SpeedMIS v6 소개
SpeedMIS v6 소개SpeedMIS v6 소개
SpeedMIS v6 소개
 
ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리
 
Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)
 
[해줌] 애자일 스크럼 교육 자료
[해줌] 애자일 스크럼 교육 자료[해줌] 애자일 스크럼 교육 자료
[해줌] 애자일 스크럼 교육 자료
 

presentation after intern

  • 1. 1 [수습 과제 발표] 업무 & 생각 & 계획 2020. 05. 18 웹개발 2팀 문승현
  • 2. 2 Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 2 I. 무엇을 했는가 II. 무슨 생각을 했는가 III. 앞으로 무엇을 할 것인가 Index !!! RSUPPORT Confidential !!!
  • 3. 3 Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 3!!! RSUPPORT Confidential !!! 1. 채팅앱 (수습 과제) 1. Lazy Loader Component (수습 과제) 1. 그밖의 작업들 무엇을 했는가
  • 4. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 4 다른 유저의 타이핑 메시지 현재 어떤 유저들이 참여중인지 표시 입장, 퇴장시 이벤트 메시지 로그인 1. 채팅앱(수습과제) - 기능
  • 5. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 5 1. 채팅앱(수습과제) - 시연
  • 6. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 6 1. 채팅앱(수습과제) - 구조
  • 7. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 7 1. Lazy Load Component(수습 과제) - 작업 대상 Remote Meeting - Lounge Page https://st.remotemeeting.com/lounge/room-list
  • 8. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 8 3. Lazy Load Component(수습 과제) - 기능 화 면 기존 방식 : Room 배경 이미지 99개를 한번에 로드 화면 달라진 방식 : 화면에 보이는 룸의 이미지들만 로드 화면 화면
  • 9. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 9 3. Lazy Load Component(수습 과제) - 응용한 API Intersection Observer API 교차 관찰자 API(Intersection Observer API)는 상위요소 또는 최상위 문서의 뷰포트 (viewport)와 대상 요소의 교차점에서 변화를 비동기적으로 관찰할 수 있는 방법을 제공 한다.
  • 10. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 10 3. Lazy Load Component(수습 과제) - 시연
  • 11. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 11 3. Lazy Load Component(수습 과제) - 설계
  • 12. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 12 3. Lazy Load Component(수습 과제) - 목표 화 면 화 면 화 면 현재 목표
  • 13. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 13 3. Lazy Load Component(수습 과제) - 목표
  • 14. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 14 4. 그 밖의 작업들
  • 15. 15 Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 15!!! RSUPPORT Confidential !!! 퀄리티를 어떻게 높일까? … Lighthouse Reports - Lazy Load - JS 경량화 무엇을 생각했는가
  • 16. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 16 1. 퀄리티를 어떻게 높일까? - Lighthouse란? Lighthouse란? Lighthouse는 웹 앱의 품질을 개선하는 오픈 소스 자동화 도구입니다. Lighthouse는 Chrome 확장프로그램, 커맨드 라인에서, 노드 모듈에서 프로그램으로도 사용할 수 있습니다. Lighthouse에 확인할 URL을 지정 하고, 페이지에 대한 테스트를 실행한 다음, 페이지에 대한 보고서를 생 성합니다. 여기에서 실패한 테스트는 앱을 개선하기 위해 할 수 있는 것 에 대한 지표로 사용할 수 있습니다. 시연 샘플 : 링크
  • 17. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 17 1. 퀄리티를 어떻게 높일까? - 활용 방식 시연 : https://github.com/Seunghyum/lighthouse-report-script
  • 18. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 18 1. 퀄리티를 어떻게 높일까? - 활용 방식 알림 방법 슬랙 채널 메시지 메일로 보고서 파일전송
  • 19. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 19 1. 퀄리티를 어떻게 높일까? - 활용 방식 주기적인 실행 - 배포 시기 - 2주마다(서비스에 문제없는지 체크 ) 알림 방식 - 슬랙 메시지 - 담당자 메일로 보고서 전송
  • 20. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 20 1. 퀄리티를 어떻게 높일까? - 실제 적용 RM 홈페이지 : https://www.remotemeeting.com/ko/home
  • 21. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 21 1. 퀄리티를 어떻게 높일까? - 보고서 수정사항 반영해보기 (1) Google Page Speed Insight 링크
  • 22. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 22 1. 퀄리티를 어떻게 높일까? - 보고서 수정사항 반영해보기 (1) RM 홈페이지 : https://www.remotemeeting.com/ko/home Lazy Loading
  • 23. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 23 1. 퀄리티를 어떻게 높일까? - 보고서 수정사항 반영해보기 (1) Google Page Speed Insight 링크
  • 24. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 24 1. 퀄리티를 어떻게 높일까? - 보고서 수정사항 반영해보기 (1) Room 페이지 CSS, JS 파일 크기 : 2.3MB
  • 25. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 25 1. 퀄리티를 어떻게 높일까? 렌더링 속도 높이기 : 에셋 용량 줄이기 by Webpack Bundle Analyzer Moment.js 235.4KB(gzipped: 66.3KB) Day.js 7.1KB(gzipped: 2.9KB)
  • 26. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 26 1. 퀄리티를 어떻게 높일까? Webpack Bundle Analyzer 시연 구글드라이브 링크
  • 27. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 27 1. 퀄리티를 어떻게 높일까? 기대 효과 : 제품 퀄리티를 정량화 각 페이지마다 Lighthouse 보고서를 출력하는 스크립트를 만들고 업데이트 주기마다 돌리면 제품 퀄리티가 유지되고 있는지 확인할 수 있지 않을까.
  • 28. 28 Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 28!!! RSUPPORT Confidential !!! 앞으로 무엇을 할 것인가
  • 29. Copyright © RSUPPORT Co., Ltd. ALL RIGHTS RESERVED. www.rsupport.com 29 3. 앞으로 무엇을 할 것인가 - jQuery → React 전환 (프론트 / 백엔드 분리작업) - 주기적인 Lighthouse - AWS Lambda + CloudWatch

Editor's Notes

  1. LazyLoadObserver : IntersectionObserver 객체를 다루기 위한 클래스 LazyLoadWrapper : DOM을 감싸기만 하면 해당 DOM을 IntersectionObserver로 추적 하기위한 React 컴포넌트
  2. 지금은 한줄씩 로드하는게 아닌 이미지 하나마다 로드. 기존 코드에서 한줄씩 로드하게 하려면 꽤 많은 것을 수정해야해서 일단은 이미지 하나씩 로드 함.
  3. 다국어 처리, 간단한 UI 수정 작업, jQuery 작업들을 진행.
  4. 특정 슬랙 채널에 알람메시지 메일로 보고서 파일전송
  5. AWS CloudWatch로 Lamda를 업데이트 주기적으로 실행.
  6. 다음 업데이트 때 적용할 예정.
  7. 그래서 번들링한 파일들 용량을 체크해봄. SPA 하나를 로드하는데 2.3MB가 아니라 이 페이지를 로드하는데 이 정도 걸림.
  8. day.js도 날짜 계산은, I18n 다국어 기능 지원함.
  9. file:///Users/shmoon/Code/WebServer/public/src/main/webapp/service/dist-react/report.html
  10. 룸 페이지 Lighthouse 분석을 위해서는 로그인이 필요한데 이를 위해 pupeteer라는 크로미움 기반 헤드리스 브라우저로 로그인 후 돌리려고 했으나 위와 같은 에러가 나서 멈춘 상태.