[Git] 우아한테크코스 - 페어프로그래밍
·
Etc/Git
우아한테크코스에서는 각 미션마다 페어프로그래밍을 진행합니다.페어프로그래밍은 두 사람이 한 컴퓨터를 사용하여 의견을 교환하며 함께 문제를 해결하는 방식입니다. 이 과정에서 한 사람의 로컬 PC에만 결과물이 남기 때문에,추후 리뷰 요청 시 자신의 레포지토리에 작업한 내용을 가져오는 작업이 필요합니다.이번 글에서는 A 미션의 레포지토리를 B와 C가 각각 Fork한 후, B에서 진행한 작업 내용을 C가 가져오는 방법을 설명하겠습니다.  1. 레포지토리 Clone하기먼저, Fork한 레포지토리를 로컬 컴퓨터로 Clone합니다. 아래의 명령어를 사용하세요.git clone  2. B의 레포를 Remote로 추가하기B가 작업한 내용을 가져오기 위해 B의 레포지토리를 Remote로 추가합니다. 에는 B의 레포지토리를 ..
[Git] Github Labels 한 번에 적용하는 방법
·
Etc/Git
Github Repo를 생성할 때마다 수동으로 추가하던 Label을 한 번에 적용하는 방법을 알게 되어 소개하려고 합니다. 📌 준비물git-labels.json"name": "라벨 이름","color": "라벨 색상","description": "라벨 설명"[ { "name": "⚙ Setting", "color": "e3dede", "description": "개발 환경 세팅" }, { "name": "✨ Feature", "color": "a2eeef", "description": "기능 개발" }, { "name": "🚀 Deploy", "color": "C2E0C6", "description": "배포 관련" }, { "name..
[Compose] 한국 이름 입력을 위한 TextField 구현 (+천지인)
·
Android/Compose
한국에서 이름 입력 시, 천지인 키보드와 삼성 한손모아키 키보드의 호환성을 고려해야 합니다. 특히, 두 키보드에서 미들닷(ㆍᆢ)의 표현이 다르기 때문에 이를 적절히 처리하는 정규표현식을 사용해야 합니다. 정규표현식입력 필터링을 위한 정규표현식은 다음과 같습니다:val regex = Regex("^[가-힣ㆍᆞᆢㄱ-ㅎㅏ-ㅣ]*$") 이 정규표현식은 한글 문자(가-힣), 미들닷(ㆍ, ᆢ), 그리고 자음(ㄱ-ㅎ)과 모음(ㅏ-ㅣ)을 포함하여 오직 한국어만 입력받도록 설정합니다.미들닷(ㆍ)이 두 개인 이유는 삼성의 한손모아키에서 사용되는 미들닷(ㆍ)이 천지인과 다르기 때문에이를 모두 대응하기 위해 추가하였습니다. 예시 코드아래는 Compose를 사용하여 한국어 입력을 처리하는 KoreanTextField 컴포저블 ..
[우아한테크코스 7기] 프리코스 1주차 회고
·
Review/우아한테크코스 후기
지원서 작성부터 큰 고비가 있었습니다.쓰고 지우고를 무려 4번 반복한 끝에 결국 아쉬움이 남는 지원서를 제출하게 되었어요. 하지만, 몇 일 뒤 시작할 프리코스를 기대하며 사전에 공개된 디스코드 채널에 들어갔습니다.처음에는 다 뿌시겠다는 마음으로 시작했지만, 실력자들의 토론을 보며 위축되기도 했습니다.그럼에도 불구하고 열정 넘치는 사람들을 보니 코드 리뷰와 소통을 통해 성장할 수 있겠다는 확신이 들었습니다. 마침내 화요일 15시 정각, 1주차 미션인 [문자열 계산기]가 공개되었습니다.저는 미션을 구현하기 전 3가지의 목표를 설정했습니다. 1. 요구사항 분석에 시간 많이 투자하기2. Git Convention 지키기3. MVC 패턴 적용해보기 위 3가지의 목표를 가지고 1주차 미션을 수행했습니다. 📖 미션..
[Git] CHANGELOG.md Generate
·
Etc/Git
지난 포스트에서 AngularJS Commit Convention에 대해 정리했습니다.이번에는 정리한 내용 중에서 CHANGELOG.md를 직접 생성해보려 합니다.  📌 CHANGELOG.md생성하기에 앞서 CHANGELOG.md가 뭔지 설명해 보겠습니다.CHANGELOG.md는 Release 시점에 Commit Message를 및 별로 정리해 놓은Markdown 형식의 파일입니다. 따라서, 프로젝트의 feature, bug fix, refactor 등으로부터 변경된 변화를 한눈에 파악할 수 있습니다.  📌 간단한 생성 방법이전 글에서도 소개해드렸는데 Git 명령어를 통해 생성하는 방법입니다.git log --pretty="- %s" > CHANGELOG.md위와 같이 명령어를 입력 후 실행하면 ..
[Git] AngularJS Commit Conventions
·
Etc/Git
우아한테크코스 프리코스 진행을 하면서 요구사항 중 AngularJS Commit Convention을 참고하여커밋 메시지를 작성하라는 요구사항이 있었습니다. 그래서 이번 기회에 정리해보며 사용 방법을 익혀보려고 합니다.자료는 해당 링크를 참고했습니다. 📌 CHANGELOG.md 생성변경 기록에는 다음 세 가지의 내용이 포함되어 있습니다.1. New Feature2. Bug Fixes3. Breaking Changes 사용자가 정의한 여러 스크립트에 따라 다양한 형식의 CHANGELOG를 생성할 수 있습니다. 아래 명령어로 간단한 형태의 CHANGELOG.md를 생성할 수 있습니다.git log --pretty="- %s" > CHANGELOG.md  📌 중요하지 않은 Commit 식별중요하지 않은 커..
[Compose] Solving Custom TopAppBar Height Issues
·
Android/Compose
뒤로가기  버튼만 있는 TopAppBar를 아래처럼 작성하여 사용하고 있었는데Preview에서는 문제 없이 보여지지만 Device에서는 TopAppBar의 높이가 반절이상 줄어드는 문제가 발생했습니다. 아래는 변경 전 코드입니다.TopAppBar( modifier = Modifier .fillMaxWidth() .height(54.dp), title = { Text(text = "") }, navigationIcon = { Box( modifier = Modifier .size(48.dp, 48.dp) .noRippleClickable(onBackPressed), )..
[Compose] SMS Retriever API - SMS 인증번호 자동입력
·
Android/Compose
Google Play Service에는 SMS 기반 확인 프로세스를 간소화하는 데 사용할 수 있는 두 가지 API가 있습니다. SMS Retriever APISMS User Consent API SMS Retriever API는 정말 자동화된 사용자 경험을 제공하므로 가능한 경우 사용하는 것이 좋습니다.하지만 메시지 본문에 사용자 정의 해시 코드를 입력해야 하며, 해당 메시지를 보낸 사람이 아니라면 이 작업을 하는 것이 어려울 수 있습니다. 메시지의 내용을 제어할 수 없는 경우(예: 앱이 앱 내에서 결제 거래를 승인하기 전에 사용자 전화번호를 인증할 수 있는 금융 기관과 협력하는 경우) 커스텀 해시 코드가 필요하지 않은 SMS User Consent API를 사용할 수 있습니다. 그러나 사용자에게 앱의 ..
[Compose] SnackBar Duration Custom
·
Android/Compose
SnackBar란? SnackBar는 간단한 메시지를 사용자에게 전달하는 UI 구성 요소로, 주로 아래와 같은 용도로 사용됩니다.정보 전달: 작업의 결과나 상태에 대한 피드백을 제공합니다.사용자 액션 유도: 사용자가 특정 작업을 수행하도록 유도할 수 있습니다(예: "취소" 또는 "다시 시도" 버튼 포함). SnackBar 구현하기 Android Compose에서 SnackBar를 사용하기 위해서는 `Scaffold`와 `SnackbarHost`를 이용해야 합니다.아래는 기본적인 SnackBar 구현 예제입니다.val scope = rememberCoroutineScope()val snackbarHostState = remember { SnackbarHostState() }Scaffold( snack..
[Compose] Modifier Extension - DrawScrollbar
·
Android/Compose
drawScrollbar 함수는 Modifier 클래스에 대한 확장 함수로, LazyColumn에 커스텀 스크롤바를 그릴 수 있게 해줍니다.이 함수는 drawBehind를 사용하여 컴포저블의 캔버스에 직접 스크롤바를 그립니다. 해당 함수는 아래 이슈를 참고하였습니다. Google Issue Tracker issuetracker.google.com /** * LazyColumn을 위한 사용자 정의 스크롤바를 그리기 위한 확장 함수 * * @param state LazyListState로, lazy list의 상태를 포함 * @param barColor 스크롤바의 색상 * @param barWidth 스크롤바의 너비 * @param barBottomPadding 스크롤바의 하단 패딩 */ fun Modifi..