💨 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 및 와이..
웹을 위한 스프링 프레임워크 모듈 Java SE 위에는 Java EE 또는 Spring을 얹을 수 있다. Java SE는 가장 대중적인 자바 플랫폼으로 java.lang.*, java.util.* 등과 같이 대부분의 패키지가 포함된 것을 말한다. Java EE는 Java SE 플랫폼을 기반으로 그 위에 탑재되고 JSP, Servlet, JDBC 등 웹 프로그래밍에 필요한 기능을 다수 포함한다. Spring은 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션을 말한다. 앞으로 배울 내용을 간략히 하면 아래와 같다. 느슨한 결합력과 인터페이스 -> DI -> MVC AOP -> 트랜잭션 Servlet Filter -> 인증과 권한 느슨한 결합력과 인터페이스 만약 코드..
시퀀스 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체를 말한다. 시퀀스는 게시판 번호와 같이 번호를 순차적으로 할당할 때 필요하다. 시퀀스 생성하기 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..
관리자 페이지를 위한 Service 생성하기 1. publicNoticeAll(ids) 게시글 일괄 공개 요청하기 public class NoticeService { public int removeNoticeAll(int[] ids) { return 0; } } 넘겨받은 배열로 삭제하고 몇 개를 삭제했는지 반환한다. 2. removeNoticeAll(ids) 게시글 일괄 삭제 요청하기 public class NoticeService { public int pubNoticeAll(int[] ids) { return 0; } } 3. insertNotice(notice) 공지 등록 요청하기 public class NoticeService { public int insertNotice(Notice notice..
아래의 사진과 같이 게시글 목록에서 댓글 수를 포함하려고 한다. 1. 댓글 수 포함하기 먼저 COMMENT 테이블과 MEMBER 테이블의 구성을 살펴보면 아래와 같다. 댓글 수를 알기 위해서는 NOTICE 테이블만으로 알 수 없어 COMMENT 테이블과 NOTICE 테이블을 JOIN을 해야 한다. SELECT * FROM NOTICE N INNER JOIN "COMMENT" C ON N.ID = C.NOTICE_ID ORDER BY N.REGDATE DESC; INNER JOIN을 할 때는 자식 테이블이 기준이 되어서 자식 테이블이 필요로 하는 부모 테이블의 컬럼을 가져오도록 한다. 여기서 자식 테이블은 COMMENT 테이블이다. 위에서 보았다싶이 COMMENT 테이블에는 3개의 컬럼이 있으므로 이를 기..