전체 글 (272) 썸네일형 리스트형 이미지 pull https://youtu.be/EbTJtanJUfE 앱을 찾고 싶을 때 앱스토어에서 찾듯이, 도커 허브에서 필요한 소프트웨어들을 찾을 수 있다 앱스토어에서 다운받아 저장한 것이 프로그램이듯이, 도커 허브에서 다운받아 가지고 있는 것을 이미지로 부른다 프로그램을 실행하면 프로세스가 동작하듯이, 이미지를 실행하는 것을 컨테이너로 부른다 프로그램이 여러 개의 프로세스를 가질 수 있는 것처럼, 이미지도 여러 개의 컨테이너를 가질 수 있다 도커 허브에서 이미지를 다운받는 행위를 pull이라고 하며, 이미지를 실행시키는 행위를 run이라고 한다 https://hub.docker.com/ 도커 허브 주소 도커 허브로 가서 익스플로어 메뉴라 간 다음, 컨테이너에 보면, 매우 많은 컨테이너들을 볼 수 있다 아파치 웹 서.. 도커 설치 https://youtu.be/L3ZpudSF0HU 도커와 같은 컨테이너 기술은 리눅스 운영체제의 기술이다 도커 위에서 돌아가는 컨테이너, 컨테이너 안에서 동작하는 각각의 앱들은 리눅스 운영체제에서 동작하는 앱들이다 만약에 자신의 컴퓨터가 리눅스 운영체제가 아니라면, 윈도우나 맥에는 가상 머신을 깔고 그 가상 머신에 리눅스 운영체제를 깔면 리눅스 운영체제 위에서 도커와 같은 컨테이너 기술을 사용할수 있게 되는 것이다 도커가 알아서 가상 머신을 만들어주고 , 그 위에 리눅스를 설치해준다 이런 이유로 사용하고 있는 운영체제가 리눅스라면 그 위에서 바로 도커가 실행되기 때문에 성능 저하가 전혀 없다 윈도우나 맥은 가상 머신을 설치하기 때문에 어느 정도 속도 저하를 감수해야 한다 https://www.docke.. 도커 https://youtu.be/Ps8HDIAyPD0 내 컴퓨터에서 어떤 앱을 만들기 위해서는, 운영체제의 여러 소프트웨어를 설치해야한다 웹 개발을 한다고 하면, 웹 서버나 데이터베이스를 설치해야한다 그런데 설치하는 과정에서 문제가 생길 수 있다 웹 서버를 만든 사람이 컴퓨터를 구해서 적당한 운영체제를 깔고, 그 위에 웹 서버를 설치한 다음에 그걸 나눠 준다면 얼마나 좋을까 데이터베이스도 마찬가지, 전문가가 알아서 잘 설치한 것이니까 실행되지 않을까 걱정할 필요도 없다 그리고 우리의 앱은 네트워크로 통신해서 이것들을 사용할 수 있다면 얼마나 좋을까 하나의 컴퓨터에 가상으로 컴퓨터를 만들고 그 위에 운영체제를 설치한 후에 거기에 웹 서버를 설치하면 어떨까 vm웨어나 버츄얼박스를 떠올리면 된다 그런데 이걸 위.. 스키마 변경 - SQLiteOpenHelper 클래스 https://developer.android.com/training/data-storage/sqlite?hl=ko 스키마 변경시, API에서 제공하는 헬퍼 클래스를 사용하며 된다 하지만 테이블 안에 사용자가 저장한 데이터가 있을 때는 그 데이터가 삭제되거나 수정되어야 할 수도 있어서 민감하다 이미 사용하고 있는 상태인지를 구별한 다음 처리해야한다 SQLiteOpenHelper 클래스는 데이터베이스를 만들거나 열기 위해 필요한 작업들을 도와주는 역할을 한다 new 연산자로 만들며, 3개의 파라미터가 들어간다 데이터베이스 파일이 만들어지도록 하려면 getReadableDatabase 또는 getWritableDatabase 메소드를 호출해야한다 이 메소드는 데이터베이스를 만들거나 업그레이드할 때 콜백 메소.. Database Inspector https://developer.android.com/studio/inspect/database?hl=ko 안드로이드 스튜디오는 Database Inspector 기능을 지원한다 화면 하단에 Database Inspector가 생긴다 Live updates에 체크하면 DB에 변경이 생기면 바로 화면도 업데이트된다 여기서 쿼리도 실행이 된다 새 쿼리 탭을 생성한 후, 명령어 입력 후에 ctrl + 엔터키를 누르면 실행된다 안드로이드 스튜디오를 새로 실행하거나, avd를 껐다 켰는데 이렇게 나온다면 openOrCreateDatabase 메소드같이 DB를 오픈하는 메소드를 호출하면 된다 안드로이드 SQLite 안드로이드는 임베디드 데이터베이스로 개발된 경량급 관계형 데이터베이슨 SQLite를 가지고 있다 SQLite는 파일로 만들어진 하위 수준의 구조를 가지면서도 데이터베이스의 기능까지 그대로 사용할 수 있도록 만든 것이다 그리고 저장될 때는 파일로 저장되므로 데이터베이스의 복사, 이동, 삭제가 매우 쉽다 데이터베이스를 만드는 가장 간단한 방법은 Context 클래스에 정의된 openOrCreateDatabase 메소드를 사용하는 것이다 앱에서 기본적으로 사용하는 액티비티 클래스가 Conext를 상속한 것이므로, 결국 액티비티를 만들 때 그 안에서 openOrCreateDatabase 메소드로 데이터베이스를 만들거나 열 수 있다 Context 클래스에는 이렇게 만든 데이터베이스를 삭제할 수 있는 메소드도 정의.. 영화 정보 가져와 보여주기 Volley, Gson 라이브러리와 리사이클러뷰를 합치면 영화 정보를 가져와서 리스트 모양으로 보여주는 것이 가능하다 URL이 XML 레이아웃 안에 들어갈 때는 & 기호를 인식하지 못한다 & 기호로 바꾸어 넣어야한다 기존 https://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=f5eef3421c602c6cb7ea224104795888&targetDt=20211001 XML 레이아웃에 넣을 URL https://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=f5eef3421c602c6cb7ea.. JSON 데이터 다루기 Gson 라이브러리는 JSON 문자열을 객체로 변환할 수 있도록 해 준다 Volley를 이용해서 웹 서버로부터 JSON 응답을 받았다면 Gson을 이용해서 자바 객체로 바꾸고 그 객체 안에 들어있는 데이터를 접근하여 사용할 수 있다 Build.gradle(Module)에 Volley와 Gson을 추가하고 Sync now dependencies { ... implementation 'com.android.volley:volley:1.2.1' implementation 'com.google.code.gson:gson:2.8.8' } AndroidManifest.xml 영화 정보 JSON 응답의 포맷에 맞추어 새로운 자바 클래스를 정의해야 한다 변수의 이름은 JSON 문자열에서 속성의 이름과 같아야 하고, 변.. 이전 1 ··· 8 9 10 11 12 13 14 ··· 34 다음