반응형

전체 글 91

React에서 여러 상태 한 번에 관리하는 hook(훅) 만들기

상태 관리는 React 애플리케이션에서 중요한 부분입니다. 하지만 때로는 useState를 과도하게 사용하여 코드의 복잡성을 불필요하게 증가시키는 경우가 있습니다. 예를 들어, 다음과 같은 코드를 생각해 볼 수 있습니다: import React, { useState } from 'react'; const OverusedStateComponent = () => { // 각각의 상태를 별도의 useState로 관리 const [isVisible, setIsVisible] = useState(true); const [isDisabled, setIsDisabled] = useState(false); const [isLoading, setIsLoading] = useState(false); const [isErr..

IT/React 2024.01.25

MSSQL에서 테이블 컬럼 추가 및 속성 변경하기

데이터를 저장하기 위해 테이블에 새로운 컬럼을 추가해야 하고, 기존 컬럼의 데이터 유형이나 크기를 변경해야 할 필요가 있죠. 이러한 작업은 ALTER TABLE 문을 사용하여 수행할 수 있습니다. 1. 테이블에 컬럼 추가하기 새로운 컬럼을 테이블에 추가하는 것은 매우 간단합니다. 기본 구조는 다음과 같습니다: ALTER TABLE 테이블명 ADD 새컬럼명 데이터유형; 예를 들어, 'Employees'라는 테이블에 'BirthDate'라는 날짜형 컬럼을 추가한다고 가정해봅시다: ALTER TABLE Employees ADD BirthDate DATE; 이 명령은 'Employees' 테이블에 'BirthDate'라는 이름의 날짜형(Date) 컬럼을 새로 추가합니다. 2. 컬럼 속성 변경하기 이미 존재하는 ..

IT/DB 2024.01.25

스프링 부트: 윈도우와 맥에서 한글 파일명 다운로드 문제 해결하기(2)

문제 상황은 이렇습니다. 파일 업로드 기능을 구현했을 때, MacOS에서는 한글 파일명이 정상적으로 데이터베이스에 저장되었지만, Windows에서는 한글 파일명이 자음과 모음이 분리되어 저장되는 현상이 발생했습니다. 이는 운영 체제 간 문자 인코딩 처리 방식의 차이 때문에 발생하는 일반적인 문제였습니다. 처음 시도한 해결책은 다음과 같은 방식이었습니다: try { // 파일 데이터 조회 ResponseFile list = fileService.getFile(attachId, fileId); ... // 파일명 UTF-8 인코딩 후, ISO-8859-1로 재인코딩 String encodedFileName = new String(list.getOriginalName().getBytes(StandardChar..

IT/Java 2024.01.25

Effective Java: 생성자에 많은 매개변수가 필요할 때: 빌더 패턴 고려하기

프로그래밍을 하다 보면, 때때로 매개변수가 많은 객체를 생성해야 하는 상황에 직면합니다. 이럴 때 전통적인 생성자나 정적 팩터리 방법을 사용하면, 코드의 복잡성과 유지 보수의 어려움이 가중됩니다. 특히 매개변수 중 일부가 선택적일 경우, 이 문제는 더욱 심각해집니다. 이러한 문제를 해결하는 방법인 '빌더 패턴(Builder Pattern)'에 대해 소개하려고 합니다. 점층적 생성자 패턴의 한계 점층적 생성자 패턴은 매개변수의 수에 따라 여러 생성자를 오버로딩하는 방식입니다. 예를 들어, 직원의 정보를 관리하는 Employee 클래스가 있다고 가정해 봅시다. 이 클래스에는 이름, 나이, 이메일, 주소 등 다양한 필드가 있을 수 있습니다. 필수 정보는 이름과 나이이고, 나머지는 선택적입니다. 점층적 생성자 ..

IT/Java 2024.01.24

리눅스에서 CPU와 RAM 사양 확인하기

리눅스 사용자라면 시스템 사양을 확인하는 것이 중요합니다. 특히 CPU와 메모리(RAM) 사양을 알아보는 것은 시스템 성능과 관련된 중요한 정보를 제공합니다. 다음은 리눅스에서 CPU와 RAM 사양을 확인할 때 사용할 수 있는 몇 가지 명령어들이다. 1. CPU 정보 확인하기 (lscpu 명령어): lscpu 명령어는 CPU와 관련된 다양한 정보를 출력합니다. 아키텍처, 코어 수, 총 스레드 수, 속도 등을 확인할 수 있습니다. 시스템의 CPU 구성을 파악하는 데 유용합니다. $ lscpu Architecture: x86_64 CPU(s): 4 Thread(s) per core: 2 Core(s) per socket: 2 CPU MHz: 2400.000 2. 메모리 정보 확인하기 (free와 vmstat..

IT/Linux 2024.01.23
반응형