🔖JS 4

Garbage Collector (가비지 컬렉터)

Garbage Collector라는 단어는 정말 자주 나온다.  지역 변수는 Stack에 저장되고 동적으로 할당되는 것들은 Heap 영역에 들어간다. (동적으로 할당되는 구체적인 예시는 배열, 리스트, 트리, 객체 등이 있음)  보통 스택 같은 경우, 함수가 호출되면 해당 함수의 변수들이 스택 프레임에 저장된다. 그리고 함수 실행이 끝나면 스택 프레임이 자동으로 해제되면서 스택에서 사라진다. Heap 영역에 있는, 동적 할당 받은 것들은 다르다.C, C++과 같은 언어에서는 개발자가 free()나 delete를 호출해서 직접 메모리를 해제해야 한다. 하지만 JS, Java, Python과 같은 언어에서는 가비지 컬렉터가 자동으로 메모리를 관리해준다. 이제 이런 편리한 시스템에 대해 알아보자  !  🔧G..

🔖JS 2025.02.11

싱글톤 패턴 (Singleton 패턴)

nest 공부를 하다가, Singleton 패턴에 대해 나왔다. singleton패턴에서는 하나의 객체만 만든다고 하는데 도저히 이해가 되지 않았다.  하다보니 singleton패턴  몇 가지 의문이 들었었다.(하나의 객체만 만들면 클라이언트끼리 특정 데이터에 접근하려 할 때 충돌이 발생하지는 않을까 등등) 그래서 Singel 패턴에 대해서 좀 알아 보았다. Singleton 패턴 싱글톤은 클래스의 인스턴스를 하나만 생성하도록 보장프로그램 전체에서 하나의 객체만 생성새로운 객체를 생성하지 않고 이미 존재하는 객체 재사용주로 글로벌 상태를 관리 (전역 접근 가능)하나의 클라이언트가 싱글톤 객체 속성을 수정하면 , 변경사항은 다른 모른 클라이언트에도 즉시 반영리소스 낭비를 방지생성자 (private)로 외부..

🔖JS 2024.12.16

Default Export 와 Named Export

이제 막 Node.js를 공부하기 시작했다. 간단한 오픈 소스를 clone 해서 테스트 해보고 있는데, 이런 코드를 보았다. import { Server } from "socket.io"; Named Export 형태가 좀 헷갈렸고, 이와 관련해서 정리를 해보고자 한다. ✨ Default Export (기본 내보내기) 먼저 Default Export에 대해 간단한 예시를 살펴보자. // math.jsexport default function add(a, b) { return a + b;}// main.jsimport add from './math.js'; // 중괄호 없이 가져옴console.log(add(2, 3)); // 5이와 같은 경우 모듈에서 하나의 값만 내보낼 수 있음가져올 때 임의의 이름을..

🔖JS 2024.12.12

Java script에서 Promise 란 ? (+@ Async / Await)

✨ Promise Promise는 단순히 비동기 작업을 더 깔끔하고 체계적으로 처리하기 위한 도구이다.Promise가 없던 시절에 비동기 작업은 콜백 함수를 통해 처리 되었다.     그러면 콜백을 썼을 때와 안 썼을 때의 코드를 한번 비교해보자 !   🔗여러 비동기 작업을 순서대로 처리 콜백 중첩 (콜백 헬)아래와 같이 코드를 작성하는 경우 가독성이 저하된다. fs.readFile('file1.txt', 'utf8', (err, data1) => { if (err) return console.error(err); fs.readFile('file2.txt', 'utf8', (err, data2) => { if (err) return console.error(err); ..

🔖JS 2024.12.12