보안 문제 때문에 데이터 입력시 mongoDB에 저장되지 못하고 pymongo.errors.ServerSelectionTimeoutError: \[SSL: CERTIFICATE_VERIFY_FAILED]... 에러가 발생했다.certifi 패키지 설치
AWS 사이트 https://aws.amazon.com/ko/회원가입 후 지역 확인aws reqionaws 인스턴스 콘솔에서 인스턴스 시작버튼을 누른다.aws01이름에 인스턴스 이름을 지정하고 원하는 OS를 선택한다. (무료로 이용하려면 프리 티어 사용 가능
Mac OS키페어의 접근 권한 변경window\[키페어 경로] : 키 페어가 담긴 pem 파일을 git bash에 끌어다 놓으면 경로가 뜬다.\[인스턴스 퍼블릭 IPv4 주소] : aws의 인스턴스 콘솔에서 내 인스턴스를 클릭하면 하단에 퍼블릭 IP 주소를 확인할 수
웹 호스팅을 위해 내 컴퓨터에서 FTP서버로 파일을 쉽게 전송하기 위한 프로그램Filezilla 설치 : https://filezilla-project.org/download.phpfilezilla화면에서 왼쪽이 내 컴퓨터 파일이고 오른쪽은 aws 서버의 파일
파이썬으로 작성된 마이크로 웹 프레임워크의 하나(별도의 도구나 라이브러리가 필요없기 때문에 '마이크로 프레임워크'라 부른다.)플라스크 자체에서 구현된 것처럼 애플리케이션 기능을 추가할 수 있는 확장 기능(양식 유효성 확인, 업로드 관리, 객체 관계 매퍼 등)을 지원한다
내가 실행하려는 프로그램에 맞는 전용 환경을 구축할 수 있도록 돕는 가상환경이다.(venv는 .gitignore로 Git 관리대상에서 제외된다.)시스템의 환경과 프로젝트 각각의 환경을 분리시켜 패키지, 라이브러리 간 버전 차이에서 오는 문제를 방지하며 프로젝트별로 패키
PyJWT를 설치하면 해결된다고 했는데 여전히 에러가 사라지지 않았다.jwt, PyJWT를 지우고 다시 PyJWT를 설치해보니 해결되었다.h5py 를 2.10.0 버전으로 설치하면 해결된다고 했는데 여전히 에러가 사라지지 않았다.이 부분이 문제였다.이미 decode 되
JWT(JSON Web Token) : JSON 객체를 이용하여 정보를 안전하게 전달하는 웹표준POST 요청으로 받은 id, pw, nickname을 mongoDB에 저장한다.저장하기 전에 pw를 안전하게 저장하기 위해 sha256 방법(=단방향 암호화. 풀어볼 수 없
프로젝트 기획서 : https://velog.io/@philomonx1/%ED%95%AD%ED%95%B4-99-8%EA%B8%B0-1%EC%A3%BC%EC%B0%A8-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-D%EB%B0%98-1%EC
영화 목록을 Fecth API 로 불러온다.영화 목록을 브라우저에 보여줄 때 로그인한 사용자의 좋아요 영화목록을 db에서 불러와 반영해야 한다.영화 목록을 반복문을 돌려 사용자 영화목록과 일치하는 영화에 idChecked: true라는 값을 넣어준다. 그렇지 않은 영화
JWT jwt는 예전에 로그인을 유지할 방법을 찾다가 블로그나 유튜브에서 개념만 보고 직접 사용해본 적은 없었다. 나중에 기회가 되면 사용해봐야지 했는데 이번 프로젝트를 진행하면서 간단하게나마 써볼 수 있어서 좋았다. JWT의 장점 가장 큰 장점은 서버에서 사용자
하드웨어란?
REST(Representational State Transfer)는 HTTP 프로토콜을 기반으로 클라이언트가 서버의 리소스(HTML, CSS, 이미지, 폰트 등)에 접근하는 방식을 규정한 소프트웨어 아키텍처REST의 원칙을 지킨 서비스 디자인을 RESTful하다고 표
프로세서에는 수행할 수 있는 기본 연산들의 레퍼토리가 있다. 산술 연산을 할 수 있기 때문에 계산기처럼 작동할 수 있고, 메모리에서 연산을 수행할 데이터를 가져오거나 연산 결과를 메모리에 저장할 수 있는데, 계산기에 있는 메모리 기능과 유사하다.컴퓨터의 나머지 부분을
ECMAScript(ES, ECMA스크립트)란, 표준 기술 규격에 의해 정의된 표준화된 스크립트 프로그래밍 언어로 JavaScript를 표준화하기 위해 만들어졌다.각 브라우저 제조사는 ECMAScript 사양을 준수해서 브라우저에 내장되는 JavaScript Engin
프로세스(process)란 실행 중인 프로그램이다.현대 컴퓨팅 시스템에서 OS로부터 CPU 자원을 할당 받는 작업의 단위를 프로세스라 한다.프로그램(program)이란 메모리(주기억장치)에 할당되지 않고 저장 장치에 저장되어 있는 정적인 상태의 실행 파일(명령어 집합)
알고리즘은 추상적이고 이상적인 절차를 기술한 것이기 때문에 현실 고려 사항은 무시하게 된다.반면 프로그램은 실제로 해당 작업을 완료하기 위해 수행해야 하는 단계를 서술한다.따라서 프로그램은 추상화되어 있는 알고리즘을 컴퓨터가 직접 처리할 수 있는 형태로 구체화될 것이라
파일 시스템이란 운영 체제가 파일을 저장 장치에 저장하고 사용하기 위한 일종의 알고리즘(규칙)을 의미하며, 파일의 이름을 붙이고, 쉽게 파일에 접근할 수 있도록 배치를 신경 쓰는 등 파일과 관련된 기능을 수행하는 시스템입니다.파일 시스템은 운영체제에서 하드 디스크 CD
state는 컴포넌트의 상태를 나타내는 값으로 해당 컴포넌트 내부에서 선언되기 때문에 변경 가능하다. 상위 컴포넌트에서 하위 컴포넌트로 전달하는 값으로 read-only이다.props는 읽기 전용이기 때문에 수정할 수 없지만, state는 컴포넌트의 상태를 나타내는 값
가용 메모리와 대역폭을 더 효율적으로 활용하는 방법 중 하나는 '데이터 압축'압축의 목표는 같은 정보를 더 적은 비트로 인코딩하는 것 (아래 비트를 덜어냄)정보를 전달하지 않는 비트다른 비트에서 계산될 수 있는 비트수신자에게 중요하지 않은 비트EX. ASCII 코드로
변수란? 변수(variable)는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 or 그 메모리 공간을 식별하기 위해 붙인 이름 (값의 위치를 가리키는 상징적인 이름) | > | | :---: | | 10 (메모리 주소.. 0X0000F2) | | ... |
서버는 클라이언트의 상태를 보존하지 않는다. 클라이언트 요청에 서버가 응답하면 연결을 끊는다.클라이언트는 서버가 요청을 이해하고 응답하는데 필요한 모든 정보를 제공해야 한다.→ HTTP 환경에서 클라이언트의 상태와 정보를 기억해야 할 때 쿠키, 세션 등을 사용한다.장점
redux, axios, json-server, react-router-dom을 활용한 투두리스트 만들기재사용 가능한 컴포넌트 만들어서 활용하기아직 컴포넌트를 재사용하는 것이 익숙하지 않기 때문에 가장 많이 활용되는 input, textarea, button eleme
객체란, 다양한 타입의 값(원시값 or 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조객체를 변수에 할당하면 변수에는 '참조 값'이 저장된다.객체는 0개 이상의 프로퍼티로 구성된 집합으로, 프로퍼티는 key-value의 조합으로 구성되어 있다.객체 리터럴의 { }
리액트 내 모든 컴포넌트는 초기화, 업데이트, 소멸 순으로 생명주기를 가지며 각 단계에서 호출되는 메서드를 '생명주기 메서드'라 한다.초기화 단계 : 컴포넌트 객체가 최초 생성 될 때 한번 수행되는 과정업데이트 단계 : 컴포넌트가 마운트 된 이후 컴포넌트의 속성값(pr
원시값을 객체처럼 메서드로 접근할 수 있도록 '래퍼 객체'를 만든다. (문자열, 숫자, 불린, 심볼의 메서드와 프로퍼티에 접근할 수 있도록 언어 차원에서 허용)원시값이 메서드나 프로퍼티에 접근하려 하면 추가 기능을 제공해주는 특수한 객체, "원시 래퍼 객체(object
클래스 기반 객체지향 프로그래밍 언어(Java, C++ 등)는 객체 생성 이전에 클래스를 정의하고 이를 통해 객체(인스턴스)를 생성하지만, 프로토타입 기반 객체지향 프로그래밍 언어는 클래스 없이 객체를 생성할 수 있다.자바스크립트의 모든 객체는 자신의 부모 역할을 담당
실행 컨텍스트란, 실행 가능한 코드(전역 코드, 함수 코드)가 실행되기 위해 필요한 환경실행 컨텍스트는 물리적으로 객체의 형태이다.변수객체전역 코드 실행 시 생성되는 전역 컨텍스트와 함수를 실행할 때 생성되는 함수 컨텍스트가 가리키는 객체가 다르다. 클로저란 함수와 그
밀집 배열 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료 구조. 배열의 요소는 하나의 타입으로 통일되어 있으며 서로 연속적으로 인접해 있다.배열의 요소가 동일한 크기를 가지며 빈틈없이 연속적으로 이어져 있으므로, 효율적으로 빠르게 동작한다.희소 배열
mini_prototype_01mini_prototype_02mini_prototype_03mini_prototype_04mini_prototype_05mini_prototype_06
소셜 로그인게시글 GET, POST, DELETE 구현게시글 댓글 GET, POST 구현게시글 무한스크롤게시글 이미지 캐러셀게시글 텍스트 줄바꿈 표현, 해시태그 표현사용자 팔로우해시태그 검색다중 이미지 업로드clone_wireframe_01clone_wireframe_
인스타그램 클론코딩 프로젝트 진행 중 클라이언트에서 백엔드로 이미지를 전송하려면 FormData로 보내야한다는 것을 알게 되었다.클라이언트와 서버 간 통신은 HTTP 메시지를 통해 이루어지는데, 이미지 파일 또한 문자열로 이루어져 있으므로, 이미지 파일을 jpg등의 파
검색 기능 구현 방식에 대해 여러 가지 방식을 고민하게 되었다.GET 요청으로 검색 대상 데이터를 한번에 불러온 다음에 그 데이터 내부에서 검색창 입력 키워드로 찾는다.검색 키워드마다 GET 요청을 보낸다.검색 키워드마다 GET 요청을 보내면 불필요한 서버 통신이 많지
access token, refresh token이 필요한 이유 : accessToken, refreshToken서버에 request를 보낼 때 access token이 만료될 경우 그에 대한 error response를 받고 바로 토큰 갱신 request를 보내야 한
SSE란 SSE(Server Sent Event)란 서버에서 클라이언트로 데이터를 보내는 단방향 통신을 의미한다. 실시간 알림처럼 서버가 클라이언트에게 데이터를 '단방향'으로 전달해야 할 때 사용한다. (실시간 알림에서 양방향 통신은 불필요) SSE는 첫 연결 시
7월부터 시작한 항해가 드디어 끝났다.어떻게 3개월이 흘렀는지 모를 정도로 정신없이 지냈는데 항해99 전후로 달라진 내 실력과 시력을 보면 열심히 했구나 싶고..항해 시작 전 내 결심은 딱 하나였다.질릴 정도로 코딩해서 제일 잘하거나, 제일 열심히 하는 사람이 되자.9