JavaScript canvas로 이미지 리사이즈
·
Programing/javascript
클라이언트에서 최적화, 서버에서 효율적인 저장이미지 업로드는 대부분의 웹 서비스에서 빈번하게 발생하는 작업입니다. 특히 모바일 기기와 고해상도 카메라의 보급으로 인해, 사용자들이 업로드하는 이미지의 해상도와 파일 용량은 지속적으로 증가하고 있습니다. 이러한 고용량 이미지들은 서버 부하를 가중시키고, 전송 속도를 저하시켜 사용자 경험을 악화시키는 원인이 될 수 있습니다.이를 해결하기 위한 방법 중 하나는 클라이언트 측에서 이미지를 사전 리사이즈하는 것입니다. 사용자가 업로드하기 전에 브라우저에서 이미지의 크기와 용량을 줄이면, 다음과 같은 장점이 있습니다:서버 저장 공간 절약네트워크 전송 속도 향상업로드 대기 시간 단축사용자 불만 감소JavaScript에서 이미지 리사이즈 처리JavaScript에서는 Fi..
JavaScript로 구현하는 게임 데미지 단위 축약 (A ~ ZZZZ)
·
Programing/javascript
연관글2025.04.18 - [Programing/javascript] - 💰 숫자를 한글로 금액 단위로 표현2025.04.18 - [Programing/javascript] - 💻 숫자를 한글 숫자 표기로 변환2025.05.27 - [Programing/javascript] - JavaScript로 구현하는 금액의 영어 단위 변환 (Number to Words)2025.05.27 - [Programing/javascript] - JavaScript로 구현하는 금액 단축 표기 (K / M / B 표기법)2025.06.11 - [Programing] - 엑셀/스프레디시트에서 숫자를 한글로 표기하는 방법 총정리 (Excel to Hangul Conversion)왜 게임에서는 데미지 숫자를 축약해서 보여줄..
JavaScript로 구현하는 금액 단축 표기 (K / M / B 표기법)
·
Programing/javascript
연관글2025.04.18 - [Programing/javascript] - 💰 숫자를 한글로 금액 단위로 표현2025.04.18 - [Programing/javascript] - 💻 숫자를 한글 숫자 표기로 변환2025.05.27 - [Programing/javascript] - JavaScript로 구현하는 금액의 영어 단위 변환 (Number to Words)2025.05.27 - [Programing/javascript] - JavaScript로 구현하는 게임 데미지 단위 축약 (A ~ ZZZZ)2025.06.11 - [Programing] - 엑셀/스프레디시트에서 숫자를 한글로 표기하는 방법 총정리 (Excel to Hangul Conversion)금액 단축 표기의 필요성과 활용 사례"천 단위..
JavaScript로 구현하는 금액의 영어 단위 변환 (Number to Words)
·
Programing/javascript
연관글2025.04.18 - [Programing/javascript] - 💰 숫자를 한글로 금액 단위로 표현2025.04.18 - [Programing/javascript] - 💻 숫자를 한글 숫자 표기로 변환2025.05.27 - [Programing/javascript] - JavaScript로 구현하는 금액 단축 표기 (K / M / B 표기법)2025.05.27 - [Programing/javascript] - JavaScript로 구현하는 게임 데미지 단위 축약 (A ~ ZZZZ)2025.06.11 - [Programing] - 엑셀/스프레디시트에서 숫자를 한글로 표기하는 방법 총정리 (Excel to Hangul Conversion)금액을 영어 단위로 표현하는 이유"금액 변환" 기능은 전..
기수 정렬 (Radix Sort) 설명과 JavaScript 예제
·
Programing/javascript
기수 정렬(Radix Sort)은 자릿수를 기준으로 정렬하는 비교 기반이 아닌 정렬 알고리즘입니다. LSD(Least Significant Digit) 방식과 MSD(Most Significant Digit) 방식이 있으며, 일반적으로 자릿수 낮은 곳부터 정렬하는 LSD 방식이 많이 사용됩니다. 정수가 많고 자릿수가 제한된 경우 매우 빠른 성능을 발휘합니다.1. 동작 원리 (LSD 방식 기준)모든 숫자의 1의 자리부터 시작해 자릿수별로 정렬10개의 큐(0~9)를 만들어 해당 자릿수의 숫자에 따라 분배자릿수를 한 칸씩 올려가며 반복가장 높은 자릿수까지 정렬하면 전체가 정렬됨→ 내부적으로는 안정 정렬이 반복되어 수행됩니다.2. JavaScript 예제 - 오름차순 정렬function getDigit(num,..
힙 정렬 (Heap Sort) 설명과 JavaScript 예제
·
Programing/javascript
힙 정렬은 완전 이진 트리의 일종인 '힙(Heap)' 자료구조를 활용한 정렬 알고리즘입니다. 선택 정렬과 유사하지만, 최대값 또는 최소값을 효율적으로 선택하기 위해 힙 구조를 사용합니다. 시간 복잡도가 항상 O(n log n)으로 일정하며, 추가 메모리 없이 정렬할 수 있는 장점이 있습니다.1. 힙의 개념최대 힙 (Max Heap): 부모 노드가 자식 노드보다 크거나 같음최소 힙 (Min Heap): 부모 노드가 자식 노드보다 작거나 같음힙 정렬에서는 일반적으로 최대 힙을 사용하여 가장 큰 값을 루트로 올리고 배열의 뒤로 보냅니다.2. 동작 원리배열을 최대 힙 구조로 변환 (build max heap)힙의 루트(최대값)를 배열 끝으로 보냄힙 크기를 줄이고 다시 heapify 수행위 과정을 반복하여 정렬 ..
JavaScript 비교 연산자
·
Programing/javascript
JavaScript의 비교 연산자는 단순히 ==, ===를 넘어서서 다양한 상황에서 중요한 역할을 합니다. 이 글에서는 헷갈리기 쉬운 비교 연산자들의 차이와 실제 사용 시 주의할 점들을 상세히 정리합니다.1. 느슨한 비교 (==) vs 엄격한 비교 (===)console.log(1 == '1'); // trueconsole.log(1 === '1'); // false==는 타입을 자동 변환하여 값만 비교합니다 (type coercion)===는 타입과 값 모두를 비교하므로 더 안전하고 예측 가능합니다대부분의 경우 === 사용을 권장합니다.2. != vs !==console.log(null != undefined); // falseconsole.log(null !== undefined); // tr..
JavaScript 조건문
·
Programing/javascript
조건문은 프로그램의 흐름을 제어하는 핵심 요소입니다. JavaScript에서는 다양한 조건문과 표현식을 통해 유연하고 명확한 조건 처리를 할 수 있습니다. 이 글에서는 조건문의 심화 사용법과 실수하기 쉬운 부분들을 다룹니다.1. if / else if / else 기본 구조const score = 85;if (score >= 90) { console.log("A");} else if (score >= 80) { console.log("B");} else { console.log("C 이하");}조건은 위에서 아래로 평가되며, 가장 먼저 true가 되는 블록이 실행됩니다.2. 삼항 연산자 (조건 ? 참 : 거짓)const age = 18;const status = age >= 18 ? "성인" : "..
JavaScript 반복문
·
Programing/javascript
JavaScript에서 반복문은 배열 순회, 조건 반복, DOM 제어 등 다양한 곳에서 사용됩니다. 이 글에서는 기본적인 반복문 외에도, 잘 알려지지 않았지만 강력한 반복 방식들과 사용 시 주의할 점들을 함께 정리합니다.1. 기본 반복문 구조 복습for (let i = 0; i 2. for...of 문 - 이터러블 객체 순회const arr = [10, 20, 30];for (const value of arr) { console.log(value);}배열, 문자열, Map, Set 등 이터러블 객체를 순회할 수 있습니다.index가 필요 없는 경우 간결하고 읽기 쉬움3. for...in 문 - 객체의 속성 순회const obj = { a: 1, b: 2 };for (const key in obj) { ..
함수 선언식과 함수 표현식의 차이
·
Programing/javascript
자바스크립트를 배우다 보면 함수를 정의하는 방식에 따라 동작이 다르다는 점을 접하게 됩니다. 그 중 대표적인 것이 함수 선언식과 함수 표현식입니다. 이 두 가지는 겉보기에는 유사해 보이지만, 호이스팅, 스코프, 실행 시점, 디버깅 편의성, 조건부 선언 등 다양한 면에서 중요한 차이를 지닙니다.이번 글에서는 이 두 방식의 차이를 정확히 이해하고, 실제 개발에 어떻게 적용하면 좋을지를 보다 심도 있게 다뤄보겠습니다.✅ 함수 선언식 (Function Declaration)function greet() { console.log("Hello!");}📌 개념 및 특징이름을 가진 함수 정의 방식전체 코드에서 참조 가능 (호이스팅에 의해)스코프는 함수 레벨 스코프를 따름strict mode에서도 안정적으로 동작전통..