[프로그래머스] 대장균의 크기에 따라 분류하기
·
코딩테스트/프로그래머스
문제 이 문제를 보고서 가장 먼저 든 생각은 퍼센트를 기준으로 정리된 테이블을 재활용해야겠다는 생각이였다. 그렇기 때문에 from 에서 가져올 테이블을 부분 쿼리의 결과값에서 가져오도록 하였다. 정답코드 select id, case when a.percent 가장 어려웠던 부분은 percent_rank를 단순히 활용하는게 아니라 이걸로 정리된 결과값을 한 번 다시 받아와야되는 부분이었던 것 같다.처음에는 부분쿼리를 생각을 못해서 이걸 어떻게 가져오지 하고 생각하느라 애를 먹었다... 요즘 이런류의 문제가 sql 문제로 잘 나오는거 같아서 열심히 공부해둬야겠다.
Jenkins 로 github에 있는 Spring 프로젝트 자동 배포 (feat. application.yml 처리)
·
Infra
이 글은 알파코에서 진행되는 [신한투자증권] 프로디지털아카데미 과정 중, 김송아 강사님과 함께하는 '파이널 프로젝트'를 기반으로 작성되었습니다 이번 프로젝트에서 어쩌다보니 인프라 파트를 담당하게 돼서 msa 구조 설계 그리고 CI/CD까지 하게 되었다 이 과정에서 Jenkins로 깃허브에서 push가 되면 자동으로 배포가 되도록 설계 하였는데 이 부분에서 애를 먹었던 부분들이 많아서 내용을 정리해서 공유하고자 한다 일단 우리의 아키텍처 구조는 이 그림과 같다 여기서 처음에 실수한 부분이 게이트웨이 포트번호를 8087로 줬는데 이 부분은 80번으로 줘야 나중에 url 입력할때 포트번호 추가 안해줘 도 된다. (80이 기본포트이기 때문에) 일단 jenkins 를 퍼블릭 서브넷에 있는 ec2에 ..
private subnet에 있는 EC2에 접속하는 방법 (feat. Bastion Host)
·
AWS
이번 프로젝트를 진행하면서 퍼블릭 서브넷에 들어가도 되는 부분들은 퍼블릭서브넷에서 EC2를 생성하였고데이터를 다루는 등 민감한 정보가 담긴 부분은 프라이빗 서브넷에서 EC2를 생성하였다. 여기서 문제는 퍼블릭 서브넷에 연결하는 방법은 AWS의 EC2를 선택해서 연결을 누르고 주소를 복사 붙여넣기 하면되지만 프라이빗 서브넷에서 이와같이 하려고 하면 에러가 나며 접속이 안될 것이다. 이를 위해서는 bastion host 라는게 필요하다 Bastoin Host란?Bastion Host란, 외부에서 내부 네트워크에 접근할 수 있는 유일한 방법인 접근점이다. 보안성이 높은 인프라와 외부 인터넷을 연결하는 중계 서버로 작동하며, 모든 인바운드 트래픽은 Bastion Host를 통과해야 내부 네트워크로 들어갈..
[최종프로젝트] 중간발표 회고
·
프로디지털아카데미
이 글은 알파코에서 진행되는 [신한투자증권] 프로디지털아카데미 과정 중, 김송아 강사님과 함께하는 '파이널 프로젝트'를 기반으로 작성되었습니다. 벌써 프디아 최종프로젝트의 중간발표가 끝났다. 중간프로젝트와 달리 최종프로젝트는 실무진들도 오시는거라 긴장이 됐지만 그만큼 유의미한 피드백을 얻을 수 있어서 좋았다 일단 얻은 피드백으로는 주된 기능을 위주로 선택하는게 좋을거 같다는 말을 들었다.아무래도 이제 남은기간이 많지 않은데 실시간 알림 + 자동매매 까지 가져가려고 했던 부분이 우려를 가져왔던 것 같다. 그리고 실제 신한투자증권의 알림서비스에서 어떤 식으로 이용자수를 늘리게 됐는지 들으면서 프로젝트의 방향성을 새로 잡게되었다. 일단 자동매매 부분은 우리도 실시간 알림을 어차피 주고있으니 자동매매..
[RDS] private 서브넷에 둔 RDS SSH터널링을 통해 Dbeaver에서 연결하는 방법
·
AWS
현재 프로젝트를 진행하면서 rds를 프라이빗 서브넷에 두었는데 이로 인해서 RDS에 접속하는 방법이 조금 까다로워서 정리하고자 글을 올린다. 일단 main 탭에서 1. Server Host 부분에 RDS 엔드포인트 주소를 넣어준다.2. Username 부분에는 rds 를 만들면서 넣은 user name3. Password 부분에는 rds 를 만들면서 넣은 password 그 다음 이 부분 ssh,~~ 라고 적힌 부분을 눌러 ssh 를 선택해준다 그 후 host 부분에는 rds가 담긴 프라이빗 서브넷이 있는 vpc가 있을텐데 이 vpc 안에 있는 퍼블릭 서브넷 중 bastion host 역할을 할 ec2의 퍼블릭 ip 주소를 복사해서 넣어주면 된다.이 부분 관련된 자세한 내용은 아래의 링크를..
MSA구조에 맞는 인프라를 설계해보자!
·
프로디지털아카데미
이 글은 알파코에서 진행되는 [신한투자증권] 프로디지털아카데미 과정 중, 김송아 강사님과 함께하는 '파이널 프로젝트'를 기반으로 작성되었습니다. 이번 프로젝트는 MSA 구조로 설계하여 진행하는 프로젝트이기때문에 인프라가 무엇보다도 중요하다.근데 내가 인프라를 담당해버렸다,,,, 인프라를 많이 안해봐서 이번에 해보려고 하겠다 한거인데 생각보다 엄청 중요한 역할을 맡게된 기분... 그치만 이걸 해내면 많은걸 배워갈 수 있을거 같다. 일단 우리가 설계한 아키텍처구조도는 이렇다 모듈별 역할 정리alert-module사용자 알림 조건 판별조건 충족 시 알림 발송 서비스 호출알림 히스토리 저장data-process-module수집된 원본 데이터를 정제하고 저장소에 반영지표 계산 (SMA, RS..
And 프로젝트 기획 회고
·
프로디지털아카데미
이 글은 알파코에서 진행되는 [신한투자증권] 프로디지털아카데미 과정 중, 김송아 강사님과 함께하는 '파이널 프로젝트'를 기반으로 작성되었습니다 프디아에서의 파이널 프로젝트인 금융IT 프로젝트 "And" 프로젝트를 기획하는 과정을 적어보고자 한다. 일단 피그마 디자인을 하면서 가장 신경썼던 부분은 지표 설정하는 부분을 최대한 간편하고 빠르게 할 수 있도록 하는 것이였다.실무진으로 부터 피드백을 들을 때도 기존에 조건 주문 서비스들이 있긴하지만 아직 쓰기 편하게 되어있진 않다고 하셨기 때문에직관적이면서 빠르게 설정할 수 있는 화면을 디자인 하고자 했다. 일단 지표 값들이 스크롤로 나열되어있는데 원하는 지표의 카테고리로 빠르게 이동하고 싶을 땐 위의 탭버튼을 눌러서 이동하는 방식으로 디자인 하였..
금융IT 프로젝트 기획해보기!
·
프로디지털아카데미
이 글은 알파코에서 진행되는 [신한투자증권] 프로디지털아카데미 과정 중, 김송아 강사님과 함께하는 '파이널 프로젝트'를 기반으로 작성되었습니다 드디어 신한투자증권 프로디지털아카데미의 파이널 프로젝트를 시작하게 되었다. 중간 프로젝트때도 아이디어 기획하는 부분이 가장 힘들었는데 또 새로운 금융IT서비스를 기획해야한다니,,,, 그래도 열심히 고민하면서 가장 고려한 점은 1. 현재 금융IT서비스 사용자들이 불편하게 느끼는 요소를 파악2. 이 부분이 해결되었으면 하는 사용자들의 니즈가 있는지 파악3. 그리고 이걸 현재 내가 보유한 기술 역량으로 해결할 수 있는지 확인 이렇게 3가지를 가장 중요하게 생각했다. 이러면서 떠오른 아이디어는 최근 주식, ETF 를 구매해보면서 매번 시간날 때마다 확인하는 부..
MSA에 중요한 3요소에 대해 알아보자
·
백엔드
이 글은 알파코에서 진행 중인 [신한투자증권] 프로디지털아카데미 6기 과정 중 백엔드 과목의 김송아 강사님의 강의를 기반으로 작성되었습니다 MSA를 구현하기 위해서 필요한 3가지 요소에 대해서 공부해보고자 한다. 로드 밸런서들어오는 클라이언트 요청을 여러 서비스 인스턴스로 분산시켜 서버의 부하를 줄이고, 고가용성을 보장하는 역할을 담당 특징Health Check: 비정상 인스턴스를 자동으로 제외.Scale-out 지원: 서비스 인스턴스를 수평적으로 확장 가능.트래픽 분배 알고리즘: Round Robin, Least Connection, IP Hash 등 적용 가능. 서비스 레지스트리 각 서비스 인스턴스의 네트워크 위치(IP, 포트 등)를 등록·관리하고, 다른 서비스가 이를 조회할 수 있게 하는 주소록..
Java 프로그래밍 기초2
·
백엔드/spring
이 글은 알파코에서 진행 중인 [신한투자증권] 프로디지털아카데미 6기 과정 중 백엔드 과목의 김송아 강사님의 강의를 기반으로 작성되었습니다 형변환SmartPhone smartphone = new SamsongPhone();자동으로 삼성폰이 스마트폰이 담긴다.SamsongPhone samsongPhon1 = (SamsongPhone) new SmartPhone();상속현실세상에서는부모가 먼저 태어나고 자식이 태어남부모가 상속해줄 범위를 선택함상속 받은 걸 그대로 안 써도 됨자바세상에서는자식이 다음에 태어남자식이 상속해줄 범위 선택함상속받은거 그대로 안써도 됨컴파일러의 역할타입이해 여부 o문법적으로 맞는지 여부 체크 해주 기 때문에 이해 o객체 이해 여부 x[Runtime Data Area]컴파일러는 런타..