프론트엔드스쿨(43)
-
noreferrer, noopener, nofollow
noopener, noopener 하이퍼링크 해당 앵커 태그에 target="_blank"을 자주 쓸 때가 있다. 하지만 이는 성능과 보안면에서 취약점이 발생한다. 새롭게 열린 페이지는 보조 브라우징 컨텍스트이기 때문에 , 자기 자신을 생성한 원본 브라우징 컨텍스트를 오프너 브라우징 컨텍스트라는 이름으로 참조하고 있기 때문에 원본 페이지와 동일한 프로세스에서 실행될 수 있다. - 보안상 취약하다. 링크된 페이지의 javascript에서 window.opener API를 통해 부모 윈도우를 참조하거나 window.opener.location의 값을 변경하여 부모 윈도우의 URL을 변경할 수 있다. 이렇게 부모 윈도우를 피싱 페이지로 변경하여 사용자의 개인 정보가 유출될 수 있기 때문에 보안상의 문제가 발생..
2023.04.25 -
Flex와 Grid
flex와 grid의 차이 flex는 컨텐츠이고, grid는 컨테이너다. 즉, flex는 1차원 레이아웃 시스템(수직, 수평 중 택 1)이고 grid는 2차원 레이아웃 시스템(수직, 수평 둘 다 가능)으로 분류된다. flex는 항목을 한 방향으로 레이아웃을 할 수 있고, grid는 항목을 두 방향으로 레이아웃 할 수 있다. 복잡한 레이아웃 설계가 필요할 때 grid를 사용하면 좋다. flex Flexbox라 불리는 Flexible Box module은 flexbox 인터페이스 내의 아이템 간 공간 배분과 강력한 정렬 기능을 제공하기 위한 1차원 레이아웃 모델 로 설계되었다. 뷰포트나 요소의 크기가 불명확하거나 동적으로 변할 때에서 효율적으로 요소를 배치, 정렬, 분산 할 수 있는 방법을 제공하는 css3..
2023.04.24 -
웹 프론트 JS
1. 인사 자바스크립트 런타임 : 자바스크립트 엔진을 포함하는 실행 환경 자바스크립트 엔진 : 자바스크립트 코드를 실행하는 프로그램 2. 디버깅 console.log(); chrome 개발자 도구 debugger; 3. DOM 다루기 Window 객체 Document 객체 특정 요소 찾기 getElementById getElementsByTagName 인접 노드 접근 children parentElement 노드 생성 createElement Node.style Node.innerHTML 4. 브라우저 객체 Navigator location location.href History 5. 이벤트 Click. Mouseover, keydown, focus… 이벤트 핸들러 addEventListener 6. 에..
2023.04.17 -
자료형과 형 변환
1. 자료형 1) 숫자형 infinity -infinity NaN 2) BigInt형 2^53-1보다 크거나 -(2^52-1)보다 작은 정수 표현 3) 문자형 변화 가능한 "",''과 변화 불가능한 ``으로 표현가능 4) 불린형 참/거짓 5) null, undefined null: 비어있음 undefined: 값이 할당되지 않음 6) 객체형 Symbol 객체 호스트 객체 함수 객체 그 회의 객체 typeof 연산자로 변수의 타입 확인! 2. 형 변환 언어 자체에서 자동으로 제공하는 묵시적 형 변환과 개발자가 형 변환을 명시하는 명시적 형 변환이 있음 1) 묵시적 형 변환 console.log(3); => 전달된 값을 문자로 변환함 +"32" => 숫자형으로 변환함 !0 => 불린형으로 변환함 2) 명시적..
2023.04.16 -
반응형 작업 시 미디어쿼리 최소화 하는 방법
1. 미디어 쿼리 화면(screen), 티비(tv), 프린터(printer)와 같은 미디어 타입과 적어도 하나 이상의 표현식으로 구성된다. 표현식은 width, height, color와 같은 미디어 특성들을 이용하여 그 특성들의 상태에 따라 다른 스타일 시트를 적용할 수 있다. 미디어쿼리는 CSS3에 포함되어 있으며, 컨텐츠의 변경없이 주로 화면의 크기에 따라 스타일 시트를 달리하여 적절한 모양을 보여줄 수 있다. 미디어 쿼리는 1) link요소에 media 속성으로 적용하는 방법 2) 스타일 시트 내에서 @media를 사용하는 방법 @media screen and (max-width: 768px) { body { background-color: lightgreen; } } 미디어 타입은 스크린이고 화..
2023.04.16 -
animation 최적화
animation 사용시에 css 최적화 하는 방법 1. css핵 (translate Z or translate 3D)사용하기 하드웨어 가속을 활성화하여 대상이 되는 엘리먼트를 빠르게 렌더링 처리하는 방법 하드웨어 가속은 중앙처리장치(CPU)가 하는 일은 그래픽 처리 장치(GPU)가 분담하여 처리해서 컴퓨터의 성능을 최대한 끌어올리고 브라우저 렌더링을 빠르게 할 수 있게 한다. 일반적인 css animation, trnasform, traslation 속성에는 하드웨어 가속이 적용되지 않기 때문에 브라우저를 속여서 강제로 3D 처리를 하도록 브라우저에 지시해 하드웨어를 가속하는 방법 transform: translate3d(0,0,0); transform: translateZ(0) 하지만 이러한 방법은 ..
2023.04.16