본문으로 건너뛰기

오늘 한 일

  • Rust 스터디
  • Kotlin 약알림 개발


Rust 스터디

Rust 공식문서 - chap 6.1

6.1 Enum이란?


Rust Swapper 구조 정리

manager
| 사용자 명령 처리 매니저
|
프로세스 매니저

프로세스 매니저: 프로세스를 실행할지 확인

  1. 프로세스가 메모리에 있는 상황 -> 프로세스 재실행
  2. 프로세스가 디스크에 있는 상황 -> 프로세스 재실행
  3. 프로세스가 실행되지 않은 상황 -> 프로세스 스타터 실행
  4. 프로세스를 종료하는 상황 -> 프로세스 터미네이터 실행

사용자 명령 처리

  1. 프로세스 스타터 실행
  2. 프로세스 실행 -> 아무런 프로세스를 못찾았다면 스타터 실행
  3. 프로세스 종료

process_manager
| 프로세스 스타터
|
프로세스 프로세서
| 프로세스 터미네이터
|
프로세스 파인더(프로세서, 엔더에 사용)
|_ pid 제너레이터

프로세스 스타터/프로세서는 process_allocator를 실행


process_starter: pid를 부여
| process_allocator
process_processor
|
process_allocator
process_terminator: 프로세스 반납

프로세스 할당자

  1. 현재 프로세스의 위치를 확인(process_finder)해서 디스크 or 스타터면 메모리공간을 확인한다.
  2. 메모리공간이 비었다면(memory_checker) 적재한다
  3. 메모리공간이 꽉찼다면 swapper를 실행한다.

process_allocator
|_ swapper

스와퍼

  1. lru는 우선순위에 적용
  2. 메모리 공간 이전(swapping)
  3. 메모리 여유공간 확인(memory_checker), 여유공간이 충분할 때까지 실행

swapper
| swapping
|
Memory::memory_checker



전혀 구조가 눈에 들어오지 않는다...

=> UML, 강주혁이 알려준 ??? 등으로 표현하면 좋아보임



Kotlin 개발

한 kt 파일에서 여러 개의 Intent를 이용하여 네비게이팅

⇒ 그냥 Intent 객체를 여러개 만들어서 결정하면 된다.


Toggle Switch 커스터마이징

: 안드로이드 기본 switch가 너무 못생겨서 새롭게 커스터마이징하기로 했다.


Switch Track 커스텀

: 스위치의 배경을 커스터마이징 한 것

배경 1 (ON 상태를 나타내는 것) drawable 파일을 만든다
배경 2 (OFF 상태를 나타내는 것) drawable 파일을 만든다
셀렉터 (상태에 따라 다르게 UI를 표현하는 것) drawable 파일을 만들어 1,2를 명시한다


Switch Thumb 커스텀

: 스위치의 동그라미 버튼을 나타내는 것


상태에 따라서 Text 변화



고민: GuideLine 사용 vs 동적 Constraint 사용

→ 동적 기기에 적합한 UI가 뜨지 않을 것 같음
예를 들어 세로화면으로 볼 때, height가 너무 줄어드므로 동적 배치시 컴포넌트 높이를 GuideLine에만 의존한다면 불편한 UI를 만들 수 있을 것 같음

그래서 minWidth 같은 것이 있다는거 아니겠나

dp로 GuideLine 만들기 vs %로 GuideLine 만들기



마무리

1__ 선조들께선 어떤 삶을 살아온 겁니까


2__ 앞으로 개발에 내 생각을 더하기로 했다
그래서 개발하면서 들었던 고민들을 고민태그로 써놓고 이후에 생각해보거나 모아서 볼 수 있게 하고자한다.