전체 글 59

AI 바이브 코딩의 시대, 컴공 졸업 후 무엇을 할 수 있을까 - QR 기반 쿠폰 발급 서비스

서론▽ 더보기핵개인의 시대가 점점 선명해지고 있다고 생각합니다. 취업을 하더라도 결국에는 ‘본인의 영역’을 구축해야 하는 시대가 오고 있는 것 같습니다. 조직 안에서 주어진 일을 잘하는 것도 중요하지만, 동시에 자신이 하고 싶은 비즈니스나 문제의식 하나쯤은 가지고 있어야 사람으로서의 존재성을 입증할 수 있지 않을까하는 생각이 드는 요즘입니다. AI의 시대가 도래하며 생산성은 대폭 상승했습니다. 이제는 마음만 먹으면 하고자 하는 일을 언제든 학습하고, 시도하고, 작게라도 구현해볼 수 있는 환경이 만들어졌습니다. 최근 자주 보이는 ‘1인 앱 개발로 앱스토어 1위’와 같은 사례도 이러한 흐름의 연장선에 있다고 생각합니다.흥미로운 점은, 이런 결과가 반드시 화려한 경력이나 깊은 개발 경험을 가진 사람들에게서만..

포트폴리오 2026.06.17

[커리큘럼 페이지 프로젝트] 관리자 로그인 세션을 어떻게 관리할 것인가 - 로그인도 PM의 역할일까

미리보기더보기로그인도 PM의 역할일까 이번 고민을 하면서 로그인 구현도 결국 정책의 문제라는 생각이 들었다.하지만 막상 관리자 로그인 방식을 정리하다 보니, 어떤 사용자를 허용할 것인지, 어떤 상황에서 접속을 끊을 것인지, 얼마나 오랫동안 로그인 상태를 유지할 것인지 정하는 일이었다. 생각해보면 서비스에서 로그인은 거의 기본값처럼 붙어 있다. 하지만 모든 로그인 방식이 같을 수는 없다. 쇼핑몰의 로그인, 커뮤니티의 로그인, 금융 서비스의 로그인, 관리자 페이지의 로그인은 각자 기준이 다르다. 어떤 서비스는 편의성이 더 중요하고, 어떤 서비스는 보안과 통제가 더 중요하다. 이번 프로젝트의 관리자 로그인도 그랬다.관리자 계정은 여러 명이 동시에 접속하는 것보다 하나의 세션만 유지되는 편이 안전하다. 일정..

[커리큘럼 페이지 프로젝트] Mock API를 걷어내고 Spring을 붙이며

6/10 작업 현황 정리더보기더보기 PR 정리PR #1: Spring main/careers/subject detail 통합PR:spring-careers-api-test → spring-api-test주요 내용:/api/main Spring 프록시/api/subject/table Spring 프록시/api/careers/list Spring 프록시/api/subjects/{subjectId} 과목 툴팁 Spring 프록시normalizeSpringMainData() 추가mock 기반 메인 초기 데이터 제거결과:merge 완료spring-api-test에 반영PR #2: Career side detail 통합PR:spring-careerside-api-test → spring-api-test주요 내용:/..

[커리큘럼 페이지 프로젝트] Next.js App Router에서 화면과 데이터 호출 흐름 이해하기 (2) - Next.js에 Spring을 붙이면 데이터 흐름은 어떻게 바뀔까

현재는 먼저 화면을 잡고 백엔드를 잡고 싶어서, next로 구조를 잡다보니, route.ts로 api호출의 역할을 대신하고 있다.앞선 글에서도 큰 흐름은 그렇게 정리하다보니 정작 중요한 얘기를 못했다. Q. Next.js에 Spring을 붙이면 데이터 흐름은 어떻게 바뀔까앞선 흐름에서는 Next.js 프로젝트 안에서 화면을 만들고, 필요한 데이터도 Next 내부의 API Route에서 mock 데이터로 응답하는 구조를 살펴봤다.이번에는 여기에 Spring 백엔드를 붙이면 어떤 부분이 바뀌는지 정리해보려 한다.결론부터 말하면, Spring을 붙인다고 해서 React 컴포넌트의 흐름이 전부 바뀌는 것은 아니다. 핵심적으로 바뀌는 부분은 route.ts가 하던 서버 역할을 Spring 서버가 가져간다는 점이..

[커리큘럼 페이지 프로젝트] Next.js App Router에서 화면과 데이터 호출 흐름 이해하기

커리큘럼 페이지를 리팩토링 하며 1인 개발에 도전하기로 했다. 그러기 위해선 Next.js를 이해할 필요가 있다. 가장 궁금했던 부분은 Next.js가 어떤 흐름으로 동작하는지였다. 특히 page.tsx, 클라이언트 컴포넌트, hook, API 함수, route.ts가 각각 어떤 역할을 맡고 있는지 정리할 필요가 있었다. 현재 구조는 백엔드를 구축하기 이전에 next만을 이용한 구조입니다.route.ts가 그 역할을 대신하고 있으니,백엔드와 프론트엔드의 api호출 흐름까지 보기 위해선 다음 글도 보시면서 이해하면 좋을 것 같습니다. 이 프로젝트의 Next.js 데이터 흐름은 다음과 같이 정리할 수 있다.app/page.tsx -> 서버에서 초기 데이터 생성 -> MainPageClient에 in..

상반기 취준 회고: 누가 포기를 배추 셀 때 쓴다고 하였나

