주요 내용으로 이동하기

2023년 돌아보기

2023년 회고: 바쁘다 바빠 빠르다 빨라

개요

2023년은 이미 한참 지나버리고, 벌써 2024년 1월의 끝이 보일락 말락 하고 있습니다.

한 해를 돌아보기에는 너무 늦은 시간인 것 같기는 하지만, 2022년 12월의 빅 이벤트였던 전역이 끝난 뒤 새로운 기분으로 시작한 저의 2023년은 어땠는지 정리해 보려고 합니다.

2023년에 가장 많이 들은 앨범과 함께 구구절절 이야기를 시작해 보겠습니다.

복학

2년 동안의 군 휴학 후 학교로 돌아왔습니다. 계절학기까지 총 13개의 과목을 수강했고, 운 좋게도 휴학 전에는 받아보지 못했던 좋은 성적을 받아보기도 했습니다.

컴퓨터학과 이중 전공은 하지 않게(할 수 없게) 되었지만, 소프트웨어 관련 융합 전공을 통해 어찌저찌 공대생이 되었습니다. 어렸을 때부터 가졌던 컴퓨터에서 굴러가는 무언가를 만드는 일에 대한 관심이 대학에서는 이런 방향으로 귀결되는 것 같습니다.

아르바이트

1월부터 8월까지 집 근처 영어 학원에서 보조 강사로 일했습니다.

뉴스에서 중·고등학생들에 대한 엽기적인 소식을 너무 많이 접해서 약간 걱정했는데, 전혀 쓸모없는 걱정이었습니다. 학교에 더 집중하고 싶어서 그만두었지만, 좋은 기회가 있다면 또 일하고 싶은 생각이 있습니다.

KUCC

학교 컴퓨터 중앙동아리인 KUCC에서 2학기부터 활동하기 시작했습니다. 4년 만에 MT도 가 보고, 채널톡 견학을 비롯한 이런저런 행사를 통해 만난 분들과 감사하게도 좋은 시간을 보낼 수 있었습니다.

주변 어른들이 대학교에서 동아리를 꼭 해보라는 조언을 많이 해 주셨는데, 역시 어른들의 말은 들어서 나쁠 게 별로 없습니다.

KUCheck 기능 개선

동아리 내부 활동 신청 및 관리를 위한 웹 서비스인 KUCheck의 기능을 개선하는 프로젝트에 참여하였습니다.

구체적으로는 공동 팀장 기능을 개발했습니다. NoSQL 데이터베이스인 Firebase의 Firestore를 사용하는 만큼, 사용자가 탈퇴하거나 팀에서 나가는 등 변동 사항이 발생하면 관련된 모든 팀 정보와 세션 정보를 업데이트해야 한다는 점 때문에 살짝 애를 먹었습니다.

쿠씨톤 참여 및 수상

종강이라는 주제로 진행된 KUCC 내부 해커톤에서 팀원 2명과 함께 내 종강을 지켜줘라는 서비스를 개발하여 대상을 수상하였습니다. (GitHub 레포지토리)

상대방의 프로필에 익명 메시지를 남기고, 종강 날이 되면 작성자의 이름이 공개되는 간단한 컨셉의 웹 앱입니다.

첫 해커톤이어서 헤매는 부분도 많았고 초기에 “내가 n시간 안에 이걸 다 만들 수 있을까???”하는 걱정 때문에 멘탈도 살짝 나가 있었지만, 팀원분들과 멘토님들이 함께해주신 덕분에 꽤 괜찮은 수준으로 완성해서 발표하고 시연할 수 있었습니다.

해커톤을 통해 처음으로 사용해 본 Supabase는 찍어 먹어 보기만 해 본 정도였지만 Firebase의 좋은 대체재라는 생각이 들었습니다. 이후 다른 사이드 프로젝트에 사용하고 싶은 생각이 매우 있습니다. 어쩌면 KUCheck 기능 개선 프로젝트에 참여하면서 NoSQL에 데였다고 생각했는지도 모르겠습니다.

프로젝트

