본문 바로가기

분류 전체보기319

AWS LAMBDA with Node.js 노드로 올릴때 올린 zip 파일이 커서 문제였다. 전에 작은 코드를 올릴때는 (토큰 서비스) AWS가 제공하는 람다 콘솔을 통해 코드를 직접 수정할 수 있어서 상관없었는데, 이미지 서비스를 람다로 만들때는 코드가 크다며 AWS 콘솔 창에서 코드 에디터를 보여줄 수 없단다. 근데 내가 zip을 올렸는데 자꾸 어떤 라이브러리가 없네 마네 하며 실행되지 못했다. 나는 분명 다 묶어서 올렸는데!!! 근데 아래 명령어를 사용하여 해결하였다. zip -r image-lambda.zip index.js node_modules .env 위 명령어는 index.js, node_modules, .env 들을 image-lambda.zip 의 zip 파일로 압축해달라는 것이다. 그런데 -r 옵션이 붙어있는데, 이는 하위 폴.. 2023. 2. 22.
hibernate.generate_statistics=ture spring: jpa: properties: hibernate: generate_statistics: true 위와 같이 해당 설정을 true로 설정하면 hibernate는 런타임 동안 성능 및 동작과 관련된 다양한 메트릭을 수집한다. 이러한 메트릭은 잠재적인 성능 문제를 식별하고 최대 절전 모드가 데이터베이스와 상호 작용하는 방식을 이해하는 데 매우 유용하게 사용될 수 있다. 위와 같이 설정한 뒤 아래와 같이 SessionFactory의 Statistics 객체를 사용하면 현재 최대 절전 모드 세션 또는 트랜잭션 중에 데이터베이스에서 엔티티가 로드된 횟수를 가져온다. 특정 엔티티를 생성하고 save하는 메서드가 있다고 하자. 아래와 같이 할 수 있다. @Transactional public Respon.. 2023. 2. 21.
wanted 백엔드 첼린지 2-1 MySQL 기본개념 MySQL의 기본 개념들과 실행 계획에 대해 알아보자. 쿼리 실행 순서 MySQL은 사용자가 실행한 쿼리를 SQL 파서가 파싱을 하여 파서 트리를 만든 뒤 파서 트리를 기준으로 옵티마이저가 해당 트리를 분석하여 실행한다. 위에서 파싱을 한다고 했는데, CS에서는 몇가지의 파싱 방식이 존재 한다. 1. Lexical analysis : The server breaks down the query into individual tokens, such as keywords, identifiers, and operators. 2. Syntax analysis : The server checks the query for proper syntax and structure, and verifies that all the.. 2023. 2. 20.
wanted 백엔드 첼린지 1-2 Big Tech가 MySQL을 사용하는 이유 MySQL은 트랜잭션, 락, 격리수준을 제공한다. 이들에 대해 하나씩 알아보자. Transaction 트랜잭션은 데이터 베이스의 상태를 바꾸는 작업 단위이다. 이는 작업의 완정성을 보장해준다. --> 작업의 셋을 모두 완벽하게 처리하거나, 처리하지 못하면 원상태로 복구시켜준다. MySQL에 insert, update, delete등의 SQL 명령으로 데이터의 상태를 바꿀때마다 자동으로 commit을 하여 변경된 내용을 데이터 베이스에 반영한다. 트랜잭션은 아래와 같은 4가지 특성을 가진다. 1. 원자성(atomicity) - 트랜잭션이 모두 DB에 반영되거나 아예 반영되지 않아야 한다. 2. 일관성(consistency) - 트랜잭션의 작업 처리 결과는 항상 일관적이어야 한다. 3. 독립성(isolati.. 2023. 2. 12.