ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 웹서버와 웹프레임워크와 라이브러리와 모듈
    Tutorial/0.Tutorial 2022. 10. 5. 09:37

    웹 프레임워크 : Spring(자바 서버개발), Django와 Flask(파이썬 서버개발), Angular, Vue.js, Express.js 등

     

    코드 (특히 DB 연동 관련) 및 서버의 구동, 메모리 관리, 이벤트 루프 (서버의 구동과 메모리 관리에 이벤트 루프가 포함되는 것 아닌가? 확인요망) 등 웹 서비스 기초공사를 도맡는다.

     

    그 기초공사의 도구로 각 프레임 워크만의 메서드들이 주어진다.

     

    라이브러리 : pandas, bs4, requests, nespaper3k, certifi, Node.js에서 npm으로 너가 깔은 것들, JQuery도 포함. 그리고 React.js(??)

    어떤 기능 구현을 위해 모인 코드, 함수들의 집합. 

    그런데 리액트가 프레임워크가 아니라 라이브러리인가?

    그리고 놀랍게도, 공식 홈페이지발 정보로 라이브러리가 맞다고 한다.

     

    여전히 구분이 혼란스러운 차에, 어떤 지혜로운 말을 만났다.

     

    더보기

    라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어한다.

    단지 동작중에 필요한 기능이 있을 때 능동적으로 라이브러리를 사용할 뿐이다.

     

    반면에 프레임워크는 거꾸로 애플리케이션 코드가 프레임워크에 의해 사용된다.

    프레임워크에는 분명한 [제어의 역전] 개념이 적용되어 있어야 한다.

     

    애플리케이션 코드는 프레임워크가 짜 놓은 틀에서 수동적으로 동작해야 한다.

     

    출처: 토비의 스프링

     

     


    그러므로...

     

    프레임 워크는 내가 작성한 코드를 호출하고 써먹으려 한다.

    반면 라이브러리는 나에 의해 호출받고 내가 써먹어야 한다.

     

    프레임 워크에는 명백한 목적(예컨대 서버의 구축)이 있다보니, 방향의 차이가 있는 것이다.

    그렇구나, express를 갑자기 접하면서 느낀 어떤 갑갑함.

    잘되던 코드들에도 에러가 주렁주렁 걸려있는 이 질척거리는 감각.

    나는 express 프레임 워크에 의해 고용되어 있는 셈이었나.

     

    프레임워크는 제어의 역전 개념이 적용된 기술. 

    소프트웨어의 특정 기능을 위한 클래스와 인터페이스의 집합.(클래스와 인터페이스는 더욱 공부 요망)

     

    라이브러리는 개발자가 만든 클래스에서 호출하여 사용.

    'Tutorial > 0.Tutorial' 카테고리의 다른 글

    웹서버와 WAS  (0) 2022.10.06
    RDBMS 와 NoSQL  (0) 2022.10.05
    URI 와 URL  (0) 2022.10.05
    REST API : 그러니까 창문은 창문답게 투명하게, 보기 쉽게 만들라는 것  (1) 2022.10.01
    Tutorial 0.4 API  (0) 2022.09.05
Designed by Tistory.