SSDC 2022 후기 (Samsung Software Developer Conference 2022)

JOY·2022년 11월 15일
2

Interests

목록 보기
1/2

SSDC 2022는 11월 15-16일 이틀간 진행되는데,
두 날짜 세션 일정을 각각 읽어보고 15일 오프라인 참여로 신청해서 오게 되었다.

삼성 서초 사옥 다목적홀 5층에 도착하면,
정면에 있는 사전 등록 데스크에서 안내 책자와 이름표를 받을 수 있다.

뒷쪽에는 기념품 배부처가 있었는데,일찍 도착한 분들은 선착순으로 얼리버드 기념품을 받을 수 있었다.

나는 세션 시작 시간에 맞게 12시에 도착해서 얼리버드 기념품은 받을 수 없었지만,
생수와 에너지바를 주셔서 받았다.

좌측에는 각 삼성전자 부서마다 커리어 컨설팅이 진행되고 있었다.

삼성 실무진들과 인사팀 직원들이 부서별 부스에 앉아계시는데,
원하는 부서를 골라 컨설팅 상담 카드를 작성하면 커리어 컨설팅을 받을 수 있다.

우측에는 스마트 홈, 스마트 전자기기 등 다양한 삼성 기술을 체험할 수 있는 부스들이 있었고,
전시회 안쪽으로 들어가면 세션이 열리는 홀이 있다.

2 개의 세션 홀에서는 각각 다른 트랙이 동시간에 진행되었는데, 나는 트랙 2를 선택해서 듣게 되었다.
(강연이 하나 끝날 때마다 자유롭게 트랙/자리 이동이 가능하다)

트랙 2에서 인상 깊었던 강연 2가지를 기록해보고자 한다.

[Session 1] Vue.js를 채택하면 일어나는 일

The Progressive JavaScript Framework, Vue.js

이 강연은 Megazone Cloud의 프론트앤드 개발자인 노완진님이 진행해주셨다.

백엔드가 아닌 프론트앤드 스택 관련 강연이라 들을지말지 고민했지만,
Vue.js를 관심 있게 공부해본 적이 있던 터라 흥미가 생겼고
강연 타겟에 '프론트앤드 생태계에 관심이 있는 분'이 적혀있기도 해서 듣게 되었다.

결론적으로는 프론트앤드 기술에만 초점을 두신것이 아니라,
Vue.js라는 프레임워크를 고민하고 채택하게 된 과정을 상세하게 공유해주셔서
새로운 기술 도입을 위해 고군분투하는 과정을 엿볼 수 있었던 뜻 깊은 강연이었다.

💭 당시 상황

1년차 주니어 개발자였던 노완진님이 메가 클라우드에 오셨을때,
ui/ux 디자이너도 없고 혼자 프론트앤드 개발자인데 빠르게 MVP를 만들어야하는 상황이었다.

먼저 가장 인기있는 프레임워크인 React, Angular, Vue 중에서 한가지를 채택하고 싶으셨다.

이전 회사에서 Angular의 무겁고 불편한 점을 경험했기 때문에,
Angulr을 제외한 React, Vue 중에서 러닝커브가 작고 직관적이라는 점을 고려해 Vue를 채택하셨다.

⤴️ 프로젝트 규모가 커지자 ...

팀과 프로젝트 규모가 커짐에 따라 느낀 불편함이 하나 둘 생겨났다.

1. 제한된 컴포넌트 구조

기존 컴포넌트에 새로운 기능을 추가해야하는 상황을
특정 조명에만 센서기능을 추가해야하는 예시로 설명을 쉽게 해주셨다.

기능이 추가될때마다 새로운 mixin을 추가해야해서,
관계 복잡도가 크고 논리 추상화에 어려움이 발생했다.

2. 미약한 타입스크립트 지원

타입스크립트 지원이 미약해, 타입스크립트로 코드 작성이 불편했다.

3. 비교적 작은 커뮤니티

커뮤니티 규모와 지원하는 라이브러리 수가 리액트 보다 적었다.

🛠 더 나은 도구로 ...

더 나은 도구로 마이그레이션을 검토해보고자, 다시 React와 Vue를 비교해보았다.

