본문 바로가기
디자인 시스템과 컴포넌트 Collection of design systems & creating reusable design systems 디자인 시스템 모음 & 재사용 가능한 디자인 시스템 만들기 디자인 시스템 Design System A Design System is a set of interconnected patterns and shared practices coherently organized to aid in digital product design and development of products such as apps or websites. It may contain, but is not limited to, pattern libraries and design language, style guides, coded .. 2020. 9. 23.
Refactoring javascript 2 Clean coding in JavaScript 2 리팩토링 자바스크립트, 클린 코드 작성하기 2 Refactoring js example code destructuring, spread operator, async-await, template literals, optional chaining example code 디스트럭처링, 스프레드 오퍼레이터, 어싱크 어웨이트, 템플릿리터럴, 옵셔널 체이닝 활용하기 Optional Chaining 옵셔널 체이닝 연산자 ?. 는 체인의 각 참조가 유효한지 명시적으로 검증하지 않고, 연결된 객체 체인 내에 깊숙이 위치한 속성 값을 읽을 수 있다. 만약 참조가 nullish (null 또는 undefined)이라면, 에러가 발생하는 것 대신에 표현식의 리턴 값은 und.. 2020. 9. 23.
Refactoring javascript 1 Clean coding in JavaScript 리팩토링 자바스크립트, 클린 코드 작성하기 Using the map function before const myList = list => { const newList = [] for (let i = 0; list.length; i++) { newList[i] = list[i] * 2 } return newList } after const myList = list => list.map(x => x * 2) Avoid callback hell with async/await before const sendToEmail = () => { getIssue().then(issue => { getOwner(issue.ownerId).then(owner => { send.. 2020. 9. 23.
Detect Dark mode in CSS & Javascript Dark Mode How do I detect dark mode using JavaScript & CSS 다크모드 시스템은 모든 화면, 컴포넌트, 메뉴 및 컨트롤에 대해 더 어두운 색상 팔레트를 사용하고 더 선명한 배경을 사용하여 전경 콘텐츠를 돋보이게 만든다. 몇몇 서비스에서는 다크모드를 지원하는 UI를 사용자에게 제공하고 있다. 장점 눈의 피로를 줄이고, 밝기를 현재 조명 조건에 맞게 조정 어두운 환경에서 화면을 쉽게 사용할 수 있도록 지원 배터리 전원을 절약함으로써 시각적 인체 공학을 개선하는 데 도움 접근성 및 대비 다크모드는 흰색 텍스트를 표시 할 수있을만큼 어두워야 한다. 텍스트와 배경 사이에 최소 15.8 : 1의 대비 수준을 사용한다. 이렇게하면 본문 텍스트가 WCAG의 AA 표준 인 4... 2020. 9. 23.
Javascript 삼각함수 sin, cos, tan 삼각 함수(sin(), cos(), tan(), asin(), acos(), atan(), atan2())는 매개변수와 반환값 모두 호도법(라디안)을 사용한다. 라디안 라디안은 각의 크기를 재는 SI 단위이다. 호도라고도 하며, 기호는 rad이다. 단위원의 중심각의 라디안 값은 그 각이 대하는 호의 길이와 같다. 1라디안은 약 57.3도이다. 라디안 값을 각도 값으로 반환 라디안 값 / (Math.PI / 180) = 각도 값 리다인 값 반환 (Math.PI / 180) * 각도 값 = 라디안 값 sin 곡선 그리기 var ctx = document.getElementById('canvas').getContext('2d'); var width = 1280; var stepX = 10; var x = 14.. 2020. 9. 22.
React Lazyload How to set up lazy loading components in React 리액트 자바스크립트 코드 분할 & 레이지 로딩 적용 성능 최적화하기 레이지 로딩(lazy loading) 레이지 로딩은 필요 시점까지 객체의 초기화를 연기시키기 위해 컴퓨터 프로그래밍에 흔히 사용되는 디자인 패턴의 하나로 적절하게 사용될 경우 프로그램의 운영 차원에서 효율적이다. 코드 분할 Code Splitting 앱이 커지면 번들 사이즈도 커진다. 특히 큰 규모의 서드 파티 라이브러리를 추가할 때 실수로 앱이 커져서 로드 시간이 길어진다. 대부분의 경우 사용자는 적어도 처음에는 전체 웹 페이지를 보지 못한다. 이러한 경우 이러한 구성 요소를 렌더링하면 응용 프로그램의 성능이 저하 될뿐만 아니라 많은 리소스가 낭비된다... 2020. 9. 21.