14 min read

2023년 회고

카페 구석에 조용히 앉아 2023년을 돌아보며 한 해를 정리해봤다. 개인 생활과 회사 업무 중에서 특히 기억에 남는 세 가지를 적어보기로 했다.
2023년 회고
Photo by Kajetan Sumila / Unsplash

2023년 회고를 작성하면서. 2022년 회고를 참고 하려했는데 2022년 회고가 없다. 곰곰이 작년에 어떤것들을 했는지 돌아 봤다. 생각보다 기억에 남는것들이 없고, 드문드문 있을 뿐이다. 정리된게 없으니 시간 감각도 같이 사라진것 같다. 이래서 회고는 꾸준히 작성을 해야하는것 같다.

원래 작성하기 전에 다른 사람들이 작성한 회고를 많이 본다. 하지만 올해는 이 글을 다 작성하고 보기로 했다. 다른 사람들이 갓생을 살면서 잘쓴 글을 보면 배가 아프기 때문이다.

올해는 개인적으로도 회사에서도 많은 사건 사고가 발생했는데 특히 회사가 문제가 너무 많이 터졌다. 공개적으로 얘기하지는 않겠지만 올 한해 마가 낀 게 분명하다. 입사할 때만 해도 괜찮았던 거 같은데 겉만 그랬나 보다... 사실 회사 밑바닥까지 까 봐야 입을 열 수 있다. 하지만 사실 나는 일 하는 것 외에는 크게 관심이 없고, 회사 사람들과 다 두루 친해서 적이 따로 없다. 그런데 회사에서 회식혹은 사적인 자리에서 회사에서 ~일이 일어나고 있어, 하면서 들려올 때마다 머리가 아프다. 지금 시점에서는 해결되었지만 그때 사내 분위기는 좋지 않았다.

회사 2023 회고

회사에서 올해 다양한 일이 있었는데 그중 가장 기억에 크게 남았던 일을 3개 뽑아서 작성했다.

  • Native Android/iOS 를 Flutter로 전환
  • Flutter FFi 를 이용한 OpenCV 처리
  • 열심히 개발한 프로젝트가 사라지다

Native Android/iOS 를 Flutter로 전환

작년말부터 올해 초까지, 기존에 Native Android/iOS로 작성된 앱을 Flutter로 전환하는 작업을 담당했다. 앱의 발전과 지속적인 유지 보수를 위해서는 뛰어난 개발자가 필요한데, 현재 시장에서는 Native 개발자를 구하는 것이 현실적으로 어려워졌기 때문에 Flutter로의 전환을 선택했다. 이 전환 작업을 통해 기존 앱보다 작업의 효율의 개선을 통해 빠르게 사용자 경험을 향상시키는 것은 물론, 향후 유지 보수 및 새로운 기능 추가에 있어서도 효율적인 개발이 가능할 것으로 기대했다.

쉽게 쉽게 진행될 줄 알았던 일은 다양한 이슈들 때문에 아슬아슬하게 완료했다... 특히 사내에 API 문서와 Postman/Swagger 등이 없었다. Notion에는 철 지난 개발 문서만 있는 상황에서 개발을 진행해야 했기 때문에 백엔드 개발자들에게 물어보면서 직접 API 호출을 통해 하나하나 확인해야 했다.

하지만 털렸쥬?

전환하면서 느낀점은, 역시 구조를 알고 있어도 전체를 옮기는 작업은 쉽지 않은것 같다.

나는 앱 내의 게임을 플레이 하는 부분을 담당한다. 다른 부분은 동료 개발자가 작업을 진행했다. 여러 고생을 했는데 특히 Flutter 내의 웹뷰 성능이 아주 후져서 최적화하기 위해 온갖 고생을 다 한것 같다. 2024년으로 넘어가는 지금 이 순간에도 게임 부분을 최적화 하기 위해서 다양한 방법을 모색하고 있다.

우리 앱은 사용자가 작성한 HTML 내용을 앱 내에서 보여줘야 하는데. 현재 확인되는 이슈 들은 다음과 같다.

해당 부분들을 해결하기 위한 다양한 고민 들은 다른 글을 작성하는 것으로 풀어야 겠다. 내용이 너무 많고, 회고 에도 어울리지 않는것 같다.

  • WebView 렌더링 속도 이슈
  • WebView 높이 지정 이슈
  • Android 내 렌더링 시 Memory 이슈

