목록전체 글 (91)
Hello World...
로그인 중 오류가 발생했습니다. ClientException: ( "error": { "code": 403, "message": "People API has not been used in project 000000000 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/people.googleapis.com/overview?project=00000000000 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.", "status"..
업데이트 (2026-11-06): 기존 설명 정정. 기존 글은 "서버 컴포넌트에서 쿼리 파라미터를 읽으려면 미들웨어가 필요하다"고 했지만 사실이 아닙니다. 페이지(page.tsx)는 searchParams prop으로 바로 읽을 수 있습니다. 또 기존 예시처럼 요청 헤더 값을 이어 붙여 리다이렉트하면, 미들웨어가 적용되지 않는 경로에서 외부 사이트로 보내는 오픈 리다이렉트가 생길 수 있어 예시를 바꿨습니다. Next.js 16 공식 문서와 16.4.5 실행 결과로 확인했습니다.결론부터어디서방법서버 컴포넌트 페이지 (page.tsx)searchParams prop (Next.js 15부터 Promise라서 await)클라이언트 컴포넌트useSearchParams() (+ 로 감싸기 권장)레이아웃 (layo..
안내 (2026-11-06): Cmder를 Windows Terminal·IntelliJ에 연결하는 방법은 Windows Terminal에 Cmder 프로필 추가하기 글(4번 항목)에 공식 위키 기준으로 함께 정리했습니다. 이 글의 IntelliJ 설정은 그대로 사용할 수 있습니다.인텔리제이(윈도우)에서 PowerShell 대신 Cmder로 터미널을 열 수 있다.파일 > 설정 > 도구 > 터미널셸 경로에 설치한 cmder 폴더 안의 vendor/init.bat 파일을 지정하면 된다.셸 경로: cmd.exe /k "\vendor\init.bat"예시) 셸 경로: cmd.exe /k "C:\Users\PC\Desktop\program\cmder\vendor\init.bat"적용하고 인텔리제이를 재시작하면 된..
업데이트 (2026-11-06): 기존 글은 AI(Claude)와 나눈 대화를 그대로 붙여 넣은 형태였고, 붙여 넣는 과정에서 JSON의 역슬래시가 여러 번 중복되어 그대로 복사하면 동작하지 않는 설정이었습니다. Cmder 공식 위키와 Microsoft Windows Terminal 문서를 기준으로 실제 쓸 수 있는 설정만 남겨 다시 정리했습니다. IntelliJ에서 Cmder를 여는 방법도 함께 넣었습니다.1. Cmder 준비Cmder를 내려받아 원하는 위치에 압축을 풉니다. 예: C:\tools\cmderwhere cmder로 C:\tools\cmder\Cmder.exe가 나온다면, Cmder 루트 폴더는 C:\tools\cmder입니다. 설정에서 쓰는 vendor\init.bat과 icons\cmd..
docker 를 이용해서 rabbitmq 를 설치하였는데, 관리자 페이지가 접속이 되지 않았다. 플러그인을 설치하고 기능을 활성화 하면 해결할 수 있다고 해서 적용하니 접속이 되었다. # 아래와 같이 명령어를 넣으면 docker exec rabbitmq-plugins enable rabbitmq_management # 플러그인 설치 및 실행 됨. Enabling plugins on node rabbit@my-rabbit: rabbitmq_management The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch Applying plugin configuratio..
키 해시 관련 에러가 발생하였는데 아래 명령어로 확인 후 한번에 해결이 되었다. keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64 https://dev-in-gym.tistory.com/68 카카오 로그인에러 AUTHORIZATION_FAILED: invalid android_key_hash or ios_bundle_id or web_site_url Modern Collection View 와 MVVM 패턴 가이드 [iOS] Modern Collection View & MVVM 패..
업데이트 (2026-11-06): 원래 글 끝에 "대충 작동은 하는데 정확하지 않다"고 적었는데, 다시 테스트해 보니 함수 자체는 1페이지부터 시작하는 기준으로 정확합니다. 결과가 이상해 보이는 건 0이나 음수 같은 범위 밖 페이지를 넣었을 때, 그리고 전체 페이지 수 계산이 빠져 있을 때였습니다. 23개 데이터로 경계값을 직접 돌려 본 결과와 보완한 함수를 덧붙였습니다.const paginate = (array: Product[], itemSize: number, page: number) => { return array.slice((page - 1) * itemSize, page * itemSize);};클라이언트 사이드에서 페이지네이션 함수를 만들 때 위와 같이 해 보았다.이 함수가 하는 일Arra..