반응형

0. 시작하기전에

  • 개인사정으로 윈도우 환경이 아닌 맥(OSX)환경에서 개발을 진행하겠습니다.(큰 차이는 없습니다.)

 

1. Android 구성요소

안드로이드의 4대 구성요소에 대해서 간단히 보면 아래와 같습니다.

  • Activity : 현재 화면에 대한 작업을 담당
  • Service : 어플리케이션이 Background에서 수행하는 작업 담당
  • Broadcast Receiver : 시스템을 감시하다 특정 이벤트에 대한 작업 담당
  • Content Provider : 데이터 공유 작업을 수행하는 작업 담당

 

2. AndroidManifest.xml

app -> manifests 를 보시면 [AndroidManifest.xml]이 존재합니다.

 

해당 파일에 제작하는 앱의 기본사항을 명시해줘야합니다. 때문에 어떻게보면 가장 중요한 파일이라고 볼 수 있습니다.

 

클릭해보시면 위와같은 코드가 적혀있는 것을 볼 수 있습니다.

 

보시게되면 android: ~ 영역이 보이는데요. 몇개만 보면

 

allowBackup : 백업 기능의 할성화

icon, roundIcon : 앱의 아이콘 이미지 설정

label : 앱의 이름

 

위와같은 기능을 담당한다고 볼 수 있습니다.(나중에 천천히 다뤄보겠습니다.)

 

이 후 <activity android:name=".MainActivity">라는 영역이 있습니다.

 

해당 영역은 MainActivity에 대한 내용을 담고있습니다.

 

하위의 action 영역을보면 "android.intent.action.MAIN"이라는 부분이 있는데요.

 

이 녀석을 Action으로 갖고있는 녀석이 앱 실행시 가장먼저 수행되는 Activity라는 의미를 갖고있습니다.

 

따라서 android.intent.action.MAIN은 오로지 하나만 존재하며, 두개이상 존재할 경우 최상위에 적혀있는 1개만 작동하게됩니다.!!!

 

 

2. MainActivity

처음 프로젝트를 생성하면 MainActivity라는 녀석이 생깁니다.

 

위에서 언급했듯이 android.intent.action.MAIN을 Action으로 갖고있는 이 MainActivity가 앱 실행시 최초로 실행되는 Activity가 되게됩니다.

 

아래와 같이 생겼습니다.

 

 

기본적으로 보게되면 위와같이 생겼는데요.

 

onCreate라는 녀석이 Override되어있는 것을 볼 수 있습니다.

 

onCreate는 Activity가 생성될 때, 그리고 화면 회전이 발생할 때 자동으로 호출되게됩니다.

 

즉, 처음 앱을 실행하면 onCreate에 작성된 코드가 실행이 되게됩니다.

 

보면, setContentView(R.layout.activity_main)라는 부분이 있습니다.

 

R은 res를 의미합니다. 아래 경로를 참고하세요.

 

위와같이 res(=R) 이하의 layout -> activity_main.xml이 존재하는 것을 볼 수 있습니다.

 

아직 setContentView라는 녀석이 무슨 기능을 하는지 언급하지 않았지만, activity_main.xml을 클릭해보면 아래와 같은 모습을 볼 수 있습니다.

 

벌써 느낌이 오시죠?

 

3. activity_main.xml

위에서 보신것 처럼, 이 파일은 눈에 보이는 영역에 대한 디자인을 담당하는 파일입니다.

 

위에 보이는 화면외에도 좌우 메뉴를 보시면 Button이나 ImageView같은 녀석들을 볼 수 있습니다.

 

이런 녀석들을 이용해서 앞으로 앱을 꾸며가겠습니다.

 

 

 

 

4. 정리

오늘 가장 중요한 3개의 파일을 봤습니다.

onCreate외에도 Activity의 상태에 따라서 수행되는 여러개의 메서드가 존재합니다.

 

이러한 메서드에 대해서는 다음 페이지에 간단하게 정의하고 넘어가겠습니다.

반응형
반응형

[안드로이드 9.0] 입문하기

