목록전체 글 (49)
Joon's Space
XML 웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡성을 해결하기 위하여 개발된 다목적 마크업 언어이다. JSON 속성 - 값 쌍(Attritube - Value Pairs)으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷. SOAP(Simple Object Access Protocol) XML과 HTTP 통신을 기반으로 하여 네트워크상에 존재하는 각종 컴포넌트 간 호출을 효율적으로 실현하기 위한 방법을 제시하는 규약. 네트워크상에서 Client와 Service 간에 메시지를 요청하고 이에 응답해주는 방법을 제공한다. AJAX(Asynchronous JavaScript And XML) 비동기식 자바스크립트 XML의 약자로 HTML만으..
이상현상(Anomaly) 정규화를 거치지 않으면 데이터베이스의 데이터들이 불필요하게 중복되어 릴레이션 조작 시 문제가 발생하는 현상. 종류 삽입 이상 - 테이블에 데이터를 삽입할 때, 의도와는 관계없이 원하지 않는 값들로 인해 삽입할 수 없는 현상 수정(갱신) 이상 - 테이블에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 불일치성이 생기는 현상 삭제 이상 - 테이블에서 한 튜플을 삭제할 때, 의도와는 관계없이 값들도 함께 삭제되면 연쇄삭제가 일어나는 현상 정규화(Normalization) 데이터베이스 이상현상의 원인이 되는 데이터 중복성을 제거하여 데이터의 무결성을 보존하는 기법 유형 제1정규화(1NF) - 릴레이션 R의 모든속성 값이 원자값을 가지는 릴레이션 제2정규화(2NF)..
플랫폼 현행 시스템 파악 3단계 오픈 API 요구사항 도출 기법 인터뷰, 관찰, 프로토타입, 벤치마킹, 사용자 스토리텔링 요구사항 프로세스 타,도,분,명,확 HIPO CASE 요구사항 검증방법 워크스루, 동료검토, 인스펙션 기능적 요구사항, 비기능적 요구사항 객체지향 프로그래밍 객체지향 특징 캡슐화, 추상화, 다형성, 정보은닉, 상속성 자료 흐름도 프로세스(Process): 자료의 처리/변환 과정을 표현한다. 자료흐름(Data flow): 자료의 흐름을 표현한다. 자료저장소(Data store): 파일, 데이터 베이스 등 저장소의 위치를 표현한다. 단말(Terminator): 자료의 출처와 도착지를 표현한다. 자료사전(DD: Data Dictionary) 자료 흐름도의 대상이 되는 모든 자료에 대한 기본..
생성자 함수 객체를 여러개 만들어야할 때 사용하는 함수 생성자 함수는 일반 함수와 크게 차이는 없지만 두 가지 관례를 따른다. 1. 함수의 첫 이름은 대문자로 시작한다. 2. 반드시 'new' 연산자를 붙여 실행한다. // 생성자 함수 이름 첫 글자는 대문자로 function User(name, age) { // this = {} this.name = name; this.age = age; // return this; } // new 연산자를 사용해서 호출 let user1 = new User("Mike", 30); let user2 = new User("Jane", 22); let user3 = new User("Tom", 17); 생성자 함수 작동 순서 new 함수명(); 으로 생성을 하면, 함수 ..
변수 - 한번 선언된 변수를 다시 선언할 수 있다. (let은 두 번 선언할 시에 error 발생) var name = "Mike"; console.log(name); // Mike var name = "Jane"; console.log(name); // Jane - 선언하기 전에 사용할 수 있다. -> 호이스팅(hoisting) 선언은 호이스팅 되지만, 할당은 호이스팅 되지 않는다. 호이스팅 이란? 스코프 내부 어디서든 변수 선언은 최상위에 선언된 것처럼 행동 var name; console.log(name); // undefined 할당은 호이스팅 되지 않기때문에 값은 undefined name = 'Mike'; // 할당 console.log(name); // ReferenceError let na..
RESTful API REST 란? (Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다. HTTP 프로토콜을 의도에 맞게 정확히 활용하여 디자인하도록 유도하고 있기 때문에 디자인 기준이 명확해지며, 의미적인 범용성을 지니므로 중간 계층의 컴포넌트들이 서비스를 최적화하는 데 도움이 된다. REST의 기본 원칙을 충실히 지킨 서비스 디자인을 “RESTful”이라고 표현한다. Restful API 에서는 다음과 같은 규칙을 지킨다. URI는 정보의 자원을 표현해야 한다. 자원에 대한 행위는 HTTP Method(GET, POST, DELETE, PUT, PATCH)로 표현한다. HTTP Method는 아래과 같이 정리할..

Install packages npm install express ejs mongoose 예제 설명을 위해서 사용할 패키지 express 및 ejs, mongoose까지 설치 Express Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크이며 자유롭게 활용할 수 있는 수많은 HTTP 유틸리티 메소드 및 미들웨어를 통해 쉽고 빠르게 강력한 API를 작성할 수 있다고 공식 홈페이지에 적혀있다. https://expressjs.com/ Express - Node.js web application framework Fast, unopinionated, minimalist web framework for Node.js $ np..

Query로 원하는 데이터 가져오기 query문을 사용하면 원하는 조건의 데이터를 가져올 수 있는데, firebase에서는 query() 함수를 사용한다. 이때, where() 함수를 사용하여 안에 조건을 작성해 주면 된다. userObj.uid 와 일치하는 정보를 갖고싶으면 다음과 같이 입력한다. const q = query(collection(dbService, "nweets"), where("creatorId", "==", userObj.uid)); 필드명이 "creatorId" 이고 값이 userObj.uid와 일치하면 query에 반환한다. query함수 안에 orderBy를 다음과 같이 작성하면 순서대로 반환하겠지만, firebase에서는 index를 추가하여야 하는데, const q = qu..