🪝 useRef() 레퍼런스를 사용하기 위한 훅 더보기 📌 리액트에서 레퍼런스란? 특정 컴포넌트에 접근할 수 있는 객체를 의미한다. useRef()훅은 레퍼런스 객체를 반환한다. 레퍼런스 객체에는 .current라는 속성이 있는데 이것은 현재 레퍼런스(참조)하고 있는 엘리먼트를 의미한다. const 주소값을_담는_그릇 = useRef(참조자료형-> 초기값) 📍 useRef()훅을 사용하면 파라미터로 들어온 초기값으로 초기화된 레퍼런스 객체를 반환한다. 만약, 초기값이 null이라면 .current의 값이 null인 레퍼런스 객체가 반환된다. 반환된 레퍼런스 객체는 컴포넌트의 라이프타임 전체에 걸쳐서 유지된다. (컴포넌트가 마운트 해제 전까지는 계속 유지된다는 뜻) ➡︎ uesRef()훅은 변경 가능한 ...
1. Styled Components CSS를 컴포넌트화 시키는 라이브러리 CSS-in-JS라는 개념이 대두되면서 나온 라이브러리로 CSS-in-JS라이브러리를 사용하면 CSS도 쉽게 JavaScript안에 넣어줄 수 있다. ⇒ HTML + JS + CSS 까지 묶어서 하나의 JS파일 안에서 컴포넌트 단위로 개발할 수 있게된다. CSS-in-JS 라이브러리 중 가장 인기 있는 라이브러리가 Styled Component이다. CSS를 컴포넌트화 시키면 CSS코드를 다룰때 느꼈던 불편함을 해결해준다. class, id 이름을 짓느라 고민할 때 CSS 파일 안에서 내가 원하는 부분을 찾기 힘들 때 CSS 파일이 너무 길어져서 파일을 쪼개서 관리할 때 스타일 속성이 겹쳐서 내가 원하는 결과가 나오지 않을 때 ⚙..
Component Driven Development (CDD) 컴포넌트 기반 개발 부품 단위로 UI컴포넌트를 만들어 나가는 개발방식이다. → 레고처럼 컴포넌트를 하나씩 조립해가는 상향식 개발이다. ➰ CDD를 하는 이유? 더보기 재사용할 수 있는 컴포넌트의 필요성때문 하나의 페이지를 만든 후 추가적으로 다른 페이지를 만들때, 앞서 만들었던 버튼을 후의 버튼으로 똑같이 사용하도록 요청 받은 경우 CDD방식으로 개발을 진행한다면 먼저 만든 버튼을 다시 새로 만들지 않아도 된다. 이는 디자인과 개발 단계에서부터 재사용 할 수 있는 UI컴포넌트를 미리 디자인하고 개발하기 때문이다. 실제 CDD방법을 활용하여 UI를 구축하는 사이트도 많다. ex) BBC, UN 📍 구조적인 CSS작성 방법의 발전 (CSS in ..
📌 UI (User Interface, 사용자 인터페이스) 사람들이 컴퓨터와 상호작용하는 시스템 화면상의 그래픽 요소 외에도 키보드, 마우스 등 물리적 요소도 UI이다. 휴대폰의 경우 숫자버튼, 방향버튼 등 다양한 물리적UI가 있는 형태였지만 스마트폰이 대중화되면서, 화면 터치를 통한 상호작용의 비중이 높아졌다. 따라서 물리적UI는 볼륨, 전원버튼 정도만 남게 되어 그래픽UI가 매우 중요해졌다. 컴퓨터 또한 마우스의 등장 이후로 꾸준히 그래픽UI가 중요한 요소이다. 터미널과 같은 CLI(Command Line Interface)와 키보드를 이용해 텍스트로 컴퓨터와 상호작용하는 것보다는 직관적이고 간편하기 때문이다. 현재 많이 사용화되고 있는 스마트 워치, 키오스크, 터치 스크린 안내판 등에서 찾아볼 수 ..
🔍 koans???? = 불교에서 유래된 단어로, 결론을 내리기 전에 이게 왜 맞는지 깊게 고민한다는 의미를 가짐 (각 주제의 문제를 해결하면서 알게 된 부분을 위주로 적어보겠다!) ► 01_Introduction 첫 번째 주제에서는 '기대하는 값'과 '결과로 나온 값'이 같은지 알아보는 expect함수를 사용했다. expect(테스트하는값).기대하는조건 여기서 기대하는 조건에 들어가는 함수를 'matcher'라고 부른다. expect(1+1).to.equal(2) // sum(1+1)의 결과값은 2와 같아야함 expect(true)to.be.true // 테스트하는 값이 true여야함 기대하는 값은 표현식 이거나 함수의 실제 실행 결과이다. (기대하는 조건에 들어가는 함수는 여러가지가 있지만 수업에서는..
◎ 원시 자료형 (primitive data type) 고정된 저장 공간을 차지하는 데이터 ex) number, string, boolean, undefined, (null) , bigint, symbol 🔍 왜 원시 자료형이라 부를까? 더보기 원시 자료형은 모두 "하나"의 데이터를 담고있음 왜? 옛날에는 데이터 저장소의 용량이 제한되어 있어 변수 하나에 용량이 제한된 하나의 원시 자료형밖에 담을 수 있었음 BASIC이라는 예전에 사용하던 컴퓨터 언어에서도 string과 number는 쉽게 찾을 수 있지만, 배열에 상응하는 형태는 찾기 어려움 이 때 배열이 구현 가능했더라도 보통 사이즈가 제한되어있음 이처럼 원시 자료형의 보관함인 변수에는 하나의 원시 자료형만 담을 수 있다. 원시 자료형은 값 자체에 대..
◎ CSS 웹 페이지 스타일 및 레이아웃을 정의하는 스타일 시트 언어 더 나은 UX(user experienc)를 제공하기 위한 UI(user interface)및 레이아웃을 구성하기 위해 사용 ► UI(사용자 인터페이스) 더보기 • 인터페이스 : 컴퓨터와 교류하기 위한 연결고리 버튼이나 마우스가 없던 시기에 개발자는 자신이 만든 애플리케이션과 소통하기 위해 CLI을 사용했음 이 방식은 키보드로 작성한 암호코드를 적어 엔터로 눌러야 애플리케이션이 작동했으므로, 컴퓨터에 무지한 일반 사용자들은 사용할 수 없었음 하지만 인터페이스가 잘 만들어진 요즘은 일반 사용자도 애플리케이션을 사용할 수 있음 이러한 인터페이스 앞에 '사용자'를 붙여 '사용자 인터페이스'가 됨 UI는 컴퓨터에 무지한 일반 사용자들이 애플리..
◉ HTML 웹 페이지의 뼈대를 구성하는 마크업 언어 (프로그래밍 언어X) 웹 페이지의 틀을 만듬 ○ HTML은 tag들의 집합 tag : 부등호()로 묶인 HTML의 기본 구성요소 구조를 살펴보면 상위 태그 안에 하위 태그의 묶음으로 구성된 트리 구조로 이루어져 있다. 태그는 여는 태그로 시작해서 닫는 태그로 끝낸다. 하지만 예외인 태그들도 존재한다. 예를 들어 태그같이 내부에 내용이 없는 태그의 경우 닫는 태그 없이 로 표현한다. 여기서 / 도 생략이 가능하다. 이러한 태그를 Self-closing tag라 한다. 자주 사용하는 태그 중 태그를 알아보자 태그는 self-closing tag로 닫는 태그 없이 사용 웹 기반 양식에서 사용자의 데이터를 받을 수 있는 대화형 컨트롤을 생성 다양한 종류..
◎ 반복문이란? 자바스크립트의 대표적인 제어문 중 하나 코드를 불필요하게 중복해서 작성하지 않아도 컴퓨터가 반복적으로 동작을 수행하도록 하는 것 반복문을 왜 써야할까? 구구단을 출력하는 코드를 짠다고 가정해보자. 먼저 2단을 출력하는 코드를 작성하고 동작이 마무리되면 다시 3단을 출력하고... 컴퓨터가 같은 동작을 반복하는 동안 우리는 계속 코드를 입력해주어야 할것이다. 이때 반복되는 코드를 자동으로 반복하도록 한다면 시간적인 측면에서나 가독성에도 좋을것이다. ◎ for문 자바스크립트의 대표적인 반복문 ▶ for문 형식 for ( 초기값; 조건식; 증감식 ){ 실행할 코드; } 초기값 : 증감식 반복횟수를 카운트하는 역할을 하는 변수(주로 정수를 의미하는 integer의 약자인 i를 사용) 초기값은 반복..
컴퓨터는 작성된 코드를 위에서 아래 순서로 순차적으로 실행한다. 그런데 어떤 경우에 따라 다른 코드가 실행되게 하고 싶다면?? → 조건문을 활용하자 ◎ if문 가장 대표적인 조건문 주어진 조건식의 참(true)/거짓(false) 여부에 따라 실행이 결정됨 → boolean타입이 되도록 작성해야한다. if ( 조건식 ) { 내부 코드 } 조건식이 참(true)으로 평가되면 코드블록 내부의 코드가 실행된다. 조건식을 상황에 맞게 작성하면 특정 상황에만 코드가 실행되도록 할 수 있다. boolean타입에서 사용한 연산자를 이용하여 조건식을 만들어보자! ● 동치 연산자(===) - 두 피연산자가 동일하면 true, 아니면 false로 반환됨 - !==는 반대로 반환 let nickname = 'kiji'; if..