목록기술개념정리(in Javascript) (94)
개발하고 싶은 초심자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3NZvj/btrvS6RmXjt/UxxPlBoOD94mEnUKziQeO0/img.png)
1. NoSQL 기반의 비관계형 데이터베이스 ‣ 비구조적인 대용량의 데이터를 저장하는 경우 → 비관계형 데이터베이스이기 때문에 자유로운 형태로 데이터를 저장할 수 있음. → 필요에 따라 새로운 데이터 유형을 추가할 수 있음. → 소프트웨어 개발에 정형화되지 않은 많은 양의 데이터가 필요한 경우 효율적임. ‣ 클라우드 컴퓨팅 및 저장 공간을 최대한 활용하는 경우 → 데이터베이스를 클라우드 기반으로 쉽게 분리할 수 있도록 지원한다. → 저장공간을 효율적으로 사용한다. → 수평적 확장의 형태로 데이터베이스를 증설하므로 이론상 무한대로 서버를 계속 분산시켜 증설할 수 있음. ‣ 빠르게 서비스를 구축하고 데이터 구조를 자주 업데이트하는 경우 → 스키마를 미리 준비할 필요가 없기 때문에(스키마와 데이터 타입이 유연..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cxekOI/btrvZ4q2GQK/2AIgKmgtdK5VF6OGs0y4g1/img.png)
1. MongoDB 사이트를 들어간다. 2. Log in with Google을 클릭한다. 3. View All Organizations를 클릭한다. 4. 우측에 있는 Create New Organization을 클릭한다. 5. Organization Name을 설정하고, MongoDB Atlas에 체크되어 있는지 확인한 후 Next를 클릭한다. 6. Create Organization을 클릭한다. 7. New Project를 클릭한다. 8. Project Name을 지정하고 Next를 클릭한다. 9. Create Project를 클릭한다. 10. Build a Cluster를 클릭한다. 11. FREE라고 써진 옵션의 Create a cluster를 클릭한다. 12. Cloud Provider & Re..
node -v 명령어로 노드 버전 확인 npm cache clean -f npm 캐시 삭제 npm install -g n 노드 버전관리 n 플러그인 설치 n latest // 최신버전 설치 n lts // lts버전 설치 n stable // 안정된 버전 설치 // nvm으로 원하는 버전 깔기 nvm install 버전 npm -v // npm 현재 버전 확인 npm i -g npm // npm 업데이트 // -g 옵션이 없으면 현재 프로젝트에만 적용됨 npm i -g npm@버전 // npm 다운그레이드
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DJMGJ/btrvWGKGvjn/kvDUPIrt374mgZkPCkTee0/img.png)
1. ORM(Object Relational Mapping /객체-관계 매핑) 데이터베이스 데이터 Object 필드 : 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것. → 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하여 객체 모델과 관계형 모델 간에 불일치가 존재하는데, 이를 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. → 객체를 통해 간접적으로 데이터베이스 데이터를 다룬다. persistent API라고도 할 수 있다. ex) JPA, Hibernate 등 ⇒ ORM을 이용하면 따로 SQL문을 짤 필요 없이 객체를 통해 간접적으로 데이터베이스를 다룰 수 있다. ✷ 객체 지향 프로그래밍에서 객체는 상태를 나..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/caxpRE/btrvy2s1to8/HqietD0yRuEV8FarwZzwE0/img.png)
1. MVC(Model-View-Controller) ✷ MVC : 소프트웨어가 돌아가는 방식에 대한 하나의 디자인 패턴. → 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴 → 어떤 특정한 역할들에 대해 역할분담을 할 때 가이드라인을 제시하는 방법 중 하나 → 서비스 처리들을 각각 기능별로 나누게 됨으로써 프로그래밍을 할 때 하나의 코드베이스에서 모든 것들을 하는 것이 아닌 정돈된(의도된) 코드를 특정 역할에서 할 수 있게 한다. ⇒ 코드 가독성, 관리성, 코드 퀄리티, 협업 등의 모든 것이 좋아진다. ex) Express, Angular, Django, Flask 등 브라우저에서 유저의 액션들이 일어나면 라우터 쪽으로 특정 엔드포인트들을 라우팅(분기), 각 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Xi2Nz/btrveLmgX9d/Kb3vR3Vi7Bz8TnQ0oaZiN0/img.png)
1. 인스타그램 스키마 디자인 1. 게시물(Post) 작성 기능 : 인스타그램에서는 여러 개의 사진(A)을 올릴 수 있다. 사진을 업로드할 때, 사진을 설명하는 간단한 글(C)이 올라간다. 2. 게시물에 댓글 달기 및 좋아요 기능 : 게시물이 업로드되면 다른 사용자는 이 게시물에 댓글(E)을 달 수 있고, 좋아요(B) 를 눌러 관심을 표할 수 있다. 3. 해시태그 기능 : 게시물에 #감성 #맛집 등의 해시태그(D)를 남길 수 있으며, 이 해시태그를 누르면 이 해시태그가 사용된 모든 게시물을 한 데 모아 볼 수 있다. 4. follow 기능 : 인스타그램에서 친구 관계는 팔로워(follower)와 팔로잉(following)으로 나뉜다. 김코딩이 최해커를 following 하면, 최해커의 피드가 김코딩의 홈..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BKHOn/btru4j2SuL9/Kn5oKDU6MIhiXGrKpE73R1/img.gif)
1. 데이터베이스의 필요성 ✷ 영속성(persistence): 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성 ✷ 데이터베이스 : 애플리케이션에서 사용할 데이터를 체계적으로 디스크에 담도록 만들어진 데이터 저장 전용 프로그램. ① In-Memory ‣ JavaScript에서 데이터를 다룰 때에는 프로그램이 실행될 때에만 존재하는 데이터가 있다. ‣ JavaScript에서 변수를 만들어 저장한 경우, 프로그램이 종료될 때 해당 프로그램이 사용하던 데이터도 사라진다. === 변수 등에 저장한 데이터가 프로그램의 실행에 의존한다. ⇒ 예기치 못한 상황으로부터 데이터를 보호할 수 없고, 프로그램이 종료된 상태라면 데이터를 원하는 시간에 받아올 수 없으며, 데이터의 수명이 프로그램의 수..
1. macOS에서 homebrew를 통한 MySQL 설치 brew install mysql brew info mysql (우분투 / 리눅스 환경 설치 명령어) // 패키지 매니저 apt-get을 이용한 설치 // OS에 포함된 패키지 매니저이기 때문에 별도 설치 필요 X sudo apt-get update sudo apt-get install mysql-server 2. MySQL 프로그램 실행 brew services start mysql (우분투 / 리눅스 환경 설치 명령어) sudo systemctl start mysql 3. MySQL 접속과 비밀번호 세팅 1. mysql -u root 2. mysql을 처음 설치하면 root 비밀번호는 비어있기 때문에 엔터 키를 눌러준다. 3. welcome ..