"undefined"
-
Backend
행사 일정 UX: 등록형 행사는 직링크, 일반 일정은 팝업
통합 일정 화면에서 일반 행사 캘린더와 등록·접수형 행사가 한 목록에 섞여 있을 때, 등록형은 상세 페이지로 바로 이동하고 일반 일정만 팝업 UX를 유지하는 방법을 정리합니다. 레거시 PHP 뷰 템플릿에서 팝업용 마크업을 출력하지 않는 한 가지 원칙으로 JS 수정 없이 UX를 갈라 내는 패턴입니다.
2026-05-15
Backend
이벤트 삭제를 안전하게 만드는 휴지통 패턴
관리자가 목록 화면에서 '선택삭제'를 누르면 데이터가 사라지는 기능이 있다고 가정해 보겠습니다. 문제는 같은 버튼을 눌렀는데, 일부 데이터는 휴지통으로 가고 일부는 바로 영구 삭제되는 경우입니다. UI 는 동일하지만 실제 동작이 달라서 운영자 입장에서 위험하고 직관적이지 않습니다. 이 글에서는 일반적인 휴지통 패턴을 예시 코드와 함께 정리합니다.
2026-03-20
Backend
목록·상세 화면에 썸네일 넣기(전체 흐름)
관리자 페이지에서 등록한 썸네일 이미지가 사용자 화면(목록, 상세)에 나오게 만들려면 등록 → 데이터 붙이기 → 화면 출력 이 세 단계를 맞춰 주면 됩니다. 아래에서는 행사/이벤트 같은 목록을 예로 들어, 어느 부분을 손봐야 하는지, 각 단계가 어떤 역할을 하는지 정리해 보겠습니다.
2026-02-03
Backend
폼 → Ajax → API → DB
요즘은 AI에게 모든걸 맡기다 보니 점점 실력이 도태되고 있는 것 같은 느낌이 매우 들고 있던 시기입니다. 그래서 간단한 중복 체크 기능에 대해 초보자도 이해할 수 있을 정도로 자세히 적어보기로 했습니다. 회원 가입이나 회원 정보 수정 화면에서는 같은 전화번호를 다른 사람이 이미 쓰고 있는지 확인하는 기능이 거의 필수입니다. 이 글에서는 폼에서 사용자가 번호를 입력하고, 중복 체크 버튼을 누르면 페이지 새로고침 없이 서버에 요청이 가고, 서버(API·DB)에서 중복 여부를 판단한 뒤 다시 화면에 결과가 나오는 전체 흐름을 단계별로 정리합니다.
2025-12-22
Backend
GEMO 프로젝트 API 설정과 연결
이번 프로젝트는 GEMO라는 이름으로 진행하는 간단한 웹게임 사이트입니다. 첫 단계로 워들 게임을 구현했으며, 이를 위해 사용된 API 설정과 관련된 부분을 정리해 보려고 합니다. Repo 개요·목표 프론트: gemo-frontend — Next.js(App Router) + NextAuth(구글 OAuth) + MongoDB 게임용 유저 상태/통계 API를 Route Handlers로 직접 제공합니다.
2025-09-04
Backend
NextAuth와 MongoDB 연결하기
Next.js 13에서 구글 로그인 구현하고 싶다구요? next-auth만 있으면 로그인부터 DB 저장, 세션 관리까지 전부 다 됩니다. 게다가 MongoDBAdapter 없이? 커스텀해서 사용할 수 있습니다! 왜 MongoDBAdapter 안 썼냐고요? MongoDBAdapter는 좋긴 한데 제 프로젝트에 필요한 데이터 구조가 독특했어요.
2025-07-29
Backend
Spring Boot + MariaDB 테이블 연동해보기
오늘은 Spring Boot 프로젝트에서 MariaDB의 `student` 테이블을 연동해보려고 합니다! application.properties 설정 ✨ DB 연동을 위해 `application.properties` 파일에 다음과 같이 설정을 추가합니다. 위 설정은 MariaDB를 기준으로 작성되었습니다. 로컬에 gemo_db라는 DB가 있어야 하며 gemo_user 계정도 미리 만들어두셔야 합니다.
2025-06-05
Backend
MariaDB 설치하고 MySQL Workbench로 연결하기
MariaDB 설치 먼저, MariaDB 공식 사이트에 접속해서 내 운영체제에 맞는 설치 파일을 다운로드해 주세요. MariaDB 설치과정 중 체크 설치는 대부분 다음 → 다음 → 설치 방식이라 어렵지 않아요. 하지만 중간중간 체크해야 할 옵션들이 중요해요! 아래 이미지들을 참고해서 설정해봅시다. 저는 개인적으로 MySQL Workbench를 사용할 예정이라, HeidiSQL은 설치하지 않았어요.
2025-06-04