AngularJS

자바스크립트로 작성된 클라이언트 측 MVC 프레임워크

구글직원의 개인프로젝트에서 시작어 현재는 구글 공식지원 프로젝트가 되었다.

브라우저에서 돌아가며, ajax 스타일의 단일 페이지 웹 애플리케이션 작성에 좋은 언어이다.

HTML을 템플릿 언어로 사용하여 HTML 태그와 속성으로 정적인 HTML 문서에 동적인 특성을 추가한다.

의존성 주입(DI)과 테스트에 집중하는 프레임워크이다.


유용한 사이트/도구

대표사이트 : www.angularjs.org

Batarang : AngularJS 웹 애플리케이션의 상태를 시각적으로 살필 수 있는 크롬 확장 프로그램.

Plunker(http://plnkr.co), jsFiddle(http://jsfiddle.net) : 브라우저에서 자바스크립트, CSS, HTML 등의 코드를 작성하고 공유할 수 있는 도구.


Tutorial

<html>

  <head>

    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.js"></script>

  </head>

  <body ng-app ng-init="name='Plunker'">

    This World is whose world? <input type="text" ng-model="name">

    <h1>Hello {{name}} World!</h1>

  </body>

</html>

AngularJS를 사용하려면 

1. script에 ajgularjs 라이브러리를 추가하고, 
2. ng-app HTML 사용자 정의 속성을 통해 AngularJS에 대한 초기화를 진행하며,
3. ng-init 을 통해 템플릿 렌더링 전 모델을 초기화 해준다. (변수선언, 객체생성의 개념으로 이해하면 된다.)
4. ng-model 을 통해 변수와 객체를 연결하여 변수값을 동적으로 사용자에게 입력받을 수 있다.
   (테스트해보니 ng-model이 적용되면 input 객체에 value 속성을 할당해도 적용되지 않는다.)
5. {{변수명}}의 형식을 통해 모델의 특정값을 렌더링 하여 화면에 노출한다.



[ Tutorial 실행화면 (Plunker) ]



** 용어 **

디렉티브(directive) : AngularJS 프레임워크가 알아볼 수 있는 특별한 HTML 태그와 속성을 가리킨다. (예 : ng-app, ng-init 등)


'development > angularjs' 카테고리의 다른 글

angularjs - Module  (0) 2014.08.19
angularjs - $scope  (0) 2014.08.03
Posted by dreamhopp
,

서비스의 서버 구성을 보다보면 모든 서버가 WEB(httpd)과 WAS(tomcat)를 따로 구성하고있었다.

내가 많이 본 서버는 Tomcat과 Apache httpd로 구성된 케이스인데 아래와 같이 2개의 형태로 나뉘어볼 수 있었다.

   타입1. web과 was서버가 하나의 물리적인 서버에 함께 있고, httpd만 L4로 로드밸런싱 하는 형태

   타입2. web과 was서버가 각각 물리적인 서버에 나뉘어있고 web서버끼리, was서버끼리 L4로 로드밸런싱하는 형태

  

그러다 보니 왜 서버를 분리해야하는지, 그리고 두가지 타입중 어떤 방식이 더 좋은지 궁금증이 생겼다.

여러모로 찾아보긴 했으나 어느것이 답인지도 모르겠지만 비용적인 측면과 보안적인 측면에 그 이유가 있는것같다.

어떤것이 더 좋은지, 어떤 상황에 무얼 고려하여 서버를 구성해야할지 의문이다.


[타입1] 

  • tomcat으로의 접근은 httpd에서 특정포트만을 오픈하여 구성하고 L4를 web서버에만 연결함으로써
    L4장비를 하나만 사용하여 비용감소(?)
  • httpd가 down되는경우 정상적으로 동작하는 tomcat서버에 트래픽이 전달되지 않음.
    (보통 이런경우 L7 check를 통해 빠르게 감지하여 장애대응)
[타입2]
  • web서버와 was 서버 각각 L4를 통해 로드밸런싱을 구성하여 특정서버가 장애발생하였을경우에도 다른 서버들은 정상적으로 서비스 가능하다.
  • 물리적으로 서버를 분리하여 web서버가 해킹되더라도 was 서버까지 영향이 미치지 않음
  • 특정서버로 부하가 몰리는것을 방지할 수 있음.



참고URL : 

http://blog.naver.com/sangmanla/100199297270


'development > Infra' 카테고리의 다른 글

패키지관리도구 - YUM, HOMEBREW  (0) 2014.06.18
Posted by dreamhopp
,