
[유전자분석] IGV 라이브러리 사용하기
2022. 10. 6. 15:10
개발/기타
지난 번에 유전자 분석을 위한 bam 파일에 대해 공부했었다.(자세한건 아래 링크참고) 유전자 분석을 위한 bam 파일 프로젝트에서 유전자 분석을 위한 IGV(Integrative Genomics Viewer) 사용을 해봤다. IGV란 유전체 데이터셋을 시각화 해주는 그래픽 기반 프로그램으로 오픈소스이다. igv 사이트에 들어가면 자바스크립 flowlog.tistory.com 여기서 유전자를 분석하기 위해 IGV(Integrative Genomics Viewer) 툴을 잠시 보았는데, 자바스크립트로 IGV 라이브러리를 활용해보았다. 간단히 부트스트랩 css를 적용하였고, 멀티분석을 위한 track을 추가하는 기능까지 넣어보았다. 테스트를 위한 bam 파일은 url 방식으로 호출한다. 기능구현 먼저 페이지..

[Springboot] Maven 멀티 모듈 프로젝트 만들기(Eclipse)
2022. 10. 4. 16:02
개발/Spring
이제는 쿠버네티스 서비스가 주로 이루면서, 마이크로서비스아키텍처 서비스개발이 많이 진행되어가고 있다. spring 에서도 gateway, discovery, config 등 cloud 서비스를 구축하는데에 필요한 데모프로젝트들이 많이 있는데, 오늘은 Maven 멀티 모듈 프로젝트를 구성을 포스팅한다. Maven Project 생성 가장 먼저 Eclipse 를 키고 New>Maven Project 를 선택한다. 상위 프로젝트 프로젝트 타입 Maven Project 프로젝트 이름 test 패키지 이름 com.joon95.test Maven Module 생성 이제 1에서 생성한 project를 우클릭>New>Other Maven Module을 생성한다. 테스트로 core, market 프로젝트를 만들었다. 하..

