코딩 196

Remix와 TMDB API 사용하여 영화 검색 사이트 만들기

리믹스 프레임워크, Remix Framework, TMDB API 사용, Link prefetch 기능 안녕하세요? 제가 최근에 Remix Framework을 자주 사용하게 되는데요. 사용해본 결과 진짜 빠릅니다. NextJS가 긴장해야 될 수준이고요. 참고로 개인 프로젝트에서 DB 데이터 260만 개의 Sqlite3 쿼리 써칭 결과 NextJS에서는 진짜 너무 오래 걸렸는데 Remix 프레임 워크에서는 정말 순식간에 로딩되었습니다. 그리고 Remix가 좋은 점이 HTML의 전통적인 사용 방식을 사용하고 있기 때문에 Remix를 쓰다 보면 웹 표준에 대해 더 자세히 알 수 있는 게 좋았습니다. Remix의 좋은 점은 정말 여러 가지가 있는데요, 신생 프레임워크이기 때문에 아직은 유저가 별로 없지만 저는 ..

코딩/React 2022.04.16

자바스크립트 window 객체 상세 설명

자바스크립트 윈도우 객체, javascript window global object, window, this, global 안녕하세요? 이번 시간에는 지난 시간에 이어 Execution Context에서 생성되는 글로벌 객체(window)에 대해 알아보겠습니다. 글로벌 객체(window)가 뭔지 코드를 보면서 알아보기 위해 지난 시간처럼 index.html 파일과 index.js파일을 준비하겠습니다. index.html 파일입니다. index.js 파일입니다. // 빈 줄 이렇게 두 개의 파일을 준비하고 현재 폴더를 http 서빙하기 위해 다음과 같이 실행합니다. serve . 이제 모든 준비가 끝났네요. 이제 크롬을 열고 크롬 devtools로 들어가 보겠습니다. index.js가 빈 줄이라서 아무것도..

코딩/Javascript 2022.04.12

자바스크립트 호이스팅(Hoisting) 쉽게 설명

Javascript Hoisting, 자바스크립트 호이스팅 안녕하세요? 지난 시간에 배운 Execution Context에 이어 이번에는 자바스크립트의 호이스팅(Hoisting)에 대해 알아보겠습니다. 먼저, 지난 시간의 핵심 부분만 복습하고 다음으로 진행하겠습니다. 자바스크립트의 모든 것은 바로 Execution Context안에 싸여 있다고 말할 수 있으며, 약간은 추상적인 콘셉트로 들릴지 모르겠지만 자바스크립트 모든 코드가 실행되는 주위 모든 환경의 정보를 전부 가지고 있는 커다란 컨테이너? 또는 박스?라고 볼 수 있습니다. Execution Context는 두 가지 단계(Phase)를 가지는데요. 하나는 Memory Allocation Phase, 다른 하나는 Code Execution Phase..

코딩/Javascript 2022.04.12

Remix Framework에 TailwindCSS Dark Mode(다크모드) 적용하기

Remix Framework TailwindCSS Dark Mode, 다크 모드 안녕하세요? Remix Framework에 TailwindCSS를 적용하는 방법을 저번에 배웠는데요. https://cpro95.tistory.com/674 Remix Framework에 TailwindCSS 적용하기 안녕하세요? 오늘은 Remix 프레임워크에 TailwindCSS를 적용시켜 보겠습니다. 먼저, 지난 시간까지 만든 remix-tutorial 폴더에서 다음과 같이 tailwindcss와 concurrently를 설치해 보겠습니다. npm i -D tailwin.. cpro95.tistory.com 오늘은 다크 모드 적용에 대해 알아보겠습니다. TailwindCSS의 다크 모드의 작동원리는 즉, html 태그에 ..

코딩/React 2022.04.08

자바스크립트 작동 원리 Execution Context 설명

자바스크립트 Execution Context, Synchronous Single Thread Language 안녕하세요? 오늘은 자바스크립트를 처음 배울 때 한 번쯤은 배우고 지나가면 큰 도움이 될만한 기초 개념을 알아볼 예정인데요. 바로 자바스크립트가 작동하는 방식, 작동 원리에 대해 간단히 알아보겠습니다. 자바스크립트를 가장 잘 표현한 영어 문구는 위와 같이 "동기식 싱글 스레드 언어(Synchronous Single-Threaded Language)"가 아닐까 싶은데요. 동기식이란 현재의 명령어가 실행 완료가 다돼야 다음 행으로 이동한다는 뜻이며, 동기식이란 말은 특정 순서에 의해 한번에 하나의 명령어만 수행한다는 뜻입니다. 지금은 자바스크립트로 비동기식 프로그래밍이 유명한데 무슨 말씀이냐고 하실 ..

코딩/Javascript 2022.04.05

자바스크립트 Javascript map, filter, reduce 동작 원리 완전분석

