분류 전체보기 (54) 썸네일형 리스트형 리액트의 불변성, 왜? 그리고 어떻게? 리액트에서는 useState() 훅을 이용하여 상태를 정의하고 반환된 setter함수를 이용해서만 데이터를 변경할 수 있다.배열이나 객체처럼 단일 값이 아닌 여러 값을 저장하고 있는 데이터 타입의 경우 아래와 같이 값을 변경해야 한다. //items 배열에 새로운 요소를 추가하는 예제const [items, setItems] = useState(['Item 1', 'Item 2', 'Item3']);const addItem = () => { setItems([...items, 'New Item']); // 기존 배열을 복사하고 새로운 아이템 추가}; 자바스크립트에는 배열에 요소를 추가하는 push()와 같은 메소드가 있는데, 왜 setter 함수를 이용해서만 값을 변경해야 할까? 그리고 setter 함.. React 전역 상태 관리 - Recoil 기본 사용법 리액트에는 컴포넌트의 메모리인 상태(State)라는 개념이 있다. 상태는 컴포넌트 내부에서 관리되며, 상태가 선언된 해당 컴포넌트와 자식 컴포넌트에서만 접근이 가능하다.일반적으로 여러 컴포넌트에서 동일한 상태 정보를 사용해야 하는 경우, 부모 컴포넌트에서 자식 컴포넌트로 props를 통해 정보를 전달한다. 그러나 상태가 존재하는 컴포넌트와 상태 정보를 props으로 받아 사용하고자 하는 컴포넌트가 트리 상 멀리 떨어져있다면, props을 여러 컴포넌트를 거쳐 전달해야 하는 Prop drilling 이 발생한다. 상태를 여러 컴포넌트에서 공유해야 할 경우, props을 계속해서 전달하는 것은 번거롭고 비효율적일 뿐만 아니라 props의 출처를 찾기 어려워진다. 따라서 애플리케이션 전역에서 상태에 접근.. ERC-20 토큰 만들기 ERC란 Ethereum Request for Comment의 약자로, 이더리움 개발을 위한 요구 사항을 담은 문서 규약이다. 이 중 ERC-20은 대체 가능한(Fungible)한 토큰을 규정하는 표준이며, 가상화폐나 유틸리티 토큰으로 사용된다. 이 글에서는 ERC-20이 무엇인지 알아보고, ERC-20을 따르는 스마트 컨트랙트를 작성해본다.1. ERC-20이란?ERC-20은 이더리움 블록체인에서 대체 가능한 자산을 위한 기술 표준으로, 이더리움 생태계 내에서 자산이 올바르게 동작하기 위해 따라야 하는 일반적인 규칙 세트를 의미한다. 이러한 규칙은 이더리움 블록체인 내에서 ERC-20 자산이 전송되는 방식과 공급 및 주소 잔액이 일관되게 기록되는 방식과 관련이 있다.* 여기에서 '대체 가능하다'라는 것.. [python] 데이터 분석을 위한 기초 문법3 - 제어문 더보기 3.1 조건문 3.2 반복문 3.3 예외처리 3.1 조건문 조건문은 조건식을 만족하는 경우와 만족하지 않는 경우를 구분하여 각각 다른 프로그래밍 코드를 실행한다. 1) if 조건문 if 조건문은 조건식을 만족하면 해당 명령문을 실행한다. if 조건식: 조건을 만족할 때 실행할 명령문 * 제어문 내의 명령문들은 반드시 들여쓰기를 해주어야 한다. 일반적으로 4칸 들여쓰기를 한다. 2) if~else 조건문 if~else 문은 조건을 만족하는 경우와 그렇지 않은 경우에 실행할 명령문을 구분하여 프로그램을 제어할 수 있다. if 조건식: 조건을 만족할 때 실행할 명령문 else: 조건을 만족하지 않을 때 실행할 명령문 3) if~elif~else 조건문 if~elif~else 문은 서로 다른 여러 조건을.. [python] 데이터 분석을 위한 기초 문법2 - 연산자 더보기 2.1 산술 연산자 2.2 비교 연산자 2.3 논리 연산자 2.1 산술 연산자 산술 연산자는 숫자 연산을 하는데 사용하는 연산 기호이다. 이 중 덧셈 연산자(+)와 곱셈 연산자(*)는 각각 문자열을 결합하고 반복하는 용도로도 사용이 가능하다. + : 덧셈 / 문자열 결합 - : 뺼셈 * : 곱셈 / 문자열 반복 ** : 거듭제곱 / : 나눗셈의 결과값(실수) // : 나눗셈의 몫 % : 나눗셈의 나머지 *파이썬에서 " += ", " *= "와 같은 복합 연산자는 사용 가능하지만, " ++ ", " -- " 연산자는 지원하지 않는다. 2.2 비교 연산자 비교 연산자는 숫자의 크기를 비교한다. == : 서로 같으면 True != : 서로 다르면 True : 부등식을 만족하면 True = : 부등식을 .. [python] 'NoneType' object is not iterable 에러 해결하기 데이터베이스에 저장된 데이터를 받아와 반복문을 사용하여 출력하는 과정에서 다음과 같은 에러가 발생하였다. TypeError: 'NoneType' object is not iterable 파이썬 프로그래밍에서 자주 발생하는 에러 상황 중 타입과 관련된 에러가 있다. 그 중 하나가 ' 'NoneType' object is not iterable '이다. 이것은 파이썬에서 객체를 얻어와 반복문에 사용하는 과정에서 발생한다. 다음 코드에서는 데이터베이스에서 json 형식으로 저장된 데이터를 읽어와 해당 데이터를 반복문에 사용하고 있다. 여기에서는 파이어베이스 데이터베이스에서 데이터를 읽어오고 있다. DB = DBhandler() .... data = DB.get_datas() #DB에서 데이터 받아오기 data.. [Git & 소스트리] 브랜치 병합하기 / 충돌 해결하기 깃 GUI 툴인 소스트리를 이용하여 브랜치를 병합하고 병합 과정에서 발생하는 충돌을 해결하는 방법에 대해 알아보겠습니다. 1. 브랜치 병합하기 병합(merge): 하나의 브랜치를 현재 브랜치(헤드 브랜치)와 합치는 것. 예를 들어, 헤드 브랜치가 main이고 여기서 version2 브랜치를 병합하면 version2의 내용이 main에 반영됩니다. 깃에서는 merge 명령어(merge '병합할 브랜치 이름')를 사용합니다. 소스트리에서는 병합할 브랜치를 우클릭하여 병합을 선택해주면 됩니다. 병합을 할 때는 충돌이 발생할 수 있는데 충돌이 발생할 경우 다음과 같은 에러 메세지가 뜹니다. 만약 머지 이전으로 돌아가고 싶다면 돌아갈 위치에서 마우스 우클릭하여 '이 커밋까지 현재 브랜치를 초기화'를 선택해 줍니다.. [JS] 문서 객체 모델(DOM) 1 - DOM이란? / document 객체와 관련 메소드 더보기 문서 객체 모델(DOM)이란? 1. DOM의 계층 구조 (노드 트리, HTML 문서 트리) 2. Document 객체 1) HTML 요소 선택 메소드 2) HTML 요소 생성 메소드 3) HTML 이벤트 핸들러 추가 메소드 4) HTML 객체 집합 3. DOM 요소의 선택 및 변경 문서 객체 모델(DOM, Doucument Object Model) : HTML 또는 XML 문서에 접근하기 위한 일종의 인터페이스. Document 객체와 관련된 객체들의 집합. ↳ 모든 HTML 요소는 HTML DOM의 표준화된 방법을 통해 접근 가능. ↳ 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 문서 구조, 스타일, 내용 등을 변경할 수 있게 돕는다. ↳ 웹 문서의 구조화된 표현을 제공하여 .. 이전 1 2 3 4 ··· 7 다음