본문 바로가기

프로그래밍52

Golang Slice(슬라이스) : make, copy, append 개요슬라이스를 생성하고 조작하는 데 사용되는 세 가지 중요한 내장 함수인 make, copy, 그리고 append에 대해 살펴보겠습니다.1. make 함수`make` 함수는 타입, 길이, 용량 이렇게 세 가지 인수를 받습니다. 내장함수 주석은 다음과 같습니다.// The make built-in function allocates and initializes an object of type// slice, map, or chan (only). Like new, the first argument is a type, not a// value. Unlike new, make's return type is the same as the type of its// argument, not a pointer to it... 2024. 7. 31.
Golang Slice(슬라이스) 동작원리와 사용법 개요해당 포스팅은 slices-intro(go.dev) 을 참고하여 작성되었습니다.Golang 슬라이스(Slice)는 효율적이고 유연한 데이터 구조입니다. 배열과 유사하지만, 크기가 동적으로 조절될 수 있어 더 자유롭게 사용 할 수 있는 자료구조 or 구조체입니다.배열슬라이스 동작원리의 포스팅이지만, 슬라이스를 이해하려면 배열 부터 이해를 해야합니다. 간단하게 알아보고 넘어 가보겠습니다.1. 배열의 기본 특성정의: Go에서 배열은 고정된 길이의 동일한 타입 요소들의 연속된 집합입니다.선언 예시: var a [5]int (5개의 정수를 저장할 수 있는 배열 선언)2. 배열의 초기화와 접근var a [5]inta[0] = 1i := a[0]// a 출력 : [1 0 0 0 0] 배열은 선언 시 모든 요소가 .. 2024. 7. 31.
Golang Arrays(배열), Slice(슬라이스) - 선언, 초기화 방법 ※ 개요고정 크기 또는 가변 크기?크기가 타입의 일부인가?다차원 배열은 어떻게 생겼나?빈 배열은 의미가 있는가?Golang 개발팀은 위의 질문에 대한 답을 찾기위해 1년이 걸렸다고 합니다. 앞으로의 포스팅을 통해 Arrays(배열), Slice(슬라이스)에 대해 기본부터 특성 사용법까지 알아 보도록 하겠습니다.참고링크: 배열, 슬라이스(및 문자열)(go.dev) ※ Arrays(배열)배열은 동일한 타입의 요소들을 연속된 메모리 공간에 저장하는 데이터 구조입니다.주요특징 고정 크기: Go의 배열은 선언 시 크기가 고정되며, 이는 변경할 수 없습니다.타입의 일부: 배열의 크기는 타입의 일부입니다. 즉, [5]int와 [10]int는 서로 다른 타입입니다.값 타입: Go에서 배열은 값 타입입니다. 이는 배열을.. 2024. 7. 31.
React Props,State PropsReact에서 설명하는 Props“props” (props는 속성을 나타내는 데이터입니다) 객체 인자를 받은 후 React 엘리먼트를 반환하므로 유효한 React 컴포넌트입니다. 이러한 컴포넌트는 JavaScript 함수이기 때문에 말 그대로 “함수 컴포넌트”라고 호칭합니다.리액트에서 props를 속성을 나타내는 데이터라고 표현한다.Props는 read-only 이다.Props를 전달해보자Props를 수정해보자.해당 코드를 실행하면 멋지게분명 let name = "John"; 수정 가능한 let으로 선언 했지만, 자식 컴포넌트(객체)에서 수정접근시 read only라 수정할 수 없다는 에러가 발생한다.😒 왜 그럴까?이유는 ReactElement 를 생성할때 props와 element 를 fre.. 2024. 7. 29.
React Virtual DOM Virtual DOM은 상태 객체다.가상돔은 가상이다.document 객체가 아니기 때문에 가상이다.가상돔은 가상이 아니다.가상돔은 리액트가 상태변화를 감지하기 위해 만든 진짜 객체이다.DOM 뜻DOM은 “Document Object Model”이다.가상 DOM이란?가상 DOM은 원본 DOM의 가벼운 복제본을 메모리에 유지하고, 변경 사항을 이 복제본에 먼저 적용한 다음, 실제 DOM과 비교하여 필요한 부분만 업데이트하는 방식으로 동작합니다. 이를 통해 불필요한 실제 DOM 조작 작업을 최소화하고 성능을 개선할 수 있습니다.결국 DOM을 객체화 시킴으로써, 변경감지에 대한 최적화를 시킬수 있고 그로인해 불필요한 리렌더링이 감소해서 성능향상이 발생한다고 볼수있을것 같다. 구조화된 형태 개발을 진행하기 때문.. 2024. 7. 29.
React Composition Composition : 합성의미 : 둘 이상의 것을 합쳐서 하나를 이룸.왜 사용할까?React 컴포넌트의 재사용성을 높여이기 위해.반복되는 컴포넌트 예시import React from 'react';// 재사용 가능한 컴포넌트 정의export const CompositionFlexLayer = () => { return ( 0 );}export const CompositionFlexLayer1 = () => { return ( 1 );}export const CompositionFlexLayer2 = () => { return ( 2 .. 2024. 7. 29.