자주 쓰이지만 아무도 설명해주지 않는 코딩 용어
프로그래밍(코딩) 언어는 무수히 많습니다. HTML, CSS, JavaScript, Query, Python, Java, React, Angular, C, C++, C# 등 들어본 언어는 무수히 많고, 많은 프로그래머들은 모든 언어를 다뤄봤다는 듯이 얘기들을 많이 합니다.
저는 매번 단어의 뜻은 알지만 아무도 개념을 알려주지 않아 코딩을 시작하기 까지 오래 걸렸습니다. 제대로 시작하기 말입니다. 예를 들어 Pyhton 을 배우면 갑자기 Pandas 를 설치해서 쓰라고 하고 NumPy 를 쓰라고 하는 등 Python 을 배우는데 뭐 이렇게 계속 깔라고하는지, Javascript 를 배우면 vanilla javascript 가 나오가, react 가 react.js 라면서 javascript 라고 하는 등 쓰면서도 복잡한 이런 예시들이 많아 하는둥 마는둥 했었습니다 벌써 3년 전이네요.
그래서 개념 정리가 필요한 듯 합니다. 라이브러리가 무엇인지 프레임워크가 무엇인지, 둘의 차이만 알아도 다양한 어찌보면 왜 이름이 이딴식이지 하는 언어(라이브러리,프레임워크) 이름들이 나와도 그런가보다 할 수 있습니다.
라이브러리
라이브러리는 사용하는 언어의 기능들(function, variable, classes, data structures)을 미리 정리 해 논 도서관 내의 특징 별로 정리 된 책과 같습니다. 누군가 미리 정리를 해 놓았기 필요에 따라 쓰고, 마음에 들지 않으면 다른 라이브러리를 불러와 대체할 수 있습니다. Python 라이브러리 예시는 NumPy, Matplotlib, Pandas 등이 있습니다.
프레임워크
프레임워크는 정해진 규칙이 기본 틀을 제공합니다. 주어진 기본 틀 위에 소프트웨어, 앱, 웹사이트 등을 만들어 가는 것이죠. 사용자가 '라이브러리'를 불러오는 반면 프레임워크는 주어진 공간에 사용자가 불려 들어가는 느낌입니다. Python 을 하다 보면 등장하는 Django 가 프레임워크의 예시라고 할 수 있습니다.
* React (리액트)
요즘 대세 프레임워크로 뜨고 있는 페이스북에서 만든 React 는 reactjs.org 에 들어가 보시면 라이브러리로 설명하긴 합니다. 하지만 React 로 라이브러리를 불러와 앱을 만들고 웹페이지를 만들 수 있어 라이브러리와 프레임워크 둘 중 하나로 정의하기가 애매합니다.
구글에서 만든 Angular가 대표적인 프레임워크입니다.
'ProgramMarketing' 카테고리의 다른 글
Stable Diffusion 스테이블 디퓨전, 인공지능 그림 (0) | 2022.09.24 |
---|---|
크롬 개발자 도구 코드 수정 시 인터넷 연결 끊김 해결하기 (0) | 2022.08.12 |
Could not open key: verify that you have permission 레지스터리 문제 해결 (0) | 2022.04.14 |
Shuffle randomize python list without function shuffle 파이썬 리스트 랜덤 셔플 (0) | 2022.04.13 |
네이버 로그인 Callback Url 정확한 입력 방법 (1) | 2022.04.11 |