BIOS (Basic Input / Output System)란BIOS는 PC에 전원을 켜고 OS를 시작할 때까지 PC의 하드웨어 및 운영체제(OS) 사이의 펌웨어 인터페이스이다.BIOS는 메인 보드의 ROM에 내장된 프로그램으로서 CPU, 메모리, 하드 디스크 등 시스템 구성요소에 필요한 각 하드웨어 장치들의 특성에 맞게 설정하여 제어하고 운영체제 부팅에 바톤을 넘기는 연결 역할을 하는 펌웨어 인터페이스라고 이해하면 쉽다. BIOS 설정 화면은 컴퓨터 제조사 및 기종/모델에 따라 다르지만 기본적인 내용은 거의 동일하며 부팅 중에 주로 F2, F9, DEL 버튼을 눌러 진입할 수 있다. BIOS 부팅 모드부팅 모드에는 Legacy 모드 (Legacy BIOS), UEFI 모드 두 가지로 구분되며 UEF..
코드 컨벤션 (Code Convention)코드 컨벤션이란 읽고 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약(하나의 작성 표준)이다. 유연한 문법 구조를 가진 언어일수록 개발자 간 통일된 규약이 없다면 코드의 의도를 파악하거나 오류를 찾기 어려우며 유지보수 비용이 늘어나기 때문에 코드의 가도성을 높이고 작성한 코드를 효율적으로 유지보수하기 위해서는 공통의 규칙을 꼭 작성할 필요가 있다! 코딩 컨벤션을 작성하게 되면 아래와 같은 효과를 누릴 수 있다! 👉 정해진 규칙이 있어 명칭이나 구조를 빠르고 정확하게 파악할 수 있다. 👉 통일된 규약이 있기 때문에 모든 사람들이 코드를 이해하기 쉽고 편리하다! 👉 유지보수 비용을 줄일 수 있다. ✍️ 개인적인 생각 신입 개발자라면 입사 ..
PnP (Plug and Play)“Plug and Play” 말 그대로 컴퓨터에 특정 장치를 연결하면 별도의 사용자 조작 없이 관련된 드라이버 설치를 자동으로 해주어 사용할 수 있게 해주는 기능이다. 다만 운영체제, BIOS, 장치가 모두 PnP를 지원해야만 한다. Hot Plug시스템 동작 중에 새로운 장치를 연결했을 때, 바로 인식되어 사용할 수 있는 기능이다. 예시로 USB와 같은 장치가 있으며 컴퓨터 사용 중에 꽂아도 이상없이 잘 인식하여 사용할 수 있으나 시스템의 전원 상태를 유지한 채, 해당 장치를 제거할 수는 없고 제거하려면 시스템 전원을 완전히 OFF 한 뒤에 제거할 수 있다. USB 장치는 Hot Swap을 지원하기 때문에 OS가 켜진 상태에서도 연결된 USB 장치를 제거하고 새로운 U..
보안 취약점정보시스템이나 소프트웨어 상에 존재하는 보안상의 약점을 말하며 기업에서 해킹이나 서비스 장애, 데이터의 유출·변조·삭제 등이 일어난 경우, 이러한 시스템 상의 취약점을 악용하여 피해가 발생하게 된다. 보안 취약점 유형은 아래와 같이 크게 3가지로 분류되어진다. CCE (Common Configuration Enumeration)사용자에게 허용된 권한 이상의 동작을 허용하거나, 범위 이상의 정보 열람·변조·유출 등을 가능하게 하는 시스템 설정 상의 취약점 👉 진단 방법 : 정보시스템 (서버, 네트워크, DBMS, WEB/WAS, PC등)의 설정값을 통하여 진단👉 조치 여부 : 관리자가 직접 환경 설정값 변경을 통해 자체 개선이 가능 참고 사이트 : https://nvd.nist.gov/..
캐시 메모리 (Cache Memory) 탄생 배경현대 컴퓨터의 주기억장치 메모리는 대부분 100% SDRAM으로 구성되며 SDRAM은 보조 기억장치에 비해 빠르긴 하지만 한 번 메모리에 접근할 때마다 지연시간(Latency)가 존재한다. 매번 데이터가 필요할 때마다 여러 번 메모리에 반복적으로 접근하게 되면 지연시간으로 인해 전체 시스템의 성능 저하를 초래할 수 있다. 따라서, 이러한 문제를 해결하기 위해서 등장한 메모리가 바로 “캐시 메모리”이다. 👉 캐시 메모리는 주로 SRAM으로 구성되기 때문에 “상대적으로” SDRAM보다 지연시간이 거의 존재하지 않는다! ✅ 메모리 계층 구조 동작 원리 CPU는 메인 메모리에서 데이터를 읽어올 때, 해당 데이터를 포함하여 참조 지역성의 원리에 따라 선택된..
백업이란원본 파일이 손상되거나 유실될 경우를 대비하여 원본 데이터를 미리 복제하여 어떠한 문제가 일어나도 데이터를 복구할 수 있도록 준비해두는 것을 말한다. 백업 방식백업하는 방식에는 크게 전체 백업, 차등 백업, 증분 백업이 있다. 전체 백업 (Full Backup) 👉 전체 백업은 데이터 변경 유무랑 상관없이 전체 데이터의 복사본을 만드는 백업 방식이다. 차등 백업 (Differential Backup) 👉 차등 백업은 마지막 전체 백업 이후에 변경/추가된 데이터를 모두 포함하여 백업하는 방식이다. 👉 데이터 복구 시에는 전체 백업과 마지막 차등 백업만 복원하면 되므로 증분 백업보다 복구 시간이 적게 소요된다. 증분 백업 (Incremental Backup) 👉 증분 백업은 마지막 ..
Scale Up스케일업 (Scale-up)은 기존의 하드웨어를 보다 높은 사양으로 업그레이드 하는 것을 말한다. 예로 들자면 성능이나 용량 증설을 목적으로 하나의 서버에 디스크를 추가하거나 CPU나 메모리를 업그레이드 하는 것이다. 이처럼 하나의 서버의 처리 능력을 향상시키기 때문에 수직 스케일링 (Vertical Scaling)이라고도 부른다. Scale Out스케일아웃 (Scale-out)은 서버 장비를 추가하여 확장하는 방식으로 기존 서버만으로 용량이나 성능의 한계에 도달하면 비슷한 사양의 서버를 연결해 추가된 서버 대수만큼 용량이 증가할 뿐만 아니라 워크로드를 분담해 성능을 높이는 병렬 컴퓨팅을 구현할 수 있다. 이처럼 서버를 추가로 확장하기 때문에 수평 스케일링 (Horizontal Scalin..
구문 에러 (Syntax Error)프로그래밍 언어 문법에 어긋나는 문장 때문에 발생하는 오류를 “Syntax Error”라고 한다. 주로 세미콜론이 아닌 콜론을 사용한다거나 {} 중괄호가 잘못 넣어져있다거나 등 다양한 경우가 있지만 IDE에서 자동적으로 해당 구문 오류를 잡아주기 때문에 (빨간 밑줄!!) 크게 문제되는 부분은 없다. 물론 IDE를 사용하지 않고 코딩을 해도 컴파일 과정에서 전부 검출되기 때문에 문법이 하나라도 틀렸다면 프로그램이 정상적으로 컴파일되지 않는다. 논리 에러 (Semantic Error / Logical Error)문법적 오류가 아니며 컴파일 및 실행도 정상적으로 진행되지만 개발자가 의도한 대로 실행되지 않는 프로그램 로직 상의 논리적인 오류이다.int a = 3, b = 9..