Skip to content

Instantly share code, notes, and snippets.

@yebonkim
Last active January 10, 2019 11:51
Show Gist options
  • Save yebonkim/67a29ae1460d1a6b28cdd5150b7b4347 to your computer and use it in GitHub Desktop.
Save yebonkim/67a29ae1460d1a6b28cdd5150b7b4347 to your computer and use it in GitHub Desktop.

영어 변수명을 잘 지어보자

노수진 발표자님

english_title

Swift 네이밍 주의점

        1. 동사의 과거분사와 현재형을 잘 구분하자
        2. 단수와 복수를 잘 구분하자
        3. Swift에서는 자료형을 변수명에 표시해줌
            1. Ex) var displaySizeImage: UIImage?
            2. Ex) var startDate: Date?
        4. Swift는 굳이 함수명에 get을 쓰지 않는다

생각해볼 것들

        1. id vs ID vs identifier
            -> id를 위 3가지 표현 방법 중 어떤 것을 사용하여 naming할 것인가?
        2. isHidden vs hidden
            -> isHidden이 맞을까 hidden이 맞을까?
        3. ImageDownloader.downloadImage()
            -> class명과 함수명이 중복이 많다면 어떻게 해야할까?
        4. 함수명에서 Get, fetch, request, execute/perform 의 차이
            -> 각 동사의 사소한 의미차이

Architecture + Clean Swift

강윤식 발표자님

architecture_title

여러 Architecture

MVC(Model - View - Controller)

iOS_mvc

MVP(Model - View - Presenter)

iOS_mvp

MVVM(Model - View - View Model) - Binding!

iOS_mvvm

VIPER(View - Interactor - Presenter - Entity - Router)

iOS_viper

Clean Swift - VIP(View-Interactor-Presenter)

iOS_clean_swift

아키텍쳐는 직접 사용해보고 자신만의 장단점을 찾아보는 것이 중요하는 것 같습니다. 또 발표자님은 프로젝트 별로 좋은 구조를 선택하는 것도 필요하다고 언급하셨습니다.

Sirikit 소개

권문범 발표자님

siri title

Siri의 4단계

siri_about_siri

Siri의 11가지 동작 Domain

        - Messaging
        - VoIP Calling
        - Payment
        - Workout
        - Ride Booking
        - Photos
        - List and Notes
        - Visual Code
        - Car Command
        - CarPlay
        - Restaurant Reservations

Intent의 lifecycle

siri_lifecycle

Intents Extention & Intents UI Extention

        - Intents Extention : 1개 이상의 Intent에 대응할 수 있다.
                              각 상황에 맞는 resolve, confirm, handle methods 구현 가능
        - Intents UI Extention : Siri 앱 위에 표시할 간단한 뷰를 만들 수 있다. 
                                  기본적으로 Interaction은 불가능하며 confirm, cancel, send와 같은 기본 버튼 정도를 구현할 수 있다.

User Specific Vocabulary & App Specific Vocabulary

        - User Specific Vocabulary - 개인 유저별로 사용할 여지가 있는 단어로 런타임에 추가할 수 있다.
        - App Specific Vocabulary - 해당 앱에서 사용할 수 있는 단어로 빌드 전에 포함되어 plist에 추가해야한다.

HTTP Live Streaming(HLS)

이준원 발표자님

hls_title

네트워크 상황이 안 좋으면 저화질 동영상을 보여준다

-> ABS(Adaptive Bitrate Streaming) -> 각 화질의 영상을 짧은 단위의 chunk로 나누기

ABS 기본 개념

hls_notion1

각 화질의 영상을 chunk로 쪼갠다

hls_notion2

네트워크 상태별로 적합한 화질의 영상을 Play 한다

HLS는 iOS뿐만아니라 Android(3.0 Honeycomb 이상)에서도 사용가능

HLS 구조

hls_architecture

Playback의 종류

        - Local file
        - Progressive Download
        - HTTP Live Streaming

HLS의 Key Performance Indicator

    - Startup Time
    - Stall Count
    - Stall Duration
    - Indicated Bitrate
    - Error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment