분류 전체보기 (67) 썸네일형 리스트형 [JS] Callback함수 ⚡ Callback함수가 무엇일까 콜백함수(Callback Function)이란 함수 안에서 실행하는 함수라는 의미를 갖고있다. 이게 무슨 소리인가 하면 우리가 함수를 실행할때 파라미터 값으로 함수를 사용한다는 것이다. 단순한 코드로 한번 이해를 해보자 function plus(callback, arr) { let emptyArr = []; for (let i = 0; i < arr.length; i++) { emptyArr.push(callback(arr[i])); } return emptyArr; } plus( function(data) { return data + "a" }, ["a", "b", "c", "d", "e"] ) // output // ["aa", "ba", "ca", "da", "ea.. [JS] http 통신 ❓ http transfer(통신)이란? http(Hyper Text Transfer Protocol)이란 뜻으로 컴퓨터와 컴퓨터끼리의 하이퍼 미디어 문서를 주고 받는 길과 같은 개념이다. 이 http라는 통로를 이용해 요청(request)와 응답(response)를 할 수 있다. 근데 정의만으로는 이 구문을 정확하게 이해를 못하겠으니 하나씩 살펴보자. 다음과 같이 각각의 컴퓨터가 있고 데이터를 주고 받는다고 해보자. 내가 블로그에 글을 써서 "저장"버튼을 누르면 게시글이 등록되는데, 등록이 어떻게 되는지 과정을 엿봐보자. 데이터를 위와 같이 전송했으면 이제 응답을 받아야겠죠? 우리가 블로그에 글을 쓰면 "게시물이 등록되었습니다" 같은 안내를 받아본적이 있을 것이다. 바로 그것이 백엔드로 부터 오는 응답.. [JS] 스프레드 연산자와 rest파라미터 그리고 구조분해할당 > 같이보면 좋은 링크 :: 구조분해할당(비구조화할당) ❓ spread(스프레드)연산자란? ES6 문법에 새롭게 추가된 스프레드 연산자는 전개 구문이라고도 한다. 이를 사용하면 배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수(함수로 호출할 경우) 또는 요소(배열 같은 경우)로 확장하여 0개 이상의 키-값의 쌍으로 객체를 확장시킬 수 있다고 MDN의 정의로 나와있다. 근데 정의만으로는 이 구문을 정확하게 이해를 못하겠으니 코드를 보면서 하나씩 뜯어보도록하자. 스프레드 연산자 let classMates = { name: "뽀로로", age: 5, school: "노는게제일좋고등학교" } 와 같은 객체를 담은 변수가 있다고 가정해보자. 다음의 객체를 다른 변수에 복사하려면 다음과 같아야한다. 객체.. [JS] 구조분해할당(비구조화할당) ❓ 구조분해할당(Destructuring Assignment)이란? MDN에 따르면 구조분해할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게하는 JS 표현식이라고 한다. 객체나 배열에 저장된 데이터 전체가 아닌 일부만 필요한 경우, 객체와 배열을 분해해서 원하는 값만을 가져올 수 있게 된다. 근데 정의만으로는 이 구문을 정확하게 이해를 못하겠으니 코드를 보면서 하나씩 뜯어보도록하자. 객체선언 const classMates = { name: "뽀로로", age: 5, school: "노는게제일좋고등학교" } 와 같은 객체를 담은 변수가 있다고 가정해보자. 다음의 객체의 key값을 각각 출력하려면 객체의 key값 담기 const name = classMates.name; con.. [JS] 템플릿 리터럴(``) ❓ 템플릿 리터럴(Template literals)이란? MDN 공식문서에 따르면 템플릿 리터럴은 내장된 표현식을 허용하는 문자열 리터럴이라고 한다. 여러 줄로 이뤄진 문자열과 문자 보간기능을 사용할 수 있고 ES6에 추가된 문법이라고 한다. 사용법은 단순히 이중 따옴표("") 혹은 작은 따옴표('') 대신에 백틱(``)을 이용한다. 같은 문법을 템플릿 리터럴과 아닌 방식으로 표현 해보자. 일반 문자열 연결 let age = 13; let name = "김철수"; console.log("내 이름은" + name + "이고, 나이는 " + age + "입니다." ); 문자열과 변수를 연결할때는 +를 사이사이 넣어주어서 연결해주어야한다. 하지만 템플릿 리터럴을 사용한다면? 템플릿 리터럴 let age = 1.. [🔄️] Git과 GitHub 🔄️ Git이란? 위키백과에 따르면 깃이란 컴퓨터 파일의 변경사항을 추적하고 여러명의 사용자들간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이며, 소프트웨어 개발에서는 소스 코드 관리에 주로 사용된다고 한다. 그렇다고 개발에만 사용되는 건 아니고, 집합의 파일의 변경사항을 지속적으로 추적하기 위해서도 사용이 가능하다고 한다. 초기엔 리눅스를 위해 만들어졌으나 현재는 리눅스 만을 위하진 않는다. 즉, 정의를 정리해보자면 다음과 같다. 변경사항 추적 및 여러 사용자들 간에 파일 작업 조율을 위한 분산 버전 관리 시스템 빠른 수행 속도에 중점을 두고 있음 소프트웨어의 일종 자유로운 공유 및 백업 및 코드 관리 가능 🔃 GitHub이란? 위키백과에 따르면 깃허브란 깃 저장소 호스팅을 지원하는 웹.. [Node.js] Scraping & Crawling ⚡ 스크래핑이란? 스크래핑이란 원하는 자료를 모으는 행위다. 그렇다면 IT에서는 어떻게 쓰이고 있을까. 대표적으로 데이터를 스크랩핑할 수 있다. 이게 무슨소리인가 하면, 어떤 특정 사이트에서 그 사이트의 정보(데이터) 중에 필요한 정보 등을 긁어와서 정보 추출 및 가공하여 제공할 수 있는 기술을 말하는데, 그 긁어온 정보를 DB에 저장도 할 수 있다고 한다. 그렇다면 이건 언제 쓰일까? 우리가 어떤 특정 URL을 누군가에게 공유할때 링크 및에 그 링크의 사이트의 소개와 이미지가 나오는 것을 볼 수 있을 것이다. 그런 것처럼 그 사이트에가서 정보를 가져오는 것을 스크래핑이라고 할 수 있다. (이 글에 마지막에 나오는 참조 부분에, 링크를 걸면 이미지와 해당 사이트의 소개가 담긴 박스가 생성되는데 그것이 바.. [TypeScript] TypeORM ⚡ TypeORM이 무엇일까? Object-relational mapping, 객체-관계 매핑이라고 하는 ORM은 객체와 관계형 데이터베이스의 데이터를 자동으로 맵핑해준다고 한다. 이게 무슨 소리인가 보통의 객체지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하게 되는데 객체 모델과 관계형 모델 간에 불일치가 존재할 수 있다. 그럴때 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다고 한다. ORM의 종류로는 여러가지가 있다. Sequelize TypeORM prisma 다양한 종류들이 있지만 결국 담당하는 기능들은 비슷한데 대표적으로 Data Mapper 와 ActiveRecord 가 있다. 그 외적으로는 깨끗한 개체 관계형 모델 데이터베이스별.. 이전 1 ··· 4 5 6 7 8 9 다음