Popular Posts
Latest Post
[Swift 문법] 2 - 1. 기본 자료형
swift2024.10.06 14:46[Swift 문법] 2 - 1. 기본 자료형

🍏 1. 기본 자료형 (Primitive Types)◻️ 1) 정수형 (Integers)정수형은 소수점이 없는 정수 값을 저장하는 자료형입니다. Swift는 두 가지 주요 정수형을 제공합니다① Int : +, - 부호를 포함한 정수var age: Int = 30② UInt : - 부호를 포함하지 않는 0을 포함한 양의 정수var count: UInt = 50*🌈 Int와 UInt 중 선택해 사용*플랫폼에 따른 Int의 최댓값(64비트 환경이라면 Int64의 최댓값) 이상 UInt 최댓값 미만을 사용하게 되는 경우 이외 에는, UInt보다는 Int 타입을 사용하는 것이 권장된다.예를 들어 64비트의 환경이라면 Int64의 최댓값과 UInt64의 최댓값 사이의 값을 사용하는 경우 이외에 정수 타입의 값을..

[Swift 문법] 2. 자료형
swift2024.10.06 14:33[Swift 문법] 2. 자료형

🍎 자료형Swift에서 자료형의 역할🌈 자료형 (Data Type)변수나 상수가 저장할 수 있는 값의 종류와 해당 값에 대해 수행할 수 있는 연산을 정의하는 추상적 개념입니다.🌈 타입 안전성 (Type Safety)Swift는 변수나 상수가 선언된 타입과 일치하지 않는 값을 할당하거나 연산하려고 할 때 컴파일 타임에 오류를 발생시켜 타입 관련 오류를 방지합니다.🌈 타입 추론 (Type Inference)컴파일러가 변수나 상수의 초기 값을 기반으로 자동으로 타입을 결정하여 코드의 간결성과 가독성을 높입니다.🌈 타입 주석 (Type Annotation)변수나 상수를 선언할 때 명시적으로 타입을 지정하여 코드의 의도를 명확하게 표현하고, 컴파일러가 타입을 정확히 이해하도록 합니다.🍏 1. 기본 자료..

[TeamProject] Troubleshooting_AED API
Team Project2024.10.04 11:41[TeamProject] Troubleshooting_AED API

문제상황AED API의 요청 변수에 위도 경도 값이 존재 하지 않아서반경 데이터를 가져오는데 문제가 발생함문제 해결해결방안 논의1안 : 공공데이터 포털에 요청변수 추가 요청하기2안 : 앱 최초 실행 시 모든 데이터를 받아서 UserDefaults에 저장해서 위경도 값 필터링 해서 가져오기논의 과정https://github.com/Kim-Dong-Hyeon/Duriso/issues/56 [ETC] : AED데이터 관련 · Issue #56 · Kim-Dong-Hyeon/Duriso어떤 문제인가요? aed api 요청변수에 위경도 값을 지정해주는 요청변수가 없다보니 전체 데이터를 받아와서 거기서 가시성 조율을 하기에는 데이터가 너무 많은데 어떻게 하면 좋을까요? 생각한github.comgithub issue..

