본문 바로가기

IT875

자바스크립트 async와 await JavaScript의 async/await 함수는 비동기 처리를 더 쉽게 할 수 있도록 하는 기능입니다. async 키워드를 함수 앞에 붙여 해당 함수를 비동기 함수로 만들 수 있으며, 이 함수 내에서 await 키워드를 사용하여 다른 비동기 함수의 결과를 기다릴 수 있습니다. async/await는 Promise를 기반으로 구현되어 있습니다. async 함수는 내부적으로 Promise 객체를 반환하며, await 키워드를 사용한 함수 호출은 Promise가 완료될 때까지 대기합니다. async/await를 사용하면 코드의 가독성이 향상되고, 오류 처리가 용이해집니다. 이는 Callback Hell과 같은 콜백 함수를 연속적으로 사용해야 하는 경우를 피할 수 있습니다. 사용법 아래는 async/await.. 2023. 4. 19.
자바스크립트 콜백 함수(Callback Function) 자바스크립트에서 콜백(callback) 함수란, 다른 함수의 인자로 전달되어 특정 이벤트가 발생했거나 특정 작업이 끝났을 때 호출되는 함수를 의미합니다. 즉, 콜백 함수는 비동기적으로 처리되는 작업이 완료될 때까지 기다리지 않고, 미리 등록해둔 함수를 호출해주는 역할을 합니다. 이러한 특징 때문에 콜백 함수는 비동기 프로그래밍에서 핵심적인 역할을 하며, 이벤트 처리, HTTP 요청 등 다양한 분야에서 활용됩니다. 사용법 콜백 함수를 사용하면, 비동기적으로 처리되는 작업에서 발생하는 결과 값을 처리할 수 있습니다. 예를 들어, setTimeout 함수를 이용해 일정 시간이 지난 후에 특정 작업을 실행하도록 할 때, 콜백 함수를 이용해 이후에 실행될 작업을 지정할 수 있습니다. setTimeout(funct.. 2023. 4. 19.
리눅스 타임스탬프(time stamp) 리눅스 운영체제에서는 파일이나 디렉토리를 생성하거나 수정하는 등의 시간을 기록하기 위해 타임스탬프(time stamp)를 사용합니다. 타임스탬프란 특정한 시점에 대한 시간 정보를 의미하며, 리눅스에서는 크게 3가지 종류의 타임스탬프를 사용합니다. 접근 시간(atime) : 파일이나 디렉토리에 마지막으로 접근한 시간을 의미합니다. 파일의 내용을 읽거나 실행하는 등의 작업을 할 때마다 atime이 업데이트됩니다. 변경 시간(mtime) : 파일이나 디렉토리의 내용이 마지막으로 변경된 시간을 의미합니다. 파일의 내용을 수정하거나 디렉토리에 파일을 추가하거나 삭제하는 등의 작업을 할 때마다 mtime이 업데이트됩니다. 소유자 변경 시간(ctime) : 파일이나 디렉토리의 소유자나 권한 등이 변경된 시간을 의미합.. 2023. 4. 18.
리눅스 grep 명령어 사용법 리눅스에서 파일 내에서 원하는 문자열을 검색할 때 사용하는 명령어인 grep에 대해 알아보겠습니다. grep은 Global Regular Expression Print의 약자로, 주어진 파일에서 정규식과 일치하는 텍스트를 찾아 출력합니다. 사용법 사용 방법은 다음과 같습니다. grep [option] [pattern] [file] option: 검색 시 사용할 옵션을 지정합니다. 예를 들어 -i 옵션은 대소문자를 구분하지 않고 검색합니다. pattern: 검색하고자 하는 문자열 또는 정규식 패턴을 입력합니다. file: 검색하고자 하는 파일을 지정합니다. 예를 들어, 현재 디렉토리의 모든 파일에서 'hello world' 문자열을 검색하려면 다음과 같이 입력합니다. grep 'hello world' * .. 2023. 4. 18.
자바스크립트 프로토타입 이란? 자바스크립트에서 모든 객체는 프로토타입을 가집니다. 프로토타입은 객체를 만들기 위한 기본 틀이라고 할 수 있으며, 객체의 메서드나 프로퍼티를 상속받는 데 사용됩니다. 프로토타입 체인 프로토타입 체인(Prototype Chain)은 객체에서 특정 프로퍼티나 메서드에 접근할 때, 해당 객체에 해당하는 프로퍼티나 메서드가 없으면 상위 객체의 프로토타입에서 해당 프로퍼티나 메서드를 찾는 과정을 말합니다. 이 과정은 해당 객체의 프로토타입이 다시 다른 프로토타입을 가지고 있을 경우 계속해서 반복됩니다. 이렇게 상위 프로토타입으로 올라가면서 프로퍼티나 메서드를 찾는 과정을 "프로토타입 체인을 따라 올라가기"라고 합니다. 프로토타입 객체 생성 프로토타입 객체는 함수 객체에서 생성됩니다. 함수 객체를 생성한 후, pr.. 2023. 4. 18.
JSON 이란? JSON은 JavaScript Object Notation의 약어로, 데이터 교환을 위해 사용되는 경량 데이터 형식입니다. 이는 사람이 읽을 수 있으며, 기계가 쉽게 처리할 수 있는 형식으로 이루어져 있습니다. JSON은 객체와 배열을 기본적인 데이터 타입으로 사용합니다. 객체는 중괄호({})로 표현되며, 키-값 쌍으로 이루어져 있습니다. 예를 들어, {"name": "John", "age": 30}와 같은 형태입니다. 배열은 대괄호([])로 표현되며, 순서대로 값을 나열합니다. 예를 들어, [1, 2, 3]과 같은 형태입니다. JSON은 일반적으로 서버와 클라이언트 간의 데이터 교환에 사용됩니다. 서버에서 데이터를 JSON 형식으로 보내면 클라이언트에서 JavaScript를 사용하여 이를 쉽게 처리할 .. 2023. 4. 18.
자바스크립트 promise 사용법 자바스크립트에서 Promise는 비동기적인 작업을 처리할 때 사용하는 객체입니다. Promise는 주어진 작업이 완료되었을 때 결과를 반환하거나, 작업이 실패했을 때 에러를 반환하는 역할을 합니다. Promise를 사용하면 콜백 함수를 사용하지 않고도 비동기 작업의 결과를 처리할 수 있습니다. 사용법 Promise 객체는 대기(pending), 이행(fulfilled), 거부(rejected)의 3가지 상태를 가집니다. Promise 객체가 생성될 때는 대기 상태(pending)이며, 이행 또는 거부 상태가 되면 그 이후에는 상태가 변경되지 않습니다. Promise 객체는 다음과 같은 형식으로 생성됩니다. const promise = new Promise((resolve, reject) => { // 비.. 2023. 4. 18.
자바스크립트 콜백 지옥(CallBackHell) 자바스크립트에서 비동기 작업을 처리할 때 콜백 함수(callback function)를 사용하는데, 콜백 함수를 중첩해서 사용하면 코드의 가독성이 나빠지고 유지보수도 어려워지는 문제가 발생할 수 있습니다. 이러한 문제를 일컬어 "콜백 지옥(callback hell)"이라고 합니다. 콜백 지옥은 콜백 함수를 여러 겹 중첩해서 사용하면서 코드의 흐름이 꼬이고 가독성이 나빠지는 문제를 의미합니다. 예를 들어, 서버로부터 데이터를 가져와서 화면에 출력하는 코드를 작성한다고 가정해보겠습니다. 이 경우에는 다음과 같은 순서로 작업을 수행해야 합니다. 콜백 지옥 예시 1. 서버로부터 데이터를 가져옵니다. 2. 가져온 데이터를 처리합니다. 3. 처리된 데이터를 화면에 출력합니다. 이 작업을 콜백 함수를 사용하여 구현하.. 2023. 4. 17.