iOS Code Testing, 이 책을 읽어주마!!

이 책이 궁금해졌어.


어디 한번... 읽어볼까?




iOS Code Testing: Test-Driven Development and Behavior-Driven Development with Swift

1st ed. Edition


by Abhishek Mishraby

    • Paperback: 440 pages
    • Publisher: Apress; 1st ed. edition (June 30, 2017)
    • Language: English
    • ISBN-10: 1484226887
    • ISBN-13: 978-1484226889
    • Product Dimensions: 6.1 x 1 x 9.2 inches


지금까지...

"안녕, 세상아!"를 얼마나 해왔던가. 


또... "Hello, world!"를 할 시간이다.

이번엔 Vapor로 말이다...




새로운 프로젝트를 만들어 봐야겠지?

새로운 프로젝트를 둘 적당한 위치(폴더)를 찾거나 만들자.

(뭐.. 당연한 얘기겠지만.. 처음 시작하는 Vapor이니, Vapor만을 위한 폴더를 만드는 게 좋겠지??)


터미널(Terminal)을 실행해서...

프로젝트를 둘 위치(폴더)로 이동하고, 다음과 같이 입력하자.

vapor new Hello --template=api

(참고로.. 프로젝트를 생성하면, 프로젝트 이름의 폴더가 생성된다.)


프로젝트가 생성된 폴더를 열어보면, 무수한(?) 파일들이 생성되어 있음을 알 수 있다.

잘 모르지만... 뭔가 된 거 같다.


자...잠깐!!!

스위프트(Swift)를 이용하여 서버를 만드는 기술(?)로 Vapor를 사용하고 있고...

IDE(Integrated Development Environment)로 Xcode를 사용하고 싶었던 게 아닌가!!!


폴더를 살펴봐도.. Xcode에서 프로젝트를 열 수 있는 .xcodeproj 파일이 없다.


Document를 읽어보니, Xcode 프로젝트로 만들어야 한다고 써 있다.

터미널(Terminal)에서..

생성한 프로젝트 폴더(루트 폴더)로 이동한 다음, 다음과 같이 입력하자.

vapor xcode

이렇게 하면... Xcode 프로젝트가 생성되는 것을 볼 수 있을 것이고, 생성이 끝나면... Xcode 프로젝트를 열겠냐고 물어볼 것이다.

물론 Yes~~~, y를 누른다.

(이 질문에 y라고 답하는 것마저 귀찮다면... vapor xcode -y라고 터미널에 입력하자)




Xcode가 실행되었다면..

이제는 서버를 실행해봐야지 않겠는가? 크하하하하


이렇게... Run을 선택한다

(Run을 선택하면 그 옆으로 시뮬레이터?? 같은 게 나오는데... 그건 중요하지 않다. 우리는 서버를 만들고 있지 않은가? ㅋㅋ)


'삼각형 버튼'을 클릭하여 프로젝트를 실행하면, Xcode 하단의 Console 창에 로그가 찍힌다.

Console 창에... "Starting server on 0.0.0.0:8080"이라는 로그를 확인했다면...


웹 브라우저(Safari 같은 거?) 켜고... 다음과 같이 주소창에 입력해보자.

0.0.0.0:8080/info

이렇게 하면, 무슨무슨 정보가 나올거고...


0.0.0.0:8080/plaintext

라고 입력하면... Hello, world!가 출력될거고..


0.0.0.0:8080/hello

라고 입력하면... JSON 형태의 hello world가 나올 것이다..




그런데, 이렇게 나오는 이유는 뭐냐?

다음과 같이...

Xcode에서, Project navigator 창에서 Routes.swift 파일을 찾아 선택하자.


이 파일을 보면... 왜? 브라우저에 저렇게 나오는지 알 수 있다.
알 수 있겠지??

라고는 했지만... 맘에 걸려서..

Routes.swift 파일의 모습이나마 캡쳐해서 올려놓았다. (아래.. 아래.. ^^;;)





끄읕!!!


친구여!

우리 한번 손꾸락을 풀어볼텐가?

현재... 나는 iOS App Developer다.

다시말해서, macOS 설치쪽으로 본다는 말이고.. (위의 그림에서 보이는) Xcode 정도는 기본으로 설치되어 있다는 뜻이다.

(따라서.. 패쑤~)


Xcode를 설치하면 자동으로 Swift가 설치된다는 건 알겠지? 이런 건 쓰지 않아도 되겠지?

("쓰지 않는다"고 쓰는 건... 쓴걸까? 안 쓴걸까? )


스위프트가 설치된 것을 다시 확인하려면... 터미널(Terminal)을 열어서 아래와 같이 입력해보자.

eval "$(curl -sL check.vapor.sh)"



Vapor... 깔까?

 Vapor를 설치하려면 Homebrew가 필요한가부다...

내 맥(Mac)에 Homebrew를 설치한 적이 있던가???????? 음.... 기억이 안나... ㅠㅠ





헉헉...

이걸로 Day 2 끝!!!!


샘플은 담부터 해보자... 넘 힘들어.. ㅠㅠ


친구!!

'증기'가 아니라 'Server-side Swift'라네!!!


Vapor의 공식 사이트는 https://vapor.codes 이다.


첫 화면은...

요즘 트랜드(?)처럼..

매우 씸쁠하닷!!!


화면 중앙에 "Install"과 "Tutorial" 버튼이 눌러달라는 듯 한데...

(아무도 모르겠지만) 나는 '정통파'이기 때문에, 상단 메뉴에 있는 docs를 클릭했다.


그랬더니..

아래와 같은 화면이.. 떠억!!!

이런 화면이 나올 줄 알았지만...

정말로 보니.. 벌써부터 깝깝~하다...



