GDG Android 에서 주최한 시험인 안드로이드 탐구영역에 응시했습니다!저도 GDG 의 일원으로 온오프라인 행사를 주최하고 있지만GDG Android 분들은 어떻게 이런 신박한 기획을 생각하고 추진하셨을까 정말 대단하다고 생각됩니다. https://android-exam25.gdg.kr/ 2025학년도 안드로이드 탐구영역1. 모집 개요 목적: 안드로이드 개발에 대한 학생들의 열정을 키우고, 실력을 평가하여 미래 IT 인재를 발굴합니다. 대상: 안드로이드 개발에 관심 있는 전국의 현·신입 누구나 일정: 접수 기간: 2android-exam25.gdg.kr 시험 준비 저는 토요일마다 종종 모각코를 하러 갑니다!12월 7일 답안 제출 마감날에도 모각코를 하러 갔죠. 다른 분이 코딩하고 있을 때 혼자 문제..
분류 전체보기
들어가기 전에 저에게 있어 2024년은 1월 1일부터 시작하지 않았습니다.우아한테크코스가 끝나는 2023년 11월 말부터 시간은 다르게 흘렀기 때문이죠.그렇기 때문에, 아직 2024년이 한달 남은 현 시점에 1년 회고를 작성하고자 합니다. 2024년은 제게 취업이라는 큰 산이 있었기 때문에 조금은 특별한 1년이었을지 모르겠네요.2023년 12월 우아한테크코스 안드로이드 과정 그 10개월의 긴 기간이 지나고 부산으로 돌아오게 되었습니다. 페스타고, 그 두 번째 시작 페스타고는 우아한테크코스에서 시작한 대학교 축제 티케팅 & 라인업 검색 애플리케이션입니다. 우아한테크코스가 끝나고 페스타고 팀원 중에 취업한 사람도 있었고 그렇지 못한 사람도 있었습니다.페스타고 팀원들과 함께하면서 얻은 것이 너무 많았습니다...
페스타고 인기 축제 목록의 중첩된 페이지를 어떻게 개발했는지 공유하려고 합니다. 디자인은 다음과 같습니다. 이는 크게 두 가지로 나누어 생각해볼 수 있습니다. 앞으로 이 부분을 ForegroundPager, BackgroundPager 라고 칭하겠습니다. 1. ForegroundPager : 화면 앞 부분에서 페이지를 넘길 수 있고 이전, 이후 아이템을 미리보기 가능2. BackgroundPager : 앞 페이지가 선택되면 변경되는 배경 부분 Foreground 부분은 ViewPager, Background 부분은 ImageView 를 사용하면 되겠다 생각했습니다. ForegroundPager 페이지 형태의 화면을 구성해야 할 때 다음과 같은 보기가 있습니다. Android View : ViewPag..
페스타고가 출시되었습니다!어느 대학 축제에 어떤 아티스트가 오는지,어떤 아티스트가 어느 대학 축제에 가는지,궁금하다면...지금 바로 페스타고! [Android]https://play.google.com/store/apps/details?id=com.festago.festago 페스타고 - 대학 축제, 가수, 공연, 아이돌 - Google Play 앱전국 대학 축제 검색 플랫폼 페스타고, 대학 축제를 더욱 즐겁게!play.google.com [iOS]24.05.15 coming soon.. 오늘은 페스타고 개발 중 개발 서버와 연동하고 생긴 문제를 어떻게 개선하였는지 전달하고자 합니다. 평화롭게 개발하던 중.. FakeRepository 에서 DefaultRepository 로 의존성을 변경해주었는데....
5개월 동안 버전 2를 위해 달려온 페스타고 개발.. 드디어 버전 2.0.0 개발을 완료했고 테스트에 돌입했다. 1. 첫 번째 테스트와 버그 : Firebase Test Lab Key 로 서명해 만든 APK 파일을 Test Lab 에 등록하면 실물 기기가 없는 환경에서 자동 테스트를 돌릴 수 있다. 한 번도 사용해보지 않았는데 이번에 처음 사용해보았다. 어떤 식이냐 하면... Robo Test 로 예시를 보여주겠다. 잠깐! Robo Test 란? Firebase 공식문서https://firebase.google.com/docs/test-lab/android/robo-ux-test?hl=ko 앱 UI 를 분석해 사용자 활동을 시뮬레이션해서 탐색한다! 그러니깐...따로 UI 테스트를 작성하지 않아 계측 ..
재밌는 기획도 많이나오고 팀끼리 열심히 해보겠다는 열정이 느껴져서 좋았습니다! 다만.. 협업에 관해서 얘기하는 팀이 없어 아쉬웠습니다. 시작 발표까지 시간이 일주일 밖에 없었기도 하고 처음인 분들은 좀 어려울 수 있었겠죠? 이해합니다. 개발이 좀 익숙한 분들이나 처음이지만 도전하고 싶으신 분들은.. 개인이 아닌 “팀” 이기 때문에 가능한 것들에 도전해보는건 어떤가요? 예시) Branch 전략은 이걸 사용하기로 했다. 혹은 이렇게 만들었다. 코드 컨벤션, 커밋 컨벤션은 이렇다. 팀 그라운드 룰 정하기 (회의할 때 높임말을 사용할 것이다, 사회자 및 서기는 이렇게 정할 것이다 등) 핵심 기능에 한해서는 같이 한 노트북으로 개발해보기 (몹 프로그래밍, 페어프로그래밍) 클라이언트 개발자와 서버 개발자가 페어프로..
들어가기 전에 안드로이드에서 DataStore 를 사용할 때 암호화, 복호화를 어떻게 처리해야할지 고민이라 찾다가 이 영상을 먼저 보는게 좋다고 하길래 정리해봅니다. FULL Guide to Encryption & Decryption in Android (Keystore, Ciphers and more) https://www.youtube.com/watch?v=aaSck7jBDbw Encryption & Decryption with KeyStore 예를 들어서 비밀번호를 매번 기억해서 입력하기 힘드니깐 자동 저장한다고 생각해봅시다. 그럼 핸드폰에 접근해서 누군가 비밀번호를 볼 수도 있겠죠..? 그 경우를 방지해서 중요한 정보를 저장할 때 Key 를 사용해 저장합니다. 데이터를 읽거나 쓸 때 Key 가 있..
시작하기 전에 현재 페스타고 앱은 토큰 관리를 EncryptedSharedPreferences 로 하고 있다. 그러나 공식 문서는 SharedPreferences 를 DataStore 로 이전할 것을 권장한다. 이전하기 전에 DataStore 가 무엇인지 공부해보자! 이 글은 안드로이드 공식 문서를 바탕으로 작성되었습니다. https://developer.android.com/topic/libraries/architecture/datastore?hl=ko https://developer.android.com/codelabs/android-preferences-datastore?hl=ko DataStore 란? DataStore 는 Protocol Buffer 를 사용해 Key - value 쌍 또는 유형..
벌써 2023년이 지나간다. 있었던 일들을 회고해보자.. 10개월 동안 우아한테크코스에서 대부분의 시간을 보냈기 때문에 그 내용이 많을 것 같다. 우아한테크코스 Lv 1 우테코 레벨 1은 신선한 충격이었다. 레벨 1은 우테코 학습 방식에 적응하면서 Kotlin 언어, TDD 와 디자인 패턴에 몰입해 공부했다. 현직자 리뷰어 분들이 내 코드를 리뷰해주시는 것도 좋았고 제이슨(박재성님)의 강의는 그냥 미쳤다... 이런 귀한 강의를 무료로 들을 수 있다는건 축복이었다. 제이슨 그는 신이야 특히 레벨 1 데일리 미팅 담당 코치님이 제이슨이라서 주변에서 좋은 말씀도 많이 듣고 4기 선배님들도 만나고 너무 재밌었다. 오목 미션을 상태 패턴으로 구현하고 크루들 앞에서 라이브 코딩하는 경험도 했다. 아 그리고 온보딩 ..
들어가기 전에 컴포즈 Codelab 기초 따라하기 - 1 후속편입니다. https://seonghoonc.tistory.com/44 본 글은 Jetpack Compose Codelab basics 의 상태 호이스팅 이후를 다루고 있습니다. https://developer.android.com/codelabs/jetpack-compose-basics?hl=ko#7 상태 호이스팅 여러 컴포저블 함수가 읽거나 수정하는 상태는 공통된 상위 항목에 위치해야한다. 이를 상태 호이스팅이라고 한다. 호이스팅은 들어올린다 or 끌어올린다라는 의미라고 한다. 상태를 호이스팅의 장점 - 상태 중복 및 버그 발생을 방지할 수 있다. - 컴포저블을 재사용할 수 있다. - 쉽게 테스트할 수 있다. 그러나 상위 요소에서 제어할 필..