GDSC Hongik DevTalk #10 후기

GDSC Hongik DevTalk #10 후기

GDSC Devalk #9 후기

지난 5월 25일 목요일, 10차 GDSC Hongik Devtalk이 진행됐다. 이번에도 역시 대단하신 분들이 잔뜩 오셔서 발표를 진행하셨다.

우당탕탕 홍맵 제작기 - 이승훈

홍맵은 홍익대학교 학생들이 학교 내에서 사용할 수 있는 지도 서비스이다. 웹 서비스로 런칭 중이다. 간단한 자료구조와 웹 서비스를 이용해서 만든 프로젝트로 보이는데, 이렇게 실생활에서 직접적으로 사용 가능한 프로젝트로 시작해보는 것은 실력을 늘리는데 아주 중요한 시도라고 생각된다.

원래는 네이버 맵 API를 사용하려고 했다는데, 문제는 네이버 맵 API는 학교 내부의 길 찾기 정보는 제공을 해주지 않다 보니깐, 직접 학교 안을 돌아다니면서 데이터를 쌓았다고 한다. 현업에서도 제일 어려운게 데이터 자체가 없다는 문제인데, 이렇게 데이터가 없는 문제를 직접 교내를 돌아다니면서 쌓았다니 열정이 대단한 것 같다. 직접 돌아다니면서 시간도 재고, 거리 등도 재서 가중치를 매겼다고 한다.

이후에 길찾기 알고리즘을 적용한 과정을 설명해주시는데, 다익스트라 알고리즘을 사용했다고 한다. 다만 의문인 점은, 학교같은 경우는 실제로 노드 수가 매우 적기에, 사실 최적화된 모든 경우의 수를 전부 계산하는 것도 가능할 것이라 보였다. 그래서 그 경로만 DB에 저장하면 되는 거 아닌가 라는 생각이 들어서, 발표 이후에 직접 질문하였는데, 실제로 DB에 저장된 건 모든 경우의 수였다. 즉 클라이언트가 요청할 때마다 계산을 수행하지는 않는다. 이러면 결국 다익스트라를 쓰든, 다른 휴리스틱 알고리즘을 사용하든 결과는 똑같은데, 발표에서는 최적화된 길찾기 알고리즘에 대해서 설명해서 혼란이 좀 있었다.

사실 심지어는 경우의 수가 워낙 적기에, 적당히 성능 좋은 컴퓨터를 통한다면, 수학적 완전해를 보장하지 않는 다익스트라보다, 그냥 브루트포스로 모든 경우의 수를 전부 다 구해서 수학적으로 완벽한 해를 유한 시간 안에 구하는 것도 가능해보인다.

그리고 또 실제 서비스를 사용해보면 아쉬운 점이, 사용하기가 불편하다. 일단 출발지와 도착지를 지도를 보고서 입력을 스스로 해야 하고, 이 메뉴가 컴퓨터 상에서는 바로 보이지 않는다. 이런 지도 서비스는 드래그나 터치 형식을 지원하는 게 더 좋아보였을텐데, 이 부분이 좀 아쉽다.

그리고 마지막으로 차라리 앱으로 출시를 했으면 어땠을까 하는 생각도 있다. 학교 내에서만 사용 가능한 건데, 굳이 웹 환경에서 접속하기가 쉽지는 않아 보인다.

하지만 괜찮게 보는 것도 하나 있는데, 기능 개선을 꾸준히 하고 있는 것으로 보인다. 옛날에 보았을 때에는 단순히 길찾기 기능만 있었던 것으로 기억하는데, 이제는 동아리 리스트 등을 보는 것도 지원하는 것 같다.

그런데 내 접속 환경이 불안정해서 그런건지는 모르겠는데, 느리다. 동아리 리스트에서 사진이 뜨는 속도도 느리고, 전반적인 서비스 환경이 느리다. 이게 데이터베이스 인덱싱을 잘못해서 그런 것일 수도 있고, 이용하는 웹 서비스 자체가 그냥 느린 것일 수도 있는데, 이 부분이 사용하기가 꽤 불편할 정도로 아쉽다.

그리고 여기도 UI가 문제가 있는데, 오른쪽 팝업 형태로 뜬 포스터가 한 번에 보이지 않고, 밑에 설명을 보려면 스크롤을 해야 한다. 내 생각에 모바일 화면은 또 다를 것 같은데, 아무튼 무엇인가 불편함이 여러 군데 산재해있다.

