javascript weekly 2021-02-06
Making GitHub’s New Homepage Fast and Performant
Making GitHub’s New Homepage Fast and Performant
- 깃헙 새 홈페이지 구축에 대한 5부작 아티클의 3번째
- resize, scroll 대신 IntersectionObserver 사용
- transition 명시를 통한 오염 방지
- 투명성 있는 jpg를 base64로 인코딩하고 svg로 래핑한 이미지 사용 등
npm 7 Now Generally Available
- NPM7이 디폴트 버전 적용
The V8 v8.9 Branch
- v8 engine 8.9버전 브랜치 생성.
- 크롬 89 버전에 top level await 적용
- 함수의 인자 개수를 맞추지 않고 호출할 때 성능 향상
- 언더-애플리케이션, 오버-애플리케이션
- 아규먼트 어댑터 프레임 이라는 별도장치가 있었는데, 터보팬이 처리하도록 변경
Quick Bits
https://brew.sh/2021/02/05/homebrew-3.0.0/ 홈브류 3.0 릴리즈 애플 실리콘 지원
https://code.visualstudio.com/updates/v1_53 vscode 1월 릴리즈 다시보기
https://aws.amazon.com/ko/blogs/mobile/amplify-javascript-releases-support-for-vue-3/ aws Amplify 에서 vue3 지원
Tutorials
How JavaScript Can Now Be Executed in Oracle Database
How JavaScript Can Now Be Executed in Oracle Database
- 오라클 DB c21에서 JS 지원: GraalVM
- require등 모듈 호출도 가능
DECLARE ctx DBMS_MLE.context_handle_t := DBMS_MLE.create_context(); user_code clob := q'~ const oracledb = require("mle-js-oracledb"); const sql = "SELECT trunc(exp(4), 3) AS n FROM dual"; // fetch NUMBER column as OracleNumber const options = { fetchInfo: { N: { type: oracledb.ORACLE_NUMBER } } }; const result = oracledb.defaultConnection().execute(sql, [], options); // print decimal OracleNumber value // Output: 54.598 console.log(result.rows[0][0].toString()); ~'; BEGIN DBMS_MLE.eval(ctx, 'JAVASCRIPT', user_code); DBMS_MLE.drop_context(ctx); END;
Code & Tools
Vuex 4.0 Released: State Management Mechanism for Vue 3 Apps
Vuex 4.0 Released: State Management Mechanism for Vue 3 Apps
- Vuex 4.0 릴리즈. vue3 지원.
- https://github.com/vuejs/vuex/releases/tag/v4.0.0
v8go: Execute JavaScript from Go(lang)
v8go: Execute JavaScript from Go(lang)
- v8 context를 만들고 코드를 실행해볼 수 있는 라이브러리
- v8 dependency가 있긴하나 CI를 통한 빌드만 허용하고 직접 컴파일 안됨
react-ultimate-resume: Your 21st Century Resume
react-ultimate-resume: Your 21st Century Resume
- 온라인 이력서 작성 도구