본문 바로가기

분류 전체보기

(290)
23_상태(status)의 불변성이 중요한 이유 상태의 불변성이 중요한 이유 1. 예측 가능성(Predictability): 상태가 불변하면 언제나 동일한 값을 가지므로 코드의 동작을 예측하기가 쉬워집니다. 특정 시점에서의 상태를 알고 있다면 코드의 흐름을 이해하기가 쉽습니다. 2. 디버깅(Debugging): 불변한 상태는 디버깅을 용이하게 만듭니다. 상태가 변경되지 않기 때문에 특정 시점에서의 문제를 추적하고 분석하기가 더 쉬워집니다. 3. 병행성(Concurrency): 다중 스레드 환경에서 상태의 변경은 복잡성을 증가시킬 수 있습니다. 하지만 상태가 불변하면 스레드 간의 경쟁 조건이나 동기화 문제를 방지할 수 있습니다. 4. 성능 최적화: 불변한 상태를 사용하면 새로운 상태를 만들어야 할 때에만 메모리 할당과 복사가 필요합니다. 이로 인해 메모..
22_VanillaJS와 비교하여 리액트를 사용하는 이유 VanillaJS는 JavaScript의 순수한 형태를 말합니다. 즉, 어떠한 라이브러리나 프레임워크 없이 순수 JavaScript만을 사용하여 웹 애플리케이션을 개발하는 것을 의미합니다. 이것은 HTML과 CSS와 함께 기본적인 웹 개발을 수행하는 것을 말합니다. 반면에 리액트(React)는 Facebook에서 개발한 JavaScript 라이브러리로, 사용자 인터페이스를 만들기 위한 목적으로 만들어졌습니다. 1️⃣ 컴포넌트 기반 구조: 리액트는 컴포넌트 기반 아키텍처를 사용하여 UI를 개발합니다. 이는 UI를 독립적이고 재사용 가능한 작은 조각으로 나누어 개발할 수 있게 합니다. 각 컴포넌트는 자체적으로 상태(state)와 생명주기(lifecycle)를 가지며, 필요한 경우 재사용할 수 있습니다. 반면..
21_http & https의 차이점 HTTP (Hypertext Transfer Protocol) 및 HTTPS (Hypertext Transfer Protocol Secure)는 웹에서 데이터를 전송하는 데 사용되는 프로토콜입니다. 둘 다 서버와 클라이언트 간의 통신을 가능하게 하지만, 중요한 차이점이 있습니다. 1️⃣ 보안: ✅ HTTP: HTTP는 보안이 없는 프로토콜입니다. 데이터가 평문으로 전송되기 때문에 제3자가 데이터를 가로채거나 조작할 수 있습니다. ✅ HTTPS: HTTPS는 SSL (Secure Sockets Layer) 또는 TLS (Transport Layer Security) 프로토콜을 사용하여 데이터를 암호화합니다. 이로써 데이터가 전송되는 동안 보안이 유지되며, 제3자가 데이터를 엿볼 수 없습니다. 2️⃣ 암호화..
20_TCP/UDP에 대해서 설명해주세요. ✅ TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 둘 다 네트워크 통신을 위한 프로토콜로, 인터넷 프로토콜 스위트의 일부입니다. 이 두 프로토콜은 데이터를 전송하는 방식과 연결 유지에 대한 처리 방식에서 차이가 있습니다. 1️⃣ TCP(Transmission Control Protocol, 전송 제어 프로토콜): 연결 지향적 프로토콜입니다. 통신하기 전에 연결을 설정하고, 데이터를 전송한 후에는 연결을 해제합니다. 데이터 전송의 신뢰성을 보장합니다. 패킷이 손실되거나 순서가 바뀌더라도 재전송 및 순서 보장 기능을 통해 데이터를 정확하게 전달합니다. 흐름 제어와 혼잡 제어 메커니즘을 통해 네트워크 상황을 감지하고 조절하여 네트워크의 안정..
생성-수정-상세-후원자-결제페이지 import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { postFundingCreate } from '../../../apis/funding'; import { useParams } from 'react-router-dom'; import CreateModal from './Modal/CreateModal'; import { infoToast } from '../../../components/toast'; import { IoIosArrowBack } from 'react-icons/io'; import { GrAdd } from 'react-icons/gr'; import theme ..
19_클라이언트 사이드 렌더링(CSR)과 서버 사이드 렌더링(SSR)의 개념과 장/단점을 설명해주세요. 클라이언트 사이드 렌더링(CSR)과 서버 사이드 렌더링(SSR)은 웹 애플리케이션을 구축하는 두 가지 주요 접근 방식입니다. ✅ 클라이언트 사이드 렌더링 (Client-Side Rendering - CSR): 개념: 클라이언트 사이드 렌더링은 서버로부터 받은 초기 HTML과 빈 페이지를 로드한 후, 클라이언트(브라우저)에서 JavaScript를 사용하여 동적으로 컨텐츠를 렌더링하는 방식입니다. 페이지가 로드된 후에 JavaScript가 실행되어 서버로부터 데이터를 받아와 렌더링합니다. 🔵 장점: 빠른 초기 로드: 초기 페이지 로드 시 필요한 리소스 양이 적어 빠른 페이지 로딩이 가능합니다. 빠른 후속 네비게이션: 페이지 로드 이후 데이터를 비동기적으로 로드하므로 사용자 경험이 빠릅니다. 뛰어난 인터랙티브..
18_쿠키, 세션, 웹스토리지의 차이 ✅쿠키, 세션, 웹 스토리지는 모두 웹 애플리케이션에서 클라이언트와 서버 간의 데이터를 저장하는 데 사용되는 다양한 메커니즘 ✅ 쿠키 (Cookies): 쿠키는 클라이언트 측에 텍스트 형식으로 저장되는 작은 데이터 조각입니다. 주로 사용자 인증, 세션 관리, 사용자 설정 등을 저장하는 데 사용됩니다. 서버에서 생성되어 클라이언트에 저장되며, 설정된 만료일까지 유지됩니다. 쿠키는 도메인 및 경로별로 설정될 수 있으며, 보안 및 개인 정보 보호를 위해 일부 옵션을 설정할 수 있습니다. ✅ 세션 (Sessions): 세션은 클라이언트와 서버 간의 상호 작용을 추적하고 유지하는 데 사용됩니다. 일반적으로 세션은 서버 측에서 관리되며, 클라이언트에는 세션 식별자만 저장됩니다. 사용자가 웹 애플리케이션에 접속하면 ..
17_GET, POST의 개념과 함께 데이터 흐름에 대해서 설명해주세요. GET과 POST는 HTTP 프로토콜에서 사용되는 두 가지 주요한 요청 방식입니다. 이 두 방식은 웹 서버로부터 정보를 요청하는데 사용됩니다. ✅ GET 방식: GET 방식은 정보를 요청하기 위해 사용됩니다. 일반적으로 URL을 통해 데이터를 전달합니다. 예를 들어, 웹 브라우저에서 웹 페이지를 요청하거나 쿼리 문자열을 통해 데이터를 전달하는 경우 GET 방식을 사용합니다. GET 요청은 주로 캐시될 수 있습니다. 이는 동일한 요청이 여러 번 발생할 때 같은 응답을 재사용할 수 있음을 의미합니다. URL에 데이터가 노출되므로 보안적으로 민감한 정보는 GET 요청에 포함되지 않아야 합니다. ✅ POST 방식: POST 방식은 서버로 데이터를 제출하기 위해 사용됩니다. 주로 HTML의 요소에서 사용되며, 사..
전체 데스크탑뷰 적용 import React, { useEffect, useState } from "react"; import { FaChevronRight } from "react-icons/fa"; import { FaPlus } from "react-icons/fa6"; import { useNavigate } from "react-router-dom"; import LoginModal from "../Home/Login/LoginModal"; import { useDispatch, useSelector } from "react-redux"; import { bootChannelTalk } from "../../redux/channelTalkSlice"; import Navbar from "../../components..
16_GET, POST 방식의 차이점에 대해서 설명해주세요. GET과 POST는 HTTP 프로토콜에서 사용되는 두 가지 주요한 메서드(Methods) 중에 하나입니다. 이 두 메서드는 웹 애플리케이션에서 클라이언트와 서버 간의 데이터 전송에 사용됩니다. ✅ GET 방식: 1. 데이터 전송 방식: GET 방식은 데이터를 URL의 쿼리 문자열(Query String)에 포함하여 전송합니다. 이는 URL 뒤에 "?" 기호를 사용하고, 그 뒤에 key=value 쌍을 '&'로 구분하여 나열합니다. 2. 보안: GET 요청은 URL에 데이터를 노출시키므로 보안에 취약합니다. 사용자 이름, 비밀번호와 같은 민감한 정보를 GET으로 전송하는 것은 권장되지 않습니다. 3. 캐싱: GET 요청은 캐시될 수 있습니다. 동일한 GET 요청이 여러 번 발생할 경우, 이전 요청에서 받은..