Skip to content

기글하드웨어기글하드웨어

인터넷 / 소프트웨어 : 윈도우즈, 리눅스, 기타 운영체제, 각종 어플리케이션, 프로그램, 소프트웨어, 인터넷, 인터넷 서비스에 대한 이야기, 소식, 테스트, 정보를 올리는 게시판입니다.

일반
2020.04.09 07:44

JavaScript BinaryAST 소개

Extra Form
참고/링크 https://blog.cloudflare.com/binary-ast/

현대의 웹에서 자바스크립트는 대단히 핵심적인 위치를 차지하고 있습니다. 아예 자바스크립트에 모든 기능을 의존하는 웹 사이트도 이제는 결코 이상하지 않지요. 그러다 보니 자바스크립트는 갈수록 복잡해지고 코드 크기가 커져가는 경향이 있습니다. HTTP Archive에 따르면 2020년 3월 기준으로 웹 페이지에서 로드되는 자바스크립트의 평균 크기는 약 450KB인데, 사실 1MB를 넘기는 웹페이지도 결코 적지 않습니다.
 

문제는 자바스크립트 코드는 본질적으로 텍스트 뭉치이고, 이걸 해석하는 것은 기술적으로 시간과 비용이 꽤나 소비되는 작업이라는 것입니다. 웹 페이지의 기능을 구동하려면 자바스크립트를 써야 하는데, 커다란 자바스크립트 파일을 끝까지 다운로드받아 컴파일 과정을 거치고 그 결과를 다시 브라우저 창에 피드백하여 웹 페이지를 그려나가는 장대한 과정은 놀랍지만 복잡하고 저사양 시스템에서는 답답합니다.
 

그렇다면, 매번 일일히 자바스크립트의 모든 내용을 처음부터 다 해석하지 않아도 좋다면 어떨까요? 모든 고급 프로그래밍 언어는 인간이 작성한 소스코드를 기계가 실행하기 위한 컴파일의 초기 단계로 추상 구문 트리(Abstract Syntax Tree, AST)라는 것을 만듭니다. 이 과정은 인간이 알아볼 수 있게 텍스트로 작성한 소스코드의 내용을 파싱(Parsing)하여 모호성이 없는 트리 형태로 만드는 것을 말합니다. 텍스트로 된 소스코드는 끝까지 읽기 전까지는 앞에서 나온 내용이 어떤 의미로 작성된 것인지 모호할 수도 있거든요. 그래서 자바스크립트 파일을 모두 다운받기 전에는 본격적인 해석을 시작할 수 없습니다.
 

이걸 반대로 생각해보면, 처음부터 인간이 쓴 소스코드가 아니라 모호성이 없는 데이터 형태로 자바스크립트 코드의 내용을 수신할 수 있다면 웹 서버에서 데이터를 다운받는 도중에라도 브라우저가 코드를 해석하여 실행을 시작할 수가 있을 것입니다. 게다가 복잡한 초기 해석 과정이 생략되므로 훨씬 빠른 퍼포먼스도 기대할 수 있겠지요. 그래서 이런 구상을 실제로 구현하고자 하는 것이 바로 [BinaryAST]입니다.
 

BinaryAST는 아직 초기 단계지만, 모질라와 클라우드플레어 등이 계속해서 추진해 나가고 있습니다. 실제로 파이어폭스의 Nightly 버전에서 다음 두 플래그를 설정하면 해당 기능이 활성화됩니다.

  • dom.script_loader.binast_encoding.enabled = true
  • dom.script_loader.binast_encoding.domain.restrict = false

파이어폭스가 웹 브라우저 차원에서 BinaryAST를 지원한다면, 클라우드플레어는 서버 쪽에서 이걸 지원합니다. 클라우드플레어가 자바스크립트를 BinaryAST로 바꾸는 구조는 이렇다고 합니다.

V8-isolate-01@2x.png

특이한 것은, 위 그림에서 서버 역할을 하는 Worker와 자바스크립트를 AST로 해석하는 Parser는 자바스크립트인 Node.js 기반인데, 이걸 BinaryAST로 바꾸는 Encoder는 Rust로 개발하여 웹어셈블리로 컴파일한 물건이라는 점입니다. 웹 생태계에서도 점차 다양한 언어가 등장한다는 것을 보여주는 것 같습니다.
 

그래서, 이걸 쓰면 정말로 웹 브라우징에 성능 향상이 있을까요? 비록 이것이 초기 버전이긴 하지만, 모바일 등 사양이 낮은 환경에서 코드 구조가 복잡할수록 BinaryAST는 빛을 발한다고 합니다. 앞으로의 발전을 기대해도 좋겠죠.
 

