본문 바로가기

전체 글181

컴퓨터의 구성 컴퓨터가 가지는 구성에 대해 알아보자 컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나누어진다. 하드웨어 : 컴퓨터를 구성하는 기계적 장치 소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어 집합 하드웨어 중앙처리장치(CPU) 기억장치 : RAM, HDD 입출력 장치 : 마우스, 프린터 소프트웨어 시스템 소프트웨어 : 운영체제, 컴파일러 응용 소프트웨어 : 워드프로세서, 스프레드시트 먼저 하드웨어부터 살펴보자 하드웨어는 중앙처리장치(CPU), 기억장치, 입출력장치로 구성되어 있다. 이들은 시스템 버스로 연결되어 있으며, 시스템 버스는 데이터와 명령 제어 신호를 각 장치로 실어나르는 역할을 한다. 중앙처리장치(CPU) 인간으로 따지면 두뇌에 해당하는 부분 주기억장치에서 프로그램 명령어와 데이터를 읽어와.. 2023. 12. 6.
[React] TTF, OTF 폰트 적용하기 처음 프로젝트를 하면서 기본폰트를 사용하였는데 OS 환경이나 브라우저에 따라 폰트가 다르게 적용되는 것을 알게되었다. 그래서 화면의 통일성을 위해 폰트를 적용하기로 했다. 폰트 다운받기 예전에 개인적으로 맘에 들어서 저장한 카카오폰트를 사용하였는데 그 외에 다양한 온라인 폰트가 있으니 맘에 드는 걸 otf, ttf 형식으로 다운받으면 된다. 프로젝트에 적용하기 React 애플리케이션에서 폰트를 설정하고 사용하는 다양한 방법 중 나는 @font-face를 사용하여 폰트파일을 로드하고 적용했다. 1. 폰트파일을 프로젝트에 추가하기 먼저 TTF 또는 OTF 형식의 폰트 파일을 src/public/font 폴더 안에 추가한다. src/ └── public/ └── fonts/ ├── KakaoBold.ttf ├.. 2023. 12. 5.
Manifest: Line: 1, column: 1, Syntax error 에러 해결하기 CRA로 리액트 프로젝트를 생성하면 minifest.json이 생성된다 manifest는 웹앱에 대한 정보를 담고있는 json인데 배경색, 파비콘, 어떤 확장자 등을 담고있다 해결법 manifest 앞에 / 를 붙인다. => 2023. 12. 4.
<<, >> 쉬프트 연산자 이진수로 표현된 숫자의 비트들을 > 오른쪽으로 지정된 수만큼 이동시킨다 a >> b a를 오른쪽으로 b만큼 자리를 이동 const a = 14; // 11101 const b = 3; console.log(a >> b); // 1 14를 이진수로 나타내면 11101이고 이를 오른쪽으로 3번 이동하면 1이다. 이는 주로 비트연산이나 효율적인 방식으로 곱하거나 나눌때 사용된다 i >> 1 i를 2로 나누는 연산과 동일하다. i의 가장 오른쪽 자리수를 제거한다. i가 짝수인지 홀수인지 판단하기 i & a & 는 비트 단위 AND연산자이며 이를 이용하여 이진수로 표현된 i의 가장 오른쪽 자리를 체크한다. 짝수이면 0, 홀수이면 a를 반환한다. >>> 부호와 상관없이 오른쪽으로 시프트 연산을 수행하고 왼쪽 빈자리.. 2023. 11. 27.
[프로그래머스] 코딩테스트 공부 https://school.programmers.co.kr/learn/courses/30/lessons/118668 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 당신은 코딩 테스트를 준비하기 위해 공부하려고 합니다. 코딩 테스트 문제를 풀기 위해서는 알고리즘에 대한 지식과 코드를 구현하는 능력이 필요합니다. 알고리즘에 대한 지식은 알고력, 코드를 구현하는 능력은 코딩력이라고 표현합니다. 알고력과 코딩력은 0 이상의 정수로 표현됩니다. 문제를 풀기 위해서는 문제가 요구하는 일정 이상의 알고력과 코딩력이 필요합니다. 예를 들어, 당신의 현재 알고력이 15, 코딩력이 10이라고 가정해보겠습니다. A라는 문제가 알고력 10, 코딩력 10을 요구한다면 A 문제를 풀 수 있습니다... 2023. 11. 25.
우선순위 큐, 힙 우선순위 큐에 대하여 알아보고 힙 자료구조를 통하여 JS 코드로 어떻게 짜는지에 대하여 알아보자. 🧲 우선순위 큐란? 일반 FIFO인 큐와 다르게 우선순위가 높은 노드 먼저 나갈 수 있다. 최솟값이나 최댓값을 빠르게 찾아내기 위해 완전 이진 트리를 사용한다 🧲 구현 배열 및 연결리스트로 구현 간단히 구현이 가능한 장점이 있지만 데이터를 삭제 및 삽입해야할 경우 모든 인덱스를 탐색하는 과정이 있기 때문에 시간복잡도가 O(N)이 되므로 상대적으로 성능이 부족하다 힙으로 구현 구현이 어렵지만 enqueue, dequeue 시간 복잡도가 O(logN)이다 단순히 N개의 데이터를 힙에 넣었다가 모두 꺼내는 작업은 힙 정렬과 동일하며 이 경우엔 O(NlogN)이다. 🧲 구현 방법에 따른 시간 복잡도 🧲 힙이란 O(.. 2023. 11. 22.