아파치 메이븐(Apache Maven)은 자바용 프로젝트 관리 도구이다. 아파치 앤트의 대안으로 만들어졌다. 아파치 라이선스로 배포되는 오픈 소스 소프트웨어이다. 

'정보관리기술사 도전 > 용어 정의' 카테고리의 다른 글

컨테이너(Container)?-정리 필요  (0) 2019.02.20
이클립스(Eclipse)  (0) 2019.02.19
스위프트(Swift)  (0) 2019.02.15
자바스크립트( JAVA script)  (0) 2019.02.15
정리 필요  (0) 2019.02.14

최근에 노트북 보호필름 종류가 다양해지고 있다. 


전문 브랜드로 오랫동안 사랑 받아온 힐링쉴드는 종이의 촉감, 필기감, 소리까지 재현한 종이질감필름, 광학기기 이상의 선명도 고화질필름, 장시간 사용하는 직장인과 학생들에게 인기 있는 시력보호기능이 적용 된 블루라이트 차단필름, 실외 사용에 최적화된 눈부심 방지 저반사 필름, 외부 스크래치와 지문으로부터 상판, 하판, 팜레스트를 보호하는 버츄얼스킨 등 총 52종을 출시했다. 


그런데 정작 자신에게 적합한 용도에 필요한 보호필름이 어떤것인지 모르고 사용하고 있다.

비싼거 싼거 ..


나 자신도 그렇게 노트북 보호 필름을 고르고 있으니까..


이번 기회에 나에게 적합한 노트북 보호필름이 어떤 것이지 찾아보는 시간을 갖도록 하겠다. 



'학습분야(IT) > 유용한 정보' 카테고리의 다른 글

검토 내용 관련 사이트  (0) 2019.02.22
IDE 개발 과정  (0) 2019.02.19
WEB 서버와 WAS 서버의 차이  (0) 2019.02.15
프레임워크 개발 가이드  (0) 2019.02.15
[엑셀]날짜 서식  (0) 2018.10.21

1.WEB 서버와 WAS 서버의 차이


-WEB 서버 : HTML, CSS, js, jpg 등 정적인 데이터를 처리하는 웹서버 입니다.


WEB Server로 가장 많이 쓰는 프로그램으로는 Apache재단의 Apache가 있고, Microsoft사의 IIS, nginx등이 있습니다.


웹서버의 아파치나 IIS 와 같은 소프트웨어는 HTML/CGI 나 기타 웹 문서들을 HTTP 규약에 따라 웹 클라이언트와 주고받으며 통신하는 것이 주 역할


-WAS(Web Application Server) 서버: JSP, ASP, PHP 등 사용자의 입력을 받아 서버에서 무언가를 처리하고 그 결과를 보여주는 동적인 데이터를 처리하는 웹서버 입니다.


WAS로 가장 많이 쓰는 프로그램으로는 BEA사의 Web Logic, IBM사의 Web Sphere, T-max사의 Jeus, Tomcat, Redhot사의 JBoss 등이 있습니다.


WAS는 규모가 크고 엔터프라이즈 환경에 필요한 트랜잭션, 보안, 트래픽관리, DB커넥션 풀, 사용자 관리 등등의 다양하고 강력한 기능을 제공하는 S/W 를 의미



1.1 WAS 구성

사용자 요청(웹 브라우저) -> 웹 서버 -> WAS(동적 처리) -> 웹 서버 -> 사용자 응답 메세지(웹 브라우저)


<출처: https://ithub.tistory.com/101 [Fall in IT.]>

 



WAS는 정적,동적 처리 둘다 가능하지만 정적처리를 WAS가 하게되면 부하가 많이 걸려서 좋지 않음


* WAS, Web Server를 따로 두고 쓰는 이유가 성능때문으로 알고 있으나, 

톰캣5.5 이상부터는 httpd의 native모듈을 사용해서 정적파일을 처리하는 기능을 제공하는데 이것이 순수 아파치 Httpd만 사용하는 것과 비교해서 성능이 전혀 떨어지지 않는다고 한다. 

그럼에도 톰캣앞에 아파치를 두는 이유는 하나의 서버에서 php애플리케이션과 java애플리케이션을 함께 사용하거나, httpd 서버를 간단한 로드밸런싱을 위해서 사용해야 할 때 필요하기 때문이라고 한다.



2.아파치 웹서버와 아파치 톰켓의 차이


-아파치 웹서버 : WEB 서버


-아파치 톰켓: WAS 서버 ( WEB 서버 내장 )


 

3.언어별 웹서버 구성


