분류 전체보기(91)
-
GCP, 구글 클라우드 Compute Engine VM인스턴스 생성하기
먼저 아래 링크를 통해 구글 클라우드에 접속해줍니다~~ https://cloud.google.com/?hl=ko https://cloud.google.com/?hl=ko cloud.google.com 콘솔로 이동해줍니다. 인스턴스 정보 입력 메뉴에서 VM 인스턴스 항목에 들어가 인스턴스 만들기를 눌러줍니다. 인스턴스 이름을 입력합니다. 리전은 오리건, 아이오와, 사우스캐롤라이나중에 하나를 선택 합니다. 머신은 저가 e2-micro로 지정해줍니다. 부팅 디스크를 설정해줍니다. 저는 centos로 설정 하였습니다. 기타 필요 설정을 한후 만들기를 눌러줍니다. 생성된 인스턴스를 클릭해줍니다. SSH를 누르면 다양한 클라우드 접속하는 방식을 선택할수가 있는데 가장 쉽게 접속하기 위해 브라우저 창에서 열기를 눌러..
2023.08.21 -
list, set, map 차이
컬렉션 프레임워크를 사용하는 이유 기본 배열 array는 탐색과 접근이 용이하다는 장점이 있지만 크기를 미리 정해놓기 때문에 데이터를 추가 하거나 삭제하기에 어려움이 있습니다. 그렇기 때문에 추가 및 삭제가 용이한 컬렉션 프레임워크가 등장하였는데 컬렉션 프레임워크에는 list, set, map이 있습니다. 아래에서는 세종류의 컬렉션의 특징들을 정리해보겠습니다. LIST 순서가 있고 중복을 허용합니다 인덱스로 원소에 접근이 가능합니다 크기가 가변적입니다 val list = mutableListOf() list.add(1) list.add(2) list.removeAt(1) SET 데이터의 집합이며 순서가 없습니다 중복을 허용 하지 않습니다 검색 속도가 빠릅니다 val set = mutableSetOf() ..
2023.08.04 -
리스트를 이용한 다중 조건 정렬 sortedWith()
단순한 단일 조건의 오름차순, 내림차순의 정렬이 아닌 2가지 이상의 조건으로 정렬을 하는 방법을 정리해 보겠습니다. 문자열을 요소로 가지고 있는 리스트를 아래의 조건으로 정렬해 보겠습니다. 정렬 조건 2가지 데이터의 길이가 짧은것 부터 정렬 길이가 같을때는 알파벳 순으로 정렬 다중 조건을 적용하려면 리스트 객체의 sortedWith()를 사용 합니다. 인자로 compareBy()를 사용할수도 있지만 Comparator를 재정의 하여 정렬조건을 적용해보겠습니다. var list_string : List = listOf("tom", "kim", "lina", "jeon", "holland") val resultList = list_string.sortedWith(Comparator { a, b -> // 글..
2023.07.14 -
MVP패턴 이란?
MVP패턴은 Model - View - Presenter로 이루어진 패턴 입니다. MVP는 Model 데이터 변경이나 View ui를 변경 할때 Presenter를 통하여 변경이 가능합니다. MVC와 다른 가장큰 특징으로는 Model이 View를 변경 하지 못한다는 차이가 있습니다. mvc와는 다르게 mvp에서는 interface가 존재 하는 구조로 되어 있습니다. Controller(Activity)는 Presenter에게 모든 권한을 넘겨 주고 Interface를 상속받아 정보만 입력을 받는 역할을 하게 됩니다. Presenter안에 있는 View와 Model을 Presenter를 통해서만 변경이 가능하고 Model이 View를 직접적으로 변경하지 못합니다. MVP의 장점으로는 비슷한 Activity..
2023.06.22 -
MVC 패턴이란?
MVC는 Model - View - Controller 3가지로 이루어진 패턴입니다. Model : 데이터를 관리하는 클래스 Controller : 데이터와 화면을 잇는 역할을 하는 클래스(ex MainActivity) View : 화면을 구성하는 사용자 인터페이스 MVP과 다른점이 있다면 Model이 View를 변경 할 수 있다는 점입니다. MVP는 Presenter를 통해서만 View ui변경이 가능 합니다. 아래에서 코드를 적용하여 예시를 들어보겠습니다. 일단 view(activity_main)를 만들어줍니다. activity_main Controller(MainActivity)를 만들어줍니다. Controller는 View와 연결되어 있고 Model도 생성하여 가지고 있습니다. model 상태값에..
2023.06.21 -
안드로이드 파이어베이스 연동 구글로그인 안되는 에러
잘 동작하던 구글로그인이 갑자기 안됨 만들던 앱의 로그인 방식으로 파이어베이스에 연동한 구글로그인 방식을 사용하고 있었습니다. 잘 동작 하던 구글 로그인이 언제부턴가 다음 화면으로 넘어가지 않고 구글 로그인 화면이 그냥 꺼지는 겁니다. 구글에서 넘겨 받는 데이터의 status의 로그 값을 찍어보니 statusCode=DEVELOPER_ERROR 를 확인 할 수 있었습니다. override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) callbackManager?.onActivityResult(requestCode, resul..
2023.06.12