전체 글 221

JavaScript의 ES, ES5/ES6

JavaScript ES ES 는 ECMAScript 의 약자 ES라는 것은 'Javascript의 표준 규격'을 의미 Ecma International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다. 자바스크립트를 표준화하기 위해 만들어졌다. ES 가 등장하게 된 배경 Netscape이라는 웹 브라우저를 통해 상호작용을 강조하기 위해 간단한 기능을 넣어 만든것이 자바스크립트의 시초였다. 웹 개발자들은 각 브라우저에서 동일한 기능을 구현하기 위해 모든 코드를 따로 작성해줘야 했기 때문에 표준화 작업을 위해 많은 사람들이 노력했고, 그 결과 Ecma International에서 ECMAScript(ECMA-262)라는 이름으로 현재의 자바스크립트 표준을 제정하..

coding/IT, CS 2022.07.24

Express의 미들웨어

Express의 미들웨어 미들웨어란, req(요청) 객체, res(응답) 객체, 그리고 어플리케이션 요청-응답 사이클 도중 그 다음의 미들웨어 함수에 대한 엑세스 권한(next)을 갖는 함수 클라이언트에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간(미들)에 목적에 맞게 처리를 하는, 말하자면 거쳐가는 함수들이다. 미들웨어를 통해 웹 서버의 요청/응답에 대해 공통적으로 관리가 가능 예를 들어 모든 요청에 대해서 로그를 남겨 확인하고 싶은 경우, 승인된 사용자만 API를 접근할 수 있게 만들고 싶을때 미들웨어를 통해 쉽게 구현 가능하다 참고로 유명한 웹서버인 Apache(아파치), Nginx(엔진x)경우 미들웨어 대신 모듈의 개념을 가지고 있다. express의 미들웨어와 개념과 기능이 매우 유사하..

coding/Node.js 2022.07.23

Node.js, express

Node.js Node.js란, 크롬 V8 자바스크립트 엔진으로 빌드 된 자바스크립트 런타임 런타임이란 프로그래밍 언어가 구동되는 환경 자바스크립트 런타임의 종류로는 웹 브라우저(크롬, 파이어폭스, 익스플로러 등)프로그램과 Node.js 라는 프로그램 따라서 노드는 자바스크립트 브라우저가 아닌 컴퓨터에서 브라우저 없이 실행하게 도와주는 환경을 의미 Node.js는 확장성이 있는 네트워크 어플리케이션 개발에 사용되는 소프트웨어 플랫폼 특히 서버사이트에서 많이 사용된다. Node.js 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리 생태계이기도 하다 JavaScript는 독립적인 언어가 아닌 스크립트 언어이다. 스크립트 언어는 특정한 프로그램 안에서 동작하는 프로그램이기 때문에 웹 브라우저 ..

coding/Node.js 2022.07.22

TIL 220721

오늘은 예비군 훈련 때문에 공부를 거의 하지 못했다.. 아침부터 저녁까지 8시간 교육을 받고 저녁을 먹고 씻고 컴퓨터 앞에 앉으니 시간이 너무 늦었다.. 다행히 이번 주 알고리즘 40문 제도 다 풀었고, 개인과제 js 개념 정리고 다 했고, 급한 거는 다 해놔서 심적으로는 편했다. 대신 오늘 알고리즘 test가 있었는데 저녁에 돌아와서 문제만 받아서 보았다. 3개 중 2개는 비슷한 유형을 풀어보았기에 금방 로직이 보여 1 문제만 급하게 풀어보았다. 1문제는 문제 자체를 이해를 못 해서 존더 쳐다보니 이해하고 로직도 생각은 났는데 너무 피곤해서 알고리즘이 생각날 때 최소 주 1회 정도마다 풀 생각인데 그때 한번 풀어볼 생각 인다 2 챕터 마지막 날이다 보이 팀원들 다면평가를 하고, 알고리즘 코드 리뷰를 정..

일지/TIL 2022.07.21

셀레니움

