일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- indexOf()
- 객체의키값만 찾기
- 스프링 데이타 JPA
- sql like연산자
- 프론트엔드 스쿨
- 5.3.8 Modifying Queries
- 코딩 어?
- 배열을 객체로
- sql 문자열 패턴 검색
- findIndex()
- 리엑트블로거
- 문자열 중복
- 우분투 시간 변경
- 객체를 배열로
- js 문자열을 문자배열로
- ...점점점문법
- @Moditying @Query
- search()
- 시퀄 문법
- 중복 문자열
- 중복단어제거
- 객체의 밸류값만 찾기
- 제로베이스
- 중복문자제거
- ubuntu타임존
- 깃 토큰 만료
- 중복된 단어
- 단어 제거
- 레디스 확인
- lastIndexOf()
- Today
- Total
코딩기록
4일차(목) 업무 + TIL (DDD-도메인 주도 설계) 본문
오늘 신사업 DB 관련해서 추가 설명을 들을 예정이다.
DDD를 처음 접해서 굉장히 낯설었는데 하다 보니 훨씬 더 편리하다는 생각이 든다.
예를 들자면,
기존 DB설계
User | admin | post | comment |
userId: Integer name: String email: String pass: String |
adminId: Integer name: String pass: String |
postId: Integer title: String content: String writer: String date: Date postCnt: Integer postLikes: String |
commentId: Integer content: String commentDate: Date commentCnt: Integer commentLikes: String |
이렇게 유저, 관리자, 게시판, 댓글 DB를 따로 분류했었다.
DDD 설계
user ( 유저,관리자 통합 ) |
usermeta | board | boardPost |
userId: Integer userSlug: String name: String email: String pass: String |
? 아직모름 | notice: String faq: String updateNews: String feedback: String |
postId: Integer boardSlug: String title: String content: String |
카테고리로 묶어서 user, board디비를 만들고 세부내용을 boardPost에 저장한다.
이렇게 하면 중복 코드를 줄일 수 있다.
범용으로 DB를 쓰기에 최적화이고 코드 중복을 줄일 가장 좋은 방법이 DDD 도메인 주도 설계이다.
여기서 Slug, meta라는 개념이 나온다.
"meta"는 user에 사용자 기본 정보를 저장하고 그 외 사용자 추가 정보를 저장하는 것이다. 나중에 자세히 쓰겠다.
"Slug"는 일반적으로 이미 얻은 데이터를 사용하여 유효한 URL을 생성하는 방법이다. 예를 들어, Slug는 기사 제목을 사용하여 URL을 생성한다. 수동으로 설정하는 대신 제목 (혹은 다른 데이터)가 주어지면 함수를 통해 슬러그를 생성하는 게 좋다.
DB에 DB고유 ID처럼 slug를 사용한다. ( ex- 상품, 멤버십, 게시글, 테이지, 게시판 카테고리 등 )
오늘의 할 일
1. 유저 플로우 확인하기( 피그마 )
역시 보다보니 점점 파악이 되고 머리속에 그림이 또렷해진다.
2. DB 추가 및 리스트 상세 항목 적기
*생각보다 많다. usermeta, userLog디비 새로운 개념을 배우면서 만드는 중이라서 그렇다.
1. usermeta: 기존 user DB와 다르게 사용자를 1.user(기본정보), 2.usermeta(추가정보) 두가지 경우로 나눠서 저장한다.
2. userLog: 사용자로그 데이터로 니즈를 파악해 서비스 개선을 위해 사용한다.
크게 1. 서비스 로그 ( 서비스가 운영되기 위해 필요한 데이터 ),
2. 유저 행동 로그 ( 앱이나 웹에서 유저가 어떤 행동을 하는지를 나타내는 데이터 )
두가지로 나뉜다.
* 내일 마저하기
3. DB 저장 정보, API 분류해서 정리하기
2번 에서 시간을 다썼다. 내일 예정
4. 작성 확인받고 ERD설계( 관계 설정 신경 쓸 것)
2번 에서 시간을 다썼다. 내일 예정
오늘 한 일
1. 유저 플로우 확인하기( 피그마 )
2. DB 추가 및 리스트 상세 항목 적기
오늘 배운 것
사용자 로그- 마케팅 분석
https://techblog.woowahan.com/2536/
**추천!! ( 개념과 용어설명, 방식등 자세히 적혀있음 )
https://zzsza.github.io/data/2021/06/13/data-event-log-definition/
오늘 미처리 및 추후 처리 업무
3. DB 저장 정보, API 분류해서 정리하기
4. 작성 확인받고 ERD설계( 관계 설정 신경 쓸 것)
참고
*DDD 설명 - 나
* slug
https://iamjjanga.tistory.com/39
'백엔드' 카테고리의 다른 글
8일차(월) 업무 + TIL (ERD Digram- 객체기반 도메인 ) (0) | 2022.05.30 |
---|---|
5일차(금) 업무 + TIL (DDD-도메인 주도 설계) (0) | 2022.05.27 |
4일차(목) 사용자 로그, 로그 데이터, 데이터 분석 (0) | 2022.05.26 |
3일차(수) 업무 + TIL (User 도메인 설계) (0) | 2022.05.25 |
2일차(화) 업무 + TIL (0) | 2022.05.24 |