View

 컴퓨터 공부를 한지 꽤 오래 되었음에도 불구하고  Web이랑은 벽을 쌓고 지냈지만, 요즘들어 JS 코드를 볼 일이 많아졌다. 주어진 시간이 많지 않아 꼼꼼히 하나하나 확인하기 어렵지만, 간이라도 맞추기 위해 나무위키에서 찾아 끄적여 보았다. 


JavaScript (JS) - 동적으로 웹페이지를 생성하기 위해 사용되는 언어.

- HTML, CSS, JavaScript가 웹 구성의 3요소 정도로 인식되고 있다.

- HTML이 웹 페이지의 기본 구조를 담당하고, CSS가 디자인을 담당한다면 JavaScript는 클라이언트 단에서 웹 페이지가 동작하는 것을 담당한다.

- 브라우저 내에 스크립트엔진(interpreter)가 존재하여 client 에서 동작하여 웹페이지를 생성함. Java와 Javascript는 별개의 언어이다.

(HTML - 웹 페이지 구조 담당 // CSS - 웹 페이지 디자인 담당 )



AJAX - Asynchronous JavaScript and XML, 비동기 정보 교환 방법.

- XML/JSON을 이용해서 데이터를 전송한다.

- 프로그래밍 기법으로 변경되는 부분(Java script)과 변경되지 않은 부분(HTML/CSS)을 구조적으로 분리한다.

- 웹 페이지의 구조를 담고 있는 template 를 가지고 동적으로 웹 페이지를 작성하게 된다. (ajax 를 사용하지 않는다면 웹페이지에 변경이 있을 때 마다 HTML 전체를 그려줌으로 깜빡이는 현상이 발생한다.)

- 단점으로는 동적으로 웹페이지가 생성되기 때문에 검색엔진에 데이터가 검색되지 않는 다고 하는데 google은 그런것 조차 검색이 가능하단다...



JQuery - JS plugin 으로 DOM(Document Object Modeling)를 지원한다



Node.js - google v8 + asynch library 를 사용한 Javascript 엔진으로 서버를 구축가능하도록 하는 SW 플랫폼

- NPM을 사용하여 node.js 용 패키지 관리/배포를 한다.



CommonJS - Json+asynch 기반으로 JS를 브라우저에서 뿐아니라 server-side 에서도 사용하려 하는 자발적 working group 이다.



JSON / XML - 마크업 언어의 한가지로 태그등을 이용하여 데이터의 구조를 기술하는 언어이다. server to client 로 데이터를 전달할 때 사용된다.

- JSON 이 요즘 더 선호되는데 XML에 비교하여 가독성 및 성능이 좋다. 하지만 주석이 없고 데이터 타입 바인딩이 불가능하며, 문법 오류에 민감하다


AngularJS - front end clinet JS library



Angular - JS framework 로 back-end/front-end의 작업을 동시가 할 수 있도록 지원한다



React - JS UI component library로 HTML 및 CSS를 JS로 제어한다


JSP - Java Server Page, JSP로 작성 > servlet class로 변환 > servlet container 로드 > tomcat 에서 구동하는 형태로 동작한다.

- 안정적이고 유지보수가 보다 쉬워서, Enterprise 용으로 적합하다



PHP - PHP Hyper text Preprocessor로 재귀적 약자. 소규모 웹페이지 제작을 통해 사용하는데, 상대적으로 가볍고 개발이 빠르다. 하지만 협업 및 성능개선이 어려워 enterprise 환경에서는 잘 활용되지 않는다.



ASP - Active Server Pages, 스크립트 엔진으로 MS 기반 기존 언어를 웹에서 사용가능하도록 하며, windows에 최적화 되었다.


ASP.NET - 닷넷 framework 위에서 구동되는 server-side 웹 프레임워크



* 끄적끄적.. 
- JS 가 web 이외의 개발도 하게 됨으로써 입지가 높아지고 있다. 기능이 정말 다양해지고 사용하기 쉬워진것 같다. 조금씩 알아갈 수록 신기한게 많다.

- 전체적으로 절차지향 > 객체지향 > 함수형 > 반응형으로 가고 있어서 시대의 흐름을 잘 타고 가고 있지 않나 싶다

- 하지만 반대로 과도한 기능의 확장으로 인하여 잡탕이되고 있다는 지적도 있으며 장점이자 단점으로 library들이 많다

- 학부생 시절때만 하더라도 java는 느리다는 생각에 C/C++ 진형의 언어를 더 선호 했었지만, 결국 JUST-IN-TIME (인터프리터 기반의 언어들에서 runtime에 필요한 부분을 컴파일 하고 cache에 올려 인터프리팅에서 재사용하는 방식)로 인해 인터프리트 언어들의 성능이 향상되어 지금 유행하고 있는게 아닌가 싶다


- 흔히들 말하는 프론트앤드Front-end(UI/UX,view작성,CSS)와 백앤드back-end (JSP/Spring/DB)의 범주에 포함된 기술은 너무나도 다양하지만, 어쩌다보니 난 백앤드쪽에 자리잡고 있는게 아닌가 싶다. 나쁘진 않지만 지속적으로 프론트앤드의 발전하는 기술에 관심을 두어야 할 것 같다.









Share Link
reply
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31