반응형

IT 126

[Android Studio] 안드로이드 아키텍처 패턴(MVVM, MVP)이 뭔가요?

안녕하세요 안드로이드 공부하다가 아키텍처 패턴이 나와서 정리해보려고합니다. MVVM (Model-View-ViewModel) MVVM 아키텍처 패턴은 모델(Model), 뷰(View), 뷰 모델(ViewModel)로 구성됩니다. 모델은 데이터와 비즈니스 로직을 처리합니다. 뷰는 사용자 인터페이스를 나타내고, 뷰 모델은 뷰와 모델 사이의 중간 역할을 하며 데이터 바인딩을 통해 뷰에 데이터를 제공합니다. MVVM은 데이터와 UI를 분리하여 테스트 가능성을 높이고 유지 관리를 쉽게 합니다. MVP (Model-View-Presenter) MVP 아키텍처 패턴은 모델(Model), 뷰(View), 프레젠터(Presenter)로 구성됩니다. 모델은 데이터와 비즈니스 로직을 처리하고, 뷰는 사용자 인터페이스를 표시..

IT/Android 2023.09.12

안드로이드 개발자 이상적인 커리어를 위해 어떤 걸 준비해야하나요?

안녕하세요 안드로이드 개발자로서 이상적인 커리어를 쌓기 위해 고려해야 할 몇 가지 핵심 단계와 전략을 알려드리겠습니다 기본기 강화 Java 또는 Kotlin 프로그래밍 언어에 대한 뛰어난 이해와 숙련된 프로그래밍 기술이 필요합니다. Android 개발 프레임워크 및 Android Studio와 같은 개발 도구에 대한 훌륭한 숙련도를 갖추세요. 안드로이드 기초 학습 안드로이드의 핵심 컴포넌트(Activity, Service, BroadcastReceiver, ContentProvider) 및 아키텍처 패턴(MVVM, MVP, 등)을 학습하세요. XML 레이아웃 및 리소스 관리에 대한 이해도를 향상시켜 사용자 인터페이스를 구축하는 데 필요한 기술을 향상시키세요. 프로젝트 경험 쌓기 토이 프로젝트나 개인 앱을..

IT 2023.09.11

[Android Studio] 안드로이드 가상 디바이스 (AVD)란 무엇인가요?

안녕하세요 안드로이드 앱 개발하다보면 안드로이드 디바이스가 없어서 어떻게 테스트해봐야할지 막막한 경우가 있죠 이 때문에 안드로이드 개발자들은 "안드로이드 가상 디바이스" 줄여서 "AVD"를 사용하여 이러한 문제를 해결합니다. AVD란 무엇인가요? AVD는 "Android Virtual Device"의 약어로, 안드로이드 애플리케이션을 개발하고 테스트하기 위한 가상 에뮬레이터 디바이스입니다. 이는 안드로이드 스튜디오(Android Studio)와 같은 개발 환경에서 제공되며, 여러 가지 안드로이드 디바이스 및 환경을 시뮬레이트하고 테스트하는 데 사용됩니다. AVD의 중요성 AVD를 사용하는 이유는 다음과 같습니다. 다양한 디바이스 시뮬레이션 AVD를 사용하면 다양한 안드로이드 디바이스 및 화면 크기에서 앱..

IT/Android 2023.09.10

Git 브랜치 만들때 이름을 정하는 규칙이 있나요?(네이밍)

안녕하세요 업무하다가 Git 브랜치 만들 일이 있는데 문득 이름을 정하는 규칙을 정리하면 좋겠다는 생각이 들어 포스팅합니다. Git 브랜치의 명명 규칙은 프로젝트 및 팀의 개발 방식과 관례에 따라 다를 수 있습니다. 그러나 명명 규칙을 일관되게 적용하는 것은 협업 및 코드 관리를 위해 매우 중요합니다. 일반적으로 다음과 같은 명명 규칙이 있습니다 master 브랜치 기본 개발 브랜치로 주로 master 또는 main으로 명명됩니다. 이 브랜치에는 항상 안정된 코드가 있어야 하며 배포할 수 있는 상태여야 합니다. 기능 브랜치 (Feature Branches) 새로운 기능을 개발할 때 사용되는 브랜치입니다. 이 브랜치는 보통 feature/기능명과 같이 명명됩니다. 예를 들어 feature/user-auth..

IT 2023.09.09

[Android Studio] 안드로이드의 핵심 컴포넌트(Activity, Service, BroadcastReceiver, ContentProvider) 가 뭔가요?

안녕하세요 안드로이드를 공부하면서 핵심 컴포넌트라는 개념이 중요하다는데 한번 알아보겠습니다. 핵심 컴포넌트는 총 4가지입니다. 액티비티 (Activity) 액티비티는 안드로이드 앱의 사용자 인터페이스(UI)를 나타내는 컴포넌트입니다. 사용자가 화면과 상호 작용하는 데 사용됩니다. 각 액티비티는 하나의 화면을 표시하며, 사용자가 다른 액티비티로 이동할 때 액티비티 간의 전환이 발생합니다. 서비스 (Service) 서비스는 백그라운드에서 실행되는 컴포넌트로, 사용자 인터페이스를 갖지 않습니다. 주로 백그라운드 작업을 수행하거나, 오래 걸리는 작업을 처리하고 다른 앱 구성 요소와 데이터를 공유하는 데 사용됩니다. 예를 들어, 음악 앱은 음악 재생을 위한 서비스를 사용하여 앱이 화면을 닫아도 음악을 계속 재생할..

