본문 바로가기
자바 스크립트 async promise promise async/await function asyncFunction(item, callback) { setTimeout(function() { console.log(`${item} 처리 완료`); callback(null, `${item} 결과`); }, Math.random() * 1000); } function processArray(array, finalCallback) { const results = []; let count = 0; function iterate(index) { if (index === array.length) { finalCallback(null, results); return; } asyncFunction(array[index], function(error, resu.. 2024. 3. 15.
[DB] 인덱스가 왜 중요한가!! 최근에 회사에서 프로그래밍 로직상 이렇게 오래 걸릴리가 없는데 대체 왜 db에 접근해서 처리하는데 시간이 몇시간이나 걸리지?? 라는 이슈가 있었다. 그래서 해당 함수의 최초 시작 지점부터, sp 내용까지 다 훑어 보았고 의심스러운 부분을 찾았다. UPDATE USER_RANKING SET nextStartScore = 점수 WHERE userNumber = 유저고유번호 AND seasonNumber = 시즌 번호; // 아래 테이블은 다 없는 테이블입니다, 설명을 위해 비슷하게 추가했어요 간단히 설명하면 유저고유번호, 시즌 번호를 조건을 걸어서 데이터를 찾아 점수를 업데이트 하는 쿼리이다. 우리 게임상 한 시즌이 지날수록 데이터양이 점점 늘어나는 구조였고, 이미 해당 데이터에 20만건이 들어있는 상황이긴.. 2024. 3. 7.
[자바스크립트] 객체A에서 객체B를 복사 후 객체 B의 특정 프로퍼티 삭제 객제A의 값을 객체B에 전체 복사해서 사용하되 특정 변수는 빼고 사용 하고 싶을때가 있다. 그럴때 단순히 = 대입연산자를 사용하여 처리하면 서로 다른 객체 A와 B가 같은 곳을 참조 하고 있기 때문에 둘 중 하나의 객체 값만 변경되도 둘 다 영향을 받는다. [ 1. 영향 받는 코드 ] let objA = { id:"testID", pw:"testPW1234!" }; let objB = objA; console.log("objA:"+JSONbig.stringify(objA)); console.log("objB:"+JSONbig.stringify(objB)); // delete 연산자를 사용하여 프로퍼티 삭제 delete objB.pw; // 둘다 삭제됨! console.log("objA:"+JSONbig... 2024. 3. 4.
[크라임씬] 코가사 살인사건 아주 머언 옛날 "코가 학원 살인사건"을 플레이하면서 언젠가 꼭 5명을 모아서 코가사 살인사건을 하리라! 마음 먹었었는데, 드디어 5명이 되어서 친구들과 함께 다녀왔다.  스토리 요약 >>  인적이 드문 코가사, 어느날 코가사의 주지 스님인 김주지 스님이 실족사 되어 발견되었는데현장을 살펴본 탐정 이은호는 주지스님이 살해 됐다고 생각이 들어 코가사에 모인 사람들을 대상으로 범인을 찾기로 한다!!  과연 범인은 누구일까? ◈ ep1인 코가학원 살인 사건을 하지 않아도 충분히 플레이가 가능하니까 꼭 순서를 지켜서 할 필요는 없고, 예약 가능한 테마를 예약하면된다. ◈ 내친구들 얼굴은 소중하니까 ㅋㅋ 가렸고, 재밌는 점은 절을 테마로 한 크라임씬이라 스님역을 받으면 대머리 가발을써야한다.....ㅎㅎ  ◈ 다음.. 2024. 3. 4.
[mysql] INFORMATION_SCHEMA 관련 정리 INFORMATION_SCHEMA 는 각 mysql 인스턴스안에 있는 '데이터베이스'이다. 해당 MySQL 서버가 유지하는 다른 모든 데이터베이스에 대한 정보를 저장하는 곳입니다. The Information_schema 데이터베이스는 몇몇의 읽기전용 테이블을 포함합니다. 사실 그것들은 View이고, 테이블은 아닙니다. 그래서 그것들과 관련된 파일들은 없습니다. 그리고 트리거 셋팅도 불가능합니다. 또한 데이터베이스 파일구조도 존재 하지 않습니다. 당신은 INFORMATION_SCHEMA 를 SELECT(조회)만 가능하고 삽입, 삭제 , 변경은 불가합니다. 요약) INFORMATION_SCHEMA 는 DATABASE의 정보를 저장하는 VIEW이며 오직 SELECT만 가능하고, INSERT, DELETE, .. 2024. 2. 26.
[mysql] 현재 시간, 현재시간 unixtime, 특정시간, 특정시간 unixTime 쿼리 SELECT NOW(), UNIX_TIMESTAMP(), DATE_ADD(NOW(), INTERVAL 7 DAY), UNIX_TIMESTAMP( DATE_ADD(NOW(), INTERVAL 7 DAY)); - NOW() : 현재 시간 출력 함수 - UNIX_TIMESTAMP() : 현재 시간 unixTime으로 출력해주는 함수 - DATE_ADD () : 시간을 더해 주는 함수 : DATE_ADD(NOW(), INTERVAL 7 DAY) -> 현재 시간에 7일 더해서 출력 - UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 7 DAY)) 현재 시간에 7일 더한시간을 UNIXTIME으로 변환해서 보여줌 ** UNIXTIME이란? - UNIX 시간(Unix time)은 협정 세계시(U.. 2024. 2. 16.