공부 (110) 썸네일형 리스트형 AWS System Manager(SSW) EC2 인스턴스 연결 설정(SSH 대체) 이전 글에서 https://na0-0.tistory.com/196 Github self hosted runner와 SSM 을 비교하고,최종적으로 우리 서비스는 SSM을 사용하기로 결정했다. 현재 EC2를 확인해본 결과, ECR에 올려져 있지는 않고,인/아웃바운드 포트 22가 열려서 SSH 연결이 오고 들어가는 것을 허용한 것 처럼 보인다. SSH와 Bastion Host를 이용한 방법 (기존)일반적인 방법으로, 필요 EC2 이외에 추가 리소스는 아래와 같다.Public Subnet에 호스팅된 Bastion Host (EC2)Bastion Host에 SSH(22) 접근을 허용하는 보안 그룹 (Security Group) : 적절한 IP 대역에 22(SSH) 포트 허용SSH 접속 인증을 위한 EC2 Key .. GitHub Action Self-hosted Runner와 AWS SSM EC2 인스턴스에 Key Pair를 생성하고 SSH를 통해 접속하는 것 보다 더 나은 방법인 SSM 서비스가 있다. 현재 우리 회사는 EC2 인스턴스에 변경된 git 코드를 배포하여 production에 최종적으로 반영을 하도록 구성된다.EC2 인스턴스에 SSH를 통해 접속하여, docker run을 실행시켜서 task를 분리하고 있는 플로우다. 그러나 문제점은 CI/CD가 제대로 동작하지 않아서, 계속 수동으로 진행하고 있어 번거로움이 존재한다. 배포가 자동화가 되고 있지 않은 원인은 git action을 통해서 CI/CD를 구축하려고 하는데,SSH 연결은 VPN을 통해서만 허용하도록 하는 것이 보안상 안전하기 때문에Github Action의 실행 방식 특성 상 불특정 IP를 통해 연결하는 것을 허용할.. [Git] 커밋 관련한 내용 총정리 학창시절에는 git에서는 단순히 commit, merge, push, add 등등의 명령어만 사용하던 학생이회사에 갔더니, PR과 commit, rebase, cherypick 등등 대규모와 다양한 사람들과 협업하는 상황에서 이것저것 실수를 많이 하기도 하고,여러명이 붙어서 PR review를 해주는데,사람의 성향에 따라서 commit 내역을 위주로 따라 흐름을 보는 사람이 있고,코드의 변화를 중점으로 보고 있는 사람이 있어서PR을 날릴 때에는 여러 방면에서 신경을 써주어야 한다는 것을 느꼈다. 그리고 확실히 commit을 자유자제로 사용할 수 있다면,조금 더 코드 관리가 쉬워질 것이라고 생각한다. 작업 중에 여러 차례의 커밋을 하는 것은 개발자에게 많은 이점을 제공한다.어떤 변화를 주었을 때의 결과를.. elastic search에서 서치와 페이지네이션 painless : Elastic Search 자체 스크립트 언어params매개변수 Mapctx._source문서의 _source 값 Map으로 변환ctx._nowtimestamp를 ms로 변환한 값ctx._indexctx._idctx._typectx._routingctx._version메타데이터 Update by queryPOST [인덱스명]/_update_by_query 쿼리 요청하면 문서를 일종의 스냅삿을 찍는다. 여기서 버전 충돌 문제가 생기면 conflicts 에 따라 작업한다. abort (기본값) 면 충돌 시 작업 중단하며, proceed 로 하면 무시하고 넘어간다. scroll운영중에 update 하면 부하 줄 수 있으므로 스로틀링을 통해 작업량을 조절-scroll_size: 업데이트 전.. [CI/CD] Gitlab CI/CD vs Github action vs Jenkins 최근에 현대자동차에서 백엔드 개발하고 있는 친구를 만났는데,그 친구 회사는 gitlab CI/CD를 사용하고 있다고 한다.github action으로 deploy 파이프라인을 구축해야 하는 나로서,gitlab는 어떤 차이가 있고, Jenkins 를 포함하여어떤 것을 고민해보고 인지하고 있으면 좋을지를 알기 위해서 정리해보고자 한다. CI/CD 툴 중에서 가장 많이 쓰이는 GitHub Actions와 GitLab CI/CD, Jenkins 세 가지를 언급하려고 한다. GitHub Actions란?https://github.com/features/actionsGithub가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼: Github Actions은 Githu.. [Git] git 협업 시 branch commit 이 겹치는 문제, git rebase main 들어가기 전 git에 대해서 어느정도 기본은 사용한다고 생각했는데,부족한 부분이 언제나 처럼 존재한다. 개인 프로젝트나 일반 작은 협업시에는 문제가 없었나 싶은데, , , 내가 지금까지 계속 이렇게 해왔던 것 같은데그때는 지금처럼 VSC 사용 + command 사용을 하지는 않았고, git bash만 사용했어서 문제가 없었을지도,, 진짜 이유를 몰랐을 때는 막막하고, 아진짜 왜이러지 싶었는데원인을 알고 차근차근 생각해보면 다 일맥상통 | 유저 에러 그리고 오류 트리거 하고 나서 느낀 건데, 메모나 기록이 중요한것은 물론, chatGPT에 의존하는 것이 아닌, 확실히 검색을 해야 된다는 것을 느꼈고 어떠한 문제가 생겼을때 1. 이 문제가 왜 생겼지에서2. 어떤 문제가 현재 발생중인지3. 그러면 그 문제에서.. 클린 코드 vs 소프트웨어 설계 철학 Robert “Uncle Bob” Martin과 John Ousterhout이 2024년 9월부터 2025년 2월까지 진행한 소프트웨어 설계 관련 대화로,두 사람 모두 소프트웨어 디자인에 대한 저서를 집필세가지 주요 주제(메서드 길이, 주석, Test-Driven Development)에 서로 다른 견해 차이를 보임 대화의 핵심은 코드의 복잡도를 줄이고, 가독성을 높이는 방법,그리고 적잘한 테스트 코드 작성 방식에 대한 것 - Uncle Bob의 clean code- John의 philosophy of sw design 메소드 길이Uncle Bob(이하 UB)은 “짧은 함수가 좋음, 가능하다면 더 짧게 분리함”이라는 입장- 한 메소드는 One Thing 만 해야 함- 단, 너무 극단적으로 적용 시, .. Data Warehouse 기반 데이터 플랫폼 Snowflake TMI지만, 분산 시스템에서 유일한 ID를 만드는 방법 중에 UUID와 Snowflake ID 방식이 있고 한다.거기서 말하는 Snowflake ID는 Twitter에서 만든것이며,여기서 이야기하는 Data Warehousing 플랫폼인 Snowflake는 다른 플랫폼에 다른 회사라고 한다. Data WarehouseData Warehouse는 데이터 중앙 리포지토리이다.데이터는 다양한 소스로부터 들어오게 되는데, 이를 파이프라인을 구축하여 하나의 통합 플랫폼으로 모아 사용할 수 있다.여기서 파이프라인은 ETL 파이프라인을 가르키고, 하나의 통합 플랫폼은 Data Warehouse를 의미한다. 데이터를 추출(Extract)하여 사용가능한 형식으로 가공(Transform)하고 Data WareHouse로 .. 이전 1 2 3 4 ··· 14 다음 목록 더보기