
💡 시간복잡도 서로 다른 알고리즘의 효율성을 비교할 때 사용 시간복잡도 효율순 : O(1) < O( 𝑙𝑜𝑔𝑛 ) < O(n) < O(n 𝑙𝑜𝑔𝑛 ) < O( 𝑛2 ) < O( 2𝑛 ) < O(n!) Big O 표기법이란? - O (빅 오 복잡도) : 비교 대상인 그래프가 일치 혹은 아래에 있을 때. 비교 대상인 다른 알고리즘과 같거나 더 빠르다. - θ (세타 복잡도) : 비교 대상인 그래프가 일치할 때. 비교 대상인 다른 알고리즘과 같다. - Ω (빅 오메가 복잡도) : 비교 대상인 그래프가 일치 혹은 위에 있을 때. 비교 대상인 다른 알고리즘과 같거나 느리다. - o (리틀 오 복잡도) : 비교 대상인 그래프가 아래에 있을 때. 비교 대상인 다른 알고리즘보다 더 빠르다. - ω (리틀 오메가 복잡도)..

💡 자료 구조 여러 데이터들의 묶음을 저장하고 사용하는 방법을 정의한 것 자료의 집합, 각 원소들 사이의 관계가 논리적 정의된 일정한 규칙에 의하여 나열되며, 자료처리의 효율성을 위해 조직&체계적으로 구분하여 표현한 것 (알고리즘 테스트 시 자주 등장하는 Stack,Queue,Tree,Graph 등) 자료구조의 경계 조건 자료 구조가 비어있는 경우 자료 구조에 단 하나의 요소가 들어있을 때 자료 구조의 첫 번째 요소를 제거하거나 추가할 때 자료 구조의 마지막 요소를 제거하거나 추가할 때 자료 구조의 중간 부분을 처리할 때 학습 포인트 각 자료구조가 가진 특징 각 자료구조를 사용하기 적합한 상황 판단 다른 구조와의 차이점을 이해하기 위해 자료구조 내부 직접구현 구현 시, 동작원리 이해하기 자료구조를 배워야..

💡 Auto Deployment 준비사항 1. Github Actions 생성 2. S3 버킷 & 정적 웹 호스팅 비활성화 & Public Access 차단 해제 3. AWS Code Deploy 4. EC2 & t2.micro Free Tier Memory 증설( https://root-ca.tistory.com/235 ) 5. RDS Github Actions 생성 & 설정 java with gradle -> start commit repo -> settings - secrets/actions -> new repository secret AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY 등록 gradle.yml 수정 Build with Gradle 부분을 설정하여 직접 빌드 방식으로..
💡 결제 기능 요구사항 Open-Session-in-view 옵션: false (트랜잭션 내부의 프록시객체 초기화 필요) 연관관계 : Member 1 Post N @ManyToOne 단방향 매핑으로 진행 FetchType : Lazy 1. 결제 등록 2. 결제 취소 요청 (유저 마이페이지) 3. 결제 취소 승인 (관리자) 4. 프로그램 결제내역 단건 조회 (유저 마이페이지) 5. 프로그램 결제내역 전체 조회 (유저 마이페이지) 6. 특정 회원 상담내역 전체 조회 (관리자 마이페이지) 7. 결제 상태별 내역 조회 (관리자) 💡 소스코드 Entity @Entity @Getter @NoArgsConstructor public class Pay extends BaseEntity { @Id @Gener..
💡 프로그램 기능 요구사항 Open-Session-in-view 옵션: false (트랜잭션 내부의 프록시객체 초기화 필요) @ManyToOne 단방향 매핑으로 진행 FetchType : Lazy 1. 프로그램 등록 2. 프로그램 수정 3. 프로그램 수정 (상담사 마이페이지) 4. 프로그램 조회 (상담사 마이페이지) 5. 프로그램 전체 조회 (상담사 마이페이지) 6. 프로그램 조회 (공통) 7. 프로그램 전체 조회 (공통) 8. 고민별 & 추천별 프로그램 조회 9. 프로그램 전체조회 (관리자) 10. 상담사의 상담이력 전체 조회 (관리자) 11. 프로그램 삭제 (관리자) 💡 소스코드 Entity @Entity @Getter @Setter @NoArgsConstructor public class Progr..
💡 상담사 기능 요구사항 Open-Session-in-view 옵션: false (트랜잭션 내부의 프록시객체 초기화 필요) @ManyToOne 단방향 매핑으로 진행 FetchType : Lazy 1. 상담사 등록 (관리자만 등록 가능) 2. 상담사 로그인 3. 상담사 전체 조회 (관리자의 마이페이지) 4. 상담사 수정 (상담사 마이페이지) 5. 상담사 삭제 (괸라자만 삭제 가능) 💡 소스코드 Entity @Entity @Getter @Setter @NoArgsConstructor public class Counselor extends BaseEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long counselorId; @C..
💡 공지사항 기능 요구사항 PostMan API Docs 작성 https://documenter.getpostman.com/view/23682055/2s8ZDU6jkR Open-Session-in-view 옵션: false (트랜잭션 내부의 프록시객체 초기화 필요) 연관관계 : Member 1 Notice N @ManyToOne 단방향 매핑으로 진행 FetchType : Lazy 1. 공지사항 생성 2. 공지사항 수정 3. 공지사항 단건조회 4. 공지사항 전체조회(Pagenation) 5. 공지사항 삭제 6. 조회수 카운트(Update Query) 공지사항 생성 공지사항 생성 시, HttpServletRequest를 파라미터로 받아 유저의 Role (Admin, User, Counselor)을..