본문 바로가기

분류 전체보기79

V8은 JS를 컴파일 할 때 Interpreter 의 느린 실행 속도를 어떻게 개선 했을까? 우선 v8의 간략적인 소개부터 하자면 v8은 c++ 로 개발된 자바스크립트엔진 이다. 크롬에서는 해당 v8엔진을 사용하여 자바스크립트를 컴파일 한다. 참고로 html과 css를 처리 하는 renderer 엔진도 물론 있는데 크롬에서는 blink라는 엔진을 사용한다. blink엔진이 html, css를 처리하다가 script 코드를 만나면, v8이 javascript코드를 컴파일한다. 사전에 인터프리트와 컴파일 방식의 차이를 알고가자 컴파일 방식은 사람이 고급언어(java, c) 를 작성하면, 해당 고급언어를 한번에 번역 한다. 그렇기에 번역시간이 오래 걸린다. 하지만 한번 번역을 해놓으면 실행 파일이 생성 되기 때문에, 다음 실행 시 해당 실행 파일을 가져와 실행하면 되기 때문에 인터프리터에 비해 실행 .. 2022. 1. 12.
회고록 - 2021년 잘가라. 시작하며, 벌써 2021년의 마지막을 앞두고 있다니 느낌이 이상 하네요. 2020년과 2021년은 코로나 때문에 모두가 힘든 시기였던 것 같습니다. 저 또한 여행을 가고자 계획했었으나, 코로나로 인해 무산된 것들이 참 많습니다. 하지만 저에게 2021년은 변화가 많아 뜻깊었던 시간이기도 했고, 2020년에 계획 해둔 일을 못한게 많아 반성이 되기도 한 기억에 참 많이 남을 연도가 될 것 같네요. 20살과는 달랐던 21살, 20살이나, 21살이나, 뭐 얼마나 살았다고 하실 수도 있지만 저에겐 참 많이 달랐습니다. 20살엔 조금 더 거침 없이 뛰어들었다면, 21살엔 겁이라는게 생긴 것 같습니다. 몰랐는데 무엇인가 도전하는 것에 약간의 겁이 따르기도 하더라구요. ㅎㅎ 그만큼 책임감이라는게 생긴거겠죠? 나 혼자.. 2021. 12. 30.
😎톰캣 이란? 톰캣은 흔히들 와스 WAS(Web application Server) 라고 한다. 와스는 웹 서버와 서블릿 컨테이너의 결합으로 다양한 역할 수행하는 서버다. 위키백과에 따르면 아래와 같이 설명하고 있다. 아파치 톰캣은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너만 있는 웹 애플리케이션 서버이다. 톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바서버 페이지와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다. 내용을 조금 더 풀어서 설명하자면, 우리가 페이지에 접속했을 때 렌더링용 html(내용이 바뀌지 않는), css, image file 과 같은 정적 페이지는 web server를 통해서 응답을 받고, (이때 웹서버는 아파치를 주로 사용한다) 그리고 동적인 페이지 (예를들어 .. 2021. 12. 15.
수업 자료 pdf 보호되어 있는 글 입니다. 2021. 12. 9.
리팩토링 해보자 with JS - 1 공연료를 청구하는 시스템을 만든다고 해보자. 공연료를 청구하는 시스템 코드를 리팩토링 해보자 시스템의 코드는 아래와 같다. function statement(invoice, plays) { let totalAmount = 0; let volumeCredits = 0; let result = `청구내역 (고객명: ${invoice.customer})\n`; const format = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD", minimumFractionDigits: 2 }).format; for (let perf of invoice.performances) { const play = plays[perf.platId]; let .. 2021. 12. 1.
🐛 에러로그 - error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. [RN] 💻 환경 리액트네이티브 🐥 동작 npm run ios 🐛 에러 내용 error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. 📌 원인 내부 번들 꼬여서 그런거래요... 🚀 해결 1. xcode에서 Build Phases 탭 에서 copy bundle resources 안에 있는거 날리고, 다시 번들링함 😭 위의 방법도 안되면? iOS ios 폴더 > Pods > Pods.xcodeproj 실행 > Podfile 내 코드를 아래 처럼 변경 use_flipper!({ 'Flipper' => '0.74.0' }) post_install do |installer| flipper_post_insta.. 2021. 11. 25.