목록분류 전체보기 (123)
EtoC
javaScript란? 웹사이트와 상호작용하여 페이지를 동적이게 만드는 언어로 .js라는 확장자를 가진다. 사용자가 브라우저에서 행하는것을 처리하고, 데이터를 저장하거나, 네트워크 요청(req)과 응답(res)를 처리할 수 있다. (java와는 아무 상관이 없다) 1. 자바스크립트의 역사 1. 탄생과 변명(?) 1995년 넷스케이프 커뮤니케이션즈가 웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍언어를 도입하기로 결정하고 브렌던 아이크가 자바스크립트를 개발하게 된다. 1996년 3월 모카(moca)로, 9월에는 라이브스크립트(liveScript)로, 12월에는 자바스크립트(javaScript)라는 이름으로 바뀌었다. 2. 표준화 1996년 8월 마이크로소프트는 javascri..
1. github 회원가입 2. 로컬에 프로젝트 폴더 생성 원하는 위치에 폴더를 만들거나 데스크톱에 원하는 명의 폴더를 생성하면된다. 3. git repository 생성 아래의 이미지에 나온대로 하면된다. 4. git init 터미널을 열고 로컬에 생성한 프로젝트 폴더로 이동한후에 아래의 명령어를 입력한다. cd 폴더명 git init git 메인 브랜치 명 변경하기 굳이안해도 된다고생각하지만 가끔 메인으로 바꿔서 해달라는 요청이있어서 바꾼적이 있다. 아래의 명령어를 입력하면 master로 뜨던 브랜치명이 main으로 변경된다. git branch -M main 5. git 레포주소와 로컬 연결하기 git remot add origin repository address위의 명령어를 입력하면 주소가 연동..
깃허브 블로그를 만들어서 글을 쓰고있는데 잔디가 안심어지는 문제가 있었다. 이제서야 수정하는이유는 공부하면서 만들었던 프로젝트용 레포를 지워버렸더니 잔디가 텅 비어버려서 2,3월달은 펑펑 놀아버린 사람이 되었기때문....... 지금까지 추가되지않았던 블로그 기록이라도 살려야겠다. 검색을 해보니 잔디가 심어지지않는 기장 주된이유는 이 두가지였다. email주소가 다르다 merge되는 브랜치가 master(main)이 아니다. 일단 내경우는 위의 2가지 이유때문은 아니였다. 좀더 찾아보니 Fork한 레포지토리는 잔디가 안심어진다고한다. 나도 유튜브보고 jekyll 테마를 포크한거라 안심어지는거였다. 그럼 이제 어떻게 해야하지..? 1. 새로운 repository 생성하기 2. 기존의 repository cl..
1.Git 이란? Git은 분산 버전 관리 시스템(VCS)으로, 실시간으로 프로젝트 파일의 변경사항을 추적하는 시스템이다. 개발자들은 프로젝트를 진행하며 자신의 프로젝트를 자신의 컴퓨터에 저장하고, 변경사항을 기록하며, 나중에 각 버전의 프로젝트를 병합 할 수 있어 협업할때 유용하다. 또한 특정 시점으로 돌아갈 수 있어 다음 프로젝트르 진행하다 수정 요청을 받은 곳으로 다시 돌아가서 작업 할 수도 있다. 2. Git 설치 Git 은 command-line-interface(CLI)를 사용한다. CLI란? 커맨드 라인 인터페이스로 명령 줄 인터페이스라고 하며, 터미널(도스창)을 통해 사용자와 컴퓨터가 상호작용 하는 방법을 말한다. 2-1.Git을 OS에 맞춰 다운로드 다운로드 링크: https://git-..
mongoDB를 쓰다가 비슷한 기능을 하는 두 메소드를 발견했다. 어떤때에 create를 쓰고 어떤때에 save를 쓰는건지 궁금해져서 알아보았다. 1. 공통점 두 메서드 모두 데이터베이스에 새로운 데이터를 만드는 model 메서드이다. 2. 차이점 1. create() create() 메소드는 save()와 달리, 새로운 document를 만들어 데이베이스에 바로 저장한다. 모델 생성과 저장을 한 번에 처리할 수 있어, 코드를 간결하게 유지할 수 있다. create()를 호출할때 생성할 객체르 전달 하면 된다. //create() 사용 const Join = async (req, res) => { await User.create({ name, email, password, }); };2. save() s..
1. Session 설치하기 express-session npm i express-session을 입력하여 node.js에서 사용할 수 있도록 설치한다. const session = require('express-session')을 입력하여 불러온다. 쿠키에 세션id만 저장되고, 세션데이터는 쿠키가아닌 서버에 저장된다. 2. MongDB 연결하기 connect-mongo 설치 명령어를 터미널에 입력한다. npm install connect-mongo yarn add connect-mongoconnect-mongo를 import해준다. const session = require("express-session"); const MongoStore = require("connect-mongo");..
1. MongoDB란? 1. 개념 다목적용 NoSQL로 JSON과 닮은 형태의 Document 기반으로 데이터를 저장하는 데이터베이스이다. Document란? 도큐먼트는 HTML과 같은 특정 형식의 태그 구조를 의미한다. mongoDB가 데이터를 저장하는 최소 단위이다. 필드와 값의 쌍으로 구성되며, 관계를 갖는 데이터를 중첩 도큐먼트와 배열을 사용하여 1개의 도큐먼트로 표현할 수 있다. { field : value } 2. 특징 1. 도큐먼트 데이터베이스 mongoDB는 JSON(JavaScript Object Notation) 형식으로 데이터를 관리하므로 NoSQL 데이터베이스 중 도큐먼트 데이터베이스로 분류된다. 데이터 입출력 시에는 JSON 형식의 도큐먼트를 사용하나 데이터베이스 저장 시에는 이진..
transaction이란? CS에서 트랜잭션은 더이상 쪼갤수없는 가장작은 엄무처리 단위를 말한다. DB에서 트랜잭션은 여러 SQL을 하나의 Operation으로 실행될 수록 있도록 하는 논리적 작업 단위로 데이터의 정합성을 보장한다. 즉, 데이터베이스의 상태를 변화시키기 위한 작업수행의 논리적 단위이다. 트랜잭션 사용시 범위를 최소화 해야한다. 비즈니스 로직의 시작부터 실행하는 것이 아니라 DBMS에 데이터를 저장하는 작업의 시작부터 걸어야한다. 연산이 길어지면 lock을 잡는 시간도 길어지고 최악의 경우엔 DB 커넥션 풀이 고갈될 수 있다. 트랜잭션의 성질(ACID) 1. 원자성(Atomicity) 트랜잭션은 All or nothing의 성질로, 연산이 중간에 중단되지 않는 것을 보장한다. 논리적인 작..