본문 바로가기
반응형

전체 글346

[Python] 데이터클래스 Dataclass 데이터 값을 보유하도록 설계된 클래스 파이썬 3.7에 도입된 파이썬 내장 라이브러리 사용예시: dataclass는 다음과 같이 정의한다. 필드를 정의할 때 타입 힌트를 필수적으로 추가한다. from dataclasses import dataclass @dataclass class Series: title: str seasons: int genre: list[str] main_cast: list[str] summary: str dataclass는 다음과 같이 초기화할 수 있다. # 초기화 방법 1 series1 = Series( title="How I Met Your Mother", seasons=9, genre=["Comedy", "Romance"], main_cast=["Josh Radnor", "Ja.. 2023. 10. 17.
TBD(Trunk-Based Development)란? TBD(Trunk-Based Development)란? 소스 제어 브랜치 모델에서 브랜치를 어떻게 관리할지에 대한 전략 Trunk 라고 불리는 단일 브랜치에서 코드를 협업하며, 빈번하고 작은 업데이트 사항을 Trunk 브랜치에 병합함. Trunk 브랜치는 Git Flow의 Main 브랜치와 같은 의미 Trunk 브랜치 이외에 수명이 긴 개발 브랜치를 만드는 것을 지양하고, 이를 통해 협업 중의 충돌을 최소화하고 빌드가 실패되는 상태를 막음. Trunk 브랜치를 항상 배포 가능한 올바른 상태로 유지함 병합 및 통합 단계가 간소화됨 작은 팀을 위한 TBD: Trunk-Based Development For Smaller Teams:# 규모가 큰 팀을 위한 TBD: Scaled Trunk-Based Devel.. 2023. 9. 19.
UML을 만드는 순서 행위 UML 다이어그램은 만들기 위해 행위부터 시작하는 것이 좋다. 휴대전화를 제어하는 소프트웨어를 가정해본다. 간단한 시퀸스 다이어그램을 그리며 문제를 풀기 시작할 수 있다. 버튼이 눌릴 때마다 이를 감지해서 다이얼 돌리는 일을 제어하는 객체에 메시지를 보내는 것을 상상할 수 있다. 버튼 객체와 다이얼러 객체를 그려 버튼이 다이얼러에 번호 메시지를 여러 개 보내는 것을 그린다. *는 여러 개를 의미한다. 다이얼러가 번호 메시지를 받으면 화면에 번호를 표시한다. 즉, 화면(Screen) 객체에 displayDigit 메시지를 보낸다. 스피커에서도 소리가 나도록한다. 숫자를 입력한 후 전송(Send) 버튼을 눌러 전화를 건다. 이때, 셀 네트워크에 접속해서 사용자가 누른 전화번호를 전달하라고 휴대전화의 .. 2023. 3. 24.
UML(Unified Modeling Language)이란? UML이란? · 통합 모델링 언어라는 의미로 소프트웨어 개념을 다이어그램으로 그리기 위해 사용하는 시각적인 표현법 · 용도: 문제 도메인, 소프트웨어 설계 제안, 완성된 소프트웨어 구현에 대한 다이어그램을 그릴 때 사용 UML을 사용해야 하는 이유 1. 다른 사람들과 의사 소통하기 · UML은 소프트웨어 개발자끼리 설계 개념에 대한 의견을 주고받을 때 편리하다. 다이어 그램은 코드의 구조가 어떻게 생겼는지 매우 분명하게 보여 준다. - 아래 클래스 다이어그램을 보면 LoginServlet이 Servlet 인터페이스를 구현하고, UserDatabase를 사용하는 것을 쉽게 알 수 있다. 알고리즘 세부 내용을 전달하는 목적에는 UML이 유용하지 않다. 오히려 코드보다 읽기 어렵고, 만들기도 더 어려울 수 있.. 2023. 3. 23.
[Git] merge, rebase conflict 해결하기 git merge conflict 해결 충돌이 발생한 부분을 수정한다. 수정한 파일을 staging area에 올린다. git add file-name 수정된 내용으로 commit한다. git commit -m "Resolve conflict" Conflict가 해결된 브랜치를 push한다. git push origin branch-name git rebase confilct 해결 충돌이 발생한 부분을 수정한다. 수정한 파일을 staging area에 올린다. git add file-name Conflict가 해결된 상태로 rebase를 다시 시작한다. git rebase --continue Conflict가 더 이상 없을 때까지 1-3의 과정을 반복한다. Conflict가 해결된 브랜치를 push한다... 2023. 2. 5.
[Git] rebase, 브랜치 커밋 이력 재정렬 $ git rebase "재정렬을 위한 기준 브랜치" - 특정 브랜치의 커밋 이력을 기준으로 작업 브랜치의 커밋 이력을 재정렬 merge vs rebase 예시) master 브랜치의 커밋 이력이 다음과 같고, feature/b 브랜치의 커밋 이력이 다음과 같다. merge와 rebase의 차이를 확인해보자. master 브랜치를 작업 브랜치하여 feature/b 브랜치를 병합해보자. $ git checkout master $ git merge feature/b $ git log --oneline --graph 위와 같은 결과를 볼 수 있다. 이제 rebase와의 차이를 확인해보자. merge로 추가된 ce3d316 커밋을 제거한다. $ git rebase -i HEAD~2 다음으로 feature/b 브.. 2022. 10. 30.
반응형