0. 시작하기전에

  • 해당 포스터는 Java언어를 이용하고 있습니다. 코틀린관련 포스터는 차후에 다룰 예정입니다.
  • Java언어의 기본 문법은 다루지 않습니다.
  • 안드로이드 스튜디오(+에뮬레이터)를 실행을 위해서 충분한 컴퓨팅 성능이 필요합니다.
  • 작성일(19.07.05)일 기준 최신버전 프로그램을 이용합니다.
  • 안드로이드 스튜디오와 기타 프로그램을 위해서 최소 30GB이상의 용량이 필요합니다.

1. Android 계층구조

 

구글 레퍼런스

맨 아래 Linux Kernel 계층부터 System App 부분까지로 안드로이드는 구성되어있습니다.

 

각 계층의 역할은 다음과 같습니다.

 

  • System App : OS에 내장되어있는 기본 어플리케이션
  • JAVA API Framework : 구글에서 제공하는 개발자용 라이브러리
  • Native C/C++ Libraries : 안드로이드OS가 C언어 코드를 동작시키기 위한 영역
  • Android Runtime(ART) : 앱 설치시 Java코드를 네이티브 코드로 변환하여 설치(속도향상)
  • HAL : 리눅스 커널과 단말기 하드웨어의 통신을 담당
  • Linux Kernel : 안드로이드의 기본 OS인 리눅스 커널

보통 개발에 있어서는 System APP, Java API Framework 영역만 신경써도 괜찮습니다.

 

2. 개발환경 구축

 1) JDK 8.0 설치(아파치 연동을 위해 8버전을 사용)

 

다운로드 URL : https://www.oracle.com/technetwork/java/javase/downloads/index.html

JDK 8 버전 설치 -> JDK
약관 동의 후 본인 OS에 맞게 설치

현재 JDK 8을 설치하기 위해서는 오라클 계정을 갖고있어야합니다.

(가입되어있지 않으시다면 이참에... 크흠...)

 

가입 후 설치시 기본 저장위치를 수정하시면 별도로 환경변수 설정이 필요합니다.

 

 2) 안드로이드 스튜디오 설치

 

다운로드 URL : https://developer.android.com/studio/

 

Download Android Studio and SDK tools

developer.android.com

 

안드로이드 스튜디오 3.4.1을 설치하였습니다.

 

별도 경로 수정등의 과정 없이 기본으로 설치하였습니다.

 

 

설치가 완료되면 실행시켜봅니다. 그럼 아래와 같은 모양이 뜸니다.

 

실행시 첫 화면

위 창에서 그냥 OK버튼을 누르시면 아래와 같은 창이 나옵니다.

 

위와같은 상태 이후 계속 Next하시면됩니다. 중간에 테마설정이 있는데, 저는 어두운 화면인 [드라큘라]를 선택했습니다.

 

설치 화면

ps, 설치과정에서 관리자 권한을 요청할 경우 꼭 수락해주시기 바랍니다.

 

 

3) 안드로이드 스튜디오 셋팅

 

안드로이드 스튜디오 초기화면

위와같이 설치가 종료되면 맨 위 [Start a new Android Studio project]를 클릭합니다.

 

그다음 [Empty Activity] 선택 후 [Next]를 누르시면 아래와 같은 창이 보입니다.

 

여기서 수정해야할 부분은 Language부분, 저는 코틀린이 아닌 JAVA를 사용하기 때문에 수정해줍니다.

 

Minimum API level은 지원할 안드로이드 OS의 최저 버전입니다.

 

설정 후 Finish클릭!

 

그럼 프로젝트가 실행되는데 하단에 아래와 같은 것을 볼 수 있습니다.

 

이건 안드로이드 스튜디오에 필요한 추가적인 것들을 설치하고 셋팅하는 과정입니다. 최초 설치 후 1회면 하면되기 때문에 완료될 때까지 커피한잔...

 

완료되면 프로그램 상단에 아래와 같은 버튼을 볼 수 있습니다. 안드로이드 에뮬레이터를 설정하는 버튼입니다.

 

클릭 후 [Create Virtual Device...]를 클릭해주시면 아래와 같은 화면이 보입니다.

 

에뮬레이터에서 실행할 휴대폰을 선택하는 부분입니다. 다는 구글의 Pixel2를 선택했습니다.

 

다음은 해당 디바이스에 설치될 OS의 버전을 선택하는 부분입니다. 가장 최신 9.+ 버전을 설치하도록 하겠습니다.

 

