전체 글 39

[ReactNative] 카카오버스 클론코딩 - 1. SectionList와 FlatList와의 차이 및 데이터 관리

ReactNative를 이용한 카카오버스 클론 코딩을 진행해보겠습니다. 패스트캠퍼스 강의를 참고하였습니다. 1) SectionList와 FlatList와의 차이 SectionList와 FlatList는 React Native에서 데이터를 표시하는 데 사용되는 두 가지 주요 컴포넌트입니다. 각각의 주요 차이점은 다음과 같습니다: 1. 데이터 구조: FlatList: 단일 목록을 표시하는 데 사용됩니다. 일차원 배열을 기반으로 합니다. SectionList: 섹션에 대한 데이터를 가진 목록을 표시하는 데 사용됩니다. 다차원 배열 또는 객체 배열을 사용하여 섹션과 각 섹션에 속하는 항목을 정의합니다. 2. 구조: FlatList: 단일 목록이므로 단일 열에 항목을 표시합니다. SectionList: 섹션과 각..

[Swift] URLSession 을 이용한 HTTP 통신

URLSession을 이용한 HTTP 통신 URLSession은 iOS 앱에서 HTTP/HTTPS 통신을 위한 API이다. URLSession을 사용하여 서버와 통신하면서 데이터를 주고받을 수 있다. URLSession은 쉽게 사용할 수 있으며, 다양한 기능을 제공한다. URLSession의 기본 사용법 URLSession은 기본적으로 세 가지 클래스로 구성되어 있다. 1. URLSessionConfiguration URLSessionConfiguration은 URLSession을 생성할 때 사용하는 설정 클래스이다. URLSessionConfiguration은 세션의 동작 방식 및 기타 속성을 구성할 수 있는 다양한 속성을 제공한다. 2. URLSession URLSession은 실제로 서버와 통신을 ..

IOS 개발/개념 2023.03.16

[Swift] UserDefaults

💾 UserDefaults UserDefaults는 간단한 데이터를 저장하기 위한 인터페이스입니다. 이 인터페이스를 사용하여 앱의 설정, 상태 및 기타 데이터를 저장하고 검색할 수 있습니다. 일반적으로 UserDefaults는 다음과 같은 데이터를 저장하는 데 사용됩니다. Boolean 값 (true/false) Int, Float, Double 등의 숫자 문자열 날짜 및 시간 데이터 (Data) 이 인터페이스는 일반적으로 Key-Value 저장소로 작동하며, 각 데이터에 대한 고유한 키를 할당하여 검색할 수 있습니다. UserDefaults는 간단하고 쉽게 사용할 수 있으며, 앱의 설정을 저장하는 데 적합합니다. 아래는 UserDefaults를 사용하여 값을 저장하고 검색하는 간단한 예시 코드입니다. ..

IOS 개발/개념 2023.03.16

[Swift] didSet과 willSet

didSet 과 willSet 은 프로퍼티의 값 변화에 대한 감지를 할 때 사용되는 프로퍼티 옵저버입니다. willSet willSet 은 프로퍼티의 값이 설정되기 직전에 호출되며, 새로운 값이 함수의 매개변수로 전달됩니다. var name: String = "John" { willSet { print("name will be changed from \(name) to \(newValue)") } } 프로퍼티 name의 값이 변경되기 직전에 호출되며, 변경될 새로운 값인 newValue를 인자를 전달 받습니다. willSet은 이전 값을 알 수 없으며, 프로퍼티의 값이 아직 변경되기 전에 실행되기 때문에 변경 전의 값을 참조할 수 있습니다. didSet didSet은 프로퍼티의 값이 설정된 직후에 호출되..

IOS 개발/개념 2023.03.16

[Swift] Storyboard

Swift에서 UI를 그려주는 방식에는 두가지가 있습니다. 코드 Storyboard 이 글에서는 Storyboard가 무엇이며 사용할때의 장단점을 다뤄보겠습니다. 1. Storyboard 란 🛹 IOS Application의 UI의 흐름을 시각적으로 표현한 것으로 화면의 내용과 화면간의 연결을 보여줍니다. viewController와 view로 이루어진 scene의 집합으로 이루어져 있고 scene들은 두 개의 viewController의 전환을 나타내는 segue 객체 (아래 이미지의 화살표)로 연결되어 있습니다. 2. 장단점 장점 결과물을 예측하기 쉽고 속성을 쉽게 확인 가능 코드를 일일히 작성하지 않아도 되기 때문에 시간 절약 segue 객체를 통해 scene들을 연결하기 때문에 앱 내에서의 화면 ..

IOS 개발/개념 2023.03.16

[Swift] 아웃렛 변수(Outlet Variable)와 액션 함수(Action Function)

