📁 프로젝트 일지/👩🏫 공공 교육 서비스
-
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 실시간 문구 회원가입 시 아이디, 비밀번호 등을 입력하면서 조건을 만족하는지 실시간으로 체크하고 조건을 알려줄 수 있는 문구를 띄우기로 했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 회원정보 보안에 있어 아이디나 비밀번호가 한두 자리인 것보다 복잡하고 길이가 긴 정보가 더 좋기 때문에 어느 정도 조건이 필요했다. 그리고 사용자 입장에서 실시간으로 조건을 체크해주는 것이 편리하므로 문구를 구현하고자 했다. 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 js에서 이벤트핸들러와 제이쿼리로 아이디, 비밀번호, 비밀번..
7.기능 구현(4) - 회원가입(실시간 문구, 유효성 체크, 비동기 처리)🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 실시간 문구 회원가입 시 아이디, 비밀번호 등을 입력하면서 조건을 만족하는지 실시간으로 체크하고 조건을 알려줄 수 있는 문구를 띄우기로 했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 회원정보 보안에 있어 아이디나 비밀번호가 한두 자리인 것보다 복잡하고 길이가 긴 정보가 더 좋기 때문에 어느 정도 조건이 필요했다. 그리고 사용자 입장에서 실시간으로 조건을 체크해주는 것이 편리하므로 문구를 구현하고자 했다. 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 js에서 이벤트핸들러와 제이쿼리로 아이디, 비밀번호, 비밀번..
2024.02.25 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 카카오 로그인 API 프로젝트에서 API를 사용할 계획이었는데, 그중 카카오 로그인 API를 사용하기로 하였다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 나도 웹 서비스를 이용해본 사용자로서 가장 귀찮은 부분이 사이트 회원가입이라고 생각한다. 그래서 SNS 로그인이 있는 사이트를 선호하기에 사용자 편의성을 위해 적용하기로 했다. 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 API를 가져오는 과정은 그렇게 어렵지 않았다. js에서 카카오 로그인 API를 받아 띄우고 나서 문제는 로그인 기능을 내 사이트와 연결해..
6.기능 구현(3) - 로그인(카카오 로그인 API)🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 카카오 로그인 API 프로젝트에서 API를 사용할 계획이었는데, 그중 카카오 로그인 API를 사용하기로 하였다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 나도 웹 서비스를 이용해본 사용자로서 가장 귀찮은 부분이 사이트 회원가입이라고 생각한다. 그래서 SNS 로그인이 있는 사이트를 선호하기에 사용자 편의성을 위해 적용하기로 했다. 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 API를 가져오는 과정은 그렇게 어렵지 않았다. js에서 카카오 로그인 API를 받아 띄우고 나서 문제는 로그인 기능을 내 사이트와 연결해..
2024.02.23 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 로그인 유효성 체크 로그인 실패 시 사용자에게 그걸 안내할 방법이 필요했고, 서버(컨트롤러)에서 유효성 체크 후 view에서 실패 안내 문구를 띄우기로 했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 시큐리티에서 로그인 성공/실패를 판별한다 👉 로그인 실패 시 시큐리티 설정에 따라 해당 value를 가진 컨트롤러로 넘어간다 그러면 유효성을 체크하는 가장 쉬운 방법은 컨트롤러가 가진 결과(실패)를 그대로 view단에 넘기는 것이다. 그래서 flag를 만들어 view 단으로 넘긴 후 flag 결과에 따라 alert로..
5.기능 구현(2) - 로그인(유효성 체크)🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 로그인 유효성 체크 로그인 실패 시 사용자에게 그걸 안내할 방법이 필요했고, 서버(컨트롤러)에서 유효성 체크 후 view에서 실패 안내 문구를 띄우기로 했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 시큐리티에서 로그인 성공/실패를 판별한다 👉 로그인 실패 시 시큐리티 설정에 따라 해당 value를 가진 컨트롤러로 넘어간다 그러면 유효성을 체크하는 가장 쉬운 방법은 컨트롤러가 가진 결과(실패)를 그대로 view단에 넘기는 것이다. 그래서 flag를 만들어 view 단으로 넘긴 후 flag 결과에 따라 alert로..
2024.02.22 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 초기 초기 로그인은 유저가 입력한 데이터를 담은 객체와, DB에서 아이디를 파라미터로 넣어 select *한 결과값을 담은 객체의 비번을 getter로 불러와 컨트롤러에서 비교하는 방식이었다. ✅ 세션 추가 로그인 후 사용자 아이디와 이름을 세션에 등록하도록 컨트롤러에 구현하였다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 👉 다음과 같은 기능이 필요하였다. 1)로그인 후 회원 이름이 뜨게 하기 2)수강후기 작성, 마이페이지 접속에서 비회원 접근 제한 3)해당 후기 작성자에게만 수정, 삭제 버튼 노출 위 기능을 구..
4.기능 구현(1) - 로그인(세션, 스프링 시큐리티)🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 초기 초기 로그인은 유저가 입력한 데이터를 담은 객체와, DB에서 아이디를 파라미터로 넣어 select *한 결과값을 담은 객체의 비번을 getter로 불러와 컨트롤러에서 비교하는 방식이었다. ✅ 세션 추가 로그인 후 사용자 아이디와 이름을 세션에 등록하도록 컨트롤러에 구현하였다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 👉 다음과 같은 기능이 필요하였다. 1)로그인 후 회원 이름이 뜨게 하기 2)수강후기 작성, 마이페이지 접속에서 비회원 접근 제한 3)해당 후기 작성자에게만 수정, 삭제 버튼 노출 위 기능을 구..
2024.02.19 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 고난의 시작 블로그 글을 보며 전자정부 프레임워크 설치와 샘플 프로젝트 실행까지는 어찌저찌 해냈다. 문제는 DB 연동부터 발생했다. 스프링은 라이브러리 설치 후 root-context.xml에 계정, bean, 컨테이너 설정하면 끝인데, 전자정부 프레임워크는 스프링 기반이긴 하지만 스프링과 형식이 많이 달랐다.(일단 설정 파일이 너무 많음..) 거기다 전자정부 프레임워크와 오라클 DB 연동에 대한 자료가 매우매우 한정적이었다. 블로그 글과 공식문서를 보며 최대한 따라해봤지만 오류 파티가 계속되었다. 코드에서 오류가 나는..
3.개발환경 세팅 - 전자정부 프레임워크 설치, DB 연동🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 고난의 시작 블로그 글을 보며 전자정부 프레임워크 설치와 샘플 프로젝트 실행까지는 어찌저찌 해냈다. 문제는 DB 연동부터 발생했다. 스프링은 라이브러리 설치 후 root-context.xml에 계정, bean, 컨테이너 설정하면 끝인데, 전자정부 프레임워크는 스프링 기반이긴 하지만 스프링과 형식이 많이 달랐다.(일단 설정 파일이 너무 많음..) 거기다 전자정부 프레임워크와 오라클 DB 연동에 대한 자료가 매우매우 한정적이었다. 블로그 글과 공식문서를 보며 최대한 따라해봤지만 오류 파티가 계속되었다. 코드에서 오류가 나는..
2024.02.16 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 이 포스팅에서는 당시 어떤 과정으로 요구사항과 DB를 설계했는지 되짚어 보고자 한다. ✅ 요구사항 정의 1️⃣ '왜' 그렇게 했는가 일단 학원에서 배운 부분(CRUD, 유효성 체크 등)은 기본이라고 생각하여 다 구현하고자 했었다.(클라이언트 입장에서도 다 기본적으로 당연히 있어야 하는 기능들이다.) 그렇게 회원가입, 로그인, 수강후기 게시판을 만들기로 했고, 또한 강좌 조회/신청 서비스가 프로젝트의 핵심이었으므로 강좌에 대한 안내/신청 페이지도 당연히 필요했다. 회원별 강좌를 관리하려면 마이페이지 기능도 당연히 필요했다. ..
2.프로젝트 설계 - 요구사항 정의, DB🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 이 포스팅에서는 당시 어떤 과정으로 요구사항과 DB를 설계했는지 되짚어 보고자 한다. ✅ 요구사항 정의 1️⃣ '왜' 그렇게 했는가 일단 학원에서 배운 부분(CRUD, 유효성 체크 등)은 기본이라고 생각하여 다 구현하고자 했었다.(클라이언트 입장에서도 다 기본적으로 당연히 있어야 하는 기능들이다.) 그렇게 회원가입, 로그인, 수강후기 게시판을 만들기로 했고, 또한 강좌 조회/신청 서비스가 프로젝트의 핵심이었으므로 강좌에 대한 안내/신청 페이지도 당연히 필요했다. 회원별 강좌를 관리하려면 마이페이지 기능도 당연히 필요했다. ..
2024.02.14 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 프로젝트 당시 상황 당시 학원에서는 스프링 프레임워크 진도가 막 끝나가며 슬슬 파이널 프로젝트에 대한 주제를 정하던 참이었다. 지금까지는 내가 흥미있는 주제로 프로젝트를 진행했지만, 파이널 프로젝트인 만큼 좀더 신중하고 현실적으로 다가갈 필요가 있다고 생각했다. 그래서 가장 수요가 많은 주제를 찾아볼 생각으로 채용 공고를 열심히 살펴보았다. 5페이지 정도 봤는데, 꽤 많은 공고에서 우대 사항으로 전자정부 프레임워크를 기록해 놓은 것을 보게 됐다. 내가 원하는 것을 들고 가기보다 상대방이 원하는 것을 들고 가자는 생각에 ..
1.주제 선정 - 전자정부 프레임워크를 선택한 이유🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 프로젝트 당시 상황 당시 학원에서는 스프링 프레임워크 진도가 막 끝나가며 슬슬 파이널 프로젝트에 대한 주제를 정하던 참이었다. 지금까지는 내가 흥미있는 주제로 프로젝트를 진행했지만, 파이널 프로젝트인 만큼 좀더 신중하고 현실적으로 다가갈 필요가 있다고 생각했다. 그래서 가장 수요가 많은 주제를 찾아볼 생각으로 채용 공고를 열심히 살펴보았다. 5페이지 정도 봤는데, 꽤 많은 공고에서 우대 사항으로 전자정부 프레임워크를 기록해 놓은 것을 보게 됐다. 내가 원하는 것을 들고 가기보다 상대방이 원하는 것을 들고 가자는 생각에 ..
2024.02.13