반응형
- 올리브영 오늘드림 강요하는 다크패턴, 그들이 알면서 안바꾸는 이유 2024.11.04
- Triton Inference Server 모델서빙3 - 서비스 적용..은 다음에..해보자;; 2024.10.25
- pgVector 기반 VectorDB 구축 및 효율적인 리소스(메모리,스토리지) 사용 2024.10.13
- 일에 대한 동기부여는 결국 '나'다. 일을 할 수 있는 '힘'은 어디에서 나오나요? 동기부여 타령을 하던 내가 드디어 이 질문에 대한 답을 찾았다. 힘? 그딴 거 없고, 광기만 남았고. 그냥 나를 위해 일한다. 그러다 보니 강해지더라! 힘내고 싶어요. 사실 한동안 일에 대한 동기부여를 잃었다. 무기력과 허탈함 속에서 의욕 없는 나날을 보냈었다. 어차피 해봐야 다시 해야 될 테고, 어차피 해봐야 비교당해서 내가 질 테고, 어차피 해봐야 성과도 안 챙겨줘서 소용없는데, 내가 이 일을 왜 해야 하지? 하 진자 하기 싫어 죽겠네. 라는 패배감에 흠뻑 젖은 찐따 같은 생각은 물론이고 들끓는 열등감을 동기부여로 승화시키지 지도 못할 만큼 그릇이 작았다. 보잘것없는 일은 미루고 미루고 그저 흐린 눈 하고 회피하고 모른척하기 바빴다. 번아웃이라고 핑계 대..
- 🚀 DB JOIN 정리(INNER/LEFT/RIGHT/OUTER) join(조인) 둘 이상의 테이블을 연결해서 데이터를 검색하는 방법 연결하려면 테이블들이 적어도 하나의 컬럼을 공유하고 있어야함 이 공유하고 있는 컬럼을 PK 또는 FK값으로 사용 종류 1. INNER JOIN : 내부조인 ->교집합 2. LEFT/RIGHT JOIN -> 부분집합 3. OUTER JOIN : 외부조인 ->합집합 오라클은 OUTER JOIN있지만, MYSQL은 없어서 LEFT조인 + RIGHT조인 예를 들어 두가지 테이블(T1,T2)이 있다고 하면, 이걸로 join결과를 그림으로 그려보면서 복습해보자 A ID ENAME 1 AAA 2 BBB 3 CCC B ID KNAME 1 가 2 나 4 라 5 마 1. INNER JOIN : 교집합, 공통적인 부분만 SEELCT됨 ID E..
- 🧐 파이썬 코드를 잘 짜는 법 : 병렬처리 라이브러리 비교분석 이번엔 파이썬의 한계점과 병렬처리를 통한 성능개선을 알아보고자 한다. 데이터엔지니어에게 필요한 덕?목 중에 하나가 성능을 고려해서 효율적으로 코드를 짜는거랄까..? (아찔훼) 지금 우리 회사에서는 spark 대신 파이썬의 pandas로 대부분의 데이터를 처리한다 (회사와서 spark 쓸 줄 알고 기대했는데) 하지만 점점 데이터의 크기가 커질수록 어느정도 한계를 느꼈고, 이를 개선할수 있는 병렬처리에 대해 찾다가 이글을 쓰게 되었다. 판다스 한계점: 속도도 느리고, 메모리도 많이 잡아먹네?! 판다스의 dataframe은 기본적으로 각각의 row 또는 columns을 순차적(sequential)으로 처리한다. 해당 작업이 완료될때까지 기다렸다가 하나하나씩 처리하는 방식이다. 그래서 데이터의 크기가 커질수록,..
- 울적한 마음에 맥주한캔 들고 망각행 열차탑승 오랜만의 근황이다. 사실 근황이라기보단 이제 정신을 차렸다랄까. 6월 이사를 하면서 이제 새로운 삶을 살아보자 다짐하고 7월 흠뻑쇼로 열정 충전하는가 싶더니 처음으로 코로나 걸리고, 8월 내내 무기력으로 주춤했던게 쭉 이어지면서 어영부영 여차저차 추석연휴까지 지나고 보니 10월중순. 분명 무더위에 땀을 삐질삐질 흘리던게 엊그제였던것 같은데 이제 천고마비의 계절, 완연한 가을이겠거니 하는 시원함을 넘어서 아침공기에 훌쩍이며 기모 후드티를 꺼낼 계절이라니ㅜ 요즘 이렇게 속절없이 지나간 시간에 비해 내가 이룬게 없단 생각이 들때마다 꽤나 울적하다. 우울은 아니고 "울적"이다. 매일 뭔가 잘못됐다는걸 인지하고 있는 현실 속에서 그렇다고 해결책을 찾기 위한 노력도 하지 않고, 그냥 퇴근길 맥주한캔으로 달래면서..
- [Linux 명령어] df : 전체 디스크 , du : 각각 디스크 용량확인 df (disk free) 리눅스 시스템 전체의(마운트 된) 디스크 여유 공간 확인 파일시스템,디스크크기, 사용량, 여유공간, 사용률, 마운트지점 순으로 나타남 옵션 -a (all) 모든 파일 시스템 출력 -h (human) 사람이 읽기 쉬운 형태(단위)로 출력 (기본은 킬로바이트 단위) -T (type) 보여주는 목록을 파일시스테므이 타입으로 제한 -l (local) 출력하는 목록을 로컬 파일 시스템으로만 제한 해석 명칭 의미 Filesystem 리눅스에 마운트된 파일 시스템 목록 Size(1K-blocks) 전체용량 Used 사용량 Available 남은 용량 Use% 용량 대비 사용량에 대한 퍼센트 Mounted on 마운트 된 지점(경로) 예시 1. 전체의(마운트 된) 디스크 여유 공간 확인 (단..
- 🚀 DB JOIN 정리(INNER/LEFT/RIGHT/OUTER) join(조인) 둘 이상의 테이블을 연결해서 데이터를 검색하는 방법 연결하려면 테이블들이 적어도 하나의 컬럼을 공유하고 있어야함 이 공유하고 있는 컬럼을 PK 또는 FK값으로 사용 종류 1. INNER JOIN : 내부조인 ->교집합 2. LEFT/RIGHT JOIN -> 부분집합 3. OUTER JOIN : 외부조인 ->합집합 오라클은 OUTER JOIN있지만, MYSQL은 없어서 LEFT조인 + RIGHT조인 예를 들어 두가지 테이블(T1,T2)이 있다고 하면, 이걸로 join결과를 그림으로 그려보면서 복습해보자 A ID ENAME 1 AAA 2 BBB 3 CCC B ID KNAME 1 가 2 나 4 라 5 마 1. INNER JOIN : 교집합, 공통적인 부분만 SEELCT됨 ID E..
- [linux 명령어] htop : 시스템 실시간 모니터링(top보다 업그레이드) htop 기존 top보다 업그레이드 된 실시간 모니터링 툴 top은 하나의 코어를 하나의 cpu로 계산 htop은 코어갯수를 확인해서 각 프로세스 정보를 더 디테일하게 모니터링 가능 htop은 따로 패키지 설치해야함 : sudo yum install htop (linux) 옵션(단축키) F1 Help 단축키 기능 확인 F2 Setup htop 설정메뉴 F3 Search 프로세스 검색 F4 Filter 프로세스 필터링 ( ps - ef | grep [프로세스] 랑 같은 의미) -> 필터링할 키워드 입력 F5 Tree 부모-자식 관계 보여줌 ->트리관계로 변화 F6 Sort 정렬 -> sort by 기준 선택 F7 Nice (+) 우선순위 올림 F8 Nice (-) 우선순위 내림 F9 Kill 프로세스 종료..
- [SQL고급] rank함수 - 랭킹(순위) 구하기 (MySQL 8버전) 예를 들어 id, amount(금액)에 관련된 데이터가 있다고 치자. 이때 금액이 많은 순대로 순위를 매기고 싶다면? 여러가지 방법이 있다. 특히 mysql8 버전이라면 rank함수를 이용할 수 있으니 이걸 기억하자! 1. 사용자정의 변수 이용 SELECT id, amount,(@rank := @rank + 1 ) AS ranking FROM ex_card AS a,(select @rank := 0 ) AS b ORDER BY a.amount DESC; 사실상 순위를 직접 뽑아낸다기보다 rownum을 계산해서 그걸 순위인것처럼 사용하는걸로 볼 수 있다. 그래서 보통 변수명을 rownum으로 사용하는 경우가 많다. 그리고 하나의 row가 생길때마다 랭킹이 하나씩 더해지는 방식이기 때문에 정렬을 하고 같은 ..
- [python] 대문자로 변환하기 upper() / capitalize() / title() 해커랭크 이 문제를 풀다가..대문자로 변환하는 upper()만 알고 있어서 조금 헤맸는데 알고보니까 capitalize() 를 알고 있으면 완전 쉬운 문제였다..! 그래서 이번엔 대문자로 변환하는 함수들을 정리해보려고 한다. 대문자로 변환하는 메소드 upper() : 모든알파벳을 대문자로 변환 capitalize() : 맨 첫글자만 대문자로 변환 title() : 알파벳 외의 문자(숫자, 특수기호, 띄어쓰기 등)로 나누어져 있는 영단어들의 첫 글자를 모두 대문자로 실제로 확인해보았다. A='abcd' print(A.upper()) #ABCD print(A.capitalize()) #Abcd print(A.title()) #Abcd B='a2b3c4' print(B.upper()) #A2B3C4 print..
728x90