[Openresty] x-forwarded-for 설정하기
2022. 9. 30. 10:50
엔지니어링/프록시
x-forwarded-for 는 백엔드서버가 접근하는데 클라이언트의 ip를 체크하기 위해서 사용한다. 다양한 네트워크 구간이 존재하기 때문에 proxy 서버에서 x-forwarded-for 설정이 없다면 백엔드서버의 바로 앞단에 있던 proxy 서버의 ip를 가지고 있는다. 테스트 환경 openresty 서버를 2개를 두어 proxy pass 시 x-forwarded-for ip를 로그로 찍으며 테스트한 걸 기록하려한다. 테스트 VM Public IP Private IP 호출서버 223.130.162.121 proxy 1번 175.45.193.85 10.160.227.8 proxy 2번 175.106.97.177 10.160.227.9 시나리오는 아래와 같다. 1. 호출서버에서 proxy 1번 호출(ht..

[Openresty] 프록시서버 설치하기
2022. 9. 30. 10:13
엔지니어링/프록시
이번에 테스트 환경을 구축하다가 openresty 설치를 했는데, 1년전에 했던거라 기억이 가물가물 해져서 기록한다..ㅋ 설치환경은 우분투에서 진행했다.(나머지도 거의 동일함 레포 명령어차이) 필수 라이브러리 설치 $ apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make -y openresty 설치 openresty 파일 다운로드 openresty 사이트에 방문하여 설치 url을 복사한 뒤 wget으로 다운하자. OpenResty - Download Ylang: Universal Language for eBPF, Stap+, GDB, and More (Part 3) openresty.org 현재 가장 최신버전은 ..

[Rhsso] Api 로 클라이언트(자격증명) 생성하기
2022. 9. 28. 16:16
엔지니어링/인증
rhsso 대시보드에서 자격증명을 생성할 때 client id 만 입력할 수 있게되어있다. 그래서 API로 생성해야만 client secret 을 입력할 수 있는데, 어제 2시간동안 헤매이다 찾아냈다. 참고로 필자는 rhsso 7.4 버전을 이용하고있다 먼저 헤맨 이유는.. 평소처럼 구글링을 통해 redhat 사이트로 접근하여 base path / new client uri 를 확인하고 호출했더니 404 error.. 이것저것 계속 만져봤으나 페이지를 찾을 수 없다는 응답만 오는 것이였다.. 지속된 API 체크로 슬슬 포기할 무렵... clients-registrations 라는 또다른 uri를 발견하고 비로소 성공하게 되었다. 그럼 이제 client 를 API로 생성해보자!!!!!!!!! API 접근을..

[Openresty] 특정 클라이언트 구분하기
2022. 9. 28. 15:21
엔지니어링/프록시
이번에 특정 클라이언트의 요청을 타 도메인을 꺾는 테스트가 필요하여 진행한 내용을 정리한다. 환경은 3scale를 사용하기때문에 staging/product 2개의 도메인이 존재한다. 그래서 특정 클라이언트 1.1.1.1 ip가 들어오면 staging도메인으로 강제로 꺾어주는 테스트를 진행한다. 네트워크 구간은 대충 아래와 같다. [데이터요청서버] -> [아웃바운드프록시] -> [L7 Layer] -> [L4 Layer] -> [인바운드프록시] -> [3scale] -> [백엔드서버] proxy 구간이 존재하기 때문에 remote_ip 가 아닌 x-forwarded-for 를 사용해 클라이언트의 ip를 체크해야한다. (remote_ip 는 바로 전 라우터의 ip가 나오기 때문) nginx.conf 설정 ..

[NKS] ALB 서비스 외부 노출하기
2022. 9. 26. 15:08
엔지니어링/NCP
NKS를 구축한 뒤 서비스를 외부에 노출시키려면 ALB(Application Load Balancer)를 통해 쉽게 할 수 있다. 필자는 일단 tomcat pod 를 올리고 아주 간단한 service를 등록해주었다. apiVersion: v1 kind: Service metadata: name: my-tomcat-svc spec: type: NodePort selector: app: my-tomcat ports: - port: 80 targetPort: 8080 ALB Ingress Controller 설치 kubernetes 1.19 버전 이상(한국) kubectl apply -f https://raw.githubusercontent.com/NaverCloudPlatform/nks-alb-ingress..

[NKS] Naver Container Registry 이미지 배포
2022. 9. 26. 13:55
엔지니어링/NCP
네이버 클라우드 플랫폼은 대시보드에서 알맞은 설정만 입력해주면 되기 때문에 서비스 배포가 쉽다. docs 문서에도 설명이 잘되어있는 편인데, 이번에 설명을 안보고 하다가 삽질을해서 포스팅을 하나 남기려한다. 필자는 private 환경의 쿠버네티스 클러스터를 구성해둔 상태이다. 쿠버네티스에서는 접근하려는 container registry 의 계정정보를 secret으로 만들고, imagePullSecrets 인증을 받아 해당 레지스트리에서 이미지를 받아온다. kubectl create secret docker-registry \ --docker-server= \ --docker-username= \ --docker-password= \ --docker-email= \ --kubeconfig kubeconfi..

[NCP] 네이버 클라우드 플랫폼 적응기
2022. 9. 26. 13:17
엔지니어링/NCP
이번에 ncp kubernetes 서비스 구축 프로젝트에서 Devops part 서포트하게 되어 이것저것 만저보았다. 지금까지 azure, aws 와 같은 외산 클라우드 서비스만 하다가 국산 클라우드 서비스를 하게되어 약간의 기대(?)감과 벅찬 마음(?)으로 콘솔화면을 바라보게되었다. 한 일주일정도 NCP를 만져보며 간단히 집어볼 개념에 대해 남기겠다. Sub Account 제일 먼저 겪게 되었던 것은 Sub Account 개념이였다. 로그인 창에 들어가면, 서브 계정으로 로그인 버튼이 있다. 해당 버튼을 눌러 로그인페이지 접속키를 입력하면 해당 account 에 할당된 계정으로써 로그인을 하게된다. (azure에서 보던 tenant 지정과 비슷해 보임) (aws에서 iam 계정 할당과 비슷해 보임) (..

[Python] 병렬 api 호출 및 적재
2022. 9. 19. 18:14
개발/Python
테스트 케이스를 고민하다가 특정 api 를 호출하고 응답 및 헤더 데이터를 postgresql 에 적재하는 것을 생각해보았다. 스프링으로 구현할까 했는데, 병렬처리를 검색해보니 파이썬에서 RAY 라이브러리를 통해 멀티프로세싱을 쉽게 구현할 수 있어 한번 써볼까 싶어 작성한다. 데이터베이스(PostgreSQL) 간단하게 Docker로 올려두었다. Create DB 데이터베이스 이름은 'mydata' 로 하였다. create database mydata; 데이터베이스가 생성되면 \c 명령어를 통해 연결한다. postgres=# \c mydata You are now connected to database "mydata" as user "postgres". Create Table 테이블 이름은 'api_log..