목록2-1 (104)
브래의 슬기로운 코딩 생활

입출력시스템 - 디스크 및 RAID 하드 디스크 구조 기본 구조 - 암이 이동하여 트랙의 선별이 가능 - 원판이 회전하여 섹터의 접근이 가능 기능 원판(플래터) • 표면에 자성을 입혀 0과 1의 데이터를 저장 - N극 : 0 / S극 : 1 • 보통 2장 이상으로 구성 • 일정한 속도로 회전 섹터 • 하드디스크의 가장 작은 저장 단위 • 하나의 섹터에는 한 덩어리의 데이터가 저장 • 블록 - 하드디스크와 운영체제 사이 데이터 전송을 위한 단위 - 한 블록은 하드디스크내 여러 개의 섹터로 구성됨 • 섹터 vs 블록 - 하드디스크의 저장 단위 - 운영체제의 저장 단위 트랙 • 회전축을 중심으로 데이터가 기록되는 동심원 • 동일한 반경에 있는 섹터들의 집합 헤드 • 하드디스크에서 데이터를 읽거나 쓸 때 사용 ..

메모리의 재배치전략 기억 장치 관리 사용 방식 기억 장치 응용 주요 키 가상 기억 장치(Virtual Memory) • 보조 기억 장치의 일부를 주기억장치 처럼 사용 • 프로그램 크기의 제약을 극복(단, 실행 속도↓) 가상 디스크(Virtual Disk) • 주기억장치의 일부를 보조기억장치처럼 사용 • 램드라이브(RAM Drive) 인터리빙(Interleaving) • 기억 장치의 연속된 위치를 서로 다른 뱅크로 구성 • 동시에 여러 개의 위치에 접근이 가능(속도↑) DMA(Direct Memory Access) • CPU를 거치지 않고 주변장치가 직접 주기억 장치에 접근 • 입출력 속도가 향상 • 사이클 스틸링(Cycle Stealing, 사이클 훔치기) 기법이 사용됨 기억 장치 분할 고정 분할(정적 ..

CharacterController컴포넌트 –주로 FPS나 TPS 게임의 플레이를 구현할 때 사용 –Rigidbody와 Capsule Collider 기능을 포함하고 있음 CharacterController controller ; //CharacterController 변수 정의 controller = GetComponent () ; //스크립트가 부착된 object의 구성요소에 CharacterController 를 controller의 변수에 대입 currentMovement += Vector3.forward * Time.deltaTime * 1.0f ; // 1초에 1m 앞으로 가는 속도를 currentMovement에 추가한다. controller.Move (currentMovement * Tim..

delegation design pattern - class(struct)가 책임의 일부를 다른 유형의 인스턴스에 전달(또는 위임)할 수 있도록 하는 디자인 패턴 - protocol에 위임된 목록을 작성하고, delegate(보통 내가 만든 class)는 위임된 기능을 작성 프로토콜은 다중 상속이 가능함. optional: 필요한 경우 구현하는 메서드 required: 필수로 구현해야하는 메서드 ~.delegate = self ~.datasource = self delegate 소스에는 모든 메소드는 optional이다. 열거형(enum) .~ : .앞에 열거형 생략 enum Week: String { case Mon,Tue,Wed,Thur,Fri,Sat,Sun func printWeek() { //메서..

MVC Model VS MVP, MVVM, MVI MVC Model Model : 사용자가 원하는 데이터나 정보 View 사용자의 요청 화면 및 사용자에게 제공되는 응답 화면 Controller : 사용자의 요청을 처리하고, 그 요청에 따른 전체적인 흐름을 제어 MVC + S Model (Controller는 요청 제어만, 실제 처리는 Service가) Service : 실제 업무를 처리 담당. 비지니스 로직(business logic, 업무 로직) Repository : Data Access를 담당(DB, File 등에 C.R.U.D - 데이터 처리 기본 연산) 예외 처리 (exception handling) 예외(exception) 정의 •프로그램이 실행되는 동안에 발생하는 정상적인 흐름을 전복(di..

트랜잭션 트랜잭션의 개념 트랜잭션(transaction): DBMS에서 데이터를 다루는 논리적인 작업의 단위 데이터베이스에서 트랜잭션을 정의하는 이유 데이터베이스에서 데이터를 다룰 때 장애가 일어날 때 데이터를 복구하는 작업의 단위가 됨 데이터베이스에서 여러 작업이 동시에 같은 데이터를 다룰 때가 이 작업을 서로 분리하는 단위가 됨 트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 함(all or nothing). 예)은행 업무를 보는데 A 계좌(박지성)에서 B 계좌(김연아)로 10,000원을 이체할 경우 트랜잭션 수행 과정 ① A 계좌(박지성)의 값을 하드디스크(데이터베이스)에서 주기억장치 버퍼로 읽어온다 ② B 계좌(김연아)의 값을 하드디스크(데이터베이스)에서 주기억장치 버퍼로 읽어온다. ③ A..

입출력시스템 입출력 버스 구조 및 버퍼링 입출력 버스 구조 초기 구조 - 모든 장치가 하나의 버스로 연결 - CPU가 입출력장치로부터 데이터를 가져오기 위해 폴링(polling) 방식 이용 입출력 제어기 적용 구조 - 메인 버스와 입출력 버스의 2개의 채널로 구성 • 메인 버스 : 고속으로 작동하는 CPU와 메모리가 사용 • 입출력 버스 : 주변장치가 사용 - CPU와 메모리의 작업이 느려지는 것을 막을 수 있음 - 단, 주변장치들은 모두 늦은 속도와 동기를 맞춤 입출력 버스를 분리 - 입출력 속도를 고려하여 버스를 분리 후 적용 버퍼링 버퍼(buffer) - 속도가 다른 두 장치 간 통신 시 대시 기간을 단축하기 위해 임시로 기록하기 위한 공간 - 장치의 일기/쓰기의 횟수를 감소 = 성능 향상 - 외부..

입·출력시스템 입·출력장치의 통신 방식 입출력장치와 통신 데이터 전송 속도에 따른 분류 - 저속의 주변장치(키보드, 마우스 등)와 고속 주변장치(그래픽 카드, 하드 디스크 등)로 나뉨 - 하나의 버스로 주변장치를 묶으면 저속 장치로 인해 고속 장치의 활용성이 떨어짐 = 효율성 저하 버스의 기본적인 연결 구조 - CPU와 주기억장치(RAM)를 주 축으로 다른 입출력장치와 통신함 - 모든 통신은 시스템 버스(FSB)를 통해 가능 (주소, 제어, 데이터 버스로 구성) 채널(channel) - 데이터가 지나가는 통로 - 버스(BUS)를 통한 논리적인 경로 채널 공유와 분리 - 서로 다른 전송 대역(bandwidth)을 갖는 장치들 간 채널을 공유 또는 분리 공유 • 공유되는 통로를 통해 모든 연결된 주변 장치들..

옵션 관리 소옵션 편집 옵션과 소옵션 둘 다 추가, 수정, 삭제 가능 옵션에 따라 소옵션 생성 가능

오늘은 고양이가 떨어지는 화살표를 피해야하는 간단한 게임을 만들었다. 사용된 개념 int px = Random.Range(-3, 4); :-3~3의 값 중 임의의 값이 px에 저장 public GameObject arrowPrefab;//화살표에 연결 //arrowPrefab이 복제됨 void Update(){ GameObject go = Instantiate(arrowPrefab) as GameObject } void Update() { GameObject go = Instantiate(arrowPrefab) as GameObject; int px = Random.Range(-3, 4); go.transform.position = new Vector3(px, 7, 0); } Time.deltaTime ..