네이버 부스트캠프 iOS 트랙이 드디어 끝이 났다.이전 프로젝트가 끝난 후에는 뭐를 해볼까? 라는 생각을 많이 했었다. 그래서 내린 결론은, iOS 로드맵을 따라 부스트캠프에서 배웠던 내용을 리마인드 해보는 게 어떨까? 였다.어떻게 Remind를 할까?내가 내린 결론은, “그룹프로젝트를 하면서 경험했던 것들을 부스트캠프 학습 스프린트와 접목시키자” 였다. 예를 들면첫번째 학습 스프린트 때는 아래와 같은 내용을 배웠다.버전관리와 PR 절차리모트 Origin 저장소를 fork 한 후, 로컬에서 작업을 진행한 후 Pull Request 보내는 것 현재 그룹프로젝트에서는 fork 를 통한 Task 분리가 아닌, branch로 진행을 했지만,이를 그룹 프로젝트에서 적용하면 어떻게 할 수 있을까? 뷰 컨트롤러 라..
ios

이번 글에서는 프로젝트를 진행하며, 제가 경험했던 내용에 대해 작성할 예정입니다.처음 프로젝트를 하며 다양한 상황을 경험해보고 있습니다.이 중에서 이번 2주차 때 가장 인상 깊었던 내용에 대해 공유해보고자 합니다.목차MVVM 패턴을 도입하며나의 첫 PR리팩토링 과정을 경험해보며이 글의 목차는 위 3가지와 같습니다.첫 번째 글에서는 프로젝트에서 도입할 아키텍처를 설정하는 과정에 대해 리마인드 겸, 정리를 해보려고 합니다.두 번째 글에서는 제가 맡은 Task에 대해 첫 PR을 올리고, 어떤 피드백들을 받았는지에 대해 정리할 예정입니다.마지막으로는 리팩토링 과정을 통해 어떻게 변했는지, 어떤 장점을 얻게 되었는지에 대해 서술할 예정입니다. MVVM 패턴을 도입하며프로젝트 하임은 클린 아키텍처를 기반으로 하고,..

오늘은 학습 스프린트 마지막 주에 앞서 이전까지의 과정에 대한 회고를 진행해 볼 예정이다.[F인 마음으로 글을 작성하다 보니, 두서없이 글이 진행될 수도 있습니다] 2학기를 휴학하게 되며3학년 1학기 재학 중, 기말고사 기간이었다. 기말고사를 1주일 정도 앞둔 시점이었다.‘네이버 부스트캠프’ 모집글을 인스타그램에서 보게 되었다.(이전 Swift를 처음 공부할 때, iOS에 대해 전문적으로 (무료로) 배울 수 있는 곳은 ‘네이버 부스트캠프’, ‘새싹’이었다.) 모집글을 보다 보니, Swift로 2차 코딩 테스트를 봐야 한다는 내용이 적혀있었다.해당 내용을 보고 그냥 지원하지 말까?라는 생각을 처음에 했었던 것 같다. Swift 언어를 배우고 적용해 본 지 얼마 되지도 않았고, 3학년 2학기 때 휴학을 하는..

개요네이버 부스트캠프 마스터 클래스, 미션을 수행하는 과정에서 아키텍처에 관한 이야기를 많이 접하게 되었다.기능 구현에만 급급하던 상황을 보냈다.다시 한 번 SOLID 원칙을 점검하며 리팩토링을 하는 과정을 수행하는 과정에서아키텍처에 대해서도 공부를 한 뒤, 적용해보고 싶다는 생각을 하게 되었다.당장 미션을 위한 것이라면 기능만 돌아가도록 하면 된다.그치만, 지식을 적립하는 과정이 더욱 중요하다는 생각을 하게 된 것 같다.이럴려고 네부캠 신청한 거 아니겠어?!우선, 처음 접한 지식과 이를 적용하려는 과정에서 제가 이해한 바를 나타낸 것이기 때문에, 오류나 피드백이 있다면 언제나 환영입니다 :) 소프트웨어 아키텍처?최근들어 주위에서 아키텍처란 말을 많이 듣게 된 것 같다.이는 무엇을 나타내는 걸까?소프트..

