얍!

개발 관련 기록하고 있습니다.

최신 글

more

[스물네칸] Google 로그인 UI를 막으려다, 로그인 흐름 자체를 바꾼 이야기

스물네칸은 하루를 시간 단위로 간단하게 기록하는 Android 앱이다. # 문제 발견스물네칸에서는 별도의 자체 서버 없이 데이터를 기기에 저장하고, Google Drive를 이용해 동기화할 수 있도록 만들고 있다.Google Drive를 연결한 상태에서 앱을 다시 실행했을 때 한 가지 불편한 문제가 있었다. 기존 연결을 복원하는 과정에서 Google 인증 Bottom Sheet가 다시 나타날 수 있었고, 사용자가 이 과정에서 화면을 터치하거나 인증을 취소하면 Drive 연결이 정상적으로 복원되지 않을 수 있었다. 문제는 여기서 끝나지 않았다. 한 번 연결이 정상적으로 복원되지 않으면 다시 Drive를 연결해야 했고, 이후 동기화 과정도 오래 걸릴 수 있었다. # 처음에는 터치를 막으려고 했다처음 생각한 ..

프로젝트 2026.10.03 0

[스물네칸] 스물네칸 안드로이드 앱 (Seumulnekan Android App)

📌 프로젝트 요약프로젝트(제품) 명: 스물네칸개발 시작일: 2026-08-03사용 기술: Flutter, Dart, Kotlin, SQLite, Google Drive API현재 진행 상태:비공개 테스트 완료 및 프로덕션 액세스 승인 후, UX 개선과 공개 전환 준비소개 웹사이트: https://jelee.io/seumulnekan📢 프로젝트 소개 1. 어떤 앱인가?스물네칸은 하루 동안 할 일을 짧게 남기고, 00시부터 24시까지의 타임라인을 보며 하루를 돌아보는 로컬 우선 기록 앱입니다.완성된 일기를 작성하는 공간보다는 나중에 하루를 떠올릴 수 있도록 기억의 단서를 모으는 디지털 메모지에 가깝습니다.기록은 최대 50자로 작성하며 시작 시각과 선택적으로 종료 시각을 함께 남길 수 있습니다. 2. 누구..

프로젝트 2026.10.03 0

짧게 기록하고 하루를 돌아보는 앱, ‘스물네칸’의 비공개 테스터를 모집합니다

안녕하세요!하루 중 남겨두고 싶은 순간을 짧게 기록하는 앱, 스물네칸을 만들었어요.현재 구글 플레이에 비공개 테스트 버전을 출시했고, 정식 출시를 앞두고 함께 사용해 보실 분들을 모집하고 있습니다.평소 일기나 메모 앱을 자주 사용하신다면, 아래 소개를 읽어보시고 테스트에 참여해 주세요! 00. 스물네칸은 어떤 앱인가요?“오늘 뭘 했더라?”“아까 떠올랐던 생각이 뭐였지?”하루를 보내다 보면 했던 일도, 떠올랐던 생각도 쉽게 잊어버리곤 해요.스물네칸은 내가 무엇을 했는지, 어떤 생각이 들었는지 짧게 남기는 기록 앱이에요.완성된 일기를 쓰지 않아도 괜찮아요. 그때그때 메모하듯 남겨두고, 하루를 돌아보거나 나중에 일기를 쓸 때 꺼내보세요. 01. 이런 분들께 추천해요!일기를 쓰려고 하면 그날 무엇을 했는지 잘..

자료 보관함 2026.09.10 0

Google Play 업로드용 keystore 생성과 key.properties 연결

Google Play에 개발자 등록과 본인 인증 후 AAB를 올리려면 upload keystore로 서명한 빌드가 필요합니다.Play 개발자 계정과 별개로, 내 PC에서 키 파일을 만든 뒤 출시 설정에서 앱과 연결하면 됩니다. 1. keystore 생성프로젝트의 android 폴더에서 실행합니다.// 안드로이드 폴더로 이동cd android// keytool을 사용해서 keystore 생성keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias uploadkeytool: JDK에 포함된 인증서/키 관리 도구-genkey: -genkeypair와 같음. 공개키+개인키 쌍을 새로 만들고 ..

기타 2026.09.05 0

작업물

more

[스물네칸] Google 로그인 UI를 막으려다, 로그인 흐름 자체를 바꾼 이야기

스물네칸은 하루를 시간 단위로 간단하게 기록하는 Android 앱이다. # 문제 발견스물네칸에서는 별도의 자체 서버 없이 데이터를 기기에 저장하고, Google Drive를 이용해 동기화할 수 있도록 만들고 있다.Google Drive를 연결한 상태에서 앱을 다시 실행했을 때 한 가지 불편한 문제가 있었다. 기존 연결을 복원하는 과정에서 Google 인증 Bottom Sheet가 다시 나타날 수 있었고, 사용자가 이 과정에서 화면을 터치하거나 인증을 취소하면 Drive 연결이 정상적으로 복원되지 않을 수 있었다. 문제는 여기서 끝나지 않았다. 한 번 연결이 정상적으로 복원되지 않으면 다시 Drive를 연결해야 했고, 이후 동기화 과정도 오래 걸릴 수 있었다. # 처음에는 터치를 막으려고 했다처음 생각한 ..

프로젝트 2026.10.03 0

[스물네칸] 스물네칸 안드로이드 앱 (Seumulnekan Android App)

