2025-02-25

🕒 읽는 데 0분 예상
forest_articles
forest_날짜
forest_분류
일지

내가 만든 학교 앱, 사용자 급증. 오류도 급증…?

나는 작년에 학교의 공식 앱에서 불편한 점들과 UI를 개선한
KLAS+
KLAS+
라는 앱을 개발해 배포했었다. 때는 바야흐로 2월 21일, 내가 다니는 대학교에 신입생들이 학번을 받아 학사 포털에 로그인할 수 있게 된 날이었다. 그런데 이게 무슨 일인지, 페이지 뷰와 신규 사용자가 모두 폭증하고 있었다.
notion image
notion image
뭐 사용자 수가 늘어난 것은 기쁜 일이다. 신입생이 많이 유입됐나 보다 하고 넘어가려는 찰나, 뭔가 이상한 점을 발견했다.
notion image
notion image
학교의 공식 앱이 Play 스토어에서 사라졌다! 학생들이 사용하는 커뮤니티인 에브리타임을 탐색해본 결과 몇 주 전부터 앱이 스토어에서 내려가있었다는 사실을 확인했다.
정리하자면, 공식 앱이 알 수 없는 이유로 Play 스토어에서 사라졌고, 그 결과 많은 신입생들이 대학 이름을 검색하면 나오는 내가 만든 앱을 설치했다라는 결론을 내릴 수 있다.
여기까지도 큰 문제는 없다. 그런데 늘어나는 사용자 수에 비례해 오류 알림이 마구 쏟아지는 게 아닌가? 심지어 앱이 아예 튕겨버리는 비정상 종료 로그였다.
118000%가 가능한 숫자였구나
118000%가 가능한 숫자였구나
뭔가 잘못됐음을 깨달았을 즈음, 대학 커뮤니티에도 앱 실행이 안된다는 글들이 올라오고 있었다. 마치 공식 앱으로 알고있는듯 ‘학교 앱’이라는 표현을 단 채 말이다.
자, 큰일났다. 뭐가 문제인지 살펴보자.
notion image
notion image
로그를 살펴보니, API 응답을 처리하는 부분에서 out of bounds 오류가 발생하고 있음을 확인할 수 있다. 이 API는 아래와 같이 학사 시스템에 등록된 학기 내역을 반환해준다.
[{value: "2024,2", label: "2024년도 2학기",…}, {value: "2024,1", label: "2024년도 1학기",…}]
가장 최근 학기를 앱에서 표시해줄 기본 학기로 설정하기 위해, 리스트에서 0번째 요소를 가져오도록 해두었다. 그런데 이 응답이 [] 로 비어있는 경우 index 0을 가진 요소는 존재하지 않기 때문에 이러한 오류가 나는 것이다.
오류 해결은 간단하다. null check만 해주면 된다.
그런데 내가 의아했던 건 학기 리스트가 대체 왜 비어있냐는 것이었다. 답은 위에 사용자가 폭증했던 이야기 속에 있었다. 올해 신입생 수강신청은 2월 24일, 오늘은 2월 21일. 즉, 아직 신입생들은 아무런 학기 정보가 없을 수 밖에 없다.
문제를 해결한 업데이트를 배포하고(Play 스토어 검수가 늦어지는 탓에 수강신청이 끝나 자연스럽게 문제가 해결된 뒤에 배포되긴 했지만), 커뮤니티에 상황을 설명하는 글을 작성해 어찌저찌 사건은 일단락됐다. 근데 대체 공식 앱은 왜 아직도 Play 스토어에 돌아오지 못하고 있는 거지
오늘의 교훈.
꼭 필요한 곳에 null check를 잊지 말자.

4월에 군대 갑니다.

