티스토리

검색하기내 프로필

블로그 홈

engineering blog

구독자
3

구독하기 방명록
신고

인기글

  • [Docker] 맥북 m2 홈브루(homebrew)로 도커 설치공감수1댓글수1조회 74
  • [Springboot] 그라파나(grafana) 대시보드 만들기공감수0댓글수0조회 69
  • [Springboot] 스프링부트에서 로그(log) 설정/관리하기 - Logback공감수0댓글수0조회 38

주요 글 목록

  • [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 이상)수동 설정 필요성능높은 동시성에 강함 (비동기 처..

    좋아요2
    댓글1작성시간2025. 4. 22.
    게시글 이미지
  • [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..

    좋아요1
    댓글0작성시간2025. 4. 22.
    게시글 이미지
  • [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. 플러그인을 사용하여 인증을 받..

    좋아요2
    댓글0작성시간2025. 4. 8.
    게시글 이미지
  • 터미널에서 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 데이터를 가독성좋게 볼 수 있음

    좋아요1
    댓글0작성시간2025. 3. 11.
    게시글 이미지
  • [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 이상 권..

    좋아요0
    댓글0작성시간2025. 3. 7.
    게시글 이미지
  • 매개변수 clazz글 내용

    매개변수명을 clazz로 사용하는 것은 Java 코딩 관례에 따른 것으로, 일반적인 약속으로 이해하면 됩니다. 자세히 살펴보면 다음과 같은 이유로 자주 사용됩니다. 1. Class 타입을 명확히 나타내기 위해clazz는 Class 타입 객체를 의미하며, 이 객체는 런타임에 해당 클래스의 메타데이터(예: 필드, 메서드 등)를 제공할 수 있습니다.clazz라는 이름은 Class와 유사하지만 약간의 차별화를 줘서 변수와 타입 이름 간 혼동을 줄이는 역할을 합니다.  2. 업계 표준 및 관례clazz는 특히 Reflection이나 JSON 라이브러리(Java의 Jackson, Gson 등)에서 매우 자주 사용되는 변수명입니다. 대부분의 개발자가 이 변수명을 보고 즉시 해당 변수의 역할과 의도를 이해할 수 있습니..

    좋아요3
    댓글1작성시간2025. 1. 14.
  • [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..

    좋아요0
    댓글0작성시간2025. 1. 10.
    게시글 이미지
  • 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..

    좋아요2
    댓글1작성시간2025. 1. 3.
  • 동기식 코드를 비동기식 코드로 변경하는 이유글 내용

    1. 동기의 장점 1. 코드의 간결성과 가독성동기 코드는 작성 및 읽기가 쉽습니다. 작업이 순차적으로 진행되며, 로직을 따라가기 쉬워 디버깅과 유지보수가 편리합니다.특히, 비동기 코드에서는 flatMap 체인이나 Reactive Streams의 복잡한 흐름을 이해하기 어려울 수 있습니다. 2. 단순한 요청/응답 처리애플리케이션의 트래픽이 크지 않거나 I/O 작업이 많지 않은 경우, 비동기의 이점은 크지 않습니다.단순한 CRUD API 또는 내부 서비스 호출 등에서 동기 방식으로 구현하면 불필요한 복잡성을 줄일 수 있습니다. 3. 비동기의 필요성이 없는 경우CPU 바운드 작업: 작업이 대부분 CPU 연산(예: 이미지 처리, 데이터 암호화 등)인 경우, 비동기 코드로 변경해도 성능 이점이 없습니다. 오히려 ..

    좋아요1
    댓글0작성시간2025. 1. 3.
  • [Springboot] 업데이트 처리 방법글 내용

    방법1: Repository를 통한 업데이트import com.douzone.shinhanaireport.registrationstatement.domain.RegistrationStatement;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.JpaSpecificationExecutor;import org.springframework.data.jpa.repository.Modifying;import org.springframework.data.jpa.repository.Query;import org.springframework.data.repository.qu..

    좋아요1
    댓글1작성시간2024. 11. 29.
  • 오늘의 일상글 내용

    오늘은 겨울왕국

    좋아요0
    댓글0작성시간2024. 11. 27.
    게시글 이미지
  • 오늘의 일상글 내용

    오늘은 기본적인 crud 된 듯……????3차 점검 중….1, 2차 묶어서 검토 중이라 세부 사항만 보는중그냥 지금 기획서 11p를 벗어나지 못하지만 원래 처음 앞쪽만 힘들더라…ㅎ 하고 파이팅……!!자란다 ~~~~~~!

    좋아요0
    댓글1작성시간2024. 11. 26.
  • 오늘의 일상글 내용

    월요일은 힘들다에러 해결 때문에 하루종일 그것만 잡고 있었다52없는 에러여서 해결 후에 너무 허무했다 ㅣ

    좋아요1
    댓글0작성시간2024. 11. 25.
  • 오늘 하루글 내용

    오늘은 연극 은밀한연애를 봤당대룡산장에도 갔다클스마스 낭낭

    좋아요1
    댓글1작성시간2024. 11. 24.
    게시글 이미지
  • 오늘의 일상글 내용

    오늘은 위키드를 봤다재미따

    좋아요0
    댓글1작성시간2024. 11. 23.
  • [Error] handleException org.springframework.core.codec.DecodingException: JSON decoding error: Cannot deserialize value of type글 내용

    [2024-11-22 15:47:36:218069] ERROR 69254 --- [nio-8080-exec-4] [0:0:0:0:0:0:0:1] c.d.s.c.e.GlobalExceptionHandler : handleException org.springframework.core.codec.DecodingException: JSON decoding error: Cannot deserialize value of type java.util.ArrayList from String value (token JsonToken.VALUE_STRING) at org.springframework.http.codec.json.AbstractJackson2Decoder.processException(AbstractJacks..

    좋아요0
    댓글0작성시간2024. 11. 22.
  • [AWS] Certified Cloud Practitioner(CCP) 준비: 시험 신청글 내용

    1. AWS Certified Cloud Practitioner 자격증 신청 사이트 접속https://aws.amazon.com/ko/certification/certified-cloud-practitioner/ AWS Certified Cloud Practitioner 자격증 | AWS 자격증 | AWS이 자격증을 취득하면 AWS 클라우드, 서비스 및 용어에 대한 높은 수준의 이해가 입증됩니다. 이 자격증은 IT 배경이 아닌 사람이 클라우드로 전환하는 후보자가 클라우드 경력을 쌓을 수 있는 입aws.amazon.com 2. 시험 일정 예약 클릭 3. 로그인  로그인을 하면 대시보드가 나온다. 오른쪽에서 한국어를 선택해서 한국어로 변경하기 4. 왼쪽 사이드바에서  시험등록 -시험 예약 클릭  스크롤을 내..

    좋아요1
    댓글0작성시간2024. 11. 21.
  • [티스토리 챌린지]글 내용

    티스토리 챌린지

    좋아요0
    댓글0작성시간2024. 11. 20.
  • [Error] could not execute statement [(conn=6358) Data too long for column글 내용

    could not execute statement [(conn=6358) Data too long for column 'content_dc' at row 1] [insert into bondreport_d (com_st,content_dc,index_dc,index_nm,insert_dt,insert_id,insert_ip,modify_dt,modify_id,modify_ip,order_nb,create_dt,index_nb,origin_fg) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into bondreport_d (com_st,content_dc,index_dc,index_nm,insert_dt,insert_id,insert_ip,modify_dt,m..

    좋아요1
    댓글1작성시간2024. 11. 19.
  • [AWS] Cloud Practitioner Essentials글 내용

    AWS의 이점 요약클라우드 컴퓨팅: IT 리소스를 인터넷을 통해 온디맨드로 제공하며 사용한 만큼만 비용 지불온디맨드 제공: AWS가 사용자에게 필요한 리소스를 필요한 순간에 전달할 수 있는 것(미리 리소스가 필요하다고 알릴 필요 없고 바로 사용 가능) 온디맨드식 제공과 클라우드 배포의 차이점클라우드 기반 배포애플리케이션의 모든 부분을 클라우드에서 실행기존 애플리케이션을 클라우드로 마이그레이션클라우드에서 새 애플리케이션을 설계 및 빌드 클라우드 기반 배포 모델에서는 기존 애플리케이션을 클라우드로 마이그레이션하거나 클라우드에서 새 애플리케이션을 설계 및 빌드할 수 있음이러한 애플리케이션은 IT 팀의 관리가 필요한 하위 수준 인프라에 빌드할 수도 있고 핵심 인프라의 관리, 아키텍처 설계, 확장 필요를 줄여주는..

    좋아요0
    댓글0작성시간2024. 11. 18.
문의안내
  • 티스토리
  • 로그인
  • 고객센터
© Kakao Corp.