과제로, 팀플로, 동아리 활동으로, 혹은 사이드 프로젝트로 몇 가지를 만들고 다듬었습니다.

Mastoplace

마스토플레이스(Mastoplace)는 마스토돈 글에 인스타그램처럼 위치를 태그하고 싶다는 생각에서 시작된 사이드 프로젝트입니다.

Next.js와 masto.js 덕분에 개발에 있어서 많은 시간을 절약할 수 있었습니다. 하지만, masto.js 라이브러리를 계속 사용하는 것에 대해서는 많이 고민하고 있습니다. 비록 이름은 마스토플레이스이지만, Misskey를 비롯한 ActivityPub 위에서 작동하는 다양한 서비스를 앞으로 더 지원하고 싶은 생각이 있기 때문입니다.

데이터베이스는 PlanetScale Hobby 티어 위에서 굴러가고 있습니다.

Mastoplace를 개발하면서 제대로 된(제대로 된 것 맞죠?) 백엔드를 구성하는 경험과 서버가 제공한 내용에 따라 동적으로 데이터를 보여주는 프론트엔드를 디자인하는 경험 둘 다 처음으로 해 보았습니다. 그 때문에 약간씩 삐걱거리는 부분도 있고, 코드도 지금 보면 썩 마음에 들지 않지만, 커뮤니티 내에서 많은 반응도 있었고 마음에 들어 해주시는 분들도 있어서 가장 애정이 가는 프로젝트입니다.

역시 보일러 플레이트가 있어야…

KUCC 해커톤에서 서비스를 발표할 때, UI 컴포넌트를 직접 디자인한 것이냐는 질문에, 예전에 했었던 사이드 프로젝트에서 따왔다는 답변을 들은 멘토 중 한 분이 말하신 내용입니다.

이처럼 Mastoplace를 만들며 Tailwind CSS로 직접 제작한 각종 UI 컴포넌트는 이후 수많은 과제와 사이드 프로젝트에서 비슷한 모습으로 재사용되고 있습니다. 2024년에는 이 UI 요소들을 패키지로 배포해 볼까 싶은 생각이 있습니다…

혹시 개발 이야기가 재미가 없나요…? 조금만 더 읽으면 여행 이야기도 나옵니다.

일한시간

일한시간은 캘린더 파일의 내용을 바탕으로 일정을 분석해 주는 SPA입니다. (근데 이제 페이지가 말 그대로 단 하나만 있는…)

글 초반에 언급한 학원 아르바이트는 출퇴근 시간이 유동적인 편이라, 학원에 있는 일지에 기록한 시각을 바탕으로 분급을 통해 계산한 월급을 받았습니다. 월급날에 들어온 돈과 실제로 받아야 하는 돈이 일치하는지 더 손쉽고 정확하게 확인하고 싶어서 사이드 프로젝트로 개발하게 되었습니다.

특정 기간을 선택하면, 해당 기간 안에 같은 이름의 일정이 몇 번 있는지, 해당 일정에 사용된 시간은 총 얼마인지 계산할 수 있습니다. 시급을 입력하면 분급을 바탕으로 3.3%를 제한 금액까지 표시하도록 추후 업데이트하려고 합니다.

퇴근할 때마다 휴대폰 캘린더 앱에 출퇴근 시간을 기록하고, 월급날에 캘린더 파일을 내보내기하여 일한시간으로 드래그 앤 드롭하면 결과를 바로 확인할 수 있습니다.

반복되는 것으로 지정된 일정을 다루기가 까다로울 것 같아서 걱정했었는데, ical-expander 라이브러리 덕분에 전혀 무리 없이 개발할 수 있었습니다. 해당 라이브러리는 마지막 업데이트도 3년 전이고 사용하는 사람도 엄청 많지는 않은 것 같지만, 큰 도움이 되었습니다.

MoveMate

MoveMate는 창업 과목에서 팀 프로젝트를 하며 기획 및 디자인한 서비스입니다. 저는 기획 일부와 발표 자료 및 UI의 디자인을 맡았습니다.