-(JAVA) JSP, Servlet  -> 아파치 톰켓 -> WAS 서버 (WEB서버 내장)


-(C,C++) PHP -> RWAPM -> WAS 서버 (WEB서버 내장)


-(MFC, .NET) ASP, ASPX -> IIS ->WAS 서버 (WEB서버 내장)



출처: https://jeong-pro.tistory.com/84 [기본기를 쌓는 정아마추어 코딩블로그]

출처 : https://blog.naver.com/2evergr/60181185157


우리는 오래전에 이미 수많은 개발 언어를 기반으로 원하는 환경에 적합한 개발했던 경험이 있었다.

Assemble, C, Basic, C++, Java, Pascal, Cobol, C#, Delphi 등.. 본인도 오래전에 여기에 있는 모든 언어들을 기반으로 대학에서 수업도 받았고 숙제도 했었다. 


그 당시에는 이 정도의 언어면 충분하다고 생각했었다. 그리고 웹 관련 개발 언어(JavaScript, PHP, ASP, JSP 등)에 대한 관심은 많지 않았고, 특히 JavaScript에 대한 천시하는 분위기까지 있었다. 


그런데 IT 환경 변화는 분명히 있었고, 기술 개발도 매우 빠르게 변해가는 모습이었다. 


분명한 것은 환경은 변화하고 있다는 것이다. 

따라서, 오래전 구식화된 모습의 개발 언어로 변화하는 기술에 대응하는 것에는 무리가 따르기 마련이다. 

그렇다면 환경에 적합한 개발 언어 및 프래임워크의 필요성은 두말할 나위가 없다.


새로운 언어를 개발하는 건 쉽지 않은 일이다. 

개발자들에게 사랑받는 언어가 되기까지는 오랜 시간이 필요하다. 

많은 수고가 필요함에도 주요 업체(Apple, MS, Google 등)은 왜 직접 프로그래밍 언어를 개발했을까? 


일단 개발 생태계를 확보하는 전략으로 풀이할 수 있다. 

수없이 개발되고 있는 하드웨어에 적합한 형태의 앱 개발이 이루어져야 한다. 즉, 해당 하드웨어로 표현하고자 정보를 구현하기 위해서는 수많은 개발자와 함께 앱 개발 생태계를 만들고, 그로 인한 부가가치를 창출해야 한다. 


이러한 생태계를 보다 적극적으로 지원하기 위해 애플 및 많은 업체들은 좋은 프로그래밍 언어와 프레임워크를 기업 차원에서 직접 지원할 수 밖에 없는 구조가 되었다. 


애플은 최근 스위프트를 iOS와 OS X 뿐만 아니라 애플와치 운영체제인 ‘와치OS(watchOS)’, 그리고 애플TV를 위한 운영체제 ‘TVOS’에 가장 적합한 언어를 선보이고 있다. Google은 Android 및 JavaScript를 기반으로 하드웨어에서 사용할 수 있는 양질의 콘텐츠를 앱 생태계에서 끌어올려는 것으로 보인다.


새로운 시대에 필요한 기능을 예전 언어로 구현하기 힘들기 때문이다. C, 자바, 오브젝티브 C등 기존에 많이 사용된 언어들은 10~30년 전에 개발된 언어들이다. 과거에는 모바일 기기도 없었고, 수많은 사용자들이 스마트 기기와 웹사이트에 몰리지도 않았다. 이미지, 동영상 등 사용자가 소비하는 콘텐츠도 과거와 많이 달라지고 있다. 

최근엔 새로운 기능과 현대 시대에 맞는 프로그래밍 방식을 언어 차원에서는 지원하는 경우가 늘고 있다. 

즉, 애플의 스위프트를 비롯해 구글이 만든 ‘고(Go)’, 모질라재단이 만든 ‘러스트(Rust)’, 젯브레인이 만든 ‘코틀린(Kotlin)’ 등이 대표적이다. 

스위프트는 iOS OS X 운영체제에 최적화된 프로그래밍 언어다. 

과거 iOS OS X 앱을 개발하기 위해선 ‘오브젝티브 C’라는 언어를 이용해야 했다. 기존 C언어에 ‘오브젝티브(Objective, 객체지향)’의 성격을 섞은 언어였다.


오브젝티브 C는 iOS OS X 개발자의 주류 언어로 자리잡았다.

스위프트는 오브젝티브 C에서 C언어의 특성을 줄이고 객체지향 언어의 성격을 강화한 언어다. 

