본문 바로가기
[Node.js] 간단 동물소리 API 만들기 ▶ Node.js 의 시작 우선, Node.js 페이지를 들어가서 Node.js 설치부터 시작한다. ▶ Node.js 그리고 npm Node.js 설치가 완료되었다면, 간단하게 console.log("Hello World!") 코드를 쳐보고 실행시켜본다. 참고로, Visual Studio Code에서 터미널을 활용하면 쉽게 실행해볼 수 있다. 명령어는 다음과 같이 입력하면 되겠다. node {실행할 js 파일} 이렇게 정상적으로 작동이 되는 것을 확인했다면 이제는 npm으로 들어가서 패키지를 활용해볼 수가 있겠다. 간단하게 npm 사이트 (https://www.npmjs.com/) 에 접속하여 검색어로 원하는 패키지를 검색하면 설명과 함께 사용해볼 수 있다. 대표적으로 사용하는 express라는 패키지를.. 2023. 6. 6.
PHP 자료형 비교표 ▶ 함수로 비교할 때 ▶ ==로 느슨한 비교 ▶ ===로 엄격한 비교 출처 : http://docs.php.net/manual/kr/types.comparisons.php 2023. 2. 1.
INSERT 데이터 존재 시, UPDATE 문으로 사용하는 법 ▶ INSERT 사용 시 문제점 INSERT INTO~ 문을 쓰게 되면 UNIQUE 데이터가 존재할 시에, 에러를 내고 데이터베이스가 죽어버린다. 이러한 문제를 해결하기 위해서 데이터 존재 시, UPDATE 문으로 사용하는 방법이 있는데, INSERT INTO ON DUPLICATE KEY UPDATE 구문을 사용하면 해결할 수 있다. ▶ 사용예시 # Query INSERT INTO table (A, B) VALUES ('a', 'b') ON DUPLICATE KEY UPDATE A='c', B='d'; 데이터가 없으면 A,B 칼럼에 a,b를 값으로 넣고, 데이터가 존재하면 A,B 칼럼에 c,d를 값으로 넣는다. 출처 : https://tez.kr/161 2023. 1. 29.
MySQL You can't specify target table 'table_name' for update in From clause 해결 ▶오류 발생 원인 MySQL에서는 INSERT UPDATE DELETE 등을 수행할 때, 해당 수행하려는 테이블과 서브쿼리로 끌어오려는 테이블이 같을 때 에러를 발생시킨다. 참고로 Oracle의 경우에는 이러한 제약이 없다. ▶오류 해결방법 UPDATE 문을 예로 들면 이러한 쿼리문을 보냈을 것이다. UPDATE member SET jj_password = 'guest', jj_name = 'test123', jj_address=(SELECT jj_address from member where id='admin') WHERE jj_id = 'hack123' "; 해당 서브쿼리 안에 서브쿼리를 다시 넣어서 값을 끌어다가 사용하면 해당 오류는 해결된다. UPDATE member SET jj_password .. 2023. 1. 11.
[JavaScript] Event 와 Event처리기 ▶ 마우스 Event 마우스의 버튼, 휠을 조작할 때 나타나는 이벤트이다. 속성 설명 click 사용자가 HTML 요소를 마우스로 눌렀을 때 이벤트가 발생한다. dblclick 사용자가 HTML 요소를 마우스로 두 번 눌렀을 때 이벤트가 발생한다. mousedown 사용자가 요소 위에서 마우스 버튼을 누르는 동안 이벤트가 발생한다. mousemove 사용자가 요소 위에서 마우스 포인터를 움직일 때 이벤트가 발생한다. mouseover 마우스 포인터가 요소 위로 옮겨질 때 이벤트가 발생한다. mouseout 마우스 포인터가 요소를 벗어날 때 이벤트가 발생한다. mouseup 사용자가 누르고 있던 마우스 버튼에서 손을 뗄 때 이벤트가 발생한다. ▶ 키보드 Event 키보드에서 특정 키를 조작할 때 발생하는 .. 2022. 11. 19.
[JavaScript] 함수, let, const ▶ 함수 함수는 크게 '함수 선언'을 하고, '함수 호출'을 해서 대상 함수를 가져와 사용한다. 단, 웹 브라우저에서 JS 소스를 해석할 때 함수의 선언 부분을 가장 먼저 해석하기 때문에, '함수 호출'을 먼저하든 '함수 선언'을 먼저하든 크게 상관이 없다. 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 // 함수 선언 fuction addNumber() { ..... } // 함수 addNumber(); // 함수 사용 예 var num1 = parseInt(prompt("첫 번째 숫자:")); var num2 = parseInt(prompt("두 번째 숫자:")); .. 2022. 11. 16.