code
-
[C] 문자열을 가리키는 포인터는 왜 char(문자)인가?code/C 2023. 12. 5. 22:28
char *s1 = "Hello"; 포인터는 해당 데이터의 "시작지점의 주소"이다. 그럼 끝점은 어떻게 아는가? NULL문자로 판단한다. NULL문자(\0)를 만나기 전까지의 char데이터를 가져옴 = String 문자열의 pointer는 pointer to char인것. // 포인터는 해당 데이터의 "시작지점의 주소"를 가리키는 역할을 합니다. 문자열의 경우, 널 문자('\0')를 만나기 전까지의 연속된 char 데이터를 가져옵니다. 널 문자는 문자열의 끝을 나타내는 역할을 하며, 문자열의 끝을 판단하기 위해 사용됩니다. 따라서, 문자열의 포인터는 char 형식을 가리키는 포인터로서, 해당 문자열의 시작 주소를 가리킵니다. 포인터를 사용하여 문자열을 접근할 때는 해당 포인터가 가리키는 주소부터 널 문자..
-
[TIL] 구글 애널리틱스 추가code/TIL 2023. 11. 6. 23:42
// // AnalyticsStore.swift // ClothingBinSearch // // Created by Lyla on 2023/11/06. // import Foundation import FirebaseAnalytics class AnalyticsStore { var uniqueUserID: String //uniqueUserID 존재 여부에 따라 설정 init() { if let savedUserID = UserDefaults.standard.string(forKey: "uniqueUserID") { self.uniqueUserID = savedUserID } else { self.uniqueUserID = UUID().uuidString UserDefaults.standard.set(s..
-
포인터 사용code/C 2023. 11. 5. 00:25
& 주소 연산자: 변수의 메모리 주소를 구할 때는 변수 앞에 를 붙이면 됩니다 %p : 서식 지정자 %p를 사용하여 출력합니다(pointer의 약어로 p를 사용). 물론 16진수로 출력하는 %x, %X를 사용해도 됩니다. #define _CRT_SECURE_NO_WARNINGS // strcpy 보안 경고로 인한 컴파일 에러 방지 #include #include int main(void) { int num1 = 10; printf("%p\n" , &num1); return 0; } 출력: 0x30d89cfe8 근데 왜 arm64인데 32비트로 출력되는지는 모르겠다. +읽어볼거리 (질문과는 관계없음) https://nskg-yj.tistory.com/entry/iOS-ARM-Architecture [iOS..
-
[TIL] 의존성code/TIL 2023. 11. 2. 21:23
의존성: 파라미터나 리턴값 또는 지역변수 등으로 다른 객체를 참조하는 것 코드에서 두 모듈(클래스)간의 연결 혹은 관계를 말한다. 의존 대상 B가 변하면, 그것이 A에 영향을 미친다. 의존성(Dependency)을 지양하는 이유 높은 의존성은 모듈의 재사용을 감소시킨다. (독립적이지 않아 다른 곳에 사용하기 어렵다.) 하나의 모듈이 바뀌면 의존한 다른 모듈까지 변경이 이루어진다. 의존성 주입이란? - 외부에서 객체를 생성해서 넣어주는 것 - 객체가 의존하는 또 다른 객체를 외부에서 선언하고 이를 주입하는 것이 의존성 주입임. IoC(Inverse of Control) 제어권을 개발자가 아닌 제3자(framework)가 가지게 하는 것이다. IoC의 주된 목적은 Application의 Dependency를..
-
[SwiftUI] Firestore로 채팅 기능 구현하기code 2023. 10. 26. 10:25
채팅 기능을 구현하던 중 마주한 문제를 적어봅니다. 한쪽에서는 메세지를 보내도 다른 한 기기에서는 메세지 업데이트가 안되는 상황이었습니다. 상황: addSnapshotListener로 Firebase를 구독중인 ViewModel의 메서드를 만들어 놓고 구독중인 상황 ChatRoomStore의 프로퍼티 1) chatRoomList : 모든 채팅방을 가지고있음 2) messageList: 채팅방에서 해당하는 두 유저 사이의 Message만 배열로 가지고있음 final class ChatRoomStore: ObservableObject { @Published var chatRoomList: [ChatRoom] = [] @Published var messageList: [Message] = [] } func s..
-
git cherry-pick 체리픽 써보기code/github 2023. 10. 20. 11:39
git cherry-pick🍒 다른 브랜치에 있는 커밋을 선택하여 내 브랜치에 적용시킬 때 사용하는 명령어 git cherry-pick d090a8b[커밋ID] 자동 병합: -[파일경로]-/ChatRoomView.swift error: 다음을 적용할(apply) 수 없습니다: d090a8b... [Fix] 이전 채팅방이 보이는 오류 수정 힌트: After resolving the conflicts, mark them with 힌트: "git add/rm ", then run 힌트: "git cherry-pick --continue". 힌트: You can instead skip this commit with "git cherry-pick --skip". 힌트: To abort and get back to..