WEB/NodeJS

20140403 서버설명/NodeJS

계발꿈나무 2014. 4. 3. 17:42
반응형

 * IT 팁

 - 많이 알아야 잘 쓸 수 있음 한 사람이 2개 이상 언어를 다 잘할 수 없음.

 - 어떤 수준에 도달 했을 때, "적성 잘 맞아야" 잘 하게됨.

 - DB 설계를 잘해야됨 (DB를 어떻게 구축해야 코딩이 편할까??)

 - 동기 -> 1번째줄 2번째줄... 줄 순서대로 읽음/통화

   비동기 -> 실행 순서대로 읽음/문자


 * 클라우드


호스팅(SaaS)

 - 운영체제/톰캣/DB 제공해줌 -> 소스파일만 올리면 됨.


kt u+


사무실 있으면 컴퓨터에 인터넷전용선 연결 -> 리눅스 os 설치 등등.. -> mysql, mongodb, iaas, paas, saas 설치


idc 센터 입주


우리 할 수 있는 정도 (IaaS)

 - U클라우드, T클라우드 (OS: CentOS, Ubuntu)


아마존 웹서비스 (IaaS, PaaS, SaaS)


=> 터미널로 연결해서 여러가지 설치할 수 있음


=> 추천 U클라우드, 아마존웹서비스 


=> 정식 서비스 : 도메인 구입


 * AJAX

 - 크롬 access-control-allow-origin 에러

 - 크롬 웹스토어 : Allow-Control-Allow-Origin: 


 * POJO (Plain Old Java Object) 

 - 상속구조 X, 순수한 Java

 - ex ) 떠먹는 요구르트 : 플레인이 제일 맛있음. 


 *  DB (무결성, 구조화된 DATA)

 - 무료 Mysql, 유료 Oracle

 - RDB : 다른 데이터와 연결, 관계형 데이터베이스  = excel

 - 데이터 무결성 : 자료형을 정해놓고 데이터를 옮겨서 안전하게 데이터가 저장됨

 - 설계가 잘 되어있는 DB가 오래 감.


 * NOSQL (빅데이터)

 - 몽고DB, Radis 대표 !!

 - NOT ONLY SQL (SQL만 쓰는건 아니다)

 - 데이터 베이스, 데이터 저장소

 - 장 : db설계가 필요 없음. (스키마가 자주 변하는 스타트업 등 효율적)

   단 : transaction 이 안 됨 - 작업단위/ex. 은행에서 계좌이체 (홍길동 줌 -> 10억 -> 장길산 받음 : 모든 것이 한꺼번에 처리됨)(한 꺼번에 돌아가기가 안 됨)

                      

 - 형태 : 1) 키, 값 : radis(보조역할) 2) document(json)/mongodb

          3) 한 ROW 단위 (카산드라, ...) 4) 그래프 DB (그래프 만들 데이터 저장하는 것)

 - NoSQL : 빅데이터 세상으로 떠나는 간결한 안내서

http://www.yes24.com/24/goods/8510944


 * IT

 - Information Technknowledge

 - 정보를 프로그래밍 언어로 처리한다

 - 점점 DB가 무거워질수록 속도와 연관 됨.


 * Nodejs

 - NPM 오픈소스 사이트

 https://www.npmjs.org/

 express, async, socket.io, mongoose, jade, redis, mysql, sails(ruby처럼 nodejs를 꾸밈), winston(log만들때씀)

 - express 한글 가이드 ; firejune.io/express/guide


 - 채팅서버 만들기 : Nodejs net -> 챗팅 NET 필요


 - asp  : IIS

   php  : apache, php엔진

   jsp  : tomcat

   node : x (소스 자체가 서버)


 그러므로, java -> jsp -> 스프링 -> 마이바티스 -> php

         


 * 프로토콜 명세서 

 1. URL : http://서버의IP주소/ajax (get방식)

 2. 파라미터 : keyword : 문자, ...

 예) 회원확인 : id 20자, pwd 20자, name 10자, tel 010-xxx-xxxx 

 3. 결과(client 에게 돌아가는)

 ajax 초급, ajax 중급, ajax 고급

실패 { "status" : "fail" }

성공 { "status" : "success" }


 - 1. url : /login

   2. 파라미터 " id pwd

   3. 결과 : {"status" : "success"} {"status" : "fail"}



 * 개발 5단계 

1. 분석 : 스토리보드(기획), 기획자에 의해 만들어진 업무 분석 

2. DB 설계 : ERD, 엑셀에 정리

3. 화면 및 기능 설계 : 페이지마다의 화면설계서(모바일:프로토콜정의서), 화면기능 설계서

4. 코딩/TEST : 가상의 데이터를 만들며 코딩

   var data = {키:값, 키:값, ...};

   res.json(data); (client 쪽으로 날라감)

5. 배포/운영, 유지보수


 * DB설계 => 테이블 설계(눈에보이는것 + DB관련정보)

 - 명확하게!! 숫자로 다 표시(사용자이름 몇글자), ecxel에 sheet로 정리해야함.

 - !!!!!!!!!!!!!!!!!!!!문서화가 중요함!!!!!!!!!!!!!!!!!!

 - mysql (자료형)

   글번호 : 자동증가

   글쓴사람이름 : VARCHAR

   메모내용 : TEXT

   날짜 : TIMESTAMP

 

 - mongodb (눈에보이는것, 코딩키)

   메모 = {

     writer : string,

     content : string,

     mtime : date,     


   }


 - 차이(mysql/mongo) : 

    insert/save

    update/save(바뀐내용으로)

    delete/remove

    select/find


반응형