전체 글 7

[Apple Developer Academy] Challenge1 1주차 기록

3/16부터 3주 간 첫 번째 챌린지인 Challeng1(C1)이 시작되었다. 적응 기간인 Prelude가 끝나고 처음으로 무언가 만들기 위한 팀이 처음으로 만들어졌다. 팀원은 총 6명이었다. 3주의 기간은1. Engage 1일2. Investigate 6일3. Act 2주 로 흘러가고 1주차는 Engage, Investigate를 하며 보냈다. Engage 💍대주제는 포항과 아카데미였고, 팀끼리 보여 생각나는 키워드를 포스트잇에 적어보았다. 우리 팀은 액티비티로 정하게 되었다. Investigate 🔬 Guiding Question를 만들기 위해 People : 우리 챌린지에 영향을 받는 사람, 단체, 커뮤니티를 더 자세히 알 수 있는 질문들domain knowledge : 우리 챌린지와 관..

Apple Developer Acamedy 5기 패스트트랙 합격, Prelude

지금은 2026년 3월 9일을 시작으로 5일 간의 Prelude를 마친 시점이다.아카데미를 시작하며 기록을 꾸준히 하자는 다짐을 했기 때문에! 아카데미 합격 과정과 이곳에서 얻고 싶은 것을 적어보려고 한다. 🍎 Apple Deveploper Academy에 대해 https://developeracademy.postech.ac.kr/Apple Deveoper Academy는 애플 생태계에서 사용되는 서비스를 개발하는 애플이 만든 교육 과정이다. 전 세계 19곳이 있고, 우리나라에는 포항에 위치해 있다.하나를 깊게 파기보단 T자형 인재를 기르는 것이 아카데미의 목표고 배우는 기술이 정해져 있지 않다. 그래서 세션은 소프트 스킬에 초점이 맞춰져 있고 하드 스킬은 개인의 몫이라고 생각한다. 아카데미 pm인..

cmc 17기 Server 활동 후기 🎓

📝 지원한 이유와 cmc에서 얻고자 한 것나는 IT 동아리를 한번쯤은 해보고 싶은 마음이 있었다. 한창 진로 고민을 많이 하던 중에 내가 부러워하는 것들을 나열해보고 하나씩 도전해보기 시작했고 그 중 하나가 cmc 활동이었다.운이 좋게 서류 합격을 거쳐 최종합격까지 하게 되었고 😆OT 날에는 정말 최선을 다해 서비스를 개발해보기로 다짐했다.직무 고민도 하던 때라 QA 업무를 제대로 진행해보고 싶었고, 취업을 위해 프로젝트를 하는 것이 아닌 좋은 서비스를 개발 자체를 목표로 삼기로 결정했다.cmc 활동을 본격적으로 시작하기 전에 명확한 니즈에 의해 필요한 기술만을 도입한 프로젝트를 봤다. 남들이 해서 이것저것 하는 게 아니라 서비스 기획에 맞게 구조를 고민하고 모놀리식의 한계를 직접 느껴 멀티 모듈을 ..

cmc 17기 2026.02.27

약쏙의 알림 스케줄 생성 전략과 batch insert

안녕하세요 약쏙에서 서버 개발을 하고 있는 노을입니다 :)약쏙은 복약 일정을 등록하고 알림을 받을 수 있는 서비스입니다.이 글에서는 약쏙에서 선택한 스케줄 생성 전략과 batch insert에 대한 내용을 담았습니다.🧠 약쏙의 요구사항과 스케줄 생성 전략약쏙 기획은 복약 종료일이 없을 수도 있다는 요구사항이 있었습니다. 이 요구사항에 맞춰 제가 고안한 방식은 다음과 같습니다.시작일~종료일까지 전체 일정 insert, 종료일이 없는 경우엔 n년치만 insert→ 사용자는 n년 이후의 일정은 볼 수 없음오늘 이전 일정만 DB에 저장, 미래 일정은 요청 시 DTO를 통해 on the fly로 생성1번 방식은 종료나 수정, 삭제 시 대량의 데이터 변경이 발생할 수 있고,불필요하게 많은 데이터가 DB에 저장될 ..

cmc 17기 2026.02.27

너디너리 해커톤 8th 후기

한달 전에 나간 너디너리 해커톤 회고를 이제서야 쓴다 ㅎㅎ너디너리 해커톤은 cmc와 umc가 23시간 동안 하나의 서비스를 완성한다. 팀 공개와 함께 아이디어 기획부터 디자인,개발, 발표와 시상까지 23시간 내에 이 모든 게 이루어진다.해커톤은 처음이라.. 걱정이 정말 많이 되었지만 어찌저찌 완성하게 되었다.나는 cmc 17기에 합류하게 되면서 필수로 참석해야 했다. (umc는 신청자를 받는다)📅 행사 일정25.05.17 (토)시간25.05.18 (일)시간챌린저 입장13:00 ~ 13:30프로젝트 개발00:00 ~ 09:50해커톤 소개 및 주제 발표13:30 ~ 13:40프로젝트 제출09:50 ~ 10:00간단한 레크레이션(자기소개)13:40 ~ 14:10프로젝트 발표 환경 세팅 및 휴식10:00 ~ ..

cmc 17기 2026.02.27

커스텀 어노테이션으로 유저 정보 가져오기

✅ 커스텀 어노테이션 사용 이유너디너리 해커톤에서 로그인을 구현했는데 빠르게 개발해야 하다보니 스프링 시큐리티를 사용하지 않고 개발했다. 그리고 클라이언트는 다음과 같이 access token을 헤더에 담아 요청해야 했다.Authorization: Bearer {access token} 스프링 시큐리티를 사용하면 컨트롤러에서 인증 객체를 바로 받아올 수 있지만, 난 사용하지 않았기 때문에 일일히 헤더에 있는 토큰을 가져와서 검증하고 파싱해서 시크릿을 얻어야 한다.매번 이 과정을 하는 게 귀찮으니 커스텀 어노테이션을 만들어서 사용했다.그리고 스웨거에서는 제외 시키기 위해 @Parameter(hidden = true)을 해주었다.@PostMapping("/register")public ResponseEnti..

cmc 17기 2026.02.27

무한스크롤 구현 방법 (커서 기반 페이지네이션)

안녕하세요 약쏙에서 서버 개발을 하고 있는 노을입니다 :)약쏙은 복약 일정을 등록하고 알림을 받을 수 있는 서비스입니다.이 글에서는 약쏙에서 알림을 조회할 때 선택한 커서 기반 페이지네이션과, 오프셋 기반과의 차이를 실행 계획을 바탕으로 설명해보려 합니다.🪜 커서 기반 vs 오프셋 기반 페이지네이션오프셋 기반 페이지네이션의 문제다음 페이지를 요청하는 사이에 데이터 변화가 있다면?예를 들면, 유저가 자신의 알림 목록 1페이지를 조회하는 중 새로운 알림이 도착했습니다. 그리고 유저가 2페이지를 요청합니다. 그러면 유저는 1페이지에서 봤던 알림을 똑같이 보게 됩니다. 🫢OFFSET 쿼리의 탐색 방법OFFSET이 커질수록 DB는 앞의 row를 다 읽고 버려야 하므로 성능이 점점 나빠집니다.인덱스를 쓰긴 하지..

cmc 17기 2026.02.27