#오운완이라는 형식의 운동 기록 콘텐츠를 바탕으로 운동·헬스 커뮤니티를 구축하는 것을 시작으로 하여 커머스·헬스장 연계 등의 서비스로 확장하는 것이 프로젝트의 목표였습니다.

같은 조였던 어떤 분에 의해 다음 학기 다른 과목에서 비슷한 아이디어를 재탕하신 발표 자료에 당시 제가 디자인한 UI가 복붙된 채로 등장한 것을 목격했지만 제가 따로 먼저 말하지는 않았습니다 ^^; 그냥 그 정도로 디자인할 사람이 없었나 싶습니다. 제발 그러지 마세요.

도손트

도손트 역시 창업 과목에서 팀 프로젝트를 하며 MVP 개발까지 완료되었던 관광지 동선 추천 및 오디오 가이드 서비스입니다. 저는 기획 일부와 MVP 웹 버전의 프론트엔드 개발을 맡았습니다.

놀랍게도 git과 GitHub을 통한 협업을 이 프로젝트를 진행하며 처음 하게 되었는데(무언가 추가하는 PR은 남겨본 적이 있어도 남의 코드를 바꾸고 지우는 PR은 작성해 본 적이 없었으니까요.), 팀의 다른 개발자분께서 협업에 적용되는 관례나 best practice와 관련하여 많이 도움을 주신 덕분에 MVP까지 완성할 수 있었습니다.

일기 앱

HCI 관련 과목을 수강하며, 사용자 조사 → 기획 → UI 디자인 → 개발의 과정을 거쳐 만들어진 과제입니다. (링크)

대단한 프론트엔드 개발이라기보다는 Figma와 Tailwind CSS 연습에 더 가까운 프로젝트였지만, 덕분에 Tailwind CSS로 복잡한 레이아웃 짜는 일이 이제 무섭지 않게 되었습니다(저한테는 복잡해요…). 레이아웃은 Gmail과 Google Drive의 디자인을 많이 참고하였습니다.

Figma의 오토 레이아웃과 Constraints 기능은 역시 강력하다는 것을 다시 한번 느꼈습니다. 제가 애정하는 Sketch는 예전의 입지를 되찾을 수 있을까요…?

토스의 Slash 라이브러리 중 @toss/hangul 덕분에 간단한 인라인 검색을 한국어 항목에 더욱 적절한 방식으로 구현하기 용이했습니다. 토스 최고.

AI를 거쳐 응답을 제공하는 서버가 있거나 그러한 서버가 있는 것처럼 디자인하면 가산점이 있었기에 본문의 단어를 무작위로 뽑아서 태그로 넣어주도록 했습니다. 실제로 AI 백엔드를 만든 사람이 얼마나 될지는 모르겠습니다.

Ice Cubes 번역

오픈소스 iOS/iPadOS/macOS/visionOS 마스토돈 클라이언트인 Ice Cubes (아이스큐브)의 한국어 번역을 했습니다. 업데이트가 자주 되는 앱인 만큼 2024년이 된 지금도 꾸준히 하고 있습니다.

mastodon.social 서버에 올라오는 글의 수를 기준으로 iOS 마스토돈 클라이언트 3위를 차지하고 있는 앱인 만큼 마스토돈을 처음 시작하는 한국어 사용자에게 제 번역이 많은 도움이 되었으리라 기대해 봅니다.

지난 2022년 회고에서는 다른 iOS 마스토돈 클라이언트인 Mastoot을 무려 올해의 앱으로 소개했는데, 아쉽게도 2023년에 업데이트가 2번밖에 이루어지지 않았기 때문에 메인 마스토돈 앱을 갈아탈 수밖에 없었습니다.

Ice Cubes의 소스 코드와 모든 리소스는 GitHub에 공개되어 있기 때문에 누구나 기능 개선이나 번역에 참여할 수 있습니다. 지금은 저만 한국어 번역을 하고 있지만, 2024년에는 다른 분들과 함께 번역을 개선할 수 있으면 좋겠습니다.

아무

