일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 4기
- Java
- 백준
- pintos
- 스택
- 핀토스
- 소켓
- Flutter
- 리액트
- TiL
- 자바
- 나만무
- defee
- 사이드프로젝트
- 큐
- HTML
- 코드트리
- 자바스크립트
- 크래프톤 정글
- 알고리즘
- Vue.js
- 모션비트
- userprog
- 시스템콜
- JavaScript
- corou
- 오블완
- CSS
- 크래프톤정글
- 티스토리챌린지
- Today
- Total
목록코딩 (356)
미새문지
HOC(Higher-Order Components)HOC는 React에서 컴포넌트를 인수로 받아 새로운 컴포넌트를 반환하는 함수이며, 컴포넌트를 재사용하고 확장하기 위한 고급 기술이다.HOC는 React의 컴포넌트 재사용을 통해 코드의 중복을 줄이고, 컴포넌트의 기능을 쉽게 확장할 수 있게 한다.HOC 특징컴포넌트를 인수로 받음HOC는 보통 하나 이상의 컴포넌트를 인수로 받아 새로운 컴포넌트를 반환하며, 이 과정에서 원본 컴포넌트는 수정되지 않고, 확장된 기능을 갖춘 새로운 컴포넌트가 생성된다.원본 컴포넌트를 래핑함HOC는 원본 컴포넌트를 래핑하여 필요한 추가 기능을 부여한다. 예를 들어, 데이터 페칭, 상태 관리, 로깅 등의 기능을 HOC로 분리할 수 있다.함수형 또는 클래스형 컴포넌트에 사용 가능HO..
즉시 실행 함수(IIFE, Immediately Invoked Function Expression)IIFE는 정의되자마자 실행되는 자바스크립트 함수이며, 이는 자바스크립트에서 흔히 사용되는 패턴으로, 함수의 스코프를 이용해 변수를 캡슐화하거나 초기화 코드를 즉시 실행할 때 유용하다.(function() { }) (); 또는 (function() { } ());이 기본 형태이다.IIFE의 장점스코프 캡슐화: IIFE 내부에서 정의된 변수는 외부에서 접근할 수 없으므로 전역 스코프를 오염시키지 않는다.모듈화: IIFE를 사용하면 모듈 단위로 코드를 분리하여 관리할 수 있다.익명 함수: IIFE는 이름이 없는 익명 함수로 정의되므로 함수 이름을 정의하지 않아도 된다.초기화 코드: 페이지 로드 시점에서 실행..
OOP객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 설계 방법론 중 하나로, 프로그램을 여러 개의 객체(object)로 구성하여 그 객체들 간의 상호작용을 통해 프로그램을 설계하고 구현하는 방법론이다.OOP의 핵심 개념은 클래스(class)와 객체(object)이며, 여기서 객체는 데이터와 데이터를 처리하는 코드를 묶은 독립적인 단위이고, 클래스는 이러한 객체를 정의하는 설계도이다. OOP의 핵심 개념클래스(Class)객체를 정의하는 틀이나 설계도객체의 속성(데이터)과 행동(메소드)을 정의예: class Car, class Fruit객체(Object)클래스의 인스턴스(instance)실제로 메모리에 할당되어 동작하는 개체예: myCar = Car(), my..
Base64 인코딩Base64 인코딩은 바이너리 데이터를 ASCII 텍스트로 변환하는 인코딩 방식이며, 이는 데이터를 텍스트 기반 시스템(예: 이메일, JSON, XML 등)에서 쉽게 전송하고 저장할 수 있도록 하기 위해 사용된다.Base64는 바이너리 데이터를 텍스트로 변환할 때 데이터 크기를 약 33% 정도 증가시킨다. 인코딩 과정바이너리 데이터 분할: 원본 바이너리 데이터를 3바이트(24비트)씩 나눈다.비트 그룹 변환: 각 3바이트 블록을 6비트씩 4개의 그룹으로 나눕니다. 6비트는 2^6 = 64개의 값(0부터 63까지)을 가질 수 있다.Base64 인덱스 매핑: 각 6비트 그룹을 Base64 인덱스 테이블의 값으로 변환하는데, 이 테이블은 " A-Z (0-25)", "a-z (26-51)", "..
리덕스를 사용하는 이유리덕스를 사용하는 이유는 주로 애플리케이션의 상태 관리가 복잡해지면서 나타나는 문제들을 해결하기 위함이다.리덕스의 장점예측 가능한 상태 관리리덕스는 단일 스토어와 액션, 리듀서를 사용하여 상태 변경이 언제 어디서 일어나는지 명확하게 정의할 수 있다.이를 통해 상태 변화의 흐름을 쉽게 추적하고 예측할 수 있다.디버깅 및 개발 도구 지원리덕스는 강력한 디버깅 도구인 Redux DevTools를 제공하는데, 이 도구를 사용하면 상태 변경을 시각화하고, 시간 여행 디버깅(time-travel debugging)을 통해 이전 상태로 돌아가거나 특정 시점의 상태를 재현할 수 있다.중앙 집중식 상태 관리애플리케이션의 모든 상태가 하나의 스토어에 저장되므로 상태 관리가 중앙집중식으로 이루어지며, ..
DHCPDHCP가 무엇인지 설명해주세요.DHCP(Dynamic Host Configuration Protocol)는 네트워크 상에서 장치가 자동으로 IP 주소 및 기타 네트워크 설정을 받을 수 있도록 해주는 프로토콜이다. 주요 기능IP 주소 할당: 네트워크에 연결된 장치(클라이언트)에게 IP 주소를 동적으로 할당한다.기타 네트워크 설정 제공: 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소 등의 네트워크 설정 정보를 제공한다.IP 주소 갱신 및 해제: IP 주소를 일정 시간 동안만 유효하게 하고, 만료 전에 갱신하거나 네트워크에서 벗어날 때 해제할 수 있다.작동 방식DHCP Discover: 클라이언트가 네트워크에 연결되면, DHCP 서버를 찾기 위해 브로드캐스트 메시지(DHCP Discover)를 ..
웹소켓과 소켓 통신소켓과 포트의 차이가 무엇인가요?소켓 (Socket)소켓은 네트워크 통신의 종단점으로, 두 시스템 간의 데이터 전송을 가능하게 한다. 소켓은 IP 주소와 포트 번호를 결합한 것으로, 네트워크 상의 특정 프로세스와 통신하기 위한 인터페이스이다.IP 주소: 네트워크 상의 특정 장치(호스트)를 식별포트 번호: 장치 내의 특정 애플리케이션(프로세스)을 식별프로토콜: TCP, UDP와 같은 통신 방식소켓은 클라이언트와 서버 간의 연결을 설정하고, 데이터 전송 및 수신을 관리하는 역할을 하며, 소켓 프로그래밍에서는 소켓을 생성하고, 특정 주소와 포트에 바인딩한 후, 연결을 수립하고 데이터를 주고받는다. 포트 (Port)포트는 네트워크에서 특정 프로세스를 식별하는 숫자이며, 포트 번호는 IP 주소와..
자바스크립트의 메모리 관리는 주로 자동화된 가비지 컬렉션(garbage collection)을 통해 이루어진다.여기서 가비지 컬렉션은 자바스크립트 엔진이 더 이상 참조되지 않는 객체를 자동으로 메모리에서 해제하여 메모리 누수를 방지하는 과정이며, 주요 알고리즘은 참조 카운팅(Reference Counting)과 마크 앤 스윕(Mark-and-Sweep)이 있다.자바스크립트의 메모리 관리를 이해하려면 몇 가지 주요 개념을 알아야 한다.1. 메모리 할당변수를 선언하고 값을 할당하면 메모리가 할당된다.let number = 123; // 숫자 타입의 메모리 할당let string = "Moonmisae"; // 문자열 타입의 메모리 할당let obj = { key: "value" }; // 객체 타입의 메모리..