분류 전체보기

💽 CICD/Git

[Gitlab] Gitlab CI/CD 변수

[Gitlab] Gitlab CI/CD 변수Gitlab CI/CD 변수는 환경 변수의 일종으로, 해당 변수를 사용하여 다음과 같은 일을 할 수 있다.작업 및 파이프라인의 동작을 제어재사용 할 값들을 저장`.gitlab-ci.yml` 파일에 하드코딩된 값을 피함특정 파이프라인에서 변수 값을 재정의하거나, 수동 파이프라인 사전작업에 변수를 미리 채우는 등의 작업이 가능한데, 조금 더 자세히 확인해보자. 미리 정의된 CI/CD 변수Gitlab CI/CD는 미리 정의된 CI/CD 변수를 파이프라인 구성 및 작업 스크립트에서 사용할 수 있도록 제공한다.job1: stage: test script: - echo "The job's stage is '$CI_JOB_STAGE'"예를 들어 위 job 같은 경우..

🌏 OS/Linux

[Shell Script] 스크립트에서 환경 변수가 적용되지 않는 경우

[Shell Script] 스크립트에서 환경 변수가 적용되지 않는 경우 이번에 gitlab CI/CD를 수정하는 업무를 하면서 스크립트를 수정하는 과정에서 while 문 내부에서 정의한 환경 변수를 루프 외부에서도 사용하려고 하니 예상과 다르게 환경 변수값이 사라지는 문제가 발생했다. 이번 포스팅에선 해당 문제의 원인과 해결 방법에 대해 알아보고자 한다. 문제 상황다음과 같은 스크립트를 작성했다고 가정해보자.info="1234 **KEY1**5678 **KEY2**"echo "$info" | while read -r line; do if [[ $line =~ ([0-9]+)\ \*\*([A-Z]+)\*\* ]]; then export "${BASH_REMATCH[2]}=${BASH_REMATCH[..

💽 CICD/Git

[Gitlab] Gitlab CI/CD 파이프라인

[Gitlab] Gitlab CI/CD 파이프라인이전 포스팅에서 github의 Action에 대해서 포스팅 한 적이 있었다. [CI/CD] Git hub Action[Git] Git hub Action 🤔Git Hub Action? Git 리포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화하고 실행하는 툴이다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유한heywantodo.tistory.comgithub Action은 Git 리포지토리에서 워크 플로우를 구성하여, CI/CD를 포함하여 원하는 작업을 수행하고 자동화하여 실행하는 툴이다.Gitlab에서도 github action과 같은 역할을 하는 gitlab CI/CD를 사용할 수 있다. Gitlab CI/CD는 ..

💾 Data/SQL

[MySQL] Prepared Statement

[MySQL] Prepared StatementMySQL 4.1 버전부터 Prepared Statment를 지원한다. 이는 쉽게 말해 SQL 쿼리를 미리 준비해 놓고,나중에 실행할 수 있도록 하는 미리 만들어 놓은 쿼리라고 보면 된다. 이는 클라이언트와 서버 간의 빠른 데이터 전송을 가능하게 하는 기술을 기반으로 한다. 해당 구문에 대해 조금 더 자세히 알아보자. 사용 용도준비된 문(Prepared Statement)은 다음과 같은 상황에서 유용하다. 프로그램에서 준비된 문이 어떻게 작동하는지 시험해보고 싶을 때특정 프로그램에서 문제를 해결하고 싶을 때버그를 찾기 위해 테스트 케이스를 만들고 싶을 때프로그래밍 API에 접근할 수 없을 때 SQL SyntaxPrepared Statement에 대한 SQL ..

👩‍💻 Develope/Python

[Pandas] 데이터프레임 컬럼 순서 변경하기

[Pandas] 데이터프레임 컬럼 순서 변경하기데이터 프레임을 다루다보면, 데이터 프레임의 컬럼 순서를 변경해야하는 경우가 종종 있다.이번 포스팅에선 데이터프레임의 컬럼 순서를 변경하는 몇 가지 방법에 대해 알아보고자 한다. 샘플 데이터 프레임 생성먼저 다음과 같이 데이터 프레임을 생성해준다.import pandas as pd data = { 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}df = pd.DataFrame(data) reindex`reindex` 메소드를 사용하면 원하는 순서로 컬럼을 재배치 할 수 있다.new_order = ['C', 'A', 'B']df_reordered = df.reindex(columns=new_order) 직접 ..

👩‍💻 Develope/Python

[Pandas] 결측값 처리

[Pandas] 결측값 처리얼마전 데이터프레임을 다루면서, 결측치(`NaN`)가 있으면 같은 행의 데이터로 덮어씌우는 방식으로 결측치를 처리한 적이 있었다. Pandas에는 이러한 결측값을 효과적으로 처리할 수 있는 다양한 방법이 있어, 해당 방법을 정리해보고자 한다. 결측값 확인하기데이터 프레임에서 결측값을 확인하는 것은 결측값 처리를 시작하는 첫 단계이다.결측값을 확인 하기 위해 다음과 같은 메서드를 사용할 수 있다.import pandas as pddata = {'A': [1, 2, None], 'B': [None, 3, 4]}df = pd.DataFrame(data)## isnull()# isnull() 메서드는 각 요소가 결측값인지 여부를 Boolean 값으로 반환한다.df.isnull()## ..

👩‍💻 Develope/Python

[Pandas] SQL 쿼리로 데이터프레임으로 불러오기 (read_sql)

