개발
-
[CS] MVP 패턴 바로알기개발/CS 2025. 4. 6. 20:54
들어가며지난 시간에는 MVC 패턴을 알아보았습니다. MVC의 탄생 배경, 특징, 장단점과 안드로이드 개발에서 문제점을 살펴보았습니다. MVC 패턴에 관한 자세한 이야기는 아래 포스팅을 참고해주세요! [CS] MVC 패턴 바로알기들어가며지난 시간에는 소프트웨어 아키텍처 패턴이 무엇인지 알아보았습니다. 소프트웨어 디자인 패턴을 함께 알아보며, 소프트웨어 설계에서 사용하는 두 패턴의 개념을 잡을 수 있었습니다walnut-dev.tistory.com 이번 시간에는 MVC 패턴의 문제점을 해결하고자 고안된 MVP 패턴을 알아보겠습니다. MVC 패턴의 문제점지난 포스팅에서 알아보았듯, MVC 패턴은 컴퓨터 시스템을 Model-View-Controller로 각 역할을 분리하여, 유지 보수를 유리하게 하고 사용자와 시..
-
[CS] MVC 패턴 바로알기개발/CS 2025. 4. 6. 20:54
들어가며지난 시간에는 소프트웨어 아키텍처 패턴이 무엇인지 알아보았습니다. 소프트웨어 디자인 패턴을 함께 알아보며, 소프트웨어 설계에서 사용하는 두 패턴의 개념을 잡을 수 있었습니다.아키텍처 패턴에 관한 이전 포스팅은 아래를 참고해주세요! [CS] 아키텍처 패턴 딥다이브하기(feat. 디자인 패턴)들어가며MVVM 패턴에 관한 글을 작성하던 중, 제가 “아키텍처 패턴”과 “디자인 패턴”을 함께 사용하고 있다는 것을 알아차렸습니다. 용어를 하나로 통일시키려는 찰나, 문득 의문이 생겼습walnut-dev.tistory.com 아키텍처 패턴에 대한 글을 올린 후 MVVM에 관한 글을 마저 작성하려 했습니다만, MVC와 MVP를 떼어놓고 설명하기 어렵다고 판단했습니다. MVVM의 기반이 된 MVC와 MVP 패턴을 ..
-
[Android] Github Actions로 CI 적용하기 - 간단 가이드개발/Android 2025. 4. 2. 15:53
들어가며여러 개발자와 협업을 할 때, CI(Continuous Integration)나 CD(Continuous Deployment)가 적용되어있다면 각자가 개발한 기능을 병합하기 수월해집니다.CI/CD를 지원해주는 도구는 젠킨스(Jenkins), 서클CI(circle ci) 등 여러 가지가 있으며, 빠르고 간편하게 CI/CD를 적용하고 싶다면 GitHub에서 제공해주는 GitHub Actions를 사용할 수 있습니다. 제가 하고 있는 스타카토 프로젝트도 GitHub Actions를 활용해 CI/CD를 적용하고 있습니다. 꾸준히 프로젝트를 진행하며 CI/CD를 조금씩 개선해왔습니다. CI와 CD를 구축하며 알게된 내용을 정리해 간단한 가이드를 만들어보고자 합니다. 이번 포스팅은 GitHub Actions..
-
[CS] 아키텍처 패턴 딥다이브하기(feat. 디자인 패턴)개발/CS 2025. 3. 31. 03:10
들어가며MVVM 패턴에 관한 글을 작성하던 중, 제가 “아키텍처 패턴”과 “디자인 패턴”을 함께 사용하고 있다는 것을 알아차렸습니다. 용어를 하나로 통일시키려는 찰나, 문득 의문이 생겼습니다. “MVVM은 아키텍처 패턴일까, 디자인 패턴일까?” 글을 쓰기 위해 참고하던 여러 글 중에서도 어떤 글에서는 아키텍처 패턴이라 설명하고, 또 다른 글은 디자인 패턴이라 부르고 있었습니다.저 또한 둘의 대략적인 의미만 알고있었지, 구체적으로 무엇이 다른지는 몰랐습니다.차이점을 알기 위해 위키에서 정의를 찾아보아도 곧바로 이해할 수 없었습니다.소프트웨어 아키텍처 패턴주어진 문맥 안에서 소프트웨어 아키텍처의 공통적인 발생 문제에 대한 일반적인, 재사용 가능한 해결책소프트웨어 디자인 패턴소프트웨어 디자인의 특정 문맥에서 ..
-
[CS] SOLID 쉽고 가볍게 맛보기개발/CS 2025. 3. 1. 15:46
들어가며아마 개발을 공부하다 보면 SOLID에 관해서 한 번쯤은 들어봤을 것입니다.OOP에서 아주 중요한 설계 이론 중 하나이며, 면접에서도 단골 질문으로 왕왕 나오는 주제입니다. 필자는 대학 시절에 처음 접했지만 그때는 어려운 개념이라 생각해 자세히 알지 않았습니다. 제대로 이해하고 공부하게 된 것은 우아한테크코스에 온 후입니다. 지금은 각 원칙이 무엇인지 알고 있지만, 이를 제대로 이해하고 있는지 의문이었습니다. 또 실전에서 어떻게 적용할 수 있는지 어렵게 느껴졌습니다.따라서 이번 포스팅에서는 SOLID라 불리는 객체 지향 설계 방법론이 무엇인지 쉽고 가볍게 맛보겠습니다.해당 포스팅에서는 SOLID 원칙에 대한 이야기를 다룹니다. OO(Object-Oriented)에 관한 설명은 자세히 다루지 않습니..
-
[Android] Compose 상태 관리 심화개발/Android 2025. 2. 15. 09:14
들어가며[Android] Compose 상태 관리의 기본 개념*이전 포스팅과 이어집니다!지난 포스팅 요약Compose : Composable, 너는 이렇게 생겼어! 여기서 상태가 그려지면 돼.Composable : 알겠어! 이대로 구성하면 되는거지?Compose : 맞아! 그리고 상태는 네가 들고 있어!Composable : 응. 근데 혹시, 나 계속 여기 있어야해? 나 다른 화면에도 가봐야하는데…Compose : 응…? 너가 상태를 들고있는데, 너가 가면 여기는 누가 그려줘? 안돼, 못 가.Composable : 🙁 [Android] Compose 상태 관리의 기본 개념들어가며이번 포스트는 Compose의 상태에 대한 전반적인 이해와 이를 관리하는 기초적인 방법을 설명합니다.Composable을 선언..
-
[Android] Compose 상태 관리의 기본 개념개발/Android 2025. 1. 30. 23:41
들어가며이번 포스트는 Compose의 상태에 대한 전반적인 이해와 이를 관리하는 기초적인 방법을 설명합니다.Composable을 선언하는 방법이나, 더욱 효율적인 상태 관리 방법(상태 호이스팅 등)에 관한 내용은 다른 문서를 참고해주시기 바랍니다.이번 회차에서는 상태란 무엇이며, Compose에서는 상태 변화에 따라 UI를 어떻게 변경하는지에 대해 알아봅니다. 목차상태란 무엇인가?상태에 대한 정의와 예시안드로이드에서 상태를 변경하는 방식: xml vs Composexml 방식에서 상태를 변경하는 방법Compose에서 상태를 변경하는 방법Compose가 상태를 변경하는 원리상태의 변경을 알려주는 방법MutableState와 동작 원리(feat. State, RecomposeScope)mutableState..
-
[Android] 우리가 RecyclerView를 사용하는 이유 (feat. ListView)개발/Android 2025. 1. 10. 18:47
들어가며RecyclerView는 ListView의 단점을 보완하기 위해 사용하는 ViewGroup이며, 여러 아이템들을 목록으로 보여주는 역할을 합니다.Android 개발을 조금 할 줄 알게된 지금은 RecyclerView를 사용하는 것이 익숙해졌고, 또 RecyclerView의 사용을 너무나 당연하게 생각하고 있었습니다.하지만 사용하는 기술의 특성이 무엇이며, 왜 사용하는지 알고서 활용하는 것이 정말 중요합니다. 이번 포스팅의 목적은 ListView와 RecyclerView가 무엇이고, 또 RecyclerView를 사용하는 이유가 무엇인지 다시 상기하는 것입니다.ListView의 특성과 단점을 먼저 파악하고, RecyclerView의 특징과 ListView와 비교했을 때의 장점을 알아보겠습니다. 포스..