분류 전체보기 62

[Git 3] Git Branch 관리 전략 - Git flow

Git Branch 관리 전략코딩 애플 깃 협업 방식한번 보시면 재밌습니다.Git 관리 전략프로젝트에서 뼈대가 되는 중요 버전을 보관하는 main branch를 두고 새로운 기능이나 새로운 test는 새로운 branch를 생성하는 방식으로 git을 관리하는 것이 일반적이다.특정한 기준 없이 필요할 때마다 branch를 생성하게 되면 오히려 관리하기 어려워 질 수 있다.Git flowgitflow는 두 종류의 주요 브랜치와 세 종류의 보조 브랜치를 갖는다.주요 브랜치는 main과 developmain 브랜치는 배포 관리하는 코드를 관리하는 브랜치develop 브랜치는 개발을 위한 기본 branch로 수정된 코드나 기능이 merge되는 브랜치보조 브랜치는 feature, hotfix, releasefeatu..

카테고리 없음 2025.01.02

[Git 2] Git 환경 설정

환경 설정Git 사용 준비1. git 설치https://git-scm.com/에 접속해 OS에 맞는 최신 버전의 git을 설치여러가지 설정이 필요하지만 default setting으로 모두 설치하면 문제 없음2. config 설정개인 PC라면 아무 폴더 경로에서 우클릭 후 git Bash를 열어 아래 명령어 입력어떤 경로에서 git으로 형상 관리를 해도 동일한 email과 username을 사용git config --global user.email "github 계정 email"git config --global user.name "사용자 이름" 공유 pc (deep cluster 등)에 내 저장소의 code를 clone한 경우 해당 경로에서 bash를 연 후 --global 제외하고 config 설정G..

카테고리 없음 2025.01.02

[Git 1] Git 기초

Git 기초Git은 중앙 서버 없이 local 환경에서 작업 히스토리를 기록하는 분산 버전 관리 시스템이다.브랜치를 쉽게 생성, 병합 할 수 있어 새로운 기능을 개발하거나 버그를 수정하는 작업을 메인 프로젝트와 분리된 상태로 진행한 후 병합 할 수 있다.변경된 파일의 전체 복사본을 저장하는 것이 아니라 변경 사항만 기록하기 때문에 메모리 효율적인 작업이 가능하다.GitHub는 google drive, one drive 같이 원격 저장소인 동시에 협업을 용이하게 해주는 서비스다.기본 용어저장소와 구조 관련 용어Repository : 프로젝트의 모든 파일과 변경 이력을 저장하는 장소유형: 원격 저장소 (remote), 로컬 저장소 (local)Branch : 독립적인 작업 공간으로 새로운 기능 개발이나 버그..

카테고리 없음 2025.01.02

Physics-based modeling과 Data-driven modeling

본 포스팅은 Data-Driven Modeling: Concept, Techniques, Challenges and a Case Study$($Maki K. Habib, 2021$)$에 정리된 내용에 부연 설명을 더해 작성했습니다. 별도 출처 표기가 없는 이미지는 wikipedia의 이미지를 활용했습니다. 현실 세계의 복잡한 시스템의 행동이나 특성을 예측하기 위해 모델링을 한다. 어떤 자극이나 입력$($$x$$)$에 대해 응답 혹은 출력$($$y$$)$을 예측할 수 있는 수학적인 모델을 만들어 활용한다. 모델을 활용해 시뮬레이션, 최적화, 예측, 제어, 고장 진단 등 많은 분야에 활용할 수 있다. 이번 포스팅에서는 데이터 기반 모델링에 대한 이해를 높히는 것을 목표로 한다. 이후 모델링 접근법 분류, 모..

Data science 2024.03.01

신뢰성 공학 기초

신뢰성$($Reliability$)$의 공학적 정의 신뢰성$($Reliability$)$는 주어진 기간 동안 주어진 조건에서 요구 기능을 수행할 수 있는 제품$($부품/시스템)의 능력으로 운영 중에 성능에 관련된 지표다. 유사한 개념으로는 품질$($Quality$)$가 있는데, 품질은 생산 직후 제품의 성능에 관련된 지표를 나타내는 개념이다. 쉽게 말해 품질은 제품의 양품/불량품에 관한, 신뢰성은 운영 중 제품의 수명, 고장에 대한 개념으로 볼 수 있다. 제품의 성능, 사용 환경 그리고 시간에 대한 불확실한 관계를 확률적으로 정의해 Risk와 고장률 등을 분석한다. 여러 갈래로 고도화 되어 제품의 설계, 생산, 유지보수, 고장 분석 등 제품의 life cycle 전반에 활용된다. 일반적으로 신뢰성 공학의..

