
RAID 개념RAID(Redundant Array Of Independent Disks)는 여러개의 드라이브를 하나의 논리적 드라이브로 묶어서 성능을 향상시키거나 안정성을 높이는 기술이다.RAID의 유형에는 여러가지가 있으며 유형마다 성능, 저장용량, 안정성 수준이 다르다.이러한 구성 방식을 RAID Level 이라고 부른다. RAID 구성 방식이 글에서는 자주 쓰이는 RAID 0,1,5,6,1+0 에 대해 알아볼 것이다.RAID 0 ( Striping ) RAID 0은 스트라이핑이라고도 부른다.최소 2개의 디스크로 구성되는 RAID 0은 RAID를 구성하는 모든 디스크에 데이터를 나눠서 저장한다. 전체 디스크를 모두 동시에 활용하기에 성능은 단일 디스크를 사용하는 것보다 N배 더 좋다.단, 하나의 디스..

Intro2024년 5월 13일, 브로드컴에 인수된 VMware에서 VMware Workstation Pro와 Fusion Pro에 대해 개인 사용 목적인 경우 무료로 이용할 수 있도록 정책을 변경했습니다.개인이 비 상업적 목적으로 사용하려는 경우 이제 무료로 VMware Pro를 이용할 수 있게 되었습니다. VMware WorkStation은 윈도우/리눅스용 가상화 프로그램입니다.혹시나 macOS를 이용중이라면 VMware Fusion을 설치하시길 바랍니다. VMware 설치하기VMware가 브로드컴에 인수되고 나서 브로드컴 계정이 있어야 다운로드가 가능합니다.브로드컴 회원가입 https://profile.broadcom.com/web/registration Registration profile.br..

객체지향 프로그래밍이란?객체를 먼저 만들고 객체들을 조합해 프로그램을 완성하는 방법론 위키피디아에서는 객체지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 '객체'들의 모임으로 파악하고자 하는것이라 나와있다. 객체지향 프로그래밍은 프로그램의 일부분에 해당하는 객체(object)를 먼저 만들고, 이렇게 만들어진 객체들을 조합해서 전체 프로그램을 완성하는 방법론을 의미한다. 객체(object)란 무엇인가?객체는 자신 고유의 속성(attribute)를 가지고, 행위(behavior)를 가진 것을 말한다.객체가 되기 위해서는 객체 내부에서 데이터(속성)을 갖고, 이 데이터를 활용해 행위를 할 수 있어야 한다.우리가 살고 있는 현실 세계에 존재하는 모든 것들을 ..

Intro백엔드에서 주로 쓰는 아키텍쳐는 모놀리식 아키텍쳐와 MSA로 불리는 마이크로서비스 아키텍쳐로 나뉜다.요즘 백엔드 채용공고를 살펴보면 마이크로서비스 아키텍쳐 경험을 요구하는 공고가 꽤 있는 것을 볼 수 있다.그만큼 백엔드 개발자로 취업하기 위해서는 마이크로서비스 아키텍쳐가 무엇인지 잘 알아야 한다.이 글에서는 모놀리식 아키텍쳐와 마이크로서비스 아키텍쳐에 대해 다룬다. 모놀리식 아키텍쳐 ( Monolithic )하나의 앱에 모든 기능이! 우리가 개발을 시작하면 대부분 자연스럽게 접하는 아키텍쳐가 바로 모놀리식 아키텍쳐다.모놀리식 아키텍쳐는 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합되어 있는 구조를 말한다.쉽게 말해, 하나의 코드 베이스로 이뤄진 애플리케이션이다.위 아키텍쳐 ..

Intro 개발자 아티클 큐레이터 돌핀(dolp!n) 서비스의 DB는 MongoDB Atlas라는 클라우드 MongoDB 환경에서 돌아간다. 최근 돌핀 서비스를 개선하는 과정에서 데이터베이스를 재설계하기 위해서 Atlas에 있는 데이터들을 백업받아야 했다. 이 글에서는 Atlas를 포함한 MongoDB의 데이터를 백업(dump)하고 복구(restore) 하는 방법에 대해 다룬다. 1. MongoDB Database Tools 설치MongoDB는 mongodump와 mongorestore라는 툴을 통해서 데이터를 백업하고 복구할 수 있다.이 툴들은 MongoDB 홈페이지에 있는 MongoDB Database Tools에 함께 포함되어 있다. https://www.mongodb.com/try/download..
![[트랜잭션] 트랜잭션(Transaction)이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoM7H4%2FbtsLG5nSp3h%2Fe5dCeqVhgOQSSTwoMY0JN1%2Fimg.webp)
트랜잭션데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위 트랜잭션은 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 말한다.여기서 데이터베이스의 상태를 변화시킨다는 것은 데이터베이스 연산을 의미한다.데이터베이스 연산에는생성(INSERT)조회(SELECT)업데이트(UPDATE)삭제(DELETE)가 있다. 여기서 작업 단위는 하나의 데이터베이스 연산을 말하는 것이 아니다.작업 단위는 논리적으로 여러 데이터베이스 연산을 하나로 묶은 걸 말한다. 예시로 이체 과정이 있다. '현주'가 '재혁'에게 밥값 2만원을 송금해야 한다고 생각해보자.이때 데이터베이스에서는1. '현주'의 계좌에서 2만원을 출금2. '재혁'의 계좌에 2만원을 입금이 2가지 연산을 해야 한다. 이 2가지 연산은 논리적으로 '..
![[WSL] WSL(Windows Subsystem for Linux) 개념부터 설치까지](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwpjx0%2FbtsF2TeW9tN%2FZHtwT0WZ4u9jzDdsrC344K%2Fimg.png)
이 글의 내용은 Microsoft Learn의 WSL 파트를 참고하여 작성되었습니다. WSL? Windows Subsystem for Linux의 약자로, 윈도우에서 리눅스 배포판을 사용할 수 있는 기술을 말합니다. WSL 1 vs WSL 2 WSL 1에 비해 WSL 2에는 많은 변화가 생겼습니다. WSL 1은 윈도우 커널 위에 리눅스 커널 인터페이스를 사용해 변환계층으로 실행됩니다. 윈도우 환경에서 리눅스 파일을 실행하기 위한 에뮬레이터가 WSL 1이다라고 생각하시면 쉬울 듯합니다. WSL 2에서는 Hyper-V 기능의 하위 집합을 통해 실행되는 실제 리눅스 커널을 포함하여 성능이 크게 향상되었습니다. 또한 파일 I/O 성능 역시 WSL 2가 훨씬 빠릅니다. 기능 WSL 1 WSL 2 Windows와 ..