컴퓨터언어(271)
-
node js 백만불짜리 꾸울팁 zip 파일 생성 및 다운로드 구현하기
오늘은 제가 5일간 전전긍긍해서 얻은 쾌거를 나누고자 합니다. 그것은 바로 node.js에서 zip 파일을 다운로드하는 로직을 구현하는 알고리즘인데요. node.js가 자바스크립트 기반이라고 해서 만만하게 볼 것은 또 아니잖아요..ㅎ python과 flask를 이용할 때는 아주 편합니다. flask 모듈에 내장된 send_file을 이용하면 zip이든 csv든, responseType을 크게 신경쓰지 않아도 클라이언트에 알아서 뿌려 주니까요. 하지만 node.js는 모듈 생태계가 아주 많기에, 딱 '이거다!'라고 정형화된 방법이 없어서 로직의 가짓수가 넘쳐납니다. 이 말은 즉 경우의 수가 많기에 구글링해도 내 상황에 맞는 전례를 찾기 어렵다는 말과 같습니다. 저만의 꿀팁을 공개합니다. node.js로 z..
2021.07.18 -
Expressions with $project
db.movies.aggregate([ { $match: { cast: { $elemMatch: { $exists: true } }, directors: { $elemMatch: { $exists: true } }, writers: { $elemMatch: { $exists: true } } } }, { $project: { _id: 0, cast: 1, directors: 1, writers: { $map: { input: "$writers", as: "writer", in: { $arrayElemAt: [ { $split: ["$$writer", " ("] }, 0 ] } } } } }, { $project: { labor_of_love: { $gt: [ { $size: { $setIntersecti..
2021.02.04 -
Chapter 1: Basic Aggregation - $match and $project
Shaping documents with $project The correct answers are the following: Once we specify a field to retain or perform some computation in a $project stage, we must specify all fields we wish to retain. The only exception to this is the _id field. $project implicitly removes all other fields once we have retained, reshaped, or computed a new field. The exception to this is the _id field, which we m..
2021.02.03 -
max_user_connection 초과라고? 내 코드에 문제가 있는 거 아닐까?
python - flask - mariadb를 사용하던 중 자꾸 max_user_connection을 초과하는 상황이 생겼다. 처음에는 timeout을 짧게 해서 오래된 프로세스를 강제종료 시켜야 하나 싶었다. 하지만 뭔가 찜찜했다. 명색이 많은 사람이 함께 쓰기 위해 존재하는 데이터베이스지 않은가? 아무리 root권한이 없다고 해도 timeout을 만지면서까지 user_connection을 해결하는건 좀 이상하지 않나? 역시 모든 문제는 나로부터 시작된 것. connection을 열기만 하고 닫지를 않아서 프로세스가 증식했던 것이다. 누수가 생기는 것은 아닌지 잘 확인하고 다닐 것! conn.close();
2021.02.01 -
[MongoDB University] 정리
파이프라인 : $match(일치모양골라내기) -> $project(형태변형) -> $group(단일파일로만들어전체에대한비율계산) Stages cannot be configured to produce our desired output. This is definitely not correct. Stages can be configured in almost any way we desire. Pipelines must consist of at least two stages. This is not correct. Pipelines must consist of at least one stage, and can have many stages. Documents flow through the pipeline, pass..
2021.02.01 -
Python & MariaDB 연동하기
1. brew install mariadb 2. pip install mariadb 3. try: conn = mariadb.connect( user="name", password="pw", host="domain_name", port=3306, database="schema_name" ) except mariadb.Error as e: print(f"Error connecting to MariaDB Platform: {e}") sys.exit(1) cur = conn.cursor()
2021.01.24