안녕하세요? 오늘은 자바스크립트에서 가장 많이 쓰이는 객체인 배열의 연산 관련 함수인 map, filter, reduce에 대해 알아보겠습니다. React로 웹 프로그래밍할 때 가장 많이 쓰는 게 아마 map 함수 일 건 대요. 자바스크립트는 배열을 이용하여 쉽게 데이터를 가공할 수 있게 하는 헬퍼 유틸을 많이 가지고 있습니다. 위의 첫 그림을 보시면 find, findIndex, indexof 같은 함수는 딱 봐도 쉽게 이해할 수 있는데요. 오늘은 자바스크립트 코딩 초창기에 느꼈을 법한 map, filter, reduce에 대해 아주 쉽게 알아보겠습니다. Map 먼저, map 함수입니다. MDN에 나와있는 문법인데요. 읽어보면 너무 어렵습니다. map함수를 쉽게 이해하려면 예제를 들어서 이해하면 쉽습니..

코딩/Javascript 2022.04.04

Remix Framework 한 화면에 Nested Routes 구현하기

Remix Framework, 리믹스 프레임워크, 한 화면에 네스티드 라우츠 구현하기, 한 화면에 Nested Routes 구현하기 한 화면에 Nested Routes 설정하기 이제 리믹스 프레임워크의 가장 강력한 기능인 Nested Routes에 대해 알아보겠습니다. 제목 그대로 한 화면에 Nested Routes를 만들 수 있는데요. 일단 지난 시간에 배웠던 글을 참고해서 이번 글을 쓰도록 하겠습니다. https://cpro95.tistory.com/680 Remix 프레임워크 Nested Routing 파헤치기 Remix Framework File-base Routing and Nested Routing ( 리믹스 프레임워크 파일 베이스 라우팅, 네스티드 중첩 라우팅) 안녕하세요? 오늘은 지난번에 ..

코딩/React 2022.03.27

VSCode에서 Vim 사용하기

Visual Studio Code, Vim, VSCode Vim, NeoVim, NVim 안녕하세요? 프로그래머라면 자신만의 텍스트 에디터를 쓰고 계실텐데요. 그 텍스트 에디터 중에서 아마 가장 많이 쓰이는게 VSCode라고 생각합니다. 마이크로소프트가 대인배답게 Visual Studio 같은 텍스트 에디터를 무료로 개발해 주고 있어 너무 좋은데요. 그런데 그 이전에는 VIM을 능숙하게 써보고 싶은 욕구가 많았습니다. 왜냐하면 유투브에서 해외 유명 프로그래머들이 VIM을 아주 능숙하게 쓰면서 마우스에는 손을 안 갖다대는게 너무 부러웠거든요. 그래서 VIM에 대한 기초 교육을 끝내고 VSCode에서 VIM을 사용해볼까하고 VIM 확장프로그램을 설치했는데 한글 타이핑이 영 에러였습니다. 물론, 윈도우 시스템..

Remix framework의 useTransition을 이용한 UI 개선하기

Remix framework useTransition, 리믹스 프레임워크 useTransition UI 개선 안녕하세요? 지난 시간에 작성한 다중 Form을 이용한 action 함수 사용하기 글에서 아쉬웠던 게 계속 생각이 나서 바로 다음 글을 쓸려고 합니다. 바로 UI 부분인데요. 노트를 생성하고 노트를 지울 때 화면에 아무것도 표시가 되지 않아 지금 제대로 작동하고 있는지 아니면 에러가 났는지 도저히 모르는 상태인데요. 리믹스에서는 useTransition 훅을 제공하고 있어 이 부분을 해결하는데 도움을 주고 있습니다. 먼저, 지난 시간에 잠깐 언급했던게 있는데 바로 아래 코드입니다. 지난 시간의 코드처럼 Form에 reloadDocument를 지정하면 input 창이 깨끗하게 비워지게 되는데요. 그..

코딩/React 2022.03.26

Remix Framework 다중 Form의 action 함수 처리하기

Remix Framework multiple form, 리믹스 프레임워크 다중 form의 action 함수 처리하기 안녕하세요? 지난 시간에 리믹스의 서버사이드 처리 함수인 action 함수에 대해 자세히 살펴봤는데요. 오늘은 한 페이지에서 action 함수로 전달해야 할 데이터가 많을 경우에는 어떻게 하는지 알아보겠습니다. 리믹스에서는 서버사이드 함수로 데이터를 보낼 때 action 함수를 지정해서 사용한다고 했고, 그 방식은 PHP 시절 쓰던 form-submit 방식인데, 만약 보내야 할 데이터가 여러 form에 걸쳐 있을 경우 action 함수에서 어떻게 처리하는지 쉽게 생각이 나지 않는데요. 지난 시간에 배웠던 Post 생성과 관련하여 오늘은 Note라는 DB를 새로 만들어서 알아보겠습니다. 먼..

코딩/React 2022.03.26