240924 TIL 우당탕탕 우리들의 풋살

LIHA·2024년 9월 24일
0

내일배움캠프

목록 보기
59/108
post-thumbnail
post-custom-banner

뼈대잡기

지금 해야할것

  • makeGacha, makeProduct 버튼 연결하기
    -> 연결 완료

  • 내 버전 가챠 한번 만들어보고 혹시 되면 웅상님꺼랑 URL 바꿔서 테스트해보기


알고리즘

K번째 수 정렬하기에서 딱 한개만 틀리니 기분이 미묘하다. 일단 아래는 딱 한개만 틀린 코드.

function resortArray(array, commands) {
    let slicedArray = [];
    let arr = [];
    
    for (let i = 0; i < commands.length; i++) {
    slicedArray = array.slice(commands[i][0]-1, commands[i][1]).sort()
    arr.push(slicedArray[commands[i][2] - 1])
    }
    return arr;
}

function solution(array, commands) {
    var answer = [];
    answer = resortArray(array, commands)
    return answer;
}

저기요? 이런 대체 뭐가 문제지 싶어서 정렬을 해줘봤더니 맞다.

function resortArray(array, commands) {
    let slicedArray = [];
    let arr = [];
    
    for (let i = 0; i < commands.length; i++) {
    slicedArray = array.slice(commands[i][0]-1, commands[i][1]).sort((a, b) => a - b)
    arr.push(slicedArray[commands[i][2] - 1])
    }
    return arr;
}

function solution(array, commands) {
    var answer = [];
    answer = resortArray(array, commands)
    return answer;
}

우리들의 풋살

Windows에서는 killall node가 적용되지 않는다

그러니 taskkill /f /im node.exe 을 써주자

SQL DB 조회 시 Could not register service workers 라는 에러가 날 때

스택 오버플로우에 나와 같은 에러를 겪는 케이스가 있었다. 링크

-> VS Code의 캐시메모리 관련 문제인 것 같았다. 껐다 켰더니 해결되었다.

테이블에 로우쿼리로 INSERT INTO, UPDATE 하는 방법

240916 TIL 에도 써있지만,

SQL로 삽입하는 방법은 아래와 같다.
모든 컬럼의 정보를 다 입력할 경우 입력할 컬럼 선언은 생략해도 된다고 한다.

INSERT INTO `our_futsal`.`product` (productName, price, productInfo)
VALUES ('10회 뽑기', 50000, '조금 좋은 선수가 있을까?')

로우쿼리로 수정하는 방법은 아래와 같다.

UPDATE Temp_Table SET field3='변경된 값' WHERE field1 = 'data2';

삭제하는 방법은 아래와 같다.

DELETE FROM 테이블명
WHERE 컬럼명 = '데이터가 특정되는 조건'

선수 데이터 수정 시 사용했던 로우쿼리는 아래와 같다.

UPDATE `our_futsal`.`player` 
SET playerStrength = 19, playerDefense = 19, playerStamina = 19
WHERE playerId = '1'

오랫동안 이용하지 않았던 로컬 브랜치가 말썽 - 삭제하고 싶을 땐

참고 블로그

  • 일단 내가 VS Code에서 checkout 하는건 로컬 브랜치임을 기억하자.

그동안 쓰지 않던 local의 dev branch로 checkout 했더니 아주 옛날 아이템 시뮬레이터 시절 파일도 삭제되지 않은 스켈레톤 코드 상태인 파일이 자꾸만 생겼고, git pull origin dev를 해도 뭔가 merge 메시지가 뜨면서 잘못 만지면 안될 것 같은 메시지가 자꾸 떴다.
-> 내 상황은 원격 리포에 최신화된 코드가 있고, 그걸 로컬에도 적용하고 싶은 거였다.

해결방법:
1. UNIX merge 화면에서 :q를 눌러 머지하지 않고 나간다. (이 머지가 사실 어떤 머지가 될 줄 몰라서 하지 않았다. 원격리포의 내용을 로컬리포에 붙여주는 것이라면 했을 것인데, 확신이 없어서 하지 않았다🤔)
2. git reset 혹은 git stash를 쳐보고, 소스제어에서 '변경 사항' 우클릭 하여 모든 변경 내용 취소 를 누른다.
3. git branch -D dev 로 로컬 dev 브랜치를 삭제한다. (git branch -d dev를 쓰니 fully merge되지 않아서 삭제할 수 없다고 나와 강제로 삭제했다. )
4. git clone (원격 리포지토리 주소)로 업스트림 리포지토리를 아예 다시 클론해온다.

JS에서 쓰이는 비트연산자(시프트 연산자)는 뭘까?

MDN 문서 - 시프트 연산자

동혁님이 게임 플레이 로직인 play.js를 만드실 때 비트연산자를 쓰셨다고 말씀해 주셔서, 비트연산자의 역할이나 기능을 잘 모르는 나는 헉 저게뭐여??? 하고 놀랐다.
-> 소수점 자리를 없애기 위해 만드신거라고. MDN 문서에 따르면 a << b 라고 쓰면 a를 비트 b개만큼 왼쪽으로 이동시키는 기능이라고 한다.
-> 예를들어 7 << 2 라고 하면 111(2) 인데 11100(2) 이므로 28이 된다. 일반식으로 보면 a * ( 2 ** b ) 이다.

ELO 알고리즘? MMR 계산 알고리즘은 뭘까?

강현님이 올려주신 geek 링크 가 ELO 레이팅 알고리즘이었다.
ELO 레이팅이란 원래 체스에서 나온 것이라는데, 한 선수의 실력을 다른 선수들과 비교해 측정하는 방법이라고.


잡담

튜터님 필드 두둥등장

어서오세요 튜터님. 필드는 처음이시죠?

저도 힘들답니다

새벽 3시 54분에도 잠들지 않는 5조

불타는 우리 조 멋지다.

새벽 4시 58분에 퇴근하는 우리

으아아 자고 이따 만나요!

profile
갑자기 왜 춤춰?
post-custom-banner

0개의 댓글