하지만 반대로 말하면 이러한 점들을 개선한다면, 프로젝트의 완성도가 크게 상승할 것 같다. 지금도 꾸준히 기능 개선이 이루어지고 있는 것으로 보여서, UI랑 성능만 조금 더 개선이 된다면 실제로 이용자 수를 확보하는데 있어 큰 문제는 없을 것 같다. 다만 한 가지 의문이었던 것은 보통 이런 프로젝트는 깃허브를 통해서 코드 공개를 해놓는데, 코드 개선을 하고서 공개를 할 예정이라고 설명했다. 깃허브를 공개했다면, 외부로부터 PR 등을 받아서 기능을 개선하거나 성능을 개선하거나, UI 등을 개선받는 등의 시도를 할 수가 있었을텐데, 사실 팀의 결정이기는 하겠지만 아쉬운 결정이기는 하다.

하지만 서비스가 꾸준히 개선된다면, 발표자 분에게 있어서 큰 성장 역량으로 작용할 것이다. 직접 데이터를 얻기 위해 교내를 3일 간 돌아다니며 측정했다고도 말했고, 실제로 기능 개선의 여지가 많은 서비스이기도 하다.


 

2023년 8월 7일 추가.

지금 다시 생각나서 접속해봤는데, 사이트가 내려가 있다 ㅠㅠ 😢😢 대학생들이 만든 프로젝트인만큼 서비스 이용객의 수가 많지 않았나보다. 그래도 더 개선이 됐으면 좋았을 것 같은데 아쉬울 따름이다.

 

왜 백엔드 하시나요 - 안재현

GDSC Hongik의 회장님이신 안재현 님의 발표였다. 백엔드를 배우고자 하는 학생들에게 전하는 메시지이다. 개인적으로 나는 현재는 플러터를 배우고 쓰고 있고, 현재 진행하고 있는 프로젝트 역시 플러터로 앱 개발을 진행하려는 중이다. 그럼에도 불구하고 웹 베이스가 아예 없는 것은 말이 안 된다고 생각해서, 꼭 백엔드를 어느 정도 딥하게 배울 생각이 있다. 그래서 관심이 갔다.

한 가지 공감하면서도 또 이견을 표하는 바는, 이것 저것 찍먹하는 것에 대한 의견이었다. 발표에서는 이것 저것 체험해볼 때의 매몰 비용을 고려해야 한다고 말했다. 이 매몰 비용을 감수하고서 실제로 여러 경험을 했고, 그 경험을 바탕으로 자신에게 제일 잘 맞는 선택지를 골라서 파고 들어도, 막상 파고 들었을 때 이를 열심히 하는 것은 또 별개의 문제라서, 안 맞을 수도 있다고 설명한다.

여기에는 내 개인적인 경험이 있다. 나는 1학년 때 블록체인 동아리 HIBL을 운영하면서, 짧다면 짧고 길다면 긴 시간을 블록체인에 투자하였다. 그러나 현재는 블록체인에 발을 뺀 상태이다. 분명히 블록체인을 하면서 생긴 비용은, 이 시간에 다른 공부를 할 수 있었을 것이란 기회 비용을 가져온다. 예를 들어 블록체인을 공부한 시간 동안 백엔드 등 다른 분야를 공부했더라면, 더 도움이 되었을지도 모른다.

그럼에도 불구하고 나는 아쉬움은 있어도 후회가 되지는 않는다. 이 경험을 통해 블록체인이라는 새로운 분야에 대한 프로젝트를 경험해보았고, 세상에는 웹과 모바일 개발만 있는 것이 아닌 새로운 분야의 종사하는 개발자도 있음을 확인하였다. 또한 개발 외적으로, 동아리를 운영하고 여기에 집중 투자하면서 생긴 나의 운영 노하우, 업무 능력은 다른 곳에서는 결코 쉽게 얻을 수 없는 중요한 자산이었다. 더 나아가서 그곳에서 얻게 된 인맥은, 세상에 이렇게나 열심히 사는 사람들이 많구나 하는 것을 깨닫게 되면서 나를 더 성장시켰다.

이런 깨달음과 성장력은 결코 한정적이고 단편적인 경험으로부터는 얻지 못 한다고 생각한다. 냉정하게 말해서, 주위를 돌아보았을 때, 언제나 어느 분야에 실력이 좋은 사람들은, 대부분 그 분야에 외골수 길을 걸은 고인물이 아니라, 다른 분야 역시 어느 정도 이상 잘 하는 인재들인 경우가 많았다. 또한 일을 잘하는 사람들 - _자신이 무엇을, 어떤 일을 해야 하는 지 스스로 알고, 그 일을 깔끔하게 처리하는 사람들_은 대부분 다양한 경험을 쌓은 사람들이 많았다. 오히려 시간이 많은 사람들은 그 시간을 활용하지 못 하는 경우가 대부분이었다.

