Push 5

[Github/깃허브] push한 commit message 수정

자바 스프링 공부를 하다가...커밋 컨벤션을 안지키고 커밋하고 그냥 푸시를 해버렸다. 이렇게 [Test] 로 컨벤션을 지키면서 커밋작성을 하고 싶었는데, 그냥 "Checking beans in various types and situation' 이라고 올려버렸다. 아직 push 하지 않은 커밋메시지는 아래와 같이 amend 를 이용해서 가장 마지막에 commit 한 내용을 수정할 수 있다. git commit --amend git commit --amend 를 사용하고 커밋을 수정할 수 있는 창이 뜨면, 수정을 완료한 후 esc -> :wq(저장 + 창 닫기) 를 해주면 된다. 그럼, 이미 push한 커밋에 대해서 커밋메시지를 수정하고 싶을 때는 어떻게 해야 할까? 1. 터미널에서 rebase를 사용해서..

[코테] 코딩 테스트 합격자 되기 2주차 - 스택

스택의 어원은 '쌓는다' 입니다. 어원에서 짐작할 수 있듯이, 먼저 입력한 데이터를 제일 나중에 꺼낼 수 있는 자료구조입니다. 이렇게 먼저 들어간 것이 마지막에 나오는 규칙을 후입선출 혹인 LIFO(Last IN First Out)이라고 합니다. 이 때, 스택에 삽입하는 연산을 push, 꺼내는 연산을 pop 이라고 합니다. 📖 스택의 동작 원리 이해하기 빈 통(빈 스택)에 사탕을 넣는다고 하면, 아래와 같이 나타낼 수 있습니다. 📖 스택의 ADT ADT는 우리말로 추상 자료형(abstract data type)인데요, 추상 자료형이란 인터페이스만 있고 실제로 구현은 되지 않은 자료형입니다. 일종의 자료형의 설계도라고 생각하면 됩니다. 그렇다면 스택은 어떤 정의가 필요한 자료구조일까요? 우선 스택에는 ..

[Airflow] Python & Bash 오퍼레이터 with Xcom

python 오퍼레이타에서 xcom을 사용하는 방법과 bash 오퍼레이터에서 xcom을 사용하는 방법을 배웠으니, 이제는 두 오퍼레이터를 혼합해서 Xcom 데이터를 구하는 방법을 알아보겠습니다. 1. Python → Bash 오퍼레이터 Xcom 전달 코드를 먼저 살펴보겠습니다. @task(task_id='python_push') def python_push_xcom(): result_dict = {'status':'MyLove','data':['Allu','Arsenal','Myself'],'options_cnt':100} return result_dict bash_pull = BashOperator( task_id = 'bash_pull', env = { 'STATUS':'{{ti.xcom_pull(t..

[Airflow] Python Operator에서 Xcom 사용

1. Xcom이란 무엇일까요? (=Cross Communication) Airflow DAG 안 Task 간 데이터 공유를 위해 사용되는 기술입니다. (ex) Task1의 수행 중 내용이나 결과를 Task2에서 사용 또는 입력으로 주고 싶은 경우가 있을 수 있겠죠? 주로 작은 규모의 데이터 공유를 위해 사용합니다. (Xcom 내용은 메타 DB의 xcom 테이블에 값이 저장됩니다.) 1GB 이상의 대용량 데이터 공유를 위해서는 외부 솔루션 연동이 필요합니다. (AWS S3, HDFS 등) 2. Python 오퍼레이터에서 Xcom 사용하기 크게 두 가지 방법으로 Xcom 사용이 가능한데요, 한 번 살펴보시죠. 1) **kwargs 에 존재하는 ti (task_instance) 객체 활용 예시 코드를 먼저 보..

[Github/깃허브] Git 협업 플로우를 살펴보자!

깃헙에서 협업을 할 때의 과정을 간략하게 그림으로 표현해봤다. 순서에 따라서 한번 깃 협업 과정을 살펴보자! 1. 깃허브 원격 저장소에서 내용을 로컬 저장소로 가져온다 로컬 저장소가 없을 때(최초에는) : git clone ~ 로컬 저장소가 이미 있을 때 : git pull origin main ⬇️ 2. 로컬 저장소에서 작업할 브랜치를 생성 후 해당 브랜치로 이동한다 git branch 브랜치이름 git checkout 브랜치이름 or 커밋 ( VScode의 Extension중에서 해당 Extension을 다운받으면 브랜치가 이슈별로 자동 생성된다) ⬇️ 3. 브랜치 안에서 원하는 작업을 수행한다 ⬇️ 4. 브랜치에서 수행한 작업을 git에 올린다 (작업 중인 브랜치 안에서 명령어 실행) git add..

반응형