아무는 고등학교 친구의 제안으로 두 명이 함께 작성·편집하여 발송하고 있는 뉴스레터입니다.

2월에 발송한 첫 뉴스레터를 포함하여 지금까지는 총 4개, 2023년에는 3개의 뉴스레터를 보낸 것으로 미루어 보아 거의 한 분기에 하나를 보낼까 말까 하는 것을 알 수 있지만, 그만큼 흥미로운 내용을 좋은 퀄리티로 작성하고자 노력하고 있습니다.

아무 뉴스레터
아무 뉴스레터 구독하기

저는 아무 뉴스레터에 BeReal, NameDrop, 캘린더 앱과 같은 주제를 다룬 소프트웨어와 관련한 글뿐만 아니라, 블로그에는 올리지 않는, 카페를 추천하는 글과 같은 콘텐츠도 작성하고 있습니다.

처음에는 뉴스레터가 별일 아니라고 생각했는데, 직접 해 보고 나니, 거의 매일 발송되는 뉴닉이나 어피티와 같은 뉴스레터의 편집자분들을 존경할 수밖에 없게 되었습니다.

블로그

2023년에는 아무 뉴스레터에 작성한 글의 재 업로드 2건을 포함하여 이 블로그에 총 10개의 글을 작성했습니다.

iOS와 관련한 글만 너무 많이 작성한 것 같아서 사실 하반기에는 마음이 계속 불편했습니다. 아마도 제가 자세히 소개하고 싶은 내용 대부분이 iOS 활용법이고, 개발 관련한 글은 정확한 내용을 작성해야 한다는 부담감이 있어서였던 것 같습니다.

실적

Google Search Console을 통해 어떤 검색어를 통해 사람들이 사이트에 접속하는지, 특정 검색어에 있어서 사이트가 검색 결과의 몇 번째에 위치하는지를 확인해 볼 수 있습니다.

아이폰에서 벨소리 크기와 알람 볼륨을 따로 설정하고자 하는 분들이 검색을 통해 제 블로그에 가장 많이 접속해 주셨고, 다음으로는 ChatGPT 단축어Raycast와 같은 내용을 찾기 위해 와 주신 분들이 많았습니다.

Google 디스커버(글 추천) 실적에는 Xs 4년 쓰고 난 뒤의 SE 2세대 후기가 주로 잡혔습니다. 연말에 각종 미디어에서 아이폰 Xs가 클래식한 카메라 색감으로 관심을 끌었기 때문인 것 같습니다.

비록 개발 글은 많이 작성하지 못했지만, 상반기에서 하반기로 갈수록 검색 실적이 전반적인 상승세를 보여서 만족스럽습니다. 2024년에도 상승세를 이어갈 수 있으면 좋겠습니다.

블로그 자체

2022년 말에 개발을 시작한 블로그는 2023년을 거치면서 많은 변화를 겪었습니다. 카테고리 구분을 없앰으로써 모든 글을 태그로만 구분하게 변경하였고, 코드 조각(snippets)을 기록하는 페이지를 따로 만들었습니다.

지금 블로그의 레이아웃 자체는 마음에 들지만, 색상이나 여백의 사용 등에 있어서 일관성이 없는 부분이 많아서, 글 본문에 더 집중할 수 있는 방향으로 한번 갈아엎고 싶다는 생각이 있습니다. (사실 레이아웃도 문제가 있습니다. 넓은 화면에서 글을 읽고 계신 분들은 우측의 목차가 잘려 보일 수도 있습니다.)

또, 지금은 블로그가 Gatsby를 통해 Netlify 위에서 정적 사이트로 배포되고 있는데, 이를 Next.js와 Vercel 정도로 옮겨볼까도 생각하고 있습니다. 하지만, Contentful CMS - MDX - GraphQL이라는 비주류 조합을 지금처럼 쉽게 사용할 수 있을지에 대한 걱정과, Vercel에 발이 묶일 가능성이 높다는 점 때문에, 아직은 잘 모르겠습니다.

