본문 바로가기

전체 글

(49)
자바스크립트 배열의 내장 함수 pop 함수를 사용하여 배열의 마지막 요소 삭제 var nums =[100,200,300,400,500]; var pop= nums.pop(); //500 pop 함수는 반환값이 삭제 된 요소의 값 shift 함수를 사용하여 배열의 첫 번째 요소를 삭제 var nums =[100,200,300,400,500]; var shift = nums.shift(); //100 splice 함수를 사용하여 배열 요소를 삭제 var nums = [100,200,300,400,500]; nums.splice(3,2); //[100,200,300] 첫번째 인수는 제거할 배열 요소의 위치(인덱스)를 설정 두번째 인수는 제거할 배열 요소의 개수를 설정합니다. * 첫번째 인자를 0으로 지정하고 두번째 인자를 생략하면 모든 배..
oracle 프로그래머스 sql 고득점 체크 입양 시각 구하기 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 우선 시간을 기준으로 입양 건수를 조회해야 하기 때문에 저는 우선 datetime 값을 먼저 조회하였다.. 결과 조회 화면에서 보면 AS HOUR을 가져와도 ..
NodeJS의 웹 소켓으로 채팅방 만들기 express 서버 안에다가 websocket 생성 http,websocket 둘다 작동 굳이 같이 만들 http와 websocket을 같이 만들필요는 없다 같이 만드는 이유는 2개가 같은 port에 있길 원하기 때문 내 http 서버 위에 websocket 서버를 만들 수 있도록 하였다. import http from "http"; import express from 'express'; import WebSocket from "ws"; const app = express(); app.set("view engine", "pug"); app.set("views", __dirname + "/views"); app.use("/public", express.static(__dirname + "/public"))..
http와 WebSocket에 대한 설명 어떤 것이 실시간을 가능하게 해주는 것인가? WebSocket http 모든 서버들이 작동하는 방식 유저가 request로 보내면 서버가 response로 응답 http에서 기억해야할 중요한 점은 stateless backend가 유저를 기억하지 못한다. 유저와 backend사이에 아무런 연결이 없다 req와res과정 뒤에 backend는 유저를 잊어버림 서버가 내가 누구인지 잊어버리는, 이렇게 잊는 것을 stateless라고 한다. WebSocker을 사용해서 연결 할려고 한다면 https://qweiop3334.tistory.com이 아닌 https 대신 wss로 해주면 댄다 WebSocket 연결이 일어날땐 마치 악수하는 것처럼 작동 브라우저가 서버로 websocket request를 보내면 서버가..
redis에 대해 알아보자! 레디스(remote dictionary server) remote는 외부 dictionary는 hashmap과 같은 key,value server는 서버이다. database, cache, message broker in-memoryt data structure store는 메모리 상의 데이터를 저장하는 서버 Supprots rich data structure는 다양한 자료 구조 Cache 나중에 요청에 대한 결과를 미리 저장했다가 빠르게 사용하는 것 cpu register cpu cache main memory(DRAM) storage(ssd,hhd) 메모리의 계층 구조 밑으로 내려 올 수록 저렴하고 느리다 맥북으로 예를 들자면 12MB Cache Memory(SRAM)는 cpu Cache영역에 해당 ..
aws mysql rds 인스턴스 생성하기 [서비스]-[데이터베이스]-[RDS] 클릭 데이터베이스 생성 클릭 [엔진 유형] My-sql로 설정 [템플릿] - 프리 티어 설정 [마스터 암호]는 db 툴(workbench)과 node 서버(mysql 연동 부분)에서 사용되므로 입력한후 잊어버리지 않아야 한다. [스토리지 자동 조정 활성화]는 사용양에 따라 과금될 수 있기 때문에 체크 해제 여기서 중점적으로 봐야할 것은 [데이터베이스 포트] 번호가 3306인지 확인 데이터베이스 생성 RDS 인스턴스 포트 설정하기 [서비스]-[컴퓨팅]-[ES2]를 클릭 따로 보안 그룹 이름을 설정해주지 않았다면 defult이다. 인바운트 포트를 추가하기 위해 [인바운드 규칙 편집] 버튼 클릭 [규칙 추가]를 누른 후 다음과 같이 유횽이 [MYSQL/Aurora]인 33..
Node.js express 서버 만들기 express란? express를 정의하자면 웹 프레임워크이다. 웹을 빠르게 개발할 수 있는 편리한 도구들의 집합체이다. 웹을 모르는 사람들도 관련된 정보를 기반으로 쉽게 개발 할 수 있다. express-generator express의 application skeleton이다. 무슨 말이냐? 뼈대라고 한다. express를 편리한 도구들의 집합이라고한다면 express generator는 말 그대로 express로 생성한 간단한 뼈대 이다. 뼈대를 구축했기 때문에 움직일 수 있지만 뼈대만 있다. 하지만 뼈대를 구축해주었기 때문에 살만 붙이면 되는 장점이 존재 express-generator nodefolder 폴더 생성 nodefolder 안에 있는 폴더와 파일들을 상위 폴더로 옮겨주고 nodefol..
React event handling 사용자가 웹 브라우저에서 DOM 요소들과 상호 작용하는 것을 이벤트라고 한다. 예를 들어 버튼에 마우스 커서를 올렸을 때는 onmouseover 이벤트를 실행 클릭했을 때는 onclick 이벤트를 실행 form 요소 값이 바뀔 때 onchange 이벤트를 실행 리액트의 이벤트 시스템 리액트의 이벤트 시스템은 웹 브라우저의 html 이벤트와 인터페이스가 동일하기 때문에 이벤트를 사용할 때 주의 사항 1. 이벤트 이름은 카멜 표기법으로 작성 html의 onclick은 리액트에서는 onClick으로 작성 2. 이벤트에 실행할 자바스크립트코드를 전달하는 것이 아니라 함수 형태의 값을 전달 html에서 이벤트를 실행할 때는 큰따음표 안에 실행할 코드를 넣었지만, 리액트에서는 함수 형태의 객체를 전달 앞서 버튼 예..