전체 글

개발 공부를 꾸준히 하기 위한 블로그
· React
React 컴포넌트 생명주기 React 컴포넌트의 생명주기는 컴포넌트가 생성될 때부터 페이지에서 제거될 때까지의 과정을 말합니다. 이 과정에서 여러 생명주기 메서드가 호출되며, 개발자는 이 메서드들을 오버라이딩하여 특정 시점에 원하는 코드를 실행시킬 수 있습니다. 각 단계에서 호출되는 주요 메서드들을 아래 표에서 확인할 수 있습니다. 생명주기 단계 메서드 설명 마운팅 constructor() 컴포넌트를 새로 생성할 때마다 호출됩니다. 초기 상태 설정 및 메서드 바인딩에 사용됩니다. static getDerivedStateFromProps() 컴포넌트가 생성될 때와 업데이트될 때 props로부터 상태를 동기화하는 데 사용됩니다. render() 컴포넌트 UI를 렌더링하는 메서드입니다. componentDi..
· React
Error Boundary React의 Error Boundary는 React 컴포넌트 트리 내에서 자식 컴포넌트의 JavaScript 에러를 잡아내고 처리하는 방법을 제공합니다. 컴포넌트 트리의 특정 부분이 예외적인 상황에서도 애플리케이션 나머지 부분의 정상적인 동작을 보장하기 위해 도입되었습니다. 생명주기 메서드(lifecycle methods) 또는 Hook을 통해 구현됩니다: static getDerivedStateFromError(error): 에러가 발생했을 때 호출되며, 이를 이용해 컴포넌트의 상태를 업데이트 할 수 있습니다. 주로 UI를 에러 상태로 전환하는 데 사용됩니다. componentDidCatch(error, info): 에러가 발생한 후에 호출되며, 에러에 대한 추가 로깅이나 오..
· React
Hook Flow - useEffect useEffect 훅의 의존성 배열(Dependency Array)은 React 컴포넌트가 렌더링될 때 Side Effects을 언제 실행할지 결정하는 데 사용됩니다. useEffect는 주로 데이터 fetching, DOM 업데이트, 구독 설정 등의 작업을 수행하기 위해 사용되며, 의존성 배열을 통해 이러한 작업의 실행 조건을 정밀하게 제어할 수 있습니다. 동작 방식 useEffect => render 가 끝난 뒤 update시 => useEffect clean up / useEffect dependency가 있을 경우 => dependency가 변경될 때만 실행 클린업은 부모의 클린업이 먼저 실행된다. useeffect-클린업은 useeffect 이전에 실행된다..
· React
많이 쓰는 용어 Vanilla JS 순수 자바스크립트를 의미함 특정 라이브러리나 프레임워크를 사용하지 않은 그 자체의 자바스크립트 JSX 문자도 HTML도 아닌 JavaScript의 확장 문법 const element = Hello, world!; Babeljs.io JavaScript Complier 컴파일러: 언어 해석기, 특정 언어를 다른 프로그래밍 언어로 옮기는 프로그램 스프레드 연산자 const customH1 = {props.text}; // 스프레드 연산자 // const customH1 = {props.text}; ReactDOM.render(customH1, rootElement); re-render 바닐라 JS => 변경으로 인해 Element를 다시 그림 React => Virtual..
Anoconda 환경 파이썬 버전 변경하기 안녕하세요! 오늘은 Anaconda 환경에서 파이썬버전을 변경하는 방법 소개하겠습니다. 썸내일은 AI에게 귀여운 고양이를 뽑고자하는 의지에서 나오는 친구들입니다. 아나콘다 (Anaconda)란? by ChatGPT 간단하게 GPT를 이용한 설명을 가져와 볼깨요 아나콘다(Anaconda)는 데이터 과학 및 기계 학습 프로젝트를 위한 오픈 소스 배포판 및 패키지 관리자입니다. 아나콘다는 파이썬을 기반으로 하는 다양한 패키지와 도구들을 번들로 제공하여 데이터 과학자, 엔지니어, 연구원 등이 효율적으로 작업할 수 있도록 지원합니다. 아나콘다의 주요 특징은 다음과 같습니다: 패키지 관리자 (Conda): 아나콘다에는 Conda라는 강력한 패키지 관리자가 내장되어 있습니다..
https://www.acmicpc.net/problem/1110 더하기 사이클 문제 요약 더하기 사이클 n이 주어졌을떄 해당 문제의 규칙에 따라서 무한 반복하여 최종 값을 찾으면 된다. 문제 풀이 def Q_1110() value = gets.to_i count = 0 num = value while true n1 = num%10 n10 = num/10 sum = (n1+ n10)%10 num = (n1 * 10) + sum count += 1 if num == value; break end end puts count end Q_1110()
https://www.acmicpc.net/problem/10952 A+B - 5 문제 요약 간단한 A+B 문제문제 풀이 def Q_10952() while true value = gets.chomp.split(" ") num1 = value[0].to_i num2 = value[1].to_i if num1 == 0 and num2 == 0 break end puts num1 + num2 end end Q_10952() https://www.acmicpc.net/problem/10951 A+B - 4 문제 요약 간단한 A+B 문제문제 풀이 def Q_10951() while true begin value = gets.chomp.split(" ") puts value[0].to_i + value[1].to..
https://www.acmicpc.net/problem/10871 X보다 작은 수 문제 요약 X보다 작은 수 입력된 긴 문자열에서 두번째 입력된 숫자값 보다 작은 것을 출력한다.문제 풀이 def Q_10871() count = gets.chomp value = gets.chomp.split(" ") number = count.split(" ") (0..number[0].to_i-1).each do|i| if value[i].to_i < number[1].to_i print "#{value[i].to_i} " end end end Q_10871()
작심삼일 금지령
작심삼일 금지령