상반기를 정리해봤다상반기가 거의 끝나간다. “나 지금 제대로 하고 있는 건가?”뭔가 계속 하긴 했다.근데 결과가 딱 보이는 건 많지 않았다.그래서 한 번 정리해보기로 했다.나중에 보면 이 시기도 분명 의미가 있을 것 같아서. 1월, 일단 어학부터올해 초에는 오픽을 봤다. 취업 준비를 하려면어학 기준은 맞춰두는 게 좋을 것 같았다.1월 7일에 시험을 봤고,다행히 내가 원하던 최저 기준은 맞췄다. 엄청 대단한 성과라고 하긴 어렵지만,그래도 하나는 끝냈다는 느낌이 있었다. 2월까지는 알바도 했다작년 10월부터 2월까지는뮤직바와 약국에서 주 4-5일 알바를 했다.취준을 하려면 시간도 필요하지만당장 생활비도 필요했다. 취준 비용이 은근히 많이 든다.교통비, 카페, 식비, 시험비 같은 것들이 계..

그 외 등등 2026.04.27

당신은 무엇을 오래 사랑하십니까 - AI와 나의 헤리티지

조금 거드럭대는글을 써보려합니다. AI 시대에 ‘나’를 만든다는 것요즘에는 문장을 쓰는 일보다, 그 문장이 정말 나에게서 비롯된 것인지 의심하는 일이 더 잦아졌습니다. 또한 그것이 진정 나에게서 비롯된 것이 아님을 알고 있습니다. 이제 우리는 어떤 문장도 혼자 끝내지 않습니다. 쓰는 동시에 다듬고, 다듬는 동시에 의심하며, 의심하는 동시에 더 나은 표현을 권유받습니다. 분명 더 정확하고 더 매끄러운 문장을 얻게 되었지만, 그와 함께 조금씩 잃어버리는 것도 있는 것 같습니다. 말이 나에게서 나왔다는 감각, 생각이 내 안에서 '오래' 머물다 비로소 문장이 되었다는 고유한 시간의 감각입니다. AI의 발전은 이 감각의 지형을 바꾸고 있습니다. 생산은 쉬워졌고, 정리는 빨라졌으며, 표현은 이전보다 매끈해졌습니..

그 외 등등 2026.04.08

[코딩테스트, 더 이상 미룰 수 없다] BOJ 14891 - 구현, 실행의 판단 파트와 실제 실행파트 구분하기

판단과 실행을 분리해야 한다는 점을 깨닫기까지 이 문제에서 “1번 톱니를 회전시킨다”는 말은1번 톱니를 회전의 시작점으로 삼는다는 뜻에 가깝다.즉 실제 동작 순서는 다음과 같다.현재 상태를 기준으로 인접한 톱니끼리 맞닿은 극을 비교한다.어떤 톱니가 어느 방향으로 회전할지 결정한다.회전 여부가 모두 결정된 뒤, 실제 회전을 한꺼번에 적용한다.핵심은 비교는 현재 상태로 하고, 회전은 나중에 한다는 점이다.왜 바로 회전하면 안 되는가처음에는 DFS로 인접 톱니를 타고 들어가면서 바로 회전시키면 될 것 같았다.하지만 이 방식에는 문제가 있다.예를 들어 1번 톱니를 먼저 회전시켜 버리면, 1번 톱니의 배열이 바뀐다.그러면 그 다음에 2번 톱니와의 접점을 비교할 때는 원래 상태가 아니라 이미 회전된 상태를 기준으..

[코딩테스트, 더 이상 미룰 수 없다] BOJ 14501 - 코드를 외워둘 만한 대표적 DP 문제

14501은 DP를 공부할 때 꼭 한 번 정리해둘 만한 문제였다.코드 길이도 길지 않고, 상태 정의와 점화식이 분명해서 기본기를 익히기에 좋다.앞으로 비슷한 유형의 문제를 만났을 때 떠올리기 쉬운 형태이기도 하다.왜 기억해둘 만한 문제인가이 문제는 매 날짜마다 선택이 하나씩 주어진다.오늘 상담을 한다오늘 상담을 하지 않는다그리고 이 두 선택 중 더 좋은 결과를 고르면 된다.문제 구조가 단순해서 DP의 핵심이 잘 보인다.현재 위치에서 어떤 선택을 할 수 있는지, 그 선택이 다음 상태에 어떤 영향을 주는지를 그대로 식으로 만들 수 있다.이런 형태는 다른 문제에서도 자주 나온다.어떤 일을 수행할지 말지 고르는 경우특정 구간을 사용할지 건너뛸지 정하는 경우현재 선택 때문에 다음에 가능한 날짜나 위치가 달라지는 ..

[코딩테스트, 더 이상 미룰 수 없다] BOJ 14502 연구소 - 구현을 감 잡아보zㅏ

이 문제는 단순히 정답을 맞히는 것보다, 구현 문제를 어떤 식으로 바라봐야 하는지 다시 생각하게 해 준 문제였다.구현, 조합, 시뮬레이션, 탐색이 함께 섞여 있는 문제여서 더 좋았고, 동시에 더 배울 점이 많았다.왜 좋은 문제라고 느꼈는가이 문제의 좋은 점은 여러 개념이 따로 노는 것이 아니라, 문제 안에서 자연스럽게 연결된다는 점이다.벽을 3개 세워야 하니 빈 칸 중 3개를 고르는 조합이 필요하고,벽을 세운 뒤 바이러스가 퍼지는 과정을 표현하려면 BFS가 필요하다.그리고 그 모든 과정을 반복해서 최대 안전영역을 구해야 하니 결국 시뮬레이션 문제의 성격도 갖는다. 이런 문제는 단순히 한 알고리즘을 외워서 푸는 문제보다 훨씬 좋은 연습이 된다.실제로 코딩테스트에서는 “이건 무조건 BFS”, “이건 무조건 ..