본문 바로가기
반응형

분류 전체보기276

[코딩 테스트] 5일차: 스택과 큐 스택스택은 LIFO(Last In, First Out) 자료구조로, 가장 나중에 삽입된 데이터가 가장 먼저 삭제됩니다. 스택은 보통 함수 호출, 수식 계산, 문자열 역순 처리 등에서 사용됩니다.스택의 기본 연산push: 스택의 맨 위에 요소를 추가pop: 스택의 맨 위 요소를 제거하고 반환peek: 스택의 맨 위 요소를 반환 (제거하지 않음)isEmpty: 스택이 비어 있는지 확인JavaScript에서의 스택 구현class Stack { constructor() { this.items = []; } push(element) { this.items.push(element); } pop() { if (this.isEmpty()) { return "Underflow"; .. 2024. 9. 5.
[JavaScript 문법] 34일차: JavaScript 성능 최적화 성능 최적화란?JavaScript 성능 최적화는 웹 애플리케이션의 실행 속도와 사용자 경험을 향상시키기 위한 다양한 기법을 포함합니다. 주요 최적화 영역은 메모리 관리, 렌더링 최적화, 코드 스플리팅 등입니다.메모리 관리메모리 관리는 효율적인 자원 활용과 메모리 누수를 방지하는 데 중요합니다. 잘못된 메모리 관리는 성능 저하와 프로그램 크래시를 유발할 수 있습니다.가비지 컬렉션 이해JavaScript는 자동 메모리 관리(가비지 컬렉션)를 사용합니다. 가비지 컬렉터는 더 이상 사용되지 않는 객체를 식별하고 메모리를 해제합니다.메모리 누수 방지메모리 누수는 더 이상 필요하지 않은 메모리를 해제하지 않아 발생합니다. 이를 방지하기 위해서는 다음과 같은 방법을 사용합니다:전역 변수 최소화: 전역 변수는 가비지 .. 2024. 9. 4.
[코딩 테스트] 4일차: 배열과 문자열 배열배열은 여러 값을 하나의 변수에 저장할 수 있는 데이터 구조입니다. 각 값은 인덱스를 사용하여 접근할 수 있습니다.배열 선언과 초기화JavaScript에서의 배열 선언과 초기화// 배열 선언let numbers = [1, 2, 3, 4, 5];// 배열 초기화let fruits = new Array("Apple", "Banana", "Cherry");console.log(numbers); // [1, 2, 3, 4, 5]console.log(fruits); // ["Apple", "Banana", "Cherry"] Python에서의 배열 선언과 초기화Python에서는 배열 대신 리스트를 사용합니다.# 리스트 선언 및 초기화numbers = [1, 2, 3, 4, 5]fruits = ["Apple", .. 2024. 9. 4.
[JavaScript 문법] 33일차: Proxy와 Reflect Proxy 객체란?Proxy 객체는 다른 객체를 감싸고, 그 객체에 대한 기본 작업(속성 접근, 할당, 함수 호출 등)을 가로채서 재정의할 수 있는 강력한 기능을 제공합니다. Proxy 객체는 두 개의 인수를 받습니다: 목표 객체(target)와 핸들러(handler) 객체입니다. 기본 사용법let target = {};let handler = {};let proxy = new Proxy(target, handler);핸들러 트랩핸들러 객체는 다양한 트랩(trap)을 정의할 수 있습니다. 트랩은 Proxy 객체가 수행할 작업을 가로채는 메서드입니다.주요 트랩get: 속성 접근을 가로챕니다.set: 속성 할당을 가로챕니다.has: in 연산자를 가로챕니다.deleteProperty: delete 연산자를 .. 2024. 9. 3.
[JavaScript 문법] 32일차: 제너레이터 제너레이터란?제너레이터(Generator)는 함수 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 유형의 함수입니다. 제너레이터 함수는 function* 키워드로 정의하며, yield 키워드를 사용하여 값을 반환하고 실행을 일시 중지할 수 있습니다.제너레이터 함수제너레이터 함수는 일반 함수와 달리 호출 시 즉시 실행되지 않고, 이터레이터 객체를 반환합니다. 이 이터레이터 객체의 next 메서드를 호출하면 제너레이터 함수가 실행됩니다.기본 사용법function* generatorFunction() { yield 'Hello'; yield 'World';}const generator = generatorFunction();console.log(generator.next().value); //.. 2024. 9. 2.
[JavaScript 문법] 31일차: 심볼과 이터레이터 Symbol 타입Symbol은 ES6에서 도입된 원시 데이터 타입으로, 유일한 식별자를 만들 때 사용됩니다. Symbol은 주로 객체의 속성 키로 사용되며, 이름이 충돌할 염려 없이 고유한 속성을 정의할 수 있습니다.기본 사용법let symbol1 = Symbol('description');let symbol2 = Symbol('description');console.log(symbol1 === symbol2); // falseconsole.log(symbol1.toString()); // 'Symbol(description)'객체의 심볼 속성Symbol을 사용하여 객체에 고유한 속성을 추가할 수 있습니다.예제let obj = {};let sym = Symbol('uniqueKey');obj[sym] =.. 2024. 9. 1.
[JavaScript 문법] 30일차: 정규 표현식 정규 표현식이란?정규 표현식(Regular Expression)은 문자열에서 특정 패턴을 찾기 위해 사용되는 강력한 도구입니다. JavaScript에서 정규 표현식을 사용하여 문자열 검색, 일치 여부 확인, 치환 등의 작업을 효율적으로 수행할 수 있습니다.정규 표현식의 기본 문법정규 표현식은 슬래시(/)로 감싸서 정의하며, 다양한 패턴 매칭 기호를 사용할 수 있습니다.예제let regex = /hello/;let str = 'hello world';console.log(regex.test(str)); // true주요 패턴 매칭 기호.: 임의의 한 문자와 일치*: 앞의 문자가 0번 이상 반복+: 앞의 문자가 1번 이상 반복?: 앞의 문자가 0번 또는 1번 나타남^: 문자열의 시작$: 문자열의 끝[]: 문.. 2024. 8. 30.
[웹 디자인] 30일차: 최종 프로젝트 발표 및 리뷰 최종 프로젝트 발표최종 프로젝트는 그동안 학습한 내용을 종합하여 완성된 웹사이트를 발표하는 단계입니다. 프로젝트 발표를 통해 자신의 작업을 공유하고, 피드백을 받아 개선할 수 있는 기회를 갖게 됩니다.발표 준비1. 프로젝트 개요 설명프로젝트의 주요 목적과 목표를 간략히 설명합니다. 어떤 문제를 해결하고자 했는지, 어떤 기능을 구현했는지에 대해 이야기합니다.예제:제 프로젝트는 포트폴리오 웹사이트입니다. 이 웹사이트의 주요 목적은 제 작업물을 잠재적 고용주나 클라이언트에게 소개하는 것입니다. 주요 기능으로는 프로젝트 갤러리, 소개 페이지, 연락처 폼 등이 있습니다.2. 주요 기능 및 특징 설명웹사이트의 주요 기능과 특징을 설명합니다. 각 페이지나 섹션의 주요 요소를 시연합니다.예제:홈페이지에서는 짧은 소개와.. 2024. 8. 30.
[JavaScript 문법] 29일차: 에러 처리 에러 처리란?에러 처리는 코드 실행 중 발생할 수 있는 예외 상황을 관리하고, 프로그램이 예기치 않게 종료되지 않도록 하는 중요한 방법입니다. JavaScript에서는 try, catch, finally, throw 문을 사용하여 에러를 처리할 수 있습니다.try, catch 문try 블록은 코드 실행을 시도하며, catch 블록은 try 블록에서 발생한 에러를 처리합니다. 기본 문법try { // 코드 실행} catch (error) { // 에러 처리}예제try { let result = 10 / 0; console.log(result); // Infinity let json = JSON.parse('Invalid JSON');} catch (error) { console.error('Er.. 2024. 8. 29.
[웹 디자인] 29일차: 최종 프로젝트 계획 및 디자인 최종 프로젝트 개요최종 프로젝트는 그동안 배운 HTML, CSS, 자바스크립트, 반응형 디자인, 접근성 등을 종합하여 완성된 웹사이트를 제작하는 것입니다. 이 프로젝트를 통해 실전 웹 디자인 기술을 적용하고, 포트폴리오에 추가할 수 있는 결과물을 만들게 됩니다.프로젝트 단계1. 프로젝트 목표 설정웹사이트의 주요 목적과 목표를 정의합니다. 예를 들어, 포트폴리오 웹사이트, 블로그, 비즈니스 웹사이트 등을 선택할 수 있습니다.2. 콘텐츠 계획웹사이트에 포함될 주요 콘텐츠를 계획합니다. 각 페이지나 섹션에 어떤 내용이 포함될지 구체적으로 작성합니다.3. 사이트맵 작성사이트맵을 작성하여 웹사이트의 구조를 시각적으로 표현합니다. 주요 페이지와 그 하위 페이지를 계층 구조로 나타냅니다.예제:- 홈 - 소개 - .. 2024. 8. 29.
반응형