애플이 2014년 내놓은 신규 프로그래밍 언어로 기존 언어를 대체하며 빠르게 사용이 증가하고 있다. 
스위프트는 모바일 운용체계(OS) iOS와 컴퓨터용 OS OS X 개발용으로 사용할 수 있는 새 프로그래밍 언어이다. 
함수형과 객체형 언어 중간 격으로 스크립트 언어이기 때문에 컴파일이 필요 없다. 



'정보관리기술사 도전 > 용어 정의' 카테고리의 다른 글

이클립스(Eclipse)  (0) 2019.02.19
Maven-> working  (0) 2019.02.19
자바스크립트( JAVA script)  (0) 2019.02.15
정리 필요  (0) 2019.02.14
프레임워크에 대한 이해  (0) 2019.02.14

우리가 매일 접속하는 웹사이트는 크게 3가지 요소로 구성된다. 

‘HTML(Hyper Text Markup Language)’, ‘CSS(Cascading Style Sheets)’, ‘자바스크립트(Javascript)’다. 

- HTML은 웹페이지의 큰 뼈대를 제공하고, 

- CSS는 색깔이나 글씨체와 같은 디자인 요소를 관리한다. 

- 자바스크립트는 크로스 플랫폼(crossplatform)6, 객체지향 스크립트 언어로 웹페이지의 동작을 담당한다. 

예를 들어 자바스크립트를 이용하면 ‘버튼을 클릭하면 밑에 날짜를 보여줘’라는 식의 명령을 내릴 수 있다.

자바스크립트를 이용하면 웹에 풍부한 효과를 넣을 수 있지만, 2000년대 초반만 해도 자바스크립트는 개발자들에게 무시당하는 언어였다. 별다른 기능도 없고, 성능도 별로 좋지 않았기 때문이다. 하지만 최근 몇 년 사이에 다양한 자바스크립트 프레임워크와 라이브러리가 생기면서 자바스크립트 생태계는 크게 확장되고 있으며, 그 위상도 점점 높아지고 있다.

프로그래밍 입문자들은 자바스크립트와 자바(Java)가 서로 비슷한 기술이라고 생각하곤 한다. 두 언어 모두 자바라는 단어를 사용하기 때문이다. 하지만 자바스크립트는 자바와는 전혀 관계가 없다. 언어를 만든 사람부터 기능과 사용법까지 완전히 다르다.

자바스크립트는 브랜든 아이크(Brendan Eich)가 개발했다. 브랜든 아이크는 1995년 넷스케이프에 근무하면서 자바스크립트 개념을 만들었다. 그는 처음에는 자바스크립트가 아닌 ‘모카(Mocha)’라는 이름을 붙였다. 모카는 1995년 12월 ‘라이브 스크립트(LiveScript)’라는 이름으로 바뀌었는데, 당시 자바가 큰 인기를 끌자 마케팅 효과를 노려 이름을 자바스크립트로 변경했다. 이후 자바스크립트 기술이 다양하게 발전했고, 이에 대한 표준과 명세를 ECMA 인터내셔널에서 관리하고 있다.


Java와 비교한 JavaScript

자바스크립트와 자바 비교 <출처: (CC-BY-SA) MDN(Mozilla Developer Network)




배우기 쉽고 확장성 높지만, 보안엔 취약해

자바스크립트는 다양한 장점과 단점을 가진다. 


먼저 장점부터 살펴보자. 

자바스크립트는 컴파일 과정이 없기 때문에 다른 언어와 비교했을 때 빠른 시간 안에 스크립트 코드를 작성할 수 있게 도와준다. 기존 C나 자바 언어와 달리 굉장히 단순한 구조와 원칙을 가지고 있기 때문에 초보 개발자들이 쉽게 배우고 이해할 수 있다.


예를 들어 자바스크립트 코드 안에서는 변수, 클래스 및 메소드를 선언하지 않아도 되고, 메소드가 ‘public’, ‘private’ 또는 ‘protected’인지 구분하지 않아도 된다. 이러한 특징은 개발자마다 서로 다른 방식으로 코드를 짜는 부작용도 있다. 그래서 구글이나 에어비앤비 같은 기업들은 ‘자바스크립트 스타일 가이드’라는 문서를 따로 만들어 읽기 쉽고 실수를 피할 수 있는 자바스크립트 작성법을 공개하기도 했다. 자바스크립트는 웹에 특화된 기술이기 때문에 운영체제나 플랫폼에 상관없이 잘 작동되고 확장성도 높다. 


단점은 성능이나 보안 측면이다. 

일단 내부에서 제공되는 기능이 제한적이고, 관련된 개발도구도 적은 편이다. 또한 자바스크립트는 HTML 소스코드에 함께 작성되면서 소스코드가 외부로 공개되는데, 이 과정에서 보안 취약점이 발생할 수 있다.