binast.gif
 

참고 :
https://github.com/binast/binjs-ref
 



  • ?
    달가락 2020.04.09 09:49
    무지막지하게 커지는 스크립트 용량을 압축기술이랑 HTTP/2위에서 아등바등 버티고 있지만 이런 쪽으로도도 개선하는 시도가 있네요. human-readable한 표현이다보니 bytecode보다 통제하기도 좋을거구요. 프론트엔드는 1도 모르지만 암튼 좋은 글 감사합니다.
  • profile
    쮸쀼쮸쀼 2020.04.09 14:45
    BinaryAST는 말 그대로 기계가 읽기 좋은 물건이지 사람이 읽으라고 나온 물건은 아닙니다.
  • profile
    title: 가난한까마귀      잠을 미루는 건 내일이 오지 않길 바래서야. 2020.04.09 10:08
    좋군요. 처음엔 이렇게 커질 줄 몰라서 도입을 안했으려나요
  • profile
    쮸쀼쮸쀼 2020.04.09 14:47
    2000년대 초반까지만 해도 자바스크립트는 글자 반짝거리게 하기나 마우스 커서 쫓아다니는 장식 등에나 쓰는 걸로 여겼었죠. 그게 이리 될 줄은 정말 아무도 몰랐지 싶습니다. 2004년에 구글이 AJAX 응용 지도 서비스를 처음 내놨을 때였나 그때 ‘자바스크립트로 이런 것도 된다니!’ 하고 센세이션이 상당했던 것으로 기억합니다.
  • ?
    구루비 2020.04.09 13:57
    요새 웹개발을 보면 너무 빨리 바뀌고 지저분해진 것 같습니다.
    기존 웹과 호환성을 가능한한 유지하면서 발전하려다 보니 이렇게 된 것 같은데
    HTTP, HTML, Script, CSS를 한번에 싹 갈아엎고 새로 시작했으면 하는 생각도 듭니다.
  • profile
    쮸쀼쮸쀼 2020.04.09 14:48
    HTML 갈아엎고 XHTML로 가려는 것조차 반발이 너무 커서 실패하고 HTML5로 오게 된 거라, 아예 새로 시작하는 영역이 아니면 어렵지 않을까 싶기도 합니다. 사실 새로 시작하는 것도 대개 기존 것이랑 최대한 호환성 맞춰가면서 개발하고 있을 것이고요. 경로의존성이라는 것이 참 무섭습니다.
  • ?
    NPU 2020.04.09 14:49
    파싱 자체가 잡아먹는 시간이 너무 크니 이런것도 생기는군요..
  • profile
    쮸쀼쮸쀼 2020.04.09 14:51
    사실 저렇게 해서 날아오는 데이터 자체도 파싱을 아예 안 하는 건 아니지만, 기존 자바스크립트보다야 엄청 수월할 테니까요.
  • profile
    Retribute      안녕하세요. 행복한 하루 되세요. https://blog.naver.com/wsts5336     2020.04.09 21:44
    Parsing 자체가 좀 더 빠른 DB 접근을 위해 만든건데 이게 발목을 잡나보군요
  • profile
    쮸쀼쮸쀼 2020.04.10 10:02
    그런 게 아니라, 이걸 한 결과물은 어차피 정해져 있는데 매번 각 클라이언트에서 다시 작업하는 게 비효율적이기 때문입니다. 그 외에 다른 여러 문제들도 있고.
  • profile
    mysticzero 2020.04.14 13:15
    현직 웹개발자로써 심히 공감가는 부분이 적잖이 있네요...
    요즘은 jQuery까지 거의 기본으로 쓰다보니 같은 기능을 개발해도 개발자가 누구냐에 따라 코드가 완전히 다른 경우도 많이서
    가끔 남이 개발하던 싸이트 넘겨받아 소스 까 보면 한숨이 나옵니다
  • profile
    쮸쀼쮸쀼 2020.04.14 13:36
    남이 개발하던 사이트 넘겨받아 소스 까 보면 한숨이 나옵니다 (2)
    비게에도 썼지만 최근 어떤 웹 에이전시가 작업하는 사이트에 기능 추가하는 작업을 했는데, 솔직히 코드 품질이 영 심각하더라고요. 제가 코드 넣은 부분 근처에서 레이아웃 깨지는 부분은 제 코드랑은 전혀 관련이 없고 돈도 안 받았는데 그냥 제가 보다 못해 고쳐놨습니다.

