오늘 공부할 주제는 Spacer입니다. Spacer? 먼저 애플 공식문서를 보면, Spacer는 Layout Conatianer에 구조체로 정의되어있습니다. Spacer는 스택 레이아웃에 포함되어있으면 주 축을 따라 확장되고 스택에 포함되지 않는 경우에는 두 축 모두 확장되는 유연한 공간입니다. (A flexible space that expands along the major axis of its containing stack layout, or on both axes if not contained in a stack.) ㅇㅇ? 다시 말해 HStack에 포함되어 있으면 수평으로 확장, VStack에 포함되어 있으면 수직으로 확장되고 스택에 포함되어있지 않으면 수평 수직 모두 확장되는 유연한 공간입니다...
CGAffineTransform 아핀 변환에 대해서 살펴보려 합니다. CGAffineTransform 관련된 질문을 받게 되었는데 거의 까먹어서 다시 정리 (아이패드로 공부한 내용 그대로 가져오는 거라 발그림 죄송) 아핀 변환 언제 쓰나? 아핀 변환 행렬은 2D 그래픽을 그리는 데 사용됩니다. rotate, sclae, translate, skew 변환할 때 사용dd CGAffineTransform 여기서 CG는 CoreGraphics를 의미함. 스위프트에서 CGAffineTransform은 구조체로 정의되어 있으며, 아래와 같이 3x3행렬로 표시됩니다. 세 번째 열은 항상 (0,0,1)이므로 CGAffineTransform 데이터 구조에는 처음 두 열에 대한 값만 포함됩니다. 방정식 도출 왼쪽 행렬의..
TMI) SwiftUI랑 Combine공부는 해야겠고,, 이론만 읽는 건 못하겠어서 시작한 토이 프로젝트! 뭘 주제로 만들어볼까? 고민하다가 경제로 정했음. 내가 경제 뉴스를 보기 위해서 ㄴㅇㅂ에 들어간다 > 메인 화면에서 오른쪽 스와이프 한다 > 뉴스 탭에 들어간다 나름 귀찮은 프로세스를 줄이고자 그리고 내가 원하는 키워드에 관련된 경제 뉴스만 보고 싶었음 ㅇㅇ 아 근데 Swift도 잘 못하는데 SwiftUI라뇨? MVC도 잘 못하는데 MVVM이라뇨? RxSwift도 잘 못하고 있는데 Combine이라뇨? 하다가 이젠 진짜 발등에 불 떨어짐 ㅇㅇ 이제야 나오는 본론. 제곧내 SwiftUI에서 List와 NavigationLink를 같이쓸 때 생기는 화살표 어떻게 없애누??? 오른쪽에 > 이거 뭔데 진짜..
오늘은 앱에 애드몹 배너 광고를 연결해보겠습니다. 0. 공통적인 부분 (애드몹 생성) 1. Swift 코드에 애드몹 연결하기 (몇 년 전 글 가져옴) 2. SwiftUI 코드에 애드몹 연결하기 0. 공통적인 부분 먼저 구글 애드몹에 들어가셔서 https://apps.admob.com/v2/home 앱 추가를 해줍니다. 그러면 아래와 같은 화면이 나올 거예요. (지금이랑 조금씩 다르면서 비슷함) 본인이 앱 스토어에 등록하셨으면 예 아니면 아니요를 눌러주세요. 저는 이미 등록한 프로젝트에 적용한 거라 예를 눌렀습니다. 앱 이름이나 개발자 이름 또는 앱 ID로 검색하면 프로젝트가 뜹니다. 원하는 프로젝트를 추가해주세요. 앱을 추가해주면 앱 ID가 생성됩니다. 여기서 생성된 앱 ID를 어디에 복사해놔 주세요. ..
오늘은 트라이에 대해서 공부해보겠습니다. 사실 전화번호부 검색 알고리즘이 궁금해서 찾아보다가 트라이 개념이 나와서 시작하게 된 포스팅ㅇㅇ 그래서 이번 포스팅은 트라이 개념에 대해서 포스팅하고 다음은 트라이 한국어 탐색에 대해서 포스팅 예정입니다. 트라이란? 트라이(trie)는 문자열을 저장하고 효율적으로 탐색하기 위한 검색 트리의 일종입니다. 일반적으로 키가 문자열인, 동적 배열 또는 연관 배열을 저장하는 데 사용되는 정렬된 트리 자료구조입니다. 트라이의 어원? 트라이가 왜 트라이인지 궁금해서 어원을 찾아봤습니다. 트라이의 개념은 1959년에 처음 공개되었고 검색을 뜻하는 retrieval(리트리벌)의 중간 음절에서 용어를 따왔다고 합니다. 당시에는 트리(tri:)로 불렀다고 하는데 기존에 존재하는 트리..
ARC에 대해서 궁금한 게 있어서 공부하다가 WWDC21에 좋은 영상이 있어 정리해봤습니다. 주제는 스위프트의 ARC! 스위프트는 구조체 및 열거형과 같은 강력한 벨류 타입을 제공합니다. 레퍼런스 타입에서 의도치 않게 sharing되는 것의 위험을 피하기 위해서는 벨류 타입을 사용하는 것을 지향해야 합니다. 스위프트에서 클래스는 레퍼런스 타입이며 클래스를 사용하다면? 스위프트는 ARC를 통해 메모리를 관리합니다. 효과적인 코드를 작성하려면 ARC를 이해하는 것이 중요합니다. 스위프트에서 객체의 lifetime은 초기화 시점에서 시작되고 마지막으로 사용될 때 종료됩니다. ARC는 lifetime이 끝난 후 객체 할당을 해제하여 자동으로 메모리를 관리합니다. 또 ARC는 reference count를 추적해..
오늘은 1975문제를 풀어보겠습니다. 중간 난이도며 43.9%의 성공률을 보이고 있네요. 문제를 살펴봅시다. n x n 정수 행렬이 주어지고 행렬의 인접한 두 요소를 선택해 각각에 -1을 곱하는 연산을 마음껏 할 수 있습니다. (단 border를 공유하는 경우에만 인접하다고 간주됩니다.) 그렇게 만든 행렬 요소의 합이 최댓값이 된다면 리턴하면 됩니다. 예시를 봅시다. 1번 예시: [1, -1] [-1, 1] 첫 번째 행에 -1을 곱해줍니다. [-1, 1] [-1, 1] 다음 첫 번째 열에 -1을 곱해줍니다. [1, 1] [1, 1] 모든 원소의 합은 4가 되고 최댓값이 됩니다. 2번 예시: [1 ,2, 3] [-1, -2, -3] [1, 2, 3] 두 번째 행에 마지막 두 원소에 -1을 곱해줍니다. [1..
안녕하세요 :) 오랜만에 블로그 포스팅을 해보려 합니다. 그동안 포스팅을 하지 않은 구질구질한 이유는? 사실 요 몇 주 롤체토스에 빠졌다가 실버4 찍고 관뒀습니다. 무튼... 오늘 공부해 볼 주제는 공간복잡도(space complexity) 입니다. 공간복잡도란? 프로그램을 실행시킨 후 완료하는데 필요로 하는 자원 공간의 양입니다. 공간복잡도는 총 공간요구 = 고정 공간 요구 + 가변 공간 요구로 나타낼 수 있고 수식으로는 S(P) = c + Sp(n)으로 표기합니다. 공간복잡도는 어떻게 표기하느냐? 공간복잡도는 Big-O표기법을 사용합니다. 시간복잡도를 표현할 때도 Big-O 사용했었죠? Big-O는 알고리즘의 성능을 수학적으로 표현해주는 표기법이기 때문에 시간복잡도 공간복잡도 모두 Big-O 표기법을..
- Total
- Today
- Yesterday
- Animation
- 딥러닝
- 스위프트
- string
- 문자열
- 머신러닝
- ReactiveX
- objective-c
- 책 후기
- 독서
- Xcode
- SWIFT
- leetcode
- rxswift
- 알고리즘
- Algorithm
- 책 추천
- foundationmodels
- 스위프트UI
- ios
- RX
- swiftUI
- wwdc
- 책
- Deep learning
- ARC
- iOS SwiftUI
- swift5
- objc
- 애니메이션
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |