Skip to content

Kyunghwa Yoo

DEVIEW 2017 후기

conference2 min read

데뷰2017에 참여했다.

작년에 이어 올해도 재미있어 보이는 토픽이 많아서 무엇을 라이브로 들을까 고민이 되었다.

회사 미팅이 있어서 두번째 트랙부터 들을 수 있었다.


세션2 - 그런 REST API로 괜찮은가

https://deview.kr/2017/schedule/212

REST는 서버와 클라이언트 사이의 통신 관련 아키텍쳐 스타일을 가리킨다. REST는 제약조건이 있는데 이것을 반드시 지켜야 REST라고 할 수 있다.

우리가 일반적으로 사용되어지고 있는 REST API는 여러 제약조건 중에서 Uniform Interface가 잘 지켜지지 않기 떄문에 진정한 의미에서 REST API라고 부를 수 없다.

Uniform Interface의 종류

Self-Descriptive

메시지만 보고도 내용을 알 수 있어야한다. 텍스트에 대해 어떤 문법으로 쓰여져 있는지 (예를 들면 HTML인지 JSON인지) 알 수 있어야 한다.

HATEOAS(Hypermedia As The Engine Of Application State)

어려운 내용이라 Wikipedia에서 검색해보았다.

a REST client should then be able to use server-provided links dynamically to discover all the available actions and resources it needs

클라이언트는 서버에서 제공하는 링크를 통해서 또 다른 액션이나 리소스를 찾아갈 수 있어야 한다는 뜻 같다. 서버에서는 하이퍼링크를 포함한 텍스트를 클라이언트에게 보내어 다른 액션을 취할 수 있도록 설계되어야 한다. 클라이언트에서는 아무 것도 할 필요 없이 그 하이퍼링크를 통해 다른 액션을 취할 수 있게 된다.

왜 Uniform Interface 가 필요한가?

서버와 클라이언트가 독립적으로 진화가 가능하다. 서버의 기능이 변경되어도 클라이언트를 업데이트할 필요가 없다. Uniform Interface는 웹에서 잘 지켜지고 있다. 그렇기 때문에 웹페이지를 변경했다고 해서 웹브라우저를 업데이트할 필요는 없다. 왜? 상호운용성(하위호환성)을 엄청 지키고 있기 때문이다.

REST가 웹의 독립적 진화에 도움을 주었나? 그렇다

  • HTTP에 지속적으로 영향을 줌
  • HOST 헤더 추가
  • 길이 제한을 다루는 방법이 명시 (414 URI Too Long)

그래서 REST API는 아키텍쳐 스타일을 따라야 하지만 요즘 REST API라고 나오는 것들은 그 스타일을 안따르고 있다.

그럼 꼭 REST API는 REST 스타일을 따라야 하는가? REST의 개발자는 이렇게 얘기한다.

시스템 전체를 통제할 수 있다고 생각하거나, 진화에 관심이 없다면 REST에 대해 따지느라 시간을 낭비하지 마라


세션3 - 동네 커피샵도 사이렌 오더를 쓸 수 있을까?

https://deview.kr/2017/schedule/199

세션3 부터는 세션2처럼 광적으로 필기하지 않았다. 필기를 하는 것보다 스피커의 눈빛 목소리 톤 내용 하나하나를 공감하려고 애썼다.

동네 커피샵에서도 사이렌 오더를 쓸 수 있을까? 라는 주제였지만 사실은 삼성브라우저 개발팀에서 진행되고 있는 것들에 대해 소개하려고 온 세션이었다.

Physical Web

비콘 서비스 같은 서비스를 이용하면 된다고 말하고 있지만 사용자의 동의가 필요하고 정책적인 부분에서 걸림돌이 많다. 아직은 많이 이른 단계라고 느껴졌다.

PWA

PWA에 대해서도 모호하게 넘어갔다.

Loginless

사용자를 구분하는 방법으로 Browser FingerPrint를 제시했지만 이 부분도 정확하게 디바이스를 특정할 수 있는 부분도 아니고 굳이 FingerPrint라는 어려운 방식 말고 어차피 100% 정확하게 구분할 수 없다면 다른 간단한 방법도 많은 것 같다.

Push Notification

푸시를 보내려면 사용자가 동의를 해야되는데 대부분의 사용자는 동의하지 않는다. 이것을 동의하게 만들도록 하는 여러 방법을 제시했지만 공감되지 않았다.

Web Payment

웹페이먼트는 작년 데뷰에서 들었던 것이 기억난다. 그 때부터 1년이 지났지만 아직도 웹 페이먼트는 자리를 못잡고 있고 그 자리를 다른 페이 서비스들이 잡아가고 있다. 이 세션에서 제시한 다른 페이 서비스들의 단점은 실제로 결제를 하는 사용자들에게는 그리 크리티컬한 단점이 아닌가보다.

결론은 꽤 오랫동안 동네 커피샵은 사이렌 오더를 쓸 수 없다.


세션4 - 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라

https://deview.kr/2017/schedule/200

꼭 오픈소스를 쓰지 않아도 리베이스는 무게감이 느껴지는 작업이다. conflict가 나면 자동으로 긴장하게 된다. 웨일브라우저를 개발하면서 크로미움 버전과 웨일브라우저의 버전을 싱크하는 과정에서 발생하는 리베이스의 힘들었던 경험을 엿볼 수 있었다.

Point는 모두가 달라붙지말고 고수 1명이 하다가 담당자가 필요할 때만 담당자와 함께 한다. 이다.


세션5 - 14일 만에 GitHub 스타 천 개 받은 차트 오픈소스 개발기

https://deview.kr/2017/schedule/191

차트 오픈소스를 fork해서 개선해나가면서 겪은 경험담을 들을 수 있었다. 스피커의 발표력이 좋아서 경험담이 흥미롭게 들렸다. 중단한 오픈소스를 계속 이어갈 수 있었던 것도 타이밍이 좋았던 거 같다. 그리고 오픈소스프로젝트에 참여하면서 가져야할 마음가짐과 자세를 배울 수 있었다. 오픈소스프로젝트에 참여하는 일이 참 매력적이라는 생각을 들게 해줬다.

마지막에 나를 뭉클하게 하는, 개발자를 직업으로 삼기 잘했다는 생각이 들게 한 문구가 있었다.

왜 오픈소스를 하는 것인가?

세상에서 내가 도움받은 것에 대해 다시 기여하는 의미있고 가치있는 행동이기 때문이다.

내가 되고자 하는 개발자의 삶 역시 세상을 널리 이롭게 하는 유니세프같은 개발자의 삶이라 그런지 나의 가슴을 뛰게 했다.

더 성장하고 세상을 보는 눈을 넓혀서 월드클래스 소프트웨어 엔지니어가 정말로 되어야겠다.

© 2020 by Kyunghwa Yoo.