작성된지 4주일이 지난 글에는 새 코멘트를 달 수 없습니다.


  1. No Image

    마이크로소프트, 2018년에 빙을 애플에게 팔겠다고 제안했음

    구글이 공개한 반독점 소송 자료에 따르면 마이크로소프트는 애플에게 빙 검색 엔진을 매각하거나 함께 투자를 하지고 제안했습니다. 이런 제안은 2009년, 2013년, 2015년, 2016년, 2018년, 2020년에 다양한 형태로 이루어졌습니다. 빙을 ...
    Date2024.02.27 소식 By낄낄 Reply6 Views1001
    Read More
  2. No Image

    일론 머스크, 윈도우 11의 온라인 계정 요구를 깜

    일론 머스크가 새로운 컴퓨터를 샀는데, 윈도우 11이 쓸모없는 온라인 계정을 입력하라고 했다며 투덜거렷습니다. 예전에는 우회가 가능했지만 그것도 안 되며, MS 액세스 권한을 무조건 줘야 한다면서요. 댓글로 로그인을 피하는 방법들...
    Date2024.02.27 소식 By낄낄 Reply11 Views949
    Read More
  3. 마이크로소프트 CO-Pilot, 4월에 한국어 지원이 유력함

    ▶ 마이크로소프트, 올해 4월 중 'CO-Pilot'이 한국어도 지원한다는 전망이 있음 - 26일(관련 업계) : 마이크로소프트 'CO-Pilot'이 4월 중 출시될 가능성이 많음 - 업계 관계자 : 일정이 조금 앞당겨질 가능성이 많음 - 마이크로소프트 :...
    Date2024.02.27 소식 By블레이더영혼 Reply3 Views511 file
    Read More
  4. 윈도우 11, Wi-Fi 7을 곧 지원

    윈도우 11 인사이더 프리뷰 빌드 26063에서 Wi-Fi 7을 지원합니다. Wi-fi 6/6E보다 4배, Wi-fi 5보다 6배 빠르며, 레이턴시를 줄여 응답성이 향상됩니다.
    Date2024.02.27 소식 By낄낄 Reply2 Views501 file
    Read More
  5. No Image

    Tails 5.22에서 TL-WN725N USB 무선랜카드 사용 불가

    [참고]   글 작성일 현재 Tails 최신판은 5.22 입니다. 컴퓨존에서 TL-WN725N 벌크가 저렴하게 나왔길래 이 테스트 하려고 하나 구입했는데, 호환이 안 됩니다.   Tails에서는 RTL8188EUS로, Windows(10 22H2)에서는 RTL8188EU로 잡힙니다...
    Date2024.02.26 소식 Bytitle: 컴맹임시닉네임 Reply9 Views527
    Read More
  6. 마이크로소프트, 다이렉트X의 '다이렉트 슈퍼 해상도(DSR)' 기술을 공개할 예정(GDC 2024)

    ▶ 마이크로소프트, GDC 2024 컨퍼런스에서 다이렉트X의 '다이렉트 슈퍼 해상도(DSR)'을 공개할 예정 - 주요 내용 : '윈도우 OS'의 게이밍 PC용 업스케일링 기술을 통한 통합 접근 방식을 공개할 예정 - 벤더사와 협력 : '엔비디아 & ...
    Date2024.02.26 소식 By블레이더영혼 Reply0 Views1239 file
    Read More
  7. 마이크로소프트 OS/2 개발 키트 프리 릴리즈가 650달러에 낙찰

    마이크로소프트의 OS/2 소프트웨어 개발 키트 버전 2.0 프리 릴리즈 2 사본이 이베이 경매에서 650달러에 낙찰됐습니다. OS/2는 IBM PS/2 시스템을 위한 운영체제지만, MS가 윈도우 3.1을 출시하면서 IBM과의 협업은 중단됐습니다.
    Date2024.02.25 소식 By낄낄 Reply0 Views772 file
    Read More
  8. No Image

    윈도우 11, 재부팅 없이 업데이트 적용?

    마이크로소프트가 새로운 업데이트 절차를 테스트하고 있습니다. 재부팅 없이 업데이트를 적용하는 새로운 기능인 핫 패치가 윈도우 11 24H2에 추가됩니다. 핫 패치는 윈도우 서버나 Xbox에서 이미 도입한 기능입니다. 프로세스를 재시작...
    Date2024.02.25 소식 By낄낄 Reply6 Views1308
    Read More
  9. FurMark 2 발표

    FurMark 2 버전이 나왔습니다. 2007년부터 나오기 시작한 이 유서깊은 프로그램은 정말 오랫동안 버전 1대에 머무르다가 2022년 말부터 2.0 버전의 베타 버전을 내놓기 시작했고 이제야 정식 버전이 나왔습니다. 오픈GL 3.2, 벌칸 1.1 등...
    Date2024.02.25 소식 By낄낄 Reply5 Views1186 file
    Read More
  10. No Image

    제미나이의 사람 이미지 생성에 문제가 있어 일시 중단

    구글은 제미나이 AI에서 사람의 이미지를 만드는 기능을 일시 중단한다고 발표했습니다. 제미나이의 이미지 생성 기능을 개발할 때 폭력적이거나 성적인 이미지, 실제 사람은 만들지 않도록 조치를 취했는데요. 이것 때문에 이상한 프롬프...
    Date2024.02.25 소식 By낄낄 Reply1 Views548
    Read More
  11. 크롬 기반 비밀번호 관리자 기능 무섭네요

      웨일이든 크롬이든 '비밀번호 관리자'에 들어간 다음 윈도 헬로 비밀번호를 누르고, 눈깔 버튼 누르면 비밀번호가 바로뜨네요. 윈도 헬로 비밀번호를 같이 쓰고 있는 가족용 공용 컴퓨터에서는 크롬을 쓰면 안 되는 걸까요?  가족용 공...
    Date2024.02.25 질문 By부녀자 Reply5 Views707 file
    Read More
  12. No Image

    구글, 올해 말까지 구글 페이 앱을 종료

    구글이 '미국에서 결제 앱 단순화'라는 제목의 글을 올렸습니다. 올해 말까지 구글 페이 앱의 운영을 중단하겠다는 것입니다. 미국에서 주로 사용하는 구글의 비접촉 결제 앱은 구글 페이입니다. 하지만 구글 월렛이라는 대체제가...
    Date2024.02.25 소식 By낄낄 Reply1 Views575
    Read More
  13. 강력한 컴퓨터가 장착된 자동판매기 - 무허가로 안면인식

      대충 레딧에서 먼저 폭발한 건데, 캐나다의 워털루 대학교 M&M 자판기의 오류입니다. 보면 '안면인식.앱.exe' 라고 되어 있죠. 여튼 안면인식 데이터베이스로 학생 신원을 파악한 이 자판기와 다수 자판기가 대학교에서 퇴출되었습...
    Date2024.02.24 소식 Bytitle: 폭8책읽는달팽 Reply3 Views1019 file
    Read More
  14. NVIDIA 앱 발표. 지포스 익스피리언스와 제어판 통합

    NVIDIA가 'NVIDIA 앱(App)을 발표했습니다. 지포스 익스피리언스와 제어판 등의 기능을 하나로 통합하고, 데스크탑과 모바일에서 모두 사용할 수 있습니다 제어판의 여러 옵션을 만질 필요 없이 통합 최적화 기능을 제공하며, 글로벌 ...
    Date2024.02.24 소식 By낄낄 Reply18 Views1415 file
    Read More
  15. No Image

    방통위, 'VOD 중단' 트위치에 과징금 4억3500만원

    불법촬영 유통방지 조치 미이행도 과태료 부과 화질 제한 위반 없지만…망 대가 자료 미제출 "韓 사업 종료지만 이용자 보호 원칙 하 처분"   방송통신위원회가 VOD 서비스를 중단한 트위치에 과징금 4억3500만원을 부과했다.   ----------...
    Date2024.02.23 소식 Bytitle: 가난한카토메구미 Reply17 Views1158
    Read More
