Content View Controller 화면을 구성하는 뷰를 직접 구현하고 관련된 이벤트를 처리하는 뷰 컨트롤러 입니다. Container View Controller 하나 이상의 Child View Controller 를 가지고있다. 하나 이상의 Child View Controller 를 관리하고 레이아웃과 화면 전환을 담당한다. 화면 구성과 이벤트 관리는 Child View Controller 에서 한다. Container View Controller 는 대표적으로 Navigation Controller 와 TabBar Controller가 있다. Navigation View Controller 다음 View 를 선택하면 이전의 View 는 가려지게 됨 뒤로가기를 선택하면 이전의 View 가 보여..
## Cocoa Touch Framework 개발환경, 애플리케이션의 다양한 기능 구현에 필요한 여러 개발 도구를 포함하는 최상위 레벨의 프레임 워크 -> Shared Library(or API)와 비슷한 개념, 어떤 기능에 관련된 함수를 모아둠 1. UIKit - IOS의 UI 담당 -> MVC 패턴 사용 (Model : 무엇을, Controller : 어떻게, View : 보여줌 ) -> 사용자 인터페이스를 관리하고, 이벤트를 처리하는 프레임워크 2. Foundation - 프로그램의 중심을 담당 -> Application의 모든 object를 관리하는 기본적인 틀 제공 -> 메모리 할당 혹은 반환하는 기본적인 규칙 정의 -> 리스트나 딕셔너리와 같은 클래스들은 모두 "NS"로 시작 (!) Found..
Gradle 추가 implementation "androidx.core:core-ktx:1.7.0" core-ktx는 개발 중에 추가하는 경우가 많으므로 중복추가 되지 않도록 확인 Manifest 설정 Manifest에 Receiver를 등록해야 한다. 안드로이든느 부팅이 끝나면 BOOT_COMPLETED라는 intent를 브로드캐스트 한다. PendingIntent를 통해서 Notification을 통해서 사용자에게 메시지를 전달하게 되는데, 재부팅 시 해당 설정이 사라진다. 재부팅 후에도 PendingIntent가 남아있으려면 Manifest에 등록이 필요하다. application 설정 내부에 위와같이 BroadCastReceiver를 선언한다. AlarmBroadCastReceiver는 내가 선언..
WorkManager 백그라운드 작업에는 AlramManager, JobScheduler, JobDispatcher, WorkManager 등을 사용한다. 같은 시간에 동일한 작업을 진행하려면 AlramManager를 주로 사용하는데, 정확한 시간을 설정하는 것이 어려웠다. AlarmManager 내의 정확하게 동작하는 여러 메서드를 사용해봤으나 항상 2-3분 정도 딜레이가 있었다. 정확한 시간에 동작하는 것은 가능하지만 즉시 실행되는 것을 보장하지 않았다. 이를 해결하기 위해서 WorkManger를 사용했다. WorkManager의 장점은 프로세스 종료 여부와 관계없이 반드시 작업을 실행하는 것이었다. 결과는 AlarmManager는 2~3분 정도 딜레이가 발생했지만, WorkManager는 정확한 시..
서버를 배포하기 위해서 무료로 서버를 배포할 수 있는 클라우드 타입을 사용했다. https://help.cloudtype.io/guide 클라우드타입 이용가이드 클라우드타입을 처음 사용하시나요? 아래의 가이드를 따라 클라우드타입을 사용하세요! 그럼 시작해볼까요? 😃 help.cloudtype.io 1. 준비 단계 - django 버전 업그레이드 장고 버전이 3.2 미만이라면 3.2 이상으로 버전을 업그레이드 해주어야 한다. pip install --upgrade django==3.2 - 배포용 패키지 설치 pip install django-cors-headers gunicorn whitenoise django-environ gunicorn : 프로젝트가 서버 상에서 계속 구동되도록 도와주는 서버 엔진 관..
MVVM 패턴으로 제작한 일정 관리 앱을 구글 플레이 스토어에 배포한다. 앱을 배포하고 배포된 앱의 버전을 관리하는 방법 공부 1. 앱의 버전 업데이트 빌드 - build.gradle(Module) 파일의 Version 정보 업데이트 우선 버전 정보를 수정한다. versionCode : 기존 값보다 큰 정수를 설정 (1단위로 수정) verisionName : 일반적으로 기존 값보다 크게 X.X.X 형식으로 작성 아래 앱은 5번째 버전 업데이트한 형태이며, 버전을 설정한 후에 SyncNow를 진행한다. android { compileSdk 32 defaultConfig { applicationId "com.jinuemong.SwallowMonthJM" minSdk 25 targetSdk 32 version..