
엔티티 엔티티란 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것. 엔티티는 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성을 갖는다. ex)학생이라는 엔티티는 학번, 이름, 생일, 주소 등의 속성을 가짐. 엔티티는 인스턴스의 집합이라고 말할 수 있다. 엔티티 특징 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야함. 유일한 식별자에 의해 식별이 가능해야함. 영속적으로 존재하는 인스턴스의 집합이어야함.(한 개가 아니라 두 개 이상) 업무 프로세스에 의해 이용되어야함. 반드시 속성이 있어야함 다른 엔티티와 최소 한 개 이상의 관계가 있어야함 엔티티 분류 유무형에 따른 분류 : 유형 엔티티(물리적인 형태가 있고 지속적으로 활용되는 엔티티), 개념 엔티티(물리적인 형태X, 관리해야..

데이터 모델링의 이해 모델링의 정의 Webster 사전 복잡한 현실 세계를 단순화시켜 표현하는 것. 모델이란 사물 또는 사건에 관한 양상(Aspect)이나 관점(Perpective)을 연관된 사람이나 그룹을 위하여 명확하게 하는 것. 모델링의 특징 추상화, 단순화, 명확화 정보 시스템 구축에서는 모델링을 계획, 분석, 설계할 때 업무를 분석하고 설계하는데 이용하고 이후 구축, 운영 단계에서는 변경과 관리의 목적으로 이용. 모델링의 세 가지 관점 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지, 데이터간의 관계는 무엇인지에 대해 모델링하는 방법 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야하는지를 모델링하는 방법 데이터와 프로세스의 상관관점 : 업무가 처리하는 일의 방법에 따라..

🤍Passport 모듈 SNS 서비스에는 로그인 기능이 필요하다. Passport 모듈을 사용하면 세션과 쿠키 등 복잡한 과정 없이 간편하게 로그인 구현이 가능하다. 요즘 자주 사용되는 카카오톡, 페이스북 등의 SNS 로그인 또한 Passport를 사용해서 해결할 수 있다. 🤍Passport 모듈로 로컬 로그인 구현하기 1. Passport 모듈 설치 npm install passport passport-local passport-kakao bcrypt 2. Passport 관련 index.js 작성 serializeUser : 로그인 시 실행되며, 세션 객체에 어떤 데이터를 저장할지 정하는 메서드임. deserializeUser : 매 요청 시 실행됨. 여기서 매개변수는 사용자의 아이디이며 serial..

🤍익스프레스로 SNS 서비스 만들기 앞서 배운 내용들을 바탕으로 로그인, 이미지 업로드, 게시글 작성, 해시태그 검색, 팔로잉 등의 기능이 있는 실제 웹 서비스 제작해보기. 프로젝트 구조 갖추기 1. nodebird 폴더 만든 후 package.json 생성 2. 템플릿 파일 넣을 views 폴더, 라우터 넣을 routes 폴더, 정적 파일 넣을 public 폴더 생성. 3. 프론트단 html 작성 {% extends 'layout.html' %} {% block content %} 이메일 닉네임 비밀번호 회원가입 {% endblock %} {% block script %} {% endblock %} {% extends 'layout.html' %} {% block content %} {% if user..

🤍NoSQL vs SQL MySQL은 SQL을 사용하는 대표적인 데이터베이스, SQL을 사용하지 않는 NoSQL의 대표 주자는 몽고디비이다. SQL(MySQL) NoSQL(몽고디비) -규칙에 맞는 데이터 입력 -테이블 간 JOIN 지원 -안정성, 일관성 -용어(테이블, 로우, 컬럼) -자유로운 데이터 입력 -컬렉션 간 JOIN 미지원 -확장성, 가용성 -용어(컬렉션, 다큐먼트, 필드) 🤍몽고디비 설치 홈페이지 접속 - 다운로드 체크박스 해제 설치 완료 실행 누구나 몽고디비에 접속할 수 있는 상태이므로 관리자 계정 추가 🤍컴퍼스 설치하기 몽고디비는 관리 도구로 컴퍼스를 제공한다. 윈도우는 자동으로 설치가 되므로 따로 설치 안 해도 된다. 홈페이지 접속 - 다운로드 🤍커넥션 생성하기 Authenticatio..

🤍시퀄라이즈란? MySQL 작업을 쉽게 할 수 있도록 도와주는 라이브러리 MySQL 이외에 MariaDB, PostgreSQL, SQLite 등등 같이 사용 가능 자바스크립트 구문을 알아서 SQL로 바꿔주기 때문에 편리함. 🤍시퀄라이즈 실습 1. 프로젝트 생성 2. sequelize, sequelize-cli, mysql2 패키지 설치 npm install express morgan nunjucks sequelize sequelize-cli mysql2 npm i -D nodemon 3. 시퀄라이즈를 통해 익스프레스 앱과 MySQL 연결 app.js configure.json 4. 테이블 생성 & 모델 정의 댓글 테이블 회원 테이블 모델 정의 npm start 명령어로 실행하면 테이블이 생성되는 것을 확..

🔍미들웨어란 미들웨어는 익스프레스의 핵심이다. 요청과 응답의 중간(미들 middle)에 위치하여 미들웨어라 부른다. 미들웨어는 요청과 응답을 조작하여 기능을 추가하기도 하고 나쁜 요청을 걸러내기도 한다. app.use(미들웨어) 모든 요청에서 미들웨어 실행 app.use('/abc', 미들웨어) abc로 시작하는 요청에서 미들웨어 실행 app.post('/abc',미들웨어) abc로 시작하는 POST 요청에서 미들웨어 실행 🔍morgan, cookie-parser, express-session, dotenv 설치 dotenv를 제외한 다른 패키지는 미들웨어임. dotenv는 process.env를 관리하기 위해 설치. app.use(morgan('dev')); 인수로는 dev 이외에도 combined, ..

📝뷰(Vue.js) 미니 프로젝트 Todo List App 만들기 1. 프로젝트 생성 vue create todo 2. 기본 디렉토리에 있는 HelloWorld 컴포넌트 지우고, index.html에 부트스트랩 CDN 추가 3. App.vue 코드 작성 Todo App