-
라이브러리/프레임워크 차이점a 2022. 11. 10. 20:11반응형
컴퓨터 공학과 3학년을 마치는 이 시점에 딱히 코딩문제 풀이나 개발 프로젝트를 하지 않아도 컴파일할 만한 소스코드를 작성하는 실력이 늘었다. 처음 컴퓨터 언어를 배우기 시작할 무렵보다 훨씬 언어에 대한 지식은 많이 까먹고 옅어진 기분인데, 완성하는 데까지 걸리는 시간은 줄었으니, 왜 그런지 생각해 볼 법하다. 그 이유는,
1. 검색 실력이 늘었다.
이 몫이 가장 크다.
2. 에러에 익숙해졌다.
에러 메시지로 어떤 문제가 있는지 이해할 수 있다. 그건 아마 많은 에러를 겪어봤기 때문이라 생각한다.
3. 개발 프로젝트를 했다.
졸업을 위해서, 지난 여름 방학에 다양한 참고 서적을 보면서 개발하는 과정을 거치고 나서부터 좀 더 넓은 시야를 확보할 수 있었다. 단순히 프론트엔드 작업을 위한 자바스크립트랑 웹개발 프레임워크를 사용하는 수준이라고 생각했는데, '내가 원하는 것을 어떻게 익혀서 활용한다'라는 과정에 익숙해진 것 같다. 지금까지도 자바스크립트는 잘 모르는 초보라고 생각한다. 개별 언어에 대한 이해도는 부족해도 원하는 결과를 낼 수 있다는 것은, 컴퓨터 코딩이 워낙 오픈소스가 많다는 점과 나 자체가 깊게 고민하지 않고 바로 적용하는 성격이라 그런 것 같다. 조심성 없는 성격을 적성이라고 말하기에는 무척 부끄러운 일이긴 하다.
라이브러리와 프레임워크의 차이점
- 라이브러리 : 부품이 되는 소프트웨어의 집합
- 프레임워크 : 소프트웨어의 형식을 제공하는 것
즉 라이브러리는 기능이나 프로그램을 개발할 때 필요한 여러 기능이다. 라이브러리에서 제공하는 함수를 사용해서 원하는 작업을 수행한 적이 꽤 많을 것이다. 대표적으로 c++에서 string 클래스 등을 불러오는 것과 같다. 한편 프레임워크는 원하는 로직을 구현하기 위한 기본 환경을 제공한다. 블록체인 프로젝트 개발을 위한 IBM의 '하이퍼레저 패브릭'의 경우 일정한 구조 속에서 필요한 소스코드만 개발자가 구현하여 추가하는 방식이다. 이러한 코드는 프레임워크에서 호출되어 작동하므로 프레임워크가 제시하는 일정한 규칙을 따라야 한다.
반응형'a' 카테고리의 다른 글
젯브레인 학생 라이센스/CLion 설치 (0) 2022.11.16 [리액트]리액트 부트스트랩으로 컴포넌트 만들기 (0) 2022.11.13 [컴퓨터 구조] CPU와 기억장치 (0) 2022.08.13 [블록체인] 프론트엔드는 리액트로 만들자 (0) 2022.07.29 [무선통신과 모바일] (0) 2022.07.20