현재 웹뷰를 최적화 하기위해서 기존에 있는 구조를 싹 갈아업는 작업을 진행중이다. 이렇게 까지 해야하는가 싶지만 실제 사용자의 눈에 보이는 결과물의 퀄리티 수준이 다르다. 회사 내에서 시간이 날 때마다 이 부분을 보고 있다.

Flutter FFi 를 이용한 OpenCV 처리

직접 구현한 기능이 사용자의 손에서 잘 동작하는것을 보면 '이맛으로 개발자 하지' 라는 생각이 든다. 실제 개발한 기능을 사실 직접 볼 기회가 많지 않은데 좋은 기회로 회사에서 진행한 행사에서 해당 기술이 들어간 미니게임을 플레이하는것을 볼 수 있는 기회가 있었다.

💎 보물찾기로 지역공간을 되살리다! 리얼트레저페스티벌 경기도청 구청사편
경기도청 구청사로 몰려든 3040명의 참가자, 세계최대 규모의 보물찾기대회 '리얼트레저페스티벌&#x27…
보물찾기로 지역공간을 되살리다! 리얼트레저페스티벌 경기도청 구청사편

회사 내에서 등록된 이미지와 실제 장소의 일치 정도를 측정하는 새로운 기술 개발이 추가로 필요했다. 기존에 사용하고 있는 AR(증강이미지) 과는 다른 기술이 필요했던 것이다. 자료 조사를 통해 이미지를 비교하는 Dart로 구현된 image_compare 패키지를 사용할 수 있었다. PoC를 통해 적용 가능한지 확인해보았다. 하지만 속도가 지나치게 느려서 사용할 수 없는 수준이었다. Isolate를 활용하여 데이터를 쪼개서 처리하는 시도를 했지만, 여전히 속도 문제가 있어서, 결국 직접 구현하기로 했다.

이전 회사에서도 비슷한 경험을 했기 때문에, 외부 오픈소스와 글들을 참고했다. 제일 접근하기 쉬운 OpenCV를 활용하기로 하였다. 이미지 처리에서 다양한 기능을 포함하고 있는 FFi를 통한 Native OpenCV 처리는 Dart로 구현된 라이브러리보다 빠른 성능을 기대할 수 있었다.

프로젝트 진행 중에는 Dart보다는 C++을 더 많이 다뤘다. 특히 RGBA 데이터부터 YUV422, JPEG 이미지 포맷을 많이 보았고, iOS에서 C++ 라이브러리를 읽지 못해서 발생한 빌드 이슈 등 모바일 개발에서 일반적이지 않은 다양한 문제들을 해결했다.
특히 이미지 처리를 위해 오랜만에 포인터를 직접 다루며 많은 것을 배울 수 있는 프로젝트였다. 전반적으로 어려운 이슈들을 해결하며 프로젝트에 대한 심도 있는 이해를 얻을 수 있었다.

열심히 개발한 프로젝트가 사라지다

이전 회사에서도 이런 일이 꽤 빈번해서 괜찮다고 생각했는데 아쉬움이 크다.

https://unsplash.com/ko/@tompumford

약 3~4개월 정도 진행한 프로젝트가 사라지고, 웹뷰로 변경되었다.

회사 내 콘텐츠 저작 툴을 기존보다 발전시켜, 크리에이터와 플레이어 모두에게 더 좋은 경험을 위해서 진행된 프로젝트다. 회사 내 저작 툴로 만들어진 콘텐츠 내용물이 웹과 앱 모두에서 동일하게 보이게 하고, 기존 콘텐츠를 플레이하는 부분에서 다양한 시도를 할 수 있었다.

특히 앱 내에서 동작하는 간단한 기능들(클릭, 변수 저장 및 활용)을 위한 내부 로직을 사용하기 위해 다양한 테스트 코드를 작성해 볼 수 있었고, 더 복잡한 로직도 빠르게 처리할 수 있도록 다양한 고민을 해볼 수 있었던 것 같다.

결국 웹과 앱의 차이를 좁히지 못하고, 다양한 문제가 있었기 때문에 빠르게 반영할 수 있는 웹뷰로 결국 대체되었다.

개인 2023 회고

개인적으로는 올해는 나를 위해서 많이 보낸 것 같다. 작년까지만 해도 자격증과 시험 같은 것에 시간을 투자 했는데 올해는 책도 좀 읽고, 운동도 많이 했다.

  • 운동 1년 이상 꾸준히 진행중
  • 전세 이사
  • 일본 3번 감

운동

