블로그

NARO

안녕하세요, 아티스트 NARO입니다.

안녕하세요,여러분은 어떤 일을 시작하려할 때, 어떤 마음 가짐으로 시작을 하시나요?혹시 두려워서 시작을 못하시고 계시진 않을까요?저도 2019년부터 그래픽 디자인을 해오면서 어떤 일을 도전을 할때,필요조건인 '그림'을 꼭 잘 그려야할텐데 하면서 조바심이 먼저 들었습니다.고등학교때부터 입시미술을 할걸,조금이라도 더 빨리 할걸, 하는 후회도 추가로 계속 들었습니다.그런데 그게 뭐가 중요할까요?우리의 시간은 항상 앞으로 흐릅니다. 지금의 시간을 사는 사람이 되려 합니다.그리고 우리의 경험도 점차 축적될 것입니다.새로이 나가길 두려워하는 사람들에게 이 강의를 추천드리고 싶습니다. 떠오르는 단어인 Metaverse, Blockchain 등등 우리와의 먼 얘기일까요?저는 여러분들이 시작할 수 있는 시간은 지금이라고 말씀드리고 싶습니다.여담으로 기회가 지금이라는 말을 저는 참 좋아합니다.여러분들도 이런 Graphic수업이 One of Them이 아닌,그 시작의 출발점에 서는 강의가 되었으면 좋겠습니다.감사합니다.   이 강의는 오늘부터 기획하여 1월에 업로드 될 예정입니다.무료로 강의를 진행하려고 하고있어서 3D 그래픽에 조금이라도 관심있으신 분들은 수강해주세요-◡-

CAD · 3D 모델링모델링블렌더스컬핑아이패드강의시작

데이터베이스 2 - 모델링, 정규화, 트랜잭션, 격리수준, ...

출처 도서 - MySQL로 배우는 데이터베이스 이론과 실습 모델링개념적 모델링, 논리적 모델링, 물리적 모델링 정규화1. 제 1 정규화 : 속성값은 모두 원자값이어야 한다.2. 제 2 정규화 : 기본키가 복합키일 때, 복합키 중 다른 속성의 결정자가 있으면 안 된다.예를 들어, A B C D 속성이 있으며 A와 B가 기본키라고 하자.기본키(A와 B)가 C의 결정자가 아닌 B만이 C의 결정자인 경우 문제가 발생한다.그렇다면 A와 B가 기본키인 A, B, D 속성이 있는 테이블과B가 기본키인 B, C 속성이 있는 테이블로 테이블 분리를 시행하는 것이 해결 방법이 된다.3. 제 3 정규화 : 속성들이 이행적으로 종속되어 있으면 안 된다.A -> B -> C 라면, A -> B, B -> C로 분리해야한다.4. BCNF : 후보키가 아닌 속성이 다른 속성의 결정자이면 문제가 됨결정자를 기본키로 테이블을 분리 변경해야한다.   트랜잭션 : 데이터 처리 단위. all or nothing.원자성(Automicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability) 동시성 제어 락 : 트랜잭션이 데이터를 읽거나 수정할 때 데이터에 표시하는 잠금 장치. 공유락 : 읽기용 락 배타락 : 읽기/쓰기용 락 -> 둘 다 안 됨 락이 걸려있으면 대기 상태가 된다. 락 유지시간으로 인해 락 해제 발생 가능 -> 이 때는 2단계 락킹을 이용. 데드락 발생할 수 있음 -> 하나 강제로 중지 작업 필요   고립 수준 READ UNCOMMITTED : 커밋되지 않은 데이터 읽어들임(오손 읽기) READ COMMITTED : 커밋된 데이터만 읽어들임다른 트랜잭션에서 update + commit된 데이터 읽힘(반복불가능 읽기; 데이터 불일치 문제) REAPEATABLE READ :반복불가능 읽기 문제 방지하지만 다른 트랜잭션에서 insert + commit된 데이터 나타나는 유령 데이터 현상 있음 SERIALIZABLE : select에 공유락 설정. 성능에 안 좋음   JPA와 트랜잭션, 락 보통은 READ COMMITTED 수준에서 낙관적 락, 비관적 락 사용 @Version : JPA에서의 낙관적 락 -> 트랜잭션이 충돌하지 않을 것으로 가정하기에 충돌이 난 후 롤백예외 처리로 다시 업데이트 시도도 가능 @Lock : READ, WRITE, NONEREAD가 JPA의 비관적 락 -> 트랜잭션이 충돌할 것으로 가정하기에 조회할 때부터 락; select for update  

데이터베이스모델링정규화트랜잭션격리수준Lock