목록what I Learnd (71)
HANA -J

AWS EC2에 대해 알게된 것 정리 - 인스턴스 = 임대컴퓨터 1개 - EC2 태그는 인스턴스의 역활&관리자의 정보를 저장해 놓기 위해 사용(key-value) ex) Name - hanaWebServer 관리자 - hana 타입 - 배포서버 - 보안그룹 : 우리가 만든 인스턴스에 접속하는 방법들중 제한된 방법들만 네트워크로 접속 할 수 있게 설정하는 것 ex) ssh : 리눅스/유닉스 계열에서 원격제어를 위해 허용 http : 웹서버로 사용하기 위해 허용 사용자 지정(3306 : mysql , was : 8080,3000....등등) - EC2 서버를 활용한 scale out 방법 Elastic Load Balancing : 로드 밸런서 활용 Auto Scaling : 사용자의 설정에 따라 기존의 인..

[네트워크 프록시] > 프록시 서버? 클라이언트와 서버간의 중계 서버로 통신을 대리 수행하는 서버이다. 캐시/보안/트래픽분산등 여러장점을 가질 수 있다. 1. Forward Proxy(일반적으로 proxy라고 부르는것) 특징 - 캐싱 : 전소이간을 절약하고, 불필요한 외부 전송이 필요 없어져 네트워크 병목현상을 방지할 수 있다. - 익명성 : 서버가 응답 받은 요청이 어디서 온건지 알수 없다. (서버가 받은 요청 IP = Proxy IP) 2. Reverse Proxy 특징은 포워드 프록시와 같다. [Load balancer] 여러대의 서버가 분산 처리 할 수 있도록 요청을 나누어 주는 서비스 OSI 7Layer를 기준으로 대표적으로 L4, L7로 나누어 진다. > OSI 7Layer 더보기 > OSI ..
> 문제설명 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 예제 입출력 3 2 2 1 5 13 29 1 5 67863915 > 풀이 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); const A = parseInt(input.shift());// 첫번째 값 제거 let num=0; function factorial(num){ if(num
> 문제설명 줄을 서 있는 사람의 수 N과 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어졌을 때, 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하는 프로그램을 작성하시오. > 예제입출력 5 3 1 4 3 2 32 > 풀이 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); const arr = input[1].split(' ').map(Number).sort((a,b)=>a-b); let total =0; let sum=0; for(let i =0; i

배포중에 계속해서 AllowTraffic에서 오류가 생겨서 배포에 실패를 했다. 오류 스크립트는 위와 같다. 대충 해석해보면 로드밸런서에 현재상태에 문제가 있어서 안된다고 한다. 로드밸런서에 healty가 나와야 하는데 Health checks failed with these codes: [404] 이렇게 unhealty가 나온다. 일단 상태검사 성공코드를 404로 해두어서 임시로 돌아가게 되어있는데 정확한 원인을 파악하지 못했다. 해결한다면 다시정리할 것!

서버배포를 하는 툴을 jenkins와 actions를 고민하다가 jenkins는 서버가 따로 한개 더있어야 한다고 해서 actions를 선택했다. > workflow 깃허브로 코드를 푸쉬 => 깃헙 액션에서 빌드와 테스트 => 압축된 파일을 s3로 업로드, codeDeploy에 배포 요청을 보낸다 => codeDeploy는 s3로부터 빌드된파일을 전달받아서 ec2 서버에 배포 (codeDeploy는 저장기능이 없다) > 엄청정리를 잘해주신 블로그(보고 설정부분 따라하면 성공임) https://ms3864.tistory.com/383?category=1003779 github action으로 ec2에 자동배포하기3 https://ms3864.tistory.com/381 github action으로 ec2에..

> CI/CD ? 애플리케이션 개발 단계를 자동화하여 애플리케이션을 짧은 주기로 고객에게 제공하는 방법이다. 기본 개념 : 지속적인 통합, 지속적인 배포, 지속적인 서비스 제공 > CI/CD 도구의 선택 => 프로젝트의 요구사항과 예산에 알맞게 선택, 도구의 선택도 개발자의 역량이다. 1. Jenkins Windows, Linux 및 macOS 플랫폼에서 사용할 수 있다. (별도의 서버필요) 무료 및 오픈소스로 스타트업 및 대규모 조직에 적합 확장성이 좋다 문서가 많아서 문제 해결에 많은 도움이 될 수 있다. 2. Travis Github와 연동이 가능하다 CI/CD 파이프라인은 GitHub Enterprise 도구와 원활하게 통합되는 독점 YAML 구문을 사용 오픈소스는 무료 3. GitHub Acti..

> 문제설명 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. > 예제입력 7 3 > 예제출력 >코드 const fs = require('fs'); const input= fs.readFileSync('/dev/stdin').toString().trim().split(' '); const n= +..