데이터 베이스(DB) 모델링이란? 현실 세계의 데이터를 추상화하여 DB 구조를 설계하는 전체 과정이다. 추상적 -> 구체적/실체적 1. 요구 사항 분석 유저 시나리오 구상, 요구사항 도출하기 2. 개념적 데이터 모델링 데이터 요구사항 분석, 개념(Entity) 간의 상호작용을 판단하는 과정 인티티 & 관계 만들기 E-R-D 그리기 -> 기본적 관계 특성과 선택성/기수성에 초점을 둔다. https://app.diagrams.net/ Flowchart Maker & Online Diagram Software Flowchart Maker and Online Diagram Software draw.io is free online diagram software. You can use it as a flowchar..
SuperCoding
Table Join 적용 시, Table끼리는 1:N 관계 - Inner Join 두 Table의 겹치는 부분을 리턴하는 join 그냥 join이라고 작성해도 inner join + - Outer Join Left Join Right Join Full Join (MySQL 현재 버전 지원 X) MySQL 서브 쿼리 1. 서브쿼리 FROM 안에 사용하기 2. 서브쿼리 WHERE 문 안에 사용하기 - 자체 조인 Self Join: 자기 자신 테이블을 참조 테이블로 두기 따로 문법 존재 X Inner Join / Outer Join 둘 다 가능 - 상호 조인 Cross Join (on이 필요없음) 잘 사용하지 않음 예전에 데베 수업 들을 때 작성해놨던 거 있음! https://gusdkstudyhard.tis..
관계형 데이터 베이스의 관계 두 가지 특성 - 관계의 선택성 (Optionality) 두 테이블 간 관계 설정 시, 페어링 필수 여부 (mandatory vs optional) 부모에게 자식은 선택의 존재(optional)이지만, 자식에게 부모는 필수적인(mandatory) 존재 일반적인 관계의 중요성과 비슷한 의미 optional = "동그라미(O)" 표시 (가질 수 있다) mandatory = "수직바(|)" 표시 (가져야 한다) - 관계의 기수성 (Cardianality) 두 테이블 간 관계 설정 시, 참여 멤버 수 표현 (One vs many) 부모는 여러 명의 자식과 관계를 맺을 수 있지만, 자식은 부모 한 명만 관계 맺음 연인 관계는 서로 한 명만 일반적인 관계의 다중성과 비슷한 의미 - Pr..
TO-DO LIST - 69강 Big Picture(RDBMS 개념 및 SQL 기초) ~ 71강 MySQL 무작정 따라하기 배운 내용 요약 정리 빌드 도구 Gradle Gradle DSL maven repository Java Gradle Application 개선해보기 개선 순서도 기존 Application 정상 동작 확인 -> 기존 Java 코드 이슈 발견 -> 해결책 검색 & 라이브러리 리서치 -> Java 라이브러리 의존성 추가 -> Java 코드 수정 -> 새로운 Java Build 확인 편리한 객체 간 매핑 MapStruct 라이브러리 dependencies에 implementation, annotationProcessor 추가 후 MapStruct 인터페이스 작성 Java 메소드 레퍼런스..
TO-DO LIST - 65-1강 자바 어노테이션과 메타 프로그래밍 ~ 67-1강 빌드 도구 Gradle로 프로젝트 만들기 (2) 배운 내용 요약 정리 Java Annotation이랑 메타프로그래밍 강의 들은거 필기한게 다 날라갔넹.. 미리 저장해둘걸 이래서 git push 해야 됩니다 ~.~ Java Application 만들 때 -> 비즈니스 핵심 로직, 중요 클래스 직접 구현 & 외부 클래스, 인터페이스 등 Java 코드 활용 (Java 라이브러리) Java Application 구현 후 실행 준비하기 -> Java 코드 실행 검증 Java 외부 라이브러리 종속성 관리 Java 코드 jar패키징 Java 빌드 = Java Application 실행할 수 있는 상태 만들기 = Java Compil..
TO-DO LIST - 63-2강 멀티 쓰레딩 프로그래밍 ~ 64-2강 디자인 패턴 소개 배운 내용 요약 정리 Thread 동기화 문제 여러 스레드 공통 영역 동시 접근하여 수정하는 상황, 충돌과 일관성 문제 발생 synchronized로 동기화 문제 해결 하나의 서버는 다수의 client 요청을 동시에 처리해야 한다. 디자인 패턴 = 소프트웨어 디자인 과정(코드 구현 전 설계) 전형적인 해결책 = 게임 공략법, 전략 최적의 설계 노하우 정리 많은 디자인 패턴은 새로운 문법이나 키워드를 사용하는 게 아니다 문법, 개념을 유기적으로 연결하여 사용한다. Java 3가지 디자인 패턴 그룹 1. 생성 패턴 2. 구조 패턴 3. 행동 패턴 Java 싱글톤 패턴 단 하나 인스턴스만 생성 및 공유하여 자원 절약 ..
https://blog.naver.com/hyonachu 갓생의 시작 : 네이버 블로그 갓생사는 나, 꽤나 멋질지도? blog.naver.com 원래 네이버블로그에 작성했었는데, 이제 티스토리에 작성하려 한다. 근데 여태까지 쓴게 꽤 많아서 다 옮기긴 힘들겠더라..ㅠㅠ 결국 다 옮김.. 헷 TO-DO LIST - 59-2강 Server-Client 소개와 직렬화/역직렬화 ~ 63-1강 멀티 쓰레딩 프로그래밍 배운 내용 요약 정리 Java 직렬화/역직렬화 바이트 단위 스트림과 문자 스트림 자바 직렬화: 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술 및 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화) JVM..
TO-DO LIST - 59-2강 Server-Client 소개와 직렬화/역직렬화 ~ 63-1강 멀티 쓰레딩 프로그래밍 배운 내용 요약 정리 Java 직렬화/역직렬화 바이트 단위 스트림과 문자 스트림 자바 직렬화: 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술 및 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화) JVM의 Runtime Data Area(Heap 또는 스택 영역)에 상주하고 있는 객체 데이터를 바이트 형태로 변환하는 기술과 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태 SerialVersionUID 고유 번호 관리 transient로 직렬화 대상 제외 (보안..