본문 바로가기

db

Room에서 LiveData사용과 paging처리 Room을 이용하여 내부에 대량의 데이터를 저장할 경우. 저장된 데이터를 페이징처리를 통하여 효율적인 리스트를 표현하는 것이 좋다. Dao @Query("SELECT * FROM table") abstract fun selectList() : DataSource.Factory 페이징처리 부분 val config = PagedList.Config.Builder() .setInitialLoadSizeHint(20) //최초 로드사이즈는 20개 .setPageSize(10) // 페이징당 10개 .setPrefetchDistance(10) // 10개마다 다음페이지를 미리불러오기 .setEnablePlaceholders(true) .build() var pagedItems = LivePagedListBuild.. 더보기
SharedPreferences 똑똑하게 사용하기. 예전에 우리가 자바에서 사용하던 방법 SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = preferences.edit(); editor.putString("key","value"); editor.apply(); 코틀린으로 사용하면? private val pref = PreferenceManager.getDefaultSharedPreferences(context) @Suppress("IMPLICIT_CAST_TO_ANY") fun get(key: String, defaultValue: T): T { return when (defaultValue).. 더보기
postgres auto increment 설정 My Sql에서는 sequence번호를 자동으로 생성해주는 auto increament 기능이 있어서 편하게 사용했다. 최근 postgres를 관계형 DB로 사용할 기회가 생겨 테이블 스키마를 생성하던 중 해당 문제에 직면하였고 해결하였기에 기록을 하고자 글을 쓴다. 코드의 예시는 다음과 같다. CREATE SEQUENCE example_id_seq CREATE TABLE example_table (id integer NOT NULL DEFAULT nextval(example_id_seq) PRIMARY KEY,name varchar NOT NULL,nick varchar NOT NULL) ALTER SEQUENCE example_id_seqOWNED BY example_table .id 더보기
mysql 원격접속 허용하기 원격접속 허용 명령어 mysql에 접속한다.grant all privileges on *.* to '계정명'@'%' identified by '비밀번호'; flush privileges; my.cnf 에서 다음을 수정한다.bind-address = 0.0.0.0 더보기