본문으로 건너뛰기

#javascript

postmessagereact-hook-formbrowser-apifrontendnext-jshealthkitiosswiftworkoutapple-watchwatchosreactreact-19useeffectrenderanti-patternmonorepopnpmturboreposemverworkspacepackage-managementpythonvenvvirtual-environmenttroubleshootinggpspedometerlive-activityreact-nativeauto-pauseclaude-coderemote-controlmobile-developmentweb-sessionproductivityrtktoken-optimizationfigma-apideveloper-toolscdnimage-optimizationnextjsperformanceinfrastructuremermaidmdxdiagramaws-s3presigned-urlfile-uploadhmacsecurityagentic-looptoken-flowhooksprompt-cachingshell-scriptautomationfigmacliskillagentresponsive-publishingcontext-windowsubagentteammulti-agentai-collaborationpublishingclaude-mdmemoryai-workflowhistory-apiformxcodeeasexpowidgetswiftuiapp-groupsandboxhtmlaccessibilitya11yseonice-authauthenticationpost-vs-getcallbackin-app-browserssgstatic-site-generationgetstaticpropsgetstaticpathscsscontainrenderingbrowserjavascriptanimationlerplinear-interpolationrequestanimationframecode-splittingreact-lazydynamic-importpreloadingreflowrepaintcomposite-layertransformwill-changebrowser-renderingbrowser-image-compressionimage-uploadmobile-webdocusaurusmintlifydocumentationopenapistatic-site-generator3d-transformperspectivetransform-stylesearch-consolesitemapmetadatacanonicaljsxtranspileastvirtual-domdomreconciliationsynthetic-eventfluxdeclarativeimmutabilityfrontend-historymvcmvvmjquerybackboneswiperoauthuser-agent-detectionpost-messagesession-storagessrisrcache-controlvercelawsroute53dnsdomaintxt-recordintersection-observerinfinite-scrollchat-uiscroll-behaviortypescriptvpcec2iamcloud-basicsperformance-nowdom-high-res-timestampmonotonic-clockuser-timing-apinode-perf-hooksjenkinsci-cdgithub-webhookkubernetesdockercicdcontinuous-integrationcontinuous-deliverycontinuous-deploymentdevopsdata-structuremapsetgitgithubforkcloneversion-controloss-contributiongenericstype-systemkeyofinterfacegit-branchremotepruneclosurelexical-scopeexecution-contextdeep-divelexical-environmenthoistingscopethisbindingcssomrender-treetcpfirst-class-objectfunctionargumentsvarletconsttype-aliasreduxredux-toolkitstate-managementmouse-eventdrag
Article

requestAnimationFrame 동작 정리

requestAnimationFrame이 화면 갱신 주기에 어떻게 맞물려 돌아가는지, 프레임과 주사율이 어긋날 때 무슨 일이 벌어지는지 파보고 정리했다.

READ MOREREAD MORE
Article

Lerp로 요소 움직임 부드럽게 만들기

마우스를 따라다니는 원이 즉시 붙어버리는 게 거슬려서 선형 보간(Lerp) 공식을 매 프레임에 적용해봤다.

READ MOREREAD MORE
Article

JSX 내부 동작과 트랜스파일 정리

JSX가 자바스크립트로 어떻게 바뀌는지 토큰화부터 코드 생성, 트랜스파일까지의 단계를 짚어봤다.

READ MOREREAD MORE
Article

Swiper 슬라이드 인덱스 리셋 방법

Swiper v11에서 slideTo(0)이 일으킨 페이지 스크롤 부작용을 피하려고 setTranslate + updateActiveIndex 조합으로 우회한 기록.

READ MOREREAD MORE
Article

자바스크립트 자료구조 활용 정리 — Map·Set·Stack·Queue·Tree

자료구조 선택이 코드 품질을 가르는 순간들을 React 예시와 함께 짚어봤다. Map·Set·Stack·Queue·Tree를 언제 꺼내 썼는지 일지로 정리했다.

READ MOREREAD MORE
Article

클로저와 렉시컬 환경 정리

렉시컬 스코프와 함수 객체의 내부 슬롯, 자유 변수, 캡슐화까지 클로저를 짚어가며 정리한 노트.

READ MOREREAD MORE
Article

자바스크립트 실행 컨텍스트 정리

모던 자바스크립트 Deep Dive 23장을 따라 실행 컨텍스트 스택, 렉시컬 환경, 환경 레코드의 생성 과정을 손으로 짚어가며 정리했다.

READ MOREREAD MORE
Article

자바스크립트 this 바인딩 정리

this가 함수 호출 방식마다 다르게 바인딩되는 규칙을 한 번에 짚어봤다. 일반 호출의 함정과 우회법까지 직접 코드로 돌려보며 정리한 기록이다.

READ MOREREAD MORE
Article

함수와 일급 객체 정리

함수가 왜 일급 객체로 분류되는지, 함수 객체의 프로퍼티가 어디까지 표준이고 어디부터 비표준인지 모던 자바스크립트 Deep Dive를 따라 짚어 정리한 노트.

READ MOREREAD MORE
Article

var의 빈자리를 채운 let·const, 블록 레벨 스코프 정리

var의 문제점을 짚으면서 ES6의 let·const가 어떻게 블록 레벨 스코프와 TDZ로 그 공백을 메웠는지 책을 따라가며 정리했다.

READ MOREREAD MORE
Article

Redux 입문기

store 하나에 상태를 모으고 dispatch·reducer·subscribe로만 손대게 만드는 Redux의 동작 원리를 따라가며 정리했다.

READ MOREREAD MORE
Article

마우스 드래그로 좌측 슬라이드 토글 만들기

todo 아이템을 마우스로 끌어 왼쪽으로 밀어내는 슬라이드 동작을, React 마우스 이벤트와 transform으로 구현했다.

READ MOREREAD MORE