본문 바로가기
반응형

전체 글96

[Swift] LivePhoto 촬영 오랜만의 글입니다.최근에 카메라앱을 구현해보고있는데요, 아무래도 카메라가 하드웨어를 다루다보니 좀 어려운 부분이 있어일단 추후에 길게 다시 작성할거지만 일단 방법을 까먹지않기 위해 간략하게나마 글을 작성해보려고 해요.(사실상 일기) 카메라를 이용해서 사진을 찍는 방법은 어찌보면 냉장고에 코끼리를 넣는방법과 같습니다.일단은 개념적으로 AVCaptureSession이라는 친구가 미디어 입출력을 전부 관장합니다. 뭐가 있나 알아보자면 1. AVCaptureDevice를 관리한다.우리가 아이폰에서 카메라로 찍을수 있는게 사진도 있고 영상도 있고 종류가 다양하죠?이때 사진을 찍는다 하면 그냥 사진도 있고, 셀카도 있어요.이런 외부의 입력들을 싸잡아서 AVCaptureDevice라고 합니다.(각종 카메라들(전후면,.. 2025. 8. 25.
[Swift] Calendar와 DateFormatter의 관계 이번글은 그냥 푸념, 잡념, 뭔가의 깨달음, 그냥 뻘소리일수도 있습니다. 최근에 인턴을 하면서 커스텀 캘린더를 만들 기회가 있었습니다. 뭐랄까 그냥 처음에는 글을 읽기보단 그냥 긁어와서 붙여넣기 바빴는데요,(개발자는 복붙만 잘하면 된대요!)하다 보니까 뭔가 잘 안되기도 하고 욕심이 생기기도 해서 다시 좀 찾아보고 있습니다.하여 최근에 든 생각을 찌끄린 글입니다. 1. 개인적인 생각Calendar 객체는 date, dateComponent 등으로 반환을 합니다.그래서 제가 느끼기엔 주로 뭔가 실제로 값을 사용해야 하는? 뭔가 실존하는 값이 나오는?뭐라고 해야 될까요... 아마 DateFormatter 얘기를 들어보시면 느낌이 오시지 않을까그냥 뭔가 실제로 데이터를 사용할 때에 Calendar를 쓰는 게 맞.. 2025. 3. 3.
[CS] Swift로 의존성 주입 이해하기 오늘은 의존성 주입(DI; Dependency Injection)의 개념과이를 활용한 코드 예제를 통해 결합도를 낮추고, 유지보수성을 높이는 방법을 알아봅시다. 1. 의존성우리가 어떤 클래스를 만들고 나면 실제로 사용할땐 아래의 예시코드처럼 인스턴스를 생성해서 씁니다.class InkjetPrinter { func printDocument(content: String) { print("Inkjet Printer: \(content)") }}class LaserPrinter { func printDocument(content: String) { print("Laser Printer: \(content)") }}class Document { private .. 2025. 2. 26.
[CS]Swift로 다형성 이해하기 이번 글에서는 다형성의 개념을 설명하고, 이를 이해하기 위한 예시 코드를 함께 살펴보겠습니다.다형성(Polymorphism)은 객체 지향 프로그래밍(OOP)의 중요한 개념 중 하나로,같은 프로토콜을 채택하여 서로 다른 타입의 객체를 다룰 수 있게 해줍니다. 1. 다형성의 정의다형성(Polymorphism)을 직역하면 '여러 형태를 가질 수 있다는 성질을 뜻합니다.진정한 의미는같은 메서드나 프로퍼티가 다양한 객체에서 다르게 동작할 수 있는 능력을 말합니다.주로 두 가지의 경우를 의미하는데요,오버로딩(Overloading) : 같은 이름의 메서드를 매개변수의 타입이나 개수에 따라 다르게 정의하는 것.오버라이딩(Overriding) : 자식(서브)클래스에서 부모(슈퍼)클래스의 메서드를 재정의하는 것.2. 오버.. 2025. 2. 21.
[Swift] 초미세팁 - ForEach의 redraw 이번에 코드 작성하다 알게 됐는데요,SwiftUI에서 여러분들이 일반적으로 foreach를 쓸 때 아래와 같이 쓸 거 같은데요,ForEach(0.. 이번에 새로 알게 된 점은 여기서 id가 없으면 SwiftUI 내부적으로 식별자를 자동으로 추론한다고 합니다.여기까진 별 문제없죠? 근데 여기서 문제가 만약 numbers가 항상 변동성이 있는, 뭔가 값도 복잡하고 코드도 복잡해지고 그렇게 되면?정상적으로 id를 추론하지 못하게 됩니다. numbers가 변경되어도 안에 생성될 셀들이 제대로 그려지지가 않더라고요.데이터를 뽑아보면 정상적으로 값은 변동되고 있지만 제대로 반영되지 않아 그대로인 것처럼 보이더라고요?제 경우엔 부족했었습니다. 하여 위의 두 가지 중 아래의 예시처럼 id를 명시적으로 적어주면 정확하게.. 2025. 2. 17.
[Git] Github와 디스코드 연동하기 이전 글에서 Jira와 디스코드를 연동하는 방법에 대해 알아봤습니다.(이 글에 설명이 되어있답니다~) 이전글에서와 마찬가지로 인턴을 진행하다 보니 팀내부에선 디스코드로 협업하는 게 편하더라고요, (슬랙을 무료로 쓰는 느낌 + 더 익숙함)(그래서 앞으로 프로젝트 진행할땐 무조건 가능하다면 디스코드로 진행하는 게 낫지 않을까 라는 생각 중... 적어도 개발자들한텐 편할지도?) 암튼 그래서 이번엔  깃허브와 디스코드를 연동하는 방법을 알려드리고자 합니다~ 1. 디스코드에서 WebHook(웹후크)URL 발행하기어디서 많이 본 내용이죠?맞습니다. 이전글에서 했던 내용을 똑같이 반복해줍니다. 1-1. 설정1-2. 웹후크 URL 발행 2. 깃허브에 웹후크 URL 등록하기설정하려는 레포의 설정에 들어가면사이드 메뉴에 .. 2025. 1. 15.
반응형