728x90
SMALL

분류 전체보기 39

[Linux] 메모리 누수 위치 찾기 (valgrind, 발그린드)

개발을 마무리 할 때, 메모리 누수가 없는 지 확인하는 작업은 필수적이다.이 과정에서 정리한 메모리 증가 확인 방법에 대한 포스팅을 꽤나 많은 사람들이 참조하고 있다. [Linux] 메모리 증가 확인 방법(pmap, ps, /proc/pid/status )리눅스 환경에서 특정 프로세스의 메모리가 증가하는지 확인하는 방법 입니다.C언어를 이용해서 모듈을 만들고 프로세스를 모니터링 할 때 메모리 누수가 있는지 확인할 때 사용했던 방법입니elephant-dev.tistory.com  이전에는 간단히 메모리 누수가 있는지 모니터링 해보았다고하면,이번에는 누수가 발생하고 있는 소스코드 위치를 파악할 수 있는 동적 분석 툴 valgrind를 이용한메모리 누수 위치 찾기 포스팅을 진행해 보려 한다.  우선, valg..

OS/Linux 2024.08.20

[NCP] 프로젝트에 NCP 활용 후기

F-Lab에서 Green Developers 프로그램을 통해 크레딧을 지원받아 프로젝트에 활용해 보았다! 아직 프로젝트 완성은 되지 않았지만 지금까지 사용한 내용을 바탕으로 후기를 작성해보고자 한다. Q. 프로젝트를 소개해 주세요. 구현하고자 하는 프로젝트 주제는 다음과 같다. Melon Market과 같이 공연을 예매하는 서비스를 구현하고, 추가적으로 내 업무 경력을 살려 서버를 모니터링 할 수 있을 것 기존 개발 환경에서는 대용량 데이터를 어떻게 처리하는지, 다뤄볼 기회가 없어 매우 궁금했었고 내가 좋아하는 것에 대한 서비스를 생각했을 때 대용량 데이터를 처리하고 있는 서비스가 뭐였는지 생각해 보니..! 최근에 멤피스 뮤지컬과 최유리 콘서트를 예매하기 위해 애썼던 기억이 떠올랐다.. 그러고 보니 특정..

회고 2024.04.03

[JPA] 좌석 개수를 구하기 위한 @Formula 사용기 (Feat. @DataJpaTest @Formula 데이터 검증 테스트 실패 분석)

개인 프로젝트 진행 중 공연장에 등록된 hall을 리스트로 조회하는 API를 구현하면서 각 hall에 설정된 좌석수를 간단히 보여주고 싶었다.이 때 모든 hall 리스트가 보여지더라도, 모든 hall에 대한 좌석 세부 정보를 확인하지 않을 거라 생각하기 때문에 좌석 정보를 조회하는 부분과 hall을 조회하는 부분을 나누어 필요하지 않은 데이터까지 로딩하지 않는 목표를 세웠다. 공연장과 공연장에 존재하는 홀, 홀에 존재하는 좌석 이렇게 세개의 테이블은 서로 연관관계를 가지는 테이블로 구성되어있고홀에 존재하는 좌석 수를 구하는 방법 중 4가지 방법을 고안하고 고민했었다. 고민했던 4가지 방안 1. 공연홀을 조회하고, 각 좌석의 리스트 개수를 조회하기 2. 공연홀을 조회한 후 각 공연 홀에 대한 좌석 수 카운..

Programming/Spring 2024.03.30

[GIT] github-action으로 빌드, 쿠버네티스 클러스터에 배포하기 (with Naver Cloud Platform)

github action을 통해 소스코드 커밋 혹은 머지 시 빌드와 테스트 하고, NCP Container Registry로 이미지 push 후 다시 pull 받아 쿠버네티스 클러스터에 Rolling Update 배포 전략을 사용하여 배포하는 방법에 대해 정리해보았다. NCP kubernetes 환경 구축 방법은 아래 포스팅을 참고하면 된다. - [NCP] Ncloud Kubernetes Service 사용하기(+ Container Registry 사용 까지) - 1편 [NCP] Ncloud Kubernetes Service 사용하기(+ Container Registry 사용 까지) - 1편 프로젝트를 진행하면서, 롤링 업데이트 배포 전략을 사용하기 위해 F-Lab을 통해 네이버 클라우드 플랫폼 에서 사..

Git hub 2024.03.22

[NCP] Ncloud Kubernetes Service 사용하기(kubectl 사용하여 pod 생성하기) - 2편

