오블완 21

[React] 시스템의 공영 방송: Context API

지난 글에서 Props의 역할이 컴포넌트의 속성을 정의하기 위한 것이며, 우리가 많이 사용하는 '하향 데이터 통신' 기능은 결과적으로 속성을 전달하는 과정에서 활용할 수는 있지만, 속성을 전달하는 과정이 하향식으로 이뤄지다보니 그런 식으로도 활용할 수 있게 되는 것이며, 속성의 본연적 기능은 자식 컴포넌트의 정체를 정의하는 것으로 보아야 정확하게 사용할 수 있을 것임을 살펴보았다. 그렇다면 실제로 컴포넌트 간의 통신을 할 때에는 무엇을 사용해야 할까? 여러가지 방법이 있지만, 이번에 다뤄볼 Context API가 그 중 하나가 될 수 있다.API(Application Programming Interface)는 그 용어 자체적으로도 연결의 의미를 지니고 있다. 즉 접면(Interface)으로써 둘 사이를 ..

React.Native 2024.11.17

[Talk] 객체 지향과 인터페이스 디자인에의 의의

디자이너들에게 '객체지향'이라고 하면 사용자 경험 디자인(UX Design)과 같이 사용자, 손님을 먼저 생각하는 개념으로 오인하는 경우가 있다. 이 '객체(Object)'라는 개념이 낯설어서인데, 객체는 손님 객자를 써서 시스템을 사용하는 누군가를 의미하는 것으로 생각할 수 있지만 사실 주체(Subject)의 반대로서 번역된 용어이며, 오히려 '개체'에 더 가까운 개념이다.개발에서 이야기하는 '객체'란, 그 자체로 완결성을 가진 프로그램의 블록을 의미한다. 객체와 비교되곤 하는 것이 함수(Function) 또는 프로시저(Procedure)인데, 이들은 입력된 값을 계산해 결과값을 출력하는 단위들이다. 작동을 위한 인자(parameter)가 존재하며, 이를 인수(argument)의 형태로 대입하여 사용한..

Philosophy 2024.11.16

[React] Props는 통신용이 아니다 : Props 진짜 이해하기

리액트를 다루면서 처음에 많이 헷갈렸고, 지금도 종종 막히는 부분이 속성(Props) 관련 내용인데, 그리 어렵지 않은 것 같으면서도 막상 뭔가 만들 때에는 의도한대로 작동하지 않아 당황하게 만드는 요인이기 때문이다. 이번 포스팅에서는 이 속성에 대해 완벽히 살펴봄으로써 올바르게 사용해보고자 한다.일단 속성(Props; Properties) 자체는 웹에서 쓰던 형태와 동일하다. 웹에서는 문서의 엘리먼트(Element)의 구체적인 속성을 정의할 때 속성을 활용하는데, 예를 들어LINK위의 예시에서 하이퍼링크 참조(href; hyper reference)가 a 엘리먼트의 속성에 해당한다. 속성은 문서의 마크업 태그 자체가 가지고 있는 성질이며, 해당 성질을 정의해줌으로써 엘리먼트가 그 성질을 갖도록 한다.리..

React.Native 2024.11.15

[AI-12] 최적의 분류 평면 찾기, 서포트 벡터 머신(SVM)

회귀 등의 방법을 통해 일반적으로 데이터를 분류하는 방법들은, 각 데이터의 분류를 확률적으로 계산하여 그 소속 여부를 결정한다. 즉, 확률에 대한 어떤 특정한 임계값을 넘는지 못넘는지에 따라 분류 여부를 판단하는 방식으로, 각 데이터가 특정 클래스에 속할 확률을 계산함으로써 분류가 실패할 확률(에러율)을 줄이는 쪽으로 학습을 진행한다. 이는 처음부터 분류 자체를 목적으로 한다기보다는, 데이터가 가까운 쪽의 클래스로 분류됨으로써 자연스럽게 분류가 완성되는 것이다.서포트 벡터 머신(Suppor Vector Machine)은 이러한 방법들과 다르게 분류 자체를 목적으로 두고 데이터 간의 거리를 계산하여 그 사이의 가장 여백(margin)이 큰 경계를 찾는 방식으로 데이터 간에 경계를 나누면서 학습을 진행한다...

[Talk] 인공지능은 디자인을 어떻게 바꿔 놓을 것인가

인공지능의 개념이 처음 모습을 드러냈을 때 우리는 '단순 노동자 부터의 일자리 소멸'을 예상했었다. 제아무리 인공지능이라도 고차원적인 개념이해나 발상은 어려울 것으로 여겨졌고, 비교적 단순한 노동을 모사하는 것에서부터 시작될 것으로 여겨졌기 때문이다. 특히 '디자인'은 미학이나 창의적인 측면이 많아 기계학습으로 따라가기는 어려울 것으로 판단되곤 했다.그러나 기술의 변화로 인공지능이 두각을 드러내기 시작하면서 이러한 인식의 양상은 달라졌다. 실제로는 오히려 우리에게 너무나 쉬운 걷기, 물건 집기, 옮기기 등은 기계에게 너무나 많은 조작과 섬세한 변수 제어를 필요로 하는데 비해 오늘날 거의 전산 위주로 이뤄지던 지식 노동은 오히려 기계의 영역이었기에 '어떻게 하는 건지' 학습만 이뤄지면 쉽게 처리가 가능했기..

