본문 바로가기

개발, 프로그래밍8

[Typescript] 인덱스 시그니처 에러: ~ 형식에서 'number' 형식의 매개 변수가 포함된 인덱스 시그니처를 찾을 수 없습니다. redis에 저장할 객체를 이리저리 수정하다가, 인덱스 시그니처를 찾을 수 없다는 에러를 발견했다. 아래와 같은 예시 상황에서 이러한 에러가 난다. type exampleType = { text: string; count: number; 1: string; 2: string; }; const example: exampleType = { text: "hello", count: 3, 1: "my first", 2: "my second", }; 원인은 exampleType에서 1, 2 속성에 대해서는 정의가 되었으나, 범용적으로 number 속성에 대해 정의한 것이 없어 발생한 오류인 것으로 보인다. 객체에서 .. 2023. 7. 11.
코딩테스트에서 시간복잡도를 줄여보자 원래는 그런거 잘 몰랐다 지금까지는 코딩테스트를 준비하면서, DFS나 구현 등 문제 유형에만 집중해왔다. 그래서인지 적당한 난이도의 문제를 푸는 것은 이제 익숙해졌으나, 뭔가 가로막힌 것 같다는 생각을 해오던 요즘이었다. 하지만 이번에 카카오 기출의 문제와 해설을 보면서, 뭔가 깨달음을 얻어 글을 작성하게 되었다. 시간복잡도를 인식하게 된 계기 계기는 2022 카카오 신입 공채 기출 6번 문제를 풀면서였다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 간단히 요약하자면 다음과 같다. 입력: 숫자를 담은 2차원 배열, 2차원 배열을 어떻게 변화시킬.. 2023. 7. 6.
Mac 개발자 세팅 기록 일지 1 어쩌다 보니 지인 중에게서 맥북 에어 M1 중고를 사게 됐다. 트랙패드도 낯설고, 처음보는 UI도 낯설지만 하나씩 설정해보기로 했다. 종종 맥북에 세팅한 기록을 남기려고 한다. Homebrew 설치하기 Homebrew 홈페이지 일단 맥북의 모든 설치는 brew install ~~~ 로 진행되는 것으로 보인다. 가장 먼저 설치해본다. 터미널 창을 여는 방법은, Command + Space로 Spotlight를 연 뒤, terminal.app을 검색해서 여는 것이다. ter까지 입력해도 검색된다. Homebrew 홈페이지에 아래와 같은 명령어로 설치한다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/ins.. 2022. 9. 30.
FFMPEG으로 m3u8 영상 다운로드 하기 개요 인터넷 상에서 온라인 강의를 따로 저장해뒀다가 다시 보고 싶어서 녹화를 하는 경우가 자주 생겼다. 이전까지는 화면 녹화 프로그램으로 영상 재생한 것을 직접 녹화해서 저장해두었었는데, 저장할 영상이 많은 경우에는 시간이 너무 많이 드는 지라 다른 방법을 모색했었다. 최근 영상은 단순히 모든 파일이 업로드되는 것이 아니라, m3u8이라는 파일로 스트리밍 할 수 있도록 제공된다. 잘은 모르지만 이 파일은 그냥 다운로드하면 내 컴퓨터에서 그냥 재생되는 영상 파일은 아니고, 일정 시간 간격으로 영상의 일부분들을 가져올 수 있는 일종의 트리거 역할을 하는 파일인 듯 하다. m3u8로 영상을 저장하는 방법을 찾다가, ffmpeg이라는 오픈소스로도 영상 다운로드가 가능하다는 것을 발견했다. 몇 달 전 ffmpeg.. 2022. 7. 26.