[오늘의 공부] 모듈과 패키지, React.js 로 Movie App 만들기, React Native 간단 이론
파이썬 모듈과 패키지 (연오센세 블로그)
모듈 : 기능별로 나누어 놓은 소스 코드 파일
라이브러리 : 다른 프로그램에 포함시키기 위해 기능을 미리 나누어 묶어 놓은 것
표준 라이브러리 : 언어와 함께 제공되는 프로그래밍에 필요한 기본 기능
제 3자 라이브러리(Third Party Library) : 비공식적이지만 누군가 만들어놓은 모듈
최상위 모듈 검사 :
if __name__ == '__main__':패키지 : 모듈 파일들을 묶어놓은 것
__init__.py: 패키지 디렉토리를 ‘패키지’로 인식시키게 하려면__init__.py파일을 생성해야 한다.
React로 Movie Web App 만들기 (노마드 코더 강의)
원래는 React Native로 날씨 앱 만드는 강의를 들으려다가
니꼴라쓰 센세가 react js를 먼저 듣고 오라고 해서 영화 앱 만들기 강의를 들었다.
스트레이트로 들으려니까 좀 지치긴 했는데, 배우는 내용도 알차고 어려운 개념도 쉽게 알려주는 것 같다.
내일은 원래 배우려던 React Native 강의를 들어야겠다.
<실습>
개발 환경 : javascript, create-react-app, npm
props 활용 : 컴포넌트 별로 데이터를 표시할 수 있다. 부모 컴포넌트는 모든 정보를 갖고 있으며, 부모 컴포넌트는 Props을 통해서 자식 컴포넌트에게 자신이 가진 정보를 알려준다.
- mapping
1 | <Movie title={movie_titles[0]} poster={moive_posters[0]}/> |
1 | {movies.map(movie => { |
Props 키, Prop Types, isRequired : 각 컴포넌트의 Props는 고유한 키를 가져야 한다. isRequired를 쓰면 부모 컴포넌트에서 얻는 정보의 종류가 무엇인지, 그 정보의 존재 유무 등을 확인할 수 있다. propTypes를 이용하려면 npm으로 추가해야 한다.
컴포넌트 라이프 싸이클
똑똑한 컴포넌트, 멍청한 컴포넌트
AJAX
fetch/promise
await/ async
데이터 업데이트하기
중간 과정
배포 완료
React Native 실습 환경 구축 + 간단한 이론
개발 환경 : expo, android studio, android phone, node.js, npm
react native 가 좋은 이유 : 복잡하게 레이아웃을 짜지 않고 flexbox로 쉽게 레이아웃을 짤 수 있다. 대신, ios와 android 둘 다 돌아가야하기때문에 매우 엄격하다.
flex box : flex는 스크린 전체를 어떤헤 활용할 건지에 대한 비율
아래 사진은 실제 안드로이드 폰에서 expo로 내 앱을 확인한 결과 :
