자바스크립트 핵심 개념
객체 기초 이해
객체 생성 방식
const newObject = new Object()
속성 정의 방법
const vehicle = new Object()
vehicle.brand = 'Yamaha'
vehicle.model = 'V-Star Silverado 1100'
vehicle.year = 2005
vehicle.purchaseDate = new Date(2005, 3, 12)
객체 속성은 초기화 단계에서 명시적으로 선언할 필요가 없으며, 할당 시 자동으로 생성된다.
객체는 속성 집합으로 ...
6월 17일 00:31에 게시됨
jQuery를 대체하는 모던 Vanilla JavaScript 구현 가이드
네트워크 요청 (AJAX)
JSON 데이터 가져오기
jQuery의 $.getJSON 기능을 순수 자바스크립트로 구현하는 방법입니다.
// jQuery
$.getJSON('/api/data', function(response) {
console.log(response);
});
// Vanilla JS (IE10+)
const xhr = new XMLHttpRequest();
xhr.open('GET', '/api/data', true);
xhr.onreadystatechange = function() {
if (this.readyState ...
6월 16일 17:40에 게시됨
JavaScript 표준 API 를 이용한 효율적인 객체 병합과 설정 관리
Object.assign 메서드의 핵심 역할
ECMAScript 2015(ES6) 스펙에 포함된 Object.assign() 은 하나 이상의 소스(source) 객체에서 정의된 특정한 속성을 타겟(target) 객체로 복사하여 반환하는 유틸리티 함수입니다. 주로 초기 설정값과 사용자 커스터마이징 값을 통합할 때 빈번히 활용되며, 기존 객체를 변조하지 않고 새로운 상태를 생성하는 불변성 패턴 구현에도 기 ...
6월 16일 17:22에 게시됨
GraphQL과 Koa 프레임워크 통합하기
Koa 서버에서 GraphQL을 활용하려면 다음 단계별로 진행하면 된다.
1. 필수 패키지 설치
먼저 필요한 패키지들을 설치한다. graphql 라이브러리와 Koa 미들웨어가 필요하다.
npm install graphql koa-graphql koa-mount --save
2. 프로젝트 구조
전체 구조는 다음과 같이 구성한다:
├── app.js # 메인 서버 파일
├── schema/
│ └── query.js # Graph ...
6월 16일 01:52에 게시됨
도메인 간 통신 이해 및 구현
네트워크에서 도메인은 독립적으로 운영되는 단위이며, 서로 다른 도메인이 자원을 공유하기 위해서는 트러스트 관계를 설정해야 합니다. 이는 두 도메인이 서로 필요한 자원을 공유하고 관리할 수 있게 해줍니다. 웹 환경에서는 A 사이트의 JavaScript 코드가 B 사이트에 접근하려 할 때 보안 문제로 인해 브라우저는 이를 기본적으로 차단합니다.
브라우저는 동일 출처 ...
6월 16일 00:53에 게시됨
자바스크립트 로딩과 실행 순서 분석
자바스크립트의 로딩(Loading)과 실행(Execution) 순서는 브라우저 환경에 따라 다르게 동작하며, 이는 웹 페이지 성능과 스크립트 간 의존성 관리에 중요한 영향을 미칩니다.
브라우저별 로딩/실행 차이
Internet Explorer: <head> 내부와 외부 모두에서 비동기 로딩되지만, 동기 실행됩니다.
비 IE 브라우저(Chrome, Firefox, Safari 등):
<h ...
6월 15일 23:01에 게시됨
효율적인 프로그래밍 학습 노트 관리 기술
노트 작성 도구 선택
프로그래밍 학습에 적합한 도구 비교:
OneNote
장점: 다중 콘텐츠 지원, 자유로운 레이아웃, 크로스 디바이스 동기화
단점: 저사양 장비에서 성능 저하 가능
Evernote
장점: 강력한 검색 기능, 직관적인 분류 체계
단점: 무료 버전 기능 제한
Notion
장점: 커스터마이징 가능한 계층 구조, 협업 기능
단점: 초기 학습 ...
6월 15일 19:39에 게시됨
ES6의 Math.floor와 Math.ceil 함수 완벽 가이드: 숫자 반올림 문제 해결법
ES6의 Math.floor와 Math.ceil 함수 완벽 가이드: 숫자 반올림 문제 해결법
자바스크립트에서 숫자 반올림 문제로 고민한 적이 있나요? 상품 가격 계산 시 소수점 이하의 숫자가 나타나거나, 데이터 시각화 시 정수로 반올림이 필요한 경우가 있습니다. 이러한 시나리오에서 신뢰할 수 있는 반올림 방법은 필수적입니다. 본문에서는 ES6(ECMAScript 6, ECMAScript 2015라고 ...
6월 14일 23:12에 게시됨
NFC 태그의 NDEF 데이터 처리를 위한 웹 플러그인 개발
NDEF 데이터 읽기 및 쓰기 기능 소개
NDEF(Non-Contact Forum Data Exchange Format)는 NFC 기기 간에 표준화된 데이터 교환을 가능하게 하는 포맷입니다. 이 형식을 사용하면 다양한 장치가 미리 정의된 규칙 없이도 직접 데이터를 읽거나 쓸 수 있습니다. 카드 종류에 관계없이, 우아기술사의 모든 NFC 리더기 제품은 이 표준을 지원합니다.
주요 지원되는 NDEF 데이터 ...
6월 14일 20:45에 게시됨
여러 언어로 Hello World 출력하기
실행 환경: macOS
IDE: VSCode + CodeRunner
C
hello_c.c
#include <stdio.h>
int main(void)
{
puts("안녕하세요, C입니다!");
return 0;
}
실행 명령어
gcc hello_c.c -o hello_c && ./hello_c
C++
hello_cpp.cpp
#include <iostream>
int main() {
std::cout << "안녕하세요, C++입니다!" << std: ...
6월 14일 00:58에 게시됨