2025/02 20

[Database] 임시 테이블 VS CTE

개요2025.02.18-[MySQL] Temporary Table에서 임시 테이블이라는 개념을 살펴보았는데, 비슷한 개념으로 WITH문을 사용하는 CTE (2022.06.01-[MySQL] WITH - 임시 테이블 생성)가 존재한다.이번 글에서는 두 개념 사이에 어떤 차이점이 존재하는지 살펴보려고 한다.  임시 테이블과 CTECTEWITH CTE_Name (Column1, Column2, ...) AS ( SELECT Column1, Column2 FROM TableName WHERE Condition ) SELECT * FROM CTE_Name;단일 SELECT, INSERT, UPDATE, DELETE 문 실행 범위 내에서 정의된 임시 결과 ..

Database 2025.02.28

[MySQL] Temporary Table

개요최근 서비스에서 사용하고 있는 프로시저의 코드를 분석하면서 TEMPORARY TABLE이라는 키워드를 발견했다. 확인해보니 임시 테이블을 다룰 때 사용하는 키워드인 것 같았다.이번 글에서는 임시 테이블의 개념과 사용에 대해서 정리해보려고 한다.   임시 테이블임시 테이블은 현재 세션 내에서만 유지되며 세션이 종료되면 자동으로 삭제되는 테이블이다. 데이터베이스에 저장되지 않기 때문에 테이블에 쿼리의 중간 결과를 저장할 필요가 있지만, 계속 유지할 필요는 없을 때 사용할 수 있다. 생성하면 세션 내에서는 여러 번 재사용할 수 있고, SELECT문이 데이터를 쿼리하는데 비용이 많이 드는 경우 유용하다. 임시 테이블은 생성한 클라이언트만 접근할 수 있다는 특징이 있다. 다른 클라이언트에 영향을 주지 않기 때..

Database 2025.02.26

[LeetCode] 283 - Move Zeroes

문제문제 : https://leetcode.com/problems/move-zeroes/description/?envType=study-plan-v2&envId=leetcode-75정수 배열 nums가 주어지면, 0이 아닌 원소의 상대적인 순서를 유지하면서 모든 0을 끝으로 이동시키는 코드를 작성해라.단, 배열 복사 없이 원본 배열을 교체해야 한다. 예시 )# 예시 1Input: nums = [0,1,0,3,12]Output: [1,3,12,0,0]# 예시 2Input: nums = [0]Output: [0]  풀이 1배열을 전체적으로 순환하면서 0인 수를 발견하면 한 칸씩 뒤로 미루는 방법이다.class Solution: def moveZeroes(self, nums: List[int]) -> N..

[GitLab] PipeLine - 특정 파일 변경 시 트리거

개요2025.02.10-[GitLab] Pipeline - Rules에서 트리거 조건을 설정하는 rules 속성에 대해서 알아보았는데, 이번에는 실제로 rules를 활용해 파이프라인을 구성해보려고 한다.이번 글에서는 특정 파일이 변경될 때만 파이프라인이 트리거되도록 설정해보자.  구성 테스트1. .gitlab-ci.yml 변경.gitlab-ci.yml 파일을 아래와 같이 rules,changes를 추가하고 편집힌다. 이 변경 사항을 커밋하면, 기존에 테스트했던 것과 다르게 파이프라인이 트리거되지 않는 것을 확인할 수 있다.이번 커밋에서 조건으로 지정한 changes_test.txt라는 파일에 변경이 없기 때문에 실행할 Job이 없어서 파이프라인 자체가 동작하지 않은 것이다. 2. 조건에 해당되는 파일 변..

Git | GitLab 2025.02.24

[GitLab] Pipeline - Rules

개요2025.02.09-[GitLab] PipeLine 유형에서 GitLab 파이프라인이 실행되는 조건을 지정할 수 있다는 것을 알게 되었다. 이번 글에서는 실행 조건을 지정하는 방법에 초점을 맞춰 알아보려고 한다.  rulesrules 속성은 파이프라인에서 Job을 포함하거나 제외할 때 사용한다. rules는 일치할 때까지 순서대로 평가되고, 일치하는 항목이 발견되면 그 구성에 따라 Job이 포함되거나 제외된다.규칙은 Job이 실행되기 전에 평가되기 때문에 Job script에서 생성한 dotenv 파일은 사용할 수 없다. rules는 배열을 허용하며, 각 규칙에는 if, changes, exists, when 속성이 하나 이상 존재해야 한다. 그리고 allow_failure, needs, variab..

