coding 97

js 객체 비구조화 할당

비구조화 할당이란, 배열이나 객체의 속성 혹은 값을 해체하여 그 값을 변수에 각각 담아 사용하는 js 표현식 ES6 부터 추가된 문법이며, 구조 분해 할당 이라고도 함 즉, 배열이나 객체의 값을 새로운 변수에 쉽게 할당함 배열 선언 및 호출 기존방식 //배열선언 const animalList = ['CAT', 'DOG', 'TIGER']; //각각 변수담기 const cat = animalList[0]; const dog = animalList[1]; const tiger = animalList[2]; //각각호출 console.log(cat); // 'CAT' console.log(dog); // 'DOG' console.log(tiger); // 'TIGER' 배열의 인덱스를 하나씩 꺼내서 직접 할당..

coding/JS 2022.07.29

네이버 지도 API

네이버 지도 API 사용하기 네이버에서 제공하는 네이버 지도 오픈 API 플랫폼에서 로그인 후 어플리케이션에서 map으로 들어가거나 아래 링크 로 들어가기 // 네이버 클라우드 플랫폼 https://www.ncloud.com/ // 네이버 지도 API링크 https://www.ncloud.com/product/applicationService/maps 이용 시작하기 => 어플리케이션 등록 설정 입력하기 - 어플리케이션 이름 - Maps : Web Dynamic Map와 Geocoding 체크 - Web 서비스 URL : http://localhost:5000 입력 후 '+ 추가' 버튼 클릭(추가한 사이트에서만 API사용 가능) - 입력 완료 후 '등록' 클릭 코드 작업전 설정 완료! ※ 네이버 지도 관련..

coding/JS 2022.07.28

rest API PUT/PATCH/POST

RESTful API 자원(Resource)을 URI로 표현하고, 자원에 대한 행위를 HTTP Method(GET, POST, PUT, DELETE)로 표현한다. 나만의 방식대로 이해해서 정리한거는 자원과 메소드로 무슨 api인지 알수 있게 이쁘고 잘 만든 api가 restful 하다라고 생각이 드는데 맞는건가? 보통 CRUD에서 조회는 GET, 등록은 POST, 수정은 PUT, PATCH, 삭제는 DELETE를 이용 GET과 DELETE는 행위가 명확 하지만 수정의 PUT과 PATCH에 대해 알아볼까 한다. PUT 요청 페이로드를 사용해 새로운 리소스를 생성하거나, 대상 리소스를 나타내는 데이터를 대체한다. PATCH 리소스의 부분적인 수정을 할 때에 사용한다. 결론부터 보면 PUT은 자원의 모든 상태..

coding/JS 2022.07.27

for in / for of

반복문의 한 종류인 for in과 for of의 차이를 알아보겠다. 결론부터 말하면 for in은 객체의 반복에서 사용 for of는 배열의 반복에서 사용 for in 객체를 순환 할 때 사용 let obj = { a: 1, b: 2, c: 3 }; for (let item in obj) { console.log(item) // a, b, c } 객체 안에서 순환 할때 사용하지만 객체의 키 값을 순환 함 객체가 아닌 배열에서 사용한다면? let arr = [1, 2, 3]; for (let item in arr) { console.log(item) // 0, 1, 2 } 배열도 객체의 일부분이기 때문에 순환을 하지만, value 값을 나타내는게 아닌 index 값을 나타낸다. for of 배열를 순환 할..

coding/JS 2022.07.27

SQL과 NOSQL의 차이

DBMS(Database Management System) 데이터를 장 저장하고, 잘 찾기 위해 만들어진 소프트웨어 ex) mongodb DBMS가 설치된 서버 컴퓨터를 데이터베이스 서버(DB서버)라고 함 'DB 저장'이라는 말은 DBMS가 설치된 서버에 데이터를 저장하는 것을 뜻함 데이터 베이스 - 관계형 DB(RDB) : SQL - 비관계형 DB : NoSQL 관계형 DB : SQL 데이터 형식이 정해져 있고, 데이터 끼리 관계를 맺어 모순이 없는 데이터를 유지할 수 있도록 도와주는것에 집중한 데이터베이스 SQL은 '구조화 된 쿼리 언어 (Structured Query Language)'의 약자 데이터베이스 자체를 나타내는 것이 아니라, 특정 유형의 데이터베이스와 상호 작용하는 데 사용 하는 쿼리 언..

coding/IT, CS 2022.07.25

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

셀레니움

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