Dandy Now!
  • [ 언어·프레임워크/Python ]
    [Python] time 모듈: time.time(), time.perf_counter(), time.process_time() 설명
    2025-05-12 14:04:47
    Python time 모듈: time.time(), time.perf_counter(), time.process_time() 설명Python의 time 모듈은 시간 관련 기능을 제공한다. 이 모듈 내에는 다양한 시간 측정 함수들이 있는데, 그중 time.time(), time.perf_counter(), time.process_time()은 프로그램의 성능 측정이나 경과 시간 계산에 자주 사용되는 함수이다. 각 함수의 특징과 용도를 명확히 이해하는 것은 효율적인 코드 작성에 도움이 된다.1. time.time()time.time() 함수는 Epoch(일반적으로 1970년 1월 1일 0시 0분 0초 UTC) 이후 경과한 시간을 초 단위로 반환한다. 이 값은 부동 소수점 형태로 나타내며, 운영체제의 시스템 ..
  • [ 언어·프레임워크/Python ]
    [Python] 일급 함수: 런타임 초기화부터 partial 활용까지
    2025-05-08 14:26:35
    파이썬 일급 함수: 런타임 초기화부터 partial 활용까지파이썬에서 함수는 단순한 코드 묶음 그 이상이다. 함수는 일급 객체(First-Class Object)로서, 다른 객체들과 동일하게 취급될 수 있는 특별한 존재이다. 이번 포스팅에서는 파이썬 함수의 주요 특징과 함께 map, filter, reduce, callable, partial의 활용법을 살펴보고, 이를 통해 파이썬의 강력함을 느껴보자.1. 파이썬 함수의 특별한 특징파이썬 함수가 일급 객체로서 가지는 네 가지 핵심 특징은 다음과 같다.1.1. 런타임 초기화파이썬 함수는 코드가 실행되는 런타임에 동적으로 초기화된다. 함수 정의 시점이 아닌, 실제 코드가 실행될 때 함수 객체가 메모리에 생성되는 것이다.def greet(name): re..
  • [ 언어·프레임워크/Node.js ]
    [Node.js] 대량 API 요청의 효율적인 처리: p-limit을 활용한 동시성 제한
    2025-05-01 20:58:35
    Node.js에서 대량 API 요청의 효율적인 처리: p-limit을 활용한 동시성 제한Node.js 애플리케이션에서 다수의 API 요청을 처리할 때 발생할 수 있는 문제점과 이를 해결하기 위한 최적화 방법이 본 글의 주제이다. 대량의 동시 요청은 서버에 과부하를 일으키고 자원을 비효율적으로 사용하게 하는 원인이다. 이러한 문제의 효과적인 해결책을 살펴보도록 하겠다.1. 문제: 대량의 순차적 API 요청다음과 같은 코드는 많은 항목에 대해 API 요청을 순차적으로 수행하는 예시이다:const request = require('request');async function fetchDataForAllItems(items) { const results = []; for (const item of items..
  • 게시글 대표 이미지 썸네일 주소
    [ 언어·프레임워크/React.js ]
    [React.js] Naver 지도 resize 이벤트 오류 해결하기 (`__event_relations__` 에러)
    2025-04-30 19:25:16
    React에서 Naver 지도 resize 이벤트 오류 해결하기 (__event_relations__ 에러)React 환경에서 네이버 지도를 사용할 때, 특정 상태(hideStateMenu 등)가 변경됨에 따라 지도의 크기가 변경될 때 resize 이벤트를 수동으로 트리거해야 하는 경우가 있다. 이 과정에서 간헐적으로 Cannot read properties of null (reading '__event_relations__') 와 같은 오류가 발생할 수 있다. 이 글에서는 해당 오류의 원인을 분석하고 안정적으로 해결하는 방법을 제시한다.1. 문제 원인 분석이 오류는 주로 hideStateMenu와 같은 상태 값이 변경될 때, naverMap.current (네이버 지도 인스턴스 참조)에 대해 resiz..
  • [ 언어·프레임워크/React.js ]
    [React.js] React Hooks와 컴포넌트 생명주기, 함수 컴포넌트의 진화 살펴보기
    2025-04-25 12:52:01
    React Hooks와 컴포넌트 생명주기, 함수 컴포넌트의 진화 살펴보기React 개발이 점차 함수형 컴포넌트 중심으로 옮겨가면서, 기존 클래스 컴포넌트에서만 가능했던 상태 관리나 생명주기 메서드 활용이 어떻게 함수형 컴포넌트에서도 가능해졌을까? 그 핵심에는 바로 React Hooks가 있다. 이번 글에서는 React Hooks가 무엇인지, 왜 'Hook'이라고 불리며, React 컴포넌트의 생명주기 개념과 Hooks가 어떻게 연결되는지 깊이 있게 살펴보겠다.1. 왜 React Hooks인가? 함수 컴포넌트의 새로운 가능성React의 초기 함수형 컴포넌트는 단순히 props를 받아 UI를 렌더링하는 역할에 주로 사용되었다. 상태를 관리하거나 컴포넌트가 화면에 나타나거나 사라질 때 특정 작업을 수행하는 등..
  • [ 언어·프레임워크/Python ]
    [Python] 정규 표현식 (Regular Expression)
    2025-04-25 09:48:41
    정규 표현식 (Regular Expression)Python에서 이 정도는 기본적으로 알아야하는 정규 표현식이라고 생각해 정리해 보았다.1. 기본 메타 문자 (Meta Characters).: 임의의 한 문자 (개행 문자 제외)^: 문자열의 시작$: 문자열의 끝*: 앞의 문자가 0번 이상 반복+: 앞의 문자가 1번 이상 반복?: 앞의 문자가 0번 또는 1번 나타남[]: 문자 집합. [abc]는 a, b, c 중 하나를 의미[^]: 부정 문자 집합. [^abc]는 a, b, c를 제외한 나머지 문자 중 하나를 의미|: OR 연산. a|b는 a 또는 b를 의미(): 그룹. 매칭된 부분을 캡처하여 나중에 사용 가능\: 이스케이프 문자. 메타 문자를 리터럴 문자로 사용하기 위해 (예: \.은 점 문자를 의미)2..
  • [ 언어·프레임워크/React.js ]
    [React.js] Input 성능 최적화: 디바운싱과 스로틀링으로 불필요한 리렌더링 줄이기
    2025-04-24 12:58:59
    React Input 성능 최적화: 디바운싱과 스로틀링으로 불필요한 리렌더링 줄이기React 개발에서 사용자 입력 필드의 상태를 관리하는 것은 매우 기본적인 작업이다. 대부분의 경우 useState 훅을 사용하여 input 요소의 value와 onChange 핸들러를 연결하는 방식을 사용한다.import React, { useState } from 'react';function SimpleInput() { const [value, setValue] = useState(''); const handleChange = (event) => { setValue(event.target.value); // 키를 입력할 때마다 이 코드가 실행되는 것이다. }; return ( );}이 방식은 사용..
  • [ 언어·프레임워크/React.js ]
    [React.js] 리스트 렌더링: map 인덱스를 key로 사용하면 안 되는 이유와 해결책
    2025-04-24 11:36:25
    React 리스트 렌더링: map 인덱스를 key로 사용하면 안 되는 이유와 해결책React로 프런트엔드 애플리케이션을 개발할 때, 배열 데이터를 기반으로 여러 개의 컴포넌트를 렌더링하는 작업은 매우 흔하다. 이때 JavaScript의 map() 함수를 자주 사용하며, 각 리스트 항목에 key prop을 제공해야 한다는 React의 권고를 만나게 된다. 그런데 이때 map() 함수의 두 번째 인자인 index를 무심코 key로 사용하는 경우가 많다. 하지만 이 방식은 잠재적인 문제를 야기할 수 있으며, 왜 그런지 이해하고 올바른 방법을 사용하는 것이 중요하다.1. React는 왜 key가 필요한가?React는 UI를 업데이트할 때 Virtual DOM을 사용한다. 데이터가 변경되면 새로운 Virtual ..