분류 전체보기
-
도메스틱 쇼트헤어(Domestic short-haired cat)는 고양이과에 속하는 동물로, 짧은 털을 가지고 있다. 영국에서는 때때로 moggie라고 부른다. 도메스틱 쇼트헤어는 브리티시 쇼트헤어, 아메리칸 쇼트헤어 등 다양한 등록기관에서 인정하는 '쇼트헤어' 이름을 가진 표준화된 품종과 구별된다. 도메스틱 쇼트헤어 고양이는 미국에서 가장 흔한 종류의 고양이로 개체수의 약 95%를 차지한다. 한국에서는 코리안 숏헤어(코리안 쇼트헤어) 라고 통칭하기도 한다. 설명 캣 팬시 , 수의사 및 동물 통제 기관 사이 에서 국내 단모종 고양이는 다음과 같이 조직별 용어(종종 대문자로 표시됨)로 분류될 수 있습니다. 국내 쇼트헤어 (DSH) 집 고양이, 쇼트헤어(HCS) 쇼트헤어 가정용 애완동물. 이러한 유사 품종..
도메스틱 쇼트헤어(코리안 숏헤어)도메스틱 쇼트헤어(Domestic short-haired cat)는 고양이과에 속하는 동물로, 짧은 털을 가지고 있다. 영국에서는 때때로 moggie라고 부른다. 도메스틱 쇼트헤어는 브리티시 쇼트헤어, 아메리칸 쇼트헤어 등 다양한 등록기관에서 인정하는 '쇼트헤어' 이름을 가진 표준화된 품종과 구별된다. 도메스틱 쇼트헤어 고양이는 미국에서 가장 흔한 종류의 고양이로 개체수의 약 95%를 차지한다. 한국에서는 코리안 숏헤어(코리안 쇼트헤어) 라고 통칭하기도 한다. 설명 캣 팬시 , 수의사 및 동물 통제 기관 사이 에서 국내 단모종 고양이는 다음과 같이 조직별 용어(종종 대문자로 표시됨)로 분류될 수 있습니다. 국내 쇼트헤어 (DSH) 집 고양이, 쇼트헤어(HCS) 쇼트헤어 가정용 애완동물. 이러한 유사 품종..
2023.01.02 -
시바견(일본어: 柴犬, しばいぬ)은 일본 고유의 견종이다. 수컷은 38-41 cm, 암컷은 35-38 cm 정도의 체구를 가진 소형 견종이다. 일본에서 천연기념물로 지정된 7개의 일본 견종(현재는 6종)의 하나로, 1936년 12월 16일에 지정되었다. 현존 6견종 중 유일한 소형 견종이지만, 사육하는 수는 가장 많다. 일본견보존회에 따르면, 현재 일본에서 사육되는 일본 견종 6종 가운데, 시바이누는 약 80%를 차지하고 있다. 미국을 비롯해 외국에도 인기가 많다. 정식적인 명칭은 JKC 에서는 ‘shiba’(しば), AKC에서는 ‘shiba-inu’(しばいぬ)로 명시되어 있다. 일본에서의 명칭으로는 "시바(しば, 柴)"에 한자 "견(犬)"의 음독인 "겐(けん)"을 붙여 시바켄(しばけん)이라 하기도 하지..
시바견시바견(일본어: 柴犬, しばいぬ)은 일본 고유의 견종이다. 수컷은 38-41 cm, 암컷은 35-38 cm 정도의 체구를 가진 소형 견종이다. 일본에서 천연기념물로 지정된 7개의 일본 견종(현재는 6종)의 하나로, 1936년 12월 16일에 지정되었다. 현존 6견종 중 유일한 소형 견종이지만, 사육하는 수는 가장 많다. 일본견보존회에 따르면, 현재 일본에서 사육되는 일본 견종 6종 가운데, 시바이누는 약 80%를 차지하고 있다. 미국을 비롯해 외국에도 인기가 많다. 정식적인 명칭은 JKC 에서는 ‘shiba’(しば), AKC에서는 ‘shiba-inu’(しばいぬ)로 명시되어 있다. 일본에서의 명칭으로는 "시바(しば, 柴)"에 한자 "견(犬)"의 음독인 "겐(けん)"을 붙여 시바켄(しばけん)이라 하기도 하지..
2022.12.28 -
푸들(영어: poodle)은 개의 품종 중 하나이며, 프랑스의 국견이다. 과거의 푸들은 사냥개였다. 원산지는 독일이고, 프랑스 귀족 여성들에 의해 인기를 얻어 널리 퍼져나갔으며, 털이 길고 양털 모양으로 자란다. 털이 자주 엉키기 때문에 하루에 1회 이상 빗질은 필수이며, 털 빠짐이 적다. 털이 빨리 자라기 때문에 미용도 자주 해주어야 한다. 밝고 활발한 성격이 특징이며 굉장히 똑똑하다. 활동량이 많아서 산책을 자주 해주어야 하며, 주인을 굉장히 따라서 분리불안에 걸리기 쉽다.[1][2]푸들은 세계 천재견 순위로 2위를 차지 하였다.[3]주인의 감정을 굉장히 많이 공유해서, 노인들에게는 남은 인생을 함께하자는 의미의 개로 많은 사랑을 받는다. 또한 푸들의 죽음에 바치는 비가라는 소설이 있을 정도로 푸들은..
푸들푸들(영어: poodle)은 개의 품종 중 하나이며, 프랑스의 국견이다. 과거의 푸들은 사냥개였다. 원산지는 독일이고, 프랑스 귀족 여성들에 의해 인기를 얻어 널리 퍼져나갔으며, 털이 길고 양털 모양으로 자란다. 털이 자주 엉키기 때문에 하루에 1회 이상 빗질은 필수이며, 털 빠짐이 적다. 털이 빨리 자라기 때문에 미용도 자주 해주어야 한다. 밝고 활발한 성격이 특징이며 굉장히 똑똑하다. 활동량이 많아서 산책을 자주 해주어야 하며, 주인을 굉장히 따라서 분리불안에 걸리기 쉽다.[1][2]푸들은 세계 천재견 순위로 2위를 차지 하였다.[3]주인의 감정을 굉장히 많이 공유해서, 노인들에게는 남은 인생을 함께하자는 의미의 개로 많은 사랑을 받는다. 또한 푸들의 죽음에 바치는 비가라는 소설이 있을 정도로 푸들은..
2022.12.19 -
아비시니안(Abyssinian)은 고양이의 품종 중의 하나이다. 털의 색깔은 대부분 갈색이며, 단모종이다.[2] 이와 더불어 약칭으로는 아비(Abys)라고 가리킨다 기원 및 역사 에티오피아에서 자연적으로 발생한 품종으로 알려져 있으며, 1868년 전쟁시에 영국 병사가 데려와 미국과 영국 등지로 전해졌다. 그 당시의 에티오피아가 아비시니아로 불렸기 때문에 '아비시니안'이란 이름이 붙여졌다. 이렇게 알려진 기원 외에 고대 이집트의 파라오 궁전에서 기르던 고양이의 자손이라는 설이 있는데, 벽화에 나온 고양이가 닮아있긴 하지만 사실인지는 알 수 없다. 또한 비슷한 역사를 지닌 이집션 마우가 초기 아비시니안의 칼라와 패턴만 다를뿐 형태가 매우 흡사해 두 종의 기원이 같을 수 있다는 설도 있다 외형적 특징 외형적으..
아비시니안아비시니안(Abyssinian)은 고양이의 품종 중의 하나이다. 털의 색깔은 대부분 갈색이며, 단모종이다.[2] 이와 더불어 약칭으로는 아비(Abys)라고 가리킨다 기원 및 역사 에티오피아에서 자연적으로 발생한 품종으로 알려져 있으며, 1868년 전쟁시에 영국 병사가 데려와 미국과 영국 등지로 전해졌다. 그 당시의 에티오피아가 아비시니아로 불렸기 때문에 '아비시니안'이란 이름이 붙여졌다. 이렇게 알려진 기원 외에 고대 이집트의 파라오 궁전에서 기르던 고양이의 자손이라는 설이 있는데, 벽화에 나온 고양이가 닮아있긴 하지만 사실인지는 알 수 없다. 또한 비슷한 역사를 지닌 이집션 마우가 초기 아비시니안의 칼라와 패턴만 다를뿐 형태가 매우 흡사해 두 종의 기원이 같을 수 있다는 설도 있다 외형적 특징 외형적으..
2022.12.17 -
에러 증상은 페이지 이동시에는 새로 고침하면 API가 새로 호출되어 화면이 리렌더링 되고 있었으나, 뒤로가기 통해서 다시 해당 페이지 들어가면 리렌더링이 제대로 되지 않았다. debugger를 통한 디버깅해보니 state값이 제대로 변경되지 않고 있었다. 즉, 컴포넌트 리렌더링시 props 값은 변경되고 있으나, useEffect를 통한 state가 변경되고 있지 않았다. 비슷한 증상 stackoverflow 검색 내용을 첨부하니 참조하자. import React, { useState, useEffect } from "react"; import { Route, Redirect } from "react-router-dom"; import { checkLoggedIn } from "utils/Api"; ex..
useEffect와 useState state 업데이트 에러에러 증상은 페이지 이동시에는 새로 고침하면 API가 새로 호출되어 화면이 리렌더링 되고 있었으나, 뒤로가기 통해서 다시 해당 페이지 들어가면 리렌더링이 제대로 되지 않았다. debugger를 통한 디버깅해보니 state값이 제대로 변경되지 않고 있었다. 즉, 컴포넌트 리렌더링시 props 값은 변경되고 있으나, useEffect를 통한 state가 변경되고 있지 않았다. 비슷한 증상 stackoverflow 검색 내용을 첨부하니 참조하자. import React, { useState, useEffect } from "react"; import { Route, Redirect } from "react-router-dom"; import { checkLoggedIn } from "utils/Api"; ex..
2022.08.06 -
Merge Github에서 Pull request(PR)를 만들면 Merge 종류가 다양하게 있다. 기본적인 merge(Create a merge commit), Squash and merge과 Rebase and merge를 알아보자. Create a merge commit(기본 merge) 하나의 브랜치와 다른 브랜치 변경 이력 전체를 합치는 기존 방법이다. a,b,c 병합시 Merge commit(m)이 Master 브랜치에 새로 추가된다. Merge 옵션 설정을 안하면 진행되는 방식으로 보통 Merge branch 'develop' of ... 라는 commit 내역을 볼 수 있다. 단점으로는 merge가 많으면 히스토리 그래프 가독성이 떨어진다. Merge branch 'develop' of ...
Git MergeMerge Github에서 Pull request(PR)를 만들면 Merge 종류가 다양하게 있다. 기본적인 merge(Create a merge commit), Squash and merge과 Rebase and merge를 알아보자. Create a merge commit(기본 merge) 하나의 브랜치와 다른 브랜치 변경 이력 전체를 합치는 기존 방법이다. a,b,c 병합시 Merge commit(m)이 Master 브랜치에 새로 추가된다. Merge 옵션 설정을 안하면 진행되는 방식으로 보통 Merge branch 'develop' of ... 라는 commit 내역을 볼 수 있다. 단점으로는 merge가 많으면 히스토리 그래프 가독성이 떨어진다. Merge branch 'develop' of ...
2022.08.04 -
에러 useRef를 사용시에 해당 ref(observedRef)를 console.log를 찍어보면 null로 찍힌다. function App() { const observedRef = useRef(null); console.log(observedRef.current); return ( Hello CodeSandbox Start editing to see some magic happen! ); } 해결방법 useRef는 리액트에서 DOM을 연결해주는 Hook으로써, 원하는 element에 ref 속성을 넣어주면 useRef가 객채를 반환하여 current 속성에 dom을 넣어준다. 바닐라 자바스크립트에서 document.getElementbyId. useRef 초기값에 어떤 값을 입력하더라도 null이 출..
useRef .current null Error에러 useRef를 사용시에 해당 ref(observedRef)를 console.log를 찍어보면 null로 찍힌다. function App() { const observedRef = useRef(null); console.log(observedRef.current); return ( Hello CodeSandbox Start editing to see some magic happen! ); } 해결방법 useRef는 리액트에서 DOM을 연결해주는 Hook으로써, 원하는 element에 ref 속성을 넣어주면 useRef가 객채를 반환하여 current 속성에 dom을 넣어준다. 바닐라 자바스크립트에서 document.getElementbyId. useRef 초기값에 어떤 값을 입력하더라도 null이 출..
2022.08.04 -
에러 Context API를 이용하여 state를 전역관리하고 있다. 그런데 router.push를 이용하면 state 업데이트가 공유가 되지 않고 있다. 혹은 새로 고침시에도 state가 찾을 수 없다고 한다. 해결방법 이럴 때는 localStorage을 활용해보자. 리액트 사용자는 localStorage를 custom Hook, utils, Context API와 결합하여 사용할 수도 있다. 혹은 중요한 정보는 SessionStorage을 활용하자 *localStorage : 데이터를 사용자 로컬에 보존하는 방식으로, 데이터를 저장하고 덮어쓰기, 삭제 등 자바스크립트로 조작이 가능하며, 모바일에서 사용이 가능하다. *SessionStorage : 로컬스토리지는 브라우저 창을 닫더라도 데이터가 유지되는..
Context API refresh(새로고침)시 State undefined 에러에러 Context API를 이용하여 state를 전역관리하고 있다. 그런데 router.push를 이용하면 state 업데이트가 공유가 되지 않고 있다. 혹은 새로 고침시에도 state가 찾을 수 없다고 한다. 해결방법 이럴 때는 localStorage을 활용해보자. 리액트 사용자는 localStorage를 custom Hook, utils, Context API와 결합하여 사용할 수도 있다. 혹은 중요한 정보는 SessionStorage을 활용하자 *localStorage : 데이터를 사용자 로컬에 보존하는 방식으로, 데이터를 저장하고 덮어쓰기, 삭제 등 자바스크립트로 조작이 가능하며, 모바일에서 사용이 가능하다. *SessionStorage : 로컬스토리지는 브라우저 창을 닫더라도 데이터가 유지되는..
2022.07.17 -
Semantic Versioning(SemVer)이란? "devDependencies": { "eslint": "8.11.0", } 우리는 흔히 npm packages에서 위의 예시와 같이 버전이 일괄되게 표시되어있음을 알 수 있다. 이는 Github의 공동창업자인 톰 프레스턴 베르너(Tom Preston-Werner)가 만들었으며, 오픈소스 프로젝트에 일반적으로 사용되어 사용자가 이 package (api)가 어떤 식으로 변경되었는지가를 알 수 있다. 혹은 오픈소스가 아니더라도 개발자의 release 버전을 위와 같이 표기하면 좋기도 하다. 즉, 시맨틱 버저닝(Semantic Versioning)이란, 소프트웨어의 버전 변경 규칙에 대한 제안을 뜻한다. Major, Minor, Patch 버전 MAJO..
Gitversion, Semantic Versioning Specification (SemVer)Semantic Versioning(SemVer)이란? "devDependencies": { "eslint": "8.11.0", } 우리는 흔히 npm packages에서 위의 예시와 같이 버전이 일괄되게 표시되어있음을 알 수 있다. 이는 Github의 공동창업자인 톰 프레스턴 베르너(Tom Preston-Werner)가 만들었으며, 오픈소스 프로젝트에 일반적으로 사용되어 사용자가 이 package (api)가 어떤 식으로 변경되었는지가를 알 수 있다. 혹은 오픈소스가 아니더라도 개발자의 release 버전을 위와 같이 표기하면 좋기도 하다. 즉, 시맨틱 버저닝(Semantic Versioning)이란, 소프트웨어의 버전 변경 규칙에 대한 제안을 뜻한다. Major, Minor, Patch 버전 MAJO..
2022.07.13 -
자바스크립트의 조건문 자바스크립트에서는 다양한 조건문이 있다. 리액트에서는 특히 JSX 템플릿을 쓰면서 If 문 if 문 안에 있는 조건식이 참인 경우 해당하는 조건식의 영역을 실행. 조건문은을 여러 개 조합히기 위해서는 else if를 사용. 조건문의 조건이 어느 것도 충족되지 않으며 그대로 skip 하거나 else 구문을 실행. ** 다른 언어에서도 많이 쓰이는 구문이다 ** 조건식을 거짓을 판단하는 반환값 false undefined null 0 빈 문자열("") NaN(Not a Number // 표현 불가능한 수치형 결과) if .. else graph TD A[start] --> B{Condition} B -->|true| C[if block] B -->|false| D[else block] ..
리액트 조건문자바스크립트의 조건문 자바스크립트에서는 다양한 조건문이 있다. 리액트에서는 특히 JSX 템플릿을 쓰면서 If 문 if 문 안에 있는 조건식이 참인 경우 해당하는 조건식의 영역을 실행. 조건문은을 여러 개 조합히기 위해서는 else if를 사용. 조건문의 조건이 어느 것도 충족되지 않으며 그대로 skip 하거나 else 구문을 실행. ** 다른 언어에서도 많이 쓰이는 구문이다 ** 조건식을 거짓을 판단하는 반환값 false undefined null 0 빈 문자열("") NaN(Not a Number // 표현 불가능한 수치형 결과) if .. else graph TD A[start] --> B{Condition} B -->|true| C[if block] B -->|false| D[else block] ..
2022.07.12 -
문제 현재 리액트 앱(Next.js)에서 useEffect를 이용해서 외부에서 스크립트를 불러와서 쓰고 있다. 그런데 return () => { const s = document.getElementById("inlineContent-flixMedia"); s.parentElement.removeChild(s);} cleanup 함수로 변환했음에도 불구하고 컴포넌트를 리렌더링 하였을 때, 스크립트가 두번 생성되는 에러가 발생하였다 외부 스크립트(flixmedia) : 해당 스크립트는 물건 상세설명 이미지를 만들어주는 스크립트이다 https://www.flixmedia.com/flix-solutions/retailer/faqs FAQs Flixmedia works with over 1,000 retailer..
외부 script 중복 생성 문제 window reset으로 해결하기문제 현재 리액트 앱(Next.js)에서 useEffect를 이용해서 외부에서 스크립트를 불러와서 쓰고 있다. 그런데 return () => { const s = document.getElementById("inlineContent-flixMedia"); s.parentElement.removeChild(s);} cleanup 함수로 변환했음에도 불구하고 컴포넌트를 리렌더링 하였을 때, 스크립트가 두번 생성되는 에러가 발생하였다 외부 스크립트(flixmedia) : 해당 스크립트는 물건 상세설명 이미지를 만들어주는 스크립트이다 https://www.flixmedia.com/flix-solutions/retailer/faqs FAQs Flixmedia works with over 1,000 retailer..
2022.07.06 -
Github Actions 개요? GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 *CI/CD(지속적 통합 및 지속적 전달) 플랫폼입니다. Repository에 대한 모든 pull request들을 빌드 및 테스트하거나 병합된 pull request들을 프로덕션에 배포하는 워크플로를 만들 수 있습니다. GitHub Actions - Supercharge your GitHub Flow CI(Continuous Integration)/CD(Continuous Deployment)란? CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다..
Github Action 개요와 개념Github Actions 개요? GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 *CI/CD(지속적 통합 및 지속적 전달) 플랫폼입니다. Repository에 대한 모든 pull request들을 빌드 및 테스트하거나 병합된 pull request들을 프로덕션에 배포하는 워크플로를 만들 수 있습니다. GitHub Actions - Supercharge your GitHub Flow CI(Continuous Integration)/CD(Continuous Deployment)란? CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다..
2022.06.30 -
모노레포(mono-repo)란? 단일을 의미하는 mono와 Repository가 합쳐진 단어로, 여러 가지의 멀티 레포(multi-repo)에 반대되는 개념으로서 하나의 저장소에 여러 프로젝트 및 패키지를 가진 것을 의미한다. 모노레포의 장점 여러 패키지에서 하나의 설정을 공유할 수 있다. : 예를 들어, Eslint나 Prettier 등 설정을 루트 레벨에서 관리할 수 있기 때문에 여러 Repository에서 각각 따로 관리하던 설정을 공유할 수 있다. 패키지(package) 버전 통합 및 의존성 해결 : 멀티 레포에서 A라는 Repo는 babel 패키지 x.x.1 버전을 사용하고 B라는 Repo에서 x.x.2 babel 패키지를 사용하고 있다면 추후에 다른 버전으로 인한 이슈가 생길 수 있는데, 모노..
모노레포(mono-repo)모노레포(mono-repo)란? 단일을 의미하는 mono와 Repository가 합쳐진 단어로, 여러 가지의 멀티 레포(multi-repo)에 반대되는 개념으로서 하나의 저장소에 여러 프로젝트 및 패키지를 가진 것을 의미한다. 모노레포의 장점 여러 패키지에서 하나의 설정을 공유할 수 있다. : 예를 들어, Eslint나 Prettier 등 설정을 루트 레벨에서 관리할 수 있기 때문에 여러 Repository에서 각각 따로 관리하던 설정을 공유할 수 있다. 패키지(package) 버전 통합 및 의존성 해결 : 멀티 레포에서 A라는 Repo는 babel 패키지 x.x.1 버전을 사용하고 B라는 Repo에서 x.x.2 babel 패키지를 사용하고 있다면 추후에 다른 버전으로 인한 이슈가 생길 수 있는데, 모노..
2022.06.28 -
모바일 테스트 웹이나 SPA 개발하기 위해서는 모바일로 테스트는 필수인데, 보통은 모바일 웹뷰를 테스트하기 위해서 크롬이나 파이어폭스로 모바일 웹뷰로 확인하는데 간혹 어떠한 문제들은 실제 모바일 환경에서만 발생하기도 한다. 이러한 문제들은 cross browser testing이나 Browserstack 툴들에도 확인되지 않기 때문에 실제 모바일 환경에서 확인해야하만 한다. 다음은 실질적인 모바일 환경에서 테스트하는 방법을 서술해보았다. 1. LAMBDATEST LT Browser 손쉽게 여러개의 디바이스(실제 환경과 조금 다를 수 있음)를 테스트할 수 있고, 캡쳐 및 동영상 녹화 기능도 자체적으로 탑재된 브라우저이다. 그리고 로그인하면 다른 툴(Github, Jira 등)에도 공유가능하다. LT 브라우..
모바일 기기로 테스트 및 디버깅하기모바일 테스트 웹이나 SPA 개발하기 위해서는 모바일로 테스트는 필수인데, 보통은 모바일 웹뷰를 테스트하기 위해서 크롬이나 파이어폭스로 모바일 웹뷰로 확인하는데 간혹 어떠한 문제들은 실제 모바일 환경에서만 발생하기도 한다. 이러한 문제들은 cross browser testing이나 Browserstack 툴들에도 확인되지 않기 때문에 실제 모바일 환경에서 확인해야하만 한다. 다음은 실질적인 모바일 환경에서 테스트하는 방법을 서술해보았다. 1. LAMBDATEST LT Browser 손쉽게 여러개의 디바이스(실제 환경과 조금 다를 수 있음)를 테스트할 수 있고, 캡쳐 및 동영상 녹화 기능도 자체적으로 탑재된 브라우저이다. 그리고 로그인하면 다른 툴(Github, Jira 등)에도 공유가능하다. LT 브라우..
2022.06.27 -
[공지사항] 푸샤 깃허브 블로그 업데이트 사항 checked & defaultChecked 기본 엘리먼트에서는 checked 속성으로 사용하지만 react 에서는 defaultChecked값이 추가되었습니다. 이 두 가지 속성은 역할은 같지만 작은 차이가 있습니다. // radio // checkbox checked checked값을 사용하면 onChange값과 함께 사용하여 컨트롤할 수 있습니다. 만약 onChange 값이 없으면 해당 컴포넌트는 readOnly로 바뀌어 체크를 변경할 수 없습니다. this.setState({ foo: !this.state.foo })} checked={this.state.foo}/> checked: {this.state.foo ? 'true' : 'false'} de..
checked & defaultChecked[공지사항] 푸샤 깃허브 블로그 업데이트 사항 checked & defaultChecked 기본 엘리먼트에서는 checked 속성으로 사용하지만 react 에서는 defaultChecked값이 추가되었습니다. 이 두 가지 속성은 역할은 같지만 작은 차이가 있습니다. // radio // checkbox checked checked값을 사용하면 onChange값과 함께 사용하여 컨트롤할 수 있습니다. 만약 onChange 값이 없으면 해당 컴포넌트는 readOnly로 바뀌어 체크를 변경할 수 없습니다. this.setState({ foo: !this.state.foo })} checked={this.state.foo}/> checked: {this.state.foo ? 'true' : 'false'} de..
2022.06.27 -
자바스크립트는 Ecmascript 로 발전하면서 다양한 기호로 연산자를 표시하게 된다. 가장 많이 쓰이는 논리연산자 Or (||) 연산자, And (&&) 연산자, Not(!) 연산자부터 조건 삼항 연산자( 조건 ? 값1 : 값2) 까지. 그 중에서 오늘은 물음표 기호르 쓰는 연산자인 OptIoN chaing에 대해 글을 써보려고 한다. Optional chaining (?)은 영어 표현식 그대로 옵션으로 표기하는 연산자인데, 이는 있을 수도 있고 없을 수도 있는 값을 undefined 으로 return을 해주는 것이다. 보통 그 값이 없을 경우 error 로 리턴이 되는데, error 가 아닌 undefined 으로 리턴해주어서 error가 아니게 해준다. 예) const adventurer = { n..
자바스크립트 물음표 선택적 연산자 Optional chaining자바스크립트는 Ecmascript 로 발전하면서 다양한 기호로 연산자를 표시하게 된다. 가장 많이 쓰이는 논리연산자 Or (||) 연산자, And (&&) 연산자, Not(!) 연산자부터 조건 삼항 연산자( 조건 ? 값1 : 값2) 까지. 그 중에서 오늘은 물음표 기호르 쓰는 연산자인 OptIoN chaing에 대해 글을 써보려고 한다. Optional chaining (?)은 영어 표현식 그대로 옵션으로 표기하는 연산자인데, 이는 있을 수도 있고 없을 수도 있는 값을 undefined 으로 return을 해주는 것이다. 보통 그 값이 없을 경우 error 로 리턴이 되는데, error 가 아닌 undefined 으로 리턴해주어서 error가 아니게 해준다. 예) const adventurer = { n..
2021.04.23