Philosophy 2024.11.13

[React] 값 참조하기: useRef

리액트에서 어떤 값을 선언하고 대응하여 사용할 때에 일반적으로 쓰이는 것은 지난 글에서 다룬 상태(State)값이다. 그런데 상태는 말 그대로 구성요소의 상태에 관계된 값이기 때문에, 상태가 변하면 구성요소 역시 변해야 한다. 즉, 상태의 변화는 구성요소를 다시 로드(렌더)시킨다. 이 동작이 원하는 동작이었다면 관계 없지만, 값이 변하더라도 결합된 구성요소가 바로 다시 렌더링되기를 원하지 않을 수 있다. 이 때 사용할 수 있는 것이 참조(useRef)이다.useRef의 사용법은 아래와 같다:import {useRef} from 'react';const ref = useRef(initialValue);위를 통해 상수 ref는 initialValue라는 초기값을 current로 갖는 객체가 되는데, 따라서 ..

React.Native 2024.11.12

[Talk] 왜 디자인은 기술을 이해해야 하는가

기술적인 매커니즘이나 로직을 이해하려 하는 디자이너들이 있는 반면, 그 쪽은 나의 일이 아니기 때문에 벽을 쌓고 건드리지 않으려고 하는 디자이너들도 있다. 이 둘 중 어떤 쪽이 옳으냐 묻는다면, 당연하게도 답은 '상황에 따라 다르다.'일 것이다. 이는 디자이너 개인의 역량, 적성, 동기 뿐 아니라 업무의 세부 분야나 조직의 구성 등에 따라서도 너무나 달라지기 때문이다. 자신에게 맞지 않는 것을 억지로 하려다가 역효과가 날 수도 있고 조직에 속한 경우나 주어진 업무의 성격, 범위에 따라 디자이너가 기술까지 알려 하기엔 맞지 않는 경우도 많다.그러나 그럼에도, 일반적으로 디자인이 기술을 이해해야 하느냐고 묻는다면 '그렇다.'고 대답하게 된다. 위에서 말한 개인의 케이스는 세세한 사정에 따라 답이 달라지지만,..

Philosophy 2024.11.11

[React] useEffect와 정리함수(clean up)

정리함수(clean up)란 말 그대로 기존의 값을 정리하여 다음 기능이 수행될 때 방해가 되지 않도록 하는 함수를 말한다. useEffect 훅의 정리함수에 대해 React에서 설명하는 문서의 문구를 가져오면 아래와 같다.Your setup function may also optionally return a cleanup function. When your component is added to the DOM, React will run your setup function. After every re-render with changed dependencies, React will first run the cleanup function (if you provided it) with the old valu..

React.Native 2024.11.10

[React] useEffect 이해하기

지난 글에서 살펴본 useState는 어플리케이션의 상태(State)값을 바꿔 구성요소를 업데이트 하는 훅(hook)*이었는데, useEffect는 반대로 상태에 따라 어떤 특정 동작을 하도록 명령하는 훅이다.import {useEffect} from 'react'; //호출useEffect(function, deps);useState와 마찬가지로 리액트의 내장된 기능이기 때문에 아래와 같이 상단에서 호출(import)만 해주면 쓸수 있으며, 기본적인 사용법은 위와 같이 수행할 기능과 의존성(dependencies)을 입력하면 되는데, 여기서 의존이란 이 useEffect가 수행되기 위한 조건이 되는 상태를 말한다고 보면 된다. 즉 두번째 인자에서 정의된 상태(state)의 변화에 의존하여 기능(func..

React.Native 2024.11.09

[React] State 이해하기

리액티브 프레임워크에서 사용하는 특이한 기능 중 하나가 State인데, 처음에 이 개념을 이해하지 못하면 상당히 혼란스러울 수 있다. 특히 웹 개발에서 리액트로 넘어올 경우 동기식 멀티 페이지로 제작되는 기존의 웹에서는 사용할 필요가 없는 개념이기 때문에 더욱 이해가 안 될 수 있는데, 따라서 이를 이해하려면 먼저 리액트의 특징 중 하나인 단일 페이지 어플리케이션에 대해 알아둘 필요가 있다.SPA (Single Page Application)단일 페이지 어플리케이션이란 말 그대로 하나의 페이지에서 움직이는 어플리케이션 개념을 의미하는데, 기존의 어플리케이션이 여러 상황에 맞는 페이지로 구성되고 서버 호출을 통해 다른 페이지 주소로 이동하던(hyperlink) 것과는 다른 방식으로 동작한다. SPA는 처음..

React.Native 2024.11.08
728x90
반응형