Git merge : 프로젝트의 변경 사항 통합 (3-way / fast-forward)

git fast forward merge

“Git merge” 명령어는 브랜치를 병합하는 명령어 입니다. 브랜치 병합은 두 개 이상의 브랜치를 하나로 합치는 작업입니다. 주로 기능 개발이나 버그 수정을 별도 브랜치에서 진행한 후, 이를 메인 브랜치에 통합할 때 사용합니다. Git에서 브랜치를 병합하는 방법에는 대표적으로 3-Way merge 방법과 Fast-Forward merge 방법이 있습니다. 두 방식 모두 git merge 명령어로 동작하는데요. branch의 상태에 따라 어떤 방식으로 … Read more

Git branch : 프로젝트를 기능별로 개발하기

“Git branch”는 Git에서 프로젝트를 효율적으로 관리하기 위한 핵심 개념입니다. 이 작업 공간은 개발 저장소를 어지럽히지 않고 병렬적으로 개발을 수행할 수 있도록 도와줍니다. 브랜치가 정확히 무엇이며, 어떻게 생성하고 전환하는지 정리해보았습니다. Git branch 란? Git branch는 Git의 가장 기본적인 작업 공간 단위입니다. 프로젝트를 여러 개발자가 동시에 작업할 수 있도록 해주는 것이 목적입니다. 각 브랜치는 독립적으로 변경 사항을 … Read more

스택 자료구조 : 스택을 활용하여 알고리즘 풀기

스택 자료구조

이번 포스트에서는 “스택 자료구조”를 정리했습니다. 자료구조란 “구조+연산” 이기 때문에 이러한 특징을 살펴보고, 이를 이용한 알고리즘 문제를 풀어보았습니다. 스택 구조 스택은 데이터를 한쪽으로만 넣을 수 있으며, 중간에 있는 데이터를 삭제할 수 없습니다. 가장 큰 특징은 후입선출 (LIFO: Last-In-First-Out) 형식의 선형 자료구조입니다. 후입선출 (LIFO): 스택 vs. 큐 vs. 리스트: 스택 자료구조 연산 스택(stack) 데이터 구조에 필요한 기본 연산들 스택 … Read more

파이썬 타입 어노테이션 : 데이터 타입의 힌트 표기

파이썬 타입 어노테이션 : 데이터 타입의 힌트 표기

“파이썬 타입 어노테이션“은 변수, 함수 매개변수, 함수 반환 값 등에 대한 타입 정보를 코드에 명시적으로 추가하는 기능입니다. 이는 코드의 가독성을 높이고, 협업 시 코드의 이해와 유지보수를 용이하게 만들어줍니다. 타입 어노테이션은 주로 변수 뒤에 콜론(:)을 사용하여 타입을 명시합니다. 함수의 매개변수에 대해서도 마찬가지 방식으로 사용됩니다. 반환값만 -> 를 사용하여 명시합니다. 기본 사용법은 아래와 같습니다. 기본 사용법 파이썬 … Read more

파이썬 문자열 함수 : f-string, count(), find(), replace(), join(), index()

파이썬의 기초 문법 중 하나인 문자열 함수 !! 저는 파이썬 문자열 함수는 약 4년 전에 파이썬 처음 공부할 때 빼고는 본 적이 없습니다. 그런데 알고리즘 문제를 풀다 보니 다시 한 번 정리하면 좋을 것 같아서 몇 가지 정리해보았습니다. f-string : 파이썬 문자열 포맷팅 문자열 안에서 변수 값을 간편하게 삽입할 수 있습니다. f-string은 문자열 앞에 f를 … Read more

백준에서 요구하는 input 작성 법

프로그래머스 문제를 풀다가 백준 문제를 보게되면 “???? 뭐지? 반환 값으로 값 받는건가?”, “input은 인자로 받는 건가?” 헷갈립니다. “백준에서 요구하는 input” 을 한 번 검색하고 나서야 어느 정도 힌트를 얻을 수 있었습니다. 이번 포스트에서는 백준에서 요구하는 input을 어떻게 코드로 작성하는지 정리해보았습니다. 백준에서 요구하는 input을 작성하기 위한 기본 개념 map 함수 map 함수는 주어진 함수를 iterable의 각 … Read more

알고리즘 공부 시작

“알고리즘”을 딱히 공부한 적이 없어서 알고리즘 공부를 시작하면서 글을 정리해보았습니다. 알고리즘을 따로 공부하지 않았지만 백준이나 프로그래머스 문제가 낮은 난이도의 문제지만 풀리는 걸 보면서 새삼 신기하기도 했습니다. Bioinformatics로 일하면서 문제를 해결했던 게 곧 “브루트 포스” 였고 “그리디 알고리즘” 이였다는 걸 이제 와서 깨달은 거였죠…ㅎㅎ 여러 알고리즘 기법들이 있기에 이에 대해서 앞으로 공부하면서 정리할 예정입니다. 오늘은 알고리즘이란 … Read more

VS code 디버깅 : 언제까지 print문으로 디버깅 할꺼야?

VS code 디버깅 : 코딩은 종종 문제 해결의 여정입니다. 그러나 때로는 코드에 숨은 버그들이 이 여정을 좌우합니다. 여기서 등장하는 주인공, 디버깅! 디버깅은 마치 코드의 탐정처럼 작동합니다. 여러분의 코드가 이상하게 행동할 때, 디버깅은 그 원인을 찾아내고 해결책을 제시해주는 강력한 도구입니다. 이번 포스트에서는 코드의 버그를 찾아내는 과정을 VS code에서 진행해보도록 하겠습니다. VS code 디버깅 시작 밑에 간단한 … Read more

NoSQL 데이터베이스 모델 선택 : 비즈니스에 따른 최적의 선택

이번 글은 “올바른 NoSQL 데이터베이스를 선택하는 5가지 질문과 주요 솔루션“이라는 기사를 읽고 공부한 내용을 정리한 포스트 입니다. NoSQL 이란 NoSQL은 “Not Only SQL”의 약어로, 관계형 데이터베이스가 아닌 다양한 형태의 데이터를 처리하는 데이터베이스 시스템을 지칭합니다. 주로 대용량 및 분산 데이터 처리에 특화된 특징을 가지고 있습니다. NoSQL 데이터베이스 종류 우선은 크게 4가지로 나눌 수 있습니다. Document, key-value, … Read more

소프트웨어 개발의 미래 : 생성형 AI의 진화

“소프트웨어 개발의 미래”에 대한 힌트를 줄 수 있는 기사가 있어서 정리해보았습니다. 원문은 아래에 링크를 걸었습니다. 해당 포스트에서는 요약 정리와 기사를 읽고 개발 입문생으로서 드는 생각을 정리해보았습니다. 1990년대의 코딩과 에클립스, 비주얼 스튜디오와 같은 통합개발환경의 등장으로 소프트웨어 개발 생애주기가 변화했습니다. 그러나 이제는 생성형 AI가 새로운 도전을 제시하고 있습니다. 소프트웨어 개발의 미래 변화 10가지는 무엇일까요? 생성형 AI로 인한 … Read more