전체 글 썸네일형 리스트형 [Redis] 레디스 클라이언트 Lettuce vs Jedis Spring Boot에서 Redis를 사용할 때 대표적인 두 가지 Redis 클라이언트는 Lettuce와 Jedis입니다.Lettuce는 비동기와 고성능에 적합하고, 스프링 공식 지원 기본 클라이언트입니다.Jedis는 구조가 간단하고 직관적이지만, 스레드 세이프하지 않아 멀티스레드 환경에서는 주의가 필요합니다. 1. Lettuce vs Jedis 요약 비교항목LettuceJedis기반 네트워크 모델비동기, 넌블로킹 (Netty 기반)동기, 블로킹 (자바 Socket 기반)스레드 안전성스레드 세이프 (싱글 인스턴스 공유 가능)스레드 세이프 아님 (스레드마다 Jedis 인스턴스 필요)Spring Boot 기본 클라이언트기본 (Spring Boot 2.0 이상)수동 설정 필요성능높은 동시성에 강함 (비동기 처.. 더보기 [Locust] 설치 및 성능 테스트 해보기 1. Python 설치 확인Locust는 Python 기반이므로 Python이 설치되어 있어야 합니다.터미널에서 아래 명령어로 확인python3 --version 버전이 안 뜨면 Homebrew로 설치하세요brew install python 2. 가상환경 설정 (선택사항)원하는 디렉토리에서 가상환경을 만들어 깔끔하게 관리할 수 있어요python3 -m venv venv source venv/bin/activate 3. Locust 설치터미널에서 아래 명령어 입력pip install locust 설치가 완료되면 아래 명령어로 정상 설치 확인locust --version 4. 테스트 실행 예시from locust import HttpUser, task, betweenimport randomcla.. 더보기 [Docker] 도커 클라이언트 인증 활성화 1. 정책 정의 만들기mkdir -p /etc/docker/policiesnano /etc/docker/policies/authz.rego authz.rego 내용package docker.authzdefault allow = false# GET, HEAD 요청은 허용 (읽기 전용)allow { input.RequestMethod == "GET"}allow { input.RequestMethod == "HEAD"} 2. opa-docker-authz 인증 플러그인 설치docker plugin install openpolicyagent/opa-docker-authz-v2:0.4 opa-args="-policy-file /opa/policies/authz.rego" 3. 플러그인을 사용하여 인증을 받.. 더보기 터미널에서 json JSON 데이터를 예쁘게 보기(Pretty Print) json 응답이 정리되지 않은채로 보여지는 경우가 있음 1. jq 설치하기Linux 또는 Mac에서 jq 라는 도구를 사용하면 JSON 데이터를 자동으로 포맷해줌(MacOS 일부 버전에서는 기본 설치되어있음)# Ubuntu/Debiansudo apt install jq# Mac (Homebrew 사용)brew install jq 2. jq 사용하기curl https://jsonplaceholder.org/posts/1 | jqjson 데이터를 가독성좋게 볼 수 있음 더보기 [Git] GitLab 서버 만들기 내부망(온프레미스)에서 Git을 운영하려면 Git 서버를 직접 구축해야 하며, 다음과 같은 Git 관리 도구를 사용할 수 있음 1. GitLab기업에서 가장 많이 사용하는 자체 호스팅 가능한 Git 플랫폼A. 주요 기능Git 저장소 관리 및 CI/CD(지속적 통합 및 배포) 지원권한 관리 및 그룹 관리 가능웹 기반의 UI 제공 (GitHub과 유사)Jira 및 Jenkins 등 다양한 외부 툴과 연동 가능Open Source(커뮤니티 에디션, CE)와 상용 버전(Enterprise Edition, EE) 제공B. 장점강력한 CI/CD 파이프라인 지원대규모 조직에 적합한 권한 관리 및 통합 보안 기능 제공웹 기반 GUI가 직관적이며 GitHub과 유사C. 단점시스템 요구사항이 높음 (메모리 4GB 이상 권.. 더보기 매개변수 clazz 매개변수명을 clazz로 사용하는 것은 Java 코딩 관례에 따른 것으로, 일반적인 약속으로 이해하면 됩니다. 자세히 살펴보면 다음과 같은 이유로 자주 사용됩니다. 1. Class 타입을 명확히 나타내기 위해clazz는 Class 타입 객체를 의미하며, 이 객체는 런타임에 해당 클래스의 메타데이터(예: 필드, 메서드 등)를 제공할 수 있습니다.clazz라는 이름은 Class와 유사하지만 약간의 차별화를 줘서 변수와 타입 이름 간 혼동을 줄이는 역할을 합니다. 2. 업계 표준 및 관례clazz는 특히 Reflection이나 JSON 라이브러리(Java의 Jackson, Gson 등)에서 매우 자주 사용되는 변수명입니다. 대부분의 개발자가 이 변수명을 보고 즉시 해당 변수의 역할과 의도를 이해할 수 있습니.. 더보기 [Error] 악성 코드가 차단됨‘com.docker.socket’에 악성 코드가 포함되어 있어서 열리지 않았습니다. 이 동작은 Mac을 손상시키지 않았습니다. 악성 코드가 차단됨‘com.docker.socket’에 악성 코드가 포함되어 있어서 열리지 않았습니다. 이 동작은 Mac을 손상시키지 않았습니다. 오피셜에서 제공하는 원인과 해결 방법 확인 https://github.com/docker/for-mac/issues/7527 Malware detection prevents Docker Desktop to start · Issue #7527 · docker/for-macDescription Some versions of Docker Desktop might fail to start or function with the following error message: Malware Blocked. “com.docker.vmnetd” was not opened.. 더보기 I/O 바운드 I/O 바운드(I/O Bound)는 애플리케이션 성능이 입출력(Input/Output, I/O) 작업의 속도에 의해 제한되는 상태를 말합니다. I/O 작업은 보통 외부 리소스(디스크, 네트워크, 데이터베이스 등)와의 통신을 포함하며, CPU가 아닌 다른 리소스를 대기하는 데 시간이 걸립니다. 1. I/O 작업의 예I/O 작업은 다음과 같은 작업들을 포함합니다:네트워크 요청: 다른 서버와의 통신 (HTTP 요청, WebSocket 등)파일 읽기/쓰기: 디스크에서 파일을 읽거나 쓰는 작업데이터베이스 접근: SQL 쿼리를 실행하거나 데이터를 가져오는 작업외부 API 호출: 외부 서비스와 통신 (REST API, GraphQL 등) 2. I/O 바운드와 CPU 바운드 비교특징I/O 바운드CPU 바운드제한 요인I.. 더보기 이전 1 2 3 4 ··· 82 다음