life as a continuous loop of building and breaking
AT 프로토콜 SDK를 사용할 때는 흔히 계정의 ID로 사용하는 핸들(Handle) 대신 DID(Decentralized Identifier)를 사용해야 할 때가 있습니다. 핸들을 변경하거나 다른 서비스 제공자로 이동하더라도 동일한 사용자를 참조할 방법이 필요하기 때문입니다. 파이썬 AT 프로토콜 SDK를 사용할 때 계정의 DID를 알아내는 스크립트를 간단히 메모해 둡니다. (제가 까먹을 예정이라 참고용으로 쓰는 거예요!)
블루스카이 유저가 급증하면서 성인 포스트 위주의 계정들이 우후죽순 등장하기 시작했습니다. 블루스카이의 기본 모더레이션 시스템도 제법 잘 작동하고 있지만, 미디어만 가려 주기 때문에 성인 포스트의 글은 피드에 그대로 노출되는 문제가 발생하기 시작했습니다.
SNS 사용자가 성인 콘텐츠를 작성해서는 안 된다고 생각하지는 않지만, 예를 들어 공공장소에서 피드를 볼 때는 내용을 가려 놓을 수 있는 쪽이 서로에게 편리하지 않을까요? 그래서 대충 직접 해결해 보기로 했습니다.
typeerror: do not know how to serialize a bigint
Postgres의 BIGSERIAL
타입을 Prisma로 가져오면 BigInt
타입이 됩니다. 이걸 #NestJS 컨트롤러에서 그대로 반환하면 이런 오류를 보게 되죠.
typeerror: do not know how to serialize a bigint
JSON.stringify()
함수에서 왠지 bigint
타입을 지원하지 않기 때문에 발생하는 문제라고 하는데, bigint
를 반환하기 전에 string
같은 걸로 바꿔 주면 간단히 해결되겠지만 그렇다고 해서 bigint
가 들어가는 모든 모델에 대해 타입 변환 함수 같은 걸 작성해 주기는 귀찮죠.
그런고로 오늘의 #뚝딱뚝딱 은 응답 DTO의 모든 bigint
를 알아서 string
으로 바꿔 주는 방법입니다. 더 나은 해결책이 있을 것 같기는 한데, 저는 이렇게 해결했어요.
오늘의 #뚝딱뚝딱 은 아주 짧은 이야기입니다. curl https://pyenv.run | bash
로 pyenv
를 설치했는데 오류가 출력되더라고요.
WSL에 깔린 우분투에서 npx react-native run-android
를 실행하다가 이런 오류를 마주쳤습니다.
-bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory
우분투에 bash
가 없다니 무슨 상황일까요? 그리고 대체 어쩌다가 npm
이 /mnt/c/Program Files/
에서 실행되는 걸까요? 이 문제를 해결해 보려고 한참 동안 노력한 끝에(여기서 노력이란 StackOverflow를 뒤지는 것을 말합니다) 문제를 얼렁뚱땅 해결한 과정을 여기에 씁니다.
최근에 정신건강 관련 앱을 개발하는 스타트업을 경영하시는 분과 커피챗을 할 기회가 있었습니다. 사실 코로나 블루 시기에 주변에서 비극적인 일들을 많이 겪었기 때문에 조금 더 관심이 생겼던 것 같습니다.
블루스카이에서는 홈 피드와 모더레이션 설정을 다양하게 변경할 수 있습니다. '다른 사람들의 리포스트는 안 보고 싶다'거나 '다른 사람들의 멘션도 빠짐없이 보고 싶다' 부터 '성적인 이미지를 가리지 않고 보고 싶다👀'는 이야기까지 종종 보이는데, 이 참에 설정 방법을 모아 놓기로 했어요!
이걸 왜 여기 쓰나 싶지만 딱히 안 쓸 이유도 없어서 여기 씁니다.