안드로이드 - Activity Lifecycle (액티비티 생명주기)
2022. 5. 5. 18:18
Android
Activity는 안드로이드 4대 컴포넌트 중 하나이다. 그중에서도 UI와 가장 밀접한 관련이 있기 때문에 안드로이드 앱에 있어서 가장 기본이 되는 구성 요소이다. 만약 A라는 어플을 보고 있다가 B라는 어플을 켰을 때 당연하게도 A어플은 더 이상 화면에 보이지 않고 B어플이 보이게 된다. 이 때 A어플과 B어플은 각자의 생명주기에 따라 호출되는 함수들이 존재한다. 📌 생명주기란? Lifecycle은 Life + cycle의 합성어이다. 말 그대로 앱이 탄생하고 진행되며 죽음(?)에 이르기까지의 과정이라고 생각하면 된다. Activity, Fragment, Service 총 세 가지 종류의 Lifecycle이 존재한다. Activity 생명주기 기본적으로 Lifecycle 은 위에서 아래 방향으로 진행된..
[파이썬] 프로그래머스 - 주식가격
2022. 5. 5. 14:53
Algorithm
📌 풀이 문제를 이해하기는 어렵지 않다. 리스트의 처음부터 나머지 원소들을 비교해 가격이 떨어지지 않는 유지 시간을 기록하는 것이다. 처음에는 2중 for문을 생각했다. 하지만 2중 for문을 이용할 경우 첫 번째 원소는 상관없지만 두 번째 원소부터는 해당 원소 이전 원소와 비교하지 말아야 하는데 지속해서 이전 원소와도 비교하는 것을 해결할 수 없었다. 따라서 생각해 낸 방법이 prices가 사라질 때 까지 while문을 돌리고 prices의 가장 왼쪽 원소를 pop시켜 남아있는 prices의 원소들과 비교하는 것이다. 이렇게 된다면 2중 for문에서 발생하는 본인 이전 원소와 비교하는 경우를 해결할 수 있다. [1, 2, 3, 2, 3] 을 예로 들면 우선 1을 popleft 시키고 (deque를 이용..
안드로이드 [Kotlin] - 코드스쿼드 미션 중요 내용 및 피드백 정리
2022. 5. 4. 17:49
Android
해당 글은 코드스쿼드 첫 번째, 두 번째 그룹 프로젝트를 진행하면서 중요하다고 생각한 내용과 피드백받았던 내용들을 공부하기 위해 정리한 글입니다. 📌 LiveData에 데이터를 넣는 방법 (setValue, postValue) 이해하기 LiveData는 Android Architecture Components(AAC)에서 제공하는 라이브러리 중 하나 LiveData는 Observer 패턴을 따르며 데이터의 변경이 일어날 때마다 콜백을 받아 원하는 동작을 실행할 수 있다. 이때 LiveData의 값을 변경하게 해주는 함수가 바로 setValue()와 postValue()이다. setValue() setValue()는 메인 스레드에서 LiveData의 값을 변경해준다. LiveData를 구독하고 있는 옵저버..
[파이썬] 프로그래머스 - 다리를 지나는 트럭
2022. 5. 4. 12:29
Algorithm
📌 풀이 1 (테스트 케이스 5 시간 초과) 큰 생각의 흐름은 "큐를 다리라고 생각하고 공기(0)들을 미리 채운 다음에 매 시간마다 pop 하고 현재 다리 위의 무게에 따라 트럭을 push 하거나 공기(0)를 push 한다"이다. 우선 queue를 양방향에서 처리해야 하기 때문에 양방형 처리에 유리한 deque를 사용했다. 공기(0)들을 미리 채우기 위해 truck_bridge_deque = deque(bridge_length * [0]) 을 통해 truck_bridge_deque를 설정해준다. while len(truck_bridge_deque)를 통해 다리 위에 있는 트럭이 모두 사라질 때까지 while문을 반복한다. if문에서는 대기 중인 트럭 즉 truck_weights_deque가 존재하는지 여..
안드로이드 [Kotlin] - Retrofit, Gson을 이용한 회원가입 API 통신
2022. 4. 17. 18:20
Android
해당 내용은 코드스쿼드 2022 안드로이드 미션을 수행하면서 공부한 내용을 정리한 글입니다. 또한 https://jminie.tistory.com/154에 이어지는 포스팅입니다. 안드로이드 [Kotlin] - TextInputLayout 및 정규식을 이용하여 회원가입 UI 구현해보기 해당 내용은 코드스쿼드 2022 안드로이드 미션을 수행하면서 공부한 내용을 정리한 글입니다. 모바일 앱을 이용하면 회원가입을 할 때 위와 같은 화면을 많이 접했을 것이다. 사용자 입장에서 당 jminie.tistory.com 앱에서 가장 많이 수행하는 처리 중 하나는 서버에 데이터를 요청하고 받아온 데이터를 단말기로, 즉 클라이언트의 화면에 표시하는 일이다. 이때 클라이언트와 서버가 통신하는 방식은 크게 소켓 연결과 HTTP..