또한 이러한 사람들을 많이 만나려면 결국 다양한 곳에 돌아다니면서 사람들을 만나야 한다. 물론 나 역시도 열심히 배우고, 일을 잘 하는 사람이 되어야 하는 것은 물론이고. 그리고 여러 다양한 활동에 대한 경험이 많아야 하는 것도 있다.

그래서 이 여러가지 찍먹에 대한 비용이 크다는 것에는 동의하지만, 난 이 경험이 가져다 줄 이익이 더 클 것임을 믿고, 2학년 때까지는 정말 다양한 경험들을 만들어가보려고 한다.

한편, 재현 님께서는 스프링을 배우며 이것이 정말 객체지향적으로 잘 설계된 프레임워크임을 알고서, 재미를 느꼈다고 한다. 확실히 자바라는 언어가 객체지향의 이론을 발전시키는데 정말 중요한 역할을 한 만큼, 스프링 역시 객체지향적 설계와 사고를 이해하는데 있어 가장 중요한 프레임워크라는 것이 느껴진다.

하지만 난 자바 배우기 귀찮으니깐 장고 배울 것이다. 사실 군대가려면 무조건 스프링 배워야 하는데, 배우기 귀찮고 싫다. 사실 군대 생각하면 플러터니 Go 언어니 C++이니 하고 있을 때가 아니긴 하다. 하지만 그냥 나 배우고 싶은 거 배울랜다. 그리고 나중에 일단 장고 먼저 배운 다음에, 군대 가기 전에 스프링을 배워야겠다는 생각은 갖고 있지만... 배울 수 있을까..?

그와 별개로, 개인적으로 웹은 정말 필수적인 것 같다. 이건 웹쪽으로 갈 생각이 없어도, 웹은 알아두어야 하는 것 같다. 왜냐하면 이제는 모든 표준이 웹으로 통하기 때문이다. 심지어 테슬라 자동차는 인터페이스가 디지털로 되어 있는데, 이 UI 역시 다름이 아니라, JS 기반의, 테슬라에서 특수 제작한 웹 기반의 시스템으로 되어 있다고 한다. 예전이였으면 자동차 디스플레이 인터페이스같은 곳에 JS가 쓰이는 것은 그리 흔한 일이 아니었을 것이다. 그러나 이제는 정말 모든 게 웹으로 통하는 것 같다. 그리고 그 웹의 가장 핵심은 백엔드이고.

JetBrain은 매년 개발자 관련된 통계를 집계해서 공개하는데, 지난 2022년 개발자 에코시스템 현황을 보면 무려 75%의 코딩 커뮤니티가 웹 개발에 참여하고 있고, 백엔드 웹 개발에 참여하는 비율은 66%이라고 한다. 정말 온 세상이 백엔드이다.

이제 웹 개발을 진로로 하든 말든, 그리고 백엔드를 진로로 하든 말든, 백엔드의 기초는 필수인 것 같다는 생각이 든다.

부딪히면서 성장하기 - 한혜원

GDSC AIML 코어이신 한혜원 님의 발표였다. 사실 난 AIML 멤버였지만 워낙 흥미를 느끼지 못 했고, 같이 하시는 분들의 벽과 격차가 너무 커서 그냥 빠져나온 케이스이다. 하지만 그 짧은 기간 동안 다른 분들이 워낙 대단하시다는 것은 알고 있었지만... 상상 이상으로 더 대단했다!

학부생이신데 SCI 급 논문을 두 편 이상 작성하셨다니, 이게 진짜 말이 되는가... 최소한 석사 이상, 박사 과정이라고 해도 이상하지 않을 것 같은데, 이걸 학부생 때 달성하다니...

학부생 때 SCI 급 논문 두 편을 포함해서 총 논문을 4편을 쓰셨다는데, 그 중에 한 논문은 GDSC AIML의 다른 멤버 분과 함께 둘이서 작성해서 퍼블리시가 됐다고 했다. 잔뜩 다른 세계이다!

하지만 이는 발표 외적인 내용이고, 발표 내적인 메시지 역시 중요했다. 부딪히면서 성장하기, 즉 맨 땅에 헤딩하는 법에 대해서 이야기하시는데, 소극적으로 아무것도 안 하는 것보다 적극적으로, 일단 해보는 용기가 얼마나 중요한 지를 설명해주셨다.

그와 함께 여러 실용적인 내용의 팁들도 알려주셨다. ChatGPT는 물론이고, 요새 내가 정말 애용하고 있는 deepL도 있었다. 메시지로나 실무적으로나 도움이 많이 되는 발표였다!