2024-12-15
에 다음 달에 해군 전산병에 지원해보겠다는 계획을 밝혔었다. 계획대로 1월에 해군 모집병에 지원했고, 며칠 전 최종 결과가 나왔다. 결론부터 말하면 합격해서 4월에 입대한다.
그런데 계획에 약간의 변동이 있었다.
notion image
내가 지원하려는 25년 1회차 선발부터 전산, 통신 특기를 통합한다는 공지가 올라왔다. 근데 알 수 없는 건 선발 자체는 전산병과 통신병 각각 진행한다는 것이었다. 지금까지의 1차 합격 점수 커트라인을 살펴보면, 통신이 전산에 비해 20점 가량 낮게 형성되어 있다. 만약 이 둘이 통합되는 것이라면 통신병으로 지원하는 것이 더 유리할 것이라는 생각에, 병무청을 통해 실제로 입대 후 아무런 차이가 없다는 것을 확인받고 통신병으로 최종 지원했다.
이 전략은 성공이었다. 이번에도 통신병의 1차 합격 점수가 전산병 대비 16점 낮았다. 덕분에 상당히 높은 선발 순위로 면접을 거쳐 최종 합격하게 되었다.
군대
합격한 게 크게 좋아할 일이지는 잘 모르겠지만, 어쨌든 이왕 가는 김에 열심히 해보겠다.

AI로 한글 손글씨 폰트 만들기?

영문 폰트를 만드는 작업은 생각보다 간단하다. 알파벳 대소문자 52자와 특수문자만 그리면 되기 때문이다. 그에 반해 한글 폰트는 훨씬 복잡하다. 초성, 중성, 종성을 결합해 만들 수 있는 글자 수는 무려 11,172자에 달한다. 이는 한자를 사용하는 언어의 폰트를 만들 때도 동일하게 적용되는 고충이다.
이 문제를 해결하기 위해 AI를 이용한 다양한 시도들이 있어왔다. 국내에서는 적게는 4개에서 100여개의 글자만을 모델에 학습시켜, 다른 글자를 생성하는 방식으로 손글씨 폰트를 만드는 프로젝트들이 있었다. 대표적으로
네이버
한글날 손글씨 공모전, 온글잎 등이 있다.
네이버에서 배포한 폰트 생성 모델 오픈소스(clovaai/fewshot-font-generation)가 있어, 나도 한 번 시도해봤다.
공개한 4개의 모델 중 DM-font를 사용했다. 아래는 약 3시간 동안 16000번의 학습 후 생성한 샘플 결과이다.
notion image
윗 줄이 내가 쓴 글자이고, 아래가 AI 모델이 생성한 글자이다. 나름 글자 비스무리한 걸 쓰려고는 하는데, 정확도가 떨어진다. 학습을 좀 더 진행하거나 학습 세팅 값을 조절하면 유의미한 결과가 나올 거 같긴 한데, 귀찮은 관계로 일단 여기까지만 하고 남겨두겠다.

새로운
AI
모델들

  • xAI가 새로운 모델인 grok3를 공개했다. 추론 기능과 이를 검색과 결합한 Deep Search 기능을 제공한다. 음성 대화 시 성인 모드를 제공하거나 이미지 생성에 검열이 거의 없다는 점이 주목할 만하다. 이게 일론 머스크인가
notion image
notion image
 
  • Anthropic의
    Claude
    3.7이 공개되었다. 추론 여부를 On/Off 할 수 있고, Software Engineering 성능이 크게 향상된 것으로 보인다.
notion image
  • 새로운 모델은 아니지만,
    Google
    에서 추론을 통해 전문적인 연구를 수행하는 co-scientist 관련 내용을 발표했다. 스스로 자기 평가를 진행하면서 성능이 향상됨을 확인함으로써 재귀적 자기 개선의 가능성을 어느 정도 입증했다고 보여진다. co-scientist는 실제 연구진들이 발견하였지만 아직 공개되지 않은 연구 주제에 대해 실험적으로 검증된 것과 동일한 가설을 제안했다는 사실도 놀라운 점이다. 연구진들이 수십 년에 걸쳐 알아낸 사실을 단 며칠 만에 AI가 제안한 것이다.
    AI
    가 사람과 함께 인류를 위한 더 많은 발견을 더 빠르고 효율적으로 해내는 미래를 기대해본다.
 

✨ Inspried

 
 

댓글 0