본문 바로가기

til10

250114 TIL - 꼬리재귀? 알고리즘 풀이 회고배열을 정렬했으면 굳이 최대값 최소값을 위한 추가 로직이 필요하지 않아요... 맨 앞 또는 맨 뒤의 요소가 최대 또는 최소겠죠?일반적으로 재귀와 반복 중에는 반복이 연산 속도도 빠르고, 스택 메모리도 덜 차지하지만,  재귀도 나름 변수 사용을 줄이고, 가독성이 높다는 장점이 있다! 또한 알고리즘 자체가 재귀에 적합한 경우, 즉 연산 결과가 또 피연산자로 들어가는 경우 등이 있어 상황에 맞게 취사선택하면 되는데, "꼬리 재귀"라는 기법을 사용하면 재귀의 단점이 많이 줄어든다고....?꼬리 재귀일반적인 재귀는 return 구문에서 특정한 연산이 필요해유...function factorial(n) { if (n === 1) { return 1; } return n.. 2025. 1. 14.
250108 TIL - 게임 프로그래밍에서 삼각함수, 역삼각함수 게임 프로그래밍에서의 삼각함수듣다가 기절해버리긴 했지만, 삼각함수 속성 강의를 듣고는, 예전 기억이 새록새록 날랑말랑 하더라!!다만 삼각함수의 수학적인 개념을 완벽히 익히는 건 시간 상 경제적이지 않다는 생각이 들어서,게임 프로그래밍에서 주로 활용하게 되는 삼각함수 개념을 서치해보기로 했다!!그 전에 기본 개념은 다지고 들어가는 걸로!! 삼각함수 활용의 기본 원리좌표평면 상에서 (0,0) 좌표를 중심으로 둔 반지름이 1인 원이 있다고 해보자!!이때 원의 중심에서 원주로 직선을 긋고, 그 직선과 원의 교점에서 수선의 발을 내리면무조건 직각 삼각형이 나온다!! 그리고 이 직각 삼각형의 빗변의 길이는 반지름, 즉 1이고삼각함수에 따라 교점의 x좌표는 cosθ, y좌표는 sinθ, 그 직선의 기울기는 tanθ가.. 2025. 1. 8.
250103 TIL - Buffer 메서드 Buffer 객체 메서드 모음1) Buffer.alloc()새로운 Buffer 객체를 생성해주는 메서드!! Buffer의 크기는 필수로 지정해줘야한다!!기본 구조Buffer.alloc(size[, fill[, encoding]])size : 새로 만들 Buffer의 크기, size가 5 라면 5 바이트의 Buffer 생성숫자 타입만 가능!!fill : 새 Buffer를 미리 채울 값, 기본값은 0숫자 타입인 경우, 매 바이트에 해당 숫자가 채워짐0 ~ 255 사이의 정수만 가능, 만약 256 이상이라면 그 값을 256으로 나눈 나머지가 채워짐그 외에 문자열, 다른 Buffer 객체, Uint8Array를 채울 수 있음얘네의 길이가 size 보다 작은 경우, 반복해서 채워짐 (아래 예시에서 확인해보자!!).. 2025. 1. 3.
250102 TIL - any타입, Namespace 기초 any 타입TypeScript에서 활용되는 개념으로, 동적인 데이터 유형을 뜻함!!이리 말하면 뭔 말인가 싶을 테니 쉽게 표현해보자면, TypeScript에선 변수가 어떤 자료형을 담을 것인지 명시를 해주어야하는데,개발 단계에선 정확히 어떤 타입을 할당하게 될지 확신이 서지 않는 경우가 왕왕 있다!이런 때, 어떤 유형의 값이라도 일단 할당이 가능하도록 해주는 것이 any 타입인 거시다!!현재 열공 중인 JavaScript엔 사실 모든 변수에 기본적으로 any 타입이 배정돼있는 셈!!다만, any 타입의 활용은 최대한 자제하는 것이 좋다고 합니다?!지금 JavaScript에서 무수히 겪고 있는 자동 형변환 또는 값 누락 등의 문제를그대로 야기할 수 있기 때문이라고 추측됨!!Namespace하나의 소켓 연결.. 2025. 1. 2.
241231 TIL - 개인과제02 오늘 만난 문제타워를 승급했더니 내 전재산이 null이 돼버린 건에 대하여01) 문제 발견 프로젝트가 막바지에 들었고, 소소한 수정을 하며 시간을 보내던 중 쎄한 콘솔을 발견했으니, null이란 글자였다... 저 response는 다름 아닌 타워를 승급했을 경우 처리되는 핸들러의 응답이었고, 타워의 능력치는 정상적으로 오르지만, gold 소모에 대한 연산이 무언가 잘못됐음을 직감했다... 문제는 서버에서도 gold 획득과 소모를 기록하고 있었고, 이를 바탕으로 gameEnd에서 검증 및 보너스 점수를 계산하기 때문에, 저런 부정 탄 값이 섞여들어가는 순간 수많은 오류 폭풍이 나타나는 건 따놓은 당상인 수준... 02) 해결 시도 먼저 null이란 자료형의 특성 첫번째!! 비어있음을 명시하기 위해 사용한다.. 2024. 12. 31.
241230 TIL - charAt(), at() charAt()과 at()둘 모두 index를 매개변수로 받아 문자열의 특정 한 글자를 추출하는 메서드지만, 소소한 차이가 있다!!! 매개변수가 입력되지 않은 경우charAt()과 at() 모두 0번째 인덱스의 문자를 반환한다!!음수 인덱스 지원 여부at()은 음수 인덱스를 지원하는 반면, charAt()은 음수 인덱스를 지원하지 않는다!!만약 뒤에서 부터 조회하고 싶다면 String.length - n 같은 식으로 활용해야 함매개변수가 문자열의 길이보다 큰 수인 경우charAt()은 빈 문자열 ""을 반환하는 반면, at()은 undefined를 반환한다!!!배열 메서드 at()번외로, at()은 배열에도 활용가능한 메서드인데, 특징은 문자열일 때와 똑같다!!매개변수를 입력하지 않으면 배열의 0번째 요.. 2024. 12. 31.