Node.js 파일 존재 여부 확인 fs.exists fs.access

특정 파일이 존재하는지 확인하기위해 fs.exists() 메소드나 fs.access() 메소드를 사용할 수 있습니다. 이 외에도 다양한 방법으로 파일 존재 여부를 확인할 수 있지만 fs.access() 메소드를 사용하는 것을 권장합니다. fs.exists() fs.exists(path, callback)는 파일 또는 디렉토리의 존재 여부를 확인하는 비동기 함수입니다. 그러나 콜백이 호출되지 않을 수도 있는 문제로 인해 Node.js에서는 사용을 권장하지 않습니다. 주어진 경로의 파일 또는 디렉토리가 존재하면 … Read more

Node.js 파일 읽기 fs.readFile()

fs.readFile() 메소드는 Node.js에서 파일을 비동기적으로 읽을 때 사용하는 함수입니다. 파일을 열고 내용을 읽은 뒤, 콜백 함수를 통해 결과를 전달합니다. 이 함수는 파일을 완전히 읽은 후(전체 파일을 메모리에 로드)에 콜백 함수를 호출하기 때문에, 파일을 스트리밍하지는 않습니다. readFile 기본 문법 readFile 사용 방법 위 예제는 example.txt 파일을 utf8 인코딩으로 읽어오는 코드입니다. 파일을 모두 읽은 후 콜백 함수를 … Read more

Node.js 파일 쓰기 fs.writeFile()

fs.writeFile()메소드는 Node.js의 fs(File System) 모듈에 있는 메소드입니다. 데이터를 파일에 비동기적으로 작성할 때 사용합니다. 만약 해당 파일이 파일 시스템에 없다면 새로 생성하고, 이미 존재하면 덮어씌웁니다. writeFile 기본 문법 매개변수는 다음과 같습니다: writeFile 예제 예제 코드의 설명은 다음과 같습니다: 파일에 쓰고자하는 데이터가 객체인 경우 JSON 데이터 저장하기 방법을 사용해야 합니다. 간단히 설명하자면 JSON.stringify() 메소드를 사용해 객체를 문자열로 … Read more

Node.js JSON 파일 저장 방법

Node.js에서 JSON 파일 저장 방법으로는 fs(File System) 모듈을 사용하여 데이터를 파일에 쓰면 됩니다. fs 모듈은 파일을 읽고 쓰는 기능을 제공합니다. 여기서 writeFile() 메소드를 사용하면 데이터를 파일에 쓸 수 있습니다. JSON JSON(JavaScript Object Notation)이란 가볍게 사용하도록 고안된 데이터 교환 포맷입니다. 사람과 기계 모두 읽고 쓰기 쉬운 텍스트 형식으로 웹 애플리케이션에서 클라이언트와 서버 간에 데이터를 주고받을 때 … Read more

Node.js 파일 읽기, 쓰기, 삭제 (fs)

Node.js의 fs 모듈은 File System을 다루는 내장 모듈입니다. 파일이나 디렉토리의 생성, 읽기, 쓰기, 삭제, 복사, 이동 등 다양한 작업을 수행할 수 있게 해줍니다. 비동기/동기 방식 둘 다 지원하며, 매우 자주 사용되는 핵심 모듈입니다. 모듈 사용법 이 모듈을 사용하려면 require로 모듈을 불러와야 합니다. 동기 vs 비동기 Node.js에서는 메소드 호출 시 비동기 방식을 권장하지만 경우에 따라 동기 … Read more

자바스크립트 DOM Node

DOM은 HTML 문서의 계층 구조를 트리 형태로 표현하고 각 요소를 DOM 노드(DOM Node)로 다룹니다. DOM(Document Object Model)은 웹 페이지의 구조를 표현하는 객체 모델입니다. HTML 문서의 요소들을 자바스크립트에서 객체 형태로 다룰 수 있으며 웹 페이지와 상호작용할 수 있습니다. DOM Node 기본 개념 위의 예시와 같이 HTML 문서는 노드로 구성됩니다. DOM Node 접근 방법 자바스크립트로 HTML 요소에 … Read more

HTML 목록 태그 ul, ol (점 없애기)

HTML에서 구조화된 데이터를 표현하려면 ul 같은 목록을 사용해야합니다. 목록 태그 중 대표적인 것은 ul (Unordered List)과 ol (Ordered List)입니다. 이 두 태그의 관련 속성, 스타일링 등을 자세히 알아보겠습니다. ul (Unordered List) – 순서 없는 목록 목록에 순서를 지정하지 않으려면 이 태그를 사용해야 합니다. 태그를 사용하면 각각의 항목 앞에 기본적으로 점(bullet)이 표시됩니다. 위의 예제를 HTML 파일로 … Read more

