기술 관련
-
Swift - Data Type #Tuple기술 관련/Apple Swift 2014. 8. 8. 17:02
Tuples여러개의 값을 하나로 묶은 그룹을 말함Tuple에 들어가는 값은 어떤 타입도 가능하며, 각각 같은 타입일 필요도 없음괄호로 둘러싸이며 콤마로 구분된다예를 들어 let A = (404, "Not Found")로 선언하면 이는 (Int, String) 의 Tuple 타입으로 선언된 것이다A 를 전달 받을 B를 변수로 선언한다면 다음과 같이 선언한다var B:(Int, String) = A튜플를 다시 분리하려면 다음과 같이 변수이름으로 나눠서 선언해야 한다let (C, D) = A사용하지 않는 항목이라면 Underscore로 표현하여 무시한다let (C, _) = A아니면 그룹으로 묶어진 순서대로 dot 문자와 인덱스 숫자로 선언할 수 있다let C = A.0, D= A.1또는, Tuple 생성 시..
-
Swift - Data Type #Optionals기술 관련/Apple Swift 2014. 8. 8. 16:58
Optional 타입변수나 상수에 값이 있는지도 모르는 경우에 사용한다예를 들어 X에 값이 있는 경우에만 Y와 같은지 비교하고자 할 때 사용한다Optional로 선언하려면 데이터 타입 뒤에 물음표 (?)를 붙여서 사용한다예를 들어 정수형의 경우 다음과 같이 선언한다var A:Int?A에 정수값 100을 할당하거나 nil을 할당하여 A가 아무런 값이 없도록 할 수 있다.A = 100 또는 A = nil참고로 Swift의 nil은 Objective-C의 nil과 다르며 단지 값의 존재 여부를 확인하는 용도로만 사용된다만약 해당 값이 분명히 존재한다고 확신하는 경우 느낌표(!) 문자를 뒤에 붙여 사용할 수 있다if A != nil { println (" A has a value of \(A!).")} Opti..
-
Swift - Data Type #General기술 관련/Apple Swift 2014. 8. 8. 14:10
데이터 타입Int/UInt : 정수형size에 대한 명시가 없는 경우 Platform Native Word Size에 대응)Unsigned : UInt8, UInt16, UInt32, UInt64Signed : Int8, Int16, Int32, Int64Double : 64 비트 부동 소수점Float : 32 비트 부동 소수점Bool : 참/거짓String : 문자열 데이터Array : 배열Dictionary : Key-Value 형태의 집합 값 할당에 대한 타입기본적인 데이터의 타입에 따라 자동으로 타입이 인식된다정수형 : Int실수형 : Double정수형+실수형 : Double숫자 값 표현10진수2진수 : 0b8진수 : 0o16진수 : 0x지수10진수 : e를 사용 ( 10^exp 값을 곱한다 )1..
-
Swift - General기술 관련/Apple Swift 2014. 8. 8. 14:09
상수와 변수의 선언let : 상수 선언var : 변수 선언 상수와 변수의 이름유니코드 문자를 비롯해 모든 문자를 사용 할 수 있다수학문자, 화살표, Private Use 영역의 유니코드들 그리고 점, 라인, 상자 그리기 문자등은 사용 할 수 없다.당연히 숫자로 시작하는 이름도 사용 할 수 없다한 번 선언된 이름은 이후 같은 이름으로 재선언 할 수 없으며 다른 타입으로 변경 할 수 없다상수에서 변수로, 변수에서 상수 형태로 변경 할 수 없다 타입 Annotation상수와 변수 이름 직후 콜론을 두고 이후 타입 원형을 지정한다A : B 라고 선언하면 'B 타입의 A' 라고 본다 CommentC와 매우 유사하며 두개의 forward slash 문자 이후에 코멘트를 작성 할 수 있다또한, forward slas..
-
아이튠즈 오픈기술 관련/iOS 2010. 6. 15. 13:39
드디어 아이튠즈가 오픈했다. 지금 아이폰과 동기화도 하고 어플리케이션도 설치하고 있는데 무슨 뚱딴지 같은 소리냐고 말할지도 모르겠다. 하지만 국내 아이튠즈 계정으로는 애플 아이튠즈가 제공하는 서비스를 온전히 사용할 수가 없었기에 `오픈'했다라고 이야기 한 것이다. 아이튠즈의 본 기능은 음원이나 영상 구매라고 볼 수 있고 애플은 이를 바탕으로 앱스토어도 만들어 갔는데, 국내에서는 라이센스 문제인지 최근까지도 서비스하지 않고 있었다. 다만 최근 소리바다와 같은 음원 서비스 어플을 결제 방식을 문제 삼아 허가하지 않는 모양새로 볼 때 곧 서비스를 하지 않을까 짐작하고 있었을 뿐이었다. 어쨌든 음원이야 라이센스 문제가 있기 때문에 서비스를 안한다지만 그와 무관한 팟캐스트도 같이 서비스되지 않았다. 이점이 좀 아..
-
[android] MapView와 ItemizedOverlay 사용 시 NullPointerException이 발생하는 경우기술 관련/Android 2010. 4. 3. 19:29
Android SDK에는 Open Source를 이용한 API와 함께 Google에서 제공하는 서비스를 이용 할 수 있는 별도의 API가 포함된 SDK가 있다. 이를 이용한 것 중 대표적인 것이 바로 MapView일 것이다. MapView는 사용자가 만드는 Android Activity에 Google Map을 보여주는 View 클래스이다. 이를 이용하면 Google Map 서버에서 지도와 함께 다양한 정보를 얻을 수 있으므로 꽤나 유용하다. 물론 Google이 직접 만든 Google Map App과는 차이가 있지만 거의 비슷하게나마 사용 할 수 있다. Google Map App에서 검색을 할 경우 화면에 보여지는 것은 ItemizedOverlay라는 것을 이용한다. 이는 지도 화면 위에 아이템을 투영하여..
-
[OSX] Xcode에서 자동 생성한 주석 __MyCompanyName__ 값 바꾸기기술 관련/OSX 2010. 2. 25. 11:46
XCode에서 Class를 생성하면 다음과 같은 주석이 자동으로 추가되는 것을 볼 수 있다. // // Song.h // Terminal // // Created by J.S.Hong on 10. 2. 24.. // Copyright 2010 __MyCompanyName__. All rights reserved. // 그런데, 이 주석을 살펴보면 생성자는 내 이름으로 되어 있는데, 아래 __MyCompanyName__ 에 대한 값은 정의하는 부분이 없다. 인터넷을 살펴 보니 다음과 같은 방법으로 해결 한다고 한다. $ defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions -dict ORGANIZATIONNAME "회사이름" 혹은 다음과 같이 ..
-
Thread-safe 와 reenterant기술 관련 2010. 2. 19. 16:12
thread-safe하다와 reenterant 하다의 차이가 뭘까? 둘 다 서로 multi thread 환경에서 사용되며 서로 다른 thread에서 동시에 해당 함수를 호출 하는 상황에 놓여 있을 때 생각해 보게 되는 말이다. 먼저, thread safe 하지 않은 경우를 알아보자. 이 때는 이미 하나의 thread에서 실행되던 함수를 다른 thread에서 호출하여 실행 할 때 먼저 실행하던 thread가 알지 못하는 사이에 특정 값이나 상태가 변경되어, 처음 thread에서 실행된 함수의 실행결과를 보장하지 못하는 것을 말한다. 그리고, thread-safe 한 것은 이와 같은 문제가 발생하지 않도록 조치가 취해진 상황을 말한다. renterant한 경우는 글자 그대로 그 함수에 재진입 할 수 있다는 ..