[React] Side Effects / useEffect 훅 / useCallback 훅
·
Programming/React
이 글은 Udemy의 【한글자막】 React 완벽 가이드 2025 with React Router & Redux 를 수강하고 정리한 내용입니다.https://github.com/An0401na/React_Study/tree/main/11-Side-Effects-useEffec React_Study/11-Side-Effects-useEffect at main · An0401na/React_StudyContribute to An0401na/React_Study development by creating an account on GitHub.github.com   🎈 Side Effect(부수 효과)란?Side Effect(부수 효과)란 컴포넌트가 렌더링되는 과정과는 직접적인 관련이 없지만, 애플리케이션이 ..
[React] Prop Drilling / Context API / Provider Pattern / userReducer
·
Programming/React
이 글은 Udemy의 【한글자막】 React 완벽 가이드 2025 with React Router & Redux 를 수강하고 정리한 내용입니다.https://github.com/An0401na/React_Study/tree/main/10-Advanced-State-Managemen-with-Context-useReducer React_Study/10-Advanced-State-Managemen-with-Context-useReducer at main · An0401na/React_StudyContribute to An0401na/React_Study development by creating an account on GitHub.github.com 🎈Prop DrillingReact에서 상태나 함수를..
IntelliJ에서 React prettier 설정
·
Programming/React
BackEnd 공부를 하다가 최근 React 공부를 시작하게 되어 IntelliJ에서 React 환경을 구축하였다.코딩하는 과정에서 저장시 코드 정렬이 되지 않아 Prettier 플러그인 재설치 하였으나 그래도 안되더라 …아래 명령어를 사용해 해당 프로젝트에 프리티어를 설치한다.npm i --save-dev prettier그 다음 File > Setting > Languages & Frameworks > JavaScript > Prettier 들어간다. Automatic Prettier configuration 체크 후 Run on Save 까지 체크하고 적용하면 저장 시에 코드가 자동 정렬된다!만약 이렇게 해도 적용이 안된다면 Manual Prettier configuration을 선택하여 Pretti..
[React] React 완벽 가이드 - React로 프로젝트 관리 앱 만들기 | 개발 회고
·
Programming/React
📋 Project ManageReact 기반 프로젝트 관리 애플리케이션 🚀💡 프로젝트 개요이 프로젝트는 Udemy의 【한글자막】 React 완벽 가이드 2025 with React Router & Redux 강의 일부의 연습 프로젝트 입니다.📌 프로젝트 소개이 프로젝트는 사용자가 여러 프로젝트를 생성하고, 각 프로젝트에 대한 작업(Task)을 추가하고 관리할 수 있는 프로젝트 관리 애플리케이션입니다. 각 프로젝트에는 제목, 설명, 마감일을 설정할 수 있고, 작업(Task)을 추가하여 관리할 수 있습니다. 또한, 사이드바를 통해 프로젝트를 선택하고 선택한 프로젝트의 세부 정보 확인, 작업 입력 및 관리, 중복 방지, 모달 경고 등의 기능이 포함되어 있습니다. 프로젝트가 선택되지 않았을 때는 적절한 ..
[Spring] 빈 스코프
·
Programming/Spring
이 글은 인프런에서 김영한 님의 "스프링 핵심원리 - 기본편"을 수강 후 공부한 내용을 정리한 게시글입니다. 부족한 부분이 있다면 언제든 지적 부탁드립니다.✏️ 빈 스코프란?스코프는 빈이 존재할 수 있는 범위를 의미한다.싱글톤: 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프이다.프로토타입: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다.웹 관련 스코프request: 웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다.session: 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프이다.application: 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프이다컴포넌트 스캔 자동 등록@Scope(..
[Spring] 빈 생명주기 콜백
·
Programming/Spring
이 글은 인프런에서 김영한 님의 "스프링 핵심원리 - 기본편"을 수강 후 공부한 내용을 정리한 게시글입니다. 부족한 부분이 있다면 언제든 지적 부탁드립니다.✏️ 빈 생명 주기 콜백스프링 어플리케이션 시작 시점에 필요한 연결을 미리 해두고 어플리케이션 종료 시점에 연결을 모두 종료하는 객체 초기화 작업과 종료 작업이 필요하다.package hello.core.lifecycle;public class NetworkClient { private String url; public NetworkClient() { System.out.println("생성자 호출, url = " + url); connect(); call("초기화 연결 메시지"); } pub..
[Spring] 의존관계 자동 주입2
·
Programming/Spring
이 글은 인프런에서 김영한 님의 "스프링 핵심원리 - 기본편"을 수강 후 공부한 내용을 정리한 게시글입니다. 부족한 부분이 있다면 언제든 지적 부탁드립니다.다양한 의존 관계 주입 방법에 대해서는 “이전 게시물”을 확인해주세요.이전 게시물 - 의존관계 자동주입 1✏️ 자동 주입 대상을 옵션으로 처리주입할 스프링 빈이 없어도 동작해야 할 때가 있다.그런데 @Autowired 만 사용하면 required 옵션의 기본값이 true 로 되어 있어서 자동 주입 대상이 없으면 오류가 발생한다. 이를 해결하기 위해서는 아래와 같이 3가지 방법을 가지고 옵션처리하여 해결할 수 있다.아래 예시에서 Member 는 스프링 빈이 아니다.@Autowired(required=false) : 자동 주입할 대상이 없으면 수정자 메서..
[Spring] 컴포넌트 스캔 & 의존관계 자동 주입
·
Programming/Spring
이 글은 인프런에서 김영한 님의 "스프링 핵심원리 - 기본편"을 수강 후 공부한 내용을 정리한 게시글입니다. 부족한 부분이 있다면 언제든 지적 부탁드립니다.✏️ 자동으로 스프링 빈을 등록해 → 컴포넌트 스캔(@ComponentScan, @Component)컴포넌트 스캔이란 ?지금까지의 과정에서 자바 코드의 @Bean 이나 XML의  를 통해서 직접 스프링 빈을 등록상당히 귀찮고 누락할 수 있는 가능성이 높다는 문제점을 지닌다.이를 해결하기 위해 컴포넌트 스캔이라는 기능을 통해서 스프링 빈을 자동으로 등록할 수 있다.컴포넌트 스캔 사용하기컴포넌트 스캔을 사용하려면 먼저 @ComponentScan 을 설정 클래스에 붙여준다.기존의 AppConfig와는 다르게 @Bean으로 등록한 클래스가 하나도 없다!Aut..
[Spring] 싱글톤 컨테이너
·
Programming/Spring
이 글은 인프런에서 김영한 님의 "스프링 핵심원리 - 기본편"을 수강 후 공부한 내용을 정리한 게시글입니다. 부족한 부분이 있다면 언제든 지적 부탁드립니다.✏️ 싱글톤 패턴을 사용하는 이유스프링 없는 순수한 DI 컨테이너를 가진 어플리케이션을 사용자에게 배포 했다고 생각해보자.그 어플리케이션이 대박이 나서 동시 접속자수가 만명이 넘는다.그러면 만명 사용자가 동시다발적으로 서버에 요청을 보내게 된다.이 어플리케이션에서의AppConfig 는 아래와 같다package hello.core;import hello.core.discount.DiscountPolicy;import hello.core.discount.RateDiscountPolicy;import hello.core.member.MemberReposit..
[Spring] 스프링 컨테이너와 스프링 빈
·
Programming/Spring
이 글은 인프런에서 김영한 님의 "스프링 핵심원리 - 기본편"을 수강 후 공부한 내용을 정리한 게시글입니다. 부족한 부분이 있다면 언제든 지적 부탁드립니다.✏️ 스프링 컨테이너AppConfigpackage hello.core;import hello.core.discount.DiscountPolicy;import hello.core.discount.RateDiscountPolicy;import hello.core.member.MemberRepository;import hello.core.member.MemberService;import hello.core.member.MemberServiceImpl;import hello.core.member.MemoryMemberRepository;import hello..
[Spring] 스프링의 핵심 원리 이해2 - 객체 지향 원리 적용
·
Programming/Spring
이 글은 인프런에서 김영한 님의 "스프링 핵심원리 - 기본편"을 수강 후 공부한 내용을 정리한 게시글입니다. 부족한 부분이 있다면 언제든 지적 부탁드립니다.✏️ 비즈니스 설계 Remind  ✏️ DIP, OCP 위반 상황 설명 지난 시간에는 정액 할인 정책만 구현하여 의존해두었는데 요구 사항이 정률 할인 정책으로 변경되었다.변경에 따라 RateDiscountPolicy를 구현하고 할인 정책을 변경하려면 클라이언트인 OrderServiceImpl코드를 고쳐야 한다.public class OrderServiceImpl implements OrderService { // private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); priva..
[백준 Java] 1407번 2로 몇 번 나누어질까
·
Algorithm/PS - 백준
💡문제[Gold IV] 2로 몇 번 나누어질까 - 1407문제 링크성능 요약메모리: 11552 KB, 시간: 76 ms🌟풀이범위가 무려 1≤A≤B≤1015 로 엄청나다.그래서 A ~ B 까지 순회하면서 더할 수는 없다.1 ~ n까지 소수 x의 배수의 개수를 구하는 방식을 이용하였다.💡 1 ~ n까지 수들은 소수 x로 몇번 나누어 떨어질까 ?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20-1-2-1-3-1-2-1-4-1-21부터 20까지 순회하며 각 수를 소인수분해 했을때 2가 몇 번씩 들어가는지 적어보았다.이를 2가 들어간 횟수만큼 동그라미로 표현하게 되면 아래 사진과 같이 표시되며 오른쪽과 같은 의미를 가질 수 있다.위를 참고하여| 1 | 2 | 3 | ..
[Docker] permission denied while trying to connect to the Docker daemon socket at unix 에러 해결
·
DevOps/Docker
Docker를 컨테이너에서 실행하거나, 호스트의 Docker 소켓(/var/run/docker.sock)을 컨테이너에 마운트하여 사용하는 경우, 예상치 못한 권한 문제로 인해 Docker 명령이 작동하지 않을 때가 있습니다. 이 글에서는 Docker 소켓 접근 권한 문제를 해결하는 방법을 단계별로 안내합니다.1. 증상[runner@ae8762224dd7 /]$ docker pspermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json": dial unix /var/run/do..
[참고] centos 버전을 7이 아닌 8을 사용하는 이유 : /actions-runner/externals/node20/bin/node: /lib64/libm.so.6: version GLIBC_2.27' not found (required by /actions-runner/externals/node20/bin/node)
·
DevOps
Self-hosted runner 를 구축하기 위해서 Centos7을 컨테이너로 띄웠고 ci/cd 파이프라인을 도는 과정에서 오류가 발생하였다.🎃 발생 오류 Run actions/checkout@v2 with: repository: token: *** ssh-strict: true persist-credentials: true clean: true fetch-depth: 1 lfs: false submodules: false set-safe-directory: true /actions-runner/externals/node20/bin/node: /lib64/libm.so.6: version GLIBC_2.27' n..
[Centos] Failed to download metadata for repo 'appstream' 에러 해결
·
DevOps/Linux
🎃 발생 에러[root@e12ebc3453d8 /]# yum updateFailed to set locale, defaulting to C.UTF-8CentOS Linux 8 - AppStream 0.0 B/s | 0 B 00:00Errors during downloading metadata for repository 'appstream': - Curl error (6): Couldn't resolve host name for [Could not resolve host: mirrorlist.centos.org]Error: Failed to download metad..