기술 관련
-
Raspberry Pi에 Node-JS 설치하기기술 관련/Raspberry Pi 2014. 8. 27. 04:10
라즈베리 파이에 리눅스 계열인 RASPBIAN을 설치한 경우 이를 위한 Node JS가 준비되어 있으므로 다음 몇 가지 단계를 거치면 손쉽게 Node JS 를 사용할 수 있다. 1. RASPBIAN Package 정보 업데이트 RASPBIAN은 Debian 계열의 패키지 관리 정보를 사용한다. 다음과 같이 apt-get 명령을 이용하여 해당 정보를 업데이트를 한다. 그림 그림 2. 라즈베리파이용 NodeJS 설치 Package 정보를 업데이트 했다면 node-arm 프로젝트 홈페이지 (http://node-arm.herokuapp.com)로부터 NodeJS deb 패키지를 받아 설치한다. 현재 (2014-8-27) NodeJS 최신 공식 버전인 v0.10.31, 30, 29를 제공하므로 필요에 따라 선택..
-
라즈베리 파이 모니터 없이 쓰기기술 관련/Raspberry Pi 2014. 8. 26. 13:53
라즈베리 파이는 학교에서 기초 컴퓨터 과학 교육 증진을 위해 만든 단일 보드 컴퓨터다.PC와 달리 ARM 기반의 프로세서를 사용하지만 HDMI와 USB 그리고 인터넷을 위한 커넥터를 제공한다.2014년 발표한 B+ 보드의 경우 국내에서 5만원 정도면 구할 수 있는데 달랑 보드 하나만 들어 있다.전원을 케이블도 없고, 하드 디스크 역할을 하는 SDCard Media도 없다. 전원은 Android 충전기 연결하고 SDCard는 마트나 인터넷에서 8GB~32GB 정도로 구매하면된다.참고로 Raspberry Pi B형의 SDCard 타입이고 B+형은 Micro SDCard 타입이다. OS는 홈페이지에서 무료로 제공하는데 당연히 Open Source OS의 대명사인 Linux를 기반으로 되어 있다. http://..
-
Swift - Closures기술 관련/Apple Swift 2014. 8. 12. 11:21
Closures 클로져는 사용자 코드에서 다른 코드나 함수로 전달 될 수도 있고, 또 그 자체가 사용되어 질 수 있는 기능에 대한 자립적인 블럭을 말한다.또한, 클로저에는 클로저가 정의된 곳의 context로 부터 상수나 변수에 대한 reference를 수집(capture)하거나 저장(store) 가능한데 이를 두고 변수나 상수를 closing한다라는 표현을 사용하기에 closures라는 이름으로 불린다. reference capturing 에 대한 부분은 별도로 설명하고 있으나 간략하게 정리하면, 클로저가 해당 변수나 상수를 지속적으로 참고하고 있으며, 변수일 경우 해당 정보의 변경에 대한 정보를 지속적으로 얻을 수 있는 것을 말한다. Global 함수와 nested 함수가 closure에 대한 특별한..
-
Swift - Function기술 관련/Apple Swift 2014. 8. 11. 17:00
Defining and Calling Functions기본적인 함수 정의는 다음과 같다func 함수이름 ( 인자 정보 ) -> 리턴타입인자 정보는 이름:타입 형태를 따른다func test (param1: String) -> String정의된 함수의 호출은 다음과 같다test("Hello") Function Parameters and Return ValuesMultiple Input Parameters인자 정보에 comma 문자 (',')를 이용하여 여러 인자를 입력 받을 수 있다func test (param1: String, param2: Int) -> String해당 함수에 대한 호출은 다음과 같다test("Hello", 100)Functions Without Parameters다음과 같이 인자 정보를..
-
Swift - Control Flow기술 관련/Apple Swift 2014. 8. 11. 15:19
For Loopsfor-infor-condition-increment While Loopswhiledo-while Conditional Statementsifelseif elseswitchcaseswitch에 넘겨진 값에 대한 경우 (case)를 정의한다C 언어에서 같이 명시적으로 해당 case에 대한 break를 쓰지 않아도 된다case A: handle it for Acase B: handle it for B여러 case에 해당하는 경우 comma (',')로 연결된 형태로 정의한다case A, B: handle it for A or BCase에 Range 타입을 입력 할 수 있음case 1...3:Switch 타입이 Tuple인 경우도 처리할 수 있다case (A, B):case (1...3, 5...
-
Swift - Data Type #Collections기술 관련/Apple Swift 2014. 8. 8. 19:01
ArrayArray에 대한 타입은 Array 형태로 선언한다그러나 간략하게 [SomeType] 형태로 쓸 수 있다문자열에 대한 Arrayvar list: [String] = ["A", "B", "C"]당연한 이야기지만 let을 이용하는 경우 상수가 되며 편집 불가 (immutable) 상태가 된다같은 Type의 Array는 서로 병합이 가능하다list += ["d", "e"] + ["f"] Array 초기화Array를 생성 시 Type 정보화 함께 초기화를 할 수 있다var someInts = [Int]()이렇게 선언할 경우 item count가 0인 정수형 Array가 생성된다동일한 형태로 다음과 같이 선언 할 수도 있다var someInts:[Int] = []Array 타입은 특정 크기와 값으로 초기..
-
Swift - String기술 관련/Apple Swift 2014. 8. 8. 18:03
Objective-C NSString과 호환Swift String은 Objective-C NSString과 seamless 하게 동작하도록 연결되어 있음따라서, NSString에서 제공하던 API가 Swift String에서도 동일하게 제공됨 문자열 초기화literal 로 초기화var emptyString = ""Type initializer로 초기화var emptyString = String() 문자열 편집변수로 선언된 경우 따옴표로 묶여있는 문자열 또는 다른 문자열 변수/상수를 할당 Value 타입의 문자열기본적으로 String 타입은 Value 타입으로 함수나 메소드에 전달되나 새로운 변수, 상수에 할당 될 때 그 값이 복사가 된다실제 Swift 내부적으로는 실행 시 필요한 경우에만 복사를 한다고 ..