본문 바로가기

전체 글

(55)
[SpringBoot]비동기 Async는 프록시 기반 동작 👉 에러 비동기(@Async) 실행을 위한 TaskExecutor를 찾지 못하는 문제 NFO 13248 --- .s.a.AnnotationAsyncExecutionInterceptor : More than one TaskExecutor bean found within the context, and none is named 'taskExecutor'.   Mark one of them as primary or name it 'taskExecutor' (possibly as an alias) in order to use it for async processing: [clientInboundChannelExecutor, clientOutboundChannelExecutor, brokerChannelExecu..
쿠버네티스 환경 설정 쿠버네티스는 컨테이너화된 애플리케이션을 자동화하고 관리하기 위한 오픈소스 플랫폼쿠버네티스는 여러 대의 컴퓨터 노드(서버)를 클러스터로 구성하여, 컨테이너 기반의 애플리케이션을 관리합니다. 각 노드는 여러 개의 컨테이너를 실행할 수 있고, 쿠버네티스는 이러한 컨테이너들을 관리하며 자원 할당, 자동 복구, 확장과 축소 등을 자동화합니다. 쿠버네티스의 핵심 개념은 파드(Pod), 노드(Node), 서비스(Service)- 파드는 하나 이상의 컨테이너를 그룹화- 노드는 쿠버네티스 클러스터를 구성하는 서버- 서비스는 파드의 집합에 접근할 수 있는 방법을 정의하고 관리 https://kubernetes.io/ko/docs/reference/setup-tools/kubeadm/ # 쉽게 접근하는 방법은 EKS(AWS..
[Chocolatey] An existing Chocolatey installation was detected. 👉 에러경고: An existing Chocolatey installation was detected. Installation will not continue. This script will not overwrite existing installations. If there is no Chocolatey installation at 'C:\ProgramData\chocolatey', delete the folder and attempt the installation again. 👉 원인관리자 권한으로 실행해서 설치했는데도 위와 같이 오류가 뜬다면 이미 설치된 적이 있어 폴더를 삭제 후에 재설치 해보라고는 것이다. 해당 폴더 주소를 검색해서 찾아보면 폴더만 생성되고 내부에 비어 있는 상태일 것이다폴더 ..
컴퓨터의 세계는 넓구나.. 제목 보고 혼자 결이 달라서 놀라셨죠!제가 이제 졸업 할 때가 되었습니다.천천히 취준을 준비하고 있는데 채용공고를 보면서 IT업종과 부서가 많구나 생각이 들었습니다. 같은 부서명인데 직무명세서 내용이 다르고, 신입이지만 경력 채용 내용이  워낙 많아서 직무명세서도 참고하는데요. 담당업무가 백엔드 외에도 많다는 걸 글로 보니깐 확실히 느껴서 나중에 취업 후 원활한 협업을 위해 전공지식을 넓게 쌓아보자라는 생각에  책 읽기를 시작합니다. 천천히 읽으면서 정리하고, 그동안 깊게 찾아보고 싶었는데 시험과 과제에 밀리던 부분도 함께 해보려고 합니다~! 그림으로 공부하는 IT 인프라채용 공고에 많이 보이는 단어 인프라 부서에 대한 이해도를 높일 수 있을까 싶어 읽어보았습니다. 업무에서 바로 쓰는 SQL 튜닝백엔드 ..
K6 성능 테스트 0. 원도우에서 K6 설치하기 https://dl.k6.io/msi/ k6 Packages dl.k6.io 공식 사이트에서 k6-latest-amd64.msi 파일을 다운로드 받아서 설치를 진행합니다. 1. k6 테스트 스트립트 작성 및 실행 import http from "k6/http"; // vus는 가상 유저를 설정하는 항목 // duration은 몇 초동안 테스트를 진행할지 선택하는 옵션 export const options = { // 100명이 10초 동안 요청 로직 작성 vus: 100, duration: "10s" }; export default function(){ // 테스트에 사용할 요청 메서드,주소 http.get("http://localhost:3002"); } k6 run 파일..
카프카를 활용한 메세지 큐 0. 카프카와 주키퍼의 관계주키퍼 서버를 두고 하위에 명령을 받는 카프카 노드를 여러개 받는 형식입니다.->주키퍼는 하둡에서 나온 용어입니다. 하나의 컨테이너 내부에서 주키퍼, 카프카 최소 2개 이상의 컨테이너를 실행하기 위해  도커 컴포즈로 여러개의 컨테이너를 하나의 서비스로 정의하여 처리할 필요가 있습니다. 1. 도커 컴포즈(docker-compose.yml) 생성version: '3' # docker-compose 버전 지정services: # docker-compose의 경우 docker 컨테이너로 수행될 서비스들은 services 하위에 기술 zookeeper: # 서비스 이름. service 하위에 작성하면 해당 이름으로 동작 image: wurstmeister/zookee..
05. 노드와 비동기 처리 1. 스레드 작업을 처리학 위해 자원을 사용하는 단위를 가리킵니다. 하나의 작업이 실행되는 최소 단위 자바스크립트에서는 이런 스레드가 하나밖에 없어서 한 번에 하나의 작업만 처리할 수 있습니다. 반면에 자바를 비롯한 대부분의 백엔드 프로그래밍 언어는 멀티 스래드 언어입니다. 스레드를 여러 개 가지고 있어서 동시에 여러 작업을 실행할 수 있습니다. 2. 블록킹I/O 과 논블록킹I/O 2.1 블록킹I/O 여기서 I/O는 Input과 Output을 나타내며 자료를 주고박은다는 의미를 가집니다. 블로킹이란 코드 실행을 중간에 막는 것으로 코드 실행이 멈춘다는 뜻입니다. 파일을 읽는 데 5초가 걸린다면 5초 동안 프로그램을 멈추고 사용자는 필요한 정보를확인할 수 없는 상태가 되는 동기 함수를 사용한다고 가정하면 ..
[SpringBoot] failed to lazily initialize a collection of role: could not initialize proxy - no Session 👉에러 상황 먼저 에러는 Post 목록 조회할 때 발생했습니다. Post와 Like는 1:N 양방향 연간관계를 맺고 있습니다. - Post 엔티티 구성 package com.duktown.domain.post.entity; import com.duktown.domain.BaseTimeEntity; import com.duktown.domain.comment.entity.Comment; import com.duktown.domain.like.entity.Like; import com.duktown.domain.user.entity.User; import com.duktown.global.type.Category; import lombok.AllArgsConstructor; import lombok.Buil..