swift 썸네일형 리스트형 [iOS] Metal - 1 사전지식Rendering(렌더링)3D 컴퓨터 그래픽에서는 여러 점을 연결해 화면에 이미지를 만듦여기서 이미지 → 렌더라고 함3D 모델을 실제 이미지처럼 보이게 하는 과정 → 렌더링 렌더링이 왜 필요할까?3D 모델은 구조, 모양만 존재 → 빛, 그림자, 색에 대한 요소 X렌더링을 통해빛을 어디에 비출지그림자가 어떻게 혹은 어디에 생기는지재질 등을 계산해서 진짜 처럼 보이게 만드는 과정→ 그냥 뼈대만 있으니 거기에 색상, 그림자를 입혀 real하게 보이게 하는 거 3D 모델?Vertex라는 정점들로 구성되어 있는 뼈대정점들을 연결하여 모양을 만들고 여기에 색, 재질, 빛 효과 등을 입혀 3D 이미지 생성 렌더링 파이프?3D 모델이 화면에 나타나기까지 거치는 모든 과정모델을 불러옴 → 정점 정보 읽어드림GPU.. 더보기 [iOS] Metal - 0 Metal?Apple에서 만든 고성능 그래픽 & 계산용 APIiOS, macOS, tvOS에서 GPU를 직접 제어할 수 있도록 해줌그래픽 렌더링뿐만 아니라, 머신러닝, 영상 처리 등에도 활용 가능 왜 Metal을 쓰나?OpenGL보다 훨씬 저수준의 접근 가능 → 더 빠르고 최적화된 렌더링iOS12 부터 OpenGL ES 권장 XmacOS에서는 아예 deprecated 처리Apple 에서는 Metal이 그래픽 개발의 표준이 됨Shader 프로그래밍(Metal Shading Language)을 통해 실시간 효과 구현 가능Swift, Objective-C에서 손쉽게 사용 가능 (애플 생태계 최적화)저수준(Low-level)?저수준 API- 시스템이나 하드웨어(GPU 등)에 더 직접적이고 세세하게 접근할 수 있.. 더보기 [iOS] SKIP.tools 사용기 SKIP.tools Install사전 설치: Xcode, Android Studio, Homebrew 도 설치가 되어있어야합니다..!저는 Android Studio만 추가적으로 설치해줬습니다 그 다음엔 brew install skiptools/skip/skipskip checkup차례로 진행하면 되는데요checkup 시, 하나라도 체크가 안 되면 다음 단계로 넘어갈 수 없어요..! 저는 안드로이드 스튜디오를 설치만하고 실행, 추가 패키지 설치를 하지 않아서 오류가 났습니다.다시 깔아주고 chekcup하면 이렇게 쫘악 체크표시가 뜬답니다. 그 다음엔위의 폼에 맞게 스킵을 실행시켜주면 됩니다.실행시켜주면..! Wow... 알아서 촤라락 나오는데요.. 코드도 예시코드들이 기본적으로 작성이 되어있습니다.그래서 .. 더보기 [iOS] SKIP.tools? Skip이란? Skip은 Swift 기반의 선언형(declarative) UI 프레임워크로, iOS와 Android 양쪽을 위한 네이티브 앱을 단일 코드베이스(Swift언어, Xcode)로 개발할 수 있게 해주는 도구 SKIP이 말하는 SKIP의 장점 진정한 네이티브 경험- Skip을 통해 생성된 앱은 iOS에서는 SwiftUI를, Android에서는 Jetpack Compose를 사용하여 완전한 네이티브 UI 제공 투명성- Skip의 라이브러리는 오픈 소스로 제공되며, 복잡한 런타임이 없어서 디버깅이 용이 경량성- SkipZero를 사용하면 iOS 앱은 추가적인 Skip 프레임워크에 의존하지 않으며, Android 앱도 최소한의 오픈 소스 라이브러리 필요 메모리 효율성- 추가적인 관리형 런타임이 없으.. 더보기 [개인 프로젝트] SpotChat 회고 ⭐️ 기획 단계🤔 주제 선정유럽 여행 경험을 바탕으로, 사람들이 함께 동행할 수 있는 플랫폼이 있으면 좋겠다는 필요성을 느꼈습니다.특히 유럽 여행지에서 동행을 구하는 활동이 ‘유랑’과 같은 온라인 커뮤니티에서 주로 이루어진다는 점에서 착안하여, 이를 더욱 간편하게 연결할 수 있는 모바일 앱으로 구현하고자 했습니다.또한, 이러한 활동이 주로 젊은 연령층 사이에서 이루어지고 있음을 고려했을 때, iOS 앱으로 출시가 된다면 해당 타겟층에게 높은 메리트를 제공할 것으로 판단했습니다. ✅ 개발 방식지난 프로젝트에서는 처음부터 모든 기능을 완벽히 설계하고 진행하는 방식으로 작업을 진행했습니다. 그러나 프로젝트 후반부에 새로운 요구사항이 생기거나 수정이 필요할 때, 앱 전반을 변경해야 하는 상황이 발생했습니.. 더보기 [iOS] About 채팅 UI UIKit을 활용한 채팅 UI... 그런데 이제 SnapKit을 곁들인.. 준비물: UIKit, SnapKit, UITableViewCell, 채팅에 대한 정보(송신자, 시간, 내용 등) 구성요소: messageBubble, messageLabel, imageContainerStackView, taimeLabel 목표- 메시지를 보낸 사람이 본인 / 상대방 에 따라 메시지 버블 색삭 및 위치 다르게 설정- 텍스트와 이미지를 포함한 메시지 지원 0. 뷰 계층 구성은 SKIP~ 1. 메시지 버블 레이아웃 private var leadingConstraint: Constraint?private var trailingConstraint: Constraint?messageBubble.snp.makeConstra.. 더보기 [iOS] About CoreData Core Data앱에서 모델 계층 개체를 관리하는 데 사용하는 프레임워크 - Core Data는 DB가 아닌 객체-그래프 관리 시스템으로, 데이터를 효율적으로 관리할 수 있도록 도와줌- 데이터를 메모리에 로드한 뒤 처리하는 방식으로 작동, but In-Memory 방식도 지원- 객체를 영구 저장소에 매핑하는 세부 정보를 추상화하여, 데이터베이스를 직접 관리하지 않고도 Swift 데이터 모델을 쉽게 저장하고 관리- 기본 SQLite 데이터베이스 사용- 데이터베이스를 다루는 SQL을 사용하지 않고 객체를 다루는 방법으로 데이터 핸들링Core Data의 주요 기능 1. 객체-그래프 관리 시스템- 객체와 관계를 효율적으로 관리- 데이터의 저장과 로드를 지원하여 앱 데이터를 효과적으로 처리 객체 그래프?- 객.. 더보기 [개인 프로젝트] Share.D 회고 ⭐️ 프로젝트 소개👉 선물을 고민하는 사용자들에게 다양한 추천 카테고리 제공👉 선물에 대해 다른 사용자들과 의견을 교환할 수 있는 커뮤니티 기능👉 결제까지 지원해 사용자의 선물 선택 과정에서 발생하는 고민과 불편함 최소화 개발 기간: 2024.08.14 ~ 2024.09.01 (약 2주) ⭐️ 기획 단계 🤔 주제 선정개인 프로젝트를 진행할 때, 제 생활과 밀접하게 연결된 주제를 선택해 실생활에 유용한 방향으로 기획하고자 했습니다.특히, 선물을 고르는 일이 늘 어려웠던 저는 매년 기념일마다 같은 고민을 반복해왔습니다.이러한 고민을 덜어주는 동시에, 비슷한 고민을 가진 사람들끼리 소통할 수 있는 기회를 제공하면 좋겠다는 생각에서 이 주제를 선택하게 되었습니다. 📏 공수 산정工數(공수): 일정한.. 더보기 이전 1 2 다음 목록 더보기