📌 프로젝트 요약프로젝트(제품) 명: 스물네칸개발 시작일: 2026-08-03사용 기술: Flutter, Dart, Kotlin, SQLite, Google Drive API현재 진행 상태:비공개 테스트 완료 및 프로덕션 액세스 승인 후, UX 개선과 공개 전환 준비소개 웹사이트: https://jelee.io/seumulnekan📢 프로젝트 소개 1. 어떤 앱인가?스물네칸은 하루 동안 할 일을 짧게 남기고, 00시부터 24시까지의 타임라인을 보며 하루를 돌아보는 로컬 우선 기록 앱입니다.완성된 일기를 작성하는 공간보다는 나중에 하루를 떠올릴 수 있도록 기억의 단서를 모으는 디지털 메모지에 가깝습니다.기록은 최대 50자로 작성하며 시작 시각과 선택적으로 종료 시각을 함께 남길 수 있습니다. 2. 누구..

프로젝트 2026.10.03 0

[mini-project] Yoga Responsive Website Re-design

📌 프로젝트 개요실존하는 요가 스튜디오의 웹사이트를 벤치마킹하여 Redesign을 하였습니다. 그리고 반응형으로도 제작하여 사용자가 다양한 방식으로 접근을 할 수 있도록 하였습니다.* 이 프로젝트는 상업적 용도가 아닙니다. 프로젝트 명: 요가원 반응형 웹사이트 리뉴얼개발 기간: 2024-06-25 ~ 2024-08-04목적: HTML5, CSS3을 사용하여 반응형 웹사이트를 제작하면서 경험을 쌓는 것과 동적인 부분을 JavaScript만을 사용하여 구현을 함으로써 언어에 대한 이해도와 경험을 쌓기 위함입니다.사용 기술: HTML5, CSS3, JavaScript, VS Code, Git & GitHub, GitHub Pages🧩 구현 기능기능명상세 설명원페이지 반응형하나의 페이지에 PC, 태블릿, 모..

프로젝트 2025.07.08 0

[mini-project] To-do List (React)

📌 프로젝트 개요리액트를 사용하여 To-do List를 만들고 GitHub Pages로 배포하는 개인 미니 프로젝트.데이터는 로컬 스토리지 사용.프로젝트 명: 리액트로 만든 To-do List개발 기간: 24.08.05 ~ 24.08.21목적: React를 이해하고 개인이 가볍게 사용할 목적으로 React를 사용하여 To-do List를 제작하였습니다.사용 기술: HTML5, CSS3, JavaScript, React, React Hooks, VS Code, Git & GitHub, GitHub Pages🧩 구현 기능기능명상세 설명할 일 추가내용을 입력 후 + 버튼을 클릭하면 할 일이 목록에 추가된다.할 일 삭제추가된 할 일 우측에 있는 - 버튼을 클릭하면 삭제된다.할 일 수정추가된 할 일을 클릭하면..

프로젝트 2025.07.07 0

개발 일지

more

[Library Management System] 25.10.31 | (구현) 마이페이지-리뷰 내역 페이지 전체 목록 조회, 리뷰 수정 기능

[ 작업한 내용 ]# Frontend1. 리뷰 내역 페이지에서 리뷰 전체 목록 조회 API 연결// 리뷰 전체 apiconst fetchBookReview = async (page, size) => { setLoading(true); setError(null); try { const response = await axios.get( `http://localhost:8080/api/v1/user/me/reviews`, { params: { page: page, size: size, }, withCredentials: true, headers: { Accept: "applicatio..

[Library Management System] 25.10.31 | (구현) 마이페이지 리뷰작성 유무 체크와 UI 구현

[ 작업한 내용 ]# Frontend1. 리뷰작성 유무 체크- 리뷰작성이 되었다면 수정하기 버튼이 화면에 출력이 되고, 리뷰작성이 안 되었다면 작성하기 버튼이 화면에 출력이 된다. 리뷰작성: {item.reviewWritten != true ? ( 미작성 | handleClick(item.id, "reviewCreate")} >작성하기 > ) : ( 작성 | handleClick(item.id, "reviewUpdate")} >수정하기 > ) }2. 리..

[Library Management System] 25.10.31 | (구현) 마이페이지-대출내역 페이지 기능 / frontend, backend

[ 작업한 내용 ]# Frontend1. 대출 연장 api 연결- 대출연장은 1회만 가능. 대출연장 유무를 체크하여 0회 또는 1회로 표시.대출연장: {item.extended != true ? "0" : "1"}회 - 도서 대출 연장 버튼 클릭 시 해당 id를 대출 연장 api 함수로 전달하여 실행. // 도서 대출 연장 apiconst updateExtended = async (loanId) => { try { const response = await axios.patch( `http://localhost:8080/api/v1/user/me/loans/${loanId}/extend`, {}, { withCredentials: true, he..

[Library Management System] 25.10.31 | (구현) 마이페이지 도서 대출 연장 기능 구현, 응답 결과 DTO 필드 수정

[ 작업한 내용 ]# Frontend1. 도서 대출 연장 유무 및 버튼- 대출 연장 버튼 UI 틀만 구현대출연장: 0회연장하기# Backend1. 사용자 도서 대출 연장 api 구현- controller, service, dto, messages.properteis, LoanErrorCode// controller@PatchMapping("/loans/{loanId}/extend")public ResponseEntity extendLoan( @PathVariable("loanId") Long loanId, @AuthenticationPrincipal User user) { // 서비스로직 UserLoanExtendedResDTO responseDTO = userLoanService.exte..