WWDC9 WWDC19: Combine 소개 비동기 프로그래밍에 대해서여기 마법사 학교에 등록할 수 있는 간단한 요구사항을 지닌 앱이 있다.서버에 네트워크 요청을 통해 유효한 사용자 이름인지 확인비밀번호가 일치하는지 로컬에서 확인모든 작업 동안, 메인 스레드를 제한하지 않고 반응형 사용자 인터페이스를 유지 우선, 사용자 이름을 입력한다.사용자 입력에 대한 notification을 위해 Target/Action을 사용했다.그리고, 네트워크 요청으로 과부하 되지 않게 사용자가 타이핑을 멈추기를 기다리기 위해 타이머를 사용한다.마지막으로, KVO를 사용해 비동기 작업에 대한 진행 상황을 추적한다. 위 과정에 많은 비동기 작업이 있다.URL 세선 요청에 대한 응답응답에 대한 결과를 동기식 검사 결과와 병합모든 과정이후 KVC로 UI를 업데이트 이러한 .. 2024. 9. 11. WWDC24: Demystify explicitly built modules 정확한 내용은 원문 참고 바랍니다. 명시적으로 빌드된 모듈 쉽게 이해하기원문소개Xcode에서 Swift와 Clang 모듈이 구축되는 새로운 방식인 명시적으로 빌드된 모듈에 대한 소개포함 내용모듈이란 무엇인지모듈을 사용하여 코드를 구축하는 방법새로운 Xcode의 차이점이미 구축된 모듈을 최대한 재사용하여 빌드를 최적화하는 방법 모듈기본적으로 모듈은 코드 배포의 단위이며 라이브러리나 프레임워크의 인터페이스를 설명한다.Swift Target에는 모듈을 구성하는 여러 Swift 파일이 포함된다.일반적으로 단일 타겟이나 프레임워크의 모든 Swift 소스 파일은 동일한 모듈에 포함된다.모듈의 인터페이스는 Swift에 액세스 지정자로 명시적으로 표시된다.클래스와 해당 변수가 public으로 표시되어 importer.. 2024. 9. 6. WWDC24: Run, Break, and Inspect Explore effective debugging in LLDB 본문은 영어 공부를 겸해 WWDC 영상을 보고 정리한 것으로 오역이 있을 수 있습니다.정확한 내용은 원문 참고 바랍니다. 원문소개이 영상은 코드를 탐색하고, 버그를 빠르게 찾을 수 있는 디버깅 테크닉에 대한 소개 영상이다. lldb는 XCode와 함께 제공되는 기본 디버거로 프로그램을 일시 중지하고, 변수 상태를 검사하고, 식(expression)을 평가하는 등의 기능을 수행할 수 있다. Debugging model프로그램에서 이슈를 디버깅 할 때 크래시, 잘못된 값 혹은 프로그램이 중단되는 것처럼 잘못된 포인트를 제공받는다. 프로그램이 실행되고 잘못된 명령이 관찰되는 지점 사이 어딘가에서 잘못된 코드가 실행되었을 것이고, 우리의 목표는 그 코드 조각을 찾는 것이다.버그는 보통 다른 시점에서 프로그램의 .. 2024. 7. 22. WWDC24: Swift에서 noncopyable 유형 소비하기 정확한 내용은 원문 참고 바랍니다. 원문OverviewConsume noncopyable types in Swift.ownership, noncopyable type에 대한 소개 및 noncopyable을 제네릭, extension에서 사용하는 법 CopyingAutomatic copying아래 코드는 value 타입으로, player1을 player2로 복사(copying)하는 것이다.그래서 player2의 아이콘을 변경하여도 player1에 영향을 끼치지 않는다.struct Player { var icon: String}func test() { let player1 = Player(icon: "🐸") var player2 = player1 player2.icon = "🚚" assert(.. 2024. 7. 12. WWDC24: SwiftUI 컨테이너 쉽게 이해하기 본문은 영어 공부를 겸해 WWDC 영상을 보고 정리한 것으로 오역이 있을 수 있습니다.정확한 내용은 원문 참고 바랍니다. 원문OverviewSwiftUI에서 커스텀 컨테이너 뷰를 만드는 새로운 방법 소개 컨테이너 뷰: 컨테이너 뷰는 클로저를 사용해 콘텐츠 랩핑뷰 빌더에 정적 콘텐츠 정의 예: 하드 코딩 Text 뷰뷰 빌더에 동적 콘텐츠 정의 예: ForEach 사용해서 Text 뷰List { // 정적 콘텐츠 정의 Text("Scrolling in the Deep") Text("Born to Build & Run") Text("Some body Like View") // 동적 콘텐츠 정의 ForEach(otherSongs) { song in Text(song... 2024. 7. 2. Teck Talks: 더 적은 데이터로 더 많은 작업하기 본문은 영어 공부를 겸해 WWDC 영상을 보고 정리한 것으로 오역이 있을 수 있습니다. 정확한 내용은 원문 참고 바랍니다.원문Overview더 적은 데이터(유저 개인정보, 로그인, …)로 앱을 개선하는 방법. Delay sign-in as long as possible사람들은 가능하면 계정 없이 앱을 실행하는 걸 선호한다.→앱에 로그인 기능을 넣지 않거나, 로그인이 필요할 때 까지 로그인을 미룬다. Only request data you need쇼핑 앱의 회원가입에서 모든 항목이 필수 입력이라면, 소비자는 왜 주문을 하기 위해 내 생일 혹은 결혼 여부가 필요한지 모른다.→텍스트 필드에 옵셔널과 동시에 생일에 쿠폰을 지급하기 위해 필요하다고 알린다. 회원 가입을 위한 시간을 절약하기→애플 로그인을 사.. 2024. 6. 29. WWDC24: Swift on Server 생태계 본문은 영어 공부를 겸해 WWDC 영상을 보고 정리한 것으로 오역이 있을 수 있습니다.정확한 내용은 원문 참고 바랍니다. 원문영상 대부분이 코드 설명이라 찾아본 Swift on Server 문서와 정리한 내용 OverviewSwift on Server는 스위프트를 server-side 개발을 하기 위해 스위프트 프로그래밍 언어를 사용할 수 있는 능력서버에 Swift 애플리케이션을 배포하기 위해 Vapor, Hummingbird와 같은 웹 프레임워크를 사용할 수 있다. Swift on Server의 이점: server-side 코드를 작성하기 위한 안전, 효율적 옵션 제공(Swift의 장점을 서버에서도) 서버 애플리케이션에 적합한 다른 이유들: 성능(Performance), 빠른 시작(Quick start.. 2024. 6. 28. WWDC24: Swift Tesing 소개 본문은 영어 공부를 겸해 WWDC 영상을 보고 정리한 것으로 오역이 있을 수 있습니다.정확한 내용은 원문 참고 바랍니다.원문소개새로운 오픈 소스 패키지인 Swift Testing 추가Swift Testing은 Descriptive, organized tests, Actionable failures, Scalable에 강점으로 리눅스와 윈도우에서도 지원 Building blocks사용: Target - Unit Testing Bundle 후 import해서 사용import Testing 선언: @Test 어노테이션, 선언 시 실행 버튼 생김(플레이그라운드에 있는 거)@Text func videoMetadate() { } 테스트 코드 작성: #expect(…) 매크로, 결과 값 예측하면 됨테스트 실패 시.. 2024. 6. 27. WWDC24: SF Symbols 6 본문은 영어 공부를 겸해 WWDC 영상을 보고 정리한 것으로 오역이 있을 수 있습니다.정확한 내용은 원문 참고 바랍니다.원문Animation presets새로운 애니메이션 프리셋 추가: Wiggle, Rotate, Breathe새로운 기능 업데이트: Replace, Variable ColorWiggle: 상하좌우, 원하는 각도 지원Rotate: 전체 회전, 특정 부분 회전 지원Breathe: 부드러운 확장 및 축소Replace: Magic Replace라는 관련 있는 두 심볼간 베이스 심볼을 기준으로 부드러운 전환(슬래시 벨 → 벨 → 배지 벨)Variable Color: Open loop(end point 2개), Closed loop(end point 1개) 중 Closed loop의 애니메이션 반복.. 2024. 6. 26. 이전 1 다음