May 25, 2024 • ☕️ 7 min read
Ref https://support.apple.com/ko-kr/102527
dlopen
서브루틴Ref https://www.ibm.com/docs/ko/aix/7.3?topic=d-dlopen-subroutine
embeddedLanguageFormatting
하나의 언어로 쓰인 파일 안에서 다른 언어의 코드가 감지되었을 때 그 코드도 함께 자동으로 포맷팅시켜줄 것인지를 정하는 속성이다. .tsx
파일 안에서 TypeScript와 HTML 태그를 함께 포맷팅할 때 필요한 옵션이다. auto
와 off
로만 설정 가능하고, 기본값은 auto
다.
Ref https://prettier.io/docs/en/options.html#embedded-language-formatting
Module Federation에서 eager consumption
은 모듈이 애플리케이션이 시작될 때 미리 로드되는 방식을 의미한다. 이는 런타임 시 동적으로 로드되는 기본 방식과 다르다. 구체적으로 설명하면,
eager: true
로 설정된 모듈은 애플리케이션 시작 시 바로 로드된다. 이 방식은 초기 로딩 시간이 길어질 수 있지만, 모듈 로드 지연 시간을 없앨 수 있다. 주로 항상 필요한 모듈이나, 초기 로딩 시간에 로드 지연이 문제가 되는 경우에 사용된다.출처: ChatGPT
<output>
태그웹 사이트나 앱에서 계산이나 사용자 행동의 결과를 삽입할 수 있는 컨테이너 요소
ex) role="spinner"
등을 대체하여 사용된다.
Ref https://developer.mozilla.org/ko/docs/Web/HTML/Element/output
collectCoverage: true
로 커버리지율도 확인할 수 있다.Resourceful Engineering은 제한된 자원과 예산 내에서 창의적이고 효율적으로 문제를 해결하는 기술적 접근 방식을 의미한다. 이는 엔지니어들이 가용 자원을 최대한 활용하여 최적의 결과를 도출하는 능력을 강조한다. 자원의 효율적 관리, 혁신적인 문제 해결 방법, 비용 절감 전략 등이 포함된다.
Resourceful Engineering이라는 용어는 특정 시점이나 인물에 의해 처음 사용되었다고 명확하게 기록된 바는 없다. 그러나 이 개념은 공학 및 IT 분야에서 오랜 기간 동안 널리 적용되어 온 원칙이다. 특히 스타트업 환경이나 제한된 자원 내에서의 프로젝트 관리에서 중요한 역할을 해왔다.
Big Ball of Mud는 소프트웨어 아키텍처 패턴 중 하나로, 구조화되지 않고 조직적인 원칙이 부족한 코드를 의미한다. 이러한 코드는 시간이 지남에 따라 유지보수와 확장이 어려워지며, 일관성 없이 패치되고 추가된 기능들로 인해 복잡도가 증가한다. 이 패턴은 코드의 악취(Code Smell)로 간주되며, 종종 기술 부채(Technical Debt)를 낳는다.
Big Ball of Mud라는 용어는 1997년 브라이언 풋(Brian Foote)와 조셉 여더(John Yoder)의 논문 “Big Ball of Mud”에서 처음 제안되었다. 이 논문은 소프트웨어 시스템의 일반적인 문제점을 설명하면서, 그러한 시스템이 어떻게 형성되고 진화하는지, 그리고 왜 많은 소프트웨어 프로젝트가 이러한 비구조적 상태로 변하는지를 다룬다. 논문에서는 Big Ball of Mud가 발생하는 원인과 그로 인한 문제점들을 분석하며, 이러한 상황을 피하기 위한 전략들을 제시한다.
크롬 검색창에서 자주 들어가는 사이트의 검색어를 타이핑한 후 5초 정도 기다려보자.
엔터를 누르면 로딩없이 바로 화면이 렌더링될 것이다.
다시 검색창에서 같은 사이트의 주소를 최대한 빠르게 타이핑한 후 엔터를 눌러보자. 로딩이 있을 것이다.
이는 크롬브라우저가 자체적으로 prerender해주기때문이다.
모든 url에 대해서 해주는 것은 아니고 자주 접속하는 사이트에 대해서만 그렇다.
cloudfront function에서는 event.viewer.ip
를 통해 클라이언트 ip를 확인할 수 있다.
이를 활용하여 특정 url을 사내에서만 접근 가능하도록 구성할 수 있었다.
전통적인 테스트 접근법에서는 테스팅 피라미드 모델 단위테스트 > 통합테스트 > E2E테스트
의 순서로 우선순위를 정의한다.
현대 FE 개발에서 테스팅 피라미드 모델은 유효하지 않다. 목적에 따라 서로 다른 테스트 전략을 취하되, 가장 FE 개발 사이클과 유사한 E2E 테스트를 최종 목적으로 삼는 테스팅 트로피 모델을 제안한다.
Ref https://semaphoreci.com/blog/testing-pyramid
npkill
- 프로젝트에 있는 모든 node_modules를 찾아서 삭제해준다.String.prototype.startsWith()
, String.prototype.endsWith()
- 이라는 좋은 빌트인 메서드가 생겼다.CLI 툴을 React 기반으로 말아내는 프레임워크.
CLI의 상호작용과 디테일이 어느 수준 이상 깊어지면 생산성이 매우 우수할 것 같다.
이미 활약하고 있는 도구를 잘 참고한 것을 넘어서, 시스템 인터페이스와 몇가지 기반요소만 싹 바꿔서 완전히 동일한 개발경험을 준다.
Ref https://github.com/vadimdemedes/ink
vercel에서 개최하는, 프론트엔드 개발, 인프라, 에코시스템 등을 다루는 컨퍼런스
하이라이트: 프롬프트 최적 길이는 21개 단어(영어)지만 대부분 너무 짧게 (9단어) 씀, 페르소나/태스크/컨텍스트/포맷 네 개 요소 사용 권장
Ref https://inthecloud.withgoogle.com/gemini-for-google-workspace-prompt-guide/dl-cd.html
(+ 토스의 선택)
패키지 매니저가 어떻게 동작하는지는 생각해본 적이 없는 것 같다.
ex) yarn의 패키지 매니저 설치 과정
마지막 Link 단계에서, npm/pnpm/PnP의 사례가 각각 다르다.
npm Linker
pnpm Linker
PnP Linker
import
와 require
문에서 이 Map을 참조하여 로딩시킨다.원문을 통해 PnP와 zero-install의 차이에 대해서도 짚고 넘어가보자!
Ref https://toss.tech/article/lightning-talks-package-manager
늘어~~지는게 제일 좋은 이번주.
아직도 5월의 마지막 주가 아니라니?
5월 길다 길어 🫠