전체 글 37

[Git] git이 실제 변경을 관리하는 구조(.git)를 알아보고, 이를 통해 git worktree 개념과 원리 이해하기

대 AI 시대, 한 명이 5명분의 일을 하는 상황에서 업무를 수행하다 보면 한 번에 3~4개의 작업을 해야 하는 상황이 종종 생긴다.AI를 통해 기본적인 CS 문제 분석 등을 수행할 수 있더라도 작업을 하려고 하면 나는 하나고 컴퓨터도 하나기 때문에 난감한 경우가 있었을 것이다. 이때 workTree가 이를 해결해 줄 수 있는데, 오늘은 이 git의 workTree가 뭔지 알아보도록 하자.개발자라면 종종 여러 브랜치에 checkout 할 수 있으면 좋겠다고 한번쯤 생각해 본 적이 있을 것이다. 업무를 3~4개를 할 때를 예시로 드는 건 너무 회사에 대한 원망이 생기니까,예를 들어 동료의 PR을 검수할 때 해당 브랜치의 전체 내용을 보고 싶다던가, 하지만 현재 작업 중인 업무가 있다던가 등 상황에서 그런 ..

Android/학습 2026.08.09

[Android] Launch Model(실행모드) 알아보기 (Task와 함께!)

이전 포스팅 https://androidhelper.tistory.com/50 [Android] 천천히 알아보는 Android Task이전 포스팅 https://androidhelper.tistory.com/49 [Android] 가볍게 시작하는 Android Task이전에 fragment Manager에 대해 알아보면서 간단하게 백 스택 구조에 대해 알아본 적이 있다. https://androidhelper.tistory.com/28 [androidhelper.tistory.com 일반적인 동작에서는 모든 Activity를 하나의 Task에 배치하여 백스택을 관리한다. 이는 후입선출(LIFO)로 관리된다.하지만, 종종 이 동작을 앱 요구사항에 맞게 커스텀하고자 할 때가 있다. 오늘은 이러한 Activ..

Android/학습 2026.07.05

[Android] 천천히 알아보는 Android Task

이전 포스팅 https://androidhelper.tistory.com/49 [Android] 가볍게 시작하는 Android Task이전에 fragment Manager에 대해 알아보면서 간단하게 백 스택 구조에 대해 알아본 적이 있다. https://androidhelper.tistory.com/28 [Android] Fragment Manager, Basic 편일반적으로 운영 애플리케이션 담당 업무를 하androidhelper.tistory.comMultiple activity instances back stack의 Activity는 기본적으로 재배치 되지 않는다. 그렇기 때문에 앱에서 사용자가 특정 Activity를 여러 Activity에서 시작할 경우, 이전 인스턴스를 맨 위로 가져오는 대신 해..

Android/학습 2026.06.13

[Android] 가볍게 시작하는 Android Task

이전에 fragment Manager에 대해 알아보면서 간단하게 백 스택 구조에 대해 알아본 적이 있다. https://androidhelper.tistory.com/28 [Android] Fragment Manager, Basic 편일반적으로 운영 애플리케이션 담당 업무를 하게 되면,페이지 이동 같은 작업은 기존에 설계되어 있는 방식 따르면 되었기 때문에이 부분에 대해 신경을 잘 쓰지 않게 되었고, 따로 공부할 계기androidhelper.tistory.com 이때 간단하게 백 스택에 대해 알아보았는데, 오늘 이 백 스택과 일부 관련된 Task에 대해 한번 가볍게 더 알아보기로 하였다.ㅎㅎ 사실 담당하는 프로젝트가 다중 task를 생성하는데 이 부분이 꼬인 버그가 발견된 게 계기가 되었.. Task ..

Android/학습 2026.05.30

[Git] Git tag란, 만약 tag된 commit이 merge 된다면?

Git Tag는 특정 commit에 붙는 이름표다.더 정확히는 commit의 SHA 해시를 가리키는 ref(reference)[혹은, Git object를 가리키는 ref]로,한 번 붙으면 그 commit에 고정된다. 즉, Tag는 Commit 기준으로 붙는 것이다.브랜치는 새 commit이 쌓이면 포인터가 자연스럽게 이동하지만, tag는 같은 commit을 계속 가리키는 점이 다르다. 이 차이 때문에 tag는 주로 릴리스 시점을 표시하는 용도로 쓰인다.v1.0.0을 찍은 시점의 코드는 시간이 지나도 그대로 보존되고, 언제든 그 시점으로 돌아갈 수 있다. Git Tag에 대해서..Tag는 commit의 SHA를 가리키는 ref다. 브랜치와 같은 ref지만 자동으로 이동하지 않는다.Lightweight와 ..

Android/학습 2026.05.05

[Android] 실전 예제로 보는 MVP Pattern의 장단점

회사에서 프로젝트 팀이 병합됐다.그리고 병합된 프로젝트는 Android 역사를 함께하며, MVP의 Presenter와 ViewModel이 공존하였다.신생 프로젝트에서 MVI로 Compose를 갈기던 입장에서 위기감을 느끼고 안드로이드 역사 공부를 다시 하기로 했다. MVP(Model-View-Presenter) Android 앱을 개발하다 보면 “UI 코드와 비즈니스 로직이 뒤섞이는 문제”를 자주 겪게 된다.이 문제를 해결하기 위해 등장한 대표적인 구조 중 하나가 바로 MVP(Model–View–Presenter) 패턴이다.MVP는 역할을 명확히 나눠서 코드의 가독성, 유지보수성, 테스트 용이성을 높이는 데 목적이 있다.ModelModel은 애플리케이션의 데이터와 비즈니스 로직을 담당하는 계층이다.API..

Android/학습 2026.04.12

[Android] Android 16 (target SDK 36) 대응

이전 버전인 Android 15 대응 날짜를 살펴보면, 아마 Google Play의 기존 앱 Android 16(API 36) 이상 target 대응은 2026년 11월쯤으로 예상된다. Android 15(API 수준 35) 대응은 새 앱 기준 2025년 8월, 기존 앱 기준 2025년 11월로 안내되었다. (관련 출처 페이지)Android 17(API 수준 37)도 나온 마당에 정말 얼마 남지는 않았을 것이다.Android 17을 대상으로 하는 앱대형 화면(sw>=600dp)에서 화면 방향, 크기 조절 가능성 및 화면 비율 제약 조건을 무시하도록 플랫폼 API가 변경되었습니다.개발자는 SDK 36에서 이러한 변경 사항을 적용하지 않도록 선택할 수 있지만, Android 17 이상을 대상으로 하는 앱에서..

Android/학습 2026.03.14

[Android] targetSdk와 compileSdk의 차이, 그에 따른 영향.

android application을 개발하다 보면,특히 앱 서비스를 운영하다 보면 버전 대응을 하게 된다. 조금만 더듬어 봐도, 분명 Android 15가 나온 지 얼마 안 되었던 것 같은데, 어느새 구글 스토어에서 "너네 앱이 Android 15로 타케팅 하지 않으면 스토어에서 내려버리겠다!"라고 협박받게 되어 부랴부랴 버전 대응을 하게 된 경험이 스쳐 지나간다. 미리미리 준비하면 좋겠지만, 기획과 운영을 치다 보면 분명 저 멀리서 홀홀 쳐다보던 신규 버전이 등에 칼을 들이대고 있다. 이제 곧 Android 16 대응도 슬슬 준비해야 하는 시즌이 되어 가는데,겸사겸사 Android의 target SDK와 compile SDK에 대해 정리해 보면 좋을 것 같다고 생각했다. comileSdk소스 코드를..

Android/학습 2026.02.22