Q 옆에 Download를 클릭해서 설치하실 후 설치가 완료되면, 선택 후 Next -> Finish

 

그런다음 초록색 실행버튼을 클릭해보면 에뮬레이터가 실행됩니다.

 

 

짠~

 

일단 여기까지~!

반응형
반응형

<라즈베리파이> cron 을 이용하여 작업예약

 

1. 터미널 열기

 

2. 'crontab -e' 입력 (입력기 선택이 나올경우 원하는 것을 선택 ex. nano )

 

3. 마지막줄에 이벤트 추가

 

* * * * * 실행할 작업

 

* 로 입력된 부분에 반복하여 수행할 날을 적어줄 수 있습니다.

 

앞에서부터 " 분(0~59), 시(0~23), 일(1~31), 월(1~12), 주(0~7)

 

주(week)는 0(일요일) ~ 6(토요일)을 의미합니다. ('7'도 일요일)

 

 

Ex) 매일 자정에 실행되는 스크립트

0 0 * * * /home/pi/test.sh

 

Ex) 매주 월요일 정오에 실행되는 파이썬 프로그램

0 12 * * 1 python /home/pi/test.py

 

Ex) 리부팅시에 작업 실행하기

@reboot python /home/pi/test.py &

 

 

위와같이 사용 할 수 있으며, 실행할 작업은 터미널에 적었을때 실행이 되는 방식과 동일하게 작성해야합니다.

 

4. crontab -l 입력 (예약된 작업을 확인 할 수 있습니다.)

반응형

'프로그래밍 > 라즈베리파이' 카테고리의 다른 글

라즈베리파이 부팅시 자동 실행  (4) 2019.07.04
반응형

<라즈베리파이> 부팅시 자동 실행

 

라즈베리파이를 이용하여 부팅시 자동으로 특정한 명령이 수행되도록 하는 방법

 

알려진 여러가지 방법이 있지만, 실제로 실행이 안되는 경우가 많이 있습니다.

 

 

제가 해본 여러가지 방법중에 아직까지는... 문제가 없던 방법입니다.

 

1. sudo nano /etc/profile 

root 권한으로 해당 파일을 수정합니다.

 

 

2. 해당 파일의 마지막줄에 아래 예시와 같이 실행할 작업을 적어주시면 됩니다.

sudo python3 /var/www/new/Flask/index.py

반응형

'프로그래밍 > 라즈베리파이' 카테고리의 다른 글

라즈베리파이 작업 예약하기  (0) 2019.07.04
반응형

구글 API에 올라와있는 샘플코드를 응용하여 만들었습니다.

 

Python 코드

 

from google.cloud import texttospeech

client = texttospeech.TextToSpeechClient()

voice_eng = texttospeech.types.VoiceSelectionParams(
    language_code='en-US',
    ssml_gender=texttospeech.enums.SsmlVoiceGender.NEUTRAL)

voice_kor = texttospeech.types.VoiceSelectionParams(
    language_code='ko-KR',
    ssml_gender=texttospeech.enums.SsmlVoiceGender.NEUTRAL)

audio_config = texttospeech.types.AudioConfig(
    audio_encoding=texttospeech.enums.AudioEncoding.MP3)

-> 기본적으로 음성변화 기능을 불러오는 코드입니다.

 

def exchange_eng(input_text): # 영어를 음성으로 변형하기
    synthesis_input = texttospeech.types.SynthesisInput(text=input_text)
    response = client.synthesize_speech(synthesis_input, voice_eng, audio_config)
    return response.audio_content

def exchange_kor(input_text): # 한국어를 음성으로 변형하기
    synthesis_input = texttospeech.types.SynthesisInput(text=input_text)
    response = client.synthesize_speech(synthesis_input, voice_kor, audio_config)
    return response.audio_content

-> 텍스트를 음성으로 변형시키는 함수입니다.

 

def makeFile(textList, *adder):
    if len(adder) == 0: adder = 'output'
    else : adder = adder[0]
        
    for i, text in enumerate(textList):
        if type(text) == type(list()):
            with open('/Users/youngQ/tts_output/'+str(adder)+str(i)+'_eng.mp3', 'wb') as out:
                out.write(exchange_eng(text[0]))
            with open('/Users/youngQ/tts_output/'+str(adder)+str(i)+'_kor.mp3', 'wb') as out:
                out.write(exchange_kor(text[1]))
        else:
            with open('/Users/youngQ/tts_output/'+str(adder)+str(i)+'.mp3', 'wb') as out:
                out.write(exchange_eng(text))

