목록전체 글 (212)
개발자 끄적끄적
- Production env로 배포할 때 서비스가 중단되는 시간이 없도록하는 무중단(zero down time)배포가 중요 - 배포 시 문제가 발생할 때 rollback(예전 버전으로 돌아감) 필요 - 배포전략 - Rolling Update - Blue green 배포 - Canary - 기존 인프라에 구 서비스를 제공하는 서버를 하나씩 순차적으로 새로운 버전으로 대체하는 방식 - 단점 - 구버전과 새버전의 서비스가 혼재 - 서버에 새버전으로 배포될 때 서버에 과부하 가능성이 있다 - 2개의 동일한 운영 환경을 준비하여 동시에 교체하는 방법- 여분의 인프라 준비를 해야하지만, Rolling update의 구버전과 신버전이 동시에 서비스 되는 시간이없으며 배포동안 문제가 발생했을 때 Rollback이 쉽..
- Development(개발) + Operations(운용) - 개발 팀과 운용 팀이 긴밀히 협업하고 연계하여 비즈니스 요구에 신속하게 대응하여 소프트웨어 개발 및 배포 - 배포된 소프트웨어가 운영환경에서 안정적으로 동작하도록 하여 비즈니스 가치를 실현 - 개발 : 비지니스 요구에 맞춰 새로운 기능 요구에 신속한 대응 - 운용 : 변화보다는 시스템을 안정성에 관심 - 개발과 운용 모두 공통의 목적의식을 갖고 서로 존중하면서 협업하는 문화를 형성하는 것이 필요 - Infinite loop 1. Plan : 요구사항 정의(무엇을 개발할 지 결정) 2. Code : 구현 및 구현된 코드를 코드 저장소에 커밋(Commit) 3. Build : 코드 저장소에 커밋된 코드가 문제가 없는 지 검사한 후에 기존 코드..
- 점진적이로 반복적인 개발방법(IID, Iterative and Incremental Development) - 이터레이션(Iteration) 개발 : 1주~2주 - 설계 -> 구현 -> 테스트 -> 분석 - 점진석/반복적 개발 1. 점진적 개발 : 이전 시스템에서 새로운 요구사항을 추가하여 개발 2. 반복적 개발 : 이전 시스템을 한 번에 완전하게 개발하는 것이 아니라 반복적으로 개선하고 수정 - 시간이 지날 수록 Value delivered 는 증가, Risk는 감소 - 모든 불확실성을 프로젝트 초기에 제거하는것은 불가능하므로 불확실성을 줄이는 좋은 방법은 제품을 고객에게 보여주고 피드백을 받는 것이다 ex) 1차 이터레이션(기본 로그인 기능) - 로그인 웹 페이지 생성 - 웹 페이지 사용자 id와..
보조기억장치에 저장 - 장치 관리(Device Management) - 네트워크 관리(Network Management) 2. 시스템 관리 - 시스템 보호/보안 - 명령어 해석기 - 기타관리(사용자 계정 정보/ 통계 / 오류 발견 및 대응 / 부팅 등)
1. Connectionless - different paths for different datagrams belonging to the same message - independency between pakcets - 패킷사이의 관련성이 없다 2. Connection-oriented - dependency between packets - 패킷사이의 관련성이 있다 - A connection-oriented protocol uses both flow and error control - The sender sends one packet at a time and waits for an acknowledgement before sending the next one - To detect corrupted pack..
- process-to-process communication; addressing; multiplexing and demultiplexing; error, flow, and congestion control - UDP - TCP : connection-oriented service using a transition diagram - It provides a process-to-process communication between two application layers, one at the local host and the other at the remote host - Legend - Point-to-point WAN - LAN switch - WAN switch - Router - The trans..
1. distatnce-vector routing 2. link state routing 3. path-vector routing 1. RIP - distance-vector routing 2. OSPF - link state routing 3. BGP - path-vector routing - a packet is routed, hop by hop - The source host does not need a forwarding table -> its packet to the 'defualt router' - one of the ways to interpret the best route from the source router to the destination router is to find the le..
1. Transmission Delay = (packet length) / (transmission rate) 2. Propagation Delay = (distance) / (propagation speed) 3. Processing Delay = time required to process a packet in a router or a destination host 4. Queuing(대기열) Delay = time a packet waits in input and output queues in a router - the number of bits(=payload) passing through the point in a second - the number of packets lost during tr..
- Multiple-access protocols 1. Random-access protocols - ALOHA - CSMA/CD - CSMA/CA 2. Controlled-access protocols - Reservation - Polling - Token passing 3. Chanelization protocols - FDMA - TDMA - CDMA - collision : to avoid access conflict - earlist random access method - it can be used on any shared medium - potential collisions in this arrangement - The data from the two stations collide and ..
- API(응용 프로그램 인터페이스 : Application Program Interface) : 소프트 웨어 응용 프로그램 구축을 위한 일련의 루틴 프로토콜 및 도구 집합들을 지칭한다 기본적으로 API는 소프트웨어 구성 요소의 상호 작용 방식을 지정한다 1. Google Vision API : Cloud Vision API Demo 2. MicroSoft Vision API : MS Azure Vision API Demo 3. Amazon Rekognition API : AWS Rekognition API Demo ⇐ (requires to log-in) - 요청(request)와 응답(response) - 형식 : JSON(JavaScript Object Notation) - 지원 인식 기능 - '객..