일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 야곰 # 야곰아카데미커리어스타터캠프 #iOS개발자 # 부트캠프
- SWIFT
- 오블완
- WWDC
- modern concurrency deep dive
- ios
- modern concurrency
- 티스토리챌린지
- APNS
- Today
- Total
목록전체 글 (71)
Geon
Bluetooth 모드 설정앱에서 비즈니스 로직을 처리 하려고 하여, BLE 모드로 진행하였습니다.HID (Human Interface Device)Bluetooth HID (Human Interface Device)는 Bluetooth 무선 장치를 키보드로 사용하도록 설계되었습니다. 이 모드는 Android, iOS, MacOS, Windows에서 장치를 키보드로 인식하기 때문에 애플리케이션이 필요하지 않습니다.SPPBluetooth SPP (Serial Port Profile)는 RS-232 케이블(또는 다른 시리얼 통신 인터페이스)을 대체하기 위해 설계되었습니다. SPP는 두 장치 간의 데이터/정보를 보낼 때 훌륭합니다. Bluetooth SPP는 종종 Windows 호스트의 실제 COM 포트와 ..

앱의 각 상태(Not Running, Inactive, Active, Background, Suspended)에서 할 수 있는 작업은 무엇인가요?Not Running앱이 아직 실행되지 않았거나, 완전히 종료되어 동작하지 않는 상태InactiveInactive는 앱이 실행중이지만 사용자로부터 이벤트를 받을수 없는 상태사용자가 APP을 사용중이였다가, 전화나 문자를 수신했을경우Active앱이 event를 수신받을수 있는 상태사용자가 APP을 사용하는 상태BackGroundAPP이 백그라운드 상태에서 실행중인 상태 이고, 이벤트를 수신할수 있으며 코드를 실행할수 있다.이상태에서는 짧은 작업을 수행하고 제어권을 OS로 돌려놔야 한다.SuspendedAPP은 백그라운드에 있지만 코드는 실행되지 않는 상태OS는 메..
Swift에서 옵셔널이란 무엇이며, 언제 사용해야 하나요?옵셔널 바인딩과 강제 언래핑의 차이점은 무엇인가요?옵셔널 바인딩은 nil이 있는지 없는지 확인하고 접근하기에, 메모리 에러가 나는것을 방지한다.강제 언래핑의 경우 메모리에 바로 접근하기에, nil일 경우 메모리 에러가 발생할수 있다.옵셔널 체이닝의 동작 원리를 설명해주세요. 옵셔널 밸류의 뎁스가 있을경우, 체이닝(연결)된 것처럼 묶어서 나중에 한번만 옵셔널 바인딩을 해서 사용할수 있게 한다.매번마다 옵셔널 체이닝을 할경우 너무 힘들지 않을까..암시적 언래핑 옵셔널을 사용하는 경우는 언제인가요?IBIoutlet옵셔널로 선언했는데 값이 항상 있음을 암시적으로 명시하는것실제 사용할떄 옵셔널 바인딩 또는 강제 언래핑을 안해도 적용가능let implici..
컴퓨터 구조와 관련하여 CPU, RAM, 저장장치의 역할과 상호 작용에 대해 설명해주세요.CPU는 연산한 기능을 가지고 있으며, 연산할떄 메모리에 올라와 있어야 코드를 읽을수 있다. - 주기억 장치는 메모리 - 보조기억 장치는 하드디스크 - 보조기억장치에서 읽어와 메모리로 올리는 개념캐시 메모리의 개념과 종류, 역할에 대해 설명해주세요.속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 범용 메모리를 말한다.캐시 메모리는 메인 메모리에서 자주 사용하는 프로그램과 데이터를 저장해두어 속도를 빠르게 한다.이를 위해 CPU가 어떤 데이터를 원하는지 어느정도 예측해야하는데 이를 지역성이라고 한다캐시의 지역성공간 지역성: 최근에 사용했던 데이터와 인접한 데이터가 참조될 ..
Stack의 appned, pop 연산은 O(1)의 시간복잡도를 갖는다. Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. class Solution { func isValid(_ s: String) -> Bool { var stack: [String] = [] for input in s { if input == "(" { stack.append(")") } else if input == "[" { stack.append("]") } else if inpu..
시간복잡도(Big-O)에 데이터의 크기를 넣어서 나온 값이 100,000,000(10^8)이 넘으면 시간 제한 초과할 가능성이 있다. 정수가 저장된 배열 nums이 주어졌을 떄, nums의 원소중 두 숫자를 더해서 target이 될수 있으면 True 불가능하면 False를 반환하세요. 같은 원소를 두 번 사용할 수 없습니다. class Node { var value: String var prev: Node? var next: Node? init(value: String) { self.value = value } } class BrowserHistory { var head: Node var current: Node init(_ homepage: String) { let newNode: Node = .ini..