-> 음성으로 변환된 파일을 저장하는 코드입니다.

 

 

다음은 위의 코드를 실행하는 부분입니다.

 : makeFile( 변환할 텍스트 리스트, 저장할 파일명 ) 입니다.

 

1) 단순 영어를 음성으로 변형시키는 경우

location = ['in front of a fountain', 'in a clothing store', 'at a construction site', 'at a plaza',
           'in a parking lot', 'in a shopping district', 'at a crosswalk']
makeFile(location, 'location')

2) [영어 + 한국어] 텍스트를 음성으로 변형하는 경우

behavior = [['he is sitting arm in arm', '그는 팔짱을끼고 앉아있다.'], 'they are holding hands', 
            ['he is holding up someting', '그는 무언가를 들고있다.'],
            ['they are smiling at each other', '그들을 서로를 보며 웃고있다.'],
            ['he is legs crossed', '그는 다리를 꼬고있다.'], 
            ['A man is raising his hand', '한 남자가 손을 들고있다.'],
            ['he is taking a walk', '그는 산책을 하고있다.'],
            ['A man is crossing a street','한 남자가 길을 건너고있다.'],
            ['A man is working at a construction site','한 남자가 건설현장에서 작업하고있다.'],
            ['They are having a meeting at work', '그들은 직장에서 회의중이다.'],
            ['They are looking at something', '그들은 무언가를 보고있다.'],
            ]
makeFile(behavior, 'behavior')

 

실행결과

위에 makeFile 뒤에 오는 인자가 파일명에 해당합니다.

 

반응형
반응형

구글 API로 문자를 음성으로

구글 API 등록부터 입력한 문자를 음성으로 저장하는 방법을 정리합니다.

Python코드는 다음 페이지에 있습니다.

 

구글 API 관리 : https://console.developers.google.com

 

Google Cloud Platform

하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.

accounts.google.com

 

Cloud Text-to-Speech API

사용할 API의 이름입니다.

 

1) 프로젝트 생성하기

현재 tts proj라는 기존의 프로젝트가 있는 상태입니다.

따라서 새로 프로젝트를 생성해주겠습니다.(프로젝트 생성방법은 큰 차이가 없습니다.)

프로젝트 생성
[새 프로젝트] 클릭
프로젝트 이름 설정 후 만들기

위와같은 순서로 진행됩니다.

프로젝트 이름은 본인이 사용할 API들을 관리하는 하나의 큰 틀이라고 생각하시면 좋습니다.

 

2) API 설정하기

상단에 프로젝트명이 바뀐것을 볼 수 있습니다.

위와같이 프로젝트가 생성이되면, [EABLE APIS AND SERVICES]를 클릭하여 프로젝트에 API를 새로 추가하겠습니다.

API 검색

사용할 API의 이름을 검색하고 선택합니다.

[사용 설정] 클릭

 

 

API 사용 설정 버튼을 클릭하시면 결제방법을 등록하시라는 창이 나올 수 있습니다.

처음 사용하시는 중이라면 무료 크리딧이 주어집니다.

또한, 일정 사용량까지는 무료로 제공되기 때문에 제품을 위한 API가 아니고 혼자 사용하시는 것이라면 큰 결제가 발생하지는 않습니다.

API 가격표

 

3) 사용자 인증정보 만들기

 

위와같이 API사용중지라는 버튼이 활성화된 상태라면, API설정이 완료된 상태입니다.(클릭하지마세요!!!)

 

우측에 [사용자 인증 정보 만들기]를 클릭하세요.

 

인증정보 설정

 

사용할 API를 선택하세요.

 

적당히 선택하시면됩니다.

 

키 생성 완료

 

키 생성완료가되면 위의 파일이 PC에 저장됩니다.

 

이제 환경변수만 설정과 SDK설치만하면됩니다!!

 

 

거의 다 왔습니다!!

 

 

4) 환경변수 설정하기

API문서를 참고하였습니다.

 

