본문 바로가기

JS10

스레드(Thread)란? 소프트웨어 개발을 하다 보면 "스레드(Thread)"라는 용어를 자주 접하게 됩니다. 특히, 운영체제(Operating System, OS)와 멀티스레딩 프로그래밍에서 중요한 개념입니다. 이번 포스팅에서는 스레드의 개념, 싱글 스레드 vs 멀티 스레드, 장점과 단점, 그리고 실전 예제까지 한 번에 정리해보겠습니다.1. 스레드(Thread)란?스레드는 프로세스(Process) 내에서 실행되는 가장 작은 작업 단위입니다.✅ 프로세스(Process) vs. 스레드(Thread)개념 프로세스(Process) 스레드(Thread)정의실행 중인 프로그램프로세스 내에서 실행되는 작은 작업 흐름독립성서로 독립적 (메모리 공간 분리)같은 프로세스 내에서 메모리를 공유자원 할당별도의 메모리 공간 할당스레드끼리 메모리(He.. 2025. 2. 19.
동기(Synchronous) vs 비동기(Asynchronous)의 의미 차이 📌 동기(Synchronous) vs 비동기(Asynchronous)의 의미 차이1️⃣ 일반적인 영어에서의 뜻Synchronous → 동시에 일어나는Asynchronous → 동시에 일어나지 않는✅ 예를 들어, 두 사람이 똑같이 10시에 줌 미팅을 시작하면➡️ Synchronous Meeting(동기적 회의) ✅ 반대로, 한 명은 10시에, 한 명은 11시에 강의를 듣는다면➡️ Asynchronous Learning(비동기 학습)2️⃣ 프로그래밍에서의 "동기(Synchronous)" 의미프로그래밍에서는 "동시에 실행되는가?"가 아니라 "작업이 끝날 때까지 기다리는가?"가 중요한 개념이에요.✔ 동기(Synchronous):💡 "한 작업이 끝날 때까지 다음 작업을 기다리는 방식"console.log("A.. 2025. 2. 18.
Three.js란? Three.js란?1️⃣ Three.js는 무엇인가요?Three.js는 웹에서 3D 그래픽을 쉽게 만들 수 있도록 도와주는 자바스크립트 라이브러리입니다.웹 브라우저에서 3D 그래픽을 표현하려면 WebGL(Web Graphics Library)이라는 기술을 사용해야 하지만, WebGL은 코드가 복잡하고 배우기가 어렵습니다.Three.js는 이런 어려운 WebGL을 쉽게 사용할 수 있도록 도와주는 역할을 합니다.2️⃣ Three.js를 사용하면 어떤 점이 좋을까요?✅ 쉽게 3D 그래픽을 구현 가능 → WebGL을 직접 다루지 않아도 된다.✅ 웹 브라우저에서 바로 실행 가능 → 별도 프로그램 설치 없이 가능하다.✅ 강력한 기능 제공 → 조명, 애니메이션, 3D 모델 불러오기 등을 쉽게 처리할 수 있다.✅ 다양.. 2025. 2. 10.
자바스크립트의 Rest Parameter (나머지 매개변수) Rest Parameter란?Rest Parameter는 함수 매개변수로 전달된 나머지 인수들을 배열로 묶어주는 기능입니다.매개변수 이름 앞에 ...(점 3개, 스프레드 연산자) 를 붙여 선언합니다.함수 호출 시 전달된 인수의 개수가 고정되지 않았을 때, 가변 인수를 처리하기 위해 사용합니다.2️⃣ 기본 문법function myFunction(...rest) { console.log(rest); // 전달된 모든 인수가 배열로 출력됨}...rest는 함수 호출 시 넘겨받은 모든 나머지 인수를 배열로 저장합니다.반드시 마지막 매개변수로 선언해야 합니다.3️⃣ Rest Parameter 사용 예제예제 1: 모든 인수 출력하기function logAllArguments(...args) { console.l.. 2025. 1. 7.
함수로 알아보는 자바스크립트: 일급 객체와 즉시 호출 함수(IIFE) 1️⃣ 값으로서의 함수란?자바스크립트에서 함수는 단순히 "코드 블록"이 아니라 값처럼 다뤄질 수 있는 특별한 객체입니다.이러한 특성을 통해 자바스크립트의 함수는 다음과 같은 특징을 가집니다:특징변수에 할당할 수 있습니다.다른 함수의 인자로 전달될 수 있습니다.다른 함수의 반환값이 될 수 있습니다.데이터 구조(배열, 객체)에 저장할 수 있습니다.이러한 조건을 모두 만족하는 함수를 "일급 객체(First-Class Function)"라고 부릅니다.2️⃣ 함수의 일급 객체 특성특성 1: 함수는 변수에 할당할 수 있다.const sayHello = function () { console.log("Hello, world!");};sayHello(); // "Hello, world!"함수가 변수 sayHello에.. 2025. 1. 7.
자바스크립트 함수 선언과 함수 표현식 📘 함수 선언 vs 함수 표현식1️⃣ 함수 선언 (Function Declaration)형태function 키워드를 사용하여 이름 있는 함수를 정의합니다.특징호이스팅 지원:  선언된 함수는 코드 실행 전에 메모리 상단으로 끌어올려져 선언 전에 호출이 가능합니다.전역 또는 함수 스코프:  함수 선언 위치에 따라 전역 스코프 또는 함수 내부 스코프에서 사용됩니다.예제// 함수 선언function sayHi() { console.log('Hi!');}// 호출sayHi(); // "Hi!"호이스팅 예제sayHi(); // 정상 실행function sayHi() { console.log('Hi!');}함수 선언은 코드 실행 전에 선언부가 호이스팅되므로 호출이 가능합니다.전역 또는 함수 스코프 예제함수 선언.. 2025. 1. 7.