꾸준히 주 3일 이상 운동을 했다. 혼자 했으면 절대 못했을 짓인데 회사에 마음이 맞는 사람들과 출근 전 운동을 하는 행위가 익숙해졌다. 물론 그냥 하면 또 나오지 않을 사람이 있으니 아래같은 규칙을 정했었다.

  1. 수요일 무조건 나오기
  2. 휴일, 휴가 제외 3일 나오기
  3. 위 사항 미준수시 점심 사기

이 정도로 안 하면 마음이 해이해져 안 나오게 된다. 꾸준히 다 같이 나올 경우에는 회식을 하기도 한다. 운동을 나오는 것이 목적이고, 식단 등은 하지 않고 있다. 그래서 최근 몸무게를 보니 작년 바디프로필을 찍었을 때 보다 약 11kg이 증가했다...

시작할 때만 해도 약간 날씬했는데...

전세 이사

월세에서 전세로 갔다.. 그런데 전세 계약하자 마자 주변에서 전세 사기가 쏟아져 나고있다. 내 친한 친구도 전세사기를 당해 현재 고소하고, 경찰서도 왔다 갔다 하고 있다. 일단 신림에 친해진 부동산 형이 소개 시켜준 전세에서 현재 살고 있는데... 열심히 기도중이다. 최근 확인해 봤을때도 크게 문제가 있어 보이진 않았다.

장점은 있다. 맨날 집에 오면 침대와 책상 말고는 있을곳이 없었는데 드디어 앞구르기 두번할 정도는 되는 집으로 옮겨갔다. 제일 좋은건 음식 하는 공간과 침대를 분리 했다는 점이다. 요리해 먹고 자면 냄새가 그대로 났는데 분리되어있으니 그럴 걱정은 없는것 같다.

개인적인 공간이라 그냥 그림으로...

이전에 월세 살때 창고 비슷한 공간이 있어서 짐이 많이 늘어 났었는데 그거 때문에  이사 하기가 참 힘들었다. 안보이는 공간에 계속해서 쌓이던 짐들이 이사할때 그대로 방안에 들어가버려서 업체를 이용해서 정리를 부탁드렸다. 역시 전문가는 다르다.

짐 보관 서비스를 처음으로 사용해 보았다. 생각보다 짐이 많고 사용하지 않는 짐들이 있어서 장기간 보관할 공간을 찾다가 아래 서비스를 이용하게 되었다.

https://matazoo.net/

그냥 월세 한달 정도 더 낸다고 생각하고, 사용하는 중이다.

일본 여행 3번

  • 1월/ 2박 3일 - 회사 동료들과
  • 6월/ 4박 5일 - 회사 동료와
  • 11월 / 1박 2일 - 회사 동료들과

1번은 회사에서 인사이트트립 으로 간 거라 여행이라 부르기 어렵지만 아무튼, 외국을 올해 3번이나 가게 되었다. 비행기도 학교에서 가보고난 이후로 처음으로 공항에 가서 짐도 맡기고, 지하철과 숙소를 예약하는 과정을 보고 진행해 보았다. 역시 사람은 여행을 가봐야 시각이 달라진다는 것을 알 수 있는 한 해였다. 일본만 갔을 뿐인데도 국내 여행을 갔을 때와는 다른 느낌과 문화를 즐길 수 있어서 좋았다.

의사소통이 어려울 것이라 생각했는데 역시 파파고로 대화하면 다 된다. 간단한 거야 영어로 하면 되는데 나도 못하고, 상대도 못 하기 때문에 간단한 단어만 주고받는 정도만 해도 크게 불편함이 없었다.

오사카는... 그냥 메뉴판부터 한국인 직원이 있어서 순간 이태원에 온 것 같은 느낌이었다.

정리

이 회고 에는 다 못한 이야기들이 있는데 사실 개인적으로는 2023년 꾸준히 (감정적인)일기를 작성하고 있어서(욕이 첨부된) 기회가 되면 다른 회고 형태로 풀려고 생각중이다.

그래도 올해 많은 경험을 할 수 있었고, 나에게 집중해서 보상을 많이 주는 해 라고 정리할 수 있을것 같다. 책도 읽었다고 위에서 언급 했는데 작성하면서 읽은 책을 보니 대부분 60% 정도만 읽고 방치한 책이 대부분이다. 밀리의 서재 등 구독형 서비스를 이용해서 책을 보고 있는데 스팀 게임 모으는것 마냥 재미있어 보이는 책을 다 저장해두고, 맛만 보고 끝을 보지 않고 있다...