일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- PrototypePattern
- 함수형프로그래밍
- r
- material3
- El
- ㅓ
- factory method
- Singleton
- 안드로이드 디자인시스템
- Abstract Factory
- 팩토리 메소드
- 디자인패턴 #
- 추상 팩토리
- 프로토타입 패턴
- builderPattern
- Functional Programming
- ㅋㅁ
- Kotlin
- 빌터패턴
- 디자인패턴
- Design Pattern
- android designsystem
- F
- 추상팩토리패턴
- 옵저버 패턴
- designPattern
- Observer Pattern
- compose
- 싱글톤
- 코틀린
- Today
- Total
목록전체 글 (333)
오늘도 더 나은 코드를 작성하였습니까?
데이터베이스 인덱스(Database Index) RDBMS에서 대용량의 데이터(레코드)가 있을 때, 특정 데이터를 검색하기 위해서 테이블의 레코드를 full scan 하는 것이 아니라, 인덱스가 적용된 칼럼의 테이블(칼럼, 인덱스 주소)을 따로 저장해놓고 그것을 검색해서 검색 효율을 높이는 방법이다. 인덱스가 설정된 필드 값을 포함한 데이터의 삽입, 삭제, 수정 작업이 원본 테이블에서 이루어질 경우, 인덱스도 함께 수정되어야 합니다. 따라서 인덱스가 설정된 테이블의 처리 속도가 느려질 수 있습니다. 그러므로 인덱스는 수정보다는 검색이 자주 사용되는 테이블에서 사용하는 것이 더 좋습니다. FTS (Full-text Index) 문서의 내용 전체를 인덱스화해서 특정 키워드가 포함된 문서를 검색하는 전문(Fu..
Entity 생성 @Entity 애노테이션을 붙이고 프로퍼티를 생성함으로써 개체를 정의할 수 있다. @Entity data class User( @PrimaryKey var id: Int, var firstName: String?, var lastName: String? ) Database 클래스의 entities 배열을 통해 entity클래스를 참조해야 되고, 테이블로서 생성된다. 필드를 유지하려면 Room에서 필드에 액세스 할 수 있어야 합니다. 필드를 공개(public) 상태로 설정하거나 필드에 getter 및 setter를 제공할 수 있습니다. getter 및 setter 메서드를 사용하는 경우 이러한 메서드는 Room의 JavaBeans 규칙을 기반으로 합니다. *참고 : entity는 빈 생성..

Room은 SQLite에 대한 추상화 계층을 제공하여 SQLite의 모든 기능을 활용하면서 쉬운 데이터베이스 접근을 허용한다. 상당한 양의 구조화된 데이터를 처리하는 앱은 데이터를 로컬로 유지하여 대단한 이점을 얻을 수 있습니다 가장 일반적인 사용 사례는 관련 데이터를 캐싱하는 것입니다. 이런 방식으로 기기가 네트워크에 액세스할 수 없을 때 오프라인 상태인 동안에도 사용자가 여전히 콘텐츠를 탐색할 수 있습니다. 나중에 기기가 다시 온라인 상태가 되면 사용자가 시작한 콘텐츠 변경사항이 서버에 동기화됩니다. Room은 이러한 문제를 자동으로 처리하므로 SQLite 대신 Room을 사용할 것을 적극적으로 권장된다. 의존성 추가. dependencies { def room_version = "2.2.5" imp..
코틀린은 산술 연산자와 동일하게 원시 타입뿐 아니라 모든 객체에 대해 비교 연산을 수행할 수 있다. equals나 compareTo 를 호출해야 하는 자바와 달리 코틀린은 == 비교 연산자를 직접 사용할 수가 있어서 간결하게 코드를 작성할 수 있다. 동등성 연산자: equals class Point(val x: Int, val y: Int){ override fun equals(other: Any?): Boolean { if(other === this) return true // 최적화: 파라미터가 this와 같은 객체인지 확인. if(other !is Point) return false // 파라미터 타입을 검사한다. return x == other.x && y == other.y // 스마트 캐스트이..