‘개발자가 가장 관심 많이 갖는 언어’로 꼽혀

깃허브에 작성된 소스코드 언어 종류. 2013년 이후 자바스크립트가 가장 많이 활용되고 있다. <출처: 깃허브 블로그>

개발자들의 대표 커뮤니티인 스택오버플로우는 2015년 157개국에 있는 사용자 2만6천여명에게 다양한 기술 관련 설문조사를 실시했다. 그 결과 자바스크립트는 ‘스위프트’와 함께 개발자들이 가장 많이 관심을 가지는 언어로 뽑혔다. 스택오버플로우는 설문조사 결과를 발표하면서 “자바스크립트는 가장 많이 사용하고 있는 프로그래밍 언어이며, 노드JS와 앵귤라JS가 눈에 띄게 성장하고 있다”라고 밝혔다. 오픈소스 개발자들이 많이 모이는 깃허브에서도 “자바스크립트가 소스코드 저장소에서 가장 많이 활용되고 있다”라는 통계를 공개했다. 그만큼 자바스크립트가 눈에 띄게 성장하고 있다는 뜻이다. 오픈소스 커뮤니티처럼 개인 개발자가 만든 기술도 많지만, 기업이 직접 자바스크립트 기술을 배포해 사용자를 모으는 경우도 적잖다.

특히 최근에는 자바스크립트 관련 라이브러리나 프레임워크가 개발자들 사이에서 큰 화제다. 위키피디아에 올라온 ‘자바스크립트 라이브러리 목록’을 보면 관련된 기술이 90여개인데다 데이터과학, 이용자조작화면(UI), 서버 등 활용 분야도 다양하다. 다음은 최근 큰 인기를 끄는 자바스크립트 기술들이다.

자바스크립트 관련 기술들 로고 <출처: 각 홈페이지>



자바스크립트는 1995년 미국의 넷스케이프 커뮤니케이션즈(Netscape Communications)에서 처음 개발되었다. 자바스크립트 표준은 1996년 11월부터 유럽 컴퓨터 제조업자 협회(ECMA: European Computer ManufacturersAssociation) 기술위원회 39(TC-39)에서 에크마스크립트(ECMAScript, ECMA-262)라는 이름으로 개발되었다. 최신 표준은 2017년 6월에 제정된 ECMAScript 2017이며, 2015년부터 1년에 한 번씩 새로운 버전의 ECMAScript를 공개하고 있다.


HTML 문서의 정적이고 단조로운 한계를 극복하기 위해 넷스케이프(Netscape)사가 만든 livescript가 그 이름을 달리 한 것으로서 브라우저 자체에 내장된 해석기능을 이용한 클라이언트(client) 기반의 일종의 스크립트 언어이다. 작고도 빠르기 때문에 웹문서를 동적으로 꾸밀 때 가장 널리 쓰인다.


즉, 웹 페이지에서 사용자로부터 특정 이벤트나 입력 값을 받아 동적인 처리를 목적으로 고안된 객체 기반의 스크립트 프로그래밍 언어이다. 


'정보관리기술사 도전 > 용어 정의' 카테고리의 다른 글

Maven-> working  (0) 2019.02.19
스위프트(Swift)  (0) 2019.02.15
정리 필요  (0) 2019.02.14
프레임워크에 대한 이해  (0) 2019.02.14
푸쉬(Push) Service  (0) 2018.11.30

해당 영역을 선택하시면 가이드 사이트로 이동합니다. 

Vue.js Guide


JavaScript


https://m.post.naver.com/viewer/postView.nhn?volumeNo=17110897&memberNo=15488377&vType=VERTICAL


자바 스크립트 세계가 빠르게 움직이기 때문에 JavaScript 관련된 프레임워크를 이해할 필요가 있다.


React.JS

React에서는 모든 것이 JavaScript만으로 매우 심플하고 우아한 느낌을 준다. 


React.js는 사용자 인터페이스를 만들기 위한 자바스크립트 라이브러리다. 

페이스북이 만든 기술로, 2013년에 공개됐다. 

커스텀 태그, 가상 DOM, 단방향 데이터 바인딩 기능을 제공해 주목을 받고 있다. 

워드프레스, 넷플릭스가 리액트JS를 사용하고 있다.

리액트JS 기술의 강점은 모바일 쪽에서 활용되고 있다는 것이다..


React에서 모든 컴포넌트는 JavaScript에서 작동하는 선언적 XML 유사 구문인 JSX를 사용해 렌더링 함수 안에서 UI를 표현하는 형식을 취한다. 



AngularJS (Angular 1)

