본문 바로가기

▶개발59

[Django Rest API 오류해결] ModuleNotFoundError: No module named 'rest_framework_swagger' ModuleNotFoundError: No module named 'rest_framework_swagger' 장고서버를 키려고 manage.py를 이용해 runserver를 하니 위와 같이 터미널에서 에러메시지가 출력됐다. swagger와 내가 만들었던 app 'login'이 붙어있어 의아했다. 구글링해보니 swagger의 버전이 업그레이드되면서 urls를 사용하는 방식의 변화가 생긴 것 같다. 이전 방식은 아래와 같다. url 패턴에 get_swagger_view를 직접 사용했다. from django.conf.urls import url, include from django.contrib import admin from rest_framework import routers from rest_fram.. 2018. 7. 30.
[Android] 레이아웃 인플레이터(LayoutInflater)란? LayoutInflater를 이해하기 전에 inflater에 대해서 미리 알아야 한다. 우리는 안드로이드 개발을 하게 되면 대개 먼저, 화면을 정의하는 xml 코드를 작성한다. 위 예시에서는 버튼과 텍스트뷰를 화면에 배치했다. 그러나 xml코드만으로는 안드로이드의 제 기능을 발현할 수 없고 완성된 어플리케이션이라고 할 수 없다. 가령 예를 들어 버튼을 클릭하여 다른 액티비티로의 전환이나 다양한 기능들을 제공하고 싶다면 java 클래스 파일도 같이 필요하다. 이렇게 안드로이드 개발에는 XML 소스코드와 JAVA 클래스 파일이 한 쌍을 이루는 것임을 이해하면 된다. 그러나 실제 개발에 들어간 우리는 다양한 XML과 JAVA 소스코드 파일을 접하게 된다. 그렇다면 어떤 XML 코드가 JAVA파일과 쌍을 이루는.. 2018. 7. 11.
[Android] Dialog Message 기본 만들기 안드로이드 스튜디오, Dialog Message 기본 만들기 앱 어플리케이션을 이용하다보면 앱 종료시 위의 이미지와 같은 대화상자를 더러 볼 수 있다. 이 메시지 창은 다이얼로그 메시지로 불린다. 위의 상황에서는 사용자가 실수로 앱의 종료버튼을 누르더라도 다이얼로그 메시지를 통해 다시 한 번 되물어, 사용자 편의성을 증대시킬 수 있는 기능을 제공하고 있는 것이다. 다이얼로그 메시지 적용법은 매우 간단하다. 크게 3가지 단계로 나눠진다. 첫 번째, AlertDialog.Builder를 통해 다이얼로그 메시지의 틀을 짠다.두 번째, 틀을 짠 다이얼로그 메시지를 AlertDialog에 적용한다.세 번째, 다이얼로그 메시지를 필요한 상황에서 show()한다.(단계별 분류는 코드 내 주석에 형광펜으로 칠함) im.. 2018. 7. 11.
안드로이드의 정확한 UI 표현 레이아웃 ScalableLayout ScalableLayout 삼성 갤럭시 시리즈에서 s8부터 가로 사이즈를 줄이고 세로 사이즈를 늘린 '막대바' 형태의 디자인의 스마트폰이 줄줄이 나오기 시작했다. 각 제조사의 기기마다 서로 다른 화면비율을 갖고 있으니 UI구현에 있어 곤혹을 치를 수 밖에 없다. 그래서 다양한 비율의 화면에서도, 단 한 번에 정확한 UI를 표현하고 싶을 때 사용하는 라이브러리인 ScalableLayout이 등장했다. (ScalableLayout 깃허브 링크 : https://github.com/ssomai/ScalableLayout) ScalableLayout은 FrameLayout이나 LinearLayout 대신 이용될 수 있는 Layout이다. 그렇기에 ScalableLayout내의 위치한 view들에 대해서 상대적인.. 2018. 7. 3.
안드로이드 스튜디오에서 Gradle이란? #Gradle이란? 안드로이드 스튜디오를 통해 개발을 하게 되면 좌측 프로젝트 구성목록에 Gradle이라는 것을 쉽게 찾아볼 수 있다. Gradle은 간단하게 말하자면 빌드 시스템이다. 조금 더 설명하자면 모듈의 빌드방법이 정의된 빌드스크립트이다. 그렇다면 이 빌드시스템은 왜 필요할까? 안드로이드 개발을 하다보면 여러 라이브러리를 사용하게 된다. 라이브러리를 곁들인 개발은 효율성 측면에서 바라보자면 의무적으로 필요하다. 이전까지는 라이브러리를 사용하기 위해서는 .jar 파일을 다운로드받아 따로 설정해주는 작업을 진행해야했다. #Gradle의 필요성 시간이 지남에 따라 다양한 라이브러리가 생겨나고 이러한 것들을 일일이 다운로드받아 작업하기에는 개발자에게 있어 많은 피로감을 주게 된다. 그렇기에 라이브러리를.. 2018. 6. 26.
(AWS EC2 정리노트 #4) AMIs와 AWS Marketplace @AMIs와 AWS Marketplace+AMIs-인스턴스를 이미지화 시키는 것. 그 상태 그대로를 저장하는 것.-이미지화 시키고 싶은 인스턴스를 우측 선택->이미지->create image->이미지 정보입력->생성-이미지가 생성요청될 동안 저장하고자 하는 인스턴스가 일시적으로 정지됨-해당 이미지를 통해 새로운 인스턴스 생성하기 : 이미지 우측 클릭->launch(시작)-> 이미지화 시켰던 인스턴스의 스펙이 그대로 저장되어 있음을 볼 수 있음, 단 보안설정에서 그룹은 별도로 지정하여야 함->인스턴스 생성-패치작업을 한 후 웹페이지등이 작동하지 않을때 이전에 저장해놓은 이미지를 통해 이전 인스턴스로 돌아갈 수 있음. 이러한 이유로 AMIs를 사용함. +AWS Marketplace-타인이 생성한 이미지를 통.. 2018. 6. 22.
반응형