OS에 따라서 설정방법이 다르기 때문에 아래를 참고하셔서 설정해주시면 감사하겠습니다.

 

 

 

[OSX에서 환경변수 설정 후 확인한 내용입니다.]

환경변수 확인

 

SDK 설치하기

https://cloud.google.com/sdk/docs/

 

Google Cloud SDK 문서  |  Cloud SDK  |  Google Cloud

Google Cloud SDK 문서 Google Cloud SDK는 Google Cloud Platform에서 호스팅되는 리소스와 애플리케이션을 관리하는 데 사용할 수 있는 도구 집합으로, 여기에는 gcloud, gsutil, bq 명령줄 도구가 포함됩니다. cloud 명령줄 도구는 Cloud SDK와 함께 다운로드됩니다. gcloud 명령줄 도구 개요에서 gcloud CLI에 대한 종합 가이드를 참조할 수 있습니다. 또한 gcloud CLI 참조에는 g

cloud.google.com

구글은 보안을 위해서인지 API키 파일을 통해 직접 API서버에 접속하지 않고 SDK를 통해서 API를 관리합니다.

 

위의 링크에서 해당 프로그램을 설치하시면됩니다.

 

 

 

SDK까지 설치가 끝나시면 이제 프로그램코드 부분으로 넘어갑니다.

 

이어지는 다음 페이지에 해당 코드가 있습니다.

반응형
반응형

[Swift OSX] 1. 개발 준비

 

작성일 기준 최신 Xcode와 Swift버전을 사용하였습니다.

1. 개발 준비

MAC OS 개발도 IOS개발과 마찬가지로 맥(맥북)에서만 개발이 가능합니다.(윈도우, 리눅스 환경에서는 불가능~!)

 

맥에서 개발을 시작하면 먼저 Xcode라는 녀석이 필요합니다. App Store에 들어가셔서 설치해주세요.

 

설치가 끝나셨다면 아래와 같은 과정으로 이동해주세요.

 

 

[Create a new Xcode project] 클릭

 

[macOS -> Cocoa App -> Next] 클릭

 

[Product Name, Language=Swift, Use Storyboards 채크 -> Next] 클릭

 

 

위와 같이 프로젝트를 생성해주면 기본적인 세팅은 끝입니다.

 

다음은 화면 구성입니다.

 

Xcode 화면 구성

위와 같이 Xcode는 3가지 부분으로 나눠지게 됩니다.

(Inspector 영역은 Utilites 영역이라고 불리는 경우도 있습니다.)

 

Library는 화면 구성에 필요한 다양한 아이템들을 불러올 수 있습니다.

 

시작버튼 클릭시 실행화면

프로젝트 생성 후 바로 실행 버튼을 클릭하면 위와 같이 아무것도 없는 빈 화면이 실행되는 것을 볼 수 있습니다.

 

여기까지 완료되면, 개발 준비는 일단 끝이라고 볼 수 있습니다.

 

다음으로는 간단한 UI 구성에 대해서 알아보겠습니다.

 

 

Xcode 정말 편하게 만들려고 노력했지만, 불편한 프로그램이 아닐 수 없습니다...

제작자의 의도를 벗어난 다양한 버그들이 힘들게 하는 프로그램이죠... ㅠㅠ

반응형
반응형

[Swift OSX] 0. Swift로 시작하는 OSX 프로그래밍

Swift x OSX


1. 소개

2014년 Swift가 첫 공개되고 5년이라는 시간이 흘렀다. 기존 Objective-C보다 1.5배, Python보다 220배의 빠른 처리속도를 갖고있다고 소개된 이 언어는 애플이 Objective-C를 점점 등한시하고, Swift를 밀면서 많은 IOS개발자들이 Swift로 점차 이동하게하는 모습을 보이게되었다.

하지만, 국내의 경우 OSX에 대해서는 조금 상황이 애매하다.

MAC OS를 사용하는 유저의 수가 이전에 비해서 많이 늘었다고는 하지만, 윈도우에 비하여 압도적으로 적은 상황이다보니 대부분의 개발자들이 굳이 MAC OS를 위해서 개발을 별도로하는 경우가 적은 것 같다.

필요에 따라서 간단한 매크로 프로그램등을 만드는 경우는 있지만, 이러한 프로그램들을 위해서 Swift를 배울 필요는 없다. (Objective-C 조차 필요없는 경우도 많다.)


