Skip to main content

Command Palette

Search for a command to run...

2024년 6월 1일 작업일지

Published
2 min readView as Markdown

터보팩 ES Analysis 프로파일링

팀원이 요청한 것인데, next.js 앱에 관한 것이었다.

터보팩RcStr 최적화 PR

노가다라 주말이지만 조금 작업했다. 맥북이 와서 도중에 멈췄다.

근데 맥북 마이그레이션 끝내고 rust-toolchain 관련 커밋들 머지하고 M3 맥북으로 작업하려고 보니까 servo/pathfinder 가 새로운 rust-toolchain에서 빌드가 안 됐다. 그래서 일단 팀 채널에 얘기하고 미뤄뒀다.

SWC Minifier 버그 수정

황당하게도 resolver 패스의 문제였다.

"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[854], {

/***/ 3712:
/***/ (function (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $Q: function () { return /* binding */ C; },
/* harmony export */   Ev: function () { return /* binding */ B; },
/* harmony export */   e_: function () { return /* binding */ I; },
/* harmony export */   jU: function () { return /* binding */ e; }
    /* harmony export */
});
            /* unused harmony exports ACTION_ELEMENTS, SbbScrollHandler, breakpoints, findInput, findReferencedElement, hostContext, isAndroid, isBlink, isBreakpoint, isChromium, isEdge, isFirefox, isIOS, isNextjs, isSafari, isTrident, isWebkit, pageScrollDisabled */
            let a;
            try {
                a = typeof Intl < "u" && Intl.v8BreakIterator;
            } catch (e) {
                a = !1;
            }
            const e = () => typeof document == "object" && !!document, l = () => e() && /(edge)/i.test(navigator.userAgent), c = () => e() && /(msie|trident)/i.test(navigator.userAgent), y = () => e() && !!(window.chrome || a) && typeof CSS < "u" && !l() && !c(), g = () => e() && /AppleWebKit/i.test(navigator.userAgent) && !y() && !l() && !c(), w = () => e() && /iPad|iPhone|iPod/.test(navigator.userAgent) && !("MSStream" in window), v = () => e() && /(firefox|minefield)/i.test(navigator.userAgent), A = () => e() && /android/i.test(navigator.userAgent) && !c(), E = () => e() && /safari/i.test(navigator.userAgent) && g(), p = () => !!globalThis.next, S = () => {
                var t, n;
                return (n = (t = navigator.userAgentData) == null ? void 0 : t.brands) == null ? void 0 : n.some((o) => o.brand == "Chromium");
            }, x = (/* unused pure expression or super */ null && ([
                "zero",
                "micro",
                "small",
                "medium",
                "wide",
                "large",
                "ultra"
            ]));

        }),

}]);

jU 함수의 econst로 선언된 e인지 catch로 선언된 e인지 구분이 잘못된 게 문제의 원인이었다. 고치는 것은 어렵지 않았다.

More from this blog

Labor0를 만든 이유

사람이 병목이 되는 횟수를 줄이기 AI 에이전트 세션을 많이 실행하는 것 자체는 어렵지 않다. 내가 해결하고 싶었던 문제는 세션이 늘어날 때마다 사람이 모든 진행 상황을 확인하고 관리해야 한다는 점이었다. 사람을 병목에서 완전히 빼는 게 목표는 아니다. 사람은 여전히 병목이다. 대신 사람이 개입해야 하는 횟수를 줄이고, 실제로 결정이 필요한 순간에만 사람을

Aug 22, 20265 min read

작업 기록: 자동 QA 구성

최근에 Zephyr Cloud 의 프로젝트에 자동 QA 시스템을 구성했다. 그 작업 기록이다. 원래 이런 작업은 리눅스에서 하는 게 맞다고 생각했다. 그런데 나는 계속 로컬에서 디버깅해야 했고, 개발 흐름상 맥에서 바로 돌릴 수 있어야 했다. 예전에도 자동 QA를 시도한 적은 있었지만 끝까지 제대로 굴러간 적은 없었다. 그러다가 지난주 중반쯤, “이건 로

May 13, 20263 min read

kdy1: The way I think

305 posts