[Tech] AI가 해주는 코드리뷰 - CodeRabbit
·
ETC/ETC
Introduce최근에는 1인 프로젝트를 많이 진행하고 있다. 혼자 개발을 하다 보니 코드에서 놓치는 부분이 많다는 것을 실감하게 되었다.여러 사람과 함께 프로젝트를 진행할 경우, 코드리뷰를 통해 서로의 코드를 교차 검증하고, 클린코드나 컨벤션 같은 사소한 수정은 물론 소프트웨어 결함을 일으킬 수 있는 로직까지 찾아내고 보완할 수 있다.하지만 1인 개발 환경에서는 이러한 코드리뷰 과정을 거치기 어렵고, 여러 명이 함께 리뷰를 하더라도 시간이 많이 들고 리뷰의 정확도도 떨어질 수 있다.이러한 한계를 보완하고자, AI가 자동으로 코드리뷰를 수행하는 솔루션인 CodeRabbit 을 직접 경험해보고자 한다. 특징AI 기반 자동 코드리뷰PR(Pull Request) 생성 시, AI가 자동으로 코드 변경 사항을 분..
[Tech] 순수 프로그래밍 시간 측정(wakatime)
·
ETC/ETC
Introduce 최근 프로그래밍 공부를 하면서 부쩍 이전보다 집중력이 떨어졌음을 느꼈다. 그래서 아이폰의 스크린 타임처럼 수치적으로 내가 얼마나 집중하고 있는지 보여 줄 수 있으면 어느정도 목표치를 갖고 집중할 수 있겠다고 느꼈다. 그래서 알아보던 중 순수 프로그래밍 시간을 측정하는 wakatime 에 대해 알게 되었다. wakatime은 개발자의 코딩 시간을 자동으로 기록하고 시각화해주는 시간 추적 도구 이다. 동작 방식은 실제로 키보드 입력이나 마우스 활동이 있는 시간만을 기록 한다. 지정한 시간만큼 동작이 없으면 세션 종료로 간주하고 다시 동작이 발생하면 새로운 세션이 시작된다. 설치 방법은 매우 간단하며, 개발자들이 주로 사용하는 다양한 통합개발환경에서 지원한다. 추적된 시간은 Dashboard..
[Inflearn] 비전공자도 이해할 수 있는 Nginx 입문/실전
·
Back-End
inflearn: https://www.inflearn.com/course/비전공자도-이해-nginx-입문-실전/dashboard수업 자료: https://jscode.notion.site/16011062ff0780aa87a3e879cb3ef482Preview내가 Nginx 를 처음으로 접한 경험은 Docker Private Image Registry 를 구성하는 과정에서 HTTPS 인증서 적용을 위해 Nginx를 잠깐 경험해봤다.실무에서는 주로 아파치(Apache) 를 웹서버로 사용해서 사용할 기회가 없었는데 예제를 통해 잠깐 경험해보니 충분히 공부할 가치가 높다고 생각했다. 백엔드 개발자 입장에서 웹서버 + 리버스 프록시 + 로드밸런서 기능까지 3 in 1 으로 쓸 수 있으니 충분히 가치가 있다고 느..
[Inflearn] 비전공자도 이해할 수 있는 DB 설계 입문/실전
·
Back-End
inflearn : https://www.inflearn.com/course/비전공자-db-설계-입문/dashboard수업 자료: https://jscode.notion.site/d551b000ffac42879d8630cd7edd618fPreview회사에서 무작정 DB 설계를 시작했고 학부시절 그리고 자격증 취득 과정에서 배웠던 개념은 머릿속에서 떠난지 오래다. 이미 어느정도 정규화 하는 절차에 대해서 알고 있었지만 개념적인 부분을 공부해서 조금 다듬을 필요가 있었다. 강의시간이 너무 길지도 않고 단순 이론에 치중하지도 않고 실무 위주의 강의를 찾던 중 해당 강의를 찾게 되어 학습하게 되었다.Introduce공부는 어렵게 해야 한다.코딩 공부를 할 때 단순 듣기와 단순 코드 따라치기가 가장 비효율적인 공..
[Docker] Docker Private Image Registry
·
System/Server
개요도커 이미지를 저장하는 대표적인 저장소로 도커 허브(https://hub.docker.com/) 가 있다. 퍼블릭 저장소를 기본으로 제공하는 Docker Hub는 전 세계적으로 널리 사용되고 있지만, 기업 또는 개인이 자체적인 이미지 저장소로 활용하기 위해서는 Private 환경 구성이 필요한 경우가 많다.Docker Hub는 무료 플랜 기준으로 Private 저장소를 1개만 제공하며, 추가 Private 저장소 사용이나 기업 단위 관리 기능은 유료 플랜 가입이 필요하다. 또한, 저장 용량이나 이미지 Pull 제한 등 사용 정책이 존재하기 때문에 비용이나 보안 요구 사항에 따라 별도의 Private Registry 구축을 고려하게 된다.본 글에서는 Docker Image 를 Private 하게 관리하..
[nGrinder] API Performance Testing
·
Back-End/API
API Performance TestingAPI 성능 테스트(API Performance Testing)는 API가 높은 부하에서도 안정적으로 동작하는지 확인하는 과정이다.주요 목표는 응답 시간(Response Time), 처리량(Throughput), 동시 사용자 수(Concurrency), 그리고 리소스 사용률(CPU, 메모리 등)을 평가하는 것이다.주요 테스트 유형으로는 부하 테스트(Load Testing), 스트레스 테스트(Stress Testing), 스파이크 테스트(Spike Testing), 지속 테스트(Soak Testing) 가 있다.nGrindernGrinder는 네이버에서 제공하는 The Grinder 기반의 오픈소스 부하 테스트 도구이며, 분산 환경에서 대규모 부하 테스트를 쉽게 수..
[Kube] Kubernetes - Service / Volume (7)
·
카테고리 없음
본 게시글은 인프런 subicura 강사님의 초보를 위한 쿠버네티스 안내서 강의 수강 후 작성한 내용입니다.ServicePod은 자체 IP를 가지고 다른 Pod과 통신할 수 있지만, 쉽게 사라지고 생성되는 특징 때문에 직접 통신하는 방법은 권장하지 않는다.쿠버네티스는 Pod과 직접 통신하는 방법 대신, 별도의 고정된 IP를 가진 서비스를 만들고 그 서비스를 통해 Pod에 접근하는 방식을 사용한다.노출 범위에 따라 CluterIP, NodePort, LoadBalancer 타입으로 나눈다.Service(ClusterIP)CluterIP는 클러스터 내부에서만 접근할 수 있다.apiVersion: apps/v1kind: Deploymentmetadata: name: redisspec: selector: ..
[Kube] Kubernetes - Deployment (6)
·
System/Server
본 게시글은 인프런 subicura 강사님의 초보를 위한 쿠버네티스 안내서 강의 수강 후 작성한 내용입니다.Deployment (배포)Deployment는 쿠버네티스에서 가장 널리 사용되는 오브젝트이다.ReplicaSet을 이용하여 Pod을 업데이트하고 이력을 관리하여 롤백(Rollback)하거나 특정 버전(revision)으로 돌아갈 수 있다.apiVersion: apps/v1kind: Deploymentmetadata: name: echo-deployspec: replicas: 4 selector: matchLabels: app: echo tier: app template: metadata: labels: app: echo tier..
[Kube] Kubernetes - Pod (5)
·
System/Server
본 게시글은 인프런 subicura 강사님의 초보를 위한 쿠버네티스 안내서 강의 수강 후 작성한 내용입니다.Pod 이란 ?Pod은 쿠버네티스에서 관리하는 가장 작은 배포 단위쿠버네티스와 도커의 차이점은 도커는 컨테이너를 만들지만 쿠버네티스는 컨테이너 대신 Pod을 만듬.Pod은 한개 또는 여러 개의 컨테이너를 포함함.Pod 생성 맛보기저장소에 저장된 이미지로 Pod 만들기# Pod 생성$ kubectl run echo --image ghcr.io/subicura/echo:v1# 생성된 Pod 보기$ kubectl get pod/echo# Pod의 상세내용 보기$ kubectl describe pod/echo# echo의 로그 보기$ kubectl logs -f echo# echo 컨테이너 접속$ kube..
[Kube] Kubernetes - kubectl 명령어 (4)
·
System/Server
본 게시글은 인프런 subicura 강사님의 초보를 위한 쿠버네티스 안내서 강의 수강 후 작성한 내용입니다. apply : 원하는 상태를 적용한다. 보통 -f 옵션으로 파일과 함께 사용한다.$ kubectl apply -f [파일명 또는 URL]-o : 출력 형태 변경 (wide, yaml, json)—show-labels: 레이블 확인 get: 리소스 목록을 보여준다. get pod, service 와 같이 여러 TYPE 입력 가능하다.$ kubectl get [TYPE]  describe: 리소스의 상태를 자세하게 보여준다.$ kubectl describe [TYPE]/[NAME] 또는 [TYPE][NAME]  delete: 리소스를 제거한다.$ kubectl delete [TYPE]/[NAME] 또..