애플리케이션 뒤로가기 버튼 history back 이슈
·
Etc
애플리케이션 이슈를 확인하던 중 모바일 기기의 뒤로 가기 버튼을 클릭하면 무작정 history back이 되는 현상을 확인 물론 뒤로가기 버튼을 누르면 history back이 되어야 하는 것이 맞지만 특정 상황 예를 들어 회원가입 후, 로그인 이후 등과 같은 상황에서 홈 화면으로 리다이렉트 된 이후 뒤로 가기 버튼을 누르면 다시 해당 페이지로 가게 되는데 굉장히 불편한 상황을 만들어내는 것 같아 이 녀석을 수정하기로 마음을 먹었다. 그래서 홈 화면으로 리다이렉트 되었을 경우 history를 전부 지워 뒤로 이동할 곳을 없애고 홈 화면에서 뒤로 가기를 누르면 무조건 어플이 종료되게끔 구현해 보았다. @Override public void onPageFinished(WebView view, String u..
Jenkins 설치해보기
·
Server/Jenkins
젠킨스란? 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 tool (CI - Continuous Integration) 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하다. 젠킨스는 왜 사용할까? 로컬에서 개발한 코드를 직접 서버에 올린 뒤 쿠버네티스 클러스트에 컨테이너로 배포한다는 것은 말도 안 된다. But, 쿠버네티스 위에 CI/CD pipeline을 만들면 로컬에서 어플리케이션 개발 후 git에 push하면 자동으로 서버 내 쿠버네티스 클러스에 배포된다. CI/CD pipeline 구성도 젠킨스의 장점과 단점에는 무엇이 있을까? 동적 Jenkins 장점 쉽게 확장할 수 있다. 고..
Ubuntu 20.04 Waiting for cache lock: Could not get lock /var/lib/dpkg/lock. 오류
·
Etc
젠킨스를 활용하기 위하여 우분투에 java를 설치하려던 중 Waiting for cache lock: Could not get lock /var/lib/dpkg/lock. 해당 오류가 무한 반복되며 정상적으로 다운로드가 안 되는 현상을 목격하였다. 이런 경우 잠긴 캐시 파일을 삭제해준 뒤 진행하면 문제없이 작동한다. sudo rm -rf /var/cache/apt/archives/lock sudo rm -rf /var/lib/dpkg/lock*
Git stash - 작업 내용 임시 저장하기
·
Etc
스터디를 진행하던 도중 급하게 pull을 받아야 하는 상황이 생겼는데 변경사항이 있어서 pull을 받기 전에 완성하지 않은 코드를 push 해버린 경험이 있는데 그런 불상사를 방지하고자 git stash라는 명령어를 알게 되었다. 그래서 git stash가 무엇인가? git stash는 결국 마무리 하지 않은 작업을 stack에 잠시 저장할 수 있도록 해주는 명령어이다. 이를 통해서 완료되지 않은 일을 commit 하지 않고도 다시 꺼내와 마무리 할 수 있다. 어떻게 사용할까? 저장을 하기 위해서는 아래 명령어만 입력하면 된다. git stash 이후 저장이 되었는지 확인하기 위해서 아래 명령어를 입력하면 git stash list stash@{0}: WIP on master: 44a2943 ... 위와..
Docker Image 생성 및 배포하기
·
Server/Docker
Docker Image를 만들기 전에 Dockerfile을 먼저 작성해준다. Dockerfile이란? Dockerfile은 스크립트처럼 모든 명령을 포함하는 코드 조각으로 Docker Image를 생성하기 위해 실행되어야 한다. Dockerfile 구조 Dockerfile은 파일 이름을 'Dockerfile'로 해야 한다. FROM: 베이스 이미지 [어떤 이미지를 기초로 할 것인지] RUN: Dockerfile로부터 Docker Image를 빌드하는 순간 실행되는 명령어 [주로 라이브러리 설치에 활용] ENTRYPOINT & CMD: Docker Image로부터 컨테이너 생성하여 최초로 수행 ENTRYPOINT: 해당 컨테이너가 수행될 때 반드시 ENTRYPOINT에서 지정한 명령을 수행 CMD: 컨테이..
Django Rest Framework란?
·
Python/Django
최근 회사 내 스터디를 통해 Django Rest Framework를 사용하게 되었는데 아무것도 모르는 상태에서 무작정 로직을 구현하려 하니 복잡한 게 이만저만이 아니었다 그래서 이참에 DRF에 관해서 공부를 해보기로 했다. DRF Django 안에서 Restful API 서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리 (REST: HTTP의 URL과 HTTP method를 사용하여 API 사용 가독성을 높인 구조화된 시스템 아키텍처) Rest API 흐름 1. Model 만들기 일반적으로 우리가 Django에서 모델을 정의하는 것처럼 만들면 된다. --------- 여러가지 import 내용들 --------- class 모델명(models.Model): ... 모델 정의 def __str_..