이것도 파봐야겠어...

"목마른 놈이 우물판다!!" 서버?? 내가 만들겠어...



A long ago in a galaxy

far, far away....


뭐.. 그렇게까지 멀리 가지 않아도...

전에는 무언가 새로운 언어나 플랫폼을 사용하고자 하려면, 제공된 CD를 이용하여 설치하면 어렵지 않게 환경이 구축되었다.


하지만, 어느 순간부터인지 잘 모르겠지만.. 설치하고 환경을 만드는 것이 그렇게 호락호락하지만은 않게 되어버렸다.


그래서, 얻은 결론...


무언가를 진정으로 배우고 싶다면..

환경 만들 때 만큼은 (그게 아무리 쉽다고 하여도...) 자존심(?) 확 죽이고 공손하게 따라야 한다는 것이다.


게다가,

(현재의 React Native 처럼) 버전 1.0도 아닌 것을 배우려고 할 때라면 더욱더 그러하다.

정식 버전이 나온 언어들도 수많은 버그와 업데이트를 잠재하고 있는 경우가 많은데, 정식 버전이 없는 것은 정말 가관이지 않겠는가?

그러니.. 정말로 배우고 싶다면..

공손하고 겸손한 자세로..

행여라도.. 버그나 말도 안되는 에러를 본다고 해도..

노여워하지 말자!

화낸다고 해도 달라지는 건 없으니...


왼쪽 메뉴에서 Getting Started를 클릭하자.

나는 네이티브 코드(Native Code)를 가진 프로젝트를 만들려고 하므로...

[Building Projects with Native Code] 탭을 클릭하였다.

나는 맥(Mac)을 사용하고 있으니.. macOS를 선택하였고..

iOS 쪽으로 개발하려고 하니.. iOS도 선택하였다.

(사실.. 내가 선택했다기 보다는.. 이미 선택되어 있어서 바꾸지 않았을 뿐이다 ^^;;)


스크롤을 살짝 내리니... 아래와 같은 내용이 나온다.

brew install node

brew install watchman

이렇게 따라해서 설치하라나보다...

    ( 맨 첫 글에도 말했지만.. 자세한 설명을 해주는 블로그/자료/카페 등등이 인터넷에 엄청 많다. 설명이 궁금하면, 그걸 검색해서 읽으시길..)    


터미널(Terminal)을 열어서... 입력했더니...
모라모라 영어가 나오면서 설치되는 느낌이다.


설치 다하고, 웹사이트의 스크롤을 또 조금 내리니..

Xcode 설치 방법을 설명하고 있는데...
난 iOS 앱 개발자이지 않은가?? 이미 기본으로 설치되어 있으니 패쓰~~~~~


그 밑으로 계속 진행하며 보면,

Create a new application 절이 나온다.

react-native init AwesomeProject

아!

저렇게 하면 'AwesomeProject'라는 애플리케이션(프로젝트)이 생기겠구나!

터미널에서 저렇게 입력하고 엔터!!


정말로 프로젝트가 생성되었다.
AwesomeProject라는 폴더도 생기고..


자!! 이제 실행해볼까??

생성된 프로젝트 폴더에서 실행 명령어를 입력하란다~

cd AwesomeProject

react-native run-ios

이렇게 하면..

iPhone Simulator가 실행되면서...

터미널에 뭔가 마구마구 출력되면서 실행되려는 거 같다.

당연히(?) 실행된다..



그나저나... 생성된 폴더를 까봐야지 않겠어??

AwesomeProject라는 폴더를 열어보자.

잘 모르지만...

android 폴더도 있고 ios 폴더도 있네~ 신기해~ 신기해~


ios 폴더를 보니,

xcodeproj 파일이 있네??

Xcode에서 열어볼 수 있나? 싶어서... AwesomeProject.xcodeproj 파일을 따블클릭해봤다

AppDelegate.m 파일이 저렇게 생긴 걸 발견했다.

음...

대충 뭐하려고 했는지 알겠군.. 음...



이번 포스팅은 여기서 끝!!!


아우~ 힘들어..

내용을 정리하는 건.. 정말로 쉽지 않아.. ㅠㅠ



React Native?? 설명은 됐고! 그래서 뭐? 어쩌라고?

React Native?

제목 그대로.. 난 뭔지 모르겠고..


아니!

그게 뭐든.. 관심없고..


이게 뭔지 궁금한 사람들을 위해서..

무지하게 많은 여러 사람들이 React Native에 대한 설명을 써서 각종 포털/카페/블로그/홈페이지 등에 올려두셨다!!

뭔지 궁금하면, 그거 찾아 보시오~


React Native 사이트(https://facebook.github.io/react-native/)에 가면, 다음과 같은 화면이 반갑게(?) 맞아준다.

젠장!!! 영어닷!! ㅠㅠ


마음을 진정시키고...

상단에 두 개의 버튼이 "나를 누르시오~"하며 떡하니 있다.


[Get Started]

[Learn the Basic]


결론부터 말하면, 뭘 눌러도 상관없다.

'1페이지부터 볼지, 2페이지부터 볼지' 정도의 구분일 뿐..



뭐... 그래도...

처음부터(설치부터) 하고 싶으니.. "Get Started"를 눌렀다.

역시나.. 저런 영어 화면이 기쁘게 반겨주는군...

이제부터, 당분간...

이걸로 시작해봐야겠다. ㅠ


새로운 언어를 배우는 건, 언제나 흥분되면서도 짜증나는 일이야..

아~ 벌써부터 하기 싫타~



참고로...
이 글을 쓰고 있는 지금의 환경은..

Mac을 사용하고 있고, React Native 버전은... 0.53-RC 이다.

+ Recent posts