날짜: 2024년 8월 22일태그: delegate, iOS 이와 같은 텍스트필드가 존재하는 View가 있다.해당 텍스트필드는 해당 뷰컨트롤러(뷰)와는 분리된 또다른 객체이다.유저와 직접적인 커뮤니케이션을 하는 부분으로내부에서 키보드가 동작하며, 키보드는 OS의 관리 영역이다.사용자가 어떠한 동작을 한 뒤에, 동작을 다시 뷰컨트롤러에 전달하는 커뮤니케이션 과정이 일어난다. 동작의 형태로는 디테일하게 여러가지가 존재한다.etc: 입력 시작, 종료, 변경 .. 등등이와 별개로 버튼의 경우(추천, blue, red…)는 IBAction을 통해 뷰컨트롤러와 직접적인 커뮤니케이션이 가능하다. 즉, 정리해보면텍스트필드는 유저와 커뮤니케이션을 따로 해준 뒤에뷰컨트롤러에 동작을 전달해준다.그러면 어떻게 코드로..

ViewController날짜: 2024년 8월 21일태그: Swift, UIKit, iOS앱의 생명주기?어떤 앱을 실행 중일 때 전화가 오는 상황을 가정해보자.원래 실행 중이던 앱은..?잠깐 비활성화 상태로게임 중이던 모든 데이터는?저장이 안되서 날아갈 수도 있음앱의 실행(메모리에 올라감)부터 앱이 백그라운드로 / 앱의 종료까지를 포괄적으로 표현하는 개념앱의 실행이 시작되서, 앱이 종료(메모리에서 내려감)되기까지의 주기가 존재[그래서 왜 알아야 함?](상태 변화의) 해당 시점에 호출되는 함수들이 있음예시 ) 앱이 실행중이다가, 다른 앱으로 전환되는 시점에 (특정) 함수가 호출됨게임 데이터 유지… etc 여러 상황에 사용 가능ViewController의 생명주기뷰 컨트롤러에도 생명주기가 존재왜 필요할까?..

드디어 여름방학 동안 달렸던 부스트캠프 웹・모바일 9기 챌린지 과정이 모두 마무리 되었습니다. https://boostcamp.connect.or.kr/ 부스트캠프개발자의 지속 가능한 성장을 위한 학습 커뮤니티boostcamp.connect.or.kr 부스트캠프는 베이직 - 챌린지 - 멤버십 과정으로 이어져있습니다.. 비록 챌린지 과정에 대한 글을 적을 거지만... 부스트 캠프를 어떻게 알게 되었고, 챌린지 과정 전, 후의 마음가짐 변화에 대해 적어보자 합니다.. 간단히 저에 대해 소개를 좀 적자면..! S025, 너는 누구니? 우선 저는 컴퓨터공학부 3학년 학생입니다. 컴퓨터공학부에 들어오게 된 건... (재수 후) 20학번으로 입학 할 때 IT 업계 붐이 일어나기도 했었고.. 가족 중에 칼취업(..?..
About Closure 오늘은 클로저에 대해 알아보도록 하자. 미리보기 클로저 형태 왜 클로저를 사용하지? 여러가지 문법 아래는 나중에 다룰 예정 클로저의 메모리구조 @escaping, @autoclosure 키워드 캡처현상, 캡처리스트 사용 예시 우선 클로저란 무엇일까? 클로저 (Closures) | Swift 클로저 (Closures) | Swift 명명된 함수 생성없이 실행되는 코드 그룹입니다. 클로저 (Closures) 는 코드에서 주변에 전달과 사용할 수 있는 자체 포함된 기능 블럭입니다. Swift의 클로저는 다른 프로그래밍 언어에서 클로저, bbiguduk.gitbook.io 해당 글에 따르면 클로저는 ‘코드에서 주변에 전달과 사용할 수 있는 자체 포함된 기능 블럭’이다. 본격적으로 들어가..

About Class, Struct 미리보기 구조체 클래스 구조체와 클래스의 차이 무엇을 선택해야 하는가? 우선 내용을 정리하기에 앞서, 아래와 같은 사실을 꼭 알아두자 하나의 프로세스 내 존재하는 메모리 모델은 아래와 같다. 코드, 데이터, 힙, 스택은 꼭 기억하자. 또한, 클래스와 구조체는 ‘객체 지향 프로그래밍’ 패러다임을 연 녀석들이다. 흔히 사용하는 비유로 클래스, 구조체는 ‘붕어빵 틀’을 만들어 낸 것과 같다. → 인스턴스를 찍어냈다. 라는 말로도 사용 💡 인스턴스 → 실제로 메모리에 할당되어 구체적 실체를 갖춘 것 (스위프트에서는 클래스의 instance를 특별히 객체(object)라고 부름) 클래스 [클래스의 특징은 다음과 같다] reference type 데이터 영역에 (클래스)틀이 저장..