깊이있는 실험으로 끝까지 파고들기 - 이유진

이유진 SSG.COM Vision AI Enginner, Naver AI Boostcamp 4-5기 Mentor 님의 키노트 강연이였다. 주로 AI 분야에 대한 이야기를 하셨다. 한 가지 분명한 것은 정말 열정이 넘치시는 분이라고 생각했다. 자신이 해온 분야인 AI 분야를 정말 사랑하고 계시다는 것, 열정이 넘치는 것이 느껴졌고, 애정하는 분야에 종사하고 계시다는 것이 느껴졌다.

확실히 인공지능 쪽을 공부하시는 분들에게는 큰 도움이 되었을 것 같다. 이유진 님은 학사 출신이라고 하셨는데, 인공지능을 하려면 최소한 석사 이상이여야 한다는 세간의 인식을 깨고서 학사라는 타이틀로 쟁쟁한 석사 이상 분들과의 경쟁을 이기고 계시다는 것이 대단하다고 생각했다. 그리고 이 경쟁에서 이길 수 있는 비결로 연구 역량을 키우는데 집중하셨다고 설명하셨다.

발표에서는 연구 역량은 특히나 중요하다고 설명한다. 연구 역량은 어떤 문제를 해결하기 위해 논리적으로 생각을 전개해가는 과정을 포함한다. 연구실에서는 실험을 하기에, 석사 이상을 단 사람들이 보통 일을 논리적으로 한다고 알려져 있는데, 이 부분이 바로 연구실에서 자연스레 성장된 연구 역량이라는 생각이 들었다. 학사 과정에서는 연구 역량을 자연스레 기르기는 쉽지 않기에(보통 학부생 때 연구를 직접적으로 하지는 않으니깐) 직접적으로 의식해서 연구 역량을 길러야 한다는 게 발표의 주된 내용이었다.

여기서는 대회를 예로 드셨다. 보통 학부생 때 AI 관련되서 참여할 수 있는 기회가 학부 연구생, 대회, 프로젝트, 동아리 등이 있는데, 이중 자소서도 필요 없고 가장 쉽게 참여할 수 있는 것이 대회라고 설명한다. 이때 중요한 것은, 대회에서 단순히 리더 보드에 매몰되어 순위를 올리는 것이 아니라, 철저한 후분석과 논리적인 실험 전개 과정을 통해 연구 역량을 길러야 한다는 것이다.

주목해야 할 점은, 대회의 평가 지수를 단순히 받아들이지 말고, 이 자체에 대해서 고민해야 한다는 대목이다. 보통 대회는 평가를 하기 위해서 이 평가 지수, 즉 메트릭(Metric)이 하나 정도로 단순화되어 있고, 정량화되어 있다. 그리고 대회에 참여하는 사람들은 쉽게 오직 이 메트릭에 집중되어서, 순위를 올리기 위해서 오직 이 메트릭에 만족하는 전개 과정을 밟는다.

그러나 현실과 실무는 그렇지 않다. 실제로는 정말 다양한 평가 기준을 두고 결과를 평가한다. 단순히 모델의 완성도, 단편적인 기준에 의한 결과만을 해석하지 않고, 다양한 정량적, 정성적인 평가 기준을 두고서 결과를 해석한다. 그렇기 때문에 실무에서는 이러한 평가 지표 자체에 대해서도 고민을 하게 되고, 이것이 미리 단편적인 평가 지표를 정해주는 대회와는 다른 점이다.

또한 후분석 역시 중요하다. 논리적인 사고의 전개 과정 끝에 나온 해결 아이디어를 수행하고, 이 아이디어가 가진 한계와 개선점 등을 후분석해서 알아낸다면, 단순히 대회를 위한 학습 경험이 아닌 온전히 자신만의 역량으로 삼을 수 있어 보인다.

강연자 분께서 실제 예시를 들며 정말 열정적으로 설명하셨다. 내가 AI 쪽에는 정말 관심이 없어서 어려운 용어들은 못 알아들었지만, 전체적으로 어떻게 사고를 전개해야 하는 지 그 인사이트를 얻을 수 있어서 큰 도움이 됐다. 겉핥기로만 들어도 이정도인데 실제 인공지능 하시는 분들에게는 얼마나 좋을까.

결론 및 종합 후기

데브톡에 올 때마다 항상 대단한 사람들이 많구나를 느낀다. GDSC의 수장님도 그렇고, 학부생 때 SCI 급 논문도 그렇고(그것도 두 편이나...), 열정이 절로 느껴지는 키노트 연사 분도 그렇고. 인사이트가 넓어지는 느낌이다!