전체 글

모두 행복하세요. (❁´▽`❁)
알고리즘

[코드트리 조별과제] 1주차 레포트

https://www.codetree.ai/forum/no-free-lunch/report 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai코드트리는 이전에 지인이 소개해준적이 있어서 가입만 하고 사용해본적은 없었다..학생인 내가 감당하기엔 조금 비쌌기 때문..근데 저번주에 갑자기 문자가 하나 왔다..6주동안 무료로 체험할 수 있다니..이런 좋은 기회가..바로 친구들에게 알려주고 코드트리를 시작했다.그냥 단순히 원하는 과정을 시작할 수 있지만위처럼 진단 테스트를 통해 내 실력을 바탕으로 적합한 수준의 과정을 추천받을 수도 있다. 진단 결과를 바탕으로 적합한..

CS

정적 배열(Static Arrays)과 동적 배열(Dynamic Arrays)

데이터 구조에서 배열은 메모리 할당 개념에 따라 두 가지 방식으로 정의될 수 있다.배열의 유형기본적으로 배열에는 두 가지 유형이 있다.정적 배열 : 컴파일 타임에 고정된 크기의 메모리가 할당됨. 이 배열의 크기를 변경하거나 업데이트 할 수 없음 O(1)동적 배열 : 메모리가 런타임에 할당되지만 크기는 고정되지 않음.  배열의 크기를 변경하거나 업데이트가 가능. O(N)정적 배열과 동적 배열의 예시int a[5] = {1, 2, 3, 4, 5}; //Static Integer Arrayint *a = new int[5]; //Dynamic Integer Array정적 배열 : int a[5] = {1, 2, 3, 4, 5};a라는 배열은 1, 2, 3, 4, 5 의 값으로 선언과 동시에 초기화 된다. 따라..

CS

하이퍼바이저(Hypervisor)

하이퍼 바이저란?가상머신 하이퍼바이저(Hypervisor)는 컴퓨터 하드웨어 위에서 다수의 운영체제를 동시에 실행할 수 있게 해주는 소프트웨어이다. 하이퍼바이저는 기본적으로 물리적 호스트 시스템에서 실행되며, 각 가상머신(VM)은 독립적으로 운영체제를 실행할 수 있다. 하이퍼바이저는 두 가지 주요 유형으로 나뉜다타입 1(베어 메탈)과 타입 2(호스트형) 하이퍼바이저이다.타입 1 하이퍼바이저 (베어 메탈)- 정의: 직접 하드웨어에서 실행되며, 운영체제 없이 바로 물리적 서버의 리소스를 관리.- 예시: VMware ESXi, Microsoft Hyper-V, Xen- 특징: 더 나은 성능과 보안, 낮은 오버헤드, 더 높은 안정성타입 2 하이퍼바이저 (호스트형)- 정의: 기존 운영체제 위에서 실행되는 하이퍼바..

C

LLVM

LLVMLLVM은 "Low Level Virtual Machine"의 약자로, 다양한 프로그래밍 언어에 대해 고성능 컴파일러와 런타임 환경을 제공하는 오픈 소스 컴파일러 인프라 프로젝트이다. LLVM은 유연하고 확장 가능한 설계로 인해 많은 연구 프로젝트와 상용 소프트웨어에서 활용되고 있으며, 컴파일러 개발과 최적화 기술 연구 분야에서 중요한 역할을 하고 있다.LLVM을 짧게 요약하자면 컴파일러 툴체인(컴파일러를 만들기 위한 도구 모음)이다! LLVM의 github 는 아래와 같다.https://github.com/llvm/llvm-project GitHub - llvm/llvm-project: The LLVM Project is a collection of modular and reusable comp..

CS

도커와 VM의 차이

도커와 VM(가상 머신)의 차이에 대해 알아보자도커 (Docker)도커는 컨테이너 기술을 사용하여 소프트웨어 애플리케이션을 격리된 환경에서 실행할 수 있게 하는 플랫폼이다.도커 컨테이너는 애플리케이션과 그 종속성을 하나의 패키지로 묶어서, 어디서든 동일하게 실행할 수 있도록 한다. 가상머신 (Virtual Machine, VM)가상머신은 물리적인 하드웨어 위에서 여러 개의 독립된 운영체제를 실행할 수 있게 하는 기술이다.VM은 하이퍼바이저(가상화 소프트웨어)를 사용하여 물리적 자원을 분할하고, 각 VM이 독립된 시스템처럼 작동하도록 한다.  하이퍼 바이저에 대한 설명은 하단 링크에 들어가 살펴보자https://jspark33.tistory.com/116아래의 그림은 도커와 VM의 작동 방식을 나타낸 그림..

CS

웹어셈블리란?

웹 어셈블리?WebAssembly는 JavaScript의 효율적인 대안으로 설계되었으며1. 성능2. 이식성3. 상호 운용성이라는 3가지의 큰 특징을 가진다.WebAssembly는 최신 웹 브라우저에서 실행할 수 있는 새로운 유형의 코드이다.어셈블리라 해서 언어라고 생각할 수 있지만 언어는 아니다. WebAssembly는 직접 코드를 작성해서 만드는 것이 아니라 C, C++, RUST 등의 소스 언어를 컴파일하여 생성하는 바이너리코드이다.웹어셈블리는 웹 플랫폼에 큰 영향을 미치는데, 이전에는 불가능했던 클라이언트 앱을 웹에서 실행하여 여러 언어로 작성된 코드를 네이티브에 가까운 속도로 웹에서 실행할 수 있는 방법을 제공한다.쉽게 말해 c언어로 작성한 로직을 웹에서도 실행할 수 있다!이러한 웹 어셈블리로 컴..