본문 바로가기

전체 글

(96)
MySQL - covering index index 자체가 쿼리가 필요로하는 column을 전부 갖고 있어서 데이터 파일을 읽을 필요 없이 쿼리를 모두 '처리'할 수 있을 때.secondary index는 자동으로 PK를 포함하니 쿼리가 index 구성 column + PK까지만을 필요로 하면 covering index가 됨. EXPLAIN에서의 extra column에 'using index'가 들어간 것으로 확인cf. EXPLAIN에서의 type column(어떤 방식으로 읽었는지)과는 무관
방송통신대 컴퓨터과학과 편입 1년 후기 (2025) 1학기 후기2학기는 개인 사정상 자료구조, 선형대수 이렇게 2과목만 수강했습니다. 스터디 덕분에 A+, A로 통과!방통대 공부는 꼭 학우들과 함께 하시길 추천드립니다. 특히 리드 역할을 맡은 과목은 더 많이 공부하게 돼요. 이제 졸업까지 남은 학점은 42학점 (컴퓨터과학과 전공 21학점 필수 + 아무 과목 21학점)편입 전엔 매 학기 과목 꽉 채워서 들어야지, 전공 과목으로만 들어야지, 2년 칼졸업 할까 복전할까 이런 생각으로 수강 계획을 여러 버전으로 미리 짜두었었는데요, 첫학기 말곤 아무 소용이 없습니다.. 일정, 시간, 과목별 후기, 재수강 때문에 계속 뒤집힙니다. 선택과 집중을 하다보면 시간을 벌기 위해 교양 과목을 골라 넣기도 하고 일부 과목은 F를 만들기도 합니다.방통대 편입은 개인적으로 좋은..
swagger 보안 설정 + Istio VirtualService @nestjs/swagger는 Nest.js 서버에서 REST API를 문서화할 수 있는 패키지입니다.문서에 별도 보안 설정을 하지 않은 상태에서 URL이 노출될 경우 문서 열람 및 API 실행이 가능한 위험성이 있습니다. 환경 제한swagger 문서를 초기화하는 코드를 APP_ENV 조건문으로 감싸 로컬/개발 환경 등 특정한 조건하에서만 생성할 수 있습니다. id, password 설정설정된 id, password를 입력해야 접근 가능하도록 설정할 수 있습니다. (참고)서비스에 이미 개발되어 있는 인증/인가와는 별개로 앱 초기화시 원하는 엔드포인트에 지정하는 방식입니다. Bearer 인증 적용인증 token을 입력하도록 설정할 수 있습니다. (참고) IP Whitelist 설정허용 ip 외엔 에러를 뱉..
GCP VM Alert 설정 w/Terraform 사내 리소스 생성시 GCP 콘솔 내에서 직접 생성하는 것을 지양하고 있지만, terraform으로 이관시의 우선순위상 아직 terraform으로 만들어진 적이 없고 콘솔에만 존재하는 것도 있습니다. 이 중 하나인 monitoring alert을 terraform으로 세팅한 과정입니다.이를 통해 과거 산발적으로 만들어진 alert를 이관, 관리하고 앞으로 생성하는 alert들을 탬플릿화 및 상태 관리할 수 있습니다. 1. VM의 지표를 모니터링 하도록 설정: VM이 boot disk image로 어떤 OS를 사용하는지 파악하고 detector 또는 agent 설정일부 지표는 설정 없이도 모니터링 가능합니다. 하지만 VM의 observability 차트 또는 alert의 차트에 나오지 않는 데이터를 보려고..
MySQL + TypeORM - Illegal mix of collations Error 서버에서 발생한 에러 메세지는 아래와 같았습니다.QueryFailedError: Illegal mix of collations (utf8mb4_0900_ai_ci,COERCIBLE) and (utf8mb4_general_ci,COERCIBLE) for operation '=' 에러 메세지 내용으로 파악했을 때 이는 mysql table, column 등에서 지정할 수 있는 collation이 불일치하는 오류였고,문제가 발생한 api에는 raw query 덩어리가 들어가있기 때문에 원인 후보를 줄이고자 오류가 발생한 api와 유사한 기능을 하는 api들을 확인하였습니다.정상 동작하는 api들과 이슈 리폿 받은 api 포함 문제가 발생하는 두 api의 쿼리를 미루어보아, 특정 view의 한 column이 문..