인기글

유니코드(Unicode)와 아스키 코드(ASCII)

🖥️ 컴퓨터는 글자를 어떻게 읽을까?컴퓨터는 텍스트(A, 가, 😊) 자체를 직접 이해하지 못하고,오직 0과 1로 이루어진 이진수 데이터만 처리할 수 있습니다. 따라서 사람이 사용하는 문자를 컴퓨터가 인식할 수 있는 고유한 '숫자(코드)'로 변환하여 저장해야 합니다.마치 'A는 65, B는 66'처럼 문자와 숫자를 1:1로 매핑하는 규칙이 필요한데, 이 과정을 문자 인코딩(Character Encoding)이라고 부릅니다.🅰️ ASCII란?1960년대 미국에서 제정된 영문자 기반의 문자 인코딩 표준입니다. 초기 컴퓨터 환경에서는 메모리 용량이 매우 제한적이었습니다.따라서 필수적인 영문 알파벳과 숫자, 특수기호 정도만 표현할 수 있는 가벼운 규격이 필요했고,그렇게 등장한 것이 아스키코드(American..

데이터 인코딩 2025.04.01 0

CPU 와 기억장치(주기억, 보조기억)

💻 CPU와 기억장치컴퓨터가 ‘생각’하고 ‘기억’하는 방식.컴퓨터의 핵심 두 부분, CPU와 기억장치(주기억, 보조기억)를 정리합니다.🧠 중앙처리장치 (CPU: Central Processing Unit)컴퓨터의 두뇌 역할을 하는 장치입니다.명령을 받아들이고 해석하고, 실제 연산을 수행하는 중심적인 처리장치예요.📌 구성 요소구성 요소설명프로그램 카운터 (PC)다음에 실행할 명령어의 주소를 저장명령 레지스터 (IR)현재 실행 중인 명령어를 저장명령 해독기 (Decoder)명령어를 분석해 어떤 연산을 해야 할지 결정부호기 (Encoder)필요한 제어 신호를 만들어내는 회로메모리 주소 레지스터 (MAR)접근할 메모리 주소를 기억메모리 버퍼 레지스터 (MBR)주기억장치와 데이터를 주고받는 임시 저장 공간?..

컴활 1급 2025.06.20 0

슈퍼클래스 & 서브클래스 (상속)

🧬 슈퍼클래스 & 서브클래스 (상속)자바 OOP를 공부하다 보면 꼭 마주치는 개념입니다.헷갈릴 때마다 꺼내볼 수 있게 한번 정리해 보겠습니다 ✨🤷 슈퍼클래스 & 서브클래스란?객체지향 프로그래밍에서는 클래스 간에 상속(Inheritance) 관계를 맺을 수 있습니다.용어의미👴 슈퍼클래스 (Superclass)부모 클래스 — 기능을 물려주는 클래스👶 서브클래스 (Subclass)자식 클래스 — 기능을 물려받는 클래스슈퍼클래스는 base class, parent class,서브클래스는 derived class, child class 라고도 불러요.🤔 쉽게 생각해보자면,부모의 특징을 자식이 물려받는 것처럼, 슈퍼클래스의 필드와 메서드를 서브클래스가 그대로 사용할 수 있습니다.여기에 서브클래스만의 기능을..

Java 2025.04.13 0

최신글

more

부동소수점 오차 해결하기

🔢 부동소수점 오차 — 0.1 + 0.2가 0.3이 아니라고?코드를 짜다가 0.1 + 0.2 == 0.3이 false가 나와서 당황한 적 있으신가요? 😅언어 버그가 아닙니다. 컴퓨터가 소수를 저장하는 방식 때문에 생기는 문제예요.🧠 부동소수점 오차란?컴퓨터는 숫자를 이진수(0과 1)로 저장합니다.그런데 0.1 같은 소수를 이진수로 변환하면 0.0001100110011... 처럼 끝없이 반복되는 무한소수가 됩니다.10진수에서 1/3 = 0.333...이 무한히 반복되는 것처럼요.컴퓨터는 무한히 저장할 수 없으니 일정 자리에서 잘라서 저장합니다.이때 잘린 만큼 아주 작은 오차가 생기고, 그게 바로 0.1 + 0.2 = 0.30000000000000004가 되는 이유예요 😅자세한 원리는 🔗 부동소수점..

부동소수점과 IEEE 754

🔢 부동소수점과 IEEE 754 — 0.1은 왜 정확히 저장되지 않을까?0.1 + 0.2가 0.3이 아니라는 걸 알았는데, 왜 그런 건지 궁금하지 않으셨나요? 😊이 글에서는 컴퓨터가 소수를 저장하는 방식을 직접 파헤쳐봅니다.🧠 부동소수점이란?부동(浮動)은 "떠서 움직인다" 는 뜻입니다.소수점이 고정되어 있지 않고 자유롭게 이동할 수 있다는 의미예요.예를 들어 0.00123을 이렇게 표현할 수 있죠.0.00123 = 1.23 × 10⁻³소수점이 지수에 따라 이동하는 방식입니다.📐 IEEE 754란?1985년 전기전자공학자협회(IEEE)가 제정한 부동소수점 연산 표준입니다.컴퓨터가 소수점이 있는 숫자를 어떻게 저장하고 계산할지 규칙을 정해둔 것으로,C, Python, Java를 포함한 대부분의 언어와..

컴퓨터 구조 2026.06.08 0

SQL 기초 - INSERT INTO SELECT

📥 INSERT INTO SELECTINSERT INTO SELECT는 다른 테이블의 조회 결과를 기존 테이블에 삽입하는 구문입니다.SELECT INTO와 달리 대상 테이블이 존재해야 해요!📋 예시 테이블 — studentsidnamegradescoreteacher_id1김철수18512이영희2NULL13박민준19024최지원372NULL5정수현2NULL26한지민17817윤서준39528강다은28819임현우3NULL210오지아165NULLCREATE DATABASE IF NOT EXISTS practice;USE practice;DROP TABLE IF EXISTS students;DROP TABLE IF EXISTS students_backup;CREATE TABLE students ( id ..

SQL 기초 2026.04.17 0

SQL 기초 - SELECT INTO (테이블 복사)

📋 SELECT INTO - 테이블 복사하기테이블 데이터를 백업하거나 특정 조건으로 새 테이블을 만들고 싶을 때가 있습니다.SELECT INTO를 쓰면 조회 결과를 바로 새 테이블로 복사할 수 있습니다 😊📋 예시 테이블 — studentsidnamegradescoreteacher_id1김철수18512이영희2NULL13박민준19024최지원372NULL5정수현2NULL26한지민17817윤서준39528강다은28819임현우3NULL210오지아165NULLCREATE DATABASE IF NOT EXISTS practice;USE practice;DROP TABLE IF EXISTS students;CREATE TABLE students ( id INT, name VARC..

SQL 기초 2026.04.16 0

SQL 기초 - IN, EXISTS, ANY, ALL

🔎 서브쿼리와 함께 쓰는 연산자 — IN, EXISTS, ANY, ALLOR로 조건을 하나씩 나열하다 보면 쿼리가 끝없이 길어질 때가 있습니다.예를 들어 특정 학생들만 조회하려면... 👇👇SELECT name FROM studentsWHERE name = '김철수' OR name = '박민준' OR name = '윤서준' OR name = '강다은';반복되는 name = 과 OR... 뭔가 좀 간단하게 쓸 수 있는 방법 없나... 생각해 보신적 없나요? 😂바로 이럴 때 IN 같은 연산자를 쓰면 됩니다. 서브쿼리와 함께 자주 쓰이는 IN, EXISTS, ANY, ALL을 한번에 정리해봤습니다!📋 예시 테이블students 테이블idnamegradescoreteacher_id1김철수18512이영희..

SQL 기초 2026.03.31 0

SQL 기초 - 서브쿼리(Subquery)

🔍 서브쿼리 (Subquery)WHERE score > AVG(score) — 딱 될 것 같은데 실제로 실행하면 오류가 납니다 😱WHERE 절에서는 집계 함수를 직접 쓸 수 없거든요... 이럴 때 서브쿼리로 먼저 평균을 구하고, 그 결과를 조건으로 넘겨주면 됩니다!📋 예시 테이블 — studentsidnamegradescoreteacher_id1김철수18512이영희2NULL13박민준19024최지원372NULL5정수현2NULL26한지민17817윤서준39528강다은28819임현우3NULL210오지아165NULLCREATE DATABASE IF NOT EXISTS practice;USE practice;DROP TABLE IF EXISTS students;CREATE TABLE students ( ..

SQL 기초 2026.03.31 0

SQL 기초 - JOIN

🔗 SQL JOIN — 테이블을 연결하는 방법JOIN을 처음 봤을 때 왜 이렇게 종류가 많나 싶었습니다.막상 쓰다 보면 결국 INNER랑 LEFT 두 개만 주로 쓰게 되더라고요 😅📋 예시 테이블students 테이블idnamegradescoreteacher_id1김철수18512이영희2NULL13박민준19024최지원372NULL5정수현2NULL26한지민17817윤서준39528강다은28819임현우3NULL210오지아165NULLteachers 테이블idnamesubject1김선생수학2이선생영어3박선생과학CREATE DATABASE IF NOT EXISTS practice;USE practice;DROP TABLE IF EXISTS students;DROP TABLE IF EXISTS teachers;C..

SQL 기초 2026.03.27 0

SQL 기초 - CASE

🔀 조건에 따라 값을 바꾸는 방법?CASE를 쓰면 SQL 안에서 if-else처럼 처리할 수 있습니다 😊CASE는 조건을 평가해 해당하는 값을 반환하는 표현식입니다.SELECT, ORDER BY, GROUP BY 등 다양한 곳에서 사용할 수 있어요!📋 예시 테이블 — studentsidnamegradescoreteacher_id1김철수18512이영희2NULL13박민준19024최지원372NULL5정수현2NULL26한지민17817윤서준39528강다은28819임현우3NULL210오지아165NULLCREATE DATABASE IF NOT EXISTS practice;USE practice;DROP TABLE IF EXISTS students;CREATE TABLE students ( id ..

SQL 기초 2026.03.23 0

Mac에서 MySQL 설치하기 (feat. Homebrew)

🐬 Mac에서 MySQL 설치하는 법 (feat. Homebrew)저는 MySQL 설치할 때 공식 사이트 DMG 파일보다 Homebrew로 하는 게 더 관리하기 편하더라구요.그래서 Homebrew로 설치하는 방법을 정리해봤습니다! 😀🍺 Homebrew 설치 확인Homebrew는 macOS에서 패키지를 쉽게 설치하고 관리할 수 있는 패키지 매니저입니다.MySQL 설치 전에 먼저 Homebrew가 설치되어 있는지 확인하세요.버전 확인(설치 확인)brew --version아래처럼 버전이 출력되면 이미 설치된 것입니다출력 예시Homebrew x.x.x설치가 안 되어 있다면 아래 명령어로 먼저 설치하세요!Homebrew 설치/bin/bash -c "$(curl -fsSL https://raw.githubus..

MySQL 2026.03.21 0