깨알 개념 126

[Android] Pointer input - Gesture

#1 개요#1-1 이전 게시글 [Android] Pointer input - PointerInputChange, PointerEvent#1 개요 동작 이해하기  |  Jetpack Compose  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 동작 이해하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저kenel.tistory.com위의 게시글에서 이어진다. 해당 게시글에서 먼저 PointerInputChange 및 PointerEvent에 대한 이해를 해야 본 게시글을 이해할 수 있다. #1-2 공식 문서 동작 이해하기  |  Jetpack Compose  |  Android Developers이 페이지는 Cloud Tran..

[Android] Pointer input - AwaitPointerEventScope()의 메소드들

#1 개요#1-1 이전 게시글 [Android] Pointer input - PointerInputChange, PointerEvent#1 개요 동작 이해하기  |  Jetpack Compose  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 동작 이해하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저kenel.tistory.com위 게시글에서 AwaitPointerEventScope()의 가장 대표적인 메소드인 awaitPointerEvent()에 대해 간단히 설명했다. 본 게시글에선 awaitPointerEvent()를 제외한 나머지 메소드들을 설명한다. #1-2 공식 문서 AwaitPointerEventScope  | ..

[Android] Pointer input - PointerInputChange, PointerEvent

#1 개요 동작 이해하기  |  Jetpack Compose  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 동작 이해하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이해해야 할 몇 가지 용어와 개념이 있developer.android.com위 공식 문서를 나의 언어로 정리하고, 샘플 앱을 만들어봤다. #2 Pointer#2-1 포인터는 하드웨어다화면의 특정 좌표를 찍을(point) 수 있는 사물(하드웨어)을 의미한다. 일반적으론 손가락을 의미한다. 혹은 갤럭시의 S펜이 해당된다. 키보드는 터치 스크린의 어느 좌표를 가리킬(point) 수 없으므로 포인터가 아니다. #2-2 PointerTypepacka..

일론 머스크의 사고법과 충고

#1 1원칙 사고법#1-1 정의짐 켈러: 일론 머스크는 "그게 정말(really) 제일 중요한 거야?"라고 끊임없이 질문하며, 그 질문의 과정에서 모든 가정, 확신, 편견을 버렸습니다 (오픈 마인드). 우리가 가진 생각의 99%는 편견을 지키려는 변명에 불과합니다. 그 중 98%는 아예 틀렸을 거고요. 생각의 범위를 넓혀야 새로운 걸 할 수 있습니다.1원칙 사고법(First principles thinking)은 먼저 모든 현상을 쪼개서, 그 속의 내재된 본질을 찾는 사고법이다. 그리곤 "진짜(really)?"를 끝까지 물어서 정말로 맞는 사실이나 논리를 하나하나 밝혀낸다. 그 하나하나를 기반(본질) 위에 차곡차곡 쌓아 올린다. 일론은 물리학의 기본 원칙을, 어떤 현상에 내재된 본질로서 두고 생각하는 ..

그리디 알고리즘 (Greedy Algorithm)

#1 알고리즘#1-1 개요while(문제 해결 안 됨) { 현 시점 가장 좋아 보이는 선택}눈 앞의 이익만 추구(= Greedy(탐욕스러운, 욕심 많은))하는 방식의 접근법을 말한다. 위 코드의 형식을 갖추기만 하면 그리디 알고리즘이라 부를 수 있다. 즉 구체성이 낮은, 추상적인 알고리즘이다. #1-2 최적해(最適解, optimal solution)주어진 문제를 가장 효과적으로 해결하는 최상의 답 또는 해결 방법을 의미한다. #1-3 Yes/No 문제와 최적화 문제예를 들어, "어떤 조건 A를 만족하는 원소 B가 집합 C에 존재하는가?"라고 묻는 문제를 Yes/No 문제라고 한다. 반면 "어떤 조건 A를 만족하는 원소 B의 최솟ㆍ최댓값은 얼마인가?"라고 묻는 문제 즉, "최적해는 얼마인가?"라고 묻..

그래프 - 깊이 우선 탐색 (DFS, Depth-First Search)

