일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 안드로이드광고
- android daum map
- thread
- component
- 애드몹배너
- Clean Architecture
- JetpackCompose
- 안드로이드컴포즈
- HTTP
- 안드로이드 카카오 지도
- glide
- 선언형UI
- 파이어베이스
- 안드로이드 라이브러리
- 컴포넌트
- 다이나믹 링크
- 안드로이드
- android 지도
- Android 애드몹
- dynamiclink
- android kakao map
- 젯팩컴포즈
- 애드몹광고
- ImageView
- 아키텍처
- RecyclerView
- 동적 링크
- 클린 아키텍처
- Android
- Firebase
- Today
- Total
목록Clean Architecture (6)
코딩스토리
좋은 아키텍처는 다음을 지원해야 한다. 시스템의 유스케이스 시스템의 운영 시스템의 개발 시스템의 배포 유스케이스 시스템의 아키텍처는 시스템의 의도를 지원해야 한다는 뜻이다. 좋은 아키텍처가 행위를 지원하기 위해 할 수 있는 일 중에서 가장 중요한 사항은 행위를 명확히 하고 외부로 드러내며, 이를 통해 시스템이 지닌 의도를 아키텍처 수준에서 알아볼 수 있게 만드는 것이다. 운영 시스템의 운영 지원 관점에서 볼 때 아키텍처는 더 실질적이며 덜 피상적인 역할을 맡는다. 각 컴포넌트를 적절히 격리하여 유지하고 컴포넌트 간 통신 방식을 특정 형태로 제한하지 않는다면, 시간이 지나 운영에 필요한 요구사항이 바뀌더라도 스레드, 프로세스, 서비스로 구성된 기술 스펙트럼 사이를 전환하는 일이 훨씬 쉬어질 것이다. 개발 ..
아키텍처의 주 목적 시스템의 생명주기를 지원 좋은 아키텍처는 시스템을 쉽게 이해하고, 쉽게 개발하며, 쉽게 유지보수하고, 쉽게 배포하게 해준다. 시스템의 수명과 관련된 비용은 최소화 하고, 프로그래머의 생산성은 최대화 하는 데 있다. 개발 개발하기 힘든 시스템이라면 수명이 길지도 않고 건강하지도 않을 것이다. 시스템 아키텍처는 개발팀이 시스템을 쉽게 개발할 수 있는 구조여야 한다. 배포 소프트웨어 시스템이 사용될 수 있으려면 반드시 배포할 수 있어야 한다. 배포 비용이 높을수록 시스템의 유용성은 떨어진다. 소프트웨어 아키텍처는 시스템을 단 한 번에 쉽게 배포할 수 있도록 만드는 데 목표를 두어야 한다. 운영 아키텍처가 시스템 운영에 미치는 영향은 개발, 배포, 유지보수에 미치는 영향보다는 덜 극적이다. ..
컴포넌트 결합 컴포넌트 결합은 컴포넌트 사이의 관계를 설명한다. ADP: 의존성 비순환 원칙 컴포넌트 의존성 그래프에 순환이 있어서는 안 된다. 숙취 증후군 많은 개발자가 동일한 소스 파일을 수정하는 환경에서 발생한다. 보통 프로젝트가 커지면서 누군가 마지막으로 수정한 코드 때문에 망가진 부분을 수정하고, 또 수정하는 작업을 반복하면서 발생된다. 해결법 주 단위 빌드 의존선 비순환 원칙 주 단위 빌드(Weekly Build) 중간규모 프로젝트에서 흔하게 사용한다. 정해진 기간동안 각자 신경쓰지 않고 개발을 하다가, 날 잡고 통합하여 시스템 빌드하는 방법이다. 프로젝트가 커지며 통합하는 시간이 길어지며, 개발하는 시간을 침범하게 되어 효율성이 점점 떨어지게됨. 순환 의존성 제거 이 문제의 해결책은 개발 환..
컴포넌트란? 컴포넌트는 배포할 수 있는 가장 작은 단위 흔히 .jar(java archive resource)이 컴포넌트에 해당 여러 컴포넌트를 서로 링크하여 실행 가능한 파일이나 .war파일과 같은 단일 아카이브 파일로도 만듦 잘 설계된 컴포넌트는 독립적으로 배포, 개발이 가능해야 함 REP 재사용/릴리즈 등가 원칙 "재사용단위는 릴리즈 단위와 같다." dependencies { ... //Lottie implementation 'com.airbnb.android:lottie:4.2.0' } 개발자는 Maven, Gradle와 같은 모듈 관리 도구를 사용하여 다음과 같이 다른사람들이 만들어 놓은 라이브러리를 적용해 재사용을 한다. 만약, Maven이나 Gradle를 통해 라이브러리를 가져오는데, 릴리스..
컴포넌트 컴포넌트 : 시스템의 구성 요소로 배포할 수 있는 가장 작은 단위 자바 - jar 루비 - gem 닷넷 - dll 컴파일형 언어 - 바이너리 파일의 결합체 인터프리터형 언어 - 소스파일의 결합체 여러 컴포넌트를 서로 링크하여 실행 가능한 단일 파일로 생성 여러 컴포넌트를 서로 묶어서 .war 파일과 같은 단일 아카이브로 만들 수도 있다. 컴포넌트 각각을 .jar나 .dll 같이 동적으로 로드할 수 있는 플러그인이나 .exe 파일로 만들어서 독립적으로 배포할 수도 있다. 잘 설계된 컴포넌트라면 반드시 독립적으로 배포 가능한, 따라서 독릭적으로 개발 가능한 능력을 갖춰야 한다. 컴포넌트의 간략한 역사
1. 설계와 아키텍처란? 이 책의 목적 중 하나는, 설계와 아키텍처 사이의 혼란을 없애고, 설계와 아키텍처가 무엇인지를 완전하게 정의하는 것입니다. 결론부터 말씀 드리 자면 둘 사이의 차이점은 없다는 것입니다. 아키텍처 저수준의 세부사항과는 분리된 고수준의 무언가를 가리킬 때 흔히 사용된다 설계 저수준의 구조 또는 결정사항 등을 의미할 때가 많다. 집 설계 EX) 아키텍처 - 집의 형태, 외관, 입면도, 공간, 방의 배치 등 / 고수준의 결정사항 설계 - 콘센트, 전등 스위치, 전등의 위치 / 저수준의 세부사항 저수준의 세부사항과 고수준의 구조는 모두 소프트웨어 전체 설계의 구성요소입니다. 이 둘은 단절 없이 이어진 직물과 같으며, 이를 통해 대상 시스템의 구조를 정의합니다. 고수준에서 저수준으로 향하는..