공부 8

[MySQL] 여러 row의 데이터를 한 row에 합치기 - GROUP_CONCAT

내가 관리? 하는 ㅋㅋ 데이터 중 다음과 같은 형식의 데이터들이 있다. 예시를 들자면 ... 제품 ID (ID) 제품 판매점 (STORE_CD) M001 서울 지점 M002 서울 지점 M002 부산 지점 M003 서울 지점 M003 부산 지점 M003 대구 지점 M003 제주 지점 ... ... 제품의 마스터 테이블은 따로 있고, 판매하는 지점 테이블은 후에 분석을 해야 하기 때문에 마스터 테이블에 한 컬럼으로 추가하지 않고 별개의 테이블을 생성해서 저장하고 있는 것으로 보인다. (설계 단계 때 참여한 게 아니라 왜 이런 식으로 만들었는지 모름...) 제품의 다양한 값들을 unique하게 추출해달라는 요청이 있었는데, 제품 마스터 테이블과 판매 지점 테이블을 INNER JOIN하면 제품 판매점 row 수..

공부/SQL 2022.09.13

[leetcode] neetcode.io

트위터를 하다 발견한 사이트! leetcode 에서 뭘 따라갈 지 모를 때 참고하기 좋은 사이트라고 한다. https://mobile.twitter.com/l4nto_/status/1544932496802185216 트위터에서 즐기는 Lanto “트친 모님이 알려주신 Neetcode 사이트와 유튜브 - Leetcode에서 뭘 풀어야할지 모를 때 순서대로 따라가면 좋다. https://t.co/ICmsGIo6xk https://t.co/z3LgOKRi1X” twitter.com https://neetcode.io/ NeetCode.io neetcode.io 코딩 테스트에 자주 나오는 주제별로 문제들이 정리되어 있다. 사이트 관리자가 video solution도 제공하는 것 같은데 python 솔루션이라....

공부/leetcode 2022.07.12

[AWS RDS, MySQL] AWS RDS MySQL에서 이모티콘 사용하기

시스템을 운영하다 보면, 사용자들이 이모티콘이 포함된 데이터를 저장하는 경우가 종종 있다. 내가 운영하는 시스템 DB는 AWS RDS에 구축되어 있고, MySQL을 사용하고 있으며 charset은 기본적으로 uft8이다. utf8에서는 유니코드 버전이 낮은 이모티콘 (예시: 😀) 등은 문제 없이 INSERT가 가능하지만, 유니코드 버전이 높은 이모티콘 (예시: 💖) 를 INSERT하려고 하면 다음과 같은 오류가 발생한다. 유니코드 버전이 낮은 초기 이모티콘들은 3byte로 설계되어 있지만, 이모티콘의 숫자가 늘어나면서 유니코드 버전이 높은 이모티콘은 4byte로 설계되어 있기 때문에 그렇다고 한다. 이를 정상적으로 Insert 하기 위해서는 utf8mb4로 charset, collation 변경이 필요하..

공부/SQL 2022.06.30

[MySQL] 개인정보 (휴대폰번호, 이름) 마스킹 처리

개인정보 데이터를 추출하는 일이 종종 있었는데, 이를 마스킹 처리해서 추출해달라는 요청을 처음으로 받아 쿼리를 작성하는 겸 기록을 위해 포스팅을 작성한다. 1. 휴대폰번호 마스킹 처리 -- 결과값: 010****1234 SELECT REPLACE(HP_NO, SUBSTRING(HP_NO, 4, 4), '****') AS 휴대폰번호 FROM DUAL -- 결과값: 0101234**** SELECT REPLACE(HP_NO, SUBSTRING(HP_NO, 8, 4), '****') AS 휴대폰번호 FROM DUAL 내가 데이터를 추출하는 테이블은 휴대폰번호를 01012345678 형태로 하이픈 없이 저장하고 있어 다음과 같이 쿼리를 작성했다. 휴대폰번호 사이에 하이픈이 있는 경우라면 SUBSTRING 함수의..

공부/SQL 2022.05.31

[linux] 자주 사용하지만 헷갈리는 명령어들 - ls, ll, sudo vs su

매일매일 리눅스를 사용하고는 있지만, 대충 어떤 명령어가 이런 뜻일거라고 어림짐작만 하고 있었지 정확한 정의를 알아보면서 사용하고 있지는 않았다. 개념을 모르는 상태에서 사용하고 있었기 때문에 헷갈리기도 했고, 매번 찾아보면서 CLI를 쓸 수도 없으니 정확하게 공부할 겸 정리를 위해 글을 작성하기로 했다. 1. ls ls [OPTIONS] [FILES] 'list'의 줄임말. 현재 디렉토리의 목록을 출력하는 기능을 함. 다양한 옵션들이 있지만, 가장 많이 사용하는 옵션은 -a, -l -a 옵션: 숨겨진 파일, 디렉토리를 포함하여 출력. -l 옵션: long listing의 줄임말. 현재 디렉토리의 목록을 상세하게 출력함. -al 옵션: -a 옵션 + -l 옵션. 숨겨진 파일, 디렉토리를 포함하여 현재 디..

공부/linux, unix 2022.05.25