분류 전체보기24 Commit Conventional Commit Convential이란커밋 메시지에 사람과 기계가 모두 이해할 수 있는 의미를 부여하기 위한 경량화된 규약이다.이 규약은 커밋 메시지를 일관된 형식으로 구조화하여 명시적인 커밋 히스토리를 유지하도록 돕는다.Semantic Versioning과 결합되어 커밋만으로 MAJOR·MINOR·PATCH 버전 변경을 자동으로 결정할 수 있도록 설계.커밋 메시지 구조헤더형식 : [optional scope]: type : feat, fix, docs, style, refactor, perf, test, chore 등scope : 선택적으로 괄호 안에 범위를 명시하여 변동 영역을 구체화(feat(parser): ...)description : 변경 내역을 간결하게 요약하며, 명령문 형태로 작성본문용도 : .. 2025. 7. 7. [GITHUB]Actiond을 통한 Android 자동화 GitHub Action으로 자동화 할 것CI/CD테스트 코드 자동화keystore 관리tag/release 버전 자동화CI, 테스트코드, keystore, tag/release 버전 자동화과정keystore 파일을 GitHub Action으로 처리할 것이다GitHub Repository Setting의 Secrets and variables의 Actions로 이동한다이곳에 keystore 정보들을 입력할 것이다New repository secret에 store의 store password, key alias, key password를 만들어준다keystore 파일도 base 64의 형식으로 secret에 넣어줄건데, 파일을 넣을 수 없기 떄문에 base64 -i key.jks -o keystore-.. 2025. 2. 23. MarqueeLibrary 라이브러리 깃허브만든이유기존에 만들어 놓은 커스텀뷰 수정 및 보관용다른 사람도 필요시 사용할 수 있도록기능흐르는 텍스트 뷰텍스트 및 뷰에 대한 설정 가능 2025. 2. 18. Library 배포용 Apache License 받기(Android Studio) 왜 작성하는가?Apache License 받는 방법에 대해 정리해 놓고 앞으로 필요할 때 참고하기 위해서1. 루트 디렉토리 LICENSE.txt 추가루트 디렉토리에 txt 파일 추가하면서 아래의 문구를 넣어준다영어버전Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0Unless required by .. 2025. 2. 18. [Android]Permission 체크를 이미 완료했을 때 코드에서 Permission을 요구할때 해결법 문제점이미 Permission이 체크가 되어있다.하지만 현재 작성중인 코드는 Permission을 요구한다매번 Permission 검증을 하는건 효율적이지 않은 것 같다위 가정은 Permission이 확실히 체크되어 있다는 가정하에 진행한다해결법@RequiresPermission Annotation을 활용하자하나의 Permission만 필요로 할 때@RequiresPermission(Manifest.permission.ACCESS_FINE_LOCATION)여러개의 Permission중 하나만 있어도 될 때@RequiresPermission( anyOf = [Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LO.. 2025. 2. 13. [Android]ViewModel에 대한 Unit Test에 대하여 테스트 코드 작성 느낀 점 정리이번에 테스트 코드를 작성하면서 알게 된 점, 느낀 점, 그리고 고려할 점들을 정리하려고 한다추가 및 수정은 계속할 예정이다테스트에 사용한 라이브러리는 io.mockk:mockk, org.jetbrains.kotlinx:kotlinx-coroutines-test, app.cash.turbine:turbine 세 가지이다JUnit은 JUnit4로 작성했지만, 추후 JUnit5도 시도할 예정이다기본적인 사용법 및 구조1. 테스트 클래스의 시작테스트 클래스는 @RunWith로 시작한다.이 어노테이션을 사용하면 테스트 실행에 필요한 설정을 지정할 수 있다.@RunWith(JUnit4::class) class Test2. MockK을 사용한 객체 모킹UseCase나 Reposito.. 2025. 2. 10. Git-Flow 1. 깃 플로우(Git Flow)란?깃 플로우(Git Flow)는 Git을 활용한 브랜치 전략 중 하나로, Vincent Driessen이 제안한 워크플로우이다. 협업이 필요한 프로젝트에서 체계적인 브랜치 관리가 가능하도록 설계되었으며, 안정적인 코드 배포를 돕는다.Git Flow는 장기적으로 유지보수해야 하는 프로젝트나 다수의 개발자가 협업하는 환경에서 특히 유용하다. 또한, 명확한 브랜치 전략을 통해 개발, 테스트, 배포 프로세스를 명확히 구분할 수 있다.2. 주요 브랜치Git Flow는 크게 5가지 주요 브랜치를 사용한다.1) main 브랜치제품으로 배포되는 최종 안정 버전이 관리되는 브랜치직접 작업하지 않고 develop 또는 release 브랜치에서 병합됨배포 후 태그(tag)를 통해 버전 관리.. 2025. 2. 4. Android 라이브러리 배포: JitPack 사용법 1. 왜 라이브러리로 만들까?커스텀 뷰를 직접 만들어 사용하다 보니, 이를 라이브러리화하여 재사용할 수 있도록 만들고 싶었다.조사를 해보니 많은 개발자들이 JitPack을 이용해 라이브러리를 배포한다는 것을 알게 되었고, 이에 따라 배포 과정을 정리해 보았다.2. JitPack이란?JitPack은 GitHub, GitLab, Bitbucket 등의 저장소에 있는 Java/Kotlin 프로젝트를 빌드하여 쉽게 Maven 또는 Gradle 종속성(Dependency)으로 추가할 수 있게 해주는 서비스다.즉, GitHub에 올린 Android 라이브러리를 JitPack을 사용하면 간단한 설정만으로 누구나 쉽게 사용할 수 있다.3. 프로젝트 만들기1)라이브러리로 사용할 프로젝트 생성- Android Studio.. 2025. 2. 4. [Android] 뒤로가기 버튼 안 누르고 내부 화면으로 호출하기 뒤로가기 버튼이 아닌 별도의 버튼을 만들지만 효과가 뒤로가기 버튼과 동일한 효과가 나타나도록 하는 코드 val backDispatcher = LocalOnBackPressedDispatcherOwner.current?.onBackPressedDispatcher backDispatcher?.onBackPressed() 2024. 11. 9. [Android]갤러리 앨범 정보 받아오기 1. 권한 허용갤러리를 읽어오기 위한 권한 허용이 필요하다Android SDK 버전 32 이하에선 READ_EXTERNAL_STORAGE, 그 이상에선 READ_MEDIA_IMAGES를 이용하여 권한을 받는다만약 동영상도 읽어오고 싶다면 READ_MEDIA_VIDEO 권한을, 오디오를 읽어오고 싶다면 READ_MEDIA_AUDIO 권한을 요청하면 된다권한 요청에 대한 글은 미리 정리해둔 글을 참고하여 작성했다.기존 정리글은 여러개의 권한요청에 유용하고 현재 사용할 코드는 1개만 요청할 예정이기 때문에 rememberMultiplePermissionsState 대신 rememberPermissionState를 사용한다권한요청 정리글Manifest 권한요청val permission = when { .. 2024. 11. 9. 이전 1 2 3 다음 반응형