#1 그래프의 탐색 깊이 우선 탐색 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 깊이 우선 탐색 깊이 우선 탐색의 애니메이션 예시 깊이 우선 탐색( - 優先探索, 영어: depth-first search, DFS)은 맹목적 탐색방법의 하나로 탐색트리의 최근에 첨가ko.wikipedia.org그래프의 각 정점을 한번씩 방문할 필요가 있다고 해보자. 그 방문의 방법에는 크게 2가지 방법이 있다. 하나는 깊이 우선 탐색이다. 또 다른 하나는 너비 우선 탐색이다. 본 게시글에서는 깊이 우선 탐색법을 다룬다. (너비 우선 탐색에 대해서는 이 게시글에서 다룬다) #2 알고리즘원래라면 순서도를 통해 알고리즘을 소개하고 코드로 넘어가는 편이 이해하기 좋지만, 그래프 탐색 알고리즘은 그냥 코드부터..

그래프 - 너비 우선 탐색 (BFS, Breadth-First Search)

#1 그래프의 탐색 너비 우선 탐색 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전.ko.wikipedia.org그래프의 각 정점을 한번씩 방문할 필요가 있다고 해보자. 그 방문의 방법에는 크게 2가지 방법이 있다. 하나는 너비 우선 탐색이다. 또 다른 하나는 깊이 우선 탐색이다. 본 게시글에서는 너비 우선 탐색법을 다룬다. (깊이 우선 탐색에 대해서는 이 게시글에서 다룬다) #2 알고리즘원래라면 순서도를 통해 알고리즘을 소개하고 코드로 넘어가는 편이 이해하기 좋지만, 그래프 탐색 알고리즘은 그냥 코드부터 보는 게 오히려 이해가 더 빠르다고 생각한다. 다만, 인접 배열 (Adjacency Array)의 지식에 대해서는 알고 있어야 한다는 전제 하다. 여기서 사용할 인접 배열은 이 게시글..

[Android] Jetpack Compose - Navigation의 Destination 간 데이터 전달 (NavBackStackEntry.arguments)

#1 이전 글 [Android] Jetpack Compose - Navigation 기초#1 개요#1-1 전통적인 안드로이드 프로젝트에서의 Navigation [Android] Navigation - 기초#1 이전 글 [Android] Navigation - 환경 설정 #1 Navigation#1-1 액티비티 및 프래그먼트 구성의 트렌드요즘 안드로이드 개발kenel.tistory.com본 게시글에선 위 게시글의 완성된 앱을 일부 수정하여, Destination끼리 서로 데이터를 전달하게 만들어본다. 이를 위해서 먼저 NavBackStackEntry에 대해 알아야 한다. 이름에서 보듯, NavBackStackEntry은 백 스택을 관리하는 객체다. 따라서, Back Stack(백 스택)이 뭔지 알아야 Na..

[Android] Jetpack Compose - Navigation 기초

#1 개요#1-1 전통적인 안드로이드 프로젝트에서의 Navigation [Android] Navigation - 기초#1 이전 글 [Android] Navigation - 환경 설정 #1 Navigation#1-1 액티비티 및 프래그먼트 구성의 트렌드요즘 안드로이드 개발의 트렌드는 하나의 액티비티, 여러 개의 프래그먼트다. 이는 구글의 권장사항kenel.tistory.com위 게시글은 Jetpack Compose가 쓰이지 않은 전통적인 구조의 안드로이드 프로젝트에서의 Navigation에 대해 다룬 게시글이다. #1-2 Jetpack Compose 구조의 안드로이드 프로젝트에서의 Navigation Compose를 사용한 탐색  |  Jetpack Compose  |  Android Developers이..

[Android] Jetpack Compose - 객체 지향적 UI 레이어 설계

#1 개요 UI 레이어 | Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. UI 레이어 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. UI의 역할은 화면에 애플리케이션 데이터를 developer.android.com안드로이드 UI 설계에 대한 공식 가이드에 기반해, 샘플 Jetpack Compose 앱을 만들어본다. #2 앱 미리보기#2-1 작동 화면국가, 대륙 별로 다른 신발 사이즈를 상호 변환할 수 있는 간단한 앱이다. 4개의 TextField 중 아무 TextField에 값이 입력되면 "변환" 버튼이 활성화되어 클릭이 가능해진다. 4개의 TextField 중 오직 하나에만 값 입력이 가능하기에, 예를 들어 한..