2025-07-29
오늘 배운 것
- 신한 해커톤 ERD 작성, 아키텍처 설계
- 실제 MM에 작성했던 의견인데, 특히 아키텍처 부분에서 생각해야 될 점들이 많았었다.
- 톰캣의 내장, 외장 차이점
- nginx, apache 차이점
아키텍처
다 비슷하게 구성될 것 같으니까, 구체성으로 좀 더 점수 따기 위해서 생각해본 것들이고 반영은 자유! (지금도 충분히 괜찮아)
- 내장 톰캣 사용한다고 가정하면(보편적인 방법) spring 위에 톰캣(WAS이므로) 추가해주면 좋을듯!
- nginx(또는 apache)는 쓸 필요 있을지? 서버 스케일아웃이 된 상태라고 생각하면 트래픽 관리 측면에서도 로드밸런싱이 되면서 도움이 될듯
- Web Socket은 찾아보니까 redis나 rabbitmq, kafka랑 연결(서버 유지를 위해?)해서 사용하는데 이 부분에 대해 어떻게 하는게 좋을까?
- SSAFY 교육 금융망 API도 별개의 공간으로 넣어서 여기서 spring 서버와의 연결점 만들어주면 좋을듯!
ERD
- user table
- status (휴학생, 재학생, 탈퇴//일반적으로 사용자의 정보를 빅데이터 활용을 위해 탈퇴해도 몇년간 정보 가지고 있는 부분을 생각)
- product table
- status (판매중, 거래중//사실 이건 있어야 될지 의문이긴해 여러명이라 거래할 수도 있는거니까, 거래완료)
- transaction table
- created_at (거래 성사된 시간이 있어야 대항전할때 쿼리해올 필수적인 정보)
- Java 문법
- 람다식
- 함수형 인터페이스
Predicate<T>
Consumer<T>
Supplier<T>
Function<T, R>
- Stream
- filter
- sorted
- forEach
- map
- collect
- 정처기 필기
- 모형
- 워터폴(선형)
- 나선형(워터폴+위험분석, 점진적)
- 에자일(주기 반복)
- XP
- 짧고 반복적인 주기, 단순 설계, 고객 참여 > 빠른 개발
- 의사소통, 단순성, 용기, 존중, 피드백
- 요구사항 개발 프로세스
- 도출 > 분석 > 명세 > 확인
- 요구사항 분석
- 사용자 요구 타당성 조사, 비용/일정 제약 설정
- 요구 추출하여 목표 및 해결 방식 설정
- 요구사항을 정확하고 일관성 있게 분석하여 문서화
- 소프트웨어 분석가가 요구사항 분석
- UML, 자료 흐름도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec.), 개체 관계도(ERD), 상태 전이도(STD), 제어 명세서 등
- 자료 흐름도(DFD)
- 프로세스 : 원 or 둥근 사각형
- 자료 흐름 : 화살표
- 자료 저장소 : 통로 or 스티커
- 단말 : 사각형 or 겹친 사각형
- 관계
- 연관, 집합, 포함, 일반화, 의존, 실체화
- 다이어그램
- 구조 : 클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지
- 행위 : 유스케이스, 순차, 커뮤니케이션, 상태, 활동, 상호작용 개요, 타이밍
- 모형
내일 할 일
- 신한 해커톤 마무리 단계
- Java 문법
- 정처기 필기