적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

분류 전체보기 584

기억장치와 메모리 계층구조

저장장치의 두 가지 요건 - 단위 시간당 데이터 처리량 (throughput) = 입출력 속력 - 용량 (capacity) = 저장장치에 담을 수 있는 정보의 총량 메모리 계층 구조 빠른 저장 장치는 용량에 비해 가격이 비싸고, 용량이 넉넉한 저장 장치는 싸지만 처리 속도가 느리다. 컴퓨터가 행하는 작업은 매우 다양하기 때문에 빠른 속도가 필요한 상황도 있지만, 단순히 많은 내용을 천천히 읽고 쓰는 작업도 많다. 이러한 상황에 맞게 여러 종류의 저장 장치를 함께 사용해 최적의 효율을 낼 수 있도록 하여 싸고 성능 좋은 시스템을 구현하는 설계가 메모리 계층 구조이다. CPU에 가까운 순서대로 레지스터 - 캐시 - 메모리 - 보조기억장치 (일반적으로 CPU와 직접 접근이 가능한 레지스터, 캐시, 메모리를 주..

컴퓨터시스템 2020.12.30

[실전] Firebase Storage 활용한 Test App 구현

다운받은 MaterialComponent kit를 활용하여 테스트 어플리케이션을 구현해보고자 한다. 나는 MDCDragon 내 CollectionsSimpleSwiftDemo 파일을 활용하여 프로젝트의 코어 시스템을 구현해보겠다. 아래 CollectionView를 활용한 데모 코드를 복사해와 Firebase 항목들을 추가해나가겠다. import UIKit import MaterialComponents.MaterialCollections class CollectionsSimpleSwiftDemo: MDCCollectionViewController { let reusableIdentifierItem = "itemCellIdentifier" let colors = [ "red", "blue", "green",..

[실전] Swift Material components iOS 로 UI 가져오기

https://github.com/material-components/material-components-ios material-components/material-components-ios Modular and customizable Material Design UI components for iOS - material-components/material-components-ios github.com UI를 코드로 직접 다 구현하지 않고, material components kit를 받아와서 사용할 수 있다. Wow! 1. Terminal에서 git clone 하는 법 % git clone https://github.com/material-components/material-components-ios ..

[Swift iOS] UIGestureRecognizer 터치 이벤트 제어하기

● UIGestureRecognizer Swift 에서 터치 이벤트를 구현해주는 아주 편리한 헬퍼 클라스!! UIGestureRecognizer 의 subclass 들에는 아래 항목들이 있다. - UITapGestureRecognizer - UIPinchGestureRecognizer - UIRotationGestureRecognizer - UISwipeGestureRecognizer - UIPanGestureRecognizer - UIScreenEdgePanGestureRecognizer - UILongPressGestureRecognizer 1. UITapGestureRecognizer 터치 이벤트 함수는 다음과 같이 작성할 수 있다. @objc func handleTap(sender: UITapGe..

[Swift 용어] Value Type / Reference Type

컴퓨터 프로그래밍을 할 때, 데이터 타입에는 Value Type(값 유형), Reference Type(참조 유형)의 두 가지 종류가 있다. ● Value Type (값 유형) - value type의 instance들은 값이 복사되었을 때, 다른 instance의 값이 변경되어도 원본은 고유의 데이터를 유지한다. (독립적) - swift에서 value type에는 struct, enum, tuple 등이 있다. - 값 복사 시 독립 인스턴스 생성. ● Reference Type (참조 유형) - reference type의 instance들은 데이터의 사본을 '공유'하기 때문에, 데이터가 수정될 경우 원본 값도 함께 바뀐다. - swift에서 reference type에는 class, closure 등..

6. Swift SceneKit Tutorial _3D 게임 만들기

SceneKit Tutorial 1 - Getting Started SceneKit Tutorial 2 - Nodes SceneKit Tutorial 3 - Physics SceneKit Tutorial 4 - Render Loop SceneKit Tutorial 5 - Particle Systems * 현재 진행중인 프로젝트에서는 Physics와 Particle은 필요하지 않아, 필자는 튜토리얼 1, 2, 4 만 참고를 하였다. SceneKit : Apple의 내장 3D 게임 프레임 워크 Geometry Fighter 게임을 만들어보며 SceneKit를 활용한 3D 그래픽 제어를 공부해보자! 1. 초기화 작업 2. Nodes 노드란? 3. Geometry 개체 만들기 4. Rend..

[데이터 처리] 동기식 비동기식 Synchronous Asynchronous

● 동기화, 비동기화? 데이터를 처리하는 방식에는 동기식 방식과 비동기식 방식이 존재한다. 동기식 처리 모델(Synchronous processing model) - 한 자원에 대해 동시에 접근하는 것을 제한하는 방식 - 직렬적으로 태스크(task)를 수행 (순차처리) - 어떤 작업이 수행 중이면 다음 작업은 대기하게 된다. (버퍼링이 발생) ex) 서버에 데이터를 요청하고 데이터가 응답될 때까지 이후 태스크들은 블로킹(blocking, 작업 중단)된다. 장점 : 설계가 간단하고 직관적 단점 : 결과를 볼 때까지 아무것도 못하고 대기해야함 • 동기화 : 한 메서드가 실행되는 동안 다른 메서드 실행이 불가능하도록 블락하는 것. 비동기식 처리 모델(Asynchronous processing model 또는 ..

컴퓨터시스템 2020.12.21

[Swift 용어] Closures 클로저란?

● Closures 클로저란? 간단하게 말하자면, 특정 함수가 반환되어 사라져도 그 속의 instance들은 소멸되지 않도록 보존해주는 캡쳐본(복사본)이라고 할 수 있다. 1) 클로저는 특정 context에서 모든 상수 및 변수에 대한 참조를 캡쳐하고 저장할 수 있다. * Capturing Values 값 캡쳐 : 클로저는 특정 context의 상수(constants)나 변수(variables)의 값을 캡쳐하여, 원본 값이 사라지더라도 클로저의 body 안에서 그 값을 활용할 수 있도록 해준다. (Swift에서 값을 캡처 할 수 있는 가장 간단한 형태의 클로저는 다른 함수의 본문 내에 작성된 중첩 함수(Nested functions)로, 중첩함수는 외부 함수의 인수 및 외부 함수 내에 정의된 모든 상수나..

5. 돈 없어도 서버를 만들 수 있는 세상! _Swift Firebase Tutorial for iOS

www.raywenderlich.com/3-firebase-tutorial-getting-started Firebase Tutorial: Getting Started In this Firebase tutorial, you’ll learn Firebase fundamentals including saving data, real-time sync, authentication, user status, and offline support. www.raywenderlich.com Swift Tutorial 5. Firebase 서버 연동하기 Grocery list App을 만들어보며 데이터 저장, 실시간 동기화, 인증, 사용자 상태, 오프라인 지원 등을 포함한 Firebase 기본 사항 배우기. ● Firebas..

728x90
반응형