[Android] Room이란?
·
Development & Projects/Android
Room이란? Room은 Android Jetpack의 일부인 지속성 라이브러리입니다. Room은 SQLite 데이터베이스 위에 있는 추상화 레이어입니다. SQLite는 특수 언어(SQL)를 사용하여 데이터베이스 작업을 실행합니다. SQLite를 직접 사용하는 대신 Room은 데이터베이스 설정, 구성, 앱과의 상호작용과 같은 작업을 간소화합니다. Room은 SQLite 문의 컴파일 시간 확인도 제공합니다. 간단한 @Entity, @Dao, @Database 선언만으로 테이블 정의, 쿼리 작성, 데이터베이스 연결까지 대부분을 처리할 수 있습니다. 기본 구성요소Room에는 다음 3가지 주요 구성요소가 있습니다. - 데이터베이스 클래스: 데이터베이스를 보유하고 앱의 영구 데이터와의 기본 연결을 위한 기본..
코루틴(coroutine)이란?
·
Development & Projects
1. 코루틴이란 ?프로그래밍을 하다 보면 파일 읽기 등 시간이 오래 걸리는 작업을 처리할 일이 생깁니다. 이러한 작업을 효율적으로 처리하기 위해 사용하는 개념 중 하나가 바로 코루틴(Coroutine)입니다. 코루틴은 일반 함수처럼 실행되지만, 중간에 멈췄다가 다시 이어서 실행할 수 있는 함수를 말합니다. 일반 함수는 호출되면 종료될 때까지 계속 실행되지만, 코루틴은 필요에 따라 잠시 멈췄다가 다시 실행할 수 있습니다.즉, 코루틴은 비동기 처리를 더욱 직관적이고 간결하게 만들어 주는 기능입니다. 2. 코루틴을 사용하는 이유코루틴을 사용하는 가장 큰 이유는 비동기 작업을 효율적으로 처리하기 위해서입니다. 예를 들어 서버로부터 데이터를 받아오는 동안 기존 방식은 응답이 올 때까지 기다려야 했지만, 코루틴을 ..
Foreground와 Background
·
Development & Projects
앱을 개발하다 보면 "포그라운드", "백그라운드"라는 말을 자주 듣게 됩니다. 기능을 구현할 때 이 둘의 차이를 명확히 이해하는 것이 중요합니다. 산책 기록 앱을 개발하는 중에 사용자가 앱을 꺼도 산책 기록이 중단되지 않고 이어져야 하므로 포그라운드 서비스를 사용하게 되어서 개념을 정리하고자 합니다. 포그라운드란?"포그라운드(Foreground)"는 사용자가 앱을 현재 실행하고 있는 상태를 말합니다. 예를 들어 스마트폰에서 유튜브 앱을 켜고 영상을 보는 중이라면, 유튜브는 포그라운드 상태입니다. 화면에 앱이 표시되고,사용자가 앱과 상호작용하고 있을 때앱의 Activity가 활성 상태(onResume) 일 때 시스템 자원을 우선적으로 사용함 이 상태에서는 모든 기능(GPS, 네트워크, UI 등)을 자유롭..
백준 / 5972번 / 택배 배송 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/5972 문제농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 구두쇠라서 최소한의 소들을 만나면서 지나가고 싶습니다.농부 현서에게는 지도가 있습니다. N (1 다음 지도를 참고하세요. [2]--- / | \ /1 | \ 6 / | \ [1] 0| --[3] \ | / \2 4\ | /4 [6] \ | / /1 ..
ollama 모델 삭제하기
·
Development & Projects/AI
ollama 버전 0.6.8 기준 ollama list # 모델 목록 확인 ollama rm # 예ollama rm llama3
백준 / 12919번 / A와 B 2 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/12919 문제수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다.이런 사실에 놀란 수빈이는 간단한 게임을 만들기로 했다. 두 문자열 S와 T가 주어졌을 때, S를 T로 바꾸는 게임이다. 문자열을 바꿀 때는 다음과 같은 두 가지 연산만 가능하다.문자열의 뒤에 A를 추가한다.문자열의 뒤에 B를 추가하고 문자열을 뒤집는다.주어진 조건을 이용해서 S를 T로 만들 수 있는지 없는지 알아내는 프로그램을 작성하시오. 입력첫째 줄에 S가 둘째 줄에 T가 주어진다. (1 ≤ S의 길이 ≤ 49, ..
백준 / 1522번 / 문자열 교환 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/1522 문제a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오.이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 있는 것이다.예를 들어, aabbaaabaaba이 주어졌을 때, 2번의 교환이면 a를 모두 연속으로 만들 수 있다. 입력첫째 줄에 문자열이 주어진다. 문자열의 길이는 최대 1,000이다. 출력첫째 줄에 필요한 교환의 회수의 최솟값을 출력한다. 예제 입력 1 abababababababa예제 출력 1 3예제 입력 2ba예제 출력 20나의 풀이s = input()n = len(s)countA = s.count('a')# 원형 처리를 위해 ..
[android] SharedPreferences란?
·
Development & Projects/Android
애플리케이션 제작 중 로그인 유무를 저장하기 위해 SharedPreferences을 사용하였습니다. 필요한 데이터를 앱에 저장하는 것이라고만 알고 있지만 정확한 개념이 궁금하여 찾아보았습니다. 공식 안드로이드 개발자 문서를 참고하였습니다. SharedPreferences로 단순 데이터 저장하기 | App data and files | Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. SharedPreferences로 단순 데이터 저장하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 저장하려는 키-developer.android.com SharedPreferences란?SharedPreferences는 안드로..