현재는 여러 가지 이유로 프로젝트 안에서 Gatsby 플러그인 간 패키지 의존성이 꼬이는 등 번거로운 상황입니다. 다음에 블로그를 다시 만들어야 한다고 하면 Gatsby는 조금 많이 고민해 볼 것 같습니다.

여행

운 좋게도 일정이 맞는 친구들과, 또 가족들과 종종 여행을 다녀올 수 있었습니다.

대전

친구랑 빵 먹으러 갔습니다. 대전광역시와 로쏘주식회사(성심당)는 빵 먹으러 오는 관광객들의 수요를 완벽하게 충족시키는 모습을 보여 주었습니다.

전주와 군산

군산시에서 비응항에 방문하실 예정이라면 비응반점의 갑오징어 탕수육을 꼭 드셔보시길 바랍니다.

강화도와 석모도

날씨는 약간 흐렸지만, 전등사를 비롯한 관광지에서 좋은 경험을 할 수 있었습니다. 수도권에 있어서 더 좋았습니다.

홍콩과 마카오

여행 첫날, 카우룬(Kowloon, 九龍) 역과 역에 딸려 있던 악의적으로 설계된 쇼핑몰인 엘러먼츠에 갇혀 정신을 약간 잃을 뻔했습니다. 그러나 무계획으로 떠난 여행임에도 불구하고 전반적으로 만족스러웠습니다. 마카오도 훌륭했습니다.

이 여행을 다니며 가끔은 ProRAW로 사진을 찍어야 하는 이유를 알게 된 것 같습니다. 보정 후에도 멋진 결과물이 나옵니다.

그 밖의 사소한 일

  • 1월에 운전면허를 땄습니다. 하지만 면허를 딴 이후 1년이 지난 지금까지 한 번도 차를 운전한 적은 없습니다.
  • 가끔 아팠습니다.
  • 휴대폰을 아이폰 15 프로로 바꿨습니다. 빠르고 사진이 잘 나와서 매우 만족스럽습니다. 가격을 조금 낮춰주면 더 좋을 것 같습니다.

각종 연말정산

Apple Music Replay

Raycast Wrapped

1년 동안 Raycast를 8,192번, 그중에서는 사전 익스텐션을 1,119번 열었다고 합니다. 실제로 단축키를 지정하여 자주 사용하고 있습니다.

이 블로그의
Raycast: Spotlight을 대체할 검색 앱

macOS에서 Spotlight을 떠나 Raycast를 선택한 이유


토스 2023 소비 돌아보기

이건 보다가 놀라서 제가 껐습니다.

2024년은?

2023년은 정신없는 한 해였습니다. 개발/비개발 분야를 통틀어서 처음으로 공부해 보는 내용도 많았고, 학기 내내 진행된 팀플도 저를 약간은 더 피곤하게 만들었던 것 같습니다. 대신, 덕분에 바쁘게 지낼 수는 있었습니다.

게다가 또, 1학기에는 평일 저녁마다 아르바이트를 하면서도 동시에 과제들을 어떻게 저글링 하면서 지냈는지 지금 생각해 보면 정말 모르겠습니다. 당시에 아마 주변에 많이 징징대고 다녔을 것 같습니다.

제 2024년은 어떻게 될까요?

저에게 2024년은 마지막으로 학교에 다니게 되는 해가 될 가능성이 있습니다. 따라서, 2024년에는 동아리나 인턴 활동 연계 등 학교와 시너지를 내거나 학교로부터 도움을 받을 수 있는 활동에 집중해 볼까 합니다. 물론 더 자세한 내용은 이번 겨울 방학을 거치면서 더 고민해 보아야겠지만요.

이 글을 쓰면서 2022년 회고를 계속 다시 봤는데 말투가 너무 딱딱한 것 같아서, 이번에는 조금 더 편한 말투로 작성해 보았습니다. 어떤가요? 여러분의 반응에 따라 2024년 회고를 어떻게 작성할지 생각해 보겠습니다. (반응해 주셔야 합니다.)

아무튼, 글이 너무 길어졌는데도 불구하고 끝까지 읽어주셔서 감사합니다. 새해 복 많이 받으세요. 🙇