목록
Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 ... 578 Next
/ 578

최근 코멘트 30개
슈베아츠
20:33
슈베아츠
20:32
그림자
20:32
Mannaz
20:30
급식단
20:25
급식단
20:25
오쿠소라아야네
20:19
빈도
20:08
이피리아
20:08
Induky
20:08
니코다이스키
20:06
니코다이스키
20:05
니코다이스키
20:04
유입입니다
20:03
가네샤
20:02
슈베아츠
19:58
먀먀먀
19:58
스와마망
19:56
까마귀
19:55
DoTheJihun
19:54
슈베아츠
19:52
유입입니다
19:51
슈베아츠
19:50
유입입니다
19:50
DoTheJihun
19:49
유입입니다
19:49
강제
19:48
유입입니다
19:47
까마귀
19:46
마초코
19:46

더함
MSI 코리아
AMD
한미마이크로닉스

공지사항        사이트 약관        개인정보취급방침       신고와 건의


기글하드웨어는 2006년 6월 28일에 개설된 컴퓨터, 하드웨어, 모바일, 스마트폰, 게임, 소프트웨어, 디지털 카메라 관련 뉴스와 정보, 사용기를 공유하는 커뮤니티 사이트입니다.
개인 정보 보호, 개인 및 단체의 권리 침해, 사이트 운영, 관리, 제휴와 광고 관련 문의는 이메일로 보내주세요. 관리자 이메일

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소