본문 바로가기

분류 전체보기53

Swift에서의 싱글톤에 대한 생각정리 https://github.com/Team-LionHeart/LionHeart-iOS GitHub - Team-LionHeart/LionHeart-iOS: 라이옹 🦁 라이옹 🦁. Contribute to Team-LionHeart/LionHeart-iOS development by creating an account on GitHub. github.com 최근들어서 프로젝트를 같이 하는 팀원과 이야기를 하던 중 싱글톤에 대해 다시한번 알게 된 사실이 있어서 그 사실을 포함해서 저의 싱글톤에 대한 생각을 글로서 정리해보고자 합니다. (제 생각이 포함되어 있어 정답이 아닐 수도 있습니다.) 싱글톤은 무조건 나쁠까 ? 싱글톤으로 구글링을 해보면 사람들이 강조하는 나쁜 이유에 대한 것들, 그것이 정말 Swift.. 2023. 9. 11.
Arithmetic instructions Arithmetic instructions 위로 갈수록 사람에게 친화적, 아래로 갈 수록 기계에게 친화적. 한줄당 instruction 하나. 메모리에 저장되어있음. 컴퓨터구조의 큰그림 컴퓨터의 4가지 핵심 부품 CPU (Central Processing Unit) Main Memory (주기억장치, 이하 메모리) Secondary Storage (HDD, SSD 등) Input/Output IO Device (입출력장치) 아직 추가되어야할 게 더 있지만 대략적으로 그린다면 왼쪽과 같은 느낌. (혼공컴운 책 참조) 시스템 버스는 컴퓨터의 4가지 핵심 부품이 서로 정보를 주고받는 통로입니다. 주소 버스 데이터 버스 제어 버스 processor는 CPU의 다른말. 운체에서의 프로세스와 혼용X ! 프로세서(C.. 2023. 9. 5.
LinkedList 정리 (Single, Double, Circular) Linked List List의 종류 배열(Array) 기반 연결(Link) 기반 배열 기반 리스트 장점 특정 위치의 데이터 조회가 빠르다 단점 데이터의 추가, 삭제 비용이 크다 (다 뒤로 밀거나 앞으로 당기거나..) 크기가 고정되어 있다. 맨 앞에도 쉽게 넣고 싶고, 맨 뒤에도 쉽게 넣고 싶은데..? 그럴 때 사용할 수 있는게 연결 기반 (linked) 리스트 ! 연결 기반 리스트의 종류 단방향 연결 리스트 (Linked List라고 하면 기본으로 이것) 양방향 연결 리스트 (Double Linked List) Circular Linked List (원형 혹은 순환 연결 리스트) Circular single Circular Double 연결 기반 리스트 Node Node는 데이터(Item)과 포인터(P.. 2023. 8. 9.
Stack 구현 (Array, LinkedList) Stack LIFO: Last In First Out 리스트의 제한된 형태: 넣고 빼기가 리스트의 한쪽 끝에서만 가능 Notation PUSH POP TOP: 맨 위의 값 리턴. 종류 Array based link based Array based Stack struct stack { var elemensts: [T] = [] var isEmpty: Bool { elemensts.isEmpty } mutating func push(element: T) { elemensts.append(element) } @discardableResult mutating func pop() -> T? { elemensts.popLast() } func peek() -> T? { elemensts.last } } 단순 배열을.. 2023. 8. 4.