본문 바로가기

전체 글96

[소공] 7장 아키텍쳐와 패턴 7-1 아키텍처 기초 1. 소프트웨어 아키텍처 정의 : 소프트웨어 시스템에서 높은 수준의 구성요소와 그들의 관계, 상호작용 등을 의미. 2. 아키텍처 설계 정의 : 소프트웨어 시스템에 대한 전반적인 구조 설계하는 과정. (서브시스템 분할 및 덩어리화 작업, 서브시스템 상호 작동 결정, 서브시스템 인터페이스 결정) 3. 아키텍처 표현 관점(5) 논리적으로 분할된 서브시스템 서브시스템 사이의 인터페이스 컴포넌트 사이의 동적인 상호작용 서브시스템 사이에 공유되는 데이터 런타임에 존재하는 컴포넌트 위치 4. 아키텍처 중요성(4) 소프트웨어 시스템을 개발자가 잘 이해하기 위해 시스템의 일부는 독립적으로 작업하기 위해 시스템의 확장을 위해 재사용과 재사용 가능성을 위해 5. 아키텍처의 역할 : 소프트웨어 개발의 중.. 2023. 12. 14.
[데이터베이스] 9장 트랜잭션 9-1 트랜잭션 개요 1. 트랜잭션 위의 상황에서 수정하고 있는데 중간에 컴퓨터 다운되면 어캄..? -> log를 유지하자! 두 가지 이상의 명령문이 실행될 때 중간에 다운 될 것을 고려하여 하나의 트랜잭션으로 취급해야함. 두 개 이상의 sql문들을 하나의 트랜잭션으로 취급하려면 사용자가 명시적으로 표시해야함. 이로써 모든 명령어가 실행되거나 모두 실행이 안되거나임. 2. 트랜잭션의 특성(ACID) Atomicity 원자성 - 모두 수행되거나 말거나 Consistency 일관성 - 트랜잭션 수행전과 다른 새로운 일관된 상태를 가짐. 일시적인 불일치 가능 Isolation 고립성 - 한 트랜잭션이 데이터를 갱신하는 동안 이 트랜잭션이 완료되기 전에는 갱신 중인 데이터를 다른 트랜잭션들이 접근 못하도록. D.. 2023. 12. 12.
[데이터베이스] 8장 뷰와 시스템 카탈로그 뷰: 관계 데이터베이스 시스템에서 데이터베이스의 보안 메커니즘. 복잡한 질의를 간단하게 표현하는 수단. 데이터 독립성을 높이기 위해 사용. 시스템 카탈로그: 시스템 내의 객체에 관한 정보를 포함. 8-1 뷰 1. 뷰 한 사용자의 전체 외부 뷰 대신 하나의 가상 릴레이션을 의미. 뷰는 기존의 기본 릴레이션에 대한 SELECT문으로 정의됨. 뷰는 리렐이션으로부터 데이터를 검생하거나 갱신할 수 있는 동적인 창의 역할을 함. 스냅샷: SELECT문의 결과를 기본 릴레이션의 형태로 저장한 것. 2. 뷰의 정의 3. 뷰 사용시 DBMS에서 거치는 과정 4. 뷰의 장점 복잡한 질의를 간단하게 표현할 수 있게 함 데이터 무결성을 보장하는데 활용됨. - WITH CHECK OPTION을 사용하면 뷰가 선택할 수 없는 투.. 2023. 12. 12.
[데이터베이스] 7장 릴레이션 정규화 7-1 정규화 개요 1. 릴레이션 정규화 db설계 제대로 안하면 갱신 이상을 유발함. 정규화는 주어진 릴레이션을 분해함으로써 중복과 세가지 갱신 이상을 최소화함. 2. 갱신 이상과 중복 수정 이상: 데이터 일부만 수정해 데이터 불일치 발생. 삽입 이상: 불필요한 정보를 함께 저장 안하면 어떤 정보를 저장하는 것이 불가능 삭제 이상: 유용한 정보를 함께 삭제 안하면 삭제가 불가능. 중복 -> 릴레이션 분해로 해결하자~ 7-2 함수적 종속성 1. 함수적 종속성 만약 애트리뷰트 A가 애트리뷰트 B의 결정자이면 B가 A에게 함수적으로 종속한다 정규화 이론의 핵심 제2정규형부터 BCNF까지 적용됨. 완전 함수적 종속성: 애트리뷰트 B가 애트리뷰트 A에 함수적으로 종속하면서 애트리뷰트 A의 어떤 진부분집합에도 함수.. 2023. 12. 12.
[인공지능] SP09. Regularization 0. Overfitting training 데이터와 다른 값들이들어오면 loss가 커짐. generalization과 반대! 1. Regularization techniques generalization하게 만들기 위한 방법들의 집합. 9-1 Explicit regularization 1. Explicit regularization g[ϕ]: 매개변수가 덜 선호될 때 큰 값을 반환하는 스칼라를 반환하는 함수. 어떤 매개변수를 덜 선호하도록 유도 λ: 원래 손실 함수와 정규화 항의 상대적인 기여를 제어하는 양의 스칼라. a) Gabor모델의 손실함수 b) 중심에서 멀어질 수록 증가하는 패널티를 추가해 매개변수가 중심에 가까워지도록 유도 최종 손실함수는 원래 손실함수 + 정규화 항의 합 2. 확률적 해석 기.. 2023. 12. 9.
[데이터베이스] 6장 물리적 데이터베이스 설계 0. 물리적 데이터베이스 설계 논리적인 설계의 데이터 구조를 보조 기억 장치 상의 화일로 사상함. 6-1 보조 기억 장치 1. 보조 기억 장치 DBMS는 사용자가 원하는 데이터를 포함하고 있는 블록을 디스크에서 주기억장치로 가져와야함. 데이터가 변경된 경우 블록들을 디스크에 다시 기록. 보통 블록의 크기는 4,096바이트. 각 화일은 고정된 크기의 블록들로 나누어져서 저장됨. - 디스크 디스크는 데이터베이스를 장기간 보관해주는 보조 기억 장치. 전체 데이터베이스가 디스크에 저장됨. 컴퓨터 시스템이 다운되는 경우에도 디스크의 데이터베이스는 손상 안됨. 직접 접근 장치이므로, 디스크 상의 임의의 위치에 있는 데이터를 바로 접근할 수 있음. 디스크에서 임의의 블록을 읽거나 기록하는데 걸리는 시간 = 탐구시간 .. 2023. 11. 26.
[데이터베이스] 5장 데이터베이스 설계와 ER모델 (2) 5-3 데이터베이스 설계 사례 1. 설계할 요구사항 명세 회사에는 여러 사원들이 재직한다. 각 사원에 대해 사원번호(고유)/이름/직책/급여/주소를 저장한다. 주소는 시, 구, 동으로 세분해 나타낸다. 각 사원은 0명 이상의 부양가족을 갖는다. 각 부양가족의 이름과 성별을 저장한다. 회사는 여러 프로젝트를 진행한다. 각 프로젝트에 대해 프로젝트번호(고유)/이름/예산/프로젝트진행위치를 저장한다. 각 프로젝트마다 여러명의 사원이 일함. 각 사원이 해당 프로젝트에서 어떤 역할을 수행하고, 얼마 동안 근무해 왔는지 나타냄. 각 프로젝트마다 한 명의 프로젝트 관리자가 있음. 한 사원은 두 개 이상의 프로젝트 관리자가 될 수는 없음. 프로젝트 관리자 임무를 시작한 날짜를 기록. 각 사원은 한 부서에만 속한다. 각 부.. 2023. 11. 26.