본문 바로가기

전체 글

(74)
postgresql에서 auto increment 설정(자동 index증가) My Sql에서는 sequence번호를 자동으로 생성해주는 auto increament 기능이 있어서 편하게 사용했다. 최근 postgrespostgresql를 관계형 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_seq OWNED BY example_t..
mysql 접속이 느려졌을 때 대처방안. 어느날 mysql에 접속하려고 하니 접속이 현저히 느려진 현상이 발생했습니다. 이유를 몰라 구글링을 하던 중 다음과 같은 해결방법을 찾게 되었습니다. mysql.cnf (환경에 따라 파일명이 조금씩 다를 수 있습니다.)의 설정을 변경하는 것인데요. 해당 환경설정 파일에서 다음을 추가해주세요. [mysqld] skip-name-resolve 추가 후 mysql을 재시작 해주세요. 원인은 방화벽, 인터넷 환경, 라우팅 등 다양하게 있겠지만 한가지의 원인으로 외부에서 database 접근시 DNS의 문제가 있을 수도 있으며 해당 설정은 DNS호스트 이름 검색을 사용하지 않도록 설정하는 것이라고 합니다. 저의 경우는 해당설정을 하고 나니 이전 보다는 빠른 접속이 가능해졌습니다.
postgresql에서 connect by 를 써보기. 오라클에서는 달력일자를 가져오는 쿼리를 구현할 때 connect by를 쓰면 쉽게 원하는 결과를 출력할 수 있습니다. select to_char(trunc(current_date, 'MM') + LEVEL -1, 'yyyy-MM-dd') from dual connect by level
디지털오션 초대코드 ( Digital ocean Referrals) https://m.do.co/c/cdf53d83c38e DigitalOcean – The developer cloud Helping millions of developers easily build, test, manage, and scale applications of any size – faster than ever before. www.digitalocean.com 디지털 오션에 따르면 해당 주소로 접근하여 회원가입을 하게되면 60일동안 사용가능한 100달러상당의 금액을 충전해준다고하네요. 참고로 가장저렴한 머신이 한달 5달러정도로 사용가능합니다. Everyone you refer gets $100 in credit over 60 days.
configChanges 앱 runtime중 환경에 변화가 일어나면 실행중인 activity는 destory되며 재시작됩니다. 이때 activity가 재시작되는 것을 원치 않을때에는 manifest에 android:configChanges의 attribute에 알맞은 값을 넣어서 재시작을 방지합니다. attribute의 속성은 다음과 같은 종류가 있습니다. mcc : SIM 이 Detect 되고 MCC 가 Update. ( IMSI Mobile Country Code가 변한 경우) mcc : SIM 이 Detect 되고 MNC 가 Update. ( IMSI Mobile Network Code가 변한 경우 ) locale : 새로운 언어(Locale)를 변경했을 때 touchscreen : Touch Screen Hardware ..
build.gradle 쉽게 관리해보자. 프로젝트 개발을 하다보면 build.gradle에 여러가지 작업을 해야합니다. 기존적인 앱설정, 라이브러리의 추가 등등.. 이번에 개발한 프로젝트에서는 추가한 sdk들이 너무 많았고 그로인해 추가해야할 설정값들이 많았습니다. 관리적 측면에서 build.gradle에서 BuildConfig에 추가하여 관리하는 것이 낫다고 생각했습니다. apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { compileSdkVersion 28 defaultConfig { applicationId "com.tes..
okhttp3를 이용하여 재인증하기(refresh token) 지난시간에는 retrofit2와 okhttp3의 해더를 이용해 인증하는 방법에 대해서 알아보았습니다. https://akaisun.tistory.com/72 retrofit2를 사용하여 Authorization 인증하기 앱에서 서버와 통신할 때 사용자의 인증이 필요한경우 해더에 Authorization를 넣어 통신한다. Authorization에도 BearerToken, ApiKey, OAuth2.0등 여러가지 종류가 있다. 그럼 어떻게 해더에 Authorization를 넣.. akaisun.tistory.com 앱에서 서버로 인증할때는 OAuth 2.0방법을 가장많이 사용하는데 이에 대한 설명은 아래의 링크를 참조해주세요. https://oauth.net/2/ OAuth 2.0 — OAuth OAuth..
retrofit2를 사용하여 Authorization 인증하기 앱에서 서버와 통신을 할 때 사용자의 인증이 필요한 경우가 있습니다. 이럴 경우에는 해더에 Authorization를 추가하여 인증된 사용자만 정보를 취득하도록 합니다. Authorization에도 BearerToken, ApiKey, OAuth2.0등 여러가지 종류가 있습니다. 그럼 어떻게 해더에 Authorization를 넣을까요? 제가 즐겨쓰는 retofit2와 okhttp3를 이용하여 알아보도록 할게요. 먼저 retorfit2의 custom header를 사용하여 추가하는 방법입니다. public interface ApiService { @Headers("Authorization: your auth token") @GET("/test") List getTestData(); } 또 다른 방법으로는 ..