[Pandas] SQL 쿼리로 데이터프레임으로 불러오기 (read_sql)`read_sql`은 SQL 쿼리의 결과를 Pandas 데이터 프레임으로 불러오는 방법을 제공한다. 데이터베이스의 데이터를 직접 조작하고 시각화할 때 주로 사용한다. read_sql()일반적으로 SQLAlchemy 엔진 또는 데이터베이스 커넥션 객체(sqlite3)와 함께 사용된다.이 함수는 `SELECT` 쿼리 뿐만 아니라 테이블 전체를 가져오는 기능도 지원한다.import pandas as pddf = pd.read_sql(sql, con) SELECT 쿼리를 실행하여 DataFrame으로 불러오기이 포스팅에선 `SQLAlchemy` 엔진을 생성하여 쿼리를 실행하고 데이터프레임으로 불러온다.먼저 SQLAlchemy 패키지를 설치..

💾 Data/SQL

[MySQL] 프로시저에서의 매개 변수(IN, OUT, IN OUT)

[SQL] 프로시저에서의 매개 변수(IN, OUT, IN OUT)SQL 프로시저를 작성할 때, 매개변수는 프로시저의 입력과 출력을 정의하는 중요한 요소가 된다.매개변수는 크게 `IN`, `OUT`, `IN OUT` 세 가지 모드로 나뉘며, 각각의 모드는 서로 다른 목적과 사용방식을 가지고 있다. IN`IN`은 프로시저에 입력 값을 전달하는 데 사용된다.프로시저가 호출될 때 외부에서 값을 받아들이며, 프로시저 내에서는 이 값을 읽기만 할 수 있습니다.읽기 전용 : 프로시저 내부에서 값을 변경할 수 없다.값 전달 필수 : 프로시저 호출 시 반드시 값을 전달해야 한다.DELIMITER //CREATE PROCEDURE GetEmployeeName(IN EmployeeID INT)BEGIN SELECT N..

💾 Data/SQL

[MySQL] 프로시저 변수(DECLARE, SET)에 대한 이해

[MySQL] 프로시저 변수(DECLARE, SET)에 대한 이해프로시저는 데이터베이스 내에서 여러 SQL 문을 그룹화라여 실행할 수 있는 저장된 프로그램이다.이 프로시저 내에서 변수를 사용하면 중간 결과를 저장하거나 조건에 따라 로직을 제어하는 것이 가능하다. SQL 프로시저 변수란?SQL 프로시저 변수는 프로시저 내에서 데이터를 저장하고 조작할 수 있는 메모리 공간이다.변수는 프로시저가 실행되는 동안 값을 저장하고, 필요에 따라 참조할 수 있다. 프로시저 변수에는 로컬 변수, 전역 변수 2가지의 변수가 있다.로컬 변수프로시저 내에서만 사용되며, 프로시저가 종료되면 메모리에서 사라진다.전역 변수데이터베이스 세션 동안 유지되며, 여러 프로시저에서 공유할 수 있다. 변수는 사용하기 전에 반드시 선언해야한다..

👩‍💻 Develope/Python

[Python] Tabulate

[Python] Tabulate Tabulate란?Python의 tabulate 라이브러리는, 데이터를 표 형식으로 쉽게 출력할 수 있는 유용한 도구다.tabulate를 사용하면 리스트, 딕셔너리, Numpy 배열 등 다양한 데이터 구조를 읽기 쉬운 표로 변환할 수 있다.기본 사용법`tabulate` 라이브러리는 아래 명령어를 통해 설치가 가능하다.pip install tabulate먼저 리스트를 사용해 간단한 표를 만들어보자. from tabulate import tabulatedata = [ ["이름", "나이", "직업"], ["홍길동", 25, "개발자"], ["김철수", 30, "디자이너"], ["이영희", 22, "학생"]]table = tabulate(data, head..

💾 Data/SQL

[MySQL] 실행중인 쿼리 확인하기

[MySQL] 실행중인 쿼리 확인하기MySQL 데이터베이스를 관리할 때, 실행 중인 쿼리를 확인하고 필요에 따라 종료하는 것이 중요하다. 이를 통해 시스템 성능을 개선하고 불필요한 자원 소모를 줄일 수 있다. 실행 중인 쿼리 확인아래 명령어는 현재 MySQL 서버에서 실행되고 있는 모든 프로세스의 목록을 보여준다.show full processlist; 실행 중인 쿼리 종료하기특정 쿼리를 종료하려면, 해당 쿼리의 ID를 사용하여 다음 명령어를 실행한다.kill [Query ID]; 쿼리를 종료하면 해당 쿼리에 의해 영향을 받는 모든 작업이 중단된다. 따라서 중요한 작업이 진행 중인 경우 종료를 피해야 한다.

💾 Data/etc

[Spark] Apache Spark

[Spark] Apache Spark Apache Spark란?Spark는 빠르고 범용적인 분산 데이터 처리 프레임워크로, 대규모 데이터를 병렬로 처리하는 데 최적화된 시스템이다.Spark는 Hadoop의 MapReduce 모델보다 더 높은 수준의 API를 제공하며, 처리 속도와 유연성 면에서 많은 장점을 가지고 있다. Apach Spark의 컴포넌트스파크는 다양한 컴포넌트를 통해 데이터 처리의 여러 요구를 충족시킨다.Spark CoreSpark의 기본 엔진으로, 작업 분산, Task 스케줄링, 메모리 관리 등을 담당한다.Spark SQL데이터 프레임과 SQL 쿼리를 지원하여, 구조화된 데이터를 처리할 수 있다.Hive와의 통합을 통해 기존 Hive 테이블을 Spark에서 사용할 수 있다.Spark St..

heywantodo
'분류 전체보기' 카테고리의 글 목록 (2 Page)