본문 바로가기

728x90

ComputerScience

(329)
OS - 8.1 Virtual Memory 1. Virtual Memory - 메인메모리의 크기는 한정적이다. - 더 큰 메모리의 수요를 만족시키기 위해 무한에 가까운 메모리를 사용하는 듯 해주는 방법이다. - 만약 프로세서가 참조해야하는 데이터가 Secondary Memory에 있다면 그 부분을 메인메모리로 옮겨와 작업을 하도록 한다. 결국 사용자는 무한한 메모리를 가진 것 처럼 느낀다. - 이전 장에서 프로세스는 paging, segmentation으로 여러 조각으로 나뉘어 비 연속적인 메모리 공간에 저장이 되고 매번 logical adress를 physical address로 run time에 변환하여 접근한다고 했다. - 위 조건들이 보장된다면 사실 page와 segment들은 굳이 메모리에 항상 존재해야할 필요가 없다. - 여기서 가상 ..
ios - 14 Segue 1 목표 - 이전 포스트에 이어서 작업을 진행해보자. - 이번에는 셀을 클릭하면 새로운 view controller 화면이 modal형식으로 나타나도록 해보자. 2 새로운 View Controller 추가 - 가장 먼저 할 것은 새로운 view controller를 추가하는 것이다. - 아래 내용이 담긴 새로운 swift파일을 만든다. import UIKit class DetailViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } } - storyboard에 새로운 View Controller object를 추가..
ios - 13 Custom Cell 1 Custom Cell - TableViewCell을 상속받아서 아래 그림처럼 나만의 셀을 정의해보자 - 이전 포스트에 이어서 작업을 진행한다. - 가장먼저 커스텀 셀 class를 정의한다. - UITableViewCell을 상속하며 한개의 이미지와 두개의 레이블을 갖는다. class ListCell: UITableViewCell { @IBOutlet weak var imgView: UIImageView! @IBOutlet weak var nameLabel: UILabel! @IBOutlet weak var bountyLabel: UILabel! } - 셀클릭 -> identity inspector -> custom class에 ListCell 연결 2 Cell 크기 조절 - 셀의 크기를 조정할 수 있..
Algorithm&DataStructure - Divide and Conquer 1 Divide and Conquer - 분할 정복 - 재귀를 활용 - 퀵소트, 머지소트, n제곱 구하기 등에 활용 1단계 : 분할, 원래 문제를 분할하여 비슷한 유형의 하위 문제들로 나눔 2단계 : 정복, 하위 문제를 정복. 이때 분할, 탈출 조건을 설정하여 재귀로 해결한다. 3단계 : 합치기, 정복된 문제들을 종합하여 초기 문제를 해결 - 즉 한 문제를 유형이 비슷한 여러개의 하위 문제들로 나누어 해결하고 나중에 합친다. 2 백준 2630번: 색종이 만들기 - 0 또는 1로만 이루어진 정사각 색종이들의 수를 구하라 #include using namespace std; class Paper{ private: int n; bool** table; int blue; int white; public: Pap..
ios - 12 Table View, Table View Cell 1 ViewController 만들고 Storyboard연결하기 - 나만의 커스텀 View Controller를 처음부터 만들어보겠다. - .swift파일을 만들고 UIViewController를 상속받아 커스텀 클래스를 하나 만든다. - Main.storyboard와 새로 만든 ViewController를 연결한다. 2 Table View - 앱에서 여러 아이템을 리스트로 보여주는데 사용한다. - 테이블 뷰 안에서 데이터는 cell로 표현된다. - 이번에는 Table View Cell을 넣어보자. 3 UITableViewDataSource (Protocol) - UITableViewDataSource를 상속해서 셀을 몇개를 보여줄 것인지? 테이블 뷰를 어떻게 보여줄지? 정의해보자. import UIKi..
ios - 11 swift 기본문법(Class) 1 class - struct 처럼 property와 method를 포함하고 있다. - struct와의 차이로 class는 heap영역에 생성되는 reference type이라고 했다. - 따라서 동일한 객체를 가리킬 때는 class가 유용하지만 값이 동일한 두 객체를 같다고 판단해야 하는 경우는 struct가 더 유리하다. - struct에서 class로의 변환은 쉬우니 일단 struct를 사용하고 필요에 따라 class로 전환하자. - swift의 String, Array, Dictionary모두 struct로 되어있다. struct PersonStruct { var firstName: String var lastName: String var fullName: String { return "\(fir..
ios - 10 swift 기본문법(Structure) 1 Structure - 여러 타입의 변수를 묶어서 하나의 타입으로 동작하는 자료구조를 만들 수 있다. - 데이터 + 메서드로 구성되어있고 이를 하나의 object라고 한다. - value타입으로 전달 시 복사되어 값이 전달 된다. (pass by value) - structure생성시 stack에 할당된다. 2 Class와의 차이 - class도 structure처럼 여러 변수와 함수를 묶어서 표현하는 도구이다. - 단 structure와 달리 reference type으로 생성시 heap에 할당된다. - 두 타입의 차이를 아래 코드에서 살펴보자. class PersonClass { var name: String var age: Int init(name: String, age: Int) { self.n..
ios - 9 swift 기본문법 (Closure) 1 Closure - closure는 크게 global함수, nested 함수, closure expression 세가지가 있다. - 쉽게는 이름없는 함수라고 이해하면 된다. - 함수처럼 변수에 할당할 수 있다. - 변수에 할당할 수 있고 인자를 받아 결과를 리턴할 수 있는 타입을 First Class Type이라고 하는데 closure는 이에 해당한다. - closure로 두 숫자를 받아서 곱해주는 함수를 정의해보자 - 다양한 축약형이 가능하다. var multiplyClosure: (Int, Int) -> Int = { (a: Int, b: Int) -> Int in return a * b } var multiplyClosure2: (Int, Int) -> Int = { a, b in return a..

728x90