React로 마이그레이션을 하려면 기존 작업에 병목이 생기고,
물적/인적 비용이 발생하기 때문에, 장기적인 안목으로 신중하게 분석했다.

React는 페이스북이라는 대기업에서 제공하고 커뮤니티 규모가 크다는것이 장점이 있었다.
단점으로는 Vue를 포기할때의 기회비용이 크다는것이었다.
Vue는 주변 라이브러리를 공식 지원하고, 높은 직관성과 낮은 러닝커브라는 장점이 있었다.

🔎 Vue3의 등장!

이때 Vue3의 출시 예고를 눈여겨 보게되었다.
Vue3에서는 Composition API을 지원하여 유연성 측면에서 개선이 되었다.

아까 조명 예시에 Composition API를 적용하면
기존 컴포넌트에 파라미터를 추가하고, 내부 조건문으로 간단히 해결이 가능했다.

결과적으로, 리액트보다 Vue3가 더 낫다고 판단하여 채택했고,
이후 타입스크립트도 잘 지원되어 편의성이 더욱 늘어났다고 한다.

✓ 결론

기술 스택 마이그레이션을 고민될 때, 뒤따라오는 비용과 기회비용을 비교해서 결정했다.
더불어 기술 비교 과정에서, 알게모르게 누리고있었던 Vue의 이점들이 많았음을 깨닫는 계기가 되었다고 한다.
앞으로 개선된 Vue 생태계가 기대 된다고 하시며 강연을 마무리하셨다.


[Session 2] 어디에나 이식할 수 있는 오픈소스 SQL 데이터베이스 - GlueSQL

GlueSQL is quite sticky. It attaches to anywhere.

이 강연은 GlueSQL 오픈소스 메인테이너 문태훈님이 진행해주셨다.

SQL을 사랑하는 백엔드 개발자로서 큰 호기심이 생기는 타이틀이었는데,
강연 타겟도 '데이터베이스를 사용하고, 오픈소스 참여에 관심있는 분'이어서 더 기대되었다.

GlueSQL은 Rust 언어로 작성되고 아파치 라이선스로 배포된 오픈소스 sql 데이터베이스이다.

❓새로운 DB가 왜 또 필요한가

GlueSQL만 가진 가장 큰 특징은 다양한 환경에 이식 가능한 SQL 데이터베이스라는 점이다.

어떤 스토리지던지 SQL 레이어를 입힐 수 있다는 점이 매력적이었다.
심지어는 NoSQL DB에도 SQL을 입힐 수 있다.

즉, GlueSQ을 활용하면 다양한 환경에서 동일한 SQL을 사용할 수 있어 매우 편리하다.

🔎 주요 기능들을 요약해보면

  1. 선택적으로 구현할 수 있는 Storage Interface

  2. 라이브러리로 제공되는 Integration Test Suite
    따로 테스트 구축 필요없이 이것만 통과해도 기본 동작이 보장된다는 점이 인상 깊었다.

  3. 선택적으로 사용할 수 있는 Query Planner

  4. Execution Plan을 직접 지정할 수 있는 Query Builder

  5. Schemaless 데이터 지원
    Schema 기반 Vector 구조와 Schemaless를 위한 Map 구조를 동시에 지원한다.

💻 개발 과정

전체적인 개발 과정 중에서도 실패 경험이 인상깊어 기록해두었다.

문태훈님은 자생 가능한 환경에 대한 고민이 있으셨고,
해결책으로 구글시트를 데이터베이스로 사용하는것을 시도하셨다.

그런데 구글시트 기존 데이터를 SQL로 다룰 수 있는 기능이 없어서 결국 실패하셨다고 한다.

하지만 문태훈님은 이 경험을 통해서
Schemaless 데이터 지원을 꼭 마련해야겠다는 피드백을 얻으셨다고 한다 👍🏻

✓ 결론

현재 GlueSQL은 Star 수가 2천 개에 다다르며, 다양한 커뮤니티에서도 주목받고 있다.
디스코드 채널을 운영하시면서 commiter들과 소통한다고 하시니,
채널 둘러보면서 오픈소스 commiter들이 어떻게 활동하시는지 알아봐야겠다.

profile
Backend Developer

0개의 댓글