ReactNative - 레이아웃 스타일 Flex Gap
Gap 이란?
react native 0.71 버전 부터 지원.
Flex Gap 속성을 사용하면 각 아이템들의 margin 값을 일일히 조정하지 않고도, 아이템들 사이의 간격을 일관되게 유지할 수 있음.
(단, 0.71 버전의 경우 픽셀만 지원. 백분율과 같은 값은 불가.)
마진 사용시 가장자리까지 적용됨.
파이썬 기초 02 - 자료형 (리스트)
-
리스트(list)란? : 원소들이 연속적으로 저장되는 형태의 자료형
a = []
b = ['a', 'b', 'c']
c = [1, 2, 3]
d = ['a', 1, 'b', 2]
e = [1, 2, ['a','b'], [3,4]]
print(a)
print(b)
print(c)
print(d)
print(e)[]
['a', 'b', 'c']
[1, 2, 3]
['a', 1, 'b', 2]
[1, 2, ['a','b'], [3,4]] -
리스트 인덱싱
리스트안에 있는 요소의 순번으로 접근 가능하다.
e = [1, 2, ['a','b'], [3,4]]
print(e[-1])
print(e[1])
print(e[2])[3, 4]
2
['a', 'b'] -
리스트 슬라이싱
파이썬 기초 01 - 자료형 (숫자,문자)
-
정수형
양수, 음수, 0은 정수형(Integer) 이다.
a = 123
b = -123
c = 0
print(type(a))
print(type(b))
print(type(c))<class 'int'>
<class 'int'>
<class 'int'> -
실수형
소수점이 포함된 숫자를 실수형(Floating-point)라고 한다.
ReactNative - 디자인 패턴 02 - HOC
ReactNative - 디자인 패턴 01 - Atomic
ReactNative - Redux
기존 MVC 패턴의 문제점
기존의 MVC 패턴 state 변경 흐름

MVC 패턴에서 양방향 데이터 흐름이 발생하면 데이터 변환 작업과 유효성 검사를 위해 추가적인 코드 작업이 필요하며, 뷰와 컨트롤러 간의 데이터 전달 과정에서도 문제가 발생할 수 있습니다.
ReactNative - 컴포넌트 최적화
Pure Component / memo / shouldComponentUpdate
부모 컴포넌트가 업데이트되었을 때 자식 컴포넌트의 불필요한 렌더링을 방지.
그렇다고 해서 모든 컴포넌트에 memo를 사용하게 되면 컴포넌트가 다시 렌더링되지 않도록 최적화를 하지만, 이를 위해서는 컴포넌트를 비교하는 작업이 추가적으로 필요.
이 작업은 일반적인 렌더링 작업보다 더 많은 리소스와 시간이 소모될 수 있기 때문에, 오버헤드가 발생할 가능성이 있음.
렌더링 속도가 느린경우, 자주 불필요하게 재렌더링이 예샹되는 경우에만 사용.
ReactNative - 각종 도구들
빌드 과정
-
JavaScript 코드 번들링
React Native 애플리케이션은 JavaScript로 작성되기 때문에, JavaScript 코드를 번들링해야 됨. Metro 번들러를 사용하여 JavaScript 코드를 번들링하고, 필요한 모든 의존성을 가져옴.
-
JavaScript 코드 실행
번들링된 JavaScript 코드는 JavaScript 엔진에서 실행됨. Hermes 엔진을 사용하여 더 빠른 실행 속도를 제공.
AWS LightSail 로드 밸런서를 사용하여 HTTPS 보안 연결.
- AWS Route53 도메인 구입 및 등록
- LightSail DNS 생성
- 호스팅 네임 서버 추가
- LightSail 로드 밸런서 생성