자바스크립트 canvas 이미지 삽입 (drawImage)

자바스크립트의 canvas 요소와 drawImage() 메소드를 사용하여 이미지를 그리는 방법은 쉽습니다. 또한 이를 통해 다양한 그래픽을 동적으로 생성할 수 있습니다. canvas는 HTML5에서 도입된 요소로, 자바스크립트로 그림을 그리거나 이미지를 삽입하는 데 사용됩니다. drawImage 기본 canvas 요소는 HTML에 정의하며, 자바스크립트를 사용하여 그림을 그립니다. 이미지를 삽입하려면 CanvasRenderingContext2D.drawImage() 메서드를 사용해야합니다. 이 메소드는 이미지 객체를 캔버스에 그리는 기능을 제공합니다. drawImage 크기 … Read more

자바스크립트 requestAnimationFrame

requestAnimationFrame() 메소드는 자바스크립트에서 최적화된 성능으로 애니메이션을 구현하게해주는 중요한 메소드입니다. 이 메소드는 브라우저의 렌더링 주기(fps)에 맞춰 애니메이션을 부드럽게 실행하도록 도와줍니다. 특히 CPU와 GPU 자원을 효율적으로 사용할 수 있도록 해줍니다. requestAnimationFrame 기본 개념 메소드의 주요 기능은 화면을 새로 고칠 때마다 애니메이션을 한 프레임씩 실행해줍니다. 화면을 갱신하는 주기는 보통 60Hz, 즉 1초에 60번(16.7ms 간격)으로 설정되어 있습니다. 이 메서드는 … Read more

HTML img 이미지 넣기

HTML의 img 태그는 웹 페이지에 이미지를 삽입할 때 사용하는 태그입니다. 이는 자체적으로 닫히는 태그이며, 이미지를 페이지에 표시할 때 필요한 여러 속성들 설정할 수 있습니다. 기본적으로 이미지의 경로, 대체 텍스트(alt 속성), 너비와 높이 등을 지정할 수 있습니다. img 기본 사용 img 주요 속성 src (source) 이미지를 불러올 경로를 지정합니다. alt (alternative text) 이미지가 로드되지 않거나 접근성 … Read more

자바스크립트 클립보드 복사 Clipboard API

브라우저에서 클립보드 기능을 사용하려면 자바스크립트의 Clipboard API를 사용하여 복사, 붙여넣기 등의 작업을 수행할 수 있습니다. Clipboard API를 사용하면 텍스트를 복사하거나 붙여넣는 기능을 웹 애플리케이션에 추가할 수 있습니다. 이는 Clipboard 객체를 통해 클립보드 기능과 상호작용하며, 사용자가 데이터를 복사하거나 붙여넣을 수 있게합니다. 클립보드 복사 navigator.clipboard.writeText() 메소드를 사용하여 텍스트를 복사할 수 있습니다. writeText() 메소드는 Promise 객체를 리턴하며, 성공적으로 … Read more

CSS 반응형 미디어 쿼리 (Media Query)

CSS 미디어 쿼리(Media Query)는 웹 페이지를 다양한 화면 크기와 해상도에 맞게 조정하는 CSS 기술입니다. 즉, 사용자의 디바이스나 화면 환경에 따라 스타일을 다르게 적용할 수 있습니다. 이를 통해 HTML 요소의 레이아웃을 반응형으로 만들 수 있습니다. 미디어 쿼리 기본 구조 이는 @media 규칙을 사용하여 정의합니다. 이 규칙은 특정 조건(화면의 너비, 높이, 해상도 등)에 따라 스타일을 적용할 수 … Read more

CSS Flexbox

CSS의 Flexbox 레이아웃은 웹 페이지를 구성할 때 자주 사용하는 모델입니다. Flexbox 레이아웃을 사용하면 HTML 요소가 일정한 공간에 배치되며, 다양한 화면 크기와 조건에서 적절하게 배치합니다. 이는 주로 수평, 수직 레이아웃을 쉽게 처리할 수 있게 해 줍니다. 기본 개념 이 레이아웃은 두 가지 주요 개념으로 구성됩니다: Flexbox 기본 속성 Flex Container 속성: Flex Item 속성: 예제 1: … Read more

