전체 글293 [JavaScript] 호이스팅(Hoisting) - 변수나 함수를 scope 상단으로 끌어올리는 기술 - 함수의 호출문이 정의문 보다 먼저 나와도, 정의문을 끌어올려 함수를 호출 (1) 선언된 함수는 상단에서 참조, 호출이 가능 (2) 선언된 var는 상단에서 참조, 할당이 가능 (3) 선언된 let, const는 상단에서 참조 할당이 불가능 => const 변수는 인접 scope 상단에서 console.log 를 통해 관측되지 않으므로 Hoisting 대상이 아님 => let은 선언은 하나 초기화는 되지 않음. 그럼에도 scope 상단에서 console.log로 관측 가능하기에 Hoisting 대상 - var 변수의 변수 유연성 등을 고려하여, 변수 Hoisting은 지양한다. let cnt = 0; myFnc();// myFnc 호출 functio.. 2022. 7. 8. [JavaScript] 웹 스크래핑(Web Scraping) 예제(2) axios 와 cheerio 를 활용하여 인프런 사이트를 크롤링하는 예제다. 코드 작성 이전에 코드를 작성할 폴더를 열고, vscode 의 터미널에 다음을 입력한다. npm init -y npm install axios cheerio 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 const axios = require("axios"); const cheerio = require("cheerio"); const getHTML = async(keyword) => { try { return await axios.get("https://www.inflearn.com/courses?s=" + e.. 2022. 7. 6. [DFS] DFS에서 x,y 좌표를 뒤집는(바꾸는) 이유 - DFS 문제를 풀다보면 입력은 x,y 로 받는데, 노드 입력은 [y][x] 로 한다. - 이해가 안가서 [x][y] 로 바꾸면 error를 뿜고, 구글링으로 찾아봐도 제대로 설명없이 그냥 DFS는 그렇더라~ 라는 해설들 뿐이다. - 다행히 어떤 분께서 지나가시듯 설명한 것을 보고 명확히 이해하게 되었다. 감사합니다! DFS에서 x,y 를 뒤집어 인자로 받는 이유? => 배열의 경우 x좌표를 up to down, y좌표를 left to right 방향으로 넣었다. => 좌표에선 x좌표가 left to right, y좌표가 down to up 방향으로 들어간다. => 배열이 우하향으로 index가 커지듯, 좌표는 우상향으로 index가 증가하기에 좌표를 배열처럼 생각하여 '어? 위로 가니까 부호가 반대로.. 2022. 7. 5. [JavaScript] 웹 스크래핑(Web Scraping) 예제(1) Javascript 의 puppeteer 라이브러리를 활용하여 크롤링하는 기본 예제다. 여기선 puppeteer 를 사용하였다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 // const webcrw = require('파일 경로') // webcrw 에서 exports 에 들어간 가 // require 함수의 output으로 나옴 // require 의 전체 구성 코드 /* const require = function(src) { let foleAsStr = readFile(src); let module.exports = {};.. 2022. 7. 2. [MySQL] innoDB_file_per_table 옵션 설정 문제 : - MySQL을 백업하지 않은 상태에서, table이 다시 replace하는 문제를 야기했다! - 작성자는 너무 슬펐고, 지인들에게 도움을 요청하였다. 그중 괜찮은 기능을 찾아 공유한다. my.cnf 파일의 [mysqld] 섹션에 다음을 추가 innodb_file_per_table sql을 실행시킬 적마다 해당 명령을 입력하자 /* 실행 */ SET GLOBAL innodb_file_per_table=1; /* 취소 */ SET GLOBAL innodb_file_per_table=0; http://www.innodbcluster.com/?depth=140503 2022. 7. 1. [MySQL] Data Directory 위치 찾기 db log를 보려는데 usr/local 등의 경로에 mysql 폴더가 존재하지 않았다. 음? console을 입력하여 찾아보자 cmd => mysql 접속 SELECT @@DATADIR 입력 => C:\Program Files\MariaDB 10.6\data\ 문제 분석 : => MariaDB 를 설치하며 data directory가 이동한 듯 하다. 종종 하부 디렉토리가 이동하는 경우가 있다 하니 참고하자. 2022. 6. 29. [Console] 포트(port) 제거 여러 프로젝트를 톰캣(tomcat)을 동작시킬 때 종종 포트가 중복되어 동작이 안 될 때가 있다. 그럴 때 본인은 console 로 해당 포트를 찾아 kill 하여 문제를 해결하였다. 방법은 다음과 같다. (1) 해당 포트가 열려있는지 확인 netstat -na | findstr 8080 (2) 열린 포트의 PID 확인 netstat -nao | findstr 8080 (3) PID (Process IDendifier) 찾기 tasklist | findstr "해당 PID 번호" (4) PID 프로세스 종료 (죽이기) taskkill /f /pid "해당 PID 번호" 2022. 6. 28. [MySQL] MySQL Table 합치기 & 중복 data 제거 테이블 A와 B가 있다. 이 두 테이블은 같은 column 구조로 구성되며, 일부 같은 data를 가진다. Table을 합치고, 중복되는 data는 제거해보자! DELETE A FROM [Table Name] A INNER JOIN (SELECT MAX(index) AS index FROM [Table Name] GROUP BY [Column Name] HAVING COUNT(index) > 1) B ON A.idx = B.idx ; https://papababo.tistory.com/entry/mariaDBmysql-%EC%A4%91%EB%B3%B5%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A1%B0%ED%9A%8C-%EB%B0%8F-%EC%82%AD%EC%A0%9C%ED%95%98%EA.. 2022. 6. 24. 이전 1 ··· 19 20 21 22 23 24 25 ··· 37 다음