이러한 이유 때문인지 Swift + IOS에 관련된 강의들은 쉽게 찾아볼 수 있는 반면에, Swift + OSX에 관련된 내용은 해외사이트에 의존할 수 밖에 없는 상황이다.


이제부터 시작될 내용들 역시 99% 해외 사이트에서 얻어온 내용을 번역 & 정리한 내용이 될 것이며, 이들 내용들을 이용하여 간단한 OSX 앱개발을 수행할 예정이다.





꾸벅

반응형
반응형

[Swift 입문] 접근제어자


1. 접근제어

접근제어는 앱개발 뿐만 아니라, 프로그래밍에 있어서 기본이 되는 부분입니다.
특히, 내가만든 프로그램을 남들에게 공유하겠다는 목표를 갖고있다면, 필수적인 요소이죠.

접근제어는 프레임워크나 클래스등에서 꼭 필요한 부분만을 외부로 공개한다는 것이 핵심입니다.

다시말해 외부 접근자는 프레임워크나 클래스의 접근에 있어서 필요한 부분만을 보기 때문에 더욱 쉽고 올바르게 접근할 수 있고, 내부 설계자는 외부로 노출하기 꺼려되는 정보를 차단할 수 있다는 장점이 있습니다.

접근 수준

내부 접근여부

외부 접근여부

open

접근가능 (O)

접근가능 (O)

public 

접근가능 (O)

접근가능 (X)

internal (기본값 )

접근가능 (O)

접근불가 (X)

fileprivate 

같은 파일 내 접근가능 (X)

접근불가 (X)

private

접근불가 (X)

접근불가 (X)

( O, X 는 상속 및 Override의 가능 여부 )



2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 1. 시작하기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 2. Project 시작하기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 3. 에뮬레이터로 앱 실행하기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 4. 앱 아이콘 설정하기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 5. LaunchScreen 만들기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 6. Swift 문법 알아보기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 7. Swift 문법 알아보기 (배열, 딕셔너리 등)

2019/03/19 - [프로그래밍/Swift] - [Swift 입문] 8. Swift 함수 정의하기

2019/03/19 - [프로그래밍/Swift] - [Swift 입문] Tip) 줄바꿈 없는 print

2019/03/19 - [프로그래밍/Swift] - [Swift 입문] Tip) Call by reference ( 참조에 의한 전달 )

2019/03/19 - [프로그래밍/Swift] - [Swift 입문] 9. Class 만들기 (생성, 상속)

2019/03/19 - [프로그래밍/Swift] - [Swift 입문] 10. 열거형 Enum


반응형
반응형

[Swift 입문] 열거형(Enumeration) 사용하기


사실 남들이 짜둔 C코드에서 열거형을 많이 보았지만, 제대로 사용해본적이 없습니다...

아직 미숙한점이 많다는 것을 느끼는 부분이네요... ㅠㅠ


1. 열거형 만들기

열거형은 새로운 자료형을 선언해준다고 생각하시면 좋을꺼같습니다.



간단하쥬?


2. RawValue

아래와같이 열거형에 값을 넣어주는 것도 가능합니다.

그리고 이 값은 rawValue를 통해서 확인이 가능합니다.

Int형 뿐만 아니라 원하는 자료형으로 쓸 수 있으니, 잘만 쓴다면 편하겠죠?



2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 1. 시작하기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 2. Project 시작하기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 3. 에뮬레이터로 앱 실행하기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 4. 앱 아이콘 설정하기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 5. LaunchScreen 만들기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 6. Swift 문법 알아보기

2019/03/18 - [프로그래밍/Swift] - [Swift 입문] 7. Swift 문법 알아보기 (배열, 딕셔너리 등)

2019/03/19 - [프로그래밍/Swift] - [Swift 입문] 8. Swift 함수 정의하기

2019/03/19 - [프로그래밍/Swift] - [Swift 입문] Tip) 줄바꿈 없는 print

2019/03/19 - [프로그래밍/Swift] - [Swift 입문] Tip) Call by reference ( 참조에 의한 전달 )

2019/03/19 - [프로그래밍/Swift] - [Swift 입문] 9. Class 만들기 (생성, 상속)


반응형

+ Recent posts