자바스크립트 async, await

async await 명령어는 자바스크립트에서 비동기 코드를 더 직관적이고 동기적인 방식으로 작성할 수 있게 해주는 문법입니다. 이 두 가지는 Promise 객체를 기반으로 동작하며, 비동기 작업을 보다 쉽게 처리할 수 있도록 도와줍니다. async await 기본 개념 예제 1: 기본적인 사용 위의 예제를 개발자 도구에서 실행하면 이미지와 같은 결과를 얻을 수 있습니다. 먼저 getData() 함수가 async로 정의되어 있고, … Read more

자바스크립트 비동기 작업 Promise

Promise 객체는 비동기 작업의 완료 또는 실패를 처리해줍니다. 이는 비동기 작업이 끝날 때 결과를 처리하여 콜백 지옥을 피하게 해주고 코드의 가독성과 유지보수성을 높여줍니다. Promise 기본 개념 이 객체는 세 가지 상태를 가집니다: 객체가 생성되자마자 비동기 작업을 실행하고, then 또는 catch 메소드를 통해 작업의 성공 실패 결과를 처리할 수 있습니다. Promise 생성자 객체 생성 시 executor … Read more

자바스크립트 canvas 그림판 만들기

canvas 요소는 2D 그래픽을 그릴 수 있게 하는 매우 강력한 도구입니다. 이를 활용하면 다양한 시각 효과나 인터랙티브한 그래픽을 구현할 수 있습니다. 또한 Pointer Events는 마우스, 터치, 스타일러스 등 다양한 입력 장치를 효율적으로 처리할 수 있게 해 주는 API입니다. 이 포스트에서는 Pointer Events와 canvas를 사용해 그림판을 만드는 방법을 알아보겠습니다. Pointer Events 란? Pointer Events는 마우스 이벤트(Mouse … Read more

자바스크립트 canvas 도형 그리기

HTML5의 canvas 요소는 그림 그리기, 애니메이션 렌더링 등에 사용할 수 있는 요소입니다. 이는 비트맵 이미지를 처리할 수 있는 렌더링 화면을 제공하며, 자바스크립트로 직접 제어하여 다양한 형태의 그래픽을 그릴 수 있게 해줍니다. 이번 포스트에서는 자바스크립트로 canvas에 도형을 그리는 방법을 알아보고, 여러 가지 예제를 통해 그 사용법을 익혀보겠습니다. 그리기 기본 설정 그림을 그리려면 먼저 HTML에 <canvas> 요소를 … Read more

자바스크립트 드래그 앤 드롭 Drag and Drop

자바스크립트에서 Pointer Events를 사용한 드래그 앤 드롭 예제를 알아보겠습니다. Pointer Events는 Mouse Events, Touch Events 등을 하나의 API로 통합하여 다양한 입력 장치에서 더 일관성 있는 이벤트 처리를 할 수 있도록 해줍니다. 드래그 앤 드롭 HTML 구조 먼저, 간단한 HTML 구조를 만들어 드래그 앤 드롭할 요소를 설정합니다. 자바스크립트로 드래그 앤 드롭 기능 구현 이제 Pointer Events를 … Read more

자바스크립트 Pointer Events

Pointer Events는 마우스나 터치, 펜 등 다양한 입력 장치에서 발생하는 이벤트를 하나의 API로 통합하여 처리하도록 만들어진 W3C의 표준입니다. 이 API는 Mouse Events, Touch Events와 같은 개별 이벤트들을 하나로 통합하여 다양한 입력 장치를 일관성 있게 다룰 수 있도록 해줍니다. Pointer Events는 HTML5에서 처음 도입되었으며 주로 터치와 마우스 이벤트를 통합하여 모바일과 데스크탑 환경에서 모두 잘 작동하도록 도와줍니다. … Read more

자바스크립트 재귀함수 사용 방법

재귀함수(Recursive Function)는 여러가지 문제해결 방법론 중의 하나로, 함수가 자기 자신을 반복적으로 호출하여 문제를 해결합니다. 이는 기본적으로 종료 조건과 재귀 조건을 가지고 있어야 합니다. 재귀함수 기본 구조 Base Case: 재귀 호출을 종료할 조건을 말합니다. 이 조건을 만나면 더 이상 재귀 호출을 하지 않고 결과 값을 리턴합니다. Recursive Case: 자기 자신을 호출하는 부분으로 문제를 더 작은 단위로 … Read more