전체 글

TL;DR (3줄)2024년은 “크게 성과를 낸 해”라기보다, 성과를 만들 수 있는 기반을 쌓은 해였다.프로그라피와 1인 앱 라디(Life Designer)를 통해 “만드는 것”보다 문제 정의 → 해결의 감각을 배웠다.두런두런 운영과 GDGoC 활동을 하며, 조직은 완벽함이 아니라 공유·신뢰·목표/문화로 굴러간다는 걸 체득했다.1) 배경: 학교 밖으로 나간 이유2023년은 개발이라는 세계를 학교 안에서 처음 만난 해였다. 그리고 2024년은 그 세계를 학교 밖으로 가져가 실제로 부딪혀 본 해였다.2023년에 멋쟁이사자처럼에서 다양한 직군과 협업하며 프로젝트를 수행했다. 그 경험은 곧 “좀 더 실무적이고, 더 진짜에 가까운 환경에서 성장해보고 싶다”는 갈증으로 이어졌다. 그래서 2024년에는 의도적으로 더..
TL;DRMALMO의 “실시간” 요구는 대부분 서버 → 클라이언트 단방향 이벤트였고, 6주 개발 제약에서 SSE가 더 합리적인 선택이었다.전역 SSE 연결 1개로 “커플 이벤트 + AI 스트리밍”을 모두 받고, 화면/기능은 subscribe 기반 fan-out으로 분리했다.데모데이 전날 서버의 ‘1분 강제 재연결’ 정책이 스트리밍 중간에 끼어들어 chunk 유실이 발생했고, “전송 전 강제 재연결(타임 윈도우 리셋)”로 안정화해 데모데이(400명+)에서 중간 누락 제보 0건으로 운영했다.1) “실시간 채팅 = WebSocket”이 항상 정답은 아니었다실시간 채팅을 구현한다고 하면 많은 팀이 WebSocket부터 떠올린다. 나도 처음엔 그랬다.하지만 MALMO에서 만들려던 기능을 요구사항으로 다시 정리해보..
프로젝트에 주어진 시간은 단 6주.이런 초단기 프로젝트에서 가장 큰 리스크는 예측 불가능한 버그로 인한 개발 지연입니다. 이전 프로젝트에서는 사용자 인증 처리로 인해 QA 단계에서 불필요한 시간을 많이 소요했기에, 우선적으로 인증 처리 부분을 기획전 잡아가고자 했습니다. 어떻게 하면 인증 관련 이슈를 원천 차단하고,비즈니스 로직에만 집중할 수 있는 환경을 만들 수 있을까? 선제적 아키텍처 설계와 자동화저희는 문제가 터진 뒤에 해결하는 대신, 개발 시작 단계에서부터 견고한 인증 아키텍처를 설계했습니다. 핵심 전략은 '자동화'와 '보안'이었습니다. 1. 보안 원칙 수립: 토큰 분리React Native와 WebView를 함께 사용하는 하이브리드 환경이었기에, 보안을 최우선으로 고려했습니다.RefreshTok..
CMC 17기 활동의 목표는 "APP 출시"였습니다. 저희 팀은 React 기술 스택을 활용하여 유지보수성이 높은 앱을 효율적으로 개발하고자 했고, 그 첫 번째 관문은 바로 React Native와 WebView 간의 통신, 즉 '브릿지(Bridge)' 환경을 설정하는 것이었습니다. 🤔 왜 WebView를 선택했을까? React로 만든 웹 프로젝트가 이미 있다면, WebView는 가장 빠르게 앱을 만들 수 있는 매력적인 선택지입니다. WebView는 앱 내부에 웹 브라우저를 띄워 특정 URL의 웹 페이지를 그대로 보여주는 방식입니다. 덕분에 기존 웹 코드를 재사용하여 iOS와 Android 앱을 동시에 대응할 수 있습니다.하지만 여기서 한 가지 중요한 질문이 생깁니다. "앱의 네이티브 기능과 WebVi..
23년 9월부터 24년 6월까지 약 1년간 두런두런 동아리 활동을 했다.돌이켜보면 엄청나게 성공적인 활동은 아니었기에 조금 부끄럽기도 하고, 어떻게 보면 여전히 아쉬움이 남는 활동이기도 하다. 하지만 1년 동안 열심히 참여했고, 의미 있는 성과를 거둔, 내 23~24년의 많은 부분을 차지했던 활동이기에 기록으로 남겨본다. 멋쟁이 사자처럼 11기 활동을 마무리하던 23년에, 프로젝트를 함께 진행했던 프론트엔드 파트장 친구와 이야기를 나누다가 게임 형태의 챌린지 앱을 만들면 재미있겠다는 아이디어가 나왔다. 친구와 아이템을 사용해 우스꽝스럽게 상대를 때리는 모션이 있고, 서로 목표를 달성하며 응원하는 소셜 기반의 챌린지 앱을 상상했다. 당시에는 멋사 활동으로 자신감도 있었고, 사회복무요원 활동 덕분에 시간 여..
· Deep Dive
프론트엔드 개발을 시작할 때, “명령형과 선언형 프로그래밍”이라는 용어를 종종 듣게 됩니다.이 글에서는 두 개념의 차이를 간단히 알아보고, 자바스크립트 예시를 통해 감을 잡아봅시다.1. 개념 정리명령형(Imperative) 프로그래밍“어떻게(How)” 동작할지를 직접 단계별로 지시하는 방식입니다.예를 들면, 배열을 순회하는 코드에서 반복문(for, while)을 돌고 if문으로 조건을 확인한 뒤, 일치하면 push로 새 배열에 넣는 식으로 모든 과정을 명시하는 스타일이죠.선언형(Declarative) 프로그래밍“무엇을(What)” 만들고 싶은지를 의도 위주로 작성합니다.내부적으로 반복문이 어떻게 돌아가는지는 추상화하고, “이 조건에 맞는 결과가 필요하다”처럼 결과만 선언합니다. 예를 들어 Array.pr..
사낙
개발은 고양이처럼