본문 바로가기

분류 전체보기50

번들링(Bundling)이란? 번들링(Bundling) 프로그래밍을 하다보면 자주 마주치는 단어 중에 번들링이란 단어가 있습니다. 번들이라는 것은 묶는다는 뜻으로 뭔가를 묶는 작업이라는 걸 이름에서 유추할 수가 있죠. 그렇다면 이게 당연히 파일을 묶는 것일테고 어째서 파일을 묶는 작업이 필요한걸까 생각해 볼 수 있습니다. 정확하게 번들링이란 모듈들의 의존성 관계를 파악하여 그룹화시켜주는 작업을 뜻합니다. 모듈(module)이란 분리된 파일입니다. 즉, 분리된 녀석들을 하나로 합쳐주는 구나 라고 이해할 수 있습니다. 그렇다면 애초부터 왜 멀쩡한 파일을 모듈로 분리했던 걸까요? 그건 작업의 효율성을 위해서입니다. 스크립트의 크기가 점점 커지고 복잡해지면서 단순히 하나의 파일이나 클래스로만 관리하기에는 그 복잡성이 프로그래머가 감당할 수준.. 2021. 8. 11.
EXPO INSTAGRAM CLONE 만들기 (4) 서론 이번 인스타그램 클론 만들기 유튜브 강의를 모두 수료했다. 3일 걸렸구나... 그런데 기능은 구현했는데 UI는 전혀 만지지 않는다. 완성된 결과물의 디자인은 내가 스스로 만져야한다. 그리고 결과물이 인스타의 완전한 기능을 구현하는 것도 아니다. 정말 핵심적인 기능 3, 4가지만을 구현했지 그 외의 부수적인 기능은 엉성하거나 생략되었다. 하지만 그럼에도 불구하고 이건 정말 좋은 강의다. 디자인이야 내 마음대로 하면 되는 거고 자잘한 기능들이야 손쉽게 추가 가능하다. 내가 제일 맘에 든건 파이어베이스의 데이터베이스를 활용하는 방식이다. 이 강의를 보고 나서 나는 전 프로젝트의 데이터베이스 사용법이 너무 난잡했다는 걸 알았다. 강의를 보고나서 느낀점이 참 많다. 심지어 함수의 모듈화도 상당히 우수하다. .. 2021. 8. 6.
EXPO INSTAGRAM CLONE 만들기 (3) 서론 연속으로 업로드하는 인스타그램 클론 만들기 게시물! 아침에 배운 내용에 이어 낮에 배운 내용을 추가하도록 한다. 유저 검색하기 user를 검색하는 방법에 대해서 알아보자. 먼저 user의 정보는 두 군데에 저장되고 있다는 사실을 이해하자. 1. database 2. store database는 내가 앱을 꺼도 유지되는 정보들이지만, store는 내가 앱을 끄면 삭제되는 정보들이다. 그렇다면 우리는 당연히 로그인할 때 데이터베이스에서 user 정보를 얻어올 것이다. 그런 처리를 하는 action 함수가 fetchUser다. export function fetchUser() { return (disaptch) => { firebase .firestore() .collection("users") .doc.. 2021. 8. 4.
EXPO INSTAGRAM CLONE 만들기 (2) 서론 인스타그램 클론 만들기 두번째 시간이다. 오늘은 사진을 업로드하는 방법에 대해서 알아봤다. 이건 저번 프로젝트에서도 다뤘던 내용이다. 하지만 지금 보고 있는 유튜버가 사용한 방법이 훨씬 세련되고 간편하다. 특히 충격이었던 부분은 BLOB 생성 부분이다. 나는 엄청 고생하며 생성한 BLOB 타입 데이터를 여기에서는 엄청 간단하게 만든다... 부조리함 마저 느껴질 정도였다. 아무튼 오늘은 새롭게 배우는 내용이라면 저번에는 다루지 않았던 카메라 접근 정도가 되겠다. 그럼 시작해보자. 접근 권한 요청 저번에도 똑같았지만 EXPO에서 사진을 찍거나 선택하는 작업은 Image Picker로 진행한다. npm install expo-camera npm install expo-image-picker 우선 작업에 .. 2021. 8. 4.