분류 전체보기 134

CodeRabbit AI - AI기반 코드 리뷰

AI기반 코드 리뷰와 해결책 제안 https://www.coderabbit.ai/ AI Code Reviews | CodeRabbit | Try for FreeMost advanced AI code reviews that catches 95%+ bugs. Free your devs to ship code faster.www.coderabbit.ai 로그인 후, 깃헙 레포 연동해서 사용 가능 .coderabbit.yaml속성값 관련 문서# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.jsonlanguage: "ko-KR"early_access: falsereviews: profile: "assertive" #..

tools 2025.05.04

프로세스와 스레드 (운영체제)

프로세스는 운영 체제의 기능 중 하나이다.프로세스 : 실행중인 프로그램. - 운영체제는 프로세스를 관리하고, 필요한 자원(메모리,CPU을 나눠준다.스레드 : 프로세스 내에서 실제로 코드를 실행하는 단위.- 하나의 프로세스 내에 여러개의 스레드를 가지고 동시에 여러 작업 실행 프로세스는 메모리에서 아래의 영역으로 나뉘어 저장된다.(커널 영역) 프로세스 제어 블록(PCB) (사용자 영역) - 코드 : 읽기 전용 공간 - 데이터 : 프로그램 실행 중 유지되는 정적 변수와 전역 변수 저장 공간 - 힙 : 동적 메모리 할당(메모리 누수 발생 주의) - 스택 : 일시적으로 사용되는 변수와 함수 호출 정보 저장 공간 [프로세스 제어 블록(PCB)]운영 체제의 커널이 프로세스를 식별하기 위해 필요한 정보를 포함하..

CS 2025.05.04

운영체제의 큰 그림

운영체제는 컴퓨터가 작동할 수 있게 도와주는 가장 기본적인 프로그램이다.운영체제를 학습한다는 건 하드웨어를 소프트웨어적으로 어떻게 관리하는가에 대해 학습하는 것이라고 볼 수 있다. 운영체제는 '커널'을 포함한 하나의 프로그램이며, 메모리에 적재되어 실행된다 (메모리에 적재되는 전용 영역 존재)커널 - 운영 체제의 심장, 컴퓨터 하드웨어와 사용자 프로그램을 연결해주는 소프트웨어. 커널의 주 역할 : 프로세스 관리(1), 메모리 관리 (2) , 파일 시스템 관리 (3) , 입출력 관리 (4) 1. 프로세스 관리- 커널은 프로세스들의 생성, 스케줄링, 종료 등 관리- 여러 프로그램들이 실행될 때 공정하게 cpu를 나눠쓰게 만든다 2. 메모리 관리- 여러 프로그램들이 동시에 메모리를 사용할 때, 커널은 프..

CS 2025.04.27

보조기억장치, 입출력장치

보조기억장치 : 데이터를 영구적으로 저장하는 장치 (ex. 하드디스크, SSD(Solid State Drive), USB메모리 등) 입출력 장치 : 외부와 데이터를 주고받는데에 사용하는 모든 장치 *하드디스크 : 데이터를 '자기적으로' 저장하는 보조 기억 장치.- SSD보다 저렴하지만 속도가 느리고, 소음 발생 가능성*SSD : '플래시 메모리'를 사용해 데이터를 저장하는 보조 기억 장치.- 빠른 속도, 저소음, 하드디스크보다 비용 높음*플래시 메모리 : 전원이 없어도 데이터를 유지하는 '반도체 메모리'-SSD, USB메모리, SD카드 등에 사용RAID: 여러개의 '물리적인 저장 장치'를 묶어서 '하나의 논리적인 저장 장치' 처럼 사용하는 기술 - > 데이터 안정성과 성능을 높이는데에 사용 RAID 0 ..

CS 2025.04.21

메모리

램 : 휘발성 저장장치(volatile memory) - 실행할 프로그램 저장 메인메모리, RAM - random access memory(임의 접근 저장장치) 임의 접근 (random access) 방식: 순차적 접근 할 필요 없이 임의의 위치에 곧바로 접근 램 종류 DRAM(Dynamic RAM) SRAM(Static RAM) SDRAM(Synchronous Dynamic RAM) DDR SDRAM(Double Data Rate SDRAM) DRAM: 소비 전력이 낮고 집적도가 높음(소멸을 막기 위해 일정 주기로 데이터 재활성화) SRAM: DRAM보다 속도는 빠르지만 소비 전력이 크고, 가격이 비싸며 집적도가 낮다 (속도가 빨라야 하는 저장장치-캐시메모리 등에서 사용) SDRAM : DRAM의 발..

CS 2025.04.16

리액트 렌더링에 대해서

서버사이드 렌더링의 장점과 어디에 사용하는것이 과연 적절한가에 대해 과하게 자주 고민하게 되어 한번 더 정리 겸 주절대는 것 main.tsximport { StrictMode } from 'react';import { createRoot } from 'react-dom/client';import './index.css';import App from './App';createRoot(document.getElementById('root')!).render( ,);- 해당 코드가 모든 리액트 앱의 진입점입니다-> 전체 DOM 생성 후 빈 페이지/요소 에 주입하는 과정이 '클라이언트 사이드 렌더링,CSR' 입니다 리액트 기본 실행 시 브라우저에서의 html 코드 리액트로 작성한 모..

CPU - 성능 개선

CPU 성능 향상을 위한 방법으로 클럭 속도 증가, 멀티코어 및 멀티스레드 설계에 대해  # CPU, 클럭 속도, 멀티코어, 멀티스레드, 병렬성 - CPU 성능을 높이는 가장 기본적인 방법은 클럭 속도를 높이는 것- 멀티코어는 명령어를 읽고 해석하는 CPU 내의 여러 코어를 의미- 멀티스레드는 하나의 코어가 동시에 여러 명령어를 처리할 수 있는 기능- 하드웨어적인 쓰레드와 소프트웨어적인 쓰레드는 서로 다른 개념으로 이해해야 한다- 병렬성과 동시성의 차이를 이해하는 것이 중요  CPU 클럭 속도 - 클럭(colck) : 컴퓨터의 부품을 일사불란하게 움직일 수 있게 하는 '시간의 단위' (속도는 Hz 단위로 측정) - 클럭 속도 = CPU의 속도    -> 필요 이상으로 높이면 발열이 심해질 수 있어 이것만..

CS 2025.04.06

클라이언트 컴포넌트는 서버 컴포넌트를 직접 import 할 수 없음 (Next.js)

// app/page.tsx (서버 컴포넌트 - 기본)import MyClientComponent from './MyClientComponent';export default function Page() { return ;} // app/MyClientComponent.tsx'use client';import MyServerComponent from './MyServerComponent'; // ❌ 에러 발생export default function MyClientComponent() { return ( {/* ❌ 이건 안 됨 */} );}  이유 : 클라이언트 컴포넌트는 브라우저에서 실행되는데, 서버 컴포넌트는 서버에서 실행되어야 하므로 서버 컴포넌트를 브라우저로 번들링 불..

CPU-인터럽트

CPU의 인터럽트 사이클과 그 종류, 처리 과정에 대해 인터럽트(interrupt) : CPU의 작업 흐름을 방해하는 신호 동기 인터럽트 (synchoronous interrupts)/ 예외(exeption) - cpu에 의해 발생 (cpu가 프로그래밍 오류 등의 예외 상황을 마주쳤을 때 발생하는 인터럽트) 비동기 인터럽트 (asynchoronous interrupts) / 하드웨어 인터럽트 *** - 주로 입출력장치에 의해 발생하는 인터럽트  (ex. 세탁기나 전자레인지의 완료알림 등) - 키보드, 마우스 등의 장치 : 특정 입력을 받아들였을 때, 이를 처리하기 위해 cpu에 입력 알림(인터럽트) 전송 [일반적으로 비동기 인터럽트 자체를 '인터럽트' 라고 칭하기도 하지만, 용어의 혼동을 방지하기 위해 ..

CS 2025.04.02

MCP

MCP(model context protocol) - 인공지능이 다양한 프로그램을 활용해 작업을 수행할 수 있도록 하는 방법 * 기존의 ChatGPT, Grok 등의 ai에 존재하던 기능인데, 갑자기 유독 mcp가 화제가 된 이유 - 기존에는 한정적인 프로그램들에 한해서 ai 자체 학습이 가능했지만, mcp 사용시 누구나 쉽게 인공지능이 사용할 프로그램을 제작할 수 있고 ai가 자체적으로 사용 가능 또한, 어떤 ai 툴이든 사용(연동) 가능 (mcp 자체적으로 연결 표준 제시) -> 이는 서비스 자체적으로 mcp 프로그램을 제공할 경우,  해당 mcp 프로그램 혹은 앱을 설치하여, AI에게 지시를 하는 것 만으로 모든 행위가 가능해진다는 의미 현재 supabase, google, github 등 다양한 ..