분류 전체보기(80)
-
Kotlin testable code
모든 개발자들의 숙명여전히 테스터블한 코드 하하 (지도 못 짬) 그래서 대충 긁어와봤다 1. 인터페이스를 사용할것인터페이스란? 구현 요구 사항을 위한 빈 껍데기. 캡슐화할때 습관적으로 써야한다~~~~ 좋은 테스트 환경을 만들기 위해서는 구현 클래스가 인터페이스를 받아 구현함으로써 규칙에 맞게 개발되도록 해야한다 // interface interface LoginRepository { fun signIn(authId: String): String } // concrete implementation class class LoginRepositoryImpl: LoginRepository { overide fun signIn(authId: String): String { // implementation logi..
2023.11.30 -
Notion TASK to Git
Notion TASK to Git💡현재 git issue state는 issue open → notion table 동기화로 되어있음 여기에 추가적으로, 스프린트(개발 그룹)이 시작된 task에 한하여 issue를 자동으로 만들어주는 스크립트를 작성하고자 함 스택jsnotion clientgithub rest apioctokit 요구사항상태가 진행 중인 task를 가져갈 것플랫폼이 android 인 task를 가져갈 것task에서 뽑아낼 내용은 task id + task title → issue title같은 id를 가진 issue 는 skip. 만들지 않을 것문서, 회의 등을 제외시킬것이슈 대응 및 신규 개발로 구분된 task만 등록할것 개발내용초기 세팅루트의 .env 파일에 아래 속성 추가NOTION..
2023.11.01 -
Kotlin flow 병렬로 장기 작업 실행
작업 가져오기특정 날짜에 결석한 학생 테이블에서 학생 정보 가져오기물리학을 공부하는 학생 목록 가져오기 // 결석 학생 목록을 가져오는 suspension 함수를 정의합니다. stop fun getAbsentStudents (date: Date ) : List { // 결석 학생 목록을 가져오기 위해 장기 실행 작업을 수행합니다 . // 결석 학생 목록을 반환합니다 . } // 물리학을 공부하는 학생 목록을 가져오기 위해 일시 중지 함수를 정의합니다. suspens fun getPhysicsStudents () : List { // 물리학을 공부하는 학생 목록을 가져오기 위해 장기 실행 작업을 수행합니다. // 물리학 학생 목록을 반환합니다. } / / 두 가지 정지 함수의 실행을 병렬화하는 흐름을 정의..
2023.11.01 -
Compose Viewpager
주요 기능 선택한 항목이 컨테이너 중앙에 배치됩니다.호출기는 수평 또는 수직으로 스크롤할 수 있습니다.항목은 컨테이너 크기의 일부를 차지할 수 있으므로 인접한 항목이 측면에 정점에 있을 수 있습니다.사용자가 첫 번째 또는 마지막 항목을 지나 스크롤할 수 있도록 항목을 초과하는 것이 가능하지만 호출기는 항목을 다시 중앙에 배치하도록 재설정됩니다.항목 간의 구분을 지정할 수 있습니다.처음에 어떤 항목이 중앙에 배치될지 나타낼 수 있습니다. Pager@Composable fun Pager( // 1 items: List, // 2 modifier: Modifier = Modifier, // 3 orientation: Orientation = Orientation.Horizontal, // 4 initialIn..
2023.11.01 -
Avoiding recomposition
Recomposition 입력 매개변수 또는 외부 상태의 변경에 따라 함수를 재구성하고 호출 하는 것. compose의 기본 개념 Stable parametersString, Int, Float, ImmutableList Unstable parametersList, Map, Set , var ( Data classes) Avoiding Recomposition@Stable 사용값이 관찰 가능해지며, 값이 변경되면 알림이 전송됨@Stable data class Contact(var flag: MutableState = mutableStateOf(false))→ flag변수의 값이 변경될 때만 recomposition @Immutable 사용값이 절대 변경되지 않을 것이라고 약속하는 annotation항목이..
2023.11.01 -
UI Testing (with Jetpack Compose)
종속성 추가 dependencies { [...] testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.compose.ui:ui-test-junit4' debugImplementation 'androidx.compose.ui:ui-test-manifest' } 테스트 클래스 만들기 테스트하려는 기능을 마우스 오른쪽 버튼으로 클릭 UI 요소를 테스트할 예정이므로 androidTest 패키지 에 작성해야함 클래스 생성 완료 테스트 작성 아래는 @RunWith(), @Before, @Get, @Text를 사용한 예제이다. 클래스의 첫 번째 주석을 활용하여 JUnit 4로 실행하고, 두 번째 주석을 사용하여 구성 가능한 구성 요소..
2023.10.23