본문 바로가기

분류 전체보기18

README와 .gitignore파일 생성 및 설정 Git으로 버전 관리를 할 때 반드시 마주하게 되는 두 파일이 있다. 바로 README.md 와 .gitignore 파일이다. 이 두 파일은 나중에 프로젝트가 커지거나 협업을 하게 되었을 때 정말 중요한 역할을 하게 된다. 로컬의 Finder 에서 파일들을 생성해도 되지만, 이번 포스팅에서는 GitHub를 이용하여 이 두 파일을 생성하고 Pull 하는 방식으로 진행 한다. README는 프로젝트의 얼굴이다GitHub에 프로젝트를 올렸을 때 처음 보이는 것이 바로 이 README.md 파일이다. 말 그대로 "이 프로젝트를 읽어주세요(READ ME)"라는 의미를 가지고 있고, 프로젝트에 대한 소개, 사용법, 설치법, 기여방법 등을 담는다.GitHub 원격저장소에서 Add a README 버튼을 누름으로써 생.. 2025. 6. 29.
Git Branch 생성과 병합 등 관리방법 (Stash, Merge) Git 관련된 모든 포스팅을 하는 동안 main 브랜치만 다루어 왔다. Git은 결국 협업을 하거나 혼자 개발한다고 해도 기능별로 구분이 필요하기 때문에 브랜치 전략을 세우는 것은 중요 하다고 생각 한다. 운영/개발/기능용 코드 역할에 따라 브랜치를 나누기도 하고, 협업중 충돌이 예상되면 브랜치를 나누기도 하겠지만 나는 혼자 개발을 진행한다는 관점으로 '기능별'로 분리 하려고 한다.Xcode에서 현재 상태를 확인해 보면 'main' 브랜치만 존재 한다. main 브랜치의 우측 점3개 버튼을 눌러서 New Branch form "main"으로 새로운 브런치를 만들 수도 있고,Repositories 탭에서 main 브랜치를 우클릭 해서 새로운 브랜치를 만들 수도 있다.지금 부터는 로그인 및 로그아웃 등 사용.. 2025. 6. 28.
Xcode에서 Push와Pull Git에서 Push와 Pull은 로컬에서 원격저장소와 소통하는 방법이다. Push는 로컬에서 내가 만든 변경사항을 원격 저장소로 전송하는 개념이고, Pull은 원격 저장소에 있는 변경사항을 내 로콜로 가져오는 개념이다. 때문에 Xcode에서 원격저장소(ex:GitHub)를 설정하고 Git으로 버전 관리를 시작 했다면 커밋과 함께 가장 먼저 마추지는 기능들이다. 지난 포스팅(Xcode에서 소스코드 커밋하기)에서 원격저장소인 GitHub를 다루지 않고, 로컬 상태에서 2개의 커밋(변경사항)을 만들었었다. Xcode에서 소스코드 커밋하기커밋 이란?커밋(Commit) 이란, 내가 작성한 코드의 스냅샷을 저장하는 행위이다. Git은 내가 수정한 내용을 추적하고, 커밋이라는 단위를 기준으로 "어느 시점에, 누가, .. 2025. 6. 28.
Xcode에서 소스코드 커밋하기 커밋 이란?커밋(Commit) 이란, 내가 작성한 코드의 스냅샷을 저장하는 행위이다. Git은 내가 수정한 내용을 추적하고, 커밋이라는 단위를 기준으로 "어느 시점에, 누가, 무엇을 어떻게 바꿨는지"를 기록해준다. 그 기록은 과거로 되돌아가거나, 다른 사람과 협업할 때 무척 유용하다. 지난 포스팅에서 프로젝트 생성 직후 원격저장소를 생성하며 코드 수정은 없었다. Xcode에서 GitHub원격저장소 만들기Xcode를 실행해 보면, 아래 그림과 같이 로컬에서 새로운 프로젝트를 만들 것인지 (Create New Project) 원격 저장소에 있는 프로젝트를 복재해와서 진행 할 것인지 (Clone Git Repository) 의 갈림길이 처음johjo.tistory.com 이제 로컬PC에서 소스코드를 수정하고 .. 2025. 6. 28.
Xcode에서 GitHub원격저장소 만들기 Xcode를 실행해 보면, 아래 그림과 같이 로컬에서 새로운 프로젝트를 만들 것인지 (Create New Project) 원격 저장소에 있는 프로젝트를 복재해와서 진행 할 것인지 (Clone Git Repository) 의 갈림길이 처음 놓이게 된다.이번 포스팅에서는 Xcode로 새로운 프로젝트를 만들어, 이전 포스팅에서 설정한 GitHub 계정정보를 이용하여 origin을 설정 하고, 실제 GitHub에 원격저장소(Remote Repository)를 생성 한다. GitHub계정 Xcode설정 방법앞으로 프로젝트의 Git 및 버전 제어를 호스팅하기 위해 Github를 사용할 것이다. Github는 간단하게 말하면, 소스코드를 저장하고 버전을 관리하는 웹 기반 플랫폼이다. '코드의 타임머신'이라고 부joh.. 2025. 6. 27.
GitHub계정 Xcode설정 방법 앞으로 프로젝트의 Git 및 버전 제어를 호스팅하기 위해 Github를 사용할 것이다. Github는 간단하게 말하면, 소스코드를 저장하고 버전을 관리하는 웹 기반 플랫폼이다. '코드의 타임머신'이라고 부르기도 한다. 언제 어떤 코드가 어떻게 바뀌었는지, 누가 바꿨는지, 왜 바꿨는지를 기록하고, 필요할 땐 언제든 돌아갈 수 있다. 또한 혼자 쓰는 것에 그치지 않고, 협업할 때도 강력하다. PR(Pull Request), Issue, Review, Action 등 다양한 협업 도구들이 준비되어 있기 때문이다. 혹 Git과 Github를 같다고 생각 할 수 있는데 이 둘은 완전히 다르면서도 서로를 보완하는 관계다. 쉽게 정리하면 아래 표와 같다.구분GitGitHub정체로컬에서 사용하는 버전 관리 도구인터넷 .. 2025. 6. 27.
변수와 상수, 언제 무엇을 쓸까? Swift를 처음 배울 때 가장 먼저 만나는 문법 중 하나는 바로 변수(var) 와 상수(let) 이다. 스위프트의 공식 문서를 확인해 보아도 좌측 최상단 메뉴의 A Swift Tour 와 The Basics 메뉴에서는 이 변수(var)와 상수(let)로 시작 한다.✅ var 키워드의 의미와 어원var는 variable의 줄임말이다.영어로 variable은 "변할 수 있는 것, 변수" 라는 뜻이다. 프로그래밍 전통에서 var는 C계열 언어나 JavaScript 등에서도 변할 수 있는 값을 선언할 때 흔히 쓰는 키워드이다. Swift도 이 익숙한 전통을 이어받아, 값이 바뀔 수 있는 저장소를 var로 선언하도록 한 것이다.✅ let 키워드의 의미와 어원let은 "let x equal 5"처럼 수학적인 표현.. 2025. 6. 27.
스위프트를 시작하기 전 알아야 할 것들 스위프트(Swift)를 처음 시작했던 시점을 떠올려 보면, 그냥 막연하게 "나도 앱 한번 만들어볼까?" 라는 마음이 먼저였다. iOS앱을 만들려면 Swift를 배워야 한다는 말은 여러 곳에서 들었고, Swift가 초보자에게 좋다는 이야기도 심심치 않게 들렸다. 그런데 이상했다. 막상 Xcode를 열어 보니 머리가 하얘졌다. 파일은 뭐가 이렇게 많고, 버튼 하나 띄우는데도 .state가 어쩌고, 옵셔널이니 뷰모델이니... 지나고보니 문법보다 중요한 것들이 있다. 그래서 이 글을 쓴다. 이건 Swift를 어떻게 쓰는지에 대한 글이 아니다. Swift를 왜 쓰는지, 시작하려면 어떤 마음가짐이 필요한지, 그걸 알려주는 글이다. Swift를 선택한 이유솔직히, Swift가 좋아서 시작한 건 아니다. (I Love.. 2025. 6. 27.
iOS 개발을 시작하려면 꼭 알아야 할 것들 나도 앱을 만들 수 있을까?나는 원래 앱 개발자가 아니었다. Swift도 몰랐고, Xcode는 실행해 보긴 했지만, 프로젝트를 완성해 본적이 없었다. 하지만 어느 날 문득, "내가 직접 쓰고 싶은 앱을 만들어볼 수는 없을까?" 라는 생각이 들었다. 마트에서 식재료를 사놓고는 소비기한(유통기한)이 지나서 버리는 일이 반복되면서 "언제까지 이렇게 살 거야?" 라는 반성이 들었고, 소비기한(유통기한) 관리앱을 만들기로 결심했다. 그게 지금 나의 첫 앱이 된 세이브푸드(SaveFood)의 시작이었다. 세이브푸드 iOS앱 드디어 출시지난 몇 달간의 치열한 개발 여정이 드디어 결실을 맺었다. 2025년 6월, 직접 기획하고 개발한 iOS앱 세이브푸드(SaveFood)가 애플의 심사를 통과하고 앱스토어에 정식 출시 .. 2025. 6. 27.
스위프트유아이(SwiftUI)란 무엇인가? 2019년, 애플은 WWDC 키노트에서 새로운 UI 프레임워크 하나를 세상에 공개한다. 그 이름은 SwiftUI. 지금도 WWDC 2019 하이라이트 웹페이지를 방문해 보면, "조쉬 섀퍼 (Josh Shaffer)가 SwiftUI로 개발자들이 모든 Apple 플랫폼에서 네이티브 앱을 쉽게 구축할 수 있는 방법을 소개하고 있다"고 안내한다. 당시 개발자들 사이에선 설레임과 걱정이 공존했다. SwiftUI는 UIKit을 대체할 수 있는 '선언형UI'를 지향했다. 즉, 더 이상 화면을 구성하기 위해 수많은 코드와 인터페이스 빌더(스토리보드)를 넘나들지 않아도 되는, 새로운 방식의 UI 선언 언어를 제시한 것이다. 이 선언형 UI의 흐름은 이미 웹에선 React, Flutter, Jetpack Compose 같.. 2025. 6. 27.