[Swift] load(_:) method (fetching JSON data) 뜯어보기 import Foundation //Create an array of landmarks that you initialize from landmarkData.json. var landmarks: [Landmark] = load("landmarkData.json") func load(_ filename: String) -> T { let data: Data guard let file = Bundle.main.url(forResource: filename, withExtension: nil) else { fatalError("Couldn't find \(filename) in main bundle.") } do { // Data(contentsOf:) 메서드를 사용하여 파일의 내용을 Data 객체로 읽어온다...
[Swift] Swift 에서 Hashable, Codable은 뭘까? Protocol 알아보기 swiftui tutorial 의 예시 코드를 공부하다보면, Struct 뒤에 ~able 로 붙은 것들이 보인다. 이건 무엇이며 각각 어떤 역할을 할까? Hashable과 Codable은 스위프트 언어에서 프로토콜(Protocol)이다. 예시코드에서 각각의 의미 1. Hashable: Hashable 프로토콜은 객체를 고유한 해시값으로 매핑할 수 있도록 해주는 프로토콜이다. 해시값은 객체를 식별하는 데 사용되며, 해시 함수를 통해 계산된다. Hashable 프로토콜을 채택하면 해당 객체를 Set이나 Dictionary의 키로 사용할 수 있다. 또한, Hashable 프로토콜을 준수하는 객체는 집합(Set)과 같은 자료 구조에서 중복된 요소를 제거할 수 있다. Landmark 구조체의 인스턴스가 Hasha..
[SwiftUI] 헷깔리는 State, Binding, ObservedObject, EnvironmentObject 총정리 SwiftUI에서의 Single Source of Truth(SSOT, 단일 진실 공급원)란 데이터의 일관성과 정확성을 유지하기 위한 중요한 개념이다. 정보 시스템에 대한 SSOT(Single Source Of Truth) 아키텍처 또는 SPOT(Single Point Of Truth) 아키텍처는 모든 데이터 요소가 마스터(또는 편집)되도록 정보 및 모델 관련 데이터 스키마를 구성하는 관행이다. 한 곳에서만 정규 형식으로 데이터 정규화를 제공한다. 이 데이터 요소에 대한 모든 가능한 연결은 참조용이다. 데이터의 다른 모든 위치는 "source of truth" 위치를 다시 참조하기 때문에 기본 위치의 데이터 요소에 대한 업데이트는 전체 시스템에 전파되어 효율성/생산성 향상, 잘못된 불일치의 쉬운 방지 같..
[SwiftUI Tutorials] SwiftUI Essentials - Creating and Combining Views Creating and Combining Views | Apple Developer Documentation This tutorial guides you through building Landmarks — an app for discovering and sharing the places you love. You’ll start by building the view that shows a landmark’s details. developer.apple.com - SwiftUI 앱 수명 주기를 사용하는 앱은 앱 프로토콜을 준수하는 구조를 가짐. - 이 구조의 body 속성은 하나 이상의 Scene을 반환하고 표시할 콘텐츠를 제공. - @main 속성은 앱의 entry point를 식별. - 기본적으로 Swi..
React, Firebase을 이용하여 만든 해커톤 웹페이지 개발팀 회고 http://norithon.com 해커톤 웹사이트는 요기 있고요 ..! 게스트로 로그인하시면 내용 열람이 가능합니다. 🌞 HGU HACKATHON norithon.com 해커톤 디렉터이자 웹사이트 개발 리더로 3개월을 보냈습니다! 웹 개발은 한달정도를 썼습니다. 우리 팀에 대한 한줄 요약은..! 환상의 팀워크와 함께 아주 성공적인 프로젝트였다...... 후! 같이 나누면 좋을 것 같은 내용들을 각자 정리해서 오늘 함께 공유했습니다 :) 아래는 제가 프로젝트 하면서 포스팅 했던 글들 + 이번에 회고를 위해 노션에 썼던 내용 옮긴 글들인데 한번 모아봤습니다. 리액트 폴더구조의 정석이 있을까 우리가 코딩한 src 폴더 사실 노마드코더를 따라했기 때문에.. 그리고 이번 프로젝트는 그 안에서 충분히 커버가 가능..
[히힉 .. 히..힉ㅎ] Foundations - Color 내가 예전부터 보고싶던 파트 !!! ㅎㅎ 디자인시스템에서 컬러 지정은 아주 중요하기 때문에 이에 관해 애플이 공식적으로 작성한 문서를 읽고 싶었다. 그치만 먼저 읽으면 재미없으니까 ,,, 앞에서부터 차근차근 공부했다 사실 뒤에 다크모드랑 타이포도 상당히 궁금 👀 Color Judicious use of color can enhance communication, evoke your brand, provide visual continuity, communicate status and feedback, and help people understand information. 색상의 현명한 사용은 의사소통을 향상시키고, 브랜드를 환기시키며, 시각적 연속성을 제공하고, 상태와 피드백을 전달하며, 사람들이 정보를 이..
Firebase 보안규칙 수정 : 파이어베이스에 안전하지 않은 규칙이 있습니다 메일 올 경우 해결 방법 파베 보안규칙 보안 규칙 시작하기 | Firestore | Google Cloud 보안 규칙 시작하기 | Firestore | Google Cloud 의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 보안 규칙 시작하기 Firestore 보안 규칙을 사용하면 인프라를 관리하거나 서버 측 인증 및 승인 cloud.google.com 정말 징글징글하게 이메일을 보내 괴롭히던 firebase 보안규칙을 수정했습니다 (계속 경고하니까 불안했슴 🥲 경고 감사합니다 구글씨) 1. 보안규칙 버전 작성 rules_version = '2'; 기존의 rules_version = '1' 은 와일드 카드를 사용할 때 한 개 혹은 두 개 이상의 path를 포함하고 있어야하기 때문에 자유..
[히힉 .. 히..힉ㅎ] Foundations - Branding Branding Apps and games express their unique brand identity in ways that make them instantly recognizable while feeling at home on the platform and giving people a consistent experience. 앱과 게임은 플랫폼에서 편안함을 느끼면서 사람들에게 일관된 경험을 제공하는 방식으로 그들의 고유한 브랜드 정체성을 표현한다. 🤔 브랜딩의 정의에 대해 다시 생각해보게끔 하는 문장이었다. * 브랜드란 ? “제조업자 또는 판매업자가 자기의 제품 또는 서비스에 정체성을 부여하고 경쟁업자의 제품이나 서비스와 차별화하여 고객들에 의해 구별되게 하려는 목적으로 사용하는 이름, 용어, 숫..
[히힉 .. 히..힉ㅎ] Foundations - App icons App icons A unique, memorable icon communicates the purpose and personality of your experience and can help people recognize your app or game at a glance in the App Store and on their devices. 독특하고 기억에 남는 아이콘은 당신의 경험의 목적과 성격을 전달하고 사람들이 앱 스토어와 그들의 기기에서 당신의 앱이나 게임을 한 눈에 알아볼 수 있도록 도와줄 수 있습니다. Beautiful app icons are an important part of the user experience on all Apple platforms and every app and g..