본문 바로가기
aggregate mongoDB에서 집계(aggregation)라는 것부터 무엇인지 알아보겠다. 집계는 방대한 양의 문서를 여러 단계를 거쳐서 처리하는 방법을 말한다. 여러 단계를 거친다 표현했는데 이를 조금 더 디테일하게 말하자면 파이프라인을 거친다고도 표현한다. 파이프라인에서는 문서를 필터링하고, 정렬, 그룹화, 모양 변경 등을 진행해 문서를 수정하게 된다. 집계 데이터를 얻는 방법은 다양하다. 기본적으로 find() 쿼리를 사용하게 된다면 빠르게 원하는 데이터를 조회할 수 있다. 하지만 find() 쿼리의 단점은 그 범위가 제한된다는 것이다. 파이프라인집계 파이프라인은 어떻게 동작할까? [ $match: $group: $sort: $limit: $skip: ...]사실 단계에는 정해진.. 2024. 5. 29.
구현 퇴근하고 평일에 가볍게 알고리즘 2문제 정도 풀어보려고 한다. 해당 게시글은 이코테 책을 가지고 해당 파트가 완료될 때까지 업데이트될 예정이다. 상하좌우더보기N * N 크기의 정사각형 공간에서 1, 1부터 시작하여 상, 하, 좌, 우의 값을 U, D, L, R로 받아 움직인 값을 입력 받아 좌표를 출력한다. 단, 공간을 벗어나면 무시된다.n = int(input())moves = list(input())x, y = 1, 1dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]move_list = ['U', 'D', 'L', 'R']for move in moves: for i in range(len(move_list)): if move == move_list[i]: .. 2024. 5. 27.
dump한 데이터베이스가 실행 안될 때 회사에서 개발용 데이터베이스가 존재하긴 하지만 프론트엔드 개발자도 다 같이 사용하고 있다보니 테이블을 지우거나 하는 부분에서 오류가 날 것 같아 내 로컬에서만 동작하도록 환경을 바꾸고 업무를 진행하기 위해 데이터베이스를 덤프시켰다. 덤프시킨 이후로 설정을 변경해 프로젝트를 실행시켰을 때, 데이터베이스와 프레임워크 간의 연결을 잘 되었지만 이상하게 일부 쿼리에서 오류가 발생했다. 오류 메시지는 단순히 사내 코드에서의 콜백 리턴이었어서 정확한 이유를 찾을 수가 없었다. 수석님께 말씀드렸을 때, mysql 설정 쪽이 문제일 것 같다고 말씀해주셨고 설정 관련해서 이것저것 삽질하며 찾아갔고 어떤 부분을 고쳐주어야 하는지 남겨두려고 한다. 설정이 문제였다고 확신설정이 문제였다고 나 또한 확신할 수 있었던 것은 my.. 2024. 5. 22.
그리디 백준 문제의 DP에서 심각한 벽을 느껴 화제 전환김에 이전에 사둔 이코테 책을 풀어보려고 한다. 문제에 대한 부분은 따로 적진 않겠다.  숫자 카드 게임더보기문제의 의도각 행 별로 가장 작은 값을 구하고 그 중에서 가장 큰 값을 추출하면 된다.n, m = map(int, input().split())result = []for _ in range(n): num_list = list(map(int, input().split())) result.append(min(num_list))print(max(result))내가 푼 방식은 리스트에 각자의 작은 값을 담고 그 리스트에서 가장 큰 값을 추출했다. n, m = map(int, input().split())result = 0for _ in range.. 2024. 5. 20.
mysql dump mysql을 통해 데이터베이스를 덤프 띄워서 로컬에 따로 저장하여 개발하는 환경을 구축해야될 이유가 생겨 덤프하는 과정을 적어두려고 한다. Mysql 설정현재 mac을 사용하는 환경으로 Homebrew를 사용해 mysql을 설치했다. 설치 과정에서 기본적인 설정 값을 입력하지 않아 root 계정이 존재하지 않았고 이 부분을 추가해주었다. brew install mysql만약 mysql을 삭제하고 다시 시작하는 사람은 아래 과정을 먼저 진행한다. brew services stop mysqlbrew uninstall mysql이 과정을 먼저 진행해주고 mysql을 재설치한다. mysql.server startmysql을 실행시킨다. mysql_secure_installation다음 명령어를 실행시킨다. 실행.. 2024. 5. 13.
GROUP BY 함수 어제 GROUP BY를 정리하면서 ROLLUP, CUBE 함수에 대해 잠시 알아보았다. 또 어떤 함수가 있는지 알아보도록 하겠다. GROUPING SETSGROUPING SETS의 경우에는 같은 수준의 그룹화 열이 여러 개일 때 열별 그룹화를 통해 값을 조회하는데 사용된다. SELECT DEPTNO, JOB, COUNT(*)FROM EMPGROUP BY GROUPING SETS(DEPTNO, JOB) 해당 결과는 어떻게 값이 도출될까? 그룹화를 각각 따로 진행해서 결과를 조회해낸 것을 확인할 수 있다.  GROUPING그룹화 함수는 데이터 자체의 가공이나 특별한 연산 기능을 수행하지는 않는다. 하지만 그룹화한 데이터의 식별이 쉽고 가독성이 높아지기에 많이 사용하고 있다. GROUPING과 GROUPING.. 2024. 5. 6.