자바스크립트는 분명 싱글 스레드 언어입니다. 자바스크립트의 두 런타임 브라우저와 노드JS가 어떻게 여러 작업들을 동시에 처리할 수 있는지, 내부 구조를 뜯어보며 알아봅니다.
SPA 라이브러리에서 fragment identifier는 왜 생기는 것이고, 이를 어떻게 핸들링 할 것인지 알아봅니다.
OAuth 구현시 마주할 수 있는 redirect_uri_mismatch에러를 해결하기까지의 과정을 기록합니다.
텍스트만 업로드 가능하던 기존 게시판에, 이미지도 업로드가 가능하도록 기능을 추가하다 마주친 에러입니다. form 에 제목과 내용을 입력하고, 원하는 이미지를 선택한 뒤 업로드하기
회원가입 창에서 새로운 유저를 생성하려는데,회원가입하기 버튼을 누르니 다음과 같은 에러가 발생했습니다. 에러 문구를 천천히 살펴보니, 해독 되어야 할 문자열이 올바르게 인코딩 되지 않았다고 합니다.에러가 발생한 지점의 코드를 클릭해보았더니,제가 작성하지도 않은 파일인
게시판 삭제 기능을 구현하고 있습니다. axios로 서버에 DELETE 요청을 보내면백엔드의 DRF view가 DB에서 해당 게시글을 찾아 삭제하는 구조입니다. 삭제 버튼을 누르면, DB에서는 데이터가 잘 삭제되는데,화면에는 여전히 해당 게시글이 남아있는 문제를 마주하
로그인을 하면, 사용자의 이름을 포함한 상쾌한 인사 메세지를 건네주면 좋을 것 같습니다. 아래와 같은 느낌으로 말이죠.디자이너들이 보면 기겁할 디자인이지만,저희는 디자이너가 아니니 로직에만 집중해 보겠습니다. 저의 경우, 프론트엔드는 React, 백엔드는 DRF(Dja
아래와 같이 게시물의 id를 url에 동적으로 전달하여전체 게시글이 로드되는 화면에서 각 게시물을 클릭하면 해당 게시물만이 보이는 페이지로 이동하도록 구현하고자 합니다. 아래는 사용자들이 게시판에 업로드한 모든 게시물을 렌더링하는 컴포넌트의 코드입니다.프로젝트의 전체적
백엔드를 DRF로 구현하는 경우에도, simplejwt를 이용해 JWT인증방식을 서비스에 적용할 수 있습니다. 먼저 터미널에 아래와 같이 입력하여 simplejwt를 다운받을 수 있습니다.이후, settings.py파일에서 몇 가지 설정을 해주어야 합니다.먼저 INST
로그아웃 기능을 구현하고 있었습니다. axios로 프론트엔드에서 로그아웃 요청을 보내면, 장고 백엔드의 view에서 유저의 토큰을 초기화하고, 블랙리스트에 올리도록 구현하는 과정에서 해당 에러를 마주하였습니다. 코드는 다음과 같습니다. 로그아웃 버튼을 누르는 순간, 다
사용자들이 자신의 여행기를 업로드 할 수 있는 게시판을 개발하고 있습니다.게시물을 저장할 객체 테이블의 마이그레이션 작업은 예전에 완성해두었고,그 당시 게시물 테이블은 User 테이블과 외래키로 연결되어 있었습니다. 게시물 DB와 사용자 DB를 분리하여 운영하고, 게시
장고에서 기본으로 제공하는 User 클래스를 받아와 별도의 개발 없이 사용자를 관리할 수 있습니다. 하지만, 아래의 두 가지 이유로 사용자 클래스를 직접 설계해야 하는 상황이 발생합니다. Django 기본 User 클래스의 사용자 인증 방식 - username으로 인증
여기, 서비스 유저가 업로드한 게시글을 조회할 수 있는 두 개의 API뷰가 있습니다. 각각의 API VIEW에 접근할 수 있는 엔드포인트는 다음과 같습니다. 두 개의 게시물 조회 API뷰 PostList 와 PostDetail 은 각각 다른 역할을 수행합니다. List
프론트엔드와 백엔드의 원활한 통신을 위해선,브라우저의 기본 동작인 CORS정책을 무력화시켜야 합니다. 간단히 말해서, 특정 데이터가 존재하는 url외의 주소에서 해당 데이터를 요청하면 데이터를 보내주지 않도록 브라우저가 막는 보안 기능입니다. 예를 들어, 데이터가 저장
현재 간단한 게시글 커뮤니티 기능을 만들고 있습니다. 프론트엔드는 JavaScript, React.js, 백엔드는 Python, Django REST로 구현중입니다. 장고 백엔드의 데이터를 프론트엔드에서 fetch로 받아오는 상황에서 아래와 같은 에러를 마주하였습니다.
안녕하세요, 오늘부턴 본격적으로 웹 서버이자 reverse 프록시 서버로 배치할 nginx을 설치하고 사용법을 익혀보겠습니다. 저는 맥북 유저이며, homebrew를 사용하기에 터미널에 아래와 같이 입력하여 nginx를 설치하겠습니다. homebrew를 사용하지 않으시
안녕하세요, 취미로 여행 관련 웹 서비스를 개발한지 어느덧 3개월차, 문득 이런 생각이 들더군요. > 개발 지식을 갖춘 악의적인 사용자가 나의 서버에 접근하는 것을 어떻게 방어할 것인가? 실제 서비스들은 프로덕션 단계에서 어떻게 서버를 외부의 접근으로부터 보호하는가
Meta 공식 가이드에서 제공하는 React Hook 사용규칙을 정리해볼게요.먼저, 리액트 훅이라면 useState든 useEffect든 종류에 상관없이 지켜야 할 약속을 알아볼게요.리액트 hook은, 일반 자바스크립트 함수에서는 사용할 수 없습니다. 오직 리액트 컴포
안녕하세요, 오늘은 React의 controlled components를 활용하여 UI를 개선한 사례를 하나 소개해볼까 합니다. input tag에 유저가 입력한 값들이 컴포넌트의 state에 실시간으로 반영되는 컴포넌트를 controlled components라고 부
리액트에서는 prop으로 컴포넌트 바깥으로 데이터를 공유할 수 있습니다. prop에는 react state뿐 아니라, JS변수, JS함수도 담아 보낼 수 있는데요, 리액트의 설계원칙 중 "prop 불변성" 이란 것이 있습니다. 이번 포스팅에서 가장 중요한 개념인데요