셀레니움 웹페이지의 필요한 정보나 선택자를 선택하여 정보를 스크랩 하는 것을 크롤링 또는 스크래핑이라고 한다. 웹 크롤링이란 웹상의 정보들을 탐색하고 수집하는 작업을 의미 웹 스크래핑은 특정 웹 사이트나 페이지에서 필요한 데이터를 자동으로 추출해 내는 것을 의미 크롤링과 스크래핑은 ‘원하는 데이터를 모을 수 있다’는 점이 비슷 웹 크롤링은 웹 페이지의 링크를 타고 계속해서 탐색을 이어나가지만, 웹 스크래핑은 데이터 추출을 원하는 대상이 명확하여 특정 웹 사이트만을 추적한다는 차이가 있다. 고로 내가 지금까지 해온 크롤링은 사실 스크래핑이었다. 여러사이트나 페이지를 타고타고 들어가서 정보를 수지하는 것이 아닌 내가 지정한 페이지 안에서 필요한 정보들만 긁어 왔으니까 beatifulsoup4 와 seleni..

coding/Python 2022.07.20

slice()와 splice() 차이

slice() 함수 slice()는 배열로 부터 특정 범위를 복사한 값을들 감고 있는 새로운 배열을 만드는데 사용 첫번째 인자로 시작 인덱스 두번째 인자로 종료 인데스(종료인덱스 전까지 잘라냄) nums = Array(20).fill().map((_, i) => i) < [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] nums.slice(5, 10) // [5, 6, 7, 8, 9] nums.slice(10) // [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] nums // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] ..

coding/JS 2022.07.19

slice, 정규식

slice(s,e) s는 시작인덱스, e는 끝 인덱스(e는 포함 안댐 e-1까지 자름) 첫번째 인자로 넘어온 시작 인덱스가 가리키는 값은 포함 두번째 인자로 넘어온 종료 인덱스가 가리키는 값은 포함하지 않는다. 두번째 인자를 넘기지 않으면, 시작 인덱스가 가리키는 값부터 배열의 마지막 값까지 모두 복사 let a = [0,1,2,3,4,5,6,7,8,9] console.log(a.slice(0, 5)) // [0,1,2,3,4] console.log(a.slice(7)) // [7,8,9] 자바스크립트 배열의 slice()와 splice() 함수 Engineering Blog by Dale Seo www.daleseo.com 정규식 replace() 사용시 원하는 값을 찾아서 바꿔주지만, 문자열이나 배열..

coding/JS 2022.07.18

JWT, API

API와 JWT API(Application Programing Interface) 사전적 의미 - API : 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. - 인터페이스 : 컴퓨터 시스템끼리 정보를 교한하는 공유 경계를 의미, 어떤 기계간의 장치끼리 정보를 교환하기 위한 수단이나, 방법을 의미 풀어서 보면 API는 어떠한 응용프로그램에서 데이터를 주고 받기 위한 방법을 의미 어떤 특정 사이트에서 특정 데이터를 공유할 경우 어떠한 방식으로 정보를 요청해야 하는지, 그리고 어떠한 데이터를 제공 받을 수 있을지에 대한 규격들을 API라고 하는것 API는 점원과 같은 역할 API는 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록..

coding/JS 2022.07.17

filter, set, replace

filter 특정 조건을 만족하는 새로운 배열을 만들때 사용 const numbers = [1, 2, 3, 4, 5]; const result = numbers.filter(number => number > 3); console.log(numbers); // [1, 2, 3, 4, 5]; console.log(result); // [4, 5] // for문을 이용 for (i = 0; i 3) { result.push(numbers[i]); } } console.log(result); // [4, 5] filter(요소 값, index, 순회하는 대상 객체) Boolean 값인 true 또는 false 값을 반환하는 함수를 등록 ..

coding/JS 2022.07.17

Javascript 개념 정리(3) - 호이스팅과 TDZ

🐤 호이스팅과 TDZ는 무엇일까 ? 호이스팅 호이스팅이란, 변수와 함수의 메모리 공간을 선언 전에 미리 할당해두는것 변수,함수의 선언부가 위치한 인접 스코프의 시작 지점에서 해당 식별자의 관측이 가능한 현상 - 자바스크립트 Parser가 함수 실행 전 해당 함수를 한 번 훑는다. - 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 실행시킨다. - 유효 범위: 함수 블록 {} 안에서 유효 JS엔진이 모든 스코프 또는 실행 컨텍스트를 탐색하며 여러 변수 객체에 식별자를 수집한다. 이렇게 실행 시점으로 넘어가기 전에 선언된 식별자에 대한 정보를 이미 알고 있기 때문에 선언 이전에 참조할 수 있게 되는것이다. 즉, 함수 내에서 아래쪽에 존재하는 내용 중 필요한 값들을 끌어올리는 것 - 실제로 코..

항해99 2022.07.16