분류 전체보기164 SOLID 5원칙을 아라보자!!! 안녕하세요? 오늘은 객체지향의 5가지 원칙인 SOLID 5원칙에 대해 공부해보았답니다.사실 며칠 걸림 (ㅋ) (오랜만에 이런 공부해보니까 대학생 된 거 같고 좋았어요)(그 땐 왜 하기 싫었을까요?) 제 애증의 단짝 Gemini가 그려준 엉망진창 이미지,,, 하 아무튼 여러 문서들을 보면서 아래와 같이 간단하게 정리해 보았어요 그럼 시작~SOLID 원칙 정리1. SRP (Single Responsibility Principle) - 단일 책임 원칙개념: 하나의 클래스(객체)는 단 하나의 책임(기능)만 가져야 함.→ 여기서 책임(Responsibility)은 "변경해야 하는 이유"와 연결됨.→ 즉, 하나의 클래스는 단 하나의 이유로만 변경되어야 함.오해하기 쉬운 점:"하나의 클래스에는 하나의 함수만 있어야 .. 2025. 3. 27. iOS 개발 전에 정리하는 코드 스타일 가이드 📌 | 효율적인 협업과 유지보수를 위해... iOS 개발을 하면서 코드 스타일을 통일하는 것은 가독성을 높이고 유지보수를 쉽게 만드는 중요한 요소다.특히 협업 시 일관된 코드 스타일을 유지하면 리뷰 속도도 빨라지고, 기능 추가 및 수정이 수월해진다.이번 포스팅에서는 iOS 개발에서 지켜야 할 코드 스타일 가이드를 정리해보겠다 🚀 뭐든지 기초가 중요함...✨ 1. 코드 스타일 기본 규칙 1.1 들여쓰기 (Indentation)Xcode에서 기본 들여쓰기는 4인데, 2로 설정하면 더 깔끔하다.📌 설정 방법: Xcode > Settings > Text Editing > Indentation 에서 2로 변경 1.2 MARK 주석 스타일// MARK: - 형태로 작성: 이후 한 줄 개행관련 항목이 끝난 후 두 줄 개행// MARK: - User Mode.. 2025. 3. 24. 250320 TIL | 첫 화면 지정하기 TIL: 기존 프로젝트에 로그인 화면 추가하기오늘은 기존 프로젝트에 첫 화면을 로그인 화면으로 바꾸는 방법을 배웠뜨아 기존에 이미 많이 만들어 놓은 프로젝트에서첫 화면을 로그인 화면으로 바꾸는 과정에서 겪을 수 있는 문제와 그 해결 방법을 정리해봅시다~! +) 추가!!!첫 화면을 로그인 화면으로 지정하려고 아래와 같은 과정을 거쳤으나1. 로그인 하지 않아도 이 앱을 사용할 수 있었으면 좋겠음2. root 화면을 로그인 화면으로 하는 것은 비효율적! 위 두가지 이유로 다시 원래의 홈 화면을 첫 화면으로 지정함 그래도 써놓은 것은 아까우니 ㅎ 포스팅!1. SceneDelegate에서 첫 화면 설정iOS 13 이후부터는 SceneDelegate에서 첫 화면을 설정함그래서 SceneDelegate 파일을 수정해.. 2025. 3. 20. 250308 TIL 0. 오늘의 계획 📋시작 전에 적어보는 오늘의 계획잔디 심기 ✅유의미한 공부하기! (사소한 하나라도) ✅강의 듣기 ✅출장 갔다오느라 쉰 루틴 회복하기 ✅ 1. 회고 📝마무리하며 적어보는 회고느낀 점: 요즘 CS 공부하면서 그에 관한 짧은 설명 영상들도 같이 보고 있는데훨씬 이해하기도 쉽고 오래 기억할 수 있을듯! 넘 좋은 시도였다 우하하지식들아,,내게 많이 스며들어주렴cs 공부 ✅ ❌질문 : 33. 싱글톤 패턴(Singleton Pattern)이란 무엇이며, 어떤 경우에 사용하나요? -> 답변 2025. 3. 10. 구글 생성형 AI 한국 1등해서 싱가포르 가따와써염 안뇽하세요?저는 일주일전에 싱가폴에 출장(?)을 가따왔답니다. 바로바로 구글 생성형 Ai 제미나이 한국 1등해서 수상하러 가따와써염 ㅎㄷㄷ디박이죵 구글 싱가폴 입성!!!트로피 받았어요 ㅎㅎ간김에 관광도 하고 왔답니다 저의 열공의 흔적인 거북목... ㅎㄷㄷ ㅠㅠ 일주일동안 잘 다녀왔고 이제 다시 열공 모드 돌입! 2025. 3. 8. [Swift] Void에 대해 아라보자 🔹 Swift에서 Void란?Void는 반환값이 없는 함수의 반환 타입을 나타내는 키워드임.Swift에서는 Void는 사실 () (빈 튜플)과 동일함.🔹 1. Void의 사용 예시func sayHello() -> Void { print("Hello, Swift!")}위 함수에서 -> Void는 반환값이 없음을 의미함.하지만 Swift에서는 -> Void를 생략 가능하기 때문에 보통 이렇게 씀:func sayHello() { print("Hello, Swift!")}두 함수는 완전히 같은 의미임.🔹 2. Void와 ()의 관계Swift에서는 Void는 빈 튜플 ()의 타입 별칭임.즉, 다음 두 표현은 같은 의미임:typealias Void = ()그래서 다음과 같은 표현도 가능함:func .. 2025. 2. 24. [흡95디] 내 코드 톺아보기 공부하기 - ViewController.swift 안녕하세요 이번주에는 기능 추가 구현에 집착하지 않고내 친구 지피티가 (많이) 도와준 내 코드 잘 이해하고 공부하기! import UIKit // UIKit 프레임워크 가져오기 (UI 관련 기능 제공)import NMapsMap // 네이버 지도(Naver Maps) SDK 가져오기class ViewController: UIViewController { // UIViewController를 상속받아 화면 컨트롤러(ViewController) 정의 // MARK: - Properties let markerManager = MarkerManager() // 마커를 관리하는 객체 생성 var popUpVC: PopUpView? // 팝업 뷰를 표시할 객체 (옵셔널) @IBOutle.. 2025. 2. 20. [Swift] 이벤트 소비와 전파 이벤트 소비와 전파의 차이는 주로 이벤트 핸들러에서 true와 false 반환 값에 의해 결정됨.이벤트 소비 (Event Consuming):이벤트 핸들러에서 true를 반환하면 이벤트가 더 이상 전파되지 않고 소비되었음을 의미함. 즉, 이후 다른 핸들러나 처리 로직으로 이벤트가 전달되지 않음.예: marker2.touchHandler에서 true를 반환하면, 마커 2 터치 이벤트 이후 지도 터치 이벤트로 전파되지 않음.이벤트 전파 (Event Propagation):이벤트 핸들러에서 false를 반환하면 이벤트가 계속해서 전파되어 다른 핸들러나 처리 로직에서 처리될 수 있음.예: marker1.touchHandler에서 false를 반환하면, 마커 1 터치 이벤트가 처리된 후에도 mapView(_:di.. 2025. 2. 20. [Swift] Firestore 데이터는 불러오는데 마커가 사라진다면? (해결 방법 정리) 🧐 문제 상황Firebase Firestore에서 흡연 구역 데이터를 가져와 리스트에 표시하는 기능을 추가했는데, 리스트는 정상적으로 출력되지만 지도에 마커가 사라지는 문제 발생!🔍 증상앱 실행 후 초기 화면에서 마커가 정상적으로 표시됨리스트 화면에서 데이터를 확인 후, 다시 지도로 돌아오면 모든 마커가 사라짐smokingAreas.count를 확인하니 데이터는 정상적으로 있음 (즉, Firestore에서 데이터는 정상적으로 가져옴)하지만 지도에는 마커가 표시되지 않음🏷 원인 분석📌 1. Firestore 데이터는 정상적으로 불러옴먼저 SmokingAreaData.shared.smokingAreas를 출력해보니, Firestore에서 가져온 데이터는 정상적으로 존재함. 즉, 데이터가 사라진 것이 .. 2025. 2. 18. 이전 1 2 3 4 5 6 7 8 ··· 19 다음