나/리뷰

Google I/O Extended Seoul 2023 후기

Lou Park 2023. 7. 29. 21:13

Check In 부스

코엑스에서 열린 Google I/O Extended Seoul에 다녀왔다. 

난생 처음 가보는 개발자 컨퍼런스였는데, 개발덕후들 속에서 자극을 받고싶어서 컨퍼런스를 다녀보겠다는 결심을 했다.

입장료는 10,000원으로 저렴한 편인데, 기념품도 빠방해서 컨퍼런스에서 얻을 수 있는 정보까지 더하면

구글은 완전히 적자가 아닐까? 생각이들었다. ㅋㅋㅋ

 

주요 목적이 모르는 개발 용어들을 접해보고,

평소에 관심없던 분야에 대한 찍먹을 경험해보고 싶은 마음이 있어서

일부러 안드로이드 강의를 좀 피했다. 

 

강의는 대부분 20분/40분으로 나눠져있는데,

20분 강의를 하시는 분들은 시간에 쫓겨 아쉽게도 훅훅 넘어간 부분들이 많았다.

 

강의 후기 및 간략한 요약

세상의 모든 데이터베이스 이야기: 윤명식 / @메가존클라우드

세상의 모든 데이터베이스 종류들에 대해 간략히 말씀해주셨다.

RDB나 NoSQL은 익히들 많이 알고 현업에서도 널리 쓰이지만, 처음 들어보는 DB들이 많았다.

 

NoSQL: Wide Column Store

와이드 컬럼 스토어는 하나의 NoSQL DB 유형이라고 한다.

RDB처럼 테이블, 로우, 컬럼을 사용하기는 하지만, 컬럼의 이름과 포맷은 로우마다 다를 수 있다.

 

NewSQL

- RDB처럼 SQL 문법과 ACID(트랜잭션)을 지원하면서도 NoSQL처럼 Scale-out을 지원한다.

- CockroachDB도 NewSQL에 해당하는데, 죽지않는다고 해서 이렇게 이름을 붙였다고한다. (어떻게 DBMS이름이 바선생...처음에 경악했지만 가장 기억에남았다.) 데브시스터즈에서 사용중이라고 한다.

 

GraphDB

- "관계"를 표현할때 유용하게 쓰일 수 있다.

- 대용량의 DB에서 JOIN을 많이 해서 일어나는 성능상의 문제들을 GraphDB는 빠르게 해결가능하다.

 

VectorDB

- Document를 Vector로 Embed

- Vector는 숫자로만 이뤄져있는데 유사도 찾는데 사용한다.

- 생성형 AI 만들때 사용하기 때문에 요즘 핫하다.

 

그 외 프로메테우스나, Influx같은 시계열 DB도 있다고한다.

 

어떤 DB를 선택해야하나?

RDB: Transaction이 필요할때

Google Spanner: 분산 처리가 필요할때

JSON (Firestore 같은): 모바일 환경에서

MemoryStore: 캐시용도로 써야할때

근데 가장 중요한건 잘 아는거 쓰기...트렌드를 쫓다가 프로젝트 망하게 하지 않기...ㅋㅋㅋㅋㅋㅋ

 

Google Cloud를 최대한 활용하여 Data Engineering하기: 김정우 / @클라우드메이트

데이터 엔지니어링을 1도 몰라서 제대로 듣지 못한거같지만 핵심적으로 정리해보면...

구글 BigQuery에서는 타사 클라우드에서 데이터를 불러오거나 내보낼 수 있는 기능을 지원한다는 것이다.

직접 시연도 해주셨다.

 

듣다가 자료 한 구석에 AVRO라는 처음보는 포맷이 보였는데...그래서 찾아보았다.

아파치 하둡 프로젝트에서 개발된 원격 프로시저 호출(RPC) 및 데이터 직렬화 프레임워크라고 한다.

스키마는 JSON으로 작성하지만 이를 바이너리 포맷으로 인코딩한다.

데이터양이 많을때는 파싱 시간을 줄이는 것이 중요하다고 하는데 이렇게 바이너리로 만들면 파싱시간이 짧다.

E따라서 CSV, JSON 등등 다른 사람이 읽기편한 데이터 직렬화 포맷에 비해 빠르다.

 

Dagger Hilt로 의존성 주입하기: 안성용 / @네이버웹툰

안드로이드는 안들을려고 했지만 안듣기엔 Hilt에 대해 무지렁이라 꼭 듣고싶었다.

