WIL 2024 08월 2주차

김정혁·2024년 8월 18일

콜드 스타트 vs 웜 스타트 vs 핫 스타트

  • 콜드 스타트
    - 진짜 메모리에도 안올라간 상태에서의 앱 실행
  • 웜 스타트
    - 메모리에서 남아있지만 activity는 새로 그려야 하는 경우
  • 핫 스타트
    - 메모리에서도 남아있고, activity도 새로 그릴필요가 없는 경우

명시적 인텐트 vs 암시적 인텐트

  • explicit intent
    - 어떤 앱을 열지 명확하게 지정하는것
  • implicit intent
    - 어떤 앱을 열지 명확하게 지정하지 않고, 그 기능을 사용할 수 있는 앱을 알아서 선택해서 열도록 하는것

암시적 인텐트에 Action을 잘못주면 어떻게 될까

  • crash가 발생한다.

Android RecyclerView란?

  • 개선된 listview
  • 뷰 홀더 패턴을 사용

View Holder 패턴이란?

  • RecyclerView에서 각 아이템 뷰의 레이아웃을 재사용하기 위해서 사용되는 디자인패턴

ConstraintLayout 속성

  • ConstraintLayout 속성으로 layout_constraintStart_toEndof(R) 가 있는데
    이것의 의미는 "이 view의 시작은 R의 끝부분"이라고 위치를 명시해주는 것이다.

?attr

  • 현재 theme 에서 속성을 가져올때 ?attr을 사용한다.

@, ? 의 차이?

  • @은 리소스를 가져올때 사용한다.
  • ?는 현재 theme에서 정의된 속성값을 가져올때 사용한다.

android에서 Spinner UI란?

  • android에서는 Select같은 UI를 Spinner라고 한다.

android, iOS 별로 token을 분리하는 이유

  • android는 Fcm토큰을, iOS는 apns토큰을 사용한다.
    우리 회사앱에서는 fcm토큰만을 사용하는데 그 이유는 fcm 라이브러리가 내부적으로 그렇게 동작하도록 해주기 때문이다.

iOS delegate 함수란 뭘까?

  • 특정 객체나 이벤트가 작업을 다른 객체에게 위임하여 처리하도록 하는 메커니즘을 말한다.

Android Studio에서 파일을 바로 탐색하기

  • cmd+shfit+o

Fragment에 관하여

  • 하나의 activity내에서 독립적으로 관리되며, 각자의 생명주기를 가지고 있다.

왜 RN, Flutter에서는 1개의 activity만 사용하는 걸까?

  1. 플랫폼간 일관성을 유지한다.
  2. 네비게이션이 단순화해진다.
  3. 모듈화된 UI구성이 가능해진다.
  4. 동적으로 UI를 변경하기 용이하다.
  5. 필요할때에만 fragment를 쓰고 해제하기 때문에, 메모리 측면으로도 효율적이다.

color.xml에 관하여

  • colorPrimary
    - 앱의 주요 색상을 정의한다.
  • colorPrimaryVariant
    - colorPrimary의 변형 색상을 정의한다. 주로 강조표시에 사용
  • android:statusBarColor
    - Status bar의 색상을 정의한다.

layout_gravity vs gravity

  • layout_gravity는 Layout즉, 부모뷰에서 자식뷰가 어떻게 위치할지를 정하는 것이다.

예를 들어서

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Centered Text"/>
</LinearLayout>

이런 코드가 있으면, TextView는 LinearLayout의 Center 에 위치하게 된다.

  • gravity는 뷰 내부의 컨텐츠의 정렬을 어떻게 할지 결정한다.

arrayOf, listOf, arrayListOf

  • arrayOf는 길이가 불변이다. 하지만 요소는 변경가능하다.
  • listOf도 불변이다. 길이나 요소의 변경도 허락하지 않는다.
  • arrayListOf는 가변 리스트다. 요소의 추가나 삭제가 가능하다.

neovim for MacOS

  • 셋팅하는 여러방법이 있는것을 배웠다. lunarvim도 있더라.

xcode에서 SPM을 사용하는 방법

  • File -> Add package

vs code window가 닫히기 전에 물어보는걸 설정하는 방법

  • 검색창에 "window.confirmBeforeClose"를 입력합니다.

fcm이 안울리면 이유는 무엇일까?

  • 알림소리의 volume을 체크하자.

iOS swift 기초

  • 문법 기초를 배우고, to do 앱을 만들었다.
  • React 가 도입되기전 js로 웹앱을 만드는 기분이 들었다.

xcode에서 vscode처럼 cmm+p로 파일 빠른이동할 수 있는 커맨드는?

  • cmd+shift+o

xcode formatting 하는 방법은?

  • 외부 플러그인을 설치하고 단축키에 등록한다.

xcode에서 preview 화면을 다시 띄우는 방법

  • Editor -> Canvas 체크
profile
ai가 씁니다

0개의 댓글