전체 글

'DBA 업무'와 '알게되는 정보'를 기록하는 공간
안드로이드 스튜디오 화면 안드로이드 스튜디오에서 프로젝트를 생성하면 다음과 같이 폴더 구조가 생성됩니다. 여기에서 소스 코드를 작성하는 '개발 화면' 과 앱을 디자인하는 '레이아웃 화면' 으로 구분됩니다. 참고로 상단 중간 부분의 녹색 '>' 버튼을 앱을 실행하겠다는 의미이며, 하단의 Problems, Logcat 은 컴파일과 애뮬레이터를 실행하며 발생하는 로그를 보여주는 영역입니다. 개발화면 안드로이드 스튜디오 왼쪽에 위치한 프로젝트 창에서 java 디렉터리 아래에 있는 화면입니다. 자바 코드를 수정하는 작업을 할 수 있으며, 새로운 자바 파일을 생성할 수도 있습니다. 안드로이드는 자바를 기반으로 되어있기 때문에, 자바 파일을 만드는 방식과 동일합니다. 레이아웃 화면 레이아웃 화면은 res/layout..
안드로이드 스튜디오 프로젝트 생성하기 안드로이드 스튜디오 설치를 완료했으면 프로젝트를 생성해봅니다. 1. 프로젝트를 저장한 디렉터리를 생성합니다. 저의 경우 "D:\02_Document_Folder\Android_Project" 경로에 만들었습니다. 2. Create New Project 를 클릭합니다. 3. Phone and Tablet 에서 Empty Activity 를 선택후 Next 를 클릭합니다. 참고로 안드로이드 스튜디오에서 많은 액티비티를 지원해 주고 있으며 원하는 액티비티를 클릭할 수도 있습니다. 4. 액티비티 값 설정을 해줍니다. 명칭 설명 Name 프로젝트의 이름 Package Name 패키지 이름 Save location 프로젝트가 저장될 경로 Language 안드로이드를 개발할 언어..
안드로이드 개발 환경 안드로이드 앱을 개발하기 위해서는 개발 툴인 안드로이드 스튜디오를 설치해야 합니다. 안드로이드 스튜디오는 코드 편집, 디버깅, 빌드 시스템 등 다양한 기능을 제공할 뿐만 아니라 안드로이드 버전 및 크기에 따른 안드로이드 기기를 에뮬레이터로 제공합니다. 안드로이드 스튜디오가 나오기 전까지는 이클립스가 안드로이드 개발 툴이었으나 지금은 구글에서 공식적으로 제공하는 안드로이드 전문 개발 툴인 안드로이드 스튜디오를 사용하는 것이 좋습니다. 안드로이드 스튜디오 다운로드 https://developer.android.com/studio 사이트로 접속하여 Download 버튼을 클릭합니다.
안드로이드 버전 안드로이드는 2008년 9월 버전 1.0을 출시한 이후로 현재 12버전이 출시되었습니다. 하나의 버전내에서도 기능개발은 계속되어 이렇게 변경된 기능을 기반으로 한 API 버전은 31단계까지 증가합니다. 안드로이드 버전은 디저트 이름을 모티브로 한 영문 알파벳 순으로 지어지고 있습니다. 안드로이드 버전과 API 버전 안드로이드 버전과 API 버전은 동일하지 않습니다. 하나의 안드로이드 버전에서 기능개발로 인해 API 버전이 여러개가 나올 수 있기 때문입니다. 또한 안드로이드 버전이 올라가면서 리눅스 커널 버전도 올라가게 되었습니다. 커널까지는 저희가 알 필요가 크게 없어서 정리하지 않았습니다. 모든 API 를 다 정리하기에는 너무 많기 때문에 최근 릴리즈 날짜에 맞춰 몇개만 정리했습니다. ..
안드로이드 4대 구성요소 안드로이드 앱을 개발하기 위해서는 안드로이드를 구성하는 요소에 대해서 알아야 합니다. 여러가지 구성요소가 있지만 이중에서도 가장 중요한 안드로이드 4대 구성요소가 있습니다. 액티비티 사용자 인터페이스 화면을 관리하는 구성요소 입니다. 저희가 앱을 실행하면 보이는 화면이 액티비티입니다. 콘텐트 프로바이더 애플리케이션 간의 데이터 공유를 위해 표준화된 인터페이스를 제공하는 구성요소 입니다. 즉 콘텐트 프로바이더는 서로 앱 간의 데이터를 공유하는 것을 도와줍니다. 만약 내 앱에서 ContentProvider 를 구현하면, 다른 앱에서 ContentResolver 을 통해 접근할 수 있습니다. 이 때는 인증을 거쳐야 하며, 자세한 내용은 콘텐트 프로바이더에 대한 포스팅에서 다뤄보도록 하..
안드로이드 우리가 사용하는 스마트폰을 편하고 쉽게 사용할 수 있도록 해주는 모바일 운영체제 입니다. 안드로이드는 리눅스 커널기반으로 제작한 보아리 운영체제와 미들웨어 그리고 각종 애플리케이션을 포함한 소프트웨어 집합을 지칭하는 용어입니다. 이 안드로이드 운영체제는 GPL (General Public License) 라이선스를 따르고 있습니다. 안드로이드 구조 가장 기초가되는 리눅스커널 위에 안드로이드를 위한 각종 라이브러리와 안드로이드를 실행하기 위한 런타임이 존재합니다. 그리고 이러한 라이브러리를 기반으로 만들어진 애플리케이션 프레임워크가 있습니다. 애플리케이션 프레임워크를 사용하여 앱을 만들수 있습니다. 결과적으로 앱을 개발한다는 것은 애플리케이션 프레임워크가 제공하는 기능을 사용해야 합니다. 안드로..
데이터베이스 테이블들을 저장할 수 있는 집합체를 의미합니다. 데이터베이스 생성 방법 "파일그룹 / 논리적 파일명 / 물리적 파일명 / 파일사이즈 / 최대파일사이즈 / 파일사이즈만큼 데이터가 늘었을 때 파일사이즈의 증가량"으로 구성됩니다. 하나의 파일그룹은 여러개의 논리적파일을 가질 수 있습니다. DEFAULT 가 붙은 파일그룹은 테이블이 생성될 때 기본으로 지정되는 파일그룹을 의미합니다. 1 2 3 4 5 6 7 8 9 10 CREATE DATABASE [Sample] ON PRIMARY ( NAME = N'Sample', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\Sample.mdf' , SIZE =..
인덱스란 테이블에 있는 데이터를 빠르게 검색하기 위해 생성되는 객체입니다. 예를 들어 1억건이 들어있는 테이블에서 A 라는 key 를 찾기 위해서는 1억건을 모두 조회해야 합니다. 그러나 인덱스가 있는 경우에는 b-tree 기법을 사용하여 A key 를 더 빠르게 찾을 수 있습니다. 인덱스를 생성하는 방법 인덱스는 테이블을 생성할 때 묶어서도 생성할 수 있지만 여기에서는 인덱스만을 생성하는 방법을 다룹니다. 인덱스는 여러 종류가 있습니다. Primary, Unique, Normal 방식이 있으며 Clustered 와 Non-Clustered 로 나뉩니다. 이 포스팅에서는 위의 개념들을 다루지는 않겠습니다. 인덱스는 테이블을 기반으로 생성하기 때문에, 아래와 같은 테이블이 있는 상태에서 진행합니다. 1 C..
래퍼 클래스 ( Wrapper Class ) 기본타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼클래스 ( Wrapper Class ) 라고 합니다. 래퍼클래스는 인스턴스에 저장된 값을 변경할 수 없으며, 값을 참조하기 위해 새로운인스턴스를 생성하고 생성된 인스턴스의 값을 참조만 할 수 있습니다. 래퍼 클래스는 java.lang 패키지에 포함되어 제공됩니다. java.lang 패키지는 자바 프로그래밍에 필요한 가장 기본 클래스를 모아놓은 패키지 이므로 Wrapper 를 사용하기 위해 추가로 해야하는 작업은 없습니다. 기본타입 & 래퍼 클래스 (객체) 기본 타입 래퍼 클래스 (객체) byte Byte short Short int Integer long Long float Float double D..
재귀호출 재귀호출이란 함수 내부에서 해당 함수가 다시 호출되는 것을 의미합니다. 이러한 호출은 자기자신을 계속호출하기 때문에 끝없이 반복될 수 있으며 반드시 재귀호출을 중단하도록 조건 명령문을 반드시 포함해야 합니다. 사실 재귀호출은 자바만의 개념이라기 보다는 알고리즘에서 중요한 개념입니다. 즉, C 언어 JAVA 언어 가릴거 없이 모두 구현이 가능합니다. 재귀호출 팩토리얼 예제 1부터 10까지 곱하는 프로그램을 만든다고 가정해 봅니다. 먼저 1부터 10까지의 곱은 1에서 9까지의 곱의 곱하기 10 입니다. 다음 1부터 9까지의 곱은 1부터 8까지의 곱의 곱하기 9 입니다. 다음 1부터 8까지의 곱은 1부터 7까지의 곱의 곱하기 8 입니다. .... 다음 1부터 2까지의 곱은 1부터 1까지의 곱의 곱하기..
꽁담
꽁담