본문 바로가기

전체 글

(99)
[자료구조] 스택(Stack)과 큐(Queue) 스택(Stack)이란? 🔍 개념 스택이란 쌓아 올린다는 의미로 책을 쌓는 것처럼 차곡차곡 쌓아 올리는 자료 구조를 말한다. 🔍 스택의 특징 스택은 Last In First Out (후입선출) 방식으로 가장 마지막에 들어간 자료가 가장 먼저 삭제된다. 위의 이미지처럼 구조와 크기가 같은 자료를 정해진 방향으로만 쌓을 수 있으며, top으로 정한 곳을 통해서만 접근이 가능하다. 삽입될 새 자료는 top이 가리키고 있는 자료의 위에만 쌓인다. 뿐만 아니라 삭제할 때도 top을 통해서만 삭제할 수 있다. 📍 스택에 자료 추가, 제거 삽입, 삭제 연산은 다음과 같다. import java.util.Stack; public class Main { public static void main(String[] args)..
Android : Google Maps, 구글 지도 사용하기 위치서비스 등을 사용하여 지도에 위치를 표시하거나 위치정보를 기반으로 좌표나 주소로 변경할 수 있습니다. 준비된 예제는 지도에 위치정보를 수집하여 현재 위치를 표시해주거나 지정한 위치를 지도에 표시해주는 것입니다. 준비사항 API KEY 발급 구글 지도를 사용하기 위해서는 API키 발급이 필요합니다. 아래 링크에서 발급하여 사용할 수 있습니다. https://developers.google.com/maps/documentation/android/start#get-key 여기에서 STEP3로 바로 넘어가서 사용자 인증 정보 페이지로 이동합니다. "프로젝트 선택"을 통해 프로젝트를 만들어줍니다. 그리고 API키를 발급받아 가져와줍니다. Maps프로젝트 생성 신규 프로젝트는 Map이 있는 프로젝트로 생성해줍니..
Android : Camera 카메라로 촬영한 사진을 이미지뷰에 불러오는 예제입니다. 앱 내부에서는 카메라를 실행할 수 있고, 촬영 후 확인버튼을 누르면 다시 메인 화면에 있는 이미지뷰에 해당 사진을 뿌립니다. 그리고 갤러리에서 불러온 사진을 이미지뷰에 가져올 수 있습니다. 0. 예제를 살펴보기 전에 카메라로 촬영한 사진을 이미지뷰에 띄워준다는 개념을 생각해보아야 합니다. 우선 이 예제에서 구상할 View의 구조는 두개의 버튼과 한개의 이미지뷰입니다. 카메라 실행버튼을 눌렀을 때 카메라가 켜지게 되고 사진을 촬영할 수 있게 됩니다. 셔터를 눌러 사진을 촬영하면 사진이 촬영되고, 카메라에 내장된 "확인"버튼을 누르면 사진이 갤러리에 저장될 것입니다. 이 때 사진의 이름을 특정한 패턴으로 저장해주는 함수가 필요할 것이며, 이 함수에 따라..
OracleDB : 무결성, 시퀀스, CRUD TABLE은 기본적인 저장의 단위로 ROW와 COLUMN으로 이루어져 있습니다. 테이블을 생성부터 내용의 CRUD, 무결성, 시퀀스에 대해 알아봅시다. 테이블의 CRUD 테이블 생성하기 SQL에서 테이블은 기본적인 자료 저장의 단위이기 때문에 테이블이 없다면 어떤 정보를 읽어오거나 값을 넘겨줄 수 없을 것입니다. 이전에도 이미 살펴보았지만 테이블 생성하는 방법을 다시 한 번 확인해보겠습니다. CREATE TABLE TB_TEST( COL1 VARCHAR2(10 BYTE), COL2 VARCHAR2(10 BYTE), COL3 VARCHAR2(10 BYTE) ); 이렇게 CREATE를 사용해서 테이블을 만들어주었습니다. 내부에는 만들 컬럼이 들어가고 각 컬럼의 자료형을 지정해주었습니다. 컬럼 뒤에는 차지할 ..
OracleDB : JOIN과 SUB QUERY 안녕하세요. 이번 포스팅에서는 Oracle에서 JOIN에 대해 소개합니다. 이제까지 우리는 하나의 테이블, EMPLOYEES로만 실습을 진행했습니다. 그렇지만 언젠가 두개의 테이블을 비교해야 할 때도 있을 것이고 세개, 네개의 다중 테이블을 비교할 일이 있을 것입니다. 그래서 오늘은 두 개 이상의 테이블을 연결해서 데이터를 검색하는 방법에 대해 다뤄보도록 하겠습니다. JOIN이란? 기본 개념 우선 JOIN 연산자는 두 개 이상의 테이블을 연결해서 데이터를 검색해주는 연산자입니다. 보통 두 개 이상의 ROWs의 기본키, 외래키를 사용해서 JOIN 해 줍니다. 기본키라고 하는 것은 Primary Key로 테이블에서 중복되지 않는 키를 의미합니다. 우리가 사용하는 EMPLOYEES 테이블이 이렇게 구성되어 있..
OracleDB : 조건문과 연산자 이전 포스팅에서 개발환경을 구축하는 방법과 테이블 생성방법, 자료 삽입 방법, 자료형 등에 대해 살펴봤습니다. 개발환경을 구축하는 것만 해도 원래는 진땀 빼는 일이지만 macOS에서 별도의 우회책이 있어 다행인 것 같습니다. 이번 포스팅에서 살펴볼 내용은 가상테이블, 조건문, 연산자, 정렬, 그룹화, 그룹함수입니다. 자 그러면 본격적으로 시작해보겠습니다. 가상 테이블 가상 테이블이란? 우리가 콘솔에서 테이블 만들어달라고 쿼리문을 작성하면 CREATE TABLE TB1( COL1 VARCHAR2, COL2 NUMBER, COL3 LONG ); 선언한 구조대로 테이블이 생성되고 프로젝트 파일로 저장됩니다. 만약에 단순히 입력되는 내용만 보고 없애고 싶은데 새로운 표를 생성해서 잠시 사용하고 지우는 일은, 이..
OracleDB : 개발환경 세팅, 자료형과 SELECT...FROM 안녕하세요. 자바 포스팅을 마치고 이번주는 오라클 DB에 관해 소개합니다. 저는 macOS 사용자이며 M1 프로세서를 탑재한 Apple Silicon 컴퓨터를 사용하고 있습니다. Windows OS를 사용하고 계시다면 다소 다르게 적용되는 점이 있을 수 있으니 참고 바랍니다. 빅데이터라고 하는 용어에 요즘 이목이 집중되고 있습니다. 말 그대로 방대한 양의 데이터를 말하는데, 인공지능과 같은 관련 산업의 핵심기술이 되고 있죠. 저도 인공지능 개발 관련 일을 하면서 데이터 세트를 생산하는데 엄청난 시간을 할애했습니다. 이렇게 머신러닝 뿐만 아니라 우리가 이용하고 있는 인터넷 쇼핑몰 등에서도 데이터에 대한 의존도가 높아지고 있습니다. 그렇다면 우리가 자바 프로그래밍에서 다룬 CRUD를 적재적소에 할 수 있어야..
Android : SQLite 개요 웹에서의 DB 웹에서는 클라이언트(화면단)가 서버에 어떤 정보를 달라고 요청할 때, 서버는 데이터베이스로부터 그 정보를 꺼내서 클라이언트로 보내줍니다. Spring으로 예를 들면 DAO를 통해 DB에 접근하게 되는데 이 때 중간다리 역할로 MyBatis 같은 도구를 사용합니다. 이는 클라이언트, 서버, DB가 각각 독립된 환경임을 가정했을 때 성립할 수 있습니다. 안드로이드의 DB 물론 안드로이드에서도 독립된 DB로부터 데이터를 받아와서 화면단에 표현해 줄 수 있습니다. 그렇지만 굳이 외부에 있는 DB에 접근해서 정보를 가져올 필요가 없을 때, 다시 말해서 내부적으로만 데이터 교환이 이루어지는 경우가 있다고 가정한다면 외부에서 데이터를 가져오는 것은 다소 비효율적일 수 있습니다. 그래서 기기 내부에..