iOS
플로팅 패널
UIkit
2024.09.04 14:38
import Foundationimport SwiftOnoneSupportimport UIKitimport _Concurrencyimport _StringProcessingimport _SwiftConcurrencyShimsimport osimport os.log/// 패널 뒤에 배경 인터페이스를 제공하는 뷰입니다.@objc(FloatingPanelBackdropView) open class BackdropView : UIView { /// 패널을 해제하기 위한 탭 제스처의 제스처 인식기입니다. /// /// 기본적으로 이 제스처 인식기는 iOS 모달의 기본 동작을 따르기 때문에 비활성화되어 있습니다. /// 배경을 탭하여 패널을 해제하려면 `dismissalTapGestureRec..
[ UIkit ] Custom circular progress bar 원형 프로그레스바 만들기
[ UIkit ] Custom circular progress bar 원형 프로그레스바 만들기
UIkit
2024.08.17 16:34
1. CircularProgressBar 클래스 생성다음과 같이 클래스로 원형 프로그레스 바를 생성해두면, var progressBar = CircularProgressBar() 이런 식으로 간편하게 사용이 가능하다. class CircularProgressBar: UIView { private let lineWidth: CGFloat = 3} 초기 설정 : 프로그레스 바의 두께를 결정함 2. draw(_:) 메서드override func draw(_ rect: CGRect)UIView의 draw(_:) 메서드를 오버라이드하여 직접적인 그래픽을 그림 let path = UIBezierPath()UIBezierPath를 사용하여 경로를 그리기 위한 객체를 생성let radius = (rect.widt..
[ UIkit ] UIView와 UIViewController
[ UIkit ] UIView와 UIViewController
UIkit
2024.08.17 16:31
1. UIView    1 - 1. UIView의 역할   공식문서를 먼저 살펴 보자UIView =  화면의 직사각형 영역에 대한 콘텐츠를 관리하는 객체   ① iOS 앱에서 화면에 표시되는 UI 요소를 의미함  예를 들어, 버튼, 레이블, 이미지, 텍스트 필드 등은 모두 뷰의 일종임곧 뷰는 시각적 인터페이스를 구성하는 기본 요소로사용자가 상호 작용 할 수있는 모든 것들이 뷰다!!!    ② UIView 클래스는 모든 뷰에 공통적인 동작을 정의   iOS 앱의 그래픽 인터페이스에서 핵심적인 역할(UIView는 모든 뷰의 기본) UIView Class =  UIKit에서 제공하는 기본 클래스모든 뷰는 이 UIView 클래스를 상속받아 만들어짐 UIView Class는 뷰가 화면에 표시되고 상호작용을 처리하..
[ iOS ] 네트워크 통신 _ Rest API
[ iOS ] 네트워크 통신 _ Rest API
iOS
2024.08.05 16:22
이 글은 API가 뭔지 다시한번 생각해보고 코드를 작성 해보며 각각의 코드가 어떤 역할을 수행하는지 알아보며 적은 글이다.    1. API란 무엇인가?API(Application Programming Interface) =  소프트웨어 애플리케이션이 서로 통신하는 방법 1 - 1. API의 장점 1. 재사용성: 한 번 개발된 API는 여러 애플리케이션에서 재사용가능,  이를 통해 개발 시간과 비용을 절약 2. 모듈화: API를 사용하면 애플리케이션의 기능을 모듈화할 수 있어 유지보수와 확장이 용이함 3. 상호운용성: 서로 다른 애플리케이션과 시스템이 통신할 수 있게 하여 데이터 공유와 협업을 촉진함 4. 보안성: API를 통해 데이터를 주고받을 때, 인증과 권한 관리를 통해 보안을 강화할 수 있습니다...
🍎 Swift 네트워크 통신 [ feat. URLSession , URLSessionTask ]
🍎 Swift 네트워크 통신 [ feat. URLSession , URLSessionTask ]
iOS
2024.08.04 12:57
🍎 Swift 네트워크 통신 [ feat. URLSession , URLSessionTask ]🍏 URLSessioniOS 와 서버 간의 http 프로토콜을 지원하며 Request와 Response 구조를 가진다.URLSession은 여러 개의 URLSessionTask를 생성하여 이를 통해 서버와 통신을 하고, Delegate로 네트워크의 과정을 확인하는 형태이다.URLSession은 네트워크 관련 클래스로 URL구조에서 데이터를 다운로드하고 업로드 하는 API를 제공한다앱이 실행되지 않거나 중단된 동안 백그라운드에서 다운로드를 수행인증을 지원하고 리디렉션 및 작업 완료와 같은 이벤트를 수신🍀 URLSession 의 속성URLSession은 configuration이라는 속성 3가지를 가진다..d..
[ iOS ] 메모리 구조 (Code, Data, Stack, Heap)
[ iOS ] 메모리 구조 (Code, Data, Stack, Heap)
iOS
2024.08.01 10:53
🍎 iOS 메모리 구조 (Code, Data, Stack, Heap)1. 🍏 메모리 구조운영체제(OS)는 메모리(RAM)에 이 프로그램을 위한 공간을 할당🍀 1-1. 코드(Code) 영역우리가 작성한 소스 코드가 기계어 형태로 저장됨컴파일 타임에 결정, 중간에 코드가 변경되지 않도록 Read - Only 형태로 저장컴퓨터가 읽을 수 있는 가장 밑단의 언어코드 영역 최적화: 현대 컴파일러는 코드 영역을 최적화하여 메모리 사용을 효율적으로 관리예를 들어, 코드 인라인화, 루프 변환 등 기술 사용🍀 1-2. 데이터(Data) 영역전역변수, static 변수가 저장됨프로그램 시작과 동시에 할당, 프로그램 종료가 되어야 메모리 해제실행도중 변수값이 변경 될 수 있으니 Read-Write로 지정student..
Swift
[Swift 문법] 2 - 1. 기본 자료형
[Swift 문법] 2 - 1. 기본 자료형
swift
2024.10.06 14:46
🍏 1. 기본 자료형 (Primitive Types)◻️ 1) 정수형 (Integers)정수형은 소수점이 없는 정수 값을 저장하는 자료형입니다. Swift는 두 가지 주요 정수형을 제공합니다① Int : +, - 부호를 포함한 정수var age: Int = 30② UInt : - 부호를 포함하지 않는 0을 포함한 양의 정수var count: UInt = 50*🌈 Int와 UInt 중 선택해 사용*플랫폼에 따른 Int의 최댓값(64비트 환경이라면 Int64의 최댓값) 이상 UInt 최댓값 미만을 사용하게 되는 경우 이외 에는, UInt보다는 Int 타입을 사용하는 것이 권장된다.예를 들어 64비트의 환경이라면 Int64의 최댓값과 UInt64의 최댓값 사이의 값을 사용하는 경우 이외에 정수 타입의 값을..
[Swift 문법] 2. 자료형
[Swift 문법] 2. 자료형
swift
2024.10.06 14:33
🍎 자료형Swift에서 자료형의 역할🌈 자료형 (Data Type)변수나 상수가 저장할 수 있는 값의 종류와 해당 값에 대해 수행할 수 있는 연산을 정의하는 추상적 개념입니다.🌈 타입 안전성 (Type Safety)Swift는 변수나 상수가 선언된 타입과 일치하지 않는 값을 할당하거나 연산하려고 할 때 컴파일 타임에 오류를 발생시켜 타입 관련 오류를 방지합니다.🌈 타입 추론 (Type Inference)컴파일러가 변수나 상수의 초기 값을 기반으로 자동으로 타입을 결정하여 코드의 간결성과 가독성을 높입니다.🌈 타입 주석 (Type Annotation)변수나 상수를 선언할 때 명시적으로 타입을 지정하여 코드의 의도를 명확하게 표현하고, 컴파일러가 타입을 정확히 이해하도록 합니다.🍏 1. 기본 자료..
[Swift 문법] 1. 상수와 변수
[Swift 문법] 1. 상수와 변수
swift
2024.07.31 17:50
2024.06.13 수정🍎 1.  상수와 변수사실 변수와 상수의 차이점은 이름에서 그대로 나타난다.변수는 변할 수 있는 값이고 상수는 변할 수 없는 값이다.변수는 var 키워드로, 상수는 let 키워드로 선언🍏 1.  상수(let)변하지 않는 일정값값에 이름을 부여하는 것ex) 디바이스의 전체 용량 표시 사용 가능let 상수명 : 데이터타입 = 값상수에 한번 값을 부여 할 수 있으며, 2번 이상 대입하게 되면 오류가 발생함, 여러 번 값을 대입하는 경우 변수 사용해야 함🍏 2. 변수(var)스위프트의 변수란 데이터를 저장할 수 있는 공간을 의미ex) 현재 사용가능한 용량을 표시할 때 사용 가능상수와 달리 변수 생성 후 다시 값을 대입하는 것이 가능함(var 안의 값(value)은 초기 설정값을 언제..
Project
[TeamProject] Troubleshooting_AED API
[TeamProject] Troubleshooting_AED API
Team Project
2024.10.04 11:41
문제상황AED API의 요청 변수에 위도 경도 값이 존재 하지 않아서반경 데이터를 가져오는데 문제가 발생함문제 해결해결방안 논의1안 : 공공데이터 포털에 요청변수 추가 요청하기2안 : 앱 최초 실행 시 모든 데이터를 받아서 UserDefaults에 저장해서 위경도 값 필터링 해서 가져오기논의 과정https://github.com/Kim-Dong-Hyeon/Duriso/issues/56 [ETC] : AED데이터 관련 · Issue #56 · Kim-Dong-Hyeon/Duriso어떤 문제인가요? aed api 요청변수에 위경도 값을 지정해주는 요청변수가 없다보니 전체 데이터를 받아와서 거기서 가시성 조율을 하기에는 데이터가 너무 많은데 어떻게 하면 좋을까요? 생각한github.comgithub issue..
[TeamProject] Troubleshooting_POI show/hide
[TeamProject] Troubleshooting_POI show/hide
Team Project
2024.09.09 20:23
문제점- 지도의 하단에 대피소, 제세동기, 긴급제보 버튼 클릭시 poi마커가 show/ hide 가 제대로 이루어 지지 않음- 로그메시지에 poi가 표시중이라고 뜨지만.. 지도에는 나타나지 않음해결방법1. hide 해주는 메서드에서 사용한 layer.clearAllItems()가 문제였음()를 모든 아이템을 숨김 으로 이해하고 사용했지만KakaoMapsSDK 2.10.5 Docs를 다시 살펴 보니해당 레이어의 모든 아이템을 삭제!! 해주는 것이었음그래서 데이터가 다 날아간 상태여서 다시 보여줄 마크가 없었던것현재 Layer에 있는 모든 item을 일괄적으로 지운다.하나의 layer안에 Poi와 WaveText가 함께 추가가 가능하므로, 이 경우 clear를 호출게 되면 모든 Poi와 WaveText가 지..
[TeamProject] CodeBase 카카오맵 _ 기초부터 차근차근
[TeamProject] CodeBase 카카오맵 _ 기초부터 차근차근
Team Project
2024.09.06 14:49
카카오맵...api를 사용하면서 여러가지 트러블 슈팅들을 겪고 있다..디버그를 아무리 찍어봐도 계속 도르마무 도르마무.. 하나를 해결하면 다른 하나가 안되는 그런 상황이라서처음부터 다시 기초부터 차근차근 맵 구성부터 다시 해보려고 한다1.  카카오맵 뷰 그리기 카카오 맵 초기화와 추가, api 오류 에러코드까지만 작업 한 내용SDK 가이드라인에 스토리보드와 SwiftUI만 안내가 되어있음... 코딩 잘하시는분들은 뚝딱뚝딱 하겠지만코드베이스로 처음 맵 작업해보시는 분들은 참고 하면 좋을듯import UIKitimport KakaoMapsSDK/** -KakaoMapViewController : KakaoMap의 뷰트롤러 관리 */class KakaoMapViewController: UIViewControl..
[TeamProject] troubleshooting_kakaomap관련
[TeamProject] troubleshooting_kakaomap관련
Team Project
2024.09.03 20:36
맵 제스쳐가 최초진입시에는 제대로 작동하지만다른 뷰로 이동한 후 다시 돌아왔을때는 작동하지 않는 오류가 있음override func viewDidLoad() { super.viewDidLoad() if let mapContainer = mapContainer { mapController = KMController(viewContainer: mapContainer) mapController?.delegate = self mapController?.prepareEngine() mapController?.activateEngine() } addViews() addObservers() createLabelLayer() cre..
on / off 토글 버튼 만들기
on / off 토글 버튼 만들기
Team Project
2024.08.28 08:45
이 네개 버튼을 토글 버튼으로 만들어 보려고 함방독면은 아직 openapi가 없어서 우선 임시 중단! func createButton(title: String, symbolName: String, baseColor: UIColor, selectedColor: UIColor) -> UIButton { let button = UIButton(type: .custom) button.setImage(UIImage(systemName: symbolName), for: .normal) button.tintColor = .CWhite button.setTitle(title, for: .normal) button.titleLabel?.font = CustomFont.Body3.fon..
[ TeamProject ] 프로젝트 준비 _ 카카오맵 api 공부하기!
[ TeamProject ] 프로젝트 준비 _ 카카오맵 api 공부하기!
Team Project
2024.08.25 11:01
이번 프로젝트에서 내가 담당한 부분 : 온라인 맵 _ Kakao Map Api본격 프로젝트 시작 전 공부할 내용카카오 맵 api 공식문서 살펴보기iOS앱에 지도 표시하고 마커 추가하는 방법지도 기반 앱 최적화 , 메모리 관리와 성능 최적화배터리 효율성: 위치 기반 서비스를 사용할 때 배터리 소모를 최소화하는 방법을 학습MVVM 디자인 패턴# 공부 참고 자료 - 카카오맵 공식 블로그 : https://kakaomap.tistory.com/- 카카오 맵 api 사용가이드 : https://apis.map.kakao.com/ios_v2/docs/ 카카오맵 공식 블로그 kakaomap.tistory.com1. 프로젝트 시작 준비사항기본 요구사항- iOS 13 이상 사용가능Installation카카오맵 Cocoa..
[TeamProject] 프로젝트 기획 _ 1일차
[TeamProject] 프로젝트 기획 _ 1일차
Team Project
2024.08.23 21:37
앱이름  :  두리소단순한 대피소안내 뿐 아니라 , 앱과 함께 앱과 둘이서라면 안전하게 라는 의미를 담고 있습니다. 재난 상황에서는 혼자가 아닌, 서로의 안전을 지키기 위해 협력하는 것이 중요하다는 점을 강조하며, 이 앱이 제공하는 정보와 안내가 사용자를 보호하고, 서로를 돕는 데 중추적인 역할을 한다는 의미를 담고 있습니다.1. 보호의 울타리: “두리소”는 재난 상황에서 사용자를 둘러싸고 보호하는 울타리와 같은 존재입니다. 오프라인과 온라인에서 모두 사용 가능한 대피소 정보와 행동 요령을 제공하여, 위험에서 벗어나는 길을 안내함 2. 함께하는 안전: “둘이서”라는 발음을 통해, 재난 상황에서 혼자가 아닌 함께하는 안전의 중요성을 강조이 앱은 사용자가 안전하게 대피할 수 있도록 돕는 동시에, 주변 사람들..
[ Project ] 단어장 어플 오류 해결
Team Project
2024.08.13 21:40
컬렉션 뷰 마지막 셀에 버튼을 추가하기 스크롤하면 컬렉션뷰 자체가 없어지는데....... 오류 해결 해야함. ㅠㅠㅠㅠ
면접준비
[Swift 문법] 2 - 1. 기본 자료형
[Swift 문법] 2 - 1. 기본 자료형
swift
2024.10.06 14:46
🍏 1. 기본 자료형 (Primitive Types)◻️ 1) 정수형 (Integers)정수형은 소수점이 없는 정수 값을 저장하는 자료형입니다. Swift는 두 가지 주요 정수형을 제공합니다① Int : +, - 부호를 포함한 정수var age: Int = 30② UInt : - 부호를 포함하지 않는 0을 포함한 양의 정수var count: UInt = 50*🌈 Int와 UInt 중 선택해 사용*플랫폼에 따른 Int의 최댓값(64비트 환경이라면 Int64의 최댓값) 이상 UInt 최댓값 미만을 사용하게 되는 경우 이외 에는, UInt보다는 Int 타입을 사용하는 것이 권장된다.예를 들어 64비트의 환경이라면 Int64의 최댓값과 UInt64의 최댓값 사이의 값을 사용하는 경우 이외에 정수 타입의 값을..
[Swift 문법] 2. 자료형
[Swift 문법] 2. 자료형
swift
2024.10.06 14:33
🍎 자료형Swift에서 자료형의 역할🌈 자료형 (Data Type)변수나 상수가 저장할 수 있는 값의 종류와 해당 값에 대해 수행할 수 있는 연산을 정의하는 추상적 개념입니다.🌈 타입 안전성 (Type Safety)Swift는 변수나 상수가 선언된 타입과 일치하지 않는 값을 할당하거나 연산하려고 할 때 컴파일 타임에 오류를 발생시켜 타입 관련 오류를 방지합니다.🌈 타입 추론 (Type Inference)컴파일러가 변수나 상수의 초기 값을 기반으로 자동으로 타입을 결정하여 코드의 간결성과 가독성을 높입니다.🌈 타입 주석 (Type Annotation)변수나 상수를 선언할 때 명시적으로 타입을 지정하여 코드의 의도를 명확하게 표현하고, 컴파일러가 타입을 정확히 이해하도록 합니다.🍏 1. 기본 자료..
[TeamProject] Troubleshooting_AED API
[TeamProject] Troubleshooting_AED API
Team Project
2024.10.04 11:41
문제상황AED API의 요청 변수에 위도 경도 값이 존재 하지 않아서반경 데이터를 가져오는데 문제가 발생함문제 해결해결방안 논의1안 : 공공데이터 포털에 요청변수 추가 요청하기2안 : 앱 최초 실행 시 모든 데이터를 받아서 UserDefaults에 저장해서 위경도 값 필터링 해서 가져오기논의 과정https://github.com/Kim-Dong-Hyeon/Duriso/issues/56 [ETC] : AED데이터 관련 · Issue #56 · Kim-Dong-Hyeon/Duriso어떤 문제인가요? aed api 요청변수에 위경도 값을 지정해주는 요청변수가 없다보니 전체 데이터를 받아와서 거기서 가시성 조율을 하기에는 데이터가 너무 많은데 어떻게 하면 좋을까요? 생각한github.comgithub issue..
Junior Developer 면접 준비 면접카타⑤
Junior Developer 면접 준비 면접카타⑤
면접준비
2024.10.02 09:02
1. 싱글톤 패턴에 대해서 설명해주세요.답변: 싱글톤(Singleton) 패턴은 클래스의 인스턴스를 하나만 생성하고, 어디서든 이 인스턴스에 접근할 수 있도록 보장하는 디자인 패턴입니다. 주로 전역적으로 관리해야 하는 리소스나 상태를 공유하는 객체에 사용됩니다. iOS에서는 네트워크 관리, 데이터베이스 접근, 설정 관리 등에 주로 사용됩니다.추가 질문 가능성:싱글톤 패턴의 장단점은 무엇인가요?답변: 장점은 전역적인 상태 관리가 용이하고, 객체 생성 비용을 줄일 수 있다는 점입니다. 단점은 전역 상태를 공유하므로, 의존성이 높아지고 테스트가 어려워질 수 있다는 점입니다.iOS에서 싱글톤을 만들 때 주의할 점은?답변: Swift에서는 static let을 사용해 싱글톤을 구현할 때 스레드 안전성을 보장하고,..
Junior Developer 면접 준비 면접카타④
Junior Developer 면접 준비 면접카타④
면접준비
2024.10.02 08:59
1. clipToBounds에 대해서 설명해주세요.답변: clipToBounds는 부모 뷰의 경계를 기준으로 자식 뷰의 표시 여부를 결정하는 속성입니다. true로 설정하면 자식 뷰가 부모 뷰의 경계를 넘는 부분이 잘리고, false로 설정하면 넘는 부분도 보입니다.추가 질문 가능성:clipToBounds를 언제 사용하나요?답변: 부모 뷰의 경계를 넘어가는 자식 뷰의 내용을 숨길 때 사용합니다. 예를 들어, 부모 뷰에 둥근 모서리를 적용한 경우, 자식 뷰가 경계를 넘지 않도록 할 때 유용합니다.clipsToBounds와 maskToBounds 차이점은 무엇인가요?답변: clipsToBounds는 UIView에 적용되는 속성으로, 자식 뷰를 잘라내는 역할을 합니다. 반면, maskToBounds는 CALa..
728x90
image