아웃렛 변수 (Outlet Variable) : 객체에 대한 속성을 지정할 떄 액션 함수 (Action Function) : 객체에 이벤트를 넣고 싶을 때 아웃렛 변수를 추가하는 소스 @IBOutlet var lblHello: UILable! 1) @IBOutlet @IBOutlet으로 정의된 변수를 아웃렛 변수라고 한다. 객체를 소스 코드에서 참조하기 위해 사용하는 키워드이며, 색상, 크기, 모양, 선의 두께, 텍스트 내용 등 객체의 속성을 제어하는데 사용된다. 2) var lblHello 변수를 사용할 때는 var 키워드를 사용한다. 3) UILable! 선언하고자 하는 변수의 타입을 나타낸다. 액션 함수를 추가하는 소스 @IBAction func btnSend(_sender : UIButton){ ..

IOS 개발/개념 2023.02.21

React Native 주요 개념

Core components StatusBar : 상태바를 관라해주는 컴포넌트 StyleSheet : 각 컴포넌트를 스타일링 해줄때 쓰는 컴포넌트. 스타일싯트 내에서 스타일을 설정해주고 불러와서 사용 가능 Image : Source라는 코드를 사용하여 이미지를 지정하는데 require 를 사용, 절대경로나 상대경로지정 / url 로 웹경로 지정하여 이미지 지정 가능 TextInput : Value 에다가 “text” 입력 / placeholder 로 힌트값 넣기 가능 ScorllView Button : title로 텍스트 입력 / onPress로 클릭시 실행 이벤트 적용 Switch : value 로 false , true 설정 가능 Props 객체 인자로 상위컴포넌트가 하위 컴포넌트에게 내려주는 데이터..

ReactNative/개념 2023.01.09

React Native 란?

자바스크립트 기반 언어 iOS 와 안드로이드 둘 다 개발이 가능한 언어이고 심지어 웹도 가능 아주 높은 생산성을 가지고 있다 자바스크립트 언어를 네이티브 코드로 변환하는 작업이 필요함 그것을 Bridge가 해줌 장점 하나의 코드로 관리, 러닝커브 높은 React 사용 코드푸시로 빠른 업데이트 -> 비용절감 심사 제출 관리 없이 코드 푸시로 업데이트가 가능 정말 좋은 장점 Fast Refresh 변경된 코드를 저장만 해도 앱화면상 바로 적용이 가능 빌드 시간 단축 가능 오픈소스 플랫폼이 잘 되어 있음 단점 일부 기능은 Native 접근이 필요 결국 Native 언어도 어느정도는 알아야할듯 오픈소스와 라이브러리 의존도가 높다보니 그것을 관리하지않으면 관리가 어려워짐 성능 이슈가 생길 수 있음 잦은 업데이트가..

ReactNative/개념 2023.01.09

Wear os 데이터 연동

모바일 앱과 웨어러블 앱 간의 데이터 통신에 대해 정리 조사하였습니다. Wear OS by Google을 사용하면 Android 또는 iOS 스마트폰에 액세스하지 않고도 시계가 네트워크와 직접 통신할 수 있습니다. 이와 별도로 Wearable Data Layer API를 이용하여 모바일 앱과 통신이 가능합니다. 다만 이 API를 사용하여 네트워크에 연결하는 것은 권장되지 않습니다. Data Layer API 를 사용하여 모바일 앱과 통신 Data Layer API를 호출하려면 Wearable클래스를 사용하여 DataClient 및 MessageClient와 같은 다양한 클라이언트 클래스의 인스턴스를 가져옵니다. 참고: Wear 앱은 Data Layer API를 사용하여 전화 앱과 통신할 수 있지만, 이 ..

Live Data 와 Coroutines Flow

Part 1 : 반응형 UI 안드로이드 초기부터, 엣지 케이스까지 안드로이드 생명주기 을 이해하는 것은 매우 어렵습니다. 그래서 최대한 로직을 생명주기에 상관없이 사용할 수 있도록 노력해왔습니다. 그 중 하나가 계층이 구분되는 아키텍쳐를 만드는 것 입니다. 계층이 구분됨으로써 우리는 안드로이드 생명주기에 대해 복잡한 생각 없이 UI 에 독립적인 코드를 작성할 수 있습니다. 예를 들어 비즈니스 로직을 처리하는 도메인 계층을 추가할 수 있고, 데이터 계층도 추가할 수 있습니다. 더 나아가, presentation 계층은 각각 다른 책임을 가지는 컴포넌트들로 나눠질 수 있다는 것을 우리는 알고있습니다. View - 생명주기 콜백 메서드(onCreate, OnResume... etc). 유저 터치 이벤트, 화면..