STUDY 95

뷰의 content hugging priority, content compression resistance priority

뷰의 content hugging priority 컨텐트 크기 유지 우선순위 [뷰가 커져서 뷰를 채우고 있던 레이블들의 크기가 커져야 한다면? 누가 커질 것인가? 에 대한 것.]-> 고무밴드의 강도라고 생각하면 좋다. content hugging priority 값이 클 수록 고무밴드의 강도가 강해서 현재 크기[고유 크기]를 유지하려는 습성이 커진다.Horizontal 수평 컨텐트 크기 우선순위Vertical 수직 컨텐트 크기 우선순위 content compression resistance priority 컨텐트 축소 방지 우선순위 [뷰가 작아져서 뷰를 채우고 있던 레이블들의 크기가 작아져야 한다면? 누가 잘려져 나가야 하는가? 에 대한 것.]-> 저항력이다. content compression resi..

STUDY/Swift 2018.07.04

Swift 함수의 가변 매개변수, 입출력 매개변수

가변 매개변수: 매개변수로 몇 개의 값이 들어올지 모를 때! import UIKit // 가변 매개변수를 가지는 함수의 정의와 사용func sayHelloToFriends(me: String, friends names: String...) -> String { let hello = "Hello! " var result = "" for friend in names { result += friend + ", " } return hello + result + "I'm \(me)"} print(sayHelloToFriends(me: "JB", friends: "CS", "SJ", "NJ", "SH", "YS")) // 가변 매개변수기 때문에 없어도 문제가 없다. print(sayHelloToFriends(me:..

STUDY/Swift 2018.06.29

Swift 함수의 일급 객체 조건

함수의 일급 객체 First-class Citizen 조건, 전부를 충족해야 한다. 전달인자[Argument]로 전달할 수 있다. 동적 프로퍼티 할당이 가능하다. 변수나 데이터 구조 안에 담을 수 있다. 반환 값으로 사용할 수 있다. 할당할 떄 사용된 이름과 관계없이 고유한 객체로 구별할 수 있다 * 참고 func hello(name: String) -> String { return “Hello \(name)!” } let helloToJB: String = hello(name: “JB”) Note_매개변수[Parameter]와 전달인자[Argument]: 매개변수는 전달 값의 이름, 전달인자는 전달하는 값이다. 위의 hello(:)를 예로 들자면, 매개변수는 name이고, 전달인자는 “JB”이다.

STUDY/Swift 2018.06.29

Swift 함수형 프로그래밍 패러다임과 그 장점

import UIKit // 명령형 프로그래밍 패러다임 VS 함수형 프로그래밍과 패러다임 func doSomething() { print("do something") } func doAnotherThing() { print("do another thing") } // 명령형 프로그래밍 패러다임func excuteAll() { doSomething() doAnotherThing()}excuteAll() // 함수형 프로그래밍 패러다임func excute(tasks: [()-> Void]) { for task in tasks { task() }}excute(tasks: [doSomething, doAnotherThing]) // *함수를 전달인자로 사용한다 ////////////////////////////..

STUDY/Swift 2018.06.29

Swift 비교 연산자

// 스위프트의 유일한 참조(Reference) 타입인 클래스의 인스턴스에서만 참조비교 연산자를 사용할 수 있다. // (물론 프로그래머가 다른 데이터 타입에서 === 등의 연산자를 정의하면 다른 용도로 사용 가능하다.) // 스위프트의 기본 데이터 타입은 모두 구조체로 구현되어 있기 때문에 값 타입이다. // 값의 비교 연산에는 ==을 사용하고[구조체의 인스턴스], 참조 타입인 경우에만 ===을 사용한다[클래스의 인스턴스]. class Person { var height: Float = 0.0 var weight: Float = 0.0 } let valueA = 3 let valueB = 5 let valueC = 5 let isSameValueAB: Bool = valueA == valueB // f..

STUDY/Swift 2018.06.29

Swift nil 병합 연산자, 옵셔널 관련 연산자

import UIKit let someOptionalInt: Int? = nil // 삼항 조건 연산자// Question ? A : B// Question(불리언 값)이 참이면 A를, 거짓이면 B를 반환// someOptionalInt가 값이 들어있으면 그 값을 반환하고, 아니면 0을 반환한다.let valueInt: Int = someOptionalInt != nil ? someOptionalInt! : 0 // valueInt = 0 // nil 병합 연산자// A ?? B// A가 nil이 아니면 A를 반환, A가 nil이면 B를 반환let valueInt2: Int = someOptionalInt ?? 0 // valueInt = 0 // 같은 결과를 볼 수 있지만, nil 병합 연산자를 사용하..

STUDY/Swift 2018.06.29

Swift 구조체와 클래스 [Struct, Class]

구조체와 클래스 구조체와 클래스는 프로그래머가 데이털르 용도에 맞게 묶어 표현하고자 할 때 용이하다. 구조체와 클래스는 프로퍼티와 메소드를 사용하여 구조화된 데이터와 기능을 가질 수 있다. 하나의 새로운 사용자지정의 데이터 타입을 만들어주는 것이다. 스위프트에서는 구조체와 클래스의 모습과 문법이 거의 흡사하지만, 구조체의 인스턴스는 값 타입이고, 클래스의 인스턴스는 참조 타입이라는 큰 차이점이 존재한다. => ‘무엇이 전달되느냐’가 다르다. 예를 들어 어떤 함수의 전달인자로 값 타입의 값을 넘긴다면 전달될 값이 복사되어 전달되지만, 참조 타입이 전달인자로 전달될 때에는 값을 복사하지 않고 참조(주소)가 전달된다. 참조라는 것은 C, C++, Objective-C 등의 언어에서 사용되는 포인터와 유사한 개..

STUDY/Swift 2018.06.29

Swift 클로저 [Closure]

Swift4 Closure0. 함수는 클로저의 일종이다.1. 함수의 전달인자로서의 클로저 사용: 함수를 선언하고 사용할 때 주고받는 전달인자의 자리에 클로저를 쓸 수 있다.2. 기본 클로저: 매개인자들이 사용 되어지는 자리에 쓰인다.3. 후행 클로저: 클로저가 함수의 마지막 전달인자라면 소괄호 ')' 이후에, 외부에 클로저를 구현할 수 있다. (함수의 선언이 아니라 사용할 때 이야기)4. 반환타입 생략 가능: 우리는 앞서 선언했기 때문에(아래 3번째 줄), 사용할 때 반환 타입을 생략할 수 있다. (컴파일러가 이미 반환타입을 알고 있기 때문)5. 단축 인자 이름 사용 가능: 매개변수의 이름이 굳이 불필요 하다면, 순서대로 $0, $1, ... 이렇게 사용할 수 있다.6. 암시적 반환 표현: 클로저 마지막..

STUDY/Swift 2018.06.22

How To Create A RAID1 Setup On An Existing CentOS/RedHat 6.0 System

By: Maurice Hilarius - Hard Data Ltd. - October 12, 2011 This tutorial is for turning a single disk CentOS 6 system into a two disk RAID1 system. The GRUB bootloader will be configured in such a way that the system will still be able to boot if one of the hard drives fails (no matter which one).NOTE: Everything has to be done as root:su - enter root passwordIn this example the initial layout for..

STUDY/CentOS on Mac 2017.03.17