1. 로그인 구현
우리 팀의 질문 :
Q.
한 팀원이 토큰을 이용한 로그인 기능을 구현하는데 nodeJS+mongoDB 세트의 구현이 레퍼런스가 잘 되어있어 이를 기반으로 개발하고 싶어한다. 하지만 현재 우리의 서버는 파이썬을 이용한 데이터처리의 용이성 때문에 flask & MySQL.
이런 개발 상황일 때, 로그인 서버를 따로 두어 개발을 하는 것은 괜찮은 개발 방향인가?
A.
세션과 토큰의 차이를 아는가? -> 세션은 서버에서 따로 처리가 필요한 무언가라는 정도로 알고있다.
토큰은 서버에서의 그 과정을 생략하게 해준다
JWT든 Oauth든 토큰을 써서 세션을 대체하는 이유가 서버 자원 때문도 있다.
우리팀 규모의 프로젝트에서는 토큰을 쓰면 서버측 자원소모가 거의 없기 때문에, 로그인 서버를 따로 두지 말고 기존 서버에서 처리하는것이 맞다.
----------------------------------
프론트중 한명이 로그인 구현을 전담하고 있었는데, 어느새 현재 백의 기술스택과 호환되지 않는 기술을 쓰고 있어서 백과 약간의 충돌이 있었다. 해당 이슈때문에 DB, 서버는 건들지 않고 있던 상황.
멘토님이 꽤나 강하게 단정하신만큼, 우리 규모에서 로그인 서버를 따로 두는 것은 '남들이 이해하기 힘든' 개발 방향이라고 보는게 맞으니 flask로 다시 구현하기로.
flask로 기술이 합쳐져야 한다면 적어도 서버쪽 처리 부분은 백 인원이 담당해야 할듯. 진행하던 프론트 팀원이 토큰을 보내는 단계까지 담당할 것인지, 아예 백에게 인수인계(?)를 할 것인지는 개인의 판단에 맡기는게 맞을 것 같다.
2. 시각화된 데이터를 이용한 하이라이트 탐색 이후, 무엇을 더 제공할 것인가
협력사 멘토님의 질문 :
Q.
편집자에게 어디까지의 서비스를 제공할 계획인가?
A.
데이터를 제공하고, 공유나 내보내기 등의 마지막 아웃풋까지. 즉, 프리미어프로 편집에 본격적으로 들어가기 직전까지. 영상 내에 자막을 단다거나 하는 편집은 우리 웹서비스의 영역 밖이다.
내보내기는 간단하게는 하이라이팅된 부분만 연속으로 재생하는 기능부터, 좀 더 난이도있게 하자면 분할된 영상의 다운로드를 제공도 고려하곤 있다. 하지만 니즈를 따지면, 웹 영상보다 더 좋은 원본을 스트리머로부터 받은 편집자가 이걸 필요로 하진 않을 것이다.
우리의 대답으로부터 받은 조언 :
편집자와의 커뮤니케이션을 위해 보이스챗, 영상통화까지 가는건 좀...
아이템의 방향성이 확실하니까 남들 다 하는 쉬운거 굳이 안보여줘도 됨
내보내기 기능을 고려한다면 잘 만들어 보라. 영상 다운로드는 말하신대로 편집자가 원본을 갖고있을테니 서비스적으론 쓸모없다는데에 동의한다. 하지만 만들면 능력을 드러내는 데에는 도움될 것. 안한다면 대신 그에 상응하는 다른 무언가를 보여주는 것이 좋을 것이다.
아이디어를 주자면, 타겟을 기존의 편집자에서, 그 시청자까지로 확장한다면 추가적인 서비스가 가능해보인다.
예 : 크롬 익스텐션
익스텐션 설치한 시청자가 유튜브에서 풀영상을 볼때 이 에디터에서 북마킹한 구간을 강조해서 보여줌
라이너라는 익스텐션이 이미 있는데 비슷한 기능을 할것같으니 참고해보라
또다른 예 : 커뮤니티 형태의 게시판
편집자가 고른 북마킹을 게시물의 형태로 불특정다수에게 제공하는 페이지
----------------------------------
webRTC는 '남들 다 하는 쉬운거'였다... 현업자의 눈높이는 높고 높다.
솔직히 혼자 컨텍스트 공유도 안하고 따로노는 느낌이 강해서 빼버려도 될것같다는 조언이 나를 포함한 팀원들 모두에게 공감이 갔던 것 같다. 여기에 화상통화를 끼얹느니 그냥 다른걸 더 만드는게 낫다는 느낌?
좋은 아이디어도 받았으니 북마킹을 완성한 뒤 프론트는 이쪽에 투자하면 될 것 같다.
익스텐션은 재미있어보여서 가능하면 진짜 만들고싶다. 하지만 시간이 있을까...ㅋㅋ
3. 라이브러리 사용 관련
우리의 질문
Q.
라이브러리가 잘 되어있어서 목표하던 것들을 구현하는게 생각보다 쉽다. 영상 플레이어 부분이라든가. 이 부분에 대해 어떻게 생각하시는가. 혹시 예를들어 협력사측 서비스처럼 직접 플레이어를 구현한다고 하면 그건 기술적으로 난이도가 좀 버겁나.
A.
멋진걸 만들면 분명 질문이 들어온다 : 이거 어떻게 구현했어요?
여기에 라이브러리 썼어요 하고 대답하면 굉장히 없어보임
우리의 능력을 보여주기 위한 프로젝트니까 가급적 라이브러리 사용을 지양하는 모습 필요
예 : 리액트 플레이어 대신 직접 html5 video tag로 view
비디오 플레이어가 대단해보이지만 사실 그리 어렵지 않다. 리액트 플레이어 라이브러리처럼 거기서도 메타태그 추출 가능하다. 가능한데, 지금 보여준 이 서비스에서 쓰는 모든 값이 다 있을지는 잘 모르겠다. html 공식문서 줄테니 읽어봐라. 필요한 것이 있을때 여기에 레퍼런스가 없다면 제공하지 않는것이 확실하니 참고하는데에 좋다.
라이브러리를 쓰게 된다면 위 질문이 들어왔을 때 논리적 의사결정 과정을 어필해야 할 것
직접 구현을 포함해 선택지가 무엇무엇이 있었으며
기존 선택과 비교했을때 얼만큼의 성능개선이 있었기에 라이브러리를 썼다
+ 이미 만들어진 라이브러리라고 다 잘되어있지만은 않으니 메모리 누수같은건 꼭 확인해보라.
----------------------------------
아프다...
우리 프로젝트에서, 흔히 쓰이는 범용적인걸 제외하고 프로젝트에 fit한 라이브러리는 크게 5개를 쓰고 있다.
프론트의 영상 재생에 react-player, 차트 뷰에 lightnig chart.
백의 영상 소스 수신에 yt-dlp, 채팅 json 수신에 pytchat.
데이터분석에 쓰는 ffmpeg을 파이썬상에서 쓰면서 객체로 다룰수있게 해주는 ffmpeg-python
하나하나 와 이런게있네 하면서 쓰던건데, 능력이 되는 한 놓아줄 필요가 있을 것 같다.
차트는 이미 생고생을 한 뒤에 고른 거니까 lightnig chart는 당연히 사용을 유지하겠지만, 나머지는 트라이해볼만하다.
백으로 돌아가자...
4. 시연에 쓸 영상에 대해
Q.
스트리머라는 것이 대중적인 픽보다는 취향이 맞는 일부를 노리다보니 시연때 쓸 영상이 어느정도의 대중성을 확보해야 할지 고민이 있다. 어떤 아이템이 좋을까.
A.
100만 이상의 유튜버라면 대중성은 있다고 본다. 청중을 고려했을때 슈카월드, 안될과학, 리부엉이 등등이 떠오른다.추가적으로 올림픽 개막식 같은것도 있을 수 있다. 발표장 분위기를 고려한다면 의장님이 출연한 영상이나, 정글 발표 영상을 쓰는것도 재미있을 것 같다.
----------------------------------
슈카월드부터 앞조영상찍어서쓰기까지 우리끼리 얘기할때 나온 아이디어들이 정말 그대로 다 나왔다ㅋㅋ
청중이 되실 분들과 우리의 생각이 비슷하다는걸 알았으니 우리가 생각한 아이디어들 중에서 시연이 원활하게 진행될 영상으로 고르면 될 것 같다.
5. 마무리
아이템도 괜찮고 지금까지 개발한거 보여준 결과물도 한눈에 딱 봤을때 흥미롭다. 열심히 개발하고 성능 개선에 힘쓰고 그러는 모습을 잘 보여주면 좋은 결과 있을 것 같다. 다음 멘토링은 리허설 전날이니 시연을 보고 피드백을 받고, 그때까지 남아있는 기술적 이슈들에 대한 조언을 하는 식으로 즉각적인 피드백이 되는 것들을 다루면 좋을 것 같다.
----------------------------------
그저 빛....
백으로 돌아갈때가 된 것 같다.
프론트를 시작한 이유는 백에서 만든 것에 비해 프론트에 완성된 것이 너무 적어서였기 때문인데,
지금 프론트에서 완성된 것들, 그리고 다음주까지 완성할 것들을 생각해보면 지금 백의 성능이 불만족스럽다.
데이터분석 알고리즘을 개선하는건 지양해야겠지만, 분산처리나 영상 분할같이 서버 부분에서 시공간복잡도를 줄일만한데도 미뤄두고 있는 부분들이 맘에 걸린다.
'나만의 무기 : HIGHLIGHTING > 방향잡기' 카테고리의 다른 글
팀 프로젝트 이후. (0) | 2022.03.20 |
---|---|
마무리 발표 피드백 (0) | 2022.03.05 |
중간 발표 피드백과 분석 (0) | 2022.02.21 |