우테캠 안드로이드8 우아한 테크캠프 6,7주차 6주차부터 마지막 8주차까지 총 3주간의 프로젝트가 진행되었다. 6,7주차, 8주차와 수료 후기로 나누어 글을 작성하였다. Reactive Programming 리액티브 프로그래밍은 데이터 흐름을 먼저 정의하고 데이터가 변경되었을 때 연관되는 함수나 수식이 업데이트 되는 방식 RxJava Observerable 클래스 데이터의 변화가 발생하는 데이터 소스 subscribe() 함수 Observable을 구독. Observable은 subscribe() 함수를 호출해야 비로소 변화한 데이터를 구독자에게 발행함. subscribe함수는 이러한 변화한 데이터를 수신하여 할 행동을 정의함. Single 클래스 데이터를 무한하게 발행할 수 있는 Observable 클래스와 달리 오직 1개의 데이터만 발행하도록 한.. 2022. 8. 21. 우아한 테크캠프 4,5주차 - 2 객체 지향에 관한 수업을 들으면서 원래 알고 있다고 생각했지만 그렇지 않은 내용이 있었다. 프로그래밍 관점에서 객체 지향을 이해해야 하고 아직 익숙치 않은 객체 지향 설계 원칙을 이해하고 지켜서 프로그래밍을 해야할 것 같다. 또한 이전에는 SOLID가 무엇인지 정확하게 대답할 수 없었지만 이번 정리를 통해 오랫동안 기억에 남아 있길 바란다. 객체 지향 설계 원칙 http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod 에 따르면 객체 지향 설계 원칙은 의존성 관리에 초점을 맞추고 있는 것으로 보인다. ' Poor dependency managment leads to code that is hard to change, fragile, and non-reusabl.. 2022. 8. 8. 우아한 테크캠프 4,5주차 - 1 이번 4주차 프로젝트는 5주차까지 이어지는 2주 간의 프로젝트이다. 4주차 주말에 글을 완성하지 못해 5주차와 함께 다시 작성 후 업로드하기로 하였다. 두번째 프로젝트가 끝나고 새로운 프로젝트가 시작됐다. 협업이 아닌 개인 프로젝트로 진행되었고 새롭게 배우는 Jetpack Compose를 이용하여 구현을 하는 것이 이번 프로젝트에서의 주요 포인트였다. 예전에 간단하게 Compose를 사용해본 적이 있지만 기본적인 부분들이었기 때문에(1 ,2, 3, 4 참고) 프로젝트에 적용하기에는 많은 공부가 필요했다. 새롭게 배우는 기술을 2주라는 제한된 시간안에 잘 적용하는 것이 중요했던 프로젝트였다. 또한 DI 라이브러리 Hilt나 객체 지향 설계 원칙도 함께 배웠는데 HIlt는 사용은 해봤지만 아직 이해가 더 필.. 2022. 8. 6. 우아한 테크캠프 3주차 - 2 2주차에 이어 팀 프로젝트를 진행하였다. 구현과 리팩토링을 통해서 배운 부분과 수업에서 배운 내용을 정리하였다. Domain Layer Domain Layer는 복잡한 비즈니스 로직, 또는 여러 ViewModel에서 재사용되는 간단한 비즈니스 로직의 캡슐화를 담당한다. 모든 앱에서 필수적인 요구사항이 아니기 때문에 필요한 경우에 Domain Layer를 선택적으로 사용해야 한다. UseCase Domain Layer에는 UseCase라 불리우는 클래스로 구성될 수 있는데 각 UseCase는 하나의 기능을 담당해야 하고 각각 담당하고 있는 단일 작업에 따라 이름이 지정된다. 작은 단위로 UseCase를 나눠서 복잡도가 올라갈 수도 있지만 각 객체의 책임을 명확하게 분리하는 것이 관리하기 편하기 때문에 Us.. 2022. 7. 26. 우아한 테크캠프 3주차 - 1 2주차에 이어 팀 프로젝트를 진행하였다. 구현과 리팩토링을 통해서 배운 부분과 수업에서 배운 내용을 정리하였다. Android App Architecture 안드로이드 앱의 크기가 점점 커지면서 앱을 확장하고 품질과 견고성을 개선하고 더 쉽게 테스트할 수 있는 아키텍처를 지닌 코드를 설계하는 것이 중요하다. 앱 아키텍처를 설계함에 있어서 관심사를 분리하고 데이터 모델에서 UI를 도출하는 것이 중요하다. Activity나 Fragment에서 모든 코드를 작성하는 경우 구성요소 수명 주기와 관련된 많은 문제가 발생할 수 있고 테스트가 어려워질 수 있기 때문에 관심사를 분리하고 클래스에 대한 의존성을 최소화하는 것이 좋다. 따라서 구글에서 제공하는 앱 아키텍처에 대한 가이드에 따라서 개발할 수 있도록 하여야하.. 2022. 7. 23. 우아한 테크캠프 2주차 - 2 2주차는 팀 프로젝트로 진행되었고 3주차까지 동일한 프로젝트를 진행하게 된다. 협업 프로젝트 과정에서 배운 부분과 수업을 통해 학습한 내용을 정리했다. *정리할 내용이 생각보다 많아서 글을 나눠서 정리하였습니다. URLConnection, HttpURLConnection HTTP 프로토콜은 요청 URI와 본문에 해당하는 엔티티이외에 요청과 응답에 대해 추가적인 정보를 헤더로 제공해 주어야 한다. 이 때 URLConnection 클래스나 HttpURLConnection 클래스를 통해 요청 메시지를 작성하고 응답 메시지를 해석할 수 있다. URLConnection 클래스는 java.net에서 제공하는 클래스이며 HttpURLConnection 클래스의 상위 클래스이다. URLConnection 클래스를 사용.. 2022. 7. 18. 이전 1 2 다음