앵귤라JS(Angular.js)는 웹 애플리케이션 프레임워크로, 개발과 테스트 환경을 단순화시킨 기술이다. 

구글이 직접 만들었으며, 현재 버전은 2.0까지 나왔다. 

해외에는 ‘앵귤라JS잡닷컴’이라는 구직 웹사이트가 있을 정도로 앵귤라JS의 인기는 높다. 

앵귤라JS는 JQuery 및 JavaScript UI 컴포넌트를 쉽게 재사용할 수 있다. 

양방향 데이터 바인딩을 통해 불필요한 코드를 제거해 향후 유지보수를 쉽게 할 수 있는 장점도 지녔다.

Angular는 TypeScript가 필수적인데, TypeScript를 사용하면 Java와 C#을 다루던 사용자에게 생산성을 올려주고 정적 타입 체크 등의 많은 이익이 있다. 


소규모 사례에서 TypeScript를 사용하면 생산성 향상보다 많은 오버헤드가 발생할 수 있기 때문에 

대규모 프로젝트에 적합할 수 있다고 한다. 


VUE.JS

Vue.js는 웹 개발을 단순화하고 정리하기 위해 개발된 대중적인 자바스크립트 프론트엔드 프레임워크이다.

웹 UI 개발(컴포넌트, 선언형 UI, 핫 리로딩, 타임 트래블 디버깅 등)에 접근의 용이성이 뛰어나며, 개발자들이 익히기에 쉽다.


Vue는 Evan You에 의해 개발되었는데, Angular 장점만을 가지고 만들어진 것이므로 대중적 성격의 인기를 끌고 있다. 리액트에 이어 2번째로 대중적인 자바스크립트 프레임워크/라이브러리로 인정받고 있다. 



D3.JS
D3는 ‘Data Drivened Document’(데이터 기반 문서)의 약자로, 자바스크립트 라이브러리다. 데이터와 이미지를 함께 묶어 표현해줘 데이터 시각화를 웹페이지에서 표현할 때 많이 사용된다.



Ember

Ember는 완전한 기능의 프레임워크로 평가받고 있다. 

익숙해지기까지는 오랜 시간이 소요되지만, 일단 익숙해지면 생산성을 높일 수 있다는 장점을 가진다. 


Knockout



Polymer

Polymer는 Google이 후원하는 또 다른 프로젝트이며 실제로 Vue의 영감의 원천이었다. 

Vue의 컴포넌트는 Polymer의 사용자 지정 엘리먼트 등 매우 유사한 개발 스타일을 제공한다. 

Polymer는 최신 웹 컴포넌트 기능을 기반으로 한다. 



Riot

Riot 3.0은 작고 아름답게 디자인 된 API를 사용하여 유사한 컴포넌트 기반 개발 모델 (Riot에서 “태그”라고 함)을 제공한다. 



Node.JS

노드JS(Node.js)는 자바스크립트 엔진 ‘V8’ 위에서 동작하는 이벤트 처리 I/O 프레임워크다. 

서버 환경에서 자바스크립트로 애플리케이션을 작성할 수 있게 돕는다. 

노드JS의 장점은 비동기 프로그래밍이다. 

비동기는 이벤트를 요청하고 바로 결과를 받지 않아도 된다. 

따라서 결과값을 기다리지 않고 보다 다양한 요청을 처리할 수 있다. 

웹 분야에서는 비동기 프로그래밍을 쓰는 경우가 드물었는데, 노드JS로 비동기 프로그래밍을 비교적 쉽게 할 수 있게 됐다.







node.js 기반에 react.js 를 사용하며 워드프레스 REST API(WP API) 로 구동된다.


필요한 DOM 조작 수


TypeScript를 사용하면 Java와 C#을 다루던 사용자에게 생산성을 올려주고 정적 타입 체크 등의 많은 이익이 있습니다. 그러나 모든 사람들이 TypeScript를 사용하려고 하지는 않습니다.

많은 소규모 사례에서 TypeScript를 사용하면 생산성 향상보다 더 많은 오버헤드가 발생할 수 있습니다. 이 경우 TypeScript 없이 Angular를 사용하는 것이 어려울 수 있기 때문에 Vue를 사용하는 것이 좋습니다.




'정보관리기술사 도전 > 용어 정의' 카테고리의 다른 글

스위프트(Swift)  (0) 2019.02.15
자바스크립트( JAVA script)  (0) 2019.02.15
프레임워크에 대한 이해  (0) 2019.02.14
푸쉬(Push) Service  (0) 2018.11.30
데몬(Daemon)서비스  (0) 2018.11.30

+ Recent posts