Front-end Engineer

고민과 함께 성장하는 개발 블로그

[Swift] SwiftUI 스택과 프레임

이 내용은 SwiftUI 스택과 프레임에 대해 다룹니다. SwiftUI는 VStack, HStack, ZStack 형태의 세 가지 스택 레이아웃을 제공하고, Spacer를 통해 뷰 사이의 공간을 조절합니다. 컨테이너 뷰는 바로 아래에 위치한 뷰를 10개로 제한하지만, Group 뷰를 이용하면 더 많은 뷰를 처리할 수 있습니다. 또한, SwiftUI는 동적으로 스택 타입을 바꿀 수 있게 해주며, 뷰의 크기를 조절하기 위해 조절 가능한…

[Swift] SwiftUI 아키텍처와 커스텀 뷰

안녕하세요! 이번 글에서는 Swift UI 아키텍쳐와 커스텀 뷰 대해서 정리하고자 합니다. 소개 2019년 애플의 WWDC에서 소개된 SwiftUI는 모든 애플 운영체제에서 앱을 개발하는데 사용되며 새로운 방법을 제공합니다. 선언적 구문을 사용하며 데이터 주도 기반으로 앱을 설계가 가능합니다. SwiftUI 선언은 계층적으로 구조화되어 있습니다. 작고 재사용 가능한 컴포넌트를 생성하도록 처리하여 복잡한 뷰를 쉽게 생성이 가능하도록 설계되었습니다. Swift UI 아키텍처…

[Swift] 에러 핸들링

안녕하세요! 이번 글에서는 Swift에서 에러 핸들링에 대해서 정리를 해보고자 합니다. 스위프트 에러 스위프트에서 에러를 처리하는 방법은 두가지 방법이 있습니다. 앱의 메서드 내에서 원하는 결과가 나오지 않는 경우에 에러를 발생(throwing)하는 것이고, 두 번째는 메서드가 던진 에러를 캐치하여 처리하는 것입니다. 에러를 던지는 경우에는 Error 프로토콜을 따르는 값으로 처리가 가능합니다. 에러를 던지도록 구현하는 것도 중요하지만, iOS SDK의 많은…

[Swift] 컬렉션 다루기

이 포스트는 Swift 언어에서의 컬렉션(배열, 딕셔너리) 사용 방법에 관한 설명입니다. 가변, 불변형 컬렉션의 개념을 소개하고, 스위프트 특유의 배열과 딕셔너리 사용법, 조작할 수 있는 다양한 프로퍼티와 메서드에 대해 설명하였습니다. 또한, 배열과 딕셔너리의 사용 적합 케이스와 성능에 관해 상세한 설명이 포함되어 있습니다.

[Swift] 구조체와 열거형 그리고 프로퍼티 래퍼

