본문 바로가기

전체 글

(129)
[Spring] Spring MVC Spring MVC - Client가 Server에 어떠한 요청을 한다면 스프링에서 제공하는 DispatcherServlet이라는 클래스(front controller)가 요청을 가로챔 - 요청을 가로챈 DispatcherServlet은 HandlerMapping(URL 분석 등)에게 어떤 컨트롤러에게 요청할지 물어봄(servlet-context.xml에서 @Controller로 등록한 것들을 스캔해서 찾아줌) - 요청에 매핑된 컨트롤러가 있다면 @RequestMapping을 통해 요청을 처리할 메서드에 도달 - 컨트롤러에서는 해당 요청을 처리할 Service를 주입(DI)받아 비즈니스 로직을 Service에게 위임 - Service에서는 요청에 필요한 작업 대부분을 담당하며 데이터베이스에 접근이 필요하..
[Node.js] Node.JS Node.JS 확장성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼 Javascript 활용(V8 자바스크립트 엔진) Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능 서버 측에서 실행 쌍방향 테스트를 위해 REPL 환경 포함 HTTP 서버를 직접 작성해야 함(일부 라이브러리의 도움을 받으며) 특징 - 비동기 I/O 처리 / 이벤트 위주 : Node.js 라이브러리의 모든 API는 비동기식(Node.js 기반 서버는 API가 실행 되었을 때, 데이터를 반환할 때까지 기다리지 않고 다음 API 실행, 이전에 실행했던 API가 결과값을 반환할 시, NodeJS의 이벤트 알림 메커니즘을 통해 결과 값 제공) - 빠른 속도 : 구글 크롬의 V8 자바스크립트 엔진을 사..
[Spring] Maven Maven 라이브러리들을 활용해서 개발을 할때 관리하기 힘들어지는 문제를 해결 전체적인 라이프 사이클을 관리하는 도구 Android Studio - Gradle, Spring-Maven이 대표적 장점 - 라이브러리 관리 용이 - 프로젝트의 작성부터 컴파일, 페트스 등 프로젝트 라이프 사이클에 포함되는 각 테스트를 지원 - war파일 기반의 배포용으로 자주 사용 LifeCycle - Maven build : 메이븐 빌드 실행 - Maven build... : 새로운 사용자 빌드 생성 - Maven clean : target에 지정된 모든 소스 삭제 - Maven generate-sources : 컴파일 과정에 포함될 소스 생성 - Maven install : Local Repository에 패키지 복사 표..
[DB] Couch DB 1. Couch DB의 특징 스케일러블 아키텍처를 쉽게 이용하고 보유하는 데 초점을 둔 오픈 소스 데이터베이스 document 지향 NoSQL 데이터베이스 구조 Erlang으로 구현 JSON을 사용하여 데이터 저장 JavaScript를 쿼리 언어로 사용 비 정형 DB 각 데이터베이스는 독립된 document들의 집합체 각 document는 자신만의 데이터와 스스로 포함하는 스키마를 정비
[Spring] Springboot Spring Boot 의의 - 스프링 부트는 실행하기만 하면 되는 상용화 가능한 수준의 스프링 기반 애플리케이션을 쉽게 만들어 냄(기본 설정 되어 있는 설정을 기반으로 빠르게 개발할 수 있도록 해주는 개발플랫) - 최소한의 설정으로 스프링 플랫폼과 써드파티 라이브러리들을 사용할 수 있도록 함 기능 - 단독 실행 가능한 스프링 애플리케이션을 생성 - 톰캣, 제티, 혹은 언더토우를 내장 - 기본 설정 되어 있는 'starter' 컴포넌트들을 쉽게 추가 - 가능한한 자동설정 됨 - 사용화에 필요한 통계, 상태 점검 및 외부설정 제공 - 설정을 위한 XML 코드를 생성하거나 요구하지 않음 가이드 → 네트워크 연결, Maven or Gradle 플러그인이 IDE에 설치 Ο http://start.spring.io..
RESTFul API RESTFul API REST 의의 - 정의 : "Representational State Transfer"의 약자(대표적인 상태 전송) - 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미 → 자원의 표현에 의한 상태 전달(자원 : 해당 소프트웨어가 관리하는 모든 것, 표현 : 자원을 표현하기 위한 이름) → 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달 - 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍처의 한 형식 → REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍쳐 스타일 → Client와 Server의 통신 방식 중 하나 REST의 구체적인 개념 - HTTP URI를 통해 ..
[Linux] 리눅스 명령어 퍼미션(권한)이란? Owner Group Other Owner와 Group은 파일소유자자신과 자신이 속한그룹. Other은 제3자, 웹사이트 방문객은 제3자로 nobody로 취급. r w x r w x r w x r은 파일 읽기(4), w는 파일 쓰기(2), x는 파일 실행(1) 7 5 5 파일소유자는 그것을 읽고 쓰고 실행시킬 수 있지만, 제3자는 읽고 실행만 시킬 수 있다. 7 7 7 제3자도 쓰기 권한이 주어진다. *.html *.cgi, *.pl *.txt등의 파일은 업로드시 반드시 ascii로 하고 나머지 그림(*.gif *.jpg)이나 자바 애플릿(*.class), 실행파일(*.exe *.zip *.rar)등은 binary mode로 업로드 할 것. 리눅스 기본명령어 명령어 사 용 법 logi..
[Tomcat] Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. 1. 문제상황> 개발중 비정상적인 was 종료로 인해 다음과 같은 에러와 함께 재시작 되지 않는다. 실 운영환경에서도 이런경우가 있다.Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s). 2. 문제확인> was 재시작을 위한 포트가 이미 사용중이기 때문이다..