1편에 이어 2편에서는 cluster와 상호작용하기 위해 서버에 접속하여 pod를 생성하는 작업을 진행해보려고 한다. *pod 내부에서 외부로 접속되지 않는 현상으로 인해 문제가 있었고 이를 해결하는 과정도 작성되어있으니 같은 문제가 발생한다면 참고하여 해결하는데 도움이 될 수 있을 것 이다!* 1편에서는 서버 생성과 vpc 생성, kubernetes 생성 및 Container Registry 생성 방법에 대해 작성했으니 참고하면 된다. [NCP] Ncloud Kubernetes Service 사용하기(+ Container Registry 사용 까지) - 1편 프로젝트를 진행하면서, 롤링 업데이트 배포 전략을 사용하기 위해 NCP에서 제공해주는 쿠버네티스를 이용해 보았다. 진행 중에 내 입맞에 맞는 알맞..

[NCP] Ncloud Kubernetes Service 사용하기(+ Container Registry 사용 까지) - 1편

프로젝트를 진행하면서, 롤링 업데이트 배포 전략을 사용하기 위해 F-Lab을 통해 네이버 클라우드 플랫폼 에서 사용할 수 있는 크레딧을 제공 받아NCP에서 제공해주는 쿠버네티스를 이용해 보았다. 진행 중에 내 입맞에 맞는 알맞는 가이드를 잘 못찾아서 해결하느라 정말 오랜 시간이 걸렸었다..! 다음에 적용할 때는 내 포스트를 보고 빠르게 적용할 수 있도록 정리해보고자 한다! 모든 작업은 Platform VPC에서 작업한 내용이다. 우선 구성하고자 하는 서버 구조는 이러하다 서버 구조 이미지 - Container Registry : 배포하고자 하는 docker image를 push할 저장소 - Ncloud Kubernetes Service : 쿠버네티스를 편리하게 사용할 수 있도록 NCP에서 제공하는 쿠버네..

[F-Lab] F-Lab 멘토링 Java Backend 과정 3개월 차 후기

지난 2023년 11월 F-Lab 멘토링을 시작하게 되었다.현 시점 3개월 차에 접어들었고, F-Lab 멘토링 기간을 회고하고자 후기를 작성해보려 한다. F-Lab을 신청하기 전 정말 많은 후기를 찾아봤던 것 같다.결코 작지 않은 금액을 지불해야 하는 시스템이었고, 이미 4년의 시간을 현 직장에서 허비한 시간이 많다고 느껴 조급한 마음을 가진 나에겐 너무나도 간절했으며 그렇기에 더 신중하게 고민하게 되었던 것 같다.  멘토링을 시작하기 까지내가 무언가를 배우기로 마음먹었다면 적어도 나의 문제가 무엇인지를 파악하는 것이 중요하다고 생각했다.그렇게 정리되었던 나의 문제는 이러했다.내가 가지고 있는 문제는 무엇인가.이직하고자 하는 곳의 기술스택을 현 직장에서 경험할 수 없다.현 직장에서 사용되고 있는 기술 스..

회고 2024.02.06

[PostgreSQL] Extension function in C (c 소스코드로 db 함수 생성)

오라클에 이어 이번엔 PostgreSQL에서 C소스로 함수 생성 해 보았다. 오라클과 비교해 보자면 오라클은 리스너 설정하는 부분이 제일 까다로웠으며, C소스코드 내부에서는 평소 작성하던 C문법 그대로 사용하면 되어 DB로 리턴하는 법을 알아내는 것에 시간을 많이 소요했었지만, PostgreSQL 같은 경우에는 PG에서 제공하는 API를 사용하여 PostgreSQL이 제공하는 데이터 타입을 찾아 소스코드를 짜야 하는 점이 어려웠던 점이었다. 이전 포스팅에서는 오라클의 경우, C내부 함수의 작성이나 데이터 타입 등 평소에 쓰던 문법과 다르지 않아 크게 C소스코드 작성법에 대해 설명하지 않았는데 PostgreSQL의 경우 C소스코드를 잘 작성해야 함수 생성과 호출이 문제없이 잘 이루어 지므로 C소스코드 작성..

Database/PostgreSQL 2023.03.13

[Oracle] Oracle External Procedure 사용하기 ( in C )

Oracle External Procedure를 통해 함수를 만들고 실행해야 할 일이 있어, 구글링을 엄청나게 하고 많은 에러가 나기를 반복한 후 결국 성공해냈다.. 구글링을 하면서 내가 원하는 정보를 찾기 너무 어려웠어서 나중에 또 이렇게 사용해야 할 일이 있을 경우와 나처럼 Oracle External Procedure를 사용해야 할 일이 있는 사람들을 위해 정리를 해 본다..! Oracle External Procedure는 C언어로 작성 된 코드를 라이브러리화 하여, Oracle 내부에 함수 또는 프로시저로 선언하여 C언어 코드를 호출할 수 있는 기능이다. Oracle External Procedure를 사용 하는 방법은 다음과 같다. 1. 사용하고 싶은 코드를 C언어로 작성한다. 2. C언어를 ..

Database/Oracle 2023.03.13

[프로그래머스] 코딩테스트 연습 - 숫자 짝궁(C)

-링크 https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -문제 설명 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다. 예를 들어, X = 3403이고 Y..

728x90
LIST