IT/Android 2023.09.08

"이슈 (Issue)", "버그 (Bug)", 그리고 "결함 (Defect)" 차이가 뭐에요?

안녕하세요 프로그래밍에서 "이슈 (Issue)", "버그 (Bug)", 그리고 "결함 (Defect)"은 다음과 같이 다른 개념을 나타냅니다 이슈 (Issue) 이슈는 소프트웨어 개발 및 관리 과정에서 발생하는 모든 유형의 문제 또는 작업을 일반적으로 포괄적으로 가리키는 용어입니다. 이슈는 버그뿐만 아니라 새로운 기능 추가, 작업 개선, 문서 업데이트, 코드 리뷰, 작업 관리, 토론 등을 포함할 수 있습니다. 이슈 관리 도구를 사용하여 이슈를 추적하고 관리하며, 팀 내 협업 및 작업 일정 관리에 사용됩니다. 버그 (Bug) 버그는 소프트웨어에서 예상치 못한 동작, 오작동, 또는 잘못된 동작을 가리키는 용어입니다. 버그는 소프트웨어 코드의 결함 또는 프로그래밍 오류로 인해 발생합니다. 이러한 오류로 인해 ..

IT 2023.09.07

[Android Studio] "No JVM installation found" 오류 어떻게 해결해요?

안녕하세요 "No JVM installation found" 오류는 Android Studio가 Java Virtual Machine (JVM)을 찾지 못할 때 발생하는 오류입니다. Android Studio는 JVM을 실행하는데 필요하므로 이 오류를 해결해야 합니다. 다음은 이 문제를 해결하기 위한 몇 가지 단계입니다 JDK 설치 확인 먼저 컴퓨터에 Java Development Kit (JDK)가 설치되어 있는지 확인하십시오. Android Studio는 JDK를 사용하여 Java 언어로 작성된 Android 앱을 빌드하고 실행합니다. JDK를 설치하지 않았거나 올바르게 설치하지 않았다면 오류가 발생할 수 있습니다. 환경 변수 설정 JDK가 올바르게 설치되었는데도 Android Studio가 JVM을..

IT/Android 2023.09.06

[Android Studio] GlobalApp 이 뭐에요?

안녕하세요 Global App 에 대해서 포스팅해보겠습니다. 안드로이드 스튜디오에서 "Global App"이라는 용어는 기본적으로 안드로이드 앱의 전역적인 상태나 동작을 관리하는 구조나 클래스를 가리킵니다. 이 개념은 여러 컴포넌트 간의 데이터 공유, 앱 전체의 설정 또는 기능의 활성화/비활성화와 같은 글로벌한 측면을 처리하는 데 사용됩니다. 왜 Global App을 사용하는가? 안드로이드 앱은 여러 화면(액티비티)과 기능으로 구성되어 있습니다. 이 때, 앱 전반에서 공유되어야 할 데이터나 설정이 있을 수 있습니다. 예를 들어, 사용자의 로그인 상태, 어플리케이션 설정, 언어 설정 등은 앱의 여러 부분에서 사용될 수 있는데, 이런 데이터와 설정을 여러 컴포넌트 간에 일관되게 관리하기 위해 Global A..

IT/Android 2023.08.21

스프링 배치(Batch) 시스템이 뭐에요?

안녕하세요 오늘은 스프링 배치 시스템에 대해 포스팅하겠습니다. 회사생활하다보면 배치가 돌았네 안돌았네 하는걸 들으실 수 있을텐데요 그게 뭘까요? Spring Batch 란? Java 기반의 오픈 소스 프레임워크로, 대량의 데이터를 처리하는 일괄 처리(Batch Processing) 시스템을 구축하기 위한 기능을 제공하는 프레임워크입니다. Spring Batch는 대규모 데이터 처리, 배치 작업 관리, 재시작 및 오류 처리, 트랜잭션 관리 등을 지원하여 데이터 처리 작업을 안정적이고 효율적으로 수행할 수 있도록 도와줍니다. Spring Batch 주요 특징과 기능 대용량 데이터 처리 Spring Batch는 대량의 데이터를 효율적으로 처리할 수 있는 방법을 제공합니다. 청크(Chunk) 지향 처리 방식을 ..

IT 2023.07.26

[Mac] 설치에 적합하지 않음 Rosetta 가 필요합니다 해결하기 : Rosetta 설치

안녕하세요 맥북 사용하면서 아래 화면처럼 설치에 적합하지 않다는 문구가 뜨면 어떤걸 설치해야할지 막막할 때가 있어요 아니 이것 뿐만 아니라 맥북은 너무 어려워ㅠ 이럴 땐 당황하지 말고 천천히 오류 문구를 읽어보면 Rosetta 를 설치하라고 나오네요? 근데 이 뭔지도 모르는게 과연 믿을 수 있는건지, 또 어떻게 설치하는건지 설치하면 내 소중한 맥북에 바이러스를 심어서 망가뜨리는 건 아닐지 걱정이 많이 될거에요 먼저 로제타가 뭔지 알아볼게요 로제타(Rosetta)란? Apple의 M1 칩셋을 사용하는 Mac 컴퓨터에서 x86 아키텍처의 소프트웨어를 실행하기 위한 호환성 도구입니다. M1 칩은 ARM 아키텍처를 기반으로 설계되어 있으며, 이전에 개발된 x86 아키텍처의 소프트웨어와의 호환성 문제가 있을 수 ..

IT/Mac 2023.07.09
반응형