목록분류 전체보기 (112)
생각기록
ejs확장자를 건들떄 컨트롤을 건들지 않으면 볼 수가 없는데 controller design 파일 따로 //backend 사람들이 안건들이는 CDesign.js loginPage = { res.render('/loginPage); } 랜더만 하는 페이지를 만들어라 프론트도 공통적인 것들은 최대한 빼세요 여백, 색상 코드, 폰트 common이라든지 css파일을 불러서 공통 적용 합시다. css 명명도 규칙을 정하는게 좋습니다 ejs에서 include 해오면 명명이 겹치면 하나는 들어오지 않는다. 개발할 때 API 명세서를 만드는게 좋다 이름 METHOD URL 회원가입 POST 요청 메소드, URL, 보낸 데이터, 응답으로 어떤것을 보낼지 정의하면 협업하기 좋습니다 어떤 변수를 사용해야하는지 알 수 있다...
서비스에서는 세션에 사용자 정보 담고 그 정보를 검사 하는 것으로 로그인 기능을 구현한다. 1. 모델에가져와서 정보를 가져오든 2. 정보가 없을때 로그인페이지로 리다이렉트로 구현 1.erd 프로그램? https://velog.io/@doohyunlm/DB-ERD-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%B6%94%EC%B2%9C-%ED%88%B4 저번에 시퀄라이즈 배웠을 때 모델 index.js 파일에 const Sequelize = require('sequelize'); //데이터베이스 적어놓은 config.json불러와야한다 const config =require('../config/config.json')['development']; //제이슨 파일이여서 확장자까지 입력, 그곳의 [..
*repo생성한 사람이 해야 할 것 레퍼지토리 만들기 비밀번호 입력 cd ~~ .git clone ~~ -git checkout -b develop git push origin develop > remote에 develop브랜치 올림 (github 확인 가능) 이란 브랜치를 추가 한다 settings > Branches > default branch 를 develop 체크 후 update 눌러서 바꾼다. develop이란 브렌치가 메인이 되도록 settings > general > automatically delete head branches 체크!! 머지한 브렌치 자동적으로 삭제 되도록 하는 것 브랜치 보호하는 것 1. repo > settings > branches 에서 "Add branch prot..
둘은 비슷한 개념이지만 차이점이 있다. 쿠키란? 웹브라우저에 저장되는 작은 저장 공간 저장된다는 것은 웹브라우저 상에서 볼 수 있다는 말 웹브라우저(클라이언트에) 저장되는 키와 값이 쿠키의 동작 방식 1. 클라이언트가 페이지 접속 = 요청 ( 서버로 요청 ) 2. 서버에서 쿠기를 생성 3. HTTP 헤더에 쿠키를 포함 시켜 응답 *요청에 따라 쿠키 생성 4. 브라우저가 종료되어도 쿠키 만료 기간이 있다면, 클라이언트에서 보관하고 있음 5. 같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보냄 6. 서버에서 쿠키를 읽어 이전 상태 정보를 변경 할 필요가 있을 때 쿠키를 업데이트 하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답 6번에 그 키에 해당하는 쿠키값을 변경할 일이 생기는데 클라이언트의 리퀘스트 ..
sequelize 란? 자바스크립트 구문을 알아서 SQL로 변환해준다. db작업을 쉽게 할 수 있도록 도와주는 orm 라이브러리 orm object-relation mapping slq문을 쓰지 않고, 자바스크립트 함수를 실행해서 sql이 알아서 실행 되도록 하는 것 이거 안써도 된다. 데이터베이스를 바꾸는 일이 별로 없지만 데이터베이스를 바꾸게 되면 sql도 바꿔야 하는데.... 씨퀄라이즈 orm을 쓰게 되면 애초에 js 함수라서 연결에 데이터베이스에 맞게끔 sql문을 자동으로 날려준다. 작업에 필요한 얘들을 설치 npm install pakage.json 파일에 있는 것들이 자동으로 깔린다. 저번 방명록 실습 코드에서 model 파일 빼고 그대로임 기존은 mysql 패키지로 접속햇다면 시퀄라이즈로 d..
폼 검증 api 사용 자바스크립트에서 폼이 유효한지 확인하는 가장 간단한 방법 form.checkValidity() 어떤 조건이라도 실패하면 거짓을 반환하고 전부 통과할 경우 참을 반환한다. 오류 메세지를 보여주지 않고 document.getElementById('form').checkValidity(); // true form.reportValidity()는 서식의 전송 버튼을 누른 것 처럼 오류메세지를 표시하지만 서식 전송 x setCustomValidity() 브라우저에 기본 설정되어 있는 validationMessage 를 원하는 메시지로 설정할 수 있습니다. document.getElementById('bar').setCustomValidity('비밀번호를 정확히 입력해주세요.');
1. 최상위 js 부터 읽고 라우터 미들웨어로 걸어 놓은 부분 ./routes > 그파일로가면 라우터 정의해둔게 있다 2. 라우트 파일 확인(라우터만 존재) '/' ,controller.visitor //localhost:8000/visitor 3. 컨트롤러 파일( 라우터에 요청이 왔을때 해야 할 일) 가서 라우터에서 하고싶은 일 함수 생성하고 > 라우터 파일 순으로 해줘야 오류가 뜨지 않습니다. visitor 함수 안에 get_visitor는 Visitor이라는 객체를 타고 오고있다. Visitor는 model의 파일을 require하고 있다. 4. model 파일 초반 8줄은 mysql 로그인 그 곳에 get_visitor가 컨트롤러의 기능으로 들어가게 된다 직접적으로 쿼리문, sql문을 날리는 것도..
MVC model view controller 소프트웨어 설계와 관련된 디자인 패턴 > 상황에 따라 자주 쓰이는 설계 방법을 정리한 코딩 방법론! ( 문법 X ) model은 데이터베이스 연동 view는 클라이언트 controller는 모델 뷰사이 중간다리 MVC를 이용한 웹 프레임워크 PHP Django Express Angular MVC 장단점 장점 패턴들을 구분해 개발한다 (어디에 사용하는지..) 유지보수 용이 ( 나눠놓고 분리해서 작업하기 때문에 ) 유연성이 높다 확장성이 높다 협업에 용이하다 ( 한 파일을 건드리면 깃이나 이런데서 충돌이 발생하기 때문에 ) 단점 완벽한 의존성 분리가 어렵다 (기능별 분리가 어렵다) 설계 단계가 복잡하다 설계 시간이 오래 걸린다 클래스가 많아진다. (파일안에 선언..