Git | GitLab 2025.02.21

[GitLab] PipeLine 유형

개요2025.02.06-[GitLab] 파이프라인 구성에서 간단한 GitLab 파이프라인을 구성하고 테스트를 수행하며 GitLab 파이프라인은 기본적으로 원격 저장소에 커밋이 발생할 때 트리거된다는 것을 알게 되었다.그런데, 파이프라인의 트리거 종류에 따라서 파이프라인의 유형을 구분할 수 있는 것을 알게 되었다.이번 글에서는 트리거 방식에 따른 파이프라인의 유형을 정리한다.   브랜치 파이프라인브랜치 파이프라인은 브랜치에 변경 사항을 커밋할 때마다 파이프라인이 실행된다. 기본적으로 실행되는 방식이기 때문에 별도의 구성이 필요하지 않다.브랜치 파이프라인은 GitLab에 의해 사전 정의된 변수에 접근할 수 있으며, 브랜치가 Protected 상태인 경우 Protected Variable, Protected ..

Git | GitLab 2025.02.20

[GitLab] Runner Shell Executor - ERROR: Job failed: prepare environment: exit status 1. Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information

현상2025.02.07-[GitLab] Runner 설치 및 등록에서 Ubuntu 22.04 LTS에서 gitlab runner를 직접 구성하여 테스트했다. shell executor를 사용하도록 구성했는데, 아래와 같은 에러 메시지가 발생하면서 동작에 실패했다.ERROR: Job failed: prepare environment: exit status 1. Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information원인을 파악하고 해결해보자.   원인에러 로그를 보면 문서를 참고하라고 되어 있는데, 문서를 확인해 보면 다음과 같이 오류 원인을 안내하고 있다.(참고 : https://docs..

Git | GitLab 2025.02.19

[GitLab] Runner 설치 및 등록

개요2025.02.06-[GitLab] 파이프라인 구성에서는 GitLab 호스팅 러너를 사용하여 파이프라인을 실행해 보았다. 이번 글에서는 직접 구성하고 등록한 러너에서 파이프라인을 실행해보려고 한다. 테스트 환경은 다음과 같다.GitLab 서비스 : gitlab.com러너 유형 : 프로젝트 러너사용 서버 : AWS EC2 Ubuntu 22.04 LTS arm64 방법을 적어둔다.  프로젝트 러너 생성1. New project runner 버튼 클릭프로젝트의 CI/CD 설정 페이지에서 New project runner 버튼을 클릭한다. 2. 신규 프로젝트 러너 생성러너의 태그 값을 지정하고, 필요시 추가 구성 옵션을 설정한다. 설정이 완료되면 러너 만들기 버튼을 클릭한다.이번 글에서는 별도 설정 없이 생..

Git | GitLab 2025.02.18

[GitLab] 파이프라인 구성

개요2025.02.03-[GitLab] CI/CD 파이프라인이란에서 GitLab에서 CI/CD를 위한 기능 중 하나인 파이프라인에 대한 개념을 알아보았다. 이번 글에서는 간단한 파이프라인을 직접 구성하고 테스트해본다.   환경파이프라인 구성 테스트는 파이프라인 자체에 초점을 두고 테스트하는 목적으로 별도 Runner 구성이 필요하지 않은 GitLab 호스팅 서비스를 이용한다. 레포지터리 환경 : GitLab.com 내 레포지터리사용 Runner 유형 : GitLab 호스팅 Runner/인스턴스 Runner Runner 구성은 이후에 직접 해보도록 하겠다.   파이프라인 구성간단한 파이프라인을 직접 구성하고 실행해보자. 1. Runner 확인파이프라인의 Job을 실행하기 위해서는 먼저 실행할 Runner가..

Git | GitLab 2025.02.17
1 2