안녕하세요! 이번 글에서는 Swift의 구조체와 열거형 그리고 프로퍼티 래퍼에 대해서 정리하고자 합니다. 구조체 클래스처럼 구조체도 객체지향 프로그래밍 기초를 형성하며 데이터와 기능을 재사용할 수 있는 객체로 캡슐화하는 방법을 제공합니다. class 키워드를 사용하는 대신에 struct 키워드를 사용합니다. 클래스와 마찬가지로 구조체도 확장될 수 있으며, 프로토콜을 채택하거나 초기화를 가질 수 있습니다. 대신 상속이나 하위클래스는 지원하지 않습니다. (하나의 구조체가 다른…

[Swift] 객체지향 프로그래밍

안녕하세요! 이번 글에서는 Swift의 객체지향 프로그래밍에 대해서 정리해보고자 합니다. 클래스 새로운 스위프트 클래스를 선언할 때 새롭게 만드는 클래스가 어떤 부모 클래스에서 파생되었는지를 지정하고 클래스에 포함할 프로퍼티와 메서드를 정의합니다. 객체지향 프로그래밍의 핵심 목적은 테이터 캡슐화라는 개념입니다. 데이터 캡슐화의 기본 개념은 클래스에 저장되고 접근될 수 있는 데이터는 오직 해당 클래스 내에 정의된 메서드만을 통해서만 가능합니다. 클래스 내의…

[Swift] 함수 메서드 정의하기 (클로저, 클로저 표현식)

안녕하세요! 이번 글에서는 Swift의 함수, 메서드 정의 방법에 대해서 정리하고자 합니다. 함수 함수명, 매개변수, 그리고 반환 결과 타입의 조합을 함수 시그니처 (function signature)라고 불립니다. 함수가 단일 표현식을 가지고 있다면 return 구문을 생략할 수 있다. 함수 호출 메소드를 홀출하여 반환된 결과값을 사용하지 않는 경우에는 반환값을 ‘_’에 할당하여 해당 값을 버린는것도 가능합니다. 함수 매개변수에는 지역매개변수와 외부 매개변수가…

[Swift] 로직 제어 흐름 통제하기

이 글은 Swift의 로직 제어 흐름에 대해 설명합니다. 반복 제어와 조건부 제어로 구분되고, 반복 제어는 for – in 구문과 repeat … while 구문으로 나타냅니다. 또한, 조건을 검사하는 guard 구문과 다양한 case를 처리할 수 있는 switch 구문도 소개되었습니다. 스위프트의 제어 흐름은 코드의 효율성과 명확성을 높입니다.

[Swift] 핵심 데이터 타입

이 글에서는 Swift 언어의 기본적인 데이터 타입에 대해 설명합니다. 정수형, 부동소수점, 불리언, 문자, 문자열 데이터 타입뿐만 아니라 변수와 상수, 타입 캐스팅 등에 대해 자세히 다룹니다. 또한, 문자열 보간, 튜플, 옵셔널 타입 등의 특징과 사용법도 상세히 설명하며, Swift가 타입 안정성을 유지하는 방법에 대해 간략하게 소개합니다.

효율적인 로그인 관리를 위한 액세스 토큰과 리프레시 토큰 활용 (React Native JWT)

이 글은 React-Native에서 JWT를 이용한 로그인 프로세스 설계에 대한 내용입니다. 로그인 프로세스는 신원확인, 인증방법 제시, 서버에 의한 인증검증의 세 단계를 포함하고 있습니다. 주요 내용 중 JWT 인증 정보 전달 방법, 장단점, 그리고 서비스 로그인 프로세스가 다루어졌으며, 사용자 경험 개선을 위한 UI 피드백 제공, 자동 로그인 구현 등을 설명하였습니다.

React Native에서 일관된 디자인 경험을 위한 개발적 고민: 디자인 시스템과 컴포넌트의 활용

이 내용은 레거시 프로젝트에서 다양한 기기의 크기에 유연하게 대응하기 위해 디자인 너비를 개선하기 위한 과정을 설명하고 있습니다. React Native를 활용하여 기기의 크기만큼 컴포넌트의 크기가 조정되도록 설계하고, 비효율적인 계산을 줄이기 위해 메모이제이션을 적용하는 방법에 대해 설명하였습니다. 이를 통해 성능이 크게 향상되었으며, 사용자는 일관성 있는 경험을 얻을 수 있게 되었습니다.

React Native Storybook 환경 구축하기

이 글은 Expo에서 RN Storybook을 빠르게 구축하는 방법에 대해 설명합니다. 필수 모듈 설치, 설정, 경로 지정, 파일 생성, 스토리북 작성 방법, 실행환경 분리 등 주요 프로세스에 대해 상세히 안내합니다. 또한, 이를 통해 개발 프로세스를 원활하게 진행하며 환경 구성 시간을 절약하고 스토리북의 장점을 경험할 수 있음을 명확히 합니다.

워드프레스닷컴에서 웹사이트 또는 블로그 만들기