본문 바로가기

IT Knowledge

JIN의 IT 지식 정리

1. 프레임워크와 라이브러리의 차이점


라이브러리와 프레임워크의 차이점을 말하라고 한다면 막상 설명하기가 힘들다 그래서 프레임워크와 라이브러리 특징을 정리하고 둘의 차이점을 설명해보겠습니다. 

프레임워크(Framework)

프레임 워크란 프로그램 및 소프트웨어를 개발할때 생기는 문제인 통합성,일관성 등을 해결하기 위해 상호 협력하는 클래스,인터페이스 등의 집합니다. 그리고 제어의 역전 개념이 적용된 대표적인 기술입니다.

 

프레임워크의 특징을 살펴보면 다음과 같습니다.

  • 미리 구현해둔 코드를 사용하기 때문에 개발속도 향상 
  • 일정한 품질을 보장
  • 구조적이고 안정적인 개발이 가능하며 유지보수가 쉽다

라이브러리(Libray) 

 

라이브러리는 간단히 말하면 활용가능한 도구들의 집합입니다. 즉 개발자가 만든 클래스를 호출하여 사용하는것이므로 개발자가 필요한 클래스를 호출하여 사용하는 방식을 가지고 있습니다.

라이브러리/프레임워크차이프레임워크와 라이브러리의 차이점

라이브러리와 프레임워크의 가장 큰차이는 프로그램의 제어의 흐름에 대한 주도성이 누구에게/어디에 있는가에 초점을 맞추어져 있습니다. 즉 개발된 어플리케이션의 흐름을 누가 쥐고 있는냐 가 가장 큰 차이를 보입니다. 프레임워크는 전체적인 흐름은 스스로가 가지고 있으며 개발자는 그안에서 필요한 코드를 작성하는 반면에 라이브러리는 사용자가 전체적인 흐름을 만들어 필요할때 라이브러리를 가져다 사용한다고 말할수 있습니다.

 

호출관계

위에 그림을 본다면 프레임 워크가 개발자의 코드를 호출하고 개발자의 코드는 라이브러리를 호출하게 된다 즉 개발자의 코드 입장에서 본다면 프레임워크 안에서 개발자의 코드가 사용되는 구조이고(개발자의 코드가 수동적) 라이브러리는 개발자의 코드가 호출하는 입장이 된다(개발자의 코드가 능동적). 

 

프레임워크와 라이브러리의 차이를 잘 설명해 놓은 블로그가 있어서 링크를 해놓았습니다.

 

 

참고 https://webclub.tistory.com/458

 

프레임워크와 라이브러리의 차이점

Framework Vs Library 프레임워크와 라이브러리의 정확한 차이점은 무엇일까요? 대중 알것 같지만 정확히 어떠한 차이점이 있는지 모르고 있는 경우가 많을지도 모릅니다. 프레임워크는 단지 미리 만들어 둔 반제..

webclub.tistory.com

 

 

 

 

 

2. HashMap이란?


해쉬는 내부적으로 배열구조를 사용하여 데이터를 저장하기 때문에 빠른 검색속도를 가지고 있습니다.

그리고 데이터의 삽입과 삭제시 기존 데이터를 밀어내거나 채우는 작업이 필요 없도록 특별한 알고리즘을 이용하여 데이터와 연관된 고유한 숫자를 만들어 낸뒤 이를 인덱스로 사용한다.특정 데이터가 저장되는 인덱스를 그 데이터만의 고유한 위치이기 때문에 삽입시 다른 데이터의 사이에 끼어들거나 삭제시 다른 데이터로 채울 필요가 없으므로 삽입과 삭제시 데이터의 이동이 없도록 만들어진 구조입니다.

 

 

 

3. 자바스크립트 개요(지속적으로 내용 추가 예정)


Ⅰ. 소스코드위치

 

자바스크립트는 기본적으로 HTML 문서의 <head></head> 사이에 위치한다.

 

 

1) 내부 자바스크립트

 

HTML 문서 내부에 자바스크립트 소스코드를 두는 유형.

<head></head>

<body></body> 에 둘 수 있다.

 

<script>
  alert('hello world');
</script>
 
  • 현재 HTML 파일의 문서구조(DOM)에 쉽게 접근이 가능.
  • 현재 화면에 동적인 요소를 부여하는 자바스크립트가 같은 소스파일에 위치하기 때문에 코드 관리와 이해가 쉬움.
  • 자바스크립트 소스가 복잡해지는 경우 관리가 어려움.
  • 공통된 기능을 만들기 어렵고 코드의 재활용이 어려움.

2) 외부 자바스크립트

 

HTML 문서 외부에 별도의 파일을 생성하고 HTML 에서 불러와 사용하는 방식

 

<head>
  <script src="../external.js"></script>
  <!-- 외부 서버의 js파일 참고인 경우 다음과 같이 사용 -->
  <script src="https://www.cdn.com/myjs/external.js"></script>
</head>

 

  • 웹의 HTML코드로부터 웹의 동작을 구현하는 자바스크립트 코드를 분리할 수 있음.
  • HTML과 자바스크립트 코드의 읽기가 수월해지고 유지 보수 간편.
  • 공통기능의 모듈화와 코드 재활용이 가능해 짐.
  • 소스가 분리되어 있고 HTML, 자바스크립트 모두 복잡한 경우 소스 이해가 어려울 수 있음.

* 참고 자료

 

   짧굵배(짧고 굵게 배우기) : http://dinfree.com/lecture/frontend/123_js_2.html