목록분류 전체보기 (127)
소피it블로그
작년 이맘때 애플 디벨로퍼 아카데미에 지원서를 내놓고 준비를 했었던 게 기억난다. 올해는 이미 지원이 끝난 것으로 아는데 아직 먼 얘기지만 내년에 지원하실 분들이 참고할 만한 글이 하나라도 있으면 좋지 않을까 하는 생각에, 내 기억이 더 가물가물해지기 전에 짧고 간단하게 장단점 정도만 정리해보고자 한다. 특징 3월부터 12월까지 총 9개월간 진행된다. 매우 자율방임적이다. 강의라고 하는 개념은 없다고 보면 되고, 9개월 내내 프로젝트 위주로 진행된다. 후술하겠지만 이는 장점도 될 수 있고 단점도 될 수 있다. 오전반(9시~1시)과 오후반(2시~6시)으로 나뉜다. 선택할 수 있다. 총인원은 200명이고, 테크/디자인/도메인으로 나눠서 따로 뽑는다. 도메인의 경우 시험 컷이 조금 더 높다고 들었다. 포스텍에..
1. 조인이란 관계형 데이터베이스에서 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 조인을 사용한다. 2. 조인의 종류 내부 조인(INNER JOIN): 왼쪽 테이블과 오른쪽 테이블에서 모두 일치하는 행이 있는 부분만 표기. 즉 두 테이블 간의 교집합을 나타낸다. 등가 조인(EQUI JOIN): 동등 비교('=' 연산자)만 사용하는 조인 비등가 조인(NON-EQUI JOIN): 조인 조건에 '='가 아닌 '' 등의 비교연산자를 사용한다. 교차 조인(CROSS JOIN): 곱집합(Cartesian Product). 조인 조건을 제대로 명시하지 않으면 교차 조인이 수행될 수 있다. 자연 조인(NATURAL JOIN): 조인할 속성을 지정하지 않는 조인으로, 두 테이블에 반드시 이름과 도메인이 같은 속..
1. 트랜잭션 DB에서 하나의 논리적 기능을 수행하기 위한 작업의 단위. 하나의 트랜잭션은 커밋되거나 롤백되어야 한다. 커밋(commit): 하나의 트랜잭션이 문제 없이 처리되어 데이터베이스가 다시 일관된 상태에 있을 때, 변경된 내용을 모두 영구적으로 저장하는 연산 롤백(rollback): 하나의 트랜잭션 처리가 비정상적으로 끝나 데이터베이스의 일관성이 깨졌을 때, 모든 연산을 취소하여 트랜잭션 이전의 상태로 돌리는 것. 2. 트랜잭션의 특성(ACID) 원자성(Atomicity): all or nothing, 트랜잭션과 관련된 모든 연산은 전부 정상적으로 수행 완료되거나 아무런 연산도 수행되지 않아야 한다. 일관성(Consistency): 트랜잭션이 끝난 후에도 데이터베이스가 일관된 상태로 유지되어야 ..
1. 정규화의 목적 중복을 제거하여 삽입, 삭제, 갱신 이상이 발생할 가능성을 줄이는 것. 삽입 이상: 테이블에 데이터 삽입 시 원하지 않은 값들도 함께 삽입되는 현상 삭제 이상: 하나의 튜플을 삭제할 때 의도하지 않은 값들도 함께 삭제되는 현상 갱신 이상: 값을 갱신할 때 일부 튜플만 갱신되어 정보에 불일치가 발생하는 현상 2. 정규화 과정 정규화 과정: 정규형 원칙을 기반으로 테이블을 무손실 분해하여 정규형을 만들어나가는 것 제1정규형: 릴레이션의 모든 도메인이 원자값으로만 되어 있는 정규형 제2정규형: 제1정규형이면서 (부분적 함수 종속을 제거하여) 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속적인 정규형 완전 함수 종속이란? 기본키의 부분집합이 결정자가 되어서는 안 됨, 즉 기본키의 특정 컬..
1. 인덱스를 사용하는 이유 자주 사용되는 칼럼에 대하여 인덱스 테이블을 따로 만들면 데이터를 빠르게 검색할 수 있다. 2. B-Tree 인덱스는 보통 B-Tree 자료구조로 이루어져 있는데, 균형 잡힌 트리 구조와 트리 깊이의 대수확장성(트리 깊이가 리프 노드 수에 비해 매우 느리게 성장함) 덕분에 매우 효율적인 검색이 가능해진다. 루트 노드에서 시작하여 브랜치 노드들을 거쳐 찾고자 하는 데이터가 있을 법한 리프 노드에 들어가 탐색하는 방식으로 작동하며, 리프 노드에 도달한 후에 데이터 포인터를 통해 결괏값을 반환한다. 해시 테이블 대신 B-Tree를 사용하는 이유는, SELECT 질의 조건에는 부등호 연산도 포함되는데 해시 테이블은 동등 연산에 특화된 구조이기 때문이다. 3. 주의할 점 무조건 인덱스..
1. 데이터베이스 데이터베이스: 일정한 규칙을 통해 구조화되어 저장되는 데이터의 모음 데이터베이스 관리 시스템(Database Management System, DBMS): 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리하는 소프트웨어. 데이터베이스 위에 DBMS가 있고, 그 위에 응용프로그램이 있는 구조 데이터의 독립성: 논리적 독립성: 응용 프로그램과 데이터베이스를 독립시킴으로써 데이터베이스의 변경에도 응용 프로그램은 영향을 받지 않는다. 물리적 독립성: 응용 프로그램과 물리적 저장장치를 독립시킴으로써 데이터베이스의 크기를 늘리거나 디스크를 추가, 변경하더라도 응용 프로그램은 영향을 받지 않는다. 2. 관계형 데이터베이스의 릴레이션 구조 개체(Entity): 데이터베이스에 표현하려는 것으..