Figma 에서 6.5인치 스크린샷 미리보기 작업을 끝내서 앱 심사 하려니깐 5.5인치도 올리란다.. 으아........... 상당히 귀찮았던 작업인데 또 해야한다니 라고 생각했지만 역시 사이즈 조절해주는 사이트가 있었다 https://www.iloveimg.com/resize-image Resize multiple images at once! Resize multiple JPG, PNG, SVG or GIF images in seconds easily and for free. Bulk resize images by defining pixels or percentages. www.iloveimg.com 여기서 6.5인치에 작업했던 스크린샷을 5.5인치 사이즈 (1242x2208)로 변환해주면 된다 :)
보호되어 있는 글입니다.
경쟁 상황 (Race Condition) 두개 이상의 Thread를 사용하면서, 동일한 메모리 접근 등으로 인해 발생할 수 있는 문제 아래 예제를 보시죠. var value = 777 func changeValue1() { sleep(2) value = 222 } func changeValue2() { sleep(2) value = 0 } queue.async { changeValue1() } queue.async { changeValue2() } print("(비동기)함수 실행값:", value) print에는 뭐가 찍힐까요 ? 777 이나와요. changeValue1,2 함수가 실행되고 기다리는동안 (sleep) 제일 아래 print 문이 실행되는거죠. 해결방법 (3가지) 1. TSan (Thread..
코드 영역 (Code) 소스 코드 → *기계어 형태로 변형되어 수정이 불가능하게 Read-Only로 저장 된다. 기계어: 컴퓨터가 읽을 수 있는 0, 1 로 이루어진 언어. 시점 컴파일 타임 데이터 영역 (Data) 전역변수, 정적 (static) 변수가 저장 되는 영역 struct Person { // 정적 변수로 데이터 영역에 할당 static let name = "Peppo" } // 전역변수로 데이터 영역에 할당 var age = Int var height = Int 시점 컴파일 타임 프로그램이 시작할 때 할당 프로그램 종료시 소멸 힙 영역 (heap) 개발자가 할당/ 해제 하는 메모리 영역 mallock, calloc 으로 힙에 메모리를 할당할 수 있고, 이를 '동적 할당' 이라 한다. 사용 후..
메모리 구조 공부를 하다보니 컴파일 타임, 런 타임 시점이 각각 나오길래 한번 알아보려고 합니다. 개발 하다보면 컴파일에러, 런타임 에러는 많이 봤는데 시점도 짚어보고 갈겸 가봅시다~ 컴파일 타임 (Compile Time) 소스코드 -> 기계어 코드로 변환 하는 과정 (컴파일) 을 말합니다. 컴파일 에러 컴파일을 실행할 때 문제가 발생하면 나타나는 에러로 문제가 발생하는 소스코드 라인을 알려줍니다. 종류 Syntax Error Type 체크 에러 파일 참조 과정에서의 오류 런 타임 (Run Time) 컴파일 과정을 마친 응용 프로그램이 사용자에 의해 실행 되어지는 '때' 를 말합니다. 런타임 에러 런타임에러는 프로그램이 실행되는 중에 발생하는 에러 입니다. nil/ null 참조 오류 메모리 부족 오류 ..
서브스크립트 (Subscripts) 클래스, 구조체, 열거형에서 스크립트를 정의해 사용할 수 있습니다. 서브스크립트를 활용하면 추가적인 메소드 없이 특정 값을 할당하거나 가져올 수 있습니다. 예를들어, Array 인스턴스의 특정 요소에 someArray[index] 문법으로, Dictionary 인스턴스의 특정 요소에 someDictionary[key] 이런식으로 접근할수 있습니다. 하나의 타입으로 여러 서브스크립트를 정의할 수 있으며, 오버로드(Overload)도 가능합니다. (질문) 또한 필요에 따라 여러 인자 값을 사용할 수 있습니다. 서브스크립트 문법 (Subscripts Syntax) 인스턴스 메소드 문법과 연산 프로퍼티 문법과 유사합니다. 다만, 서브스크립트에선 읽기-쓰기(read-write)..
알람 부분을 구현하는 중에 아래의 프로퍼티들을 담은 Alarm 이라는 객체를 만들어 UserDefaults에 저장하려고 합니다. // Alarm.swift struct Alarm: Codable, Equatable { let alarmTable: String let alarmMeridiem: String let alarmTimes: String } 아하! 저번에 UserDefaults 때 값 저장, 불러오기는 아래 처럼 하면 된다했었지 ! 그럼 이렇게 값저장 하면 되겠네 ! . . . 응 안돼 ~ 객체를 저장할때는 조금 다른 방식으로 합니다. 바로 PropertyListEncode, PropertyListDecode를 활용하는데요. 간단하게 Encode, Decode의 개념에 대해 알아보고 갈게요 Enc..
네트워크 통신으로 alamofire만 공부를 했었는데 URLSession 을 기반으로 만들어져 해당 내용을 알아야 도움이 될것 같다는 생각에 정리를 해봅니다. SwiftUI 에선 URLSession + Combine 조합을 더 많이 사용한다는 말도 있더라구요 ㅠ GET 으로 데이터를 받아와서 CollectionView에 보여주는 작업을 해보려고 합니다. 네이버 API 를 사용하려면 clientID와 clientSecret이 필요합니다. https://developers.naver.com/apps/#/register?defaultScope=search 애플리케이션 - NAVER Developers developers.naver.com URLSession HTTP/ HTTPS를 통해 콘텐츠 및 데이터를 주고..
imageView에 사진을 넣다보니 imageView.contentMode = . 부분에 여러가지 case중 헷갈렸던 부분을 정리해 보려고 합니다. scaleToFill • 기본값 • 비율을 무시하며, imageView안에 꽉 차게 사이즈를 맞춥니다. scaleAspectFill • 원본의 비율을 유지하고 imageView에 꽉 차게 하지만 이미지가 잘립니다. • imageView 영역 밖으로 사진이 넘어갑니다. (아래 사진 참고) • clipsToBountds = true 로 영역밖을 넘어가는 image를 imageView 사이즈에 맞게 맞춰줄 수 있습니다. • 인물, 동물 사진에 적합하지 않습니다. scaleAspectFill 적용 .scaleAspectFill .clipsToBountds = tru..
- Total
- Today
- Yesterday
- removeLast()
- Swift inout
- swift property
- swift 고차함수
- RIBs tutorial
- swift programmers
- Swift ModernRIBs
- swift protocol
- Swift init
- Swift joined
- iOS error
- Swift 프로그래머스
- Swift 프로퍼티
- Swift Error Handling
- Swift 내림차순
- Swift
- swift reduce
- RTCCameraVideoCapturer
- CS 네트워크
- Class
- Swift final
- swift (programmers)
- 2023년 회고
- Swift joined()
- Swift RIBs
- ios
- Swift Leetcode
- Swift 알고리즘
- 원티드 프리온보딩
- Combine: Asynchronous Programming with Swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |