이번 포스팅에서는 클라우드의 종류인 퍼블릭 클라우드와 프라이빗 클라우드, 하이브리드 클라우드에 대해 알아보겠습니다. 온프레미스 vs 클라우드, 왜 클라우드를 사용하는가? 기존 온프레미스 방식의 IT 인프라는 다음과 같은 단점들을 가지고 있습니다. 즉각적인 리소스 생성과 재분배의 어려움 돌발적인 자원 확장과 축소 자원의 증가에 따른 유지 보수 비용의 증가 새로운 표준 수용에 대한 고비용 발생 종속적인 벤더 환경에 따른 변화하는 속도와 비용 문제 그리고 클라우드는 다음 특징들로 해당 단점들을 모두 상쇄해줍니다. 즉각적인 리소스 생성 가능 굉장히 저렴한 초기 투자 비용 엄청난 확장성과 탄력성 종량제 가격 책정 모델 인프라 운영에 대한 부담 감소 물론 클라우드 또한 만능은 아닙니다. 데이터 유출 등에 대한 보안..
VM의 개념 가상 머신(Virtual Machine, VM)은 물리적 하드웨어 시스템에 구축되어 자체 CPU, 메모리, 네트워크 인터페이스 및 스토리지를 갖추고 가상 컴퓨터 시스템으로 작동하는 가상 환경입니다. (출처: RedHat) 위 사진의 왼쪽이 가상화 이전의 서버 활용이고, 오른쪽이 가상화 활용 이후 서버 활용입니다. 가상화 기술 덕에 우리는 한 개의 물리 서버를 두 개 이상의 가상 서버로 동작시킬 수 있게 되었습니다. VM 생성 VM의 생성을 위해서는 실제 하드웨어와의 조정을 위해 하이퍼바이저라고 하는 경량 소프트웨어 계층이 필요합니다. 하이퍼바이저는 일종의 매니저로서, 실제 컴퓨터나 호스트(베어메탈 서버) 리소스를 다양한 새로운 가상 머신에게 할당합니다. 하이퍼바이저 하이퍼바이저는 정확히 어떤..
vLan에 대해 설명하기 전에 우선 네트워크의 다음 몇 가지 기본 지식이 있어야합니다. 도메인 지식 정리 이더넷 (Ethernet) 이더넷(Ethernet)이란? 이더넷은 컴퓨터 네트워크 기술의 하나로, 일반적으로 LAN에서 데이터를 주고 받기 위해 가장 많이 활용되는 기술 규격입니다. LAN은 근거리 네트워크를 의미하고,이는 “집과 같은 소규모 네트워크부터 사무실, 회사와 같은 중규모 이상의 네트워크에 이르기까지 동일한 IP 대역과 동일한 Subnet Mask를 사용하며, Address Resolutuon Protocol(ARP)가 닿는 모든 범위”를 의미합니다. 이더넷을 더욱 쉽게 정의하면, “같은 지역의 네트워크에 있는 PC간의 데이터를 주고 받기 위해 사용하는 기술 규격” 이라고 할 수 있습니다...
본 포스팅은 네트워크 엔지니어 흐르는 강물처럼 님의 방화벽 시리즈를 기반으로 요약/작성되었음을 미리 알립니다. 이번 포스팅에서는 네트워크 보안에서 가장 필수적이며, 가장 대표적인 장비인 방화벽(Firewall)에 대해 다뤄보겠습니다. 방화벽이란? 방화벽이란? 정보 시스템을 운영하는 환경에서는 필수적으로 사용되는 장비로써 미리 정의된 보안 규칙에 기반하여 들어오고 나가는 네트워크 트래픽을 제어하는 보안 시스템이다. 인터넷을 사용하기 위해서는 라우터에 광케이블을 연결하고, KT, SKT 등의 ISP에서 제공하는 회선을 통해 서비스를 받습니다. 방화벽은 라우터에서 내부 네트워크로 연결되는 그 사이에 설치하게 됩니다. 위 그림과 같이 인터넷 회선(Untrust zone)을 받아서 연결하고, 내부 구역(Trust..
istqb 3주 합격 후기 & 공부법 총점 40점에 합격 커트라인은 26점으로, 무난하게 초시에 합격하였습니다 ㅎㅎ ISTQB란? 💡 ISTQB 자격증 (ISTQB Certified Tester)은 비영리 국제 소프트웨어(SW) 테스팅 전문가 네트워크인 국제 SW 테스팅자격위원회 (ISTQB: International Software Testing Qualification Board)에서 주관하는 국제자격증 프로그램입니다. 그 중 CTFL은 응시자격의 제한이 없으며, 스킬이 아닌 지식에 대한 시험으로 자격증 소지자의 SW 테스팅의 가장 보편적인 컨셉과, 관련 전문용어에 대한 지식수준을 테스트하게 됩니다. (공식 홈페이지 발췌) 왜 취득했는가? 🤔 사실 소프트웨어 테스터 자격증이라고 하면, "그거 QA나 ..
프로그램은 여러 가지 원인으로 인해서 의도하지 않은 방향으로 동작하거나, 종료될 수 있습니다. 따라서 어떤 언어를 선택하든간에 로깅과 에러핸들링, 테스팅은 가장 기본적이며 가장 먼저 체화해야 한다고 생각합니다. 다양한 언어에서 오류/예외를 처리할 때 Opaque(불투명) error handling을 채택하곤 합니다. 그렇다면 golang에서는 왜 Opaque error handling을 선택해야 하며, Opaque erro handling이란 무엇인가 알아보겠습니다. Opaque Type (불투명한 타입) 불투명한 반환 타입이 있는 함수 또는 메서드는 반환값의 타입 정보를 가립니다. 함수의 반환 타입으로 구체적인 타입을 제공하는 대신에 반환값은 지원되는 프로토콜 측면에서 설명됩니다. 반환값의 기본 타입이..
아이템 29 - 이왕이면 제네릭 타입으로 만들라 왜 굳이 제네릭 타입을 사용해야할까? 예시와 함께 알아보자. 오브젝트를 기반으로 제작된 Stack 클래스 예시. public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } public void push(Object e) { ensureCapacity(); elements[size++] = e; } public Object pop() { if (size == 0 throw n..
본 포스팅은 ISTQB 공식 Syllabus와 공식 Udemy 강의를 기반으로 학습한 내용입니다. 1장 테스팅이란 무엇인가? 소프트웨어 테스팅은 소프트웨어의 품질을 평가하고, 운영 중 소프트웨어 장애의 발생 가능성을 줄이는 하나의 방법이다. 소프트웨어 테스팅이란 다양한 활동을 포함하는 프로세스이며 테스트 실행(결과 확인 포함)은 그 많은 활동 중 하나일 뿐이다. 테스트 프로세스는 테스트 계획, 분석, 설계, 테스트 구현, 테스트 진행 상황 및 결과 보고, 테스트 대상 품질 평가 등 많은 활동을 포함한다. 테스팅 활동에는 테스트 대상 컴포넌트나 시스템을 실행하는 것도 있다. 이런 테스팅을 동적 테스팅이라 부른다. 반면 테스트 대상 컴포넌트나 시스템을 실행하지 않는 테스팅도 있다. 이런 테스팅은 정적 테스팅..