본문 바로가기

전체 글163

[부스트캠프 웹・모바일 8기] 극찬 받은 개발 프로젝트 문서화 시작하기에 앞서 star 구걸을 위한 홍보부터... https://github.com/boostcampwm2023/and04-catchy-tape GitHub - boostcampwm2023/and04-catchy-tape: 야, 너도 가수 할 수 있어! 📼 야, 너도 가수 할 수 있어! 📼. Contribute to boostcampwm2023/and04-catchy-tape development by creating an account on GitHub. github.com 프로젝트 노션 소개 사실 제목은 어그로이고, 극찬까지는 모르겠지만 칭찬을 받은 건 맞다. 프로젝트에 문서에 대해 운영진, 동료 캠퍼, 자문위원(내 기준 유명하신 분), 멘토님께 칭찬을 받았다. 특히 운영진께서 슬랙 채널에 우리 프.. 2023. 12. 20.
[Android] 플러그인을 이용하여 공통 설정 없애기 멀티 모듈 구성에서 build.gradle(.kts)? 코드를 작성하다 보면 gradle에 공통으로 사용하는 코드가 생긴다. 예를 들면 hilt 사용을 위해 kapt(혹은 ksp) 플러그인과 의존성을 추가한다거나, Java 버전을 설정하는 코드 등이 있다. 버전을 한 번에 변경하는 건 buildSrc나 버전 카탈로그(toml)를 이용해 처리할 수 있다. 하지만 많은 모듈에 같은 코드를 추가하거나 삭제해야 하는 상황이라면? 프로젝트가 지속되어도 일관성을 유지할 수 있을까? 이런 고민을 해결하기 위해 플러그인을 사용할 수 있다. 현재 프로젝트에서 사용할 정도로만 학습했기 때문에 지식을 전달한다기보다는 어떤 과정으로 공통 코드를 추출했는지 시간 순으로 이야기할 예정이다. (정확히 이 상황에 맞는 공식 문서 페.. 2023. 11. 21.
[Android] GitHub Actions를 이용하여 자동으로 PR 테스트하기 테스트 자동화를 공부하게 된 동기 위 사진은 PR 페이지 하단에서 확인할 수 있는 단위 테스트 결과이다. 드로이드 나이츠 2023 앱에서 이런식으로 PR에 대해 테스트를 자동화하는 것을 보고 "멋지다"고 생각했다. 이전에도 한 번 따라해 보려 했으나, 테스트 결과의 성공 실패 여부만 나오고 위와 같이 결과 보고서를 만들어주지는 않았다. 내적인 이유는 멋지다였고, 표면상의 이유는 개발 주기에 테스트를 포함함으로써 서비스의 퀄리티를 높이는 것이다. 요즘 단위 테스트에 대해 공부하고 있기도 하니, 이번에 진행중인 프로젝트에서 단위 테스트로 멋지게 작성할 예정이다. GitHub Actions를 이용한 테스트 자동화 이 글에서는 위 사진처럼 GitHub actions를 활용하기 위한 방법에 대해 살펴볼 예정이다... 2023. 11. 15.
[부스트캠프 웹・모바일 8기] 그룹 프로젝트 시작 (안드로이드) https://github.com/boostcampwm2023/and04-catchy-tape GitHub - boostcampwm2023/and04-catchy-tape: 📼 📼. Contribute to boostcampwm2023/and04-catchy-tape development by creating an account on GitHub. github.com 부스트캠프 마지막 과정인 그룹 프로젝트가 시작되었다. 위 리포지토리에서 진행하고 프로젝트 진행 과정을 외부인이 확인할 수 있도록 상세하게 정리될 예정이니 많관부! 문서 공개 학습 스프린트는 규정상 내용을 공개할 수 없었지만, 그룹 프로젝트는 가이드에 따라 GitHub를 프로젝트와 관련된 많은 내용들을 공개해야 한다. 우리 팀은 일정 관리를 .. 2023. 11. 8.
[Android] 네트워크 요청을 처리하는 여러 가지 방법 (Retrofit2, 비동기 처리) 참고사항 : 이 글은 Coroutine 위주로 설명하고 있으며, ReactiveX 라이브러리에 대해서는 설명하지 않는다. Retrofit의 활용 방법 위주로 설명하고 있으며, 코루틴이나 상태 관리 방법에 대해 자세히 다루지는 않는다. 개인적인 의견이 포함되어 있으므로 정답을 찾는다는 생각보다는 참고 코드 정도로 활용하는 것이 좋다. 0. 잡담 "안드로이드 retrofit"이라고 검색하면 약 10번째에 과거에 작성했던 내 글이 나온다. ("android retrofit" 검색은 약 40번째) 해당 글은 응애 시절에 작성했던 글로 적절하지 않은 내용을 소개하고 있다. 부끄럽게도 누적 조회수가 1000을 넘겼다. 그래서 더 정확한 내용을 소개하기 위해 새로 작성하게 되었다. 정확하지 않은 내용을 작성하더라도 .. 2023. 10. 15.
컨퍼런스 참여하고 모은 노트북 스티커 사실 컨퍼런스는 스티커 모으려고 간다 원래 3개월 전에는 위와 같은 상태였는데, 사회적 거리두기가 끝나고 안드로이드 컨퍼런스도 활발하게 열려서 스티커 모을 기회가 많았다. 규칙 없이 붙이다 보니 더 이상 붙일 공간이 없는 상태에 이르렀는데... 몇 개를 떼어 내고 아래 사진과 같이 마이그레이션 했다. 수평으로 붙이려 했으나 기울어진 게 보이거나 글자 위주 스티커 일부를 떼어 냈다. 글자보다는 캐릭터가 더 예쁜 것 같다. 수평으로 붙이고 싶지만 조금만 비뚤어져도 티가 확 나서 붙이기가 쉽지 않다. 굿즈로 받은 라인 스티커와 드로이드 나이츠 스티커가 마음에 든다. 당황해서 땀 흘리는 뒤통수 너무 귀엽지 않나? 사실 네부캠 슬랙에도 자랑하고 싶었는데, 드로이드 나이츠는 화요일에 갔다온 거라 자랑할 수가 없었다.. 2023. 10. 3.
말하는 방식을 바꿔서 학습하기 SW마에스트로에서 멘토님께 들었던 얘기 중 "들은 얘기", "~인 것 같다"는 책임을 회피하는 말이라는 얘기를 들었다. 그때 조금 센 단어를 사용하기는 했는데, 인상에 남기도 하고 도움이 되는 얘기였다. 물론 저 단어를 사용하지 말라는 얘기라고 생각하지도 않고, 저때 어떤 책임이 있던 상황도 아니었다. 정확한 맥락은 기억나지 않지만 단순히 토론하다가 정보의 정확성을 얘기할 때 "~에게 들었다"라고 답한 상황 정도로 생각하면 된다. 저 말을 들은 이후로 비슷한 말을 하게 될 때마다 생각 나는 것 같다. "왜 내가 이 단어를 쓰려고 할까?" "안 쓰려면 어떻게 해야 하지?" 등을 생각했다. 누가 얘기했든 확신이 있었다면 이런 수식어를 붙이지 않았을 것이다. 내가 습득한 정보를 지식으로 만들지 않고, 혹은 내.. 2023. 9. 1.
[Android] Compose를 이용한 애니메이션 ※ 완성되지 않은 코드입니다. 참고만 해주세요. 애니메이션을 넣게 된 계기 넥스터즈에서 비교적 작은 규모의 프로젝트를 진행하게 되어서 디자이너 분께 애니메이션 같은 인터렉션을 넣어도 괜찮다고 말씀드렸다. 그 결과 구현하게 된 UI는 위와 같다. 애니메이션은 대략 위와 같고 디테일은 아직 잡혀있지 않은 상태이다. 코드도 아직 정리되어 있지는 않다. 돌아가는 형태의 UI가 있고, 토글(?) 버튼을 누르면 펼쳐져서 한 번에 많은 폴더를 확인할 수 있다. 토글버튼을 눌렀을 때 확장되는 애니메이션을 제외하고는 사실 그래픽 요소이다. 단계별로 구현하자 아무래도 한 번에 구현할 수 있는 UI는 아니어서 단계별로 나누어 구현했다. 위 사진은 노션에 대충 휘갈겨 놓은 내용으로 나만 알아볼 수 있다. 막상 구현해 보니 어.. 2023. 8. 19.
부스트캠프 웹・모바일 8기 - Android 회고 어쩌다 부스트캠프를 하게 되었을까? 지원 준비를 많이 하지는 않아서 합격 후기는 따로 작성하지 않았다. 그때 취업과 공부(네부캠) 중 고민하던 때라서 한 군데에 올인하기보다는 되는대로 가자는 마음도 있었던 것 같다. 근데 네부캠을 위한 준비를 안 했을 뿐이지 솔직히 자소서 잘 쓴 거 같다. 코딩 테스트는 조금씩 꾸준히 연습하고 있었다. 사실 붙을 줄 몰랐다. 코딩테스트를 정량적으로만 평가한다면 아마 떨어졌을 것 같은데 정성적으로 평가한 것 같다. 정성이 많이 들어갈 듯하다. 1차 코딩테스트는 다 풀었고 2차 코딩테스트는 한 문제 정도 풀었다. 풀긴 했지만 히든 TC 돌리면 정답은 0문제일 것이다. 사람은 약간 힘들어야 성장하기에 가장 좋다고 생각한다. 나만 그럴 수도...? 부스트 캠프 챌린지 후기를 찾.. 2023. 8. 11.