# MVP

94개의 포스트
post-thumbnail

디자인 패턴(MVC, MVP, MVVM)

그동안 정말 많이 듣고보고 익숙하게 사용은 하고 있지만 정확이 어떤 개념인지는 모르고있는 디자인 패턴에 대해서 정리를 해보겠습니다. 우선 디자인 패턴이란? > 기존 환경 내에서 반복적으로 일어나는 문제들을 어떻게 풀어나갈 것인가에 대한 일종의 솔루션 같은 것 제가 느낀 디자인 패턴은 일종의 코드의 조립설명서 같은 느낌입니다. 레고나 프라모델 조립을 하기 전에 조립설명서를 보지않고 하면 완성품까지 가는 시간도 오래걸리고 완성했더라도 기능이 제대로 작동할거란 보장도 없습니다. 그래서 이를 방지하기 위해 조립설명서를 보고 조립을 합니다. 코드 또한 똑같습니다. 시간도 단축하고 협업하는 개발자들끼리 디자인패턴을 얘기를 맞추고 개발을 하면 불필요한 시간을 단축시켜주고 효율적으로 개발을 할 수 있습니다.

약 23시간 전
·
0개의 댓글
·

[제로베이스 PM스쿨 18기 학습일지 #09] Ch 08. 서비스 기획 업무 :: MVP, WireFrame, Prototype, AB Test

MVP 🤔 MVP란 무엇인가 Minimum : 최소의 | Viable : 존속 가능한, 생존 가능한 | Product : 제품 ⇨ 최소 노력을 들여, 고객에 대한 최대 배움을 얻게 해주는 프로덕트 ⇨ 출시 > 측정 > 배움 > Pivot / 개선 으로 이어지는 피드백 루프를 가장 효율적으로 형성하는 방법 ⇨ 제품 출시 전, 고객의 반응을 얻고 피벗 결정 or 개선하면서 시행착오에 따른 시간과 비용 절감 >💡 피봇(Pivot)이란? 기업이 기존에 하던 비지니스 모델 또는 프로덕트의 성공 가능성이 낮다고 판단 시, 새로운 비지니스 모델로 전환하는 것 👍🏻좋은 MVP vs 👎🏻나쁜 MVP ![](https://velog.velcdn.com/images/piczo/post/04eb3904-7ba5-4

5일 전
·
0개의 댓글
·
post-thumbnail

[포스코x코딩온] KDT-Web-8 10~11주차 팀프로젝트 Do IT 총 회고

서론 8/31 일에 시작한 팀프로젝트가 오늘 9/14에 모든 작업이 끝났다. 다시 처음으로 돌아가서 2주간 진행한 이번 팀프로젝트 (4인)가 어떻게 준비하고 어떤 결과물을 만들었는지 정리해보고자 한다. 첫 회의 처음에 팀원들과 회의시, 가장 먼저 무엇을 해보고 싶은지에 대해 이야기를 해봤다. 먼저 버스 탑승객의 탑승 정류장과 하차 정류장에 대한 정보를 취합하여 어떤 승객이 언제 내릴지 공유하는 플랫폼을 생각해봤다. 이때 서울시에서 버스에 관한 API 를 제공하는 부분도 있었고 재미있는 아이디어라 생각했지만 구조가 단순할 수 있다는 피드백을 받고 다음 아이디어에 대해 논의를 했다. 최근 한달간 리액트에 관한 스터디를 진행했었는데 코딩온에서의 주 2회 블로깅과 더불어 주 2회 리액트 블로깅을 하는 것이 다소 빡빡한 계획이었던 것 같다. 그래서 추가로 북스터디도 하고 싶고 팀플도 해보고 싶은데 더 적극적으로 의견을 내기 어려운 상황에 이번 프로젝트 주제로 스터디 모집 플랫

2023년 9월 14일
·
0개의 댓글
·
post-thumbnail

9/8 TID : MVP를 만들자, 애자일하게

MVP를 만들자! MVP란 Minimum Viable Product의 약자 => 쓸 수 있는 최소한의 기능을 갖춘 제품을 만들자는 소리입니다. 지금까지는 메인페이지 만들고... 헤더 만들고... Nav 만들고... 만들어놓은거에 애니메이션도 적용해보고... 생김새도 이쁘게 꾸며보고... 하느라 프로젝트가 전혀 진행되질 않았습니다. 덕분에 일찌감치 배포도 해놓고 도메인도 사서 연결해놓았는데도 어디 공개하지를 못했습니다. 아무 내용이 없으니까요! 지금까지의 방식은 따지고 보면 워터폴입니다. 그때그때 생각나는 걸 추가하고, 수정하면서 머릿속에 있는 완성된 제품을 그대로 만들어내려고 했던 것이죠! 이대로면 아마 Framer-motion이니 테일윈드니 하는 것들을 계속 공부하고, 그때그때 생각나는 기능

2023년 9월 8일
·
0개의 댓글
·
post-thumbnail

[Android Studio] MVP에 대하여.

Android는 사실 Class 하나로 MVP의 처리가 가능한 구조로 만들 수 있지만, 코드가 1000줄과 같이 넘어간다면 가독성이 떨어지고 유지보수 하는데 힘이 든다. 이에 Business Logic을 Model, View, Presenter로 분리함으로써 명확한 업무 분담을 행하도록 하자! 이는 MVC와 다르게 UI(View)와 로직(Model)을 완전히 분리하고, 서로 간에 상호작용을 Presenter에 그 역할을 줌으로써, 서로의 영향(의존성)을 최소화한다. (모델은 뷰를 직접적으로 전혀 컨트롤하지 못하게 된다.) 더하여서 새로운 액티비티를 생성했을 때, 손쉽게 프리젠터를 그쪽으로 이식할 수 있다. MVP (Model-View-Presenter) Model

2023년 8월 15일
·
0개의 댓글
·
post-thumbnail

Android, package구조 정리를 하기 전에 앱 아키텍처 패턴을 먼저 알자

0. 개요 현재 내가 진행했던 프로젝트의 패키지 구조이다 뭔가 맘에들지 않는다. Package이름을 짓는 관례나 구조 정리해대한 좀 더 좋은 방법이 있는지 찾아보던 와중 MVVM 패턴에 관한 글을 읽게 되었고 앱 아키텍처 패턴을 아는 것이 먼저라는 생각이 들었다. 1. 아키텍처 패턴/ 디자인 패턴 아키텍처 패턴이란? 소프트웨어의 구조를 패턴화 한 것 디자인 패턴이란? 객체지향 프로그래밍을 설계할 때 자주 발생하는 문제에 대해서 피하기 위해 사용되는 패턴을 의미 아키텍처 패턴과 디자인 패턴의 차이 아키텍처 패턴은 소프트웨어 구조 자체를 패턴화한 것 디자인 패턴은 소프트웨어 구조 내에서 특정한 문제를 피하기 위해 사용되는 패턴 아키텍처패턴 > 디자인패턴

2023년 8월 15일
·
0개의 댓글
·
post-thumbnail

atomic 디자인 패턴 적용기

시작하며..   이전에 컴포넌트 UI구성에 있어서 Atomic Pattern을 도입할 것을 예고 하였습니다. Atomic패턴을 도입함으로써 장단점등 경험했던 것들을 작성하고자 합니다. Atomic패턴에 대해 궁금한 사항이 있으시면 이전 글 Atomic Pattern을 참고해주세요. 기본 컴포넌트 설계   디자인 패턴을 본격적으로 도입하기 위해서 컴포넌트 설계부터 철저하게 할 필요가 있었습니다. 저번 글에서 사용했던 Ido

2023년 8월 13일
·
1개의 댓글
·
post-thumbnail

앱스토어에서 카톡 제치고 2위 한 사이드 프로젝트가 MVP 검증한 방법

Skrr이라는 익명 투표앱 혹시 들어보신 적 있나요? 카카오톡을 제치고 앱스토어 2위를 차지하며 화제가 되었던 앱입니다. "롯데월드 같이 가고 싶은 사람", "이성으로 보인 적 있는 사람", "자신감 넘치는 멋진 사람"을 묻는 질문에 투표하고 내가 남에게 투표되면 알림을 받습니다. 나를 투표한 사람이 누군지 확인하려면 weekly 구독 상품을 결제해야 하는 서비스에요. Skrr을 만든 김현준님은 극초기 프로덕트의 MVP 검증을 위해 어떤 가설을 세워야 하는지, 어떤 데이터를 어떻게 봐야 하는지 고민이 많았다고 하는데요. 월간 데이터리안 8월 세미나에서 창업을 준비하시는 분들께 도움이 될 현준님의 경험을 공유해주실 예정입니다. Skrr의 MVP 가설검증 과정이 궁금하시다면, 데이터리안 8월 세미나를 놓치지 마세요. 이 세미나에 관심 있을 것 같은 동료, 친구, 지인이 있다면 세미나 소식을 공유해주세요 :) ✔️ **앱스토어 2위 달성한 앱 Skrr,

2023년 8월 9일
·
1개의 댓글
·
post-thumbnail

우리의 창업 도전기 - MVP 기획

서비스 소개 'IT 중견 중소 기업 추천 서비스'는 취업 준비 중인 IT 개발자들을 위한 서비스입니다. 이 서비스는 각 채용 사이트에서 제공되는 회사의 영업 이익, 매출, 코딩 테스트와 과제 유무, 그리고 기술 스택 정보를 분석하여 회사 랭킹을 제공합니다. 배경 안녕하세요! 저희 서비스는 취업 준비 중인 백엔드 개발자를 대상으로 하고 있습니다. 취업을 준비하면서 Node.js 백엔드 개발을 공부하고 있으며, 이를 활용한 채용 사이트에서 Node.js 관련 기술 스택을 가진 회사를 찾고 있었습니다. 하지만 각 채용 사이트에서 원하는 정보를 한눈에 볼 수 없어서 구글 스프레드시트에 회사 정보를 정리해두고 있었습니다. 최근 유튜버 **[양동준 Yang DongJun](https://www.youtube

2023년 7월 29일
·
0개의 댓글
·
post-thumbnail

랜딩페이지로 고객니즈 파악하기

신규서비스에 대한 개발 전 해당 아이템에 대해 어느정도의 고객들이 관심을 가지는지 확인하여 이 후 진행할지 말지 파악하기 위해 랜딩페이지를 작성하고 인스타광고 집행을 통해 작성한 린캔버스에서 타겟팅한 고객에 대해 니즈를 파악하고자 함. 1. 전체 수행 과정 아이템 검증을 위해서 수행한 과정은 아래와 같음. 1) 린캔버스 작성 : 사업아이템에 대한 구체화 2) 린캔버스에서 작성한 UVP를 기반으로 랜딩페이지, 인스타광고 이미지 제작 랜딩페이지 : Softr로 제작 (https://quantstudio.softr.app/) 인스타광고 이미지 제작 : Canva 3) 인스타그램에 홍보물 게시 후 린캔버스에서 작성한 타겟 고객군에 광고 집행 2. 가설검정 > 가설 : 약간

2023년 7월 24일
·
1개의 댓글
·

MVP 을 통해 Firebase Realtime Database을 구현해 보자

MVP 패턴이란? Model View Presenter 패턴을 줄여 말해 MVP 패턴이라고 합니다. MVC 패턴에서 Model 와 View의 의존성이 높아 유지보수가 어렵다는 단점을 보완하여 만든것이 MVP 패턴입니다. 아래에 이해를 돕기 위해 이미지를 첨부하겠습니다. 구현 시작 일단 시작전 전 Android 앱 개발자 임으로 아래를 사용했습니다. Firebase Real Time Database language : Kotlin IDE : Android Studio 이정도 입니다. 그럼 가봅시다 사용 라이브러리 위에서 부터 설명하자면 Timber : Logcat 을 쉽게 보기 위한 라이브러리 Layout : 주로 동적 Layout을

2023년 7월 19일
·
0개의 댓글
·
post-thumbnail

MVP 패턴을 알아보자

MVP 란? MVP 란 MVC 에서 단점을 보완 한 디자인 패턴 입니다. 약간 Presneter 가 MVVM 에서 ViewModel 같은 부분이군요 참고하게 이미지를 넣겠습니다. MVC 의 단점 은 ? View 을 만들면 대응되는 Controller 을 만들어야 한다 View 가 수정되면 Controller 을 수정해야한다 즉 MVC 에서 VIEW가 의존성이 높다 음... 그렇군요 그럼 그걸 보완한 MVP의 장점은 무엇인가? 그래서 MVP 의 장점은 무엇인가? 사용자의 Action들을 view를 통해 들어온다 테스트 코드에 작성하기 쉽다 MVC 에서 는 VIEW와 결합도가 높아 테스트 코드를 만들기는 어렵지만 Presenter

2023년 7월 18일
·
0개의 댓글
·

디자인패턴

디자인 패턴 사용자를 통해 데이터를 입력받거나 DB로 부터 가져온 데이터를 출력해서 확인하는 등 다양한 UI 컨트롤을 통해 사용자와 상호작용하는 것을 UI 또는 UX라고 한다. UI 개발을 보다 효율적으로 만들 수 있게 그리고 UI를 개발할 때 발생할 수 있는 문제점을 해결하기 위해 UI 설계 방법을 구성한 것을 UI 설계 패턴이라고 한다. 대표적인 디자인 패턴에는 MVC, MVP, MVVM이 있다. MVC MVC패턴은 Controller가 View와 Model 사이에서 중재자 역학을 하여 유저와 상호작용은 물론 모델 데이터도 처리한다 Model 어플리케이션에서 사용하는 데이터와 데이터 처리부 View 사용자 인터페이스로 화면에 대한 직접적인 접근을 담당 Controller 사용자 입력처리 및 모델 변화를 감지하여 화면 갱신 특징 Controller는 여러개의 View를 선택할 수 있는 1:N 구조. Controller는 Vi

2023년 7월 7일
·
0개의 댓글
·

Android Patterns(MVC, MVP, MVVM, MVI)

들어가면서 Android Pattern 에 대한 이야기는 정말 많이 나오는 주제입니다. 저 역시, Pattern 없이 업무를 진행한 적도 있고, 패턴을 하나씩 적용해본 경험도 있습니다. 패턴을 써보니 확실히 좋아서 패턴이 우리 곁에 자리잡게 되었을거에요. 사실 어떤 패턴을 적용하든, 적용하지 않든 결과물은 만들 수 있습니다. 우리가 흔히 클린 아키텍처, 패턴, 클린코드를 중요하게 생각하는 이유는 바로 생산성 때문이죠. 패턴은 결국 생산성을 높이기 위한 고민의 결과라고 볼 수 있어요. 생산성이 높다는 것은 많은 의미를 내포합니다. 유지보수가 수월하고, 신규 기능 추가도 편하고, 가독성도 좋겠죠. 패턴은 의존성에 대해 고민하며, 우리가 실수할 가능성을 줄여주는 방향으로 진화해왔습니다. 의존성이 복잡하면, 우리는 개발을 하면서 우리 뇌 속에 많은 것들을 올려두고 생각해야합니다. 컴퓨터로 비유하면, 메모리에 이것저것 다 올려놓아야하는거죠. 의존성을 줄인다는 것은 결국 우리

2023년 7월 4일
·
0개의 댓글
·
post-thumbnail

스타트업 병특 개발자의 삶 (3)

"3... 2... 1... Going Nuclear!" 위 문구는 우리 회사의 일부 제품들이 겪던 네트워크 연결성 문제를 해결하는데 톡톡한 역할을 한 펌웨어 기능인 "Nuclear Reboot"에서 출력되는 로그이다. 핵무기 폭격을 받은 땅에서는 모든 것이 다시 새로 시작되어야 하듯, 문제를 해결하는 가장 원시적이면서도 효과적인 방법인 "재부팅"을 적용한다는 것을 은유한 작명이다. 이 재치있는 개발자식 유머는 내가 훈련소를 다녀온 뒤 입사한 주니어 펌웨어 개발자 피터(가명)의 작품이다. 이것은 공교롭게도 앞으로 벌어지는 일에 대한 복선이 된다. ☄️폭격 2020년 3월 말. 내가 병특으로 회사를 들어오고, 일련의 [사건을](http

2023년 5월 31일
·
10개의 댓글
·

(번역)MVP로 안드로이드 페이지네이션하기

원문: https://efebu.medium.com/android-pagination-with-mvp-79c38bc1568e 이 글은 위 글을 번역/요약한 글로, 모든 저작권은 원문의 저자인 efe budak에게 있습니다. 안드로이드 앱에서 페이지네이션은 흔히 사용됩니다. MVP 패턴에서 페이지네이션을 구현한 간단한 예시를 보여드리겠습니다. Page State "현재 페이지"를 추적하려면 프레젠터에 currentPage 변수가 필요합니다. 어떤 호출이 만들어질지, 혹은 호출이 필요한지 이해하기 위해서는 이 작은 Int형 변수를 가지는 것이 중요합니다. 뷰는 몇 페이지를 보여주고 있는지 알 필요가 없고 알아서도 안됩니다. 그러나 뷰는 "새로고침 버튼이 클릭되었다." 혹은 "사용자가 페이지의

2023년 5월 14일
·
0개의 댓글
·
post-thumbnail

[PM] PMF란? MVP와의 관계, 성공사례

PMF는 Product-Market Fit의 약자로 제품과 시장이 부합한 상태를 의미 한다. 앞서 MVP(Minimum Viable Product) 최소 기능 제품 글을 썼는데 MVP와 PMF는 스타트업에서 많이 사용되며 MVP가 가설을 검증하기 위한 것이라면 PMF는 MVP를 통해 찾아야하는 제품 시장 적합성이다. PMF란? PMF는 제품 시장 적합성이란 뜻으로 PMF를 찾아가는 과정은 MVP를 출시한 후 시장의 반응을 통해 제품과 서비스의 핵심 가치가 시장에서 작동하는지 검증할 수 있다. 또 고객이 정말 필요로 하는 것, 원하는 것 등 다양한 아이디어와 개선점을 추가로 얻을 수 있다. 즉, MVP를 통해 핵심 가설을 검증한 뒤 검증된 방향성으로 시장을 공략하여 고객 반응을 확인해나가는 단계가 바

2023년 5월 13일
·
0개의 댓글
·
post-thumbnail

[PM] MVP란? 장점과 성공사례, 프로토타입과 차이점

MVP란? MVP는 애자일과 린 스타트업 방법론에서 자주 등장하는 단어로 Minimum Viable Product: MVP 최소한의 기능을 구현한 제품을 의미한다. 최소 기능이란 고객이 꼭 필요로 하는 기능들을 의미하고 MVP를 통해 고객에게 필요한 기능을 빠르게 제공함과 동시에 고객으로부터 피드백을 받을 수 있다. MVP로 사업을 시작하면 시간과 비용을 아낄 수 있다. 왜냐하면 완전한 제품을 처음부터 만드는게 아니라 핵심 기능만 구현해서 만든 후 피드백 받고 점점 발전시켜 나갈 수 있기 때문! MVP 장점 경쟁 우위로 이어지는 조기 시장 진입 초기 사용자 피드백: 제품이 문제를 효율적으로 해결하는지 여부 확인을 위해 실제 사용자와 조기 테스트 가능 사용자 피드백을 통해 본격

2023년 5월 12일
·
0개의 댓글
·

[안드로이드] MVP 패턴

서론 이번에 새로 배우게 된 패턴. 너무 어렵지만 미션을 할 시간이 없어서 제대로 공부하지 못한 채 감에만 의존한 상태로 미션을 진행했다. 이제 미션이 끝나고 프롤로그도 작성해야하니 mvp를 정리해보자 디자인 패턴 먼저 이런 MVC, MVP는 뭘까. 우리는 이를 디자인 패턴(=아키텍처 패턴)이라고 한다. 디자인 패턴을 적용하는 이유는? 개발자의 업무의 대다수는 본래 있는 코드를 유지 보수하는 것이다. 그러기 위해서는 많은 사람들이 읽기 편하고 고치기 편한 코드를 작성할 줄 알아야 한다. 이때 필요한 것이 아키텍처이다. > 소프트웨어 아키텍처란 소프트웨어의 구성요소들 사이에서 유기적 관계를 표현하고 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙이다. (위키피디아) 아키텍처란 간단하게 설계할 때 각 구성 요소들을 배치하는 구조를 말한다. 아키텍처의 기본은 분리와 독립이다. 기능을 추가하거나 수정 혹은 제거한다고 해서 다른 요소들에 영향을 주

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

5/2 수업

MVP MVC 많은 기능들을 추가하다보면 Activity에 몰아넣게 됨. 단점!! 이걸 개선하기 위한게 MVP 패턴 MVP view와 model 분리 model은 변경사항이 없음(mvc에서 썼던 모델이랑 같음) view는 어떤 처리를 해야 하는지 등에 대해 최대한 아는 것이 없어야 함 Presenter은 Model과 상호작용하고 View에 UI 갱신을 요청함(요청!!!!! 직접 갱신 X) MVC to MVP model은 그대로 쓸 수 있음 View와 Presenter

2023년 5월 2일
·
0개의 댓글
·