이번 현장실습을 진행하면서, 아래와 같은 기능을 구현 했어야했다.필터링을 진행하는 버튼을 생성해야 했다.생성되는 버튼이 화면 디바이스의 width를 넘기지 않으면 1줄만으로 필터 버튼 영역을 구성,만약 디바이스 width를 넘긴다면 2줄로 만들어줘야 하는 필터 버튼 영역을 만들어야 했다. 내가 설정한 로직은 아래와 같다.UIStackView로 구성을 한다.currentRow가로 한줄을 추가해줄 때 사용하기 위한 UIStackViewmainStackView전체 필터 버튼의 영역을 관리하는 UIStackView 코드 구성은 아래와 같다.특이사항refreshControl은 테스트 편하게 해보려고 넣었다.UIApplication Extension도 기존 레퍼런스를 참고했다.Button 설정은 configur..
이번 글에서는 프로젝트를 진행하며, 제가 경험했던 내용에 대해 작성할 예정입니다.처음 프로젝트를 하며 다양한 상황을 경험해보고 있습니다.이 중에서 이번 2주차 때 가장 인상 깊었던 내용에 대해 공유해보고자 합니다.목차MVVM 패턴을 도입하며나의 첫 PR리팩토링 과정을 경험해보며이 글의 목차는 위 3가지와 같습니다.첫 번째 글에서는 프로젝트에서 도입할 아키텍처를 설정하는 과정에 대해 리마인드 겸, 정리를 해보려고 합니다.두 번째 글에서는 제가 맡은 Task에 대해 첫 PR을 올리고, 어떤 피드백들을 받았는지에 대해 정리할 예정입니다.마지막으로는 리팩토링 과정을 통해 어떻게 변했는지, 어떤 장점을 얻게 되었는지에 대해 서술할 예정입니다. MVVM 패턴을 도입하며프로젝트 하임은 클린 아키텍처를 기반으로 하고,..
오늘은 프로젝트에서 데이터 바인딩을 설계하는 과정에서, 아래와 같은 항목에 대해 정리해볼 예정입니다.데이터 바인딩이란?단방향 데이터 바인딩양방향 데이터 바인딩현재 프로젝트에서는 무엇을 적용하게 되었는 지데이터 바인딩?데이터 바인딩 개요 - WPF .NET 데이터 바인딩 개요 - WPF .NET.NET용 Windows Presentation Foundation의 데이터 바인딩에 대해 알아봅니다. 데이터를 UI 요소에 바인딩하여 동적 앱을 만들 수 있습니다.learn.microsoft.com 데이터 바인딩이란 앱 UI와 해당 UI가 표시하는 데이터를 연결하는 프로세스입니다.우리가 앱의 사용자가 된다고 생각을 해보겠습니다.어떠한 인터렉션을 주게 되면 그에 대한 화면 변화가 일어날 상황이 있습니다.이렇듯 데이터..
네이버 부스트캠프 인터미션 기간 동안 공부해보면서 알게 된 내용에 대해 정리하고자 한다. 사실 이전까지 Model에 대해 깊게 생각해본 적이 없었다.그저 Model은 내가 사용하는 데이터의 형태를 의미하고, 심지어 ViewModel에서 비즈니스 로직을 다루는 것으로 잘못 알고 있었다. 이에 대한 오류를 바로 잡기 위해 MVVM에 대해 공부를 해보고자 한다.MVVM이란?MVVM이란 Model-View-ViewModel의 약자로, 프로그램의 Business 로직과 Presentation 로직을 분리하는 디자인 패턴이다.MVC 패턴의 Massive ViewController와 같은 문제를 해결할 수 있다.ModelMVVM에서 Model은 데이터를 다루는 부분과 비즈니스 로직을 포함한다.Model은 앱의 데..
개요네이버 부스트캠프 마스터 클래스, 미션을 수행하는 과정에서 아키텍처에 관한 이야기를 많이 접하게 되었다.기능 구현에만 급급하던 상황을 보냈다.다시 한 번 SOLID 원칙을 점검하며 리팩토링을 하는 과정을 수행하는 과정에서아키텍처에 대해서도 공부를 한 뒤, 적용해보고 싶다는 생각을 하게 되었다.당장 미션을 위한 것이라면 기능만 돌아가도록 하면 된다.그치만, 지식을 적립하는 과정이 더욱 중요하다는 생각을 하게 된 것 같다.이럴려고 네부캠 신청한 거 아니겠어?!우선, 처음 접한 지식과 이를 적용하려는 과정에서 제가 이해한 바를 나타낸 것이기 때문에, 오류나 피드백이 있다면 언제나 환영입니다 :) 소프트웨어 아키텍처?최근들어 주위에서 아키텍처란 말을 많이 듣게 된 것 같다.이는 무엇을 나타내는 걸까?소프트..
MVC…MVC!!!이전 UIKit을 처음 입문할 때, ViewController라는 것을 처음 접하게 되었다.이후, UIKit 프레임워크를 계속 사용하면서 MVC를 지향하며 설계 되었다는 것을 알기만 했지, 정작 내가 구성하고 있는 코드가 MVC 패턴을 만족하는 지?위 사항에 대한 고민을 계속 하게 되었다.오늘은 MVC에 대해 알아보면서, 현재 내가 작성한 코드가 MVC를 만족하는 지 알아보려고 한다.서칭을 통해 알게 된 부분에 저의 생각을 녹여내는 과정에서, 오류가 있을 수도 있습니다.틀린, 혹은 의아한 부분이 있다면 언제든지 질문 환영입니다.MVC란?익히 들어봐서 알 수도 있다.Model - View - Controller 패턴의 줄임말이다.Model, View, Controller 각 계층은 자신들..
스터디 그룹원 분들과 이야기를 하는 도중에 나온 주제에 대한 고찰을 진행해보고자 한다.문제 상황우선 문제 상황은 아래와 같다.추상화를 해놓고 다시 구체화? 이게 뭔가 이상하다. 프로토콜(혹은 상속으로)로 특정 객체가 프로토콜을 채택하게 하는 목적이 뭔가?달리 해석하면, 추상화를 왜 하는 걸까?아래의 원인이 가장 클 것 같다.코드의 간결성타입 안정성확장성 위와 같은 기대효과 때문에 우리는 객체 간 의존성이 생기는 경우에도 인터페이스를 통해→ 이를 달성하기 위해서 추상화를 통해 런타임 의존성을 가지도록 한다. “개방 폐쇠 원칙을 준수하도록 의존성 전이를 최소화” 하려고 노력한다. 그런데..! 막상 다른 곳에서 타입을 통한 분기처리 등, 여러가지 상황에서 우리는 타입캐스팅을 통해 해당 객체가 어떤 구체 타..
시작하기 전..구글링 + 여러 포스팅을 통해 작성된 내용을 저만의 방식으로 해석한 것이라 틀린 부분이 있을 수도 있습니다.언제든 댓글로 의견, 조언 환영입니다~!지난 시간에..의존성 주입의 정의를 이야기하며프로그램 디자인이 결합도를 느슨하게 되도록하고 의존관계 역전 원칙과 단일 책임 원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로부터 분리하는 것 이를 4가지로 분리해서 보는 것으로 글을 마무리 했었다.정리하자면결합도를 느슨하게 되도록의존관계 역전 원칙단일 책임 원칙클라이언트의 생성에 대한 의존성을클라이언트의 행위로부터 분리하는 것. 이것이 의존성 주입의 메인 키워드였다.Intro오늘 알아볼 내용은 아래와 같다.의존관계 역전 원칙?단일 책임 원칙?의존성 주입에 대한 방법?위 3가지에 ..
의존성?INtro...네이버 부스트캠프 그룹분들이랑 이야기를 하는 과정에서의존성 주입과 관련된 이야기가 나왔다. 사실 개발을 깊이 공부해본 적도 없고, 컴퓨터공학과를 다니면서 많은 수업을 들은 것도 아니었기 때문에, 무슨 말이지? 라는 생각만 하게 된 것 같다. 의존성이란 말은 객체지향에 대해 입문을 하게 되면서 반드시 듣는 용어인 것 같다. 네부캠 수업에서도 그렇고, 그룹원들의 지식에 따라가보기 위해 이에 대한 내용을 학습해보고자 한다..!시작하기 앞서..공부하는 과정에서 작성하는 글이라 두서 없이, 진행될 수도 있습니다.추가로 예시는 맨시티에 관련된 것이 많을 수 있습니다…🌐의존성 주입은 객체에 인스턴스 변수를 주는 것을 의미합니다. 정말입니다. 그게 전부입니다. - 제임스 쇼어 의존성?우선 의존성..
Test Code? 테스트에 대해서 먼저 알아보도록 하자.소프트웨어 테스트란 무엇인가요? | IBM 소프트웨어 테스트란 무엇인가요? | IBM소프트웨어 테스트는 소프트웨어 제품이나 애플리케이션이 올바르게 작동하고 있는지 평가하고 검증하는 프로세스입니다.www.ibm.com 소프트웨어 개발 테스트 소프트웨어 개발 테스트소프트웨어 개발 단계 중 하나인 테스트에 대해 알아보자.velog.io [위의 2개의 사이트를 참고하였다]우선 소프트웨어 테스트란 뭘까?→ 역시 개발자는 귀찮은 거는 못 참는 거 같다. 소프트웨어 테스트는 소프트웨어 제품이나 애플리케이션이 올바르게 작동하고 있는지 평가하고 검증하는 프로세스입니다. 잘 수행된 테스트는 버그 방지와 성능 개선 등의 이점을 제공합니다.음… 그러면 “평가, 검..