[튜닝일지] 2. JOIN, 잘 좀 만나봅시다. (feat. or 조건) [백엔드 개발자의 쿼리 튜닝일지]
·
◈ Refactoring/쿼리 튜닝일지🔧
[튜닝일지] 1. 인덱스, 너 잘 타고 있니? [백엔드 개발자의 쿼리 튜닝일지] 1. 인덱스, 너 잘 타고 있니? 이번에 담당하게 된 프로젝트가 있는데 사이트 로딩 속도가 매우 느렸다. 아래와 같이 쿼리 조회 자체가 안되는 경우도 많아서 쿼리부터 개선 해보자는 마음으로 시 yermi.tistory.com 2. JOIN, 잘 좀 만나봅시다. (feat. or 조건) 지난 번에는 인덱스를 태우기 위해 특정 컬럼을 서브쿼리로 변경하였다. 이번 쿼리는 실행속도가 약 5초 정도 걸렸으나, 이전 인덱스 작업을 한 view를 참조하고 있었기에 3초 중반 정도로 개선이 되었다. 이번에는 이 쿼리를 1초 중반대로 줄여볼 예정이다. EXPLAIN으로 성능검사를 해보니, rfd라는 테이블이 인덱스를 안타고 있었다. or 조..
[JS] 긴 문자열을 6자리 해시로 변환하기 [간단한 해싱 알고리즘 만들기]
·
◎ JavaScript/JavaScript🦎
- 긴 문자열을 6자리 해시로 변환하기 JavaScript에서 긴 문자열을 6자리 해시로 변환하는 방법 중 하나는 SHA-256 등의 안전한 해시 알고리즘을 사용하고 그 결과를 base64 또는 다른 방법으로 인코딩하는 것이다. 하지만 SHA-256은 256비트의 해시 값을 생성하기 때문에 6자리 해시를 얻기 위해서는 이를 잘라야 하고, 이는 보안에 취약할 수 있다. 이번 글에서는 CRC32라는 테이블을 만들어 긴 문자열을 6자리 해시로 줄여볼 것이다. 그러나 이는 충돌 가능성이 있으며 보안적으로 안전하진 않아 간단한 문자열 체크섬 또는 일부 문자열 검증 용도로 사용하면 좋다. // CRC32 테이블 생성 const crcTable = new Uint32Array(256); for (let i = 0; ..
[튜닝일지] 1. Index, 너 잘 타고 있니? [백엔드 개발자의 쿼리 튜닝일지]
·
◈ Refactoring/쿼리 튜닝일지🔧
1. Index, 너 잘 타고 있니? 이번에 담당하게 된 프로젝트가 있는데 사이트 로딩 속도가 매우 느렸다. 아래와 같이 쿼리 조회 자체가 안되는 경우도 많아서 쿼리부터 개선 해보자는 마음으로 시작했다. (웹에서도 관련 기능이 당연히 동작 안하는데, 고객사는 안되는 거라 생각하고 못쓰고 있었다고 한다..😂😂) 소스를 분석하면서 view에서 실행속도가 느리다는 걸 파악했다. view가 view를 join하고 중첩하여 참조하다보니 실행 속도가 배로 느려진 것.. (이 중 300초 초과되는 검색과 관련된 view는 특정 view를 3번에 걸쳐 참조하고 있었다.) 보안 상의 이유로 view 이름을 공개할 수는 없지만, 위에 표에서 노란색으로 되어 있는 view는 성능이 낮은 모든 view에서 참조하고 있었다. ..
[Project] 조크베어(joke-bear) 메인페이지 테이블 구조 및 레이아웃 초안 [짜장 vs 짬뽕을 논하는 우리들의 커뮤니티]
·
◈ Yermi Project/조크베어🐻‍❄️
- 조크베어 메인페이지 테이블 구조 및 레이아웃 초안 조크베어의 메인페이지 레이아웃이 나왔다. (feat. 나당쓰) 긴 시간이 흐른 뒤.. 테이블 구조를 담고 있는 ERD가 나타났다. 처음부터 완벽하게 설계하고 만들면 좋겠으나.. 진척이 없을 듯 하여 우선은 프로젝트를 돌릴 수 있게 기본적인 것만 갖고 가자는 마음으로 시작했다. (나중에 설계미스로 만나게 될 부분들이 두렵지만 그 또한 공부가 되고 양분이 되지 않겠는가..🥲🥲) 오늘도 한 걸음 더 나아가며, 끗.
[개발100독] 6. 1일 1로그 100일 완성 IT 지식 - Brian W. Kernighan [하드웨어, 소프트웨어, 통신, 데이터, 4가지 IT 근육으로 디지털 문해력 기르기]
·
◈ 공부모임/개발도서 100독👟
6. 1일 1로그 100일 완성 IT 지식 - Brian W. Kernighan IT 세계 입문을 위한 가이드북 컴퓨팅의 4가지 핵심 분야 기초적인 IT 용어들을 잘 설명해주는 책. 하드웨어부터 소프트웨어, 통신, 데이터 등 컴퓨팅의 4가지 핵심 분야에서 필수적으로 알아야 할 용어들을 잘 정리해놓았다. 다만 매우 기초적인 내용들만 다루고 있기에 경험이 많은 분들에게는 추천하지 않으며 IT 직군이 아닌 분들, IT 지식이 필요한 주니어 분들에게 많은 도움이 될 것이다. - 책 소개 복잡한 IT 세상을 선명하게 읽는 디지털 문해력 기르기 챌린지. IT 지식은 분명 복잡하지만 인생처럼 혼잡하지는 않다. 필요한 지식을 습득하면 막연한 불안감에서 벗어나 디지털 지구가 제시하는 도전과 기회에 적극적으로 대처할 수 ..