요즘 개발하면서 WorkManager 이녀석을 의존성 주입이랑 어떡하나 고민하고있었는데

딱 맞는 주제가나와서 월요일에 출근하면 여기저기 바꿔볼게 생긴 것같다.

이 발표에 대한 글은 소화할 겸 따로 게시물을 뺐으니 후기는 여기까지~

 

Flutter에 Clean Architecture를 얹어보자 - 개정판: 양수장 / GDG Songdo

(Github username이 너무 멋지셨던 양쉪...) Clean Architecture도 내가 이해를 못했던 부분이고, 중요하게도 생각하지 않았지만

한 번 더 톺아보면서 회사에서 진행중인 프로젝트의 구조와 비교, 떠올리면서 들어보았다.

 

프레임 워크 드라이버 계층

UI, Framework, 외부 인터페이스, DataStore

 

인터페이스 어댑터 계층

도메인과 UI를 연결하고, 비즈니스 로직을 분리해준다.

 

도메인 계층

비즈니스 로직을 캡슐화, 앱의 핵심기능을 추상화.

도메인 로직을 실행한다.

 

엔티티 계층

Java로 치면 POJO 같은 것들이 있고, 핵심 개념과 데이터들에 해당한다.

 

https://androidexample365.com/github-thesetox-androidcleanarchitecture/

발표때 그림을 보면서 이해하니까 이해가 참 잘되었는데...사진을 찍어둔게 없어서 다시 까먹어버렸다.

인터넷에서 클린 아키텍쳐 그림을 보고 다시 곱씹고 나머지는 회사가서 동료에게 물어봐야겠다.

 

AWS-GCP DNS 서비스 연동 방법과 VPC에서 안전하게 구글 관리형 서비스에 접근하는 방법: 김효민 @당근마켓

정말 모르는 용어가 많이 나왔던 강의였다. 

옆에 앉은 분이 고객를 자꾸 끄덕여서 부러웠다... 알아듣고있구나...

 

예를들면 AWS에 있는 데이터를 가지고 Google BigQuery 서비스에서 분석하려고 하는 상황에서, NAT Gateway를 통과하는데 부과되는 요금, 그리고 Outbound 요금까지 합쳐져서 비용문제가 발생했다고 한다. 그래서 VPN을 구축하여 NAT Gateway를 타지 않고 AWS - GCP간 IP에 액세스 하는 방법으로 보안성도 좋아지고, 많은 비용을 절감하셨다. (관련한 미디엄글은 @derek10cloud)

 

NAT도 마찬가지고 DNS가 어떻게 돌아가는지와 VPN 자체도 제대로 모르는 거 같아서 다시 공부를 좀 해야겠다.

 

PSC (Private Service Connect)

Google Cloud의 서비스중 하나로, 소비자가 VPC 네트워크 내부에서 비공개로 관리형 서비스에 액세스할 수 있도록 허용하는 Google Cloud Networking 기능 

 

Private DNS Zone

Private DNS Zone을 사용하면 가상 네트워크에 사용자가 지정한 고유한 도메인 이름을 사용할 수 있다.

회사 서버 네트워크에 있는 호스트들에 이런 도메인 이름들이 붙여져있는걸 보고 어떻게 했을까...

아니 대체 이런걸 뭐라고하는걸까 궁금했는데 아마도 이것과 관련된거같다. 

 

받은 기념품과 상품

첫 컨퍼런스라 대체 기념품은 뭘까...티셔츠주면 좋겠지만 1만원에 택도없겠지? 생각했는데 진짜 티셔츠를 줬다 ㄷㄷ

입을 티가 하나 늘어나서 기쁘다. 그 외에도 초록색은 장바구니(?) 그리고 스티커들을 꽤 받았다.

 

포스트잇에 후기를 작성하면 추억의 뽑기를 뽑게 해줬는데, 원래 뽑기 운이 하나도 없어서... 어김없이 꼴찌겠지 하고 뽑았는데

3등에 걸렸다. 3등이 꼴찌인줄알고 접고 돌아가려고했는데 뽑기하시는분이 놀라면서 축하한다고 해서 보니까 원하는 개발서적을 가져갈 수 있었다! 인생의 뽑기중에 가장 운이 좋았다...

 

교보문고에서 보고 내용이 넘 좋아서 언젠가 고수가 되면 보고싶었던...

밑바닥부터 만드는 컴퓨팅 시스템 책이있길래 당장 주웠다.  

고수가 되면 보고싶었는데... 당장은 못보겠다 ㅎㅎ