본문 바로가기

분류 전체보기

(66)
Android Retrofit 사용하여 API 호출하기 1 Retrofit Retrofit는 REST 기반 웹 서비스를 통해 JSON 혹은 그 외의 데이터를 요청하고 응답받는 것을 쉽게 하는 라이브러리이다. Retrofit는 HTTP 요청을 OkHttp 라이브러리를 사용한다. Retrofit 문서 1.1 API 확인 https://baseURL.co.kr/user/login post{ id ="id", pwd="pwd" } 위와같은 API를 호출한다. API 성공 응답 { "success": true, "code": 0, "msg": "성공하였습니다.", "data": { "token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJWyJS9VUZXhwIjoxVpUhJBk03uo", "status": "A", "time": null } } AP..
Android Retrofit 인터셉터 사용하기 1 서론 인터셉터란 작업의 요청을 가로챈후 특정 작업을 하기위한 용도로 사용되는 역활을 수행한다. 예로 요청을 수행할때 로그를 출력한다거나 요청을 할때 반드시 필요한 선행작업이있다면 인터셉터를 사용하여 처리하는경우가있다. 이 글에서는 로깅 작업과 필수파라미터 를 인터셉터로 처리해볼것이다. 2 준비 작업 2.1 의존성 추가 implementation 'com.squareup.okhttp3:logging-interceptor:4.8.1' 2.3 Retrofit Client 준비 object RetrofitClient { private var retrofitClient: Retrofit?=null fun getClient(baseUrl:String):Retrofit?{ if(retrofitClient == n..
Android Floation Widget 구현하기 요구사항 및 구현 방법 앱 밖에 표시되는 즉 안드로이드 디바이스 화면 에 표시되는 view를 만들고싶다. 화면위에 그리기 원한을 사용한다. 서비스에서 view를 호출한다. 구현 1. 권한 화면위에 그리기 권한과 안드로이드 오레오 이상에서 서비스를 호출하기위한 포그라운드 서비스 등록 2. 권한획득 및 서비스 호출 class MainActivity : AppCompatActivity() { private val serviceIntent by lazy { Intent(this, ImmortalService::class.java) } companion object { private const val ACTION_MANAGE_OVERLAY_PERMISSION_REQUEST_CODE = 1004 } @Require..
Android 다크모드(Theme 사용) 적용하기 1 서론 Android 10부터 Dark theme를 지원하기 시작하여 이제 앱은 기본적으로 밝은 화면, 어두운 화면을 둘 다 제공해야 한다. 해당 글에서는 기본적으로 제공하는 테마에서 원하는 color이나 style 등을 적용시키는 방법을 알아볼 것이다. 2 Android Theme 2.1 기본 Theme Android 프로젝트를 생성하면 이제는 위와 같은 Theme를 제공한다. colorPrimary, textColorPrimary, windowBackground, navigationBarColor 등등 머티리얼 테마에서 미리 정의가 되어있는 item을 기본 상태로 사용할 수도 있고 재정의하여 원하는 색으로 적용할 수 있다. 이것이 가능한 이유는 안드로이드에서 특정 위치의 색상이 직접 기입된 것이 아..
JIRA 사용+적용 하기 1. JIRA 이번 글에서는 처음 JIRA를 사용하는 사람도 쉽게 따라할수있도록 프로젝트 생성부터 시작해서 기본적인 커스터마이징까지 적용시켜볼것이다. 1.1 JIRA 란 JIRA는 원래 버그 및 이슈 트레커로 고안된 제품으로 지금은 에자일, 데브옵스 프로젝트를 협업하기 위한 도구로 많이 사용된다. 결국 어떠한 프로젝트를 협업하고 문서화하는 도구라고 할 수 있다. 1.2 JIRA를 통해 할 수 있는 일 JIRA는 팀원이 해야 할 일에 대한 워크플로를 정의하여 그에 따라 진행하고 서로의 상태를 확인 하거나 업무에 대해 계층적으로 표현하여 업무들을 정리할 수 있다 데이터를 기반으로 한 시각적인 표현으로 업무의 효율을 상승시킬 수 있다 2. JIRA 시작 2.1 프로젝트 생성 JIRA 에 가입후 프로젝트 생성을..
[Docker] 도커 시작하기 1. Docker 1.1 도커 Docker 는 리눅스 컨테이너 기반으로 하여 특정한 서비스를 구축, 테스트 및 배포를 할 수 있는 오픈소스 플랫폼이다. ​1.2 컨테이너 컨테이너란 격리된 공간에서 프로세스가 동작하는 기술로 가상화 기술 중 하나이지만 흔히 사용하는 VMware 같은 방식과는 차이가 있다. ​ 기존의 가상화 방식은 OS를 가상화를 하는 방식이었다. 호스트 OS 위에 가상의 하드웨어를 구축하고 그 위에 가상 OS를 구축하다 보니 무겁고 느리다는 큰 단점이 있었다. ​ 이를 해결하기 위하는 방법이 도커의 가상화라고 할 수 있다. ​ 호스트 OS 위에 도 커 엔진을 두어 리눅스 자체에서 제공되는 논리적인 분리 영역으로 컨테이너를 두어 각각의 환경을 격리시켜 사용한다. ​1.3 장점 서비스를 개발..
Ubuntu 를 Jupyter Notebook 로 접속하기 서버를 관리하다고면 CLI로 관리하기가 불편할 때가 있다. 특히 여러 창을 띄워야 할 때는 역시 GUI 만한 것이 없는데 이때 Jupyter Notebook을 이용하여 웹브라우저를 통해 Ubuntu에 접속하여 편하게 관리할 수 있다. 1. Jupyter Notebook 1.1 설치 sudo apt-get update sudo apt-get install python3-pip sudo pip3 install notebook 1.2 비밀번호 생성 출처 입력 웹 브라우저를 통해 Ubuntu에 접속하게 되었으니 지금 상태에서는 IP 만 알게 되면 누구나 접속할 수 있는 상태이다. 비밀번호를 적용시켜 아무나 접속하지 못하게 해야 한다. python3 >>> from notebook.auth import passw..
[JPA] JPA 란 1. JPA(Java Persistence API) 1.1 JPA 란 먼저 JPA 란 JAVA에서 제공하는 API로 ORM 기술의 표준 기술이다. 즉 자바에서 관계형 데이터베이스를 사용하는 방식인데 자바 클래스와 DB 테이블을 매핑하여 데이터베이스를 조작할 수 있게 해 준다. 1.2 ORM 이란? ORM 은 자바 객체와 DB 테이블을 맵핑하여 SQL을 작성하지 않고도 객체지향 언어에서 그대로 사용하는 것으로 DBMS 를에대한 종속성을 줄일 수 있다. 그대로 사용한다는 것은 SQL 쿼리를 직접 작성하는 것이 아닌 자동으로 생성하여 사용한다는 것이다. 1.3 JPA를 사용하는 이유 대부분의 프로그램이 어느 정도 기능을 하기 위해서는 당연하게도 데이터베이스를 사용해야 만한다. 결국 프로그램은 밖에서 데이터를 ..