이전글에서 확인할 수 있다시피 2차 프로젝트를 마무리하지 못하고 수료했다.😭 그래서 추가적으로 개발 진행을 할 수 있는 사람끼리 프로젝트 마무리를 하기로 결정! 원래 초기 기획은 대학교에서 사용하는 웹사이트였지만 이후 개발에 참여할 수 있는 사람이 나를 포함하여 2명밖에 없었기 때문에 시간상 학원에서 사용하는 웹 사이트로 목적이 변경되었다. 회원 페이지 이외의 구현 내용은 이전글을 참고바란다~! 💨 주요 기능 소개 📌 메인 페이지 기존의 학교 로고에서 학원 로고로 변경했다. 로그인을 하면 아래의 페이지에 접근이 가능하다. 📌 나의 정보 (학생 & 강사) 1. 나의 정보 조회 학생과 강사 모두 자신의 정보를 조회할 수 있다. 2. 나의 정보 수정 수정하기 버튼을 누르면 사진, 이메일, 주소, 연락처 등을 ..
길다면 길고 짧다면 짧은 약 6개월 기간의 국비 과정을 수료했다.🎉 국비 과정을 시작할 때만 해도 언제 끝이나나 했는데 벌써 프로젝트를 마무리하고 수료까지 했다. 지나고 보면 정말 시간이 금방 지나가는 것 같긴 하다. 국비 학원을 다니면서 꾸준하게 기록하고 블로그에 글을 쓰고 싶었는데 생각보다 힘들었던 것 같다. 그래도 블로그에 어느정도 흔적을 남긴 것 같아서 조금 뿌듯하다.╰(*°▽°*)╯ 일단 학원에 대해서 먼저 끄적여보자면 우리는 강사님이 총 3번 바뀌었다. 프론트 강사님과 백엔드 강사님이 다르다는 것은 알고 있었는데 백엔드 강사님이 2번이나 바뀌었다. ㅎㅎ;; 강사님과의 유대감? 친밀감?이라고 해야하나 나는 개인적으로 이 부분이 중요하다고 생각했다. 왜냐하면 강사님과 친할수록 질문하기도 더 수월하..
💨 EduMasters 학습자 관리 솔루션(대면) 💨 기획 의도 1. 쉬운 접근성 → 학생 및 강사(사용자)들이 교육과정 정보를 손쉽게 접근하고 이해 가능 2. 효율성 증대 → LMS를 통해 교육과정 및 자료를 집중화하고 상호작용을 간소화 3. 정보 공유 → 커뮤니티를 통한 정보 공유 💨 개발 환경 운영체제) Window11 IDE) IntelliJ 데이터베이스) MariaDB 협업 도구) Discord, Github, Notion, Google Drive 서버측 도구 및 기술) java 17.0.7, Apache Tomcat, Gradle, Spring boot 2.3.1, Lombok, MyBatis 클라이언트측 도구 및 기술) HTML, CSS, JavaScript, Ajax, Jquery 💨 개발..
9월 21일 ~ 9월 23일 먼저 2차 프로젝트는 기업 프로젝트로 진행되었다. 주제는 1.청소 차량 센서 연계 관제 시스템과 2.통합 관리 시스템이 있었다. 내가 생각하기에 1번 주제는 그 회사에서만 사용하는 기능일 것 같기도 했고 2번 주제가 좀 더 앞으로 취업하는 회사에서 더 많이 쓰일 것 같아 2번을 선택하게 되었다. (CRUD를 전체적으로 사용한다는 점에서 ㅎㅎ..) 이렇게 같은 주제를 선택한 사람들과 팀이 생성되고 처음 회의를 하게 되었다. 통합 관리 시스템에서도 상담관리 / 학습자관리 / LMS 솔루션으로 나뉘었는데 우리는 그 중에서도 학습자 관리 솔루션(대면)으로 결정했다! 9월 24일 ~ 10월 3일 하필이면 2차 프로젝트 기간 중에서 추석 연휴가 있었다. 무려 6일... 나중에서야 생각해..
💨 PetConnect 동물 병원 및 장묘 업체 찾기 서비스 웹 사이트 개발 💨 기획 의도 1. 한 사이트에서 반려인이 원하는 지역의 동물 병원 및 장묘 업체 조회 가능 → 편의성 확보 2. 업체 정보 확인과 후기 등록 및 확인 → 정보 제공 3. 반려동물 관련 자유로운 소통 가능 → 커뮤니티 기능 💨 개발 환경 운영체제) Window11 IDE) Eclipse sts 4.18.0 데이터베이스) MariaDB 협업도구) Discord, GitHub, Notion 서버측 도구 및 기술) java 17.0.7, Apache Tomcat, Gradle, Spring boot 2.5.4, Spring Security, Spring Data JPA(Hibernate) 클라이언트측 도구 및 기술) HTML, CSS..
1차 프로젝트 회고를 작성하기 전에 몇 번 글을 작성하고 싶었는데 생각보다 시간이 너무 금방 지나갔고 프로젝트를 시작하게 되면서 바빠져서 바로 1차 프로젝트 회고를 작성하게 되었다. 8월 23일 ~ 8월 말 팀원이 정해진 후 여러가지 주제를 말하던 중 하나를 선택했는데 DB를 설계하는 와중에 DB가 우리가 생각했던 것보다 너무 커진 것을 느끼게 되었다... 이건 프로젝트 기간 안에 끝내지 못할 것 같다는 생각이 들어서 같이 DB를 설계하는 팀원분과 다른 주제를 몇 개 찾아서 다음날 팀원분들에게 주제를 엎자고 했다. 사실 와이어 프레임과 플로우 차트 등 어느정도 진행된 상태라 말할까 말까 고민을 많이 했었다. ㅠㅠ 다행히도 다른 팀원 분들도 긍정적으로 받아들여주셔서 주제 변경 완료! 9월 초 DB 및 와이..
시퀀스 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체를 말한다. 시퀀스는 게시판 번호와 같이 번호를 순차적으로 할당할 때 필요하다. 시퀀스 생성하기 CREATE SEQUENCE [시퀀스명] INCREMENT BY [증감숫자] START WITH [시작숫자] MINVALUE [최솟값] MAXVALUE [최대값]; CREATE SEQUENCE SEQ_NO INCREMENT BY 1 START WITH 1 MINVALUE 1 MAXVALUE 100; 시퀀스 번호 확인하기 SELECT SEQ_NO.NEXTVAL FROM DUAL; 위의 코드를 한번 더 실행시키면 아래와 같이 시퀀스 값이 1이 늘어나는 것을 확인할 수 있다. 현재 시퀀스 번호 확인하기 SELECT SEQ_NO.CURRVAL FRO..
ROWNUM은 오라클 내부적으로 생성되는 가상 컬럼으로 자료의 일부를 잘라내서 이용할 때 사용한다. 즉, ROWNUM을 통해 조회된 컬럼이 몇 번째 컬럼인지 알 수 있다. 위의 사진과 같이 ID와 별개로 순서를 알 수 있는 것이 ROWNUM이다. 1. 먼저 ROWNUM은 아래와 같이 *(모든)과 같이 사용할 수 없다. SELECT ROWNUM, * FROM MEMBER; 왜냐하면 모든이라는 것은 전부 출력한다는 의미인데 이미 전부를 출력했는데 여기서 다른 것이 포함될 수 없기 때문이라고 할 수 있다. 이 부분은 아래와 같이 명시적으로 정의해준다면 사용할 수 있다. SELECT ROWNUM, MEMBER.* FROM MEMBER; 2. 1부터 시작하는 ROWNUM이 아니라면 서브쿼리를 사용하자. 이게 무슨..