본문 바로가기

전체 글

(220)
20210404 React and Firebase03 계정 생성, 로그인, Auth, createuserwithemailandpassword, setPersistence, onAuthStateChanged, Nomadcoder Nomadcoder 노마드코더 : 트위터 클론 수업 노마드코더님의 강의를 들으면서 공부한 내용을 정리하는 용도로 작성되었으며, 본내용이 틀릴 수 도 있습니다. Creating Account Provider Auth provider EmailAuthProvider createuserwithemailandpassword : 사용자의 새로운 계정을 생성 할수 있게 email, password를 받아 User Account를 생성시키고 바로 로그인 하며, 나중에 Account를 가지고 로그인 할 수 있음 (계정이 이미 존재하거나, 타당하지 않은 값인 경우 fail을 return) newAccount라는 useState를 사용한 hook을 생성해서 Account를 가지고 있는지 확인해서, newAccount 가 ..
20210402 React and Firebase02, firebase web api, Absolute Imports, login 여부 판단, Firebase Authentication, Auth Form Nomadcoder Nomadcoder 노마드코더 : 트위터 클론 수업 노마드코더님의 강의를 들으면서 공부한 내용을 정리하는 용도로 작성되었으며, 본내용이 틀릴 수 도 있습니다. Authentication (인증) Absolute Imports import시에 dot을 쓰는 상대 경로는 지저분 하므로 절대 경로를 사용하는 import 기준을 만듦 Absolute imports by create react app 이처럼 최상위 dir에 jsconfig.json 파일 만들면 아래처럼 src 기준으로 import path를 써도 됨 // 절대 경로 기준이 src로 시작됨 { "compilerOptions": { "baseUrl": "src" }, "include": ["src"] } firebase web api 둘러보기 Fir..
20210401 React and Firebase01, Firebase 사용 기준 및 AWS Amplify 비교, 트위터 클론 코딩을 위한 환경설정(React, Firebase), .env 파일, React(Router, Route, Switch), Nomadcoder Nomadcoder 노마드코더 : 트위터 클론 수업 노마드코더님의 강의를 들으면서 공부한 내용을 정리하는 용도로 작성되었으며, 본내용이 틀릴 수 도 있습니다. Firebase Firebase Site Firebase는 그냥 데이터베이스 였음, 구글에 속하지도 않았다가 구글에 인수되면서 확장되었음 이 프로젝트에서는 Firebase를 통해서 데이터 베이스이자 백엔드인 Cloud Firestore를 사용함(데이터베이스 관련 코드없이 데이터베이스를 사용하게 해줌!) Cloud Firestore : Detail Fireabase : products Firebase ML : 머신러닝 기능 제공 Cloud Functions : serverless function 기능 제공 (AWS, Lamda 같은것임) Cloud ..
20210331 Nodejs05 모듈 활용, 입 출력 정보 보안(XSS), html entities, sanitize-html, pm2(kill, --no-daemon, --watch, --ingnore), 생활코딩 생활코딩 생활코딩 : Node.js 수업 생활코딩님의 강의를 들으면서 공부한 내용을 정리하는 용도로 작성되었으며, 본내용이 틀릴 수 도 있습니다. Node.js Node.js App - 모듈의 활용 lib 폴더 : library를 뜻하고 재사용 가능한 작은 조각의 로직, 프로그램을 말함 module.exports 를 바로 해당 object에 줘도 되고, 아니면 나중에 module.exports = template 형식으로 줘도 된다. // lib/template.js // 바로 module.exports 주는 경우 module.exports = { html : (title, list, body, control) => { return ` WEB ${list} ${control} ${body} `; }, l..
"20210330 Nodejs04 update, delete 기능 구현하기, 객체 사용을 통한 정리(refactoring),모듈 형식, 생활코딩 생활코딩 생활코딩 : Node.js 수업 생활코딩님의 강의를 들으면서 공부한 내용을 정리하는 용도로 작성되었으며, 본내용이 틀릴 수 도 있습니다. Node.js App - 글 수정 - 수정 링크 생성 해당 페이지에 들어감 -> 글을 수정할 수 있는 버튼 클릭 -> page 연결 단, home에서는 update버튼은 없음 template 수정 기존의 버튼이 있던 부분은 control이라는 매개변수를 줌으로 써 조건을 걸어줄 예정(Home vs 기타 페이지) const tmeplateHTML = (title, list, body, control) => { return ` WEB ${list} ${control} ${body} `; } HOME 페이지 control로 받을 인자로 create만 있고 updat..
20210329 Nodejs03 Sync & Async , CallBack, Package Manager, PM2, HTML Form, POST데이터 받기(stream, request.on), 파일생성(writeFile), Redirection(writeHead(302)), 생활코딩 생활코딩 생활코딩 : Node.js 수업 생활코딩님의 강의를 들으면서 공부한 내용을 정리하는 용도로 작성되었으며, 본내용이 틀릴 수 도 있습니다. Node.js Node.js 동기와 비동기 그리고 콜백 (Synchronous & Asynchronous) 동기 & 비동기(Sync & Async) 동기 : 직렬적(순서대로) 처리 (비효율적이지만 덜 복잡함) 비동기 : 병렬적으로 처리 (효율적이지만 복잡함) nodejs에서는 기본적으로 모두 async 임 그래서 따로 Sync관련 함수가 존재함 // nodejs/sample.txt = 'b' const fs = require('fs'); // readFileSync console.log('a'); const result = fs.readFileSync('nod..
20210328 Nodejs02 파일목록 읽어내기(readdir), 글목록 출력하기, 함수로 정돈하기, 생활코딩 생활코딩 생활코딩 : Node.js 수업 생활코딩님의 강의를 들으면서 공부한 내용을 정리하는 용도로 작성되었으며, 본내용이 틀릴 수 도 있습니다. Node.js APP - 홈페이지 구현 현재 pathname으로는 각각의 페이지를 구분이 불가함 그러면 home 인 경우 즉, queryData(queryString)이 없는 경우에 표시하고자 한다. 구조 : if pathname을 통해서 구분하고 -> 내부에서는 if queryData.id을 통해서 pathname만 있는 상황과, 그외의 queryString이 있는 상황의 조건을 걸어 표시되는 화면을 다르게 구성함 var http = require('http'); var fs = require('fs'); var url = require('url'); var..
"20210326 Nodejs01 환경설정, TASK 설정, 기본적인 서버코드구조, URL(queryString), 파일읽기(fs.readfile) 및 본문 파일처리, process.argv(CLI 입력 값 가져오기), not found(200, 404상태코드 처리), 생활코딩 생활코딩 생활코딩 : Node.js 수업 생활코딩님의 강의를 들으면서 공부한 내용을 정리하는 용도로 작성되었으며, 본내용이 틀릴 수 도 있습니다. Node.js Node.js의 시작 HTML을 일일이 수작업으로 모두 바꿔 수정해줘야 했다. -> 반복적인 일 모든 사람에게 HTML 파일을 수정 가능하게 하면 위험해서 웹 소유자만이 컨텐츠 추가가 가능했다. HTML 작성을 기계에게 해줄 순 없을까에 대한 욕망의 시작 JavaScript에 익숙한 웹 개발자들이 다른 언어를 배우지 않고 자동으로 웹페이지를 만드는 SSA(Server Side Application)를 할수 있게 하고 싶어 지면서 -> Node.JS가 탄생한다. 웹의 변화 : 문서 -(javascript의 탄생)-> 앱(사용자와 상호작용 함) ->..
20210325 꼭 알아야할 js_33Concepts01, Call Stack, this, Arrow vs function, Primitive type 33 Concepts Every JavaScript Developer Should Know (by leonardomso) Github : 33 Concepts Every JavaScript Developer Should Know (by leonardomso) Nomadcoder's lectures 예전에 유튜브 영상을 보다가 나중에 봐야겟다하고 저장해둔 영상을 이제서야 발견해서 공부하고자 한다. Call Stack Call Stack : 자바스크립트가 함수 실행을 핸들하는 방법 중 하나. 책을 쌓는 것 처럼 자바스크립트 함수를 스택위에 올리고 함수를 다 실행하면 제거 함 일반 함수인 경우 함수를 return이 나와야 끝나는 것임 크롬 개발 툴 sources의 call stack을 확인해 보면 anonym..
20210324 React Hooks04 (Window Notification 설정, useNotification, useAxios) nomadcoder, 함수형 프로그래밍 함수형 프로그래밍 드림코딩by엘리 : 함수형 프로그래밍 vs 객체지향 프로그래밍 드림코딩by엘리 유튜브 함수형 프로그래밍에 대한 영상을 보고 정리하였다. 지난시간에 Hooks를 만들면서 함수형 프로그래밍을 해보았는데 조금더 함수형 프로그래밍에 대해서 알아보려고 하던 찰나에 영상이 업로드 되어서 시청하였다. 프로그래밍 패러다임 절차지향 프로그래밍 객체지향 프로그래밍 함수형 프로그래밍 함수형 반응형 프로그래밍 프로젝트의 목표에 따라서 적절한 방법과 기법을 사용 함 함수형 프로그래밍 함수형 프로그래밍 언어들(Functional Programming Languages) Haskell, F#, OCaml, Erlang 함수형 프로그래밍을 지원하는 언어들(Support Functional Programming) J..
20210323 React Hooks03 (Nooks : useConfirm, usePreventLeave, useBeforeLeave, useFadeIn, useNetwork, useScroll, useFullscreen), nomadcoder React Hooks 노마드코더 : React Hooks 노마드코더의 React Hooks 강의를 듣고 작성 함 지난 시간 지난 시간에는 React의 hook중에서도 useEffect, useRef에 대해서 알아 보았고 그것을 통해 만든 nooks (nico's hooks) 중에서 useTabs, useTitle, useClick을 알아보았다. usePreventLeave & useConfirm (nico's hook) useConfirm 과 usePreventLeave는 사실 hooks가 아님 (useEffect, useState를 사용하지 않기 때문) 하지만 이를 통해서 좋은 함수형 프로그램이 어떤건지 알수 있음 useConfirm 사용자가 무언가 하기전에 확인 하는 것으로서 사용자가 버튼을 클릭하는..
20210322 React Hooks02 useEffect, useRef, (Nooks : useTabs, useTitle, useClick), nomadcoder React Hooks 노마드코더 : React Hooks 노마드코더의 React Hooks 강의를 듣고 작성 함 지난 시간 hook은 기본적으로 react에서 제공하는 hook이 있고 개인이 custom 하여 만들 수도 있다. 지난 시간에는 React hook인 useState와 nico's hook(Nooks)인 useInput을 공부하였다. 이번에는 useState를 사용하는 nooks useTabs를 알아볼 예정 그리고 기본 hook인 useEffect와 useRef와 이를 활용한 여러 nooks를 알아볼 예정 useTabs (nico's hook using useState) useState hook로 만들어진 useTabs 은 객체가 들은 배열 : [{},{},..]과 배열안의 객체..
20210319 React Hooks01, useState, useInput(nico's hooks + validator 커스텀 유효성 검증) nomadcoder React Hooks 노마드코더 : React Hooks 노마드코더의 React Hooks 강의를 듣고 작성 함 Hooks 앱을 리액트 훅으로 만들면 class component, did mount, render ...등이 필요 없어짐 모든것은 하나의 function이 됨 이제는 functional programming(함수형 프로그래밍)스타일이 됨 Hooks는 react의 state machine에 연결하는 기본적인 방법임 Hook의 시작 recompose라는 라이브러리에서 시작되어 리액트 팀이 인수함 그리고 react에서 hook으로 릴리스 함 useState (React hook) useState는 항상 2개의 value를 return함 첫번째value는 이름을 주고(useState의 값을 불러옴)..
20210318 JS Regular Expression(정규표현식), nodejs(express) vs python(django) 정규 표현식 드림코딩by엘리 : 정규표현식 강의 드림코딩 엘리의 정규 표현식 강의를 찾아 들었다. 정규 표현식 (Regular Expression) regex 텍스트에서 특정 패턴을 찾을때 요긴 함(ex. 이메일, 전화번호, 등 패턴...) 패턴 유효성 검사 여러가지 언어를 지원하고 있으며, 심지어 여러 에디터에서도 정규표현식을 사용한 검색을 지원하고 있음 / /처럼 슬래쉬(slash)들을 사용하여 정규표현식을 알려주고 안에 찾고자 하는 패턴(pattern)을 넣고 외부에 옵션(flag)을 적어 활용할수 있음 /pattern/flag Pattern 예제 참고 사이트01 예제 참고 사이트02 Groups and ranges | : 또는 (ex. /hi|hello/gm) -> hi, hello () : 그룹..
20210317 바닐라 js로 그림판 기능추가, Rectangle guideline, page vs offset vs client vs screen Nomadcoder 바닐라 js를 이용한 그림판 만들기 project Nomadcoder 사이트 클릭! 그림판 만들기 강의는 모두 끝냈고 내가 더 추가하고자 하는 기능을 구현 해 보았다. 추가적으로 구현한 기능 그림판 사각 툴 가이드 라인 기능(Rectangle Guideline of Rectangle Tool) 어제 사각 툴의 경우 구현은 했지만 사각툴의 가이드 라인을 만드는 것이 너무 나도 어려웠다. 결론 부터 이야기 하자면 드디어 구현했다 ~ ! 기능을 설명하자면, 이전에 사각툴을 이용하게 되면 해당 부분에 드래그를 할때 사각 형 가이드 라인이 보이지 않았다. 계속 시도 하고 했지만 기능을 구현하는데는 실패 하였고 오늘만에 만들었다. 01 : HTML 위에 표시 되기 위한 요소를 하나 추가했다. 02 : 요소 이벤트 ..
20210316 바닐라 js로 그림판 기능추가, Rectangle Tool(사각 툴), Tool Guider,절대상대좌표, clearRect, Nomadcoder 바닐라 js를 이용한 그림판 만들기 project Nomadcoder 사이트 클릭! 그림판 만들기 강의는 모두 끝냈고 내가 더 추가하고자 하는 기능을 구현 해 보았다. 추가적으로 구현한 기능 도형 툴 도형 툴 중에 사각형 도형 툴을 만들기 위해서 엄청나게 많은 시간을 쏟았다. 일단 여러 시행착오를 많이 겪었다. 원래는 그림판 처럼 그었을 때 사각형 도형 가이드 라인이 보였으면 했다. 하지만 여러가지 장벽을 만나 포기하게 되었다. Canvas API의 한계인것 같다. 사각형 그리기 툴 기본적으로 html을 통해 rect 버튼을 만들었다. Rect html 요소 가져오기 // ELEMENTS const canvas = document.getElementById("jsCanvas"); const ctx = c..