Data science 2023.10.04

모델과 지도학습

모델이란 모델링은 현실 세계의 시스템, 현상의 간소화된 표현을 생성하는 과정으로 이를 통해 현실 세계를 이해, 분석, 예측 및 최적화를 할 수 있다. 대부분의 모델은 ‘예측’을 목적으로 한다. 여러 변수 간의 관계를 방정식, 알고리즘 등으로 정의해 실제로 만들어 관측하기 전에 자극$($stimulus$)$이나 입력$($input$)$에 대한 응답$($response$)$이나 출력$($output$)$을 예측하는 것이 모델링의 목적이다. Physics-based model 물리 기반 모델은 물리적인 법칙에 의해 만들어진 모델이다. 지금까지 과학 시간에 배웠던 가장 유명한 물리 모델은 힘과 운동의 관계를 기술한 $\sum{\vec{F}} = m\vec{a}$일 것이다. 이 식은 외부에서 어떤 물체에 가해준 ..

Data science 2023.08.30

인공지능과 수학

인공지능은 과거 전문가의 지식을 프로그램화 한 expert system부터 시작해 현재는 데이터로부터 학습하는 머신러닝과 딥러닝을 주로 인공지능이라고 한다. 최근에는 ChatGPT나 Dall-E와 같은 생성형 AI가 주목을 받고 있지만 여기서는 입력된 데이터로부터 어떤 판단을 하거나 예측을 하는 분류(classification)와 회귀(regression) 모델에 대한 설명을 할 예정이다. AI 모델의 학습 방식 지금부터 AI 모델은 Machine learning이나 Deep learning의 회귀나 분류를 수행하는 지도학습 모델이라고 이해하면 된다. 지금까지 어떤 대상이 특정 입력을 받았을 때 반응을 예측할 수 있는 모델은 Domain 전문가의 물리적인 지식으로 복잡한 현상과 데이터를 분석하고 이를 수..

Data science 2023.08.06

[guard clause] 간결한 코드 로직을 위한 guard clause 패턴

프로그램을 작성하다 보면 특정 기능을 실행할 때 여러 조건을 검증해야하는 경우가 있다. 이런 경우에 nested if 문을 사용해 각 조건을 검증할 수 있는데, 이런 경우에 indentation의 영향 등으로 가독성이 떨어지는 비효율이 존재한다. Guard guard는 프로그램에서 특정 기능을 수행하기 위해 True로 유지되어야 하는 bool type 변수다. 쉽게 말하면 프로그램을 진행하기 위해 만족해야하는 조건을 guard라고 한다. 다음과 같은 방식으로 로그인 기능이 있다고 하자. line4의 guard 1에서 check_username으로 존재하는 username인지 여부를 True 혹은 False로 확인한다. 다음 단계인 암호 확인 단계로 넘어간다. line5의 guard 2 조건을 만족할 때 ..

[python 환경 구축 0] Miniconda와 VS CODE로 시작하는 python

Miniconda는 Anaconda의 무료 버전의 subset이다. Anaconda는 numpy, pandas 등등 데이터 사이언스나 과학 연산에 필요한 모든 패키지를 포함하는 종합 솔루션이다. Miniconda는 Anaconda의 최소 기능을 포함한 light한 버전의 패키지 관리 툴이라고 볼 수 있다. 좀 더 가벼운 패키지를 설치하기 위해서 혹은 기업용으로 사용하기 위해서 Miniconda 사용이 필요한 경우가 있다. VS code는 Microsoft에서 제공하는 무료 고성능 코드 편집기다. 매우 가볍고 커스터마이징의 편리함으로 가장 인기있는 개발 환경 중 하나다. Python 외에도 C++, Matlab, TypeScript 등의 언어를 사용하는 많은 개발자들 사이에서 사랑 받고 있다. Minico..

[python 기초 7] pandas 시작하기

pandas는 python에서 기본적으로 제공하는 라이브러리는 아니다. 하지만 프로그램을 통해 데이터를 불러오고, 처리하고, 시각화하는 과정에서 거의 모든 경우에 사용하게 되는 open-source 라이브러리다. pandas는 Series와 DataFrame 두 종류의 데이터 구조를 제공하고 Series는 index로 접근할 수 있는 1차원 형태의 데이터를, DataFrame은 index와 column으로 접근할 수 있는 2차원 데이터를 다룬다. DataFrame으로 excel, DB에 존재하는 데이터를 불러와 python에서 편리하게 정렬, 분류, 연산, 분석을 할 수 있다. 이번 포스팅에서는 pandas의 DataFrame 자료 구조와 iloc과 loc으로 일부 데이터에 접근하는 방법에 대해 학습한다..