January 6, 2024 • ☕️ 6 min read
생성된 각 청크의 상단에 배너를 추가한다.
const webpack = require('webpack');
new webpack.BannerPlugin(banner);
// 또는
new webpack.BannerPlugin(options);
TerserPlugin에서 output: preamble 설정을 통해 운영에서도 소스코드 상단에 banner를 추가할 수 있다
new TerserPlugin({
terserOptions: {
compress: {
drop_console: ['prod'].includes(PROFILE),
},
output: {
comments: false,
preamble: `/* ${banner()} */`,
},
},
extractComments: false,
parallel: true,
}),
https://webpack.kr/plugins/banner-plugin/
<meta http-equiv>
<meta *http-equiv*="cache-control" *content*="max-age=0" />
pragma
속성
- 웹 브라우저에 특정 HTTP 헤더를 관리하는 방법에 대한 “지침(directives, instructions)” 을 제공하는데 사용된다.
- “Pragma” 지시어는 HTTP/1.0 용으로 특별히 설계되었으므로 HTTP/1.1 이상에서는 제대로 작동하지 않을 수 있다. HTTP 최신 버전에서는 Cache-Control 지시문 을 사용하는 것이 좋다.
🚨 index.html의 meta 태그는 HTML5의 스펙이 아니다. 거의 제대로 동작하지 않는다
Parameters<() => ...>
타입함수 파라미터의 타입을 추출해준다
semantic의미를 요소와 그 자식요소로부터 제거하기 위해서 사용한다. 시각적으로 게시하는 용도의 요소에 적용한다.
none
은 최근에 나온 속성값으로 presentation
과 같은역할을 한다. 호환성문제가 있을 수 있으니 두 개 다 기입해 주는 것이 좋다.
https://inswave.com/confluence/pages/viewpage.action?pageId=19076563
Single Sign-On(SSO)은 1회 사용자 인증으로 다수의 애플리케이션 및 웹사이트에 대한 사용자 로그인을 허용하는 인증 솔루션이다. 요즘 사용자들은 브라우저에서 직접 애플리케이션에 자주 액세스하기 때문에 조직은 보안 및 사용자 경험 모두를 개선하는 액세스 관리 전략에 우선 순위를 둔다. SSO는 한 번 자격 증명이 검증된 사용자에게는 반복되는 로그인 없이 모든 암호 보호 리소스에 액세스하도록 하여 보안과 사용자 경험을 모두 충족할 수 있다.
즉, 하나의 아이디 및 패스워드를 통해 여러 시스템에 접근할 수 있는 통합 로그인(인증) 솔루션
SSO의 구성 요소
사용자 통합 로그인
인증 서버
통합 에이전트 : 각 정보 시스템에 대한 정보 관리
LDAP(Lightweight Directory Access Protocol) : 네트워크 상의 자원을 식별하고 인가된 사용자만 접근하도록 하는 네트워크 디렉토리 서비스
CommonJS와 달리 ES6 환경에서는 __dirname
이 정의되어있지 않아 발생하는 에러
🧐그래도 쓰고 싶다면? 아래와 같이 만들어 쓸 수 있다.
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
스토리북에서 body에 기본적으로 포함되어있는 padding을 초기화하려면 parameter로 설정해줄 수 있다
에 layout: 'fullscreen'
을 추가해주면 된다.
const meta = {
component: Button
parameters: {
layout: 'fullscreen'
}
}
https://storybook.js.org/docs/7.0/configure/story-layout
Parameters<() => ...>
타입 - 함수 파라미터의 타입을 추출해준다(Ref)app.setGlobalPrefix
- nest app에서 API endpoint prefix 설정하기action.bound
가 걸린 함수들은 jest.mocking이 안 된다. 실행 시 다음 에러를 만나게 된다. - [mobx] @action fields are not reassignable
👇요기
소프트웨어 엔지니어링의 급여는 **“판매/마케팅, 연구 및 개발, 유지보수”**의 3가지 예산 중 하나에서 나온다.
판매/마케팅 예산
연구 및 개발
유지보수
왜 이것이 중요한가 당신이 어떤 예산 유형에 속하는지에 따라 일상 업무가 형성된다.
새로운 블로그에서 첫 위클리
적응은 안 된다
첫 주부터 다른 사람들 계획들도 들으면서 내 한 해 꾸려나가고 있는 중 😝