자바스크립트 문자열로 함수를 실행하는 방법
활동 사진

2023.01.25 16:00 모각소 3회차 시작

활동사진

활동사진

2023.01.25 19:02 모각소 3회차 종료
활동 내용
otto, execute 비교
저번 시간에서 언급한 바와 같이 otto와 excute를 각자 진행해 장단점을 따져보게 되었습니다. 이에 대해 각자 장단점을 정리하면 다음과 같습니다.
otto
- 장점
- 따로 js파일을 local에 저장할 필요성이 없다.
- Golang 언어만 사용해서 node를 만들 수 있다.
- 단점
- 시간이 execute에 비해 느리다.
- 해당 파일의 function argument를 넣기 위해서는 for문을 써야하므로 resource를 조금이나마 사용한다.
- 파일 내부에 다수의 function이 있을 때, 개별 function마다 접근하지 못한다.
- vm에서 실행할 수 있는 함수의 갯수가 한정적이다. (node.js를 사용하기 위해서는 또 다른 라이브러리를 추가해서 사용해야한다.)
execute
- 장점
- Otto 라이브러리에 vm보다 실행속도가 빠르다.
- Cli가 간결하다.
- 단점
- local에 존재하는 파일의 path를 명확히 입력해야한다.
저희가 구현하고자 하는 node의 구조에서 otto를 사용한다면, node.js나 여러 함수를 사용할 수 없고 속도가 느리다라는 한계성이 명확해 execute을 사용하기로 했습니다. 그리고 코드를 보다보니 다음과 같은 문제가 발생했습니다.