본문 바로가기

애플

[Swift] 021 Additional Tips for Arrays and Dictionaries (배열과 사전의 추가적인 팁) for beginners 믿을만한 선언문(COUNTING ON IT)일반적으로 for-in 문은 열거형으로 사용합니다. Swift가 제공하느 특별한 문법을 사용해 개발자들은 특정 숫자의 범위를 세는 for-in 반복문을 구성할 수 있습니다. 여러 항목이 들어 있는 컬렉션이나, 어떤 범위, 배열 안에 들어 있는 항목에 대해서, 또는 문자열에 들어 있는 각 문자에 대해서 반복을 할 때 for-in 반복문을 사용합니다. for-in 반복문은 다음과 같습니다. for loopVariable in startNumber...endNumber for-in 반복문은 각각의 루프에 대한 값을 가진 루프 변수가 필요합니다. for-in문은 키워드 in 다음에 시작 번호가 오고 그 다음은 "..."그리고 끝 번호를 순서대로 넣습니다. 마침표 세 개.. 더보기
[Swift] 020 Iterating Collections (컬렉션 반복) for beginners 기본적인 컬렉션 타입인 배열과 딕셔너리를 모두 살펴보았습니다. 이젠 배열과 딕셔너리를 반복하는 방법에 대해 알아보고자 합니다. 컬렉션을 반복하는 것은 배열이나 딕셔너리 내의 값을 각각 검사하고 검사 후 잠정적으로 작업을 수행하는 것입니다. 반복은 우리가 일상생활에서 항상 하는 일을 말합니다. 업무를 완료하기 위해 문서로 작성된 단계별 리스트대로 작업할 때 이 리스트의 내용을 반복하는 것입니다. 데이터를 가지고 반복할 때도 다르지 않습니다. 반복은 매우 기본적인 코딩 작업으로 예제를 가지고 다뤄보도록 하겠습니다. Swift에서는 컬렉션에 대한 반복을 쉽게 만들 수 있게 다양한 구문을 제공합니다.배열 반복(ARRAY ITERATION)C 언어를 사용해 본 분들이라면 for 반복문 개념이 매우 친숙할 것입니다.. 더보기
[Swift] 019 Declare Array and Dictionary (배열, 사전 선언하기) for beginners 지금까지 만든 배열과 딕셔너리는 선언할 때 초기화 되었습니다. 그러나 Swift 언어로 프로그램을 개발할 떼에는 때로 초기화 없이 배열이나 딕셔너리를 생성하는 것도 필요합니다. 선언 당시 애플리케이션 내에서 값이 알려지지 않았거나 빈 배열 또는 빈 딕셔너리를 라이브러리나 프레임 워크 내의 메서드로 채울 필요가 있습니다. 빈 배열(The Empty Array)빈 배열을 선언하는데 두 개의 명명법이 사용됩니다. 위 방식은 배열을 "손으로" 직접 입력해서 선언한 형태이고 Array 키워드와 괄호로 묶은 배열의 타입이 사용됩니다. 그리고 Swift는 사용할 수 있는 "약식" 형태의 두 번째 방법도 제시함니다. 위 예제는 Int 값을 가지고 있는 빈 가변 배열을 선언합니다. 가변 배열이기 때문에 배열을 변.. 더보기
[Swift] 018 Dictionary (사전) for beginners 딕셔너리(The Dictionary) 사전을 생각하면 유명한 사전 편집자인 대니얼 웹스터(Daniel Webster)가 떠오를 것입니다. 도서관 서가에 꽂혀 있는 사전에는 뜻을 자세하게 설명한 단어들이 잘 정리되어 있습니다. 또한, 사전에서 단어의 정의를 찾을 때는 알파벳 순서대로 찾습니다. Swift 언어의 딕셔너리(Dictionary)도 우리가 알고 있는 사전처럼 사용합니다. 딕셔너리는 같은 타입을 가진 여러개의 값을 저장하는 하나의 컨테이너라고 볼 수 있습니다. 각각의 값은 유일한 키(key)와 값(value)에 물려 있으며, 이 키와 값은 딕셔너리 안에서 해당 값을 찾기 위한 식별자의 역할을 합니다. 배열의 값들과 달리 딕셔너리 안에 저장된 값은 어떤 순서가 정해져 있지 않습니다. 그래서, 실제로.. 더보기
[Swift] 017 ARRAYS (배열) for beginners Birds of a feather (유유상종)배열이 다른 타입의 값을 가질 수 있을까? 위 예제를 보니 Swift는 확실히 배열이 다른 타입의 값을 가지는 것을 허용하지 않습니다.따라서 배열의 값은 동일한 타입이어야 합니다.▲그렇다면 배열 선언 자체에서 값 타입에 대해 구체적으로 명시하고 싶으면 어떻게 할까요?배열이 특정 타입의 값을 가지도록 선언하려면 콜론을 추가하고 그 다음에 [] 괄호로 묶은 타입의 이름을 넣습니다.▲Extending the array (배열확장)앞에서 다룬 가변 변수인 refillableCandyJar 배열을 다시 한번 살펴보겠습니다. 여기에 새로운 배열을 추가해 보겠습니다.이번에는 결과창을 보여주지 않아 어떤 변화가 발생했는지 알 수가 없네요.▲예상했던 대로 Candy Canes.. 더보기
[Swift] 016 Working with Collection (컬렉션 사용하기) for beginners 컬렉션은 개별적인 값만 표현할 수 있는 Int, Double, Float, Boolean, String 등의 자료형과 달리, 관련 있는 자료끼리 묶음으로서 일종의 집합적 성격을 갖게 하는 자료구조입니다. Swift는 배열(Array)과 딕셔너리(Dictionary)로 알려진 두 가지 타입을 제공합니다. 배열은 동일한 타입을 가진 값을 순서대로 저장하고, 딕셔너리는 동일한 타입을 가진 값을 순서와 상관없이 저장합니다. 따라서 딕셔너리는 유일한 식별자인 키(key)를 통해 값을 찾고 참조하게 됩니다. 이후 부터는 다양한 방법으로 정보 및 데이터를 그룹으로 분류할 수 있게 해주는 중요한 구조체인 컬렉션에 대부분 초점을 맞출 것입니다. The Candyjar (사탕 항아리)슈퍼마켓 선반 위에 놓인 비어 있는 사.. 더보기
[Swift] 015 Optional (옵셔널) for beginners 앞서 동일한 타입의 새로운 변수에 할당할 수 있도록 문자열 변수 s의 내용을 Int형으로 변환하는데 Int() 메서드를 사용한 것을 기억할 것입니다. Swift가 반환한 타입 지정자 다음에 나오는 물음표에 대해서 앞서 잠깐 살펴보았습니다. 이 물음표는 myConvertedInt 가 Int 그 이상이라는 의미를 내포하고 있습니다. 여기에서 물음표는 옵셔널(optional) Int를 의미합니다. 그럼 정확하게 옵셔널 기능은 무엇일까요? 옵셔널은 변수나 상수가 아무것도 없거나 또는 nil 일 수 있다고 Swift에 알려주는 타입 수식어입니다. 값 nil은 오랫동안 다른 프로그래밍 언어에서도 사용되었습니다. Objective-C에서도 nil로 쓰고 있으며 C 언어와 C++ 언어에서는 NULL로 사용되고 있습니다.. 더보기
[Swift] 014 Grouping Data with Tuples (데이터를 튜플로 묶기) for beginners 때로 각기 다른 데이터 요소를 결합해 더 큰 타입으로 만드는 것은 유용합니다. 지금까지는 정수 그리고 문자열 등 단일한 데이터 위주로 살펴보았습니다. 이런 기본적인 타입은 Swift의 자료 저장과 조작 기능의 기본이 됩니다. 그러나 이런 기본적인 타입이 좀 더 흥미로운 방법으로 결합이 될 수도 있다는 점도 알게 될 것입니다. 지금부터 살펴볼 조합은 튜플(Tuple)입니다. 튜플은 한 개 또는 그 이상의 변수나 상수를 하나의 그룹으로 묶어주거나 상수 값들을 단일 엔티티로 결합시킵니다. 튜플은 괄호로 묶어 표현하고 쉼표로 분리한 리스트로 정의됩니다. 상수 myDreamCar는 정수 한 개와 문자 상수 두 개를 가진 튜플로 정의되었습니다. 타입을 분명하게 명시하지 않았기 때문에 Swift는 튜플의 각 멤버 타.. 더보기
TarDisk Pear increases your MacBook’s storage in one-click with an SD card fusion drive Adding extra storage to a MacBook using an SD card is easy, but it works like a thumb drive or external hard drive and not like your permanent, built-in storage. That means you’ll have to manually manage the storage, dragging files to and from the drive. But TarDisk Pear lets you add extra flash storage to your MacBook using an SD card and 1-click setup to merge the storage with your internal dr.. 더보기
[Swift] 013 Using Aliases (앨리어스 사용하기) for beginners 앞서 타입에 대해서 알아보고 변수와 상수를 인식하고 분류하는 것이 Swift 언어에 얼마나 중요한지도 살펴보았습니다. 불변(변하지 않는)하는 속성처럼 타입은 프로그램의 모든 수와 문자열의 필수 요소입니다. 그러나, 때로 타입 앨리어스(type alias)를 사용해 소스 코드의 가독성을 높이고 싶을 때도 있을 것입니다.타입 앨리어스는 타입에 다른 이름을 넣으라고 Swift에 말하는 방법입니다.타입 앨리어스를 사용해 원래의 Swift 타입인 UInt8 이 EightBits로 재정의했습니다. 그리고 EightBits는 그 다음 선언문에도 사용되었습니다. 조금 더 나아가 타입 앨리어스를 또 다른 타입 앨리어스에 할당할 수도 있습니다.▼NewBits 와 EightBits는 UInt8 의 아래에 있습니다. 타입 측.. 더보기
[Swift] 012 Printing made easy (출력도 쉽게) for beginners 지금까지 REPL에서 문자열을 출력할 때 print 메서드를 사용했습니다. 이 메서드를 다시 살펴보고 좀 더 복잡한 문자열을 구성하는데 이 출력 메서드를 어떻게 사용하는지 알아보겠습니다. print메서드의 편리한 기능 중 하나는 변수의 내용을 힘들이지 않고 다른 텍스트와 같이 즉시 출력하는 것입니다. C 언어나 Objective-C 언어에 익숙한 개발자라면 포맷된 텍스트를 표현하기 위해ㅐ 입력해야 하는 양이 엄청나다는 것을 알고 있을 것입니다. C 언어의 printf와 Objective-C 언어의 NSLog()가 그 대표적인 표현식 예제입니다. 아래 예제는 Objective-C의 코드입니다. NSString *myFavoriteCity = " New Orleans"; NSString *myFavorite.. 더보기
[Swift] 011 Boolean - True or False (참 또는 거짓) for beginners Swift가 지원하는 또 다른 타입은 불(Bool) 또는 불리언(Boolean)형입니다. 불형은 true 또는 flase의 단일 값을 가지고 있으며 "12가 3보다 더 큰가?" 또는 "55는 12와 같은가?" 와 같은 질문에 대한 답의 비교 수식에 사용됩니다. 이런 논리 비교는 객체 리스트의 반복을 종료하거나 조건문의 실행 경로를 결정하는 등 소프트웨어 개발에 많이 사용됩니다. 아래 예제에 사용된 비교식은 '~보다 더 큰', '더 크거나 같은', '~보다 작은', '작거나 같은', '같은', '같지 않은' 등의 비교 연산을 나타내고 있습니다. 비교의 "참(trueness)"을 근거로 불의 true 또는 false가 반환됩니다. Int 형과 Double 형의 수치 타입 모두 비교되는지 보여주는 Int 형 .. 더보기
[PYTHON 3] Tutorials 38. Min, Max and Sorting Dictionaries (딕셔너리의 최솟값, 최댓값 구하기 및 정렬하기) 이번 시간에는 딕셔너리(key, value값을 가지는 형태)의 최솟값, 최댓값을 구하여 보겠습니다. 그리고 이의 정렬도 함께 살펴보려 합니다. 튜토리얼 초반부에 다룬 딕셔너리는 key, value값을 가지고 있습니다. 영어 사전을 떠올려보시면 이해하기 쉬울 것입니다. 찾고자 하는 단어가 key에 해당이되고, 해당 단어의 뜻이 value에 해당합니다. 어떤 key값에 대응하는 value값들을 가지고 있는 딕셔너리가 있다고 가정을 해 보겠습니다. 이 딕셔너리에는 많은 양의 데이터가 중구난방으로 존재하고 있습니다. 이런 무작위 데이터를 잘 정리하려고 하는데, 일반적으로 오름차순, 내림차순 등의 방식으로 정렬을 합니다. 그러나 문제는 파이썬에서 딕셔너리는 자체적으로 정렬을 할 수가 없습니다. 그럼 어떻게 해야 .. 더보기
[PYTHON 3] Tutorials 37. Lambda 이번 시간에는 Lambda 에 대해 알아보려고 합니다. 프로그래밍 언어를 조금이라도 다뤄본 사용자라면 친숙한 어휘일텐데, 그렇지 못한 초심자들이라면 상당히 낯선 단어이기도 합니다. Lambda(한글식 호명은 '람다'라고 읽으면 됩니다.)는 일종의 작은 함수 정도로 생각하시면 됩니다. 그 동안 어떤 역할을 수행하게 하는 함수를 정의하고 인자를 전달하고 함수를 호출하고 하여 코딩을 하여왔습니다. 그러나 Lambda는 함수와 달리 함수명이 없습니다. 그리고 여러번 호출해서 사용하지 않고 1회성으로 잠깐 사용하는 속성(단기) 함수라고 볼 수도 있습니다. 함수명만 없을 뿐이지, 전달되는 인자는 여전히 표기하여야 하는 공통점이 있습니다. 간단하게 기본적인 'Lambda'를 알아보겠습니다. 기본적인 Lambda의 표.. 더보기
[PYTHON 3] Tutorials 36. Zip Function 이번에는 zip function 에 대해 알아보도록 하겠습니다. 파이썬을 조금이라도 다루어 본 사용자라면 눈에 상당히 익은 함수일텐데요. 간단히 언급하자면, 길이가 같은 서로 다른 두 리스트가 있는데, 이 리스트를 하나의 짝(쌍)으로 묶어주는 역할을 하는 함수라고 생각하시면 될 것 같습니다. 보통은 반복문으로 각각을 합쳐주는 코딩을 하는데, 이러면 코드가 번거러워지고 깔끔(?)하지 못해지겠죠. 더욱 간편한 방법이 바로 zip function 사용입니다. 말보다는 아래 예제를 보시면 금방 와 닿을 것입니다. first name을 넣은 변수 first, last name 을 넣은 변수 last 가 아래와 같이 있습니다.▼ 이 두 리스트를 하나로 묶어주기 위해 zip(first, last) 처리하여 names.. 더보기
[PYTHON 3] Tutorials 35. Unpack List or Tuples ( 리스트, 튜플 풀기) 이번 시간에는 파이썬에서 리스트, 튜플을 다룰때 언패킹(풀기)을 어떻게 주로 이용하는지를 알아보고자 합니다. 일상 생활에서 우리가 마트에 장을 보러 간다고 가정을 해 보겠습니다. 영수증에 구매 목록이 쭉 나열이 될텐데, 이를 파이썬 프로그램으로 구매목록을 나열한다고 가정해 볼까요. 그럼 어떻게 처리를 하는게 좋을까요? 구매목록이 적게는 1개, 많게는 수십, 수백가지에 이를것입니다. 이럴경우 사용하는게 리스트, 또는 튜플을 이용합니다. 아이템을 하나 구매했는데, 구매 날짜, 품목, 가격. 이렇게 item이라고 하는 변수에 저장을 하게 하였습니다. 단순히 어떤것이 들어있는지 확인해 보았습니다.▼ item 이라는 변수의 포지션값을 넣어서 각각의 위치에 해당하는 값을 표기하게 하였습니다. 결과를 보니, 순서대로.. 더보기
[MAC TIP] Key Press Action with AppleScript This is an AppleScript to act like a keyboard action. Run a script like this in AppleScript Editor: activate application "Firefox" repeat 100times tell application "System Events" to keystroke "a" using command down delay (random number from 0.5 to 5) end repeat - More examples:tell application "System Events" key code 123 using {shift down, command down} -- shift-command-left endset old to (pat.. 더보기
[Swift] 010 Do math and more (계산하기) for beginners Swift는 수학을 매우 잘합니다. 문자열혈이 문자열을 연결하는데 더하기 연산자를 사용하는 것을 보았습니다. 그러나 더하기 연산자가 문자열을 연결하는 데에만 사용되는 것은 아닙니다. 일반적으로 더하기 연산자는 숫자를 더할 때 사용하는 표현입니다. 그럼 Swift의 계산 능력을 살펴보겠습니다. 아래 예제는 기본 사칙연산인 더하기(+), 빼기(-), 곱하기(*), 나누기(/)를 다루고 있습니다. Swift는 예상했던 답을 주었고 또한 상수도 Int 형으로 할당되었습니다. 상수를 정수로 할당하는 것은 등호(=)의 오른쪽 값을 보고 Swift가 추론한 것입니다.▼ % 연산자를 사용해서 mod 연산을 수행해 나누기 식의 나머지 값을 반환할 수도 있습니다.▼ Swift에서 mod 연산자는 Double 값도 사용할 .. 더보기
[Swift] 009 Strings (문자열) for beginners 지금까지 간략하게나마 수치 타입에 대해 알아보았습니다. 그러나 Swift에서 많이 사용되는 또 다른 타입은 문자열형입니다. Swift의 문자열은 한 개 또는 그 이상의 글자를 큰 따옴표(" ")로 묶어서 표현합니다. 완벽한 문자열 선언문은 다음과 같습니다.▼ 아래 예제도 문자열 선언문입니다.▼ 위의 예제들은 타입의 명확함과 타입 추론을 비교해 보여주는 것입니다. 첫번째 예제는 Swift가 타입을 결정하기 위해 값을 확인하는 것이고, 두 번째 예제는 타입을 명확하게 표현한 것입니다. 이 두 예제 모두 Swift에서는 올바른 표현입니다.Stringing things together (문자열 조합)문자열은 더하기(+) 연산자를 사용해 연결하거나 결합(concatenate)해서 더 큰 문자열을 만들 수 있습니다.. 더보기
[Swift] 008 Data Type - Being Explicit (자료형 - 명시적 선언) - 2 for beginners Swift 가 변수나 상수의 타입을 추론해주는 것은 유용합니다. 개발자가 정수가 무엇인지 혹은 소수가 붙은 숫자가 무엇인지 설명하지 않아도 Swift는 그냥 알고 있습니다. 그러나 가끔 변수가 상수를 특정 타입으로 선언하고 싶을 때가 있습니다. Swift는 선언문의 일부로 타입을 알릴 수 있게 해줍니다. 변수나 상수를 특정 타입으로 선언하는 것은 콜론과 타입 이름 순서대로 넣고 그 다음에 변수나 상수 이름을 넣기만 하면 되니 매우 쉽습니다. myNewNumber를 Double 형으로 선언했고 숫자 3을 할당했습니다. 선언한 결과까지 함께 잘 보여주고 있습니다.▼ 위의 결과에서 만약 Double을 넣지 않으면 어떻게 될까요? Swift는 할당된 내용을 평가하고 값이 Int 형이라고 결정을 내리고 나서 my.. 더보기
[Swift] 007 Data Type (자료형) - 1 for beginners Swift는 선언된 변수의 타입을 자동으로 추론합니다. 변수가 Int 형인지 또는 Double 형인지 추가 정보를 입력하지 않아도 된다는 의미입니다. Swift는 등호 표시(=) 오른쪽에 무엇이 있는지 확인하는 것만으로도 변수나 상수의 타입을 추론합니다. 타입은 컴퓨터 언어가 값과 값을 저장하는 컨테이너를 분류하는 데 사용하는 구조입니다. 타입은 값, 변수 또는 상수의 특징을 분명하게 정의하여 애매 모호함을 없애고 코드에 명확성을 부여합니다. 타입은 변수나 상수를 각각의 값에 확실하게 할당합니다. Swift는 타입을 확실하게 인식하는 언어이며, 이 내용은 앞서 사용한 예제를 통해서도 확인할 수 있습니다. 아래 표는 Swift에서 사용되는 기본적인 타입을 나타냅니다. 원래 이보다 더 많은 타입이 있지만, .. 더보기
[Swift] 006 Constants are consistent (상수는 변하지 않는 값) for beginners 변수는 시간이 자나면서 값이 변할 수 있기 때문에 많은 부분에서 유용합니다. 루프를 반복하거나 임시 숫자, 문자열, 추후에 다루게 될 다른 객체를 가지거나 할 때 변수가 많은 도움이 됩니다. 값을 가질 수 있는 Swift의 또 다른 구조체는 상수입니다. 상수는 이름 자체가 상수의 뜻을 함축하고 있습니다. 상수는 변함없이 계속해서 하나의 값만 가집니다. 변수와는 달리 상사의 값은 일단 할당되면 바꿀 수 없습니다. 말 그대로 제자리에 고정된 것입니다. 그리고 변수처럼 상수도 타입이 있으며 타입이 한 번 할당되면 절대 변하지 않습니다. 새로운 변수를 선언하고 새로운 상수 z 를 변수 x의 값에 할당해 상수가 실행되는 내용을 살펴보겠습니다. let 명령어를 사용했습니다. let 키워드는 Swift 에서 상수를 .. 더보기
[PYTHON 3] Tutorials 34. Make words counters - 3 ( words frequency counter 만들기) 이번 시간에는 이전 시간에서 만든 Word Counter를 활용해서 Frequency Counter(빈도수 카운터) 만들어 보도록 하겠습니다. 어떤 문서를 작성할시에 특정 단어가 얼마나 자주 사용되었는지 확인하거나, 어떤 사이트에서 가장 빈도수가 높게 올라오는 어휘가 어떤 것인지 한눈에 확인할 수도 있으며, 혹은 특정(장소, 시간, 위치, 카테고리 등등)한 매개체에서 동일 단어의 사용 빈도를 추적할 때도 활용할 수 있는 Frequency Counter 코딩을 시작해 보겠습니다. 이전 시간까지 작성한 코드입니다.▼ 확인을 위해 삽입한 print(word)를 comment 처리 하였습니다. 이전 시간에 완성한 특수문자가 제거된 온전한 단어들을 전달받는 딕셔너리 제작 함수를 호출하게 하였습니다.▼ 상기 그림에.. 더보기
[PYTHON 3] Tutorials 33. Make words counters - 2 ( words counter 만들기) 이전까지는 웹페이지에서 특정 부분을 크롤링하여 단어들을 추출하였습니다. 그러나 여기에는 특수문자 등 원하지 않는 부분도 포함되어 있었습니다. 이번 시간에는 앞에서 얻은 자료에서 원치않는 부분을 제거하는 코딩을 하도록 하겠습니다. 앞 장에서 다룬 코드는 아래와 같습니다.▼ 상기 코드에서 우선 확인을 위해 삽입한 print(each_word)를 삭제하도록 하겠습니다.▼ 또 다른 함수를 정의할 건데 start(url) 함수 내에서 호출 하도록 할 예정입니다. 그래서 아래 코드에서 처럼 clean_up_list(word_list) 문구를 삽입하였습니다.▼ clean_up_list(word_list) 함수를 정의하겠습니다.▼ start(url) 함수와 마찬가지로 원하지 않는 데이터를 뺸 자료를 담을 그릇(리스트).. 더보기
[PYTHON 3] Tutorials 32. Make words counters - 1 ( words counter 만들기) 이번 시간에는 'words counter'를 만들어 보겠습니다. 말 그대로 얼마나 많은 단어들이 있는지 카운팅 하는 프로그램입니다. 일반적으로 'words counter'는 문서 작업을 할 때에 얼마나 많은 글자가 사용되어는지 확인하는 용도로 많이 활용되곤 합니다. 대신 이번에는 특정 웹 페이지에서 어떤 단어가 얼마나 많이(빈도수) 사용되어졌는지를 알아보는 프로그램을 만들어보겠습니다. 이는 빅데이터, search engine(검색엔진) 분야 등 다양한 분야에 광범위하게 사용이 되는 개념이기도 합니다. 시작을 하겠습니다. 우선 코딩에 필요한 모듈들을 import 하겠습니다. 이번에는 웹페이지 관련 모듈인 requests, HTML 코드를 예쁘게(?), 단정하게 보여주는 BeautifulSoup, 카운팅 관.. 더보기
[Swift] 005_The power of declaration (변수 선언) for beginners The Power of Declaration 학교 다닐 때 숫자나 문자를 대신하는 플레이스 홀더가 변수라는 것을 배웠을 겁니다. "x = 12" 혹은 "y=55"라고 말하는 것은 실질적으로 선언하는 것입니다. 다시 말하면 변수를 숫자와 같다고 선언을 해주는 행위인 것입니다. Swift도 변수를 선언하는 것이니 크게 다르지 않습니다. 우선 터미널에서 Swift를 실행하겠습니다.▼ Swift의 var(variation: 변수) 키워드를 사용해 변수를 선언해 주었습니다. 첫 번째 행은 Swift로 하여금 변수 x는 12와 같다고 선언한 것이며 Swift는 x = 12라고 선언해 명령을 충실히 따른 것입니다. 그 뿐만 아니라 Swift는 "x는 Int(Integer: 정수형)이며 값은 12와 같다."라고 선언합.. 더보기
IBM, Swift sandbox website 공개. Swift 코드를 웹 브라우저에서 작성하다. https://developer.ibm.com/swift/2015/12/03/introducing-the-ibm-swift-sandbox/ 3일 전 애플에서 iOS, Mac OS X 애플리케이션을 제작할 수 있는 프로그래밍 언어인 Swift 를 오픈소스로 전세계에 공개하였습니다. 이를 통해 개인은 물론 기업들도 자유롭게 standard library functions and objects 에 접근할 수 있게 되었고, 서버에도 Swift 를 설치하여 보다 다양한 저작활동을 하는 것이 가능해졌습니다. 이런 애플의 오픈소스 전환 소식이 전해진 이후, 금일 IBM에서 이에 화답하듯이 Swift 코드를 웹 브라우저 상에서 작성하고 컴파일 할 수 있는 IBM Swift .. 더보기
[Swift] 004_Diving into Swift (Swift 실행하기) for beginners 이제 Swift REPL을 실행하면 명령어 입력을 기다리는 Terminal에 REPL 화면이 보일것입니다.▼ REPL을 실핼할 때마다 프롬프트는 숫자 1과 부등호 > 를 표시합니다.▼ Return을 눌러 제대로 작동하는지 확인해 보겠습니다. 한 행을 입력하면 프롬프트는 다음 행으로 넘어갑니다. ▼ Help and QuitSwift는 REPL 명령어 관련 도움말이 내장되어 있습니다. 프롬프트에 :help 명령어를 입력하면 관련 명령어 리스트를 보여줍니다. 그리고 이 명령어들은 콜론이 항상 붙어 있습니다. 콜론을 사용함으로써 Swift문과 REPL 명령어를 구분합니다. :help 명령어를 입력해 명령어 리스트를 확인하겠습니다. ▼ 이 리스트의 명령어 중 상당수가 디버깅과 관련된 것을 알 수 있습니다. Swi.. 더보기
[MAC TIP] 오토메이터를 이용한 파일, 폴더 이름 일시에 변경하기 - Rename files, folders using automator on OS X at once. 맥에서 한번에 많은 파일 혹은 폴더의 이름을 변경해야 하는 경우가 있을 때 어떻게 하시나요? 그냥 하나씩 변경? 지루하고, 번거롭고, 시간도 많이 소요가 될 수 있습니다. 물론 파일의 개수가 한 두개 정도일 경우에는 그냥 마우스 클릭을 한번하거나 키보드로 엔터키를 쳐서 이름을 변경할 수 있습니다. 그러나 오늘 하루에 찍은 사진이 100장 혹은 1000장이라고 한다면 사정이 달라집니다. 이럴 때 유용하게 쓸수 있는 방법이 있습니다. 바로 맥에 내장되어 있는 오토메이터(automator)를 활용하면 한번에 해결 가능합니다. 게다가 서비스(Service)로 저장을 해두면 언제든지 사용가능하기에 생산성 향상에 큰 도움이 됩니다. 1. automator 실행하기spotlight를 이용하여 'automator'를 .. 더보기
[Swift] 003_Interacting with Swift (Swift와 소통하기) for beginners 우선 양방향 인터프리터인 REPL을 통해 Swift 를 시작해 보려고 한다. REPL은 Read-Eval-Print-Loop의 Acronym(앞글자만 딴것)이며 이름 자체가 REPL이 무슨 일을 하는지 알려주고 있다. REPL은 명령을 읽고, 평가하고, 결과를 출력하고 또한 처음으로 돌아가 같은 작업을 반복한다. 실제로 이런 양방향성이 Swift가 가진 훌륭한 기능 중 하나이며 C 언어나 Objective-C와 같은 컴파일러형 언어가 가지고 있지 않은 기능이다. 이미 REPL을 제공하는 루비(Ruby)나 파이썬(Python)과 같은 스크립트 언어를 사용해본 유저라면 새로운 것이 없을테지만 컴파일러형 언어 쪽에서는 새로운 기능이다. REPL의 가장 큰 장점은 C, C++, Objective-C 언어에서 해.. 더보기