본문 바로가기
♞ | 공부일지/♝ | TIL

[Android] 공부일지(2024-08-27)

by immgga 2024. 8. 27.
오늘 공부한 내용 정리(2024년 8월 27일)

 

출처: unsplash.com

 

코드카타 문제풀이

주유소(Silver 3, 13305번)

https://rkdrkd-history.tistory.com/221

 

[Kotlin, S3] 백준 13305번 주유소

주유소(13305번)Silver 3#그리디 알고리즘https://www.acmicpc.net/problem/13305 문제 내용  문제 접근이 사진에서 원 안의 수가 1L당 기름의 값이고 원 사이의 연결된 선이 도시 간 도로의 길이일 때, 적은

rkdrkd-history.tistory.com

 

 

면접 이론 학습 11일 차

면접 이론 학습 11일 차

객체 지향이 무엇인지 설명하고 SOLID 원칙에 대해 설명하기.

객체 지향 프로그래밍(Ojbect - Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체로 만들고, 객체들 간의 상호 작용을 통해 로직을 구성하는 프로그래밍 방법이다.

SOLID라는 좋은 객체 지향 설계의 5가지 원칙이 존재한다.

 

  • SRP(Single Responsibility Principle), 단일 책임 원칙: 하나의 클래스는 하나의 책임만 가져야 한다.
    클래스를 변경하는 이유는 단 하나여야 한다.
  • OCP(Open - Closed Principle), 개방 폐쇄의 원칙: 소프트웨어 요소는 확장에는 열려 있으나, 변경에는 닫혀 있어야 한다.
  • LSP(Liskov Substitution Principle), 리스코프 치환 원칙: 하위 타입 객체는 상위 타입 객체에서 가능한 행위를 수행할 수 있어야 한다.
    즉, 상위 타입 객체를 하위 타입 객체로 대체해도 정상적으로 동작해야 한다.
  • ISP(Interface Segregation Principle), 인터페이스 분리 원칙: 클라이언트는 자신이 사용하는 메서드에만 의존해야 한다.
    특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 한 개보다 낫다.
  • DIP(Dependency Inversion Principle), 의존성 역전 원칙: 구현 클래스에 의존하지 말고, 인터페이스에 의존하라는 뜻.

 

SharedFlow와 StateFlow를 앱에 어떤 기능에 사용했고 장단점이 무엇인가?

StateFlow를 ViewModel에서 State를 저장해야 할 때 사용한다.

장점: clean architecture 기반으로 구현할 때, 언어 의존성을 가지는 domain layer에서는 사용하기 부적합한 LiveData 대신에 StateFlow를 사용할 수 있다.

단점: StateFlow는 초기값이 무조건 존재해야 한다. LiveData에서 StateFlow로 막 갈아탄 상황에서는 불편할 수 있다.

 

 

개인 공부

부트캠프 최종 팀 프로젝트

공부 내용 간단 정리

오늘은 BottomSheet의 UI를 구현해 주었다.

https://rkdrkd-history.tistory.com/222

 

[Android] Android에서 BottomSheetDialogFragment의 높이를 최대 높이로 설정하기.

내일배움캠프 최종 프로젝트 기록 2  서론이번에는 UI 개발을 할 차례이다.나는 UI개발에서 마이페이지에 사용하는 bottomSheet들의 UI 구성을 맡았다.그리고 이미 구현되어 있는 bottomSheet 틀을 사

rkdrkd-history.tistory.com

 


 

오늘 공부 내용 정리 및 회고

bottomSheet를 구현하고 나서 pull request를 올리고 merge 하고 나서 아침에 해결 못한 알고리즘 문제를 풀고 공부한 내용 블로그에 정리하니까 하루가 끝나 있다.

그래도 어제와는 다르게 9시에 딱 끝나서 기쁘다.

728x90