분류 전체보기

    [AWS] 비밀값 관리를 도와주는 솔루션

    중요한 정보를 보호하기 위한 방법 1. 접근통제 - 아무나 접근하여 변경하는 것을 막아야한다. 1.1 식별 1.2 인증 1.3 인가(권한 유무 확인) 우회해서 접근했을 때 정보를 보호하기 위한 방법 1. 암호화 1.1 기밀성 1.2 무결성(권한 있는 사용자가 인가된 절차에 따라 정보를 바꾼 것. 정보가 잘못된 방법이나 사용자로부터 변경되지 않았음을 보장) 1.3 가용성(권한 있는 사용자가 정보를 요청했을 때 정보를 제공할 수 있어야 한다.) 비밀값 관리 원칙 1. 버전(형상)관리 시스템에 업로드하면 안된다. - github 등 → 비밀정보가 들어있는 파일은 gitignore에 등록해 업로드 되지 않도록 해야한다. → 비공개저장소(private)로 업로드 하더라도 가급적이면 올리지 않는게 좋음 2. 비밀값..

    자료구조와 알고리즘

    input -> process -> output ↑↓ Store 데이터의 흐름과 저장 - 자료구조 시간과 공간 효율성 - 알고리즘 자료구조 때와 장소에 맞는 자료구조를 사용해야한다. 알고리즘 - 좋은 알고리즘의 조건 1. 적절한 입력.출력 2. 명확성(목적) 3. 유한성(무한루프X) 4. 효율성 - 자료구조와 알고리즘의 관계 자료구조가 알고리즘에 쓰인다.(자료구조를 활용하여 어떤 문제를 해결) 자료를 직접 구현하려면 알고리즘이 필요하다. => 서로 뗄 수 없는 사이

    [AWS] 로드밸런싱(Load Balancing)/오토 스케일링(Auto Scaling) 실습

    기존에 있던 템플릿 가져와 이미지만 바꿨다. 오토스케일링 그룹 생성 green에도 로드밸런서 추가 새로고침 하면 왔다 갔다 함 blue 에서 로드밸런싱에서 제거해버림 이제는 아무리 새로고침 해도 beta만 나옴

    배포의 개념과 종류

    배포(deploy) 실행가능한 결과물을 운영 환경으로 옮기는 것 유의 사항 : 서비스에 영향을 미치면 안됨. 최초로 구축하는것은 크게 문제 안됨. 기존에 있던 것들을 업그레이드 하게되면 배포전략을 잘 가져가야한다. 대표적인 예 - Rolling Update 문제점1 : 2번, 4번 - 일시적으로 부하가 분산되지 않고 하나로 몰림 → 부하 견딜 수 있는지 예측 문제점2 : Roll Back(v2 → v1)에 많은 시간이 소요될 수 있음. 대표적인 예 - Blue/Green 구버전과 신버전이 동시에 서비스 (주소 또는 포트번호로 구분) 구버전에서 신버전으로 일제히 전환 문제점 : 인스턴스가 많이 필요 (구번전 + 신버전 ) → 많은 비용 예상 대표적인 예 - Canary 위험을 빠르게 감지 금융, 공공기관에..

    AWS를 이용한 운영 서버 환경 구축

    인스턴스 생성 bitvise를 통해 접속 보안그룹 생성 보안그룹 변경 nvm(노드 버전 관리자: Node Version Manager) 설치 [ec2-user@ip-172-31-38-230 ~]$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash [ec2-user@ip-172-31-38-230 ~]$ nvm install 10.13.0 [ec2-user@ip-172-31-38-230 ~]$ node -e "console.log('Running Node.js ' + process.version)" 25 ~ 42페이지 소스코드 배포 git 설치에 필요한 패키지 설치 [ec2-user@ip-172-31-38-..

    아파치(apache) VS 엔진엑스(nginx)

    아파치(apache) 요청 하나 당 프로세스(또는 스레드)가 처리하는 구조 요청이 많을수록 CPU와 메모리 사용이 증가하기 때문에 성능 저하가 있을 수 있다. Apache서버의 프로세스가 블록킹(blocking)되면 요청을 처리하지 못하고, 처리가 완료 될 때까지 계속 대기 이와같은 문제들은 Keep Alive를 활성화 함으로써 해결이 가능하지만, Keep Alive때문에 대량 접속 시 효율이 급격하게 떨어지는 또 다른 문제점이 발생 Keep Alive HTTP프로토콜의 특성상 한 번 통신이 이루어지면 접속을 끊어버리지만, KeepAlive On 상태에서는 KeepAliveTimeOut 시간동안 접속을 끊지 않고 다음 접속을 기다립니다. 즉, 한번 연결된 클라이언트와 통신을 유지하고 있기 때문에, 다음 ..

    웹 서버(WS) VS 웹 어플리케이션 서버(WAS)

    웹 서버 정적 페이지(html, css) 처리 클라이언트(웹 브라우저)로 부터 HTTP방식으로 정적인 자원을 요청받아 그에 맞는 응답을 제공해주는 프로그램 자체적으로 처리할 수 없는 동적인 자원(jsp, php, asp.net, db연동 등)을 웹 컨테이너로 넘겨주고 컨테이너에서 처리한 결과를 다시 받아 클라이언트에게 제공해주는 역할 대표적으로 Apache, IIS, WebtoB 등이 있다. 컨테이너 웹서버가 보낸 JSP, PHP, ASP.net등의 파일을 실행하고 수행 결과를 다시 웹 서버로 보내주는 역할을 한다. 대표적으로 자카르타 톰캣, RESINE, 웹로직, 웹투비 등이 있다. 웹 어플리케이션 서버 동적 페이지 처리 웹 서버와 컨테이너가 합쳐진 형태 인터넷 상에서 HTTP를 통해 어플리케이션을 수..

    [python] 프로그래머스 > 가장 큰 수

    1. 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 2. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 3. 입출력 예 numbers return..