- Today
- Total
목록Category (320)
개발하는 고라니
집계 함수 COUNT 컬럼의 개수를 집계해준다. SELECT WRITER_ID, COUNT(ID) FROM NOTICE GROUP BY WRITER_ID //회원별 게시글 수를 조회. 단 게시글 수가 2 미만인 레코드만 출력 SELECT COUNT(WRITER_ID) CNT, WRITER_ID FROM NOTICE GROUP BY WRITER_ID HAVING COUNT(WRITER_ID) < 2; SUM 특정 컬럼의 합계를 집계 MIN 특정 컬럼의 최소값을 반환 MAX 특정 컬럼의 최대값 반환 AVG 특정 컬럼의 평균값 집계 문자열 관련 함수 LOWER (X) : X를 모두 소문자로 변경 LOWER ('GOOD MORNING') : good morning UPPER (X) : X를 모두 대문자로 변경 ..
Ajax Ajax이전의 웹 요청은 문서요청이라서 매 요청마다 문서를 새로 받아왔다. 웹 개발을 하다보면 페이지를 새로고침 없이 데이터를 받아오거나, 데이터를 보내거나 등 작업이 요구될 때가 많은데 이같은 작업을 위해선 비동기적인 방법이 필요하다. Ajax(Asynchronous Javascript and XML)은 Javascript 라이브러리 중 하나이다. 비동기식 요청의 대표적인 라이브러리이다. 브라우저가 갖는 XMLHttpRequest 객체를 이용해 페이지를 다시 요청(Refresh)하지 않아도 데이터를 가져올 수 있는 기술이기도 하다. Javascript를 이용한 비동기 통신, 클라이언트와 서버간 XML 데이터를 주고받는다. 데이터 전송 Ajax를 알아보기 전에 동기식과 비동기식 데이터 전송은 어..
11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 자바스크립트와 노드를 공부하며 백준도 자바스크립트로 풀어보고 싶은 마음에 첫 도전하는 자바스크립트로의 programming sovling. 첫 문제인 만큼 난이도도 아주 쉬운 것으로 정했다. 자바스크립트와 readline에 어서 익숙해져서 어려운 문제도 자바스크립트로 풀어보고 싶은 마음이 굴뚝같다. # Code var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); func..
이벤트 트리거로 파일을 업로드하는 방법도 있다면 요즘엔 드래그 앤 드랍 방식으로도 많이 사용한다. 그 방법을 알아보자. 먼저 이벤트 중에 drag라는 이벤트가 있는데 이를 좀더 자세히 보면 다음과 같이 있다. Drag & Drop 파일 업로드 네모난 박스에 파일을 드래그 했을 때 그 파일의 정보를 가져오는 것을 알아보기 전에 사전 준비를 해보자. HTML과 그에 필요한 Javascript 작성한다. HTML / JS 작성 파일업로드 : DND & Trigger 파일선택 var sec9 = document.querySelector('#ex9'); var btnUpload = sec9.querySelector('.btn-upload'); var inputFile = sec9.querySelector('inp..
일전에 Node를 통해 MongoDB에 데이터를 저장하고, 가져오고, 수정하고 삭제하는 것을 구현해보았다. 우리에게 익숙한 RDBMS와 다르게 NoSQL인 MongoDB는 스키마(Schema)가 없다는 특징이 있었다. 이는 때로는 편리할지도 모르지만, 어쩌면 더 복잡할 지도 모르겠다. 그래서 사용하는 것이 mongoose이다. mongoose는 MongoDB를 사용할 때 스키마를 지정해서 사용할 수 있게 해준다. 스키마 타입 (Schema Type) String 문자열 타입 Number 숫자 타입 Boolean 이진 타입 Array 배열 타입 Buffer 버퍼 타입, 바이너리 데이터를 저장할 수 있다. Date 날짜 타입 ObjectId 각 문서(Document)마다 만들어지는 ObjectId를 저장할 ..
웹 개발을 약간이라도 경험해보았다면 데이터베이스를 다뤄보았을 것으로 기대된다. 보통 데이터베이스는 테이블, 컬럼 등을 사용하는 '관계형 데이터베이스 (RDBMS)'가 익숙할 것이다. 그런데 이번에 node를 공부하며, mongodb라는 NoSQL을 다뤄볼 기회가 생겨 몽고디비에 대해 간단하게 알아보고, 관계형 데이터베이스와의 차이점 몇 가지 그리고 node를 이용한 회원가입, 로그인, 정보 수정, 회원 탈퇴하는 아주 간단한 CRUD를 다뤄보고자 한다. MongoDB MongoDB는 C++로 만들어진 오픈소스 데이터베이스이며 NoSQL이다. 문서지향적 Cross-platform 데이터베이스이며 뛰어난 성능과 확장성을 지닌다. MongoDB의 특징 Document-Oriented Storage : 모든 데이..
파일 업로드 - multer node.js를 이용해 파일업로드 하는 것을 공부해보자. 파일을 업로드 하는 방법에는 크게 ajax를 이용한 비동기적인 방법과 form태그를 이용해 multipart로 보내는 방법이 있다. 우선 파일을 업로드 하기 위해서는 express, http 같은 모듈 외에 어떤 것이 필요한지 보자. 이 포스팅에서는 라우팅 및 서버에 관한 설명은 하지 않는다. var multer = require('multer'); var cors = require('cors'); var fs = require('fs'); var static = require('serve-static'); fs같은 경우 내장 모듈이라 따로 설치할 필요가 없지만, 'multer', 'cors'는 npm을 통해 설치하여야..
Router node.js를 공부하던 도중 http를 사용하다가 express 모듈을 사용해서 웹 서버를 간단하게 구현해보았다. use()를 이용해 미들웨어를 등록하고 특정 url로의 주소매핑도 해보았는데, get과 post를 나누고 싶던 찰나 Router를 사용하면 된다는 것을 알았다. Express 4에는 Router 미들웨어가 포함됨 Router 객체를 참조한 후 route() 메서드를 이용해 라우팅함 var router = express.Router(); //router 객체가 반환 router.route('/process/login').post(function(request, response) { ... }); ... app.use('/', router); /* 마지막에 이것을 넣어줘야함 */ ..