본문 바로가기
반응형

전체 글250

[Android] altbeacon 안드로이드 비콘 연동하기 안드로이드 비콘(알트비콘) 간단하게 사용해보기 시뮬레이터로는 작동하지 않으니 꼭 안드로이드 기기를 사용 안드로이드 스튜디오 제일 좌상단의 패키지익스플로러를 Project로 변경 {나의 project}/app/src/main/AndroidMainfest.xml퍼미션 작성 앱 이용시 이용자에게 ACCESS-FINE_LOCATION 권한 허락있어야함 android-beacon-library-2.16.2.arr 파일 다운로드altbeacon arr 파일 https://altbeacon.github.io/android-beacon-library/download.htmlAndroid Beacon Libraryaltbeacon.github.io {나의 project}/app/libs < android-beacon-l.. 2020. 6. 14.
트랜잭션(Transaction)이란? 트랜잭션 (Transaction)이란 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 뜻한다. 데이터이스의 상태를 변화시킨다는것은 SIDU(CRUD)를 이용하여 데이터베이스에 접근하는것을 말한다. 여기서 하나 알고가야하는 것은 SIDU 명령문을 하나만 실행했다고 하여 트랜잭션을 수행했다고 말하기는 좀 그렇다는 것이다. 게시글을 올리고 (INSERT) 올린게시글이 목록에 추가된것을 보여주는(SELECT)것은 isert문과 select가 합쳐진 작업단위이기 때문에 위 작업단위를 하나의 트랜잭션이라고 말한다. 관리자나 개발자가 하나의 트랜잭션 설계를 잘하는 것이 데이터를 다루는 것에 많은 이점이 있다. 트랜잭션의 특징은 크게 4가지 로 구분된다. Atomicity(원자성) 1. 트랜잭션의 연산은.. 2020. 6. 8.
[Sql] Tablespace(테이블스페이스)란? 테이블 스페이스란 테이블, 인덱스, 프로시저, 뷰 등의 객체들을 저장해놓은 오라클의 논리적인 공간을 말합니다. 실제 물리적인 공간은 데이터파일(확장자가 dbf 혹은 ora인 파일)입니다. 테이블 스페이스의 관리는 관리자만 가능합니다. 오라클(oracle)은 데이터베이스 관리시스템이고 말 그대로 데이터들을 관리합니다. 관리란 데이터들을 저장, 추출, 삭제, 변경하는 작업을 말합니다. 오라클 데이터베이스는 데이터 파일들을 가지고 있으며, 이 파일들에 데이터가 저장됩니다. 테이블 스페이스(Tablespace)는 데이터베이스에서 데이터를 물리적으로 저장하는 단위입니다. 대부분의 관계형 데이터베이스 관리 시스템(RDBMS)에서 사용되며, 테이블 스페이스는 하나 이상의 데이터 파일로 구성되어 있습니다. 이러한 파일.. 2020. 6. 7.
[Java] String, StringBuilder, StringBuffer의 차이 String, StringBuffer, StringBuilder.. 모두 문자열을 저장하고, 관리하는 클래스입니다. 굳이 여러가지를 만들어놓은 이유는 무엇일까요. 1) String 먼저 String과 다른 클래스(StringBuffer, StringBuilder)의 차이점은 두 문자열 클래스의 아주 기본적인 차이는 String은 immutable(불변), StringBuffer는 mutable(변함)에 있습니다. String은 문자열을 대표하는 것으로 문자열을 조작하는 경우 유용하게 사용할 수 있습니다. 문자열, 숫자, char 등은 concat할때는 StringBuffer, StringBuilder를 사용할 수 있습니다. 단, 복잡한 경우 의미가 있고, 단순한 경우에는 굳이 StringBuffer, S.. 2020. 6. 5.
OAuth란? OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다.[1] 이 매커니즘은 여러 기업들에 의해 사용되는데, 이를테면 아마존,[2] 구글, 페이스북, 마이크로소프트, 트위터가 있으며 사용자들이 타사 애플리케이션이나 웹사이트의 계정에 관한 정보를 공유할 수 있게 허용한다. OAuth가 사용되기 전에는 인증방식의 표준이 없었기 때문에 기존의 기본인증인 아이디와 비밀번호를 사용하였는데, 이는 보안상 취약한 구조이다. 기본인증이 아닐 경우는 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인하였다. 예를 들면 구글의 AuthSub, AOL의 .. 2020. 6. 4.
[JAVA] 추상클래스와 인터페이스의 차이 추상클래스 인터페이스 생성자 O X 일반메소드 O X 추상메소드 O O 클래스는 크게 일반 클래스와 추상 클래스로 나뉘는데 추상 클래스는 클래스 내 '추상 메소드' 가 하나 이상 포함되거나 abstract로 정의된 경우를 말합니다. 반면 인터페이스는 모든 메소드가 추상 메소드인 경우입니다. (자바 8에서는 default 키워드를 이용해서 일반 메소드의 구현도 가능합니다.) 두 개념의 차이는 너무 명확합니다. 일단 생김새도 다르고, 사용하는 방법도 다릅니다. 그렇지만 하는일은 비슷합니다. 추상클래스와 인터페이스는 상속받는 클래스 혹은 구현하는 인터페이스 안에 있는 추상 메소드를 구현하도록 강제한다. 이 '하는 일' 을 한번 생각해보면 결국 추상메소드를 구현하는 거네요? 그렇다면 추상 클래스 하나만 존재하되.. 2020. 5. 25.
URI이란? URL이란? URN이란? URI는 통합자원식별자이다. URI ( Uniform Resource Identifier) 통합 자원 식별자 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI의 존재는 인터넷에서 요구되는 기본조건으로서, 인터넷 프로토콜에 항상 붙어다님 - ex) http://www.naver.com (http프로토콜임을 명시하고 있음) URI의 하위개념에 URL,URN이 포함되어 있다. URI의 보편적인 형태가 URL인데, URI의 부분집합으로 볼 수 있다. - 자원에 접근하기 위해 사용되는 절차 어떤 자원을 가지고 있는 특정한 컴퓨터 컴퓨터 상의 유니크한 자원의 이름(파일명) http://test.com/test.pdf?docid=111 이라는 주소는 URI이지만 URL은 아니다. - http://test.com.. 2020. 5. 14.
애플릿(Applet)이란? 애플릿(Applet)은 플러그인의 하나로서 전용 위젯 엔진이나 더 큰 프로그램 범위 내에서 실행되는 특정한 작업을 수행하는 조그마한 응용프로그램을 말한다. 웹브라우저, 제어판과 같은 다른 프로그램에서 실행되는 소프트웨어 구성 요소로 볼 수 있다. 애플릿은 독립적으로 사용되지 않으며 작은 기능을 가지고 있다. 이것은 1993년 애플스크립트에서 처음 도입된 용어이다. 애플릿은 "서브루틴"과 기능이 많이 다르다. 먼저, "서블릿" 같은 한 종류의 클라이언트 플랫폼에서만 동작한다. 또한 서브루틴과 달리 애플릿의 컨테이너에 의해 기능이 제한된다. 애플릿은 스크립트 언어가 아닌 컴파일 가능 언어로 작성되므로 성능 향상이나 다양한 기능을 가져 올 수 있다. 서브루틴과 달리, 완전한 웹 구성 요소를 애플릿을 가지고 작.. 2020. 5. 6.
[Sql] SQL Cursor SQL에는 내부적으로 DBMS라는 애가 산다. 매니저 역할을 한다. 파싱하고 순서는 open cursor fetch = true => RAM에 올린다. 그리고 닫아주어야한다 close 옵티마이저가일을 해준다. 하단의 Explain Plan(Ctrl + E)에 들어가면 옵티마이저가 할일 또는 하는일을 볼 수 있다. CREATE OR REPLACE PROCEDURE Implicit_Cursor (p_empno IN emp.empno%TYPE) IS v_sal emp.sal%TYPE; v_update_row NUMBER; BEGIN SELECT sal INTO v_sal FROM emp WHERE empno = p_empno; -- 검색된 데이터가 있을경우 IF SQL%FOUND THEN DBMS_OUTPUT.. 2020. 3. 20.
[SQL] SQL의 예외처리 create or replace procedure porc_exception1 is n_i number(10):=0; begin n_i:='김유신'; exception when invalid_number then DBMS_OUTPUT.PUT_LINE('잘못된 숫자값에 대한 에러 이다.'); when value_error then DBMS_OUTPUT.PUT_LINE('잘못된 데이터값에 대한 에러 이다.'); when others then DBMS_OUTPUT.PUT_LINE('잘못된 숫자나 데이터값은 아니다.'); end; xec porc_exception1; 실행시 '잘못된 데이터값에 대한 에러 이다.' 가 출력된다. create or replace procedure proc_errormsg is er.. 2020. 3. 20.
[SQL] 프로시저(procedure)와 declare 차이 프로시저(procedure)와 declare 차이 PL/SQL declare 변수 선언 프로시저 PL/SQL procedure(프로시저)와의 차이점은 procedure는 이름을 저장하여 나중에도 사용할 수 있지만 declare는 한번 실행 후 소멸한다는 점이다. 디클리어 만드는 방법 declare v_no number(5); begin v_no:=10;--변수초기화 dbms_output.put_line('v_no = '|| v_no); end; PL/SQL의 결과는 하단의 DBMS Output(disabled)에서 확인할 수 있다. 출력정보가 쌓이기때문에 DBMS Output(disabled) 에서 새페이지를 눌러주는것이 좋다. declare v_no number(5); v_name VARCHAR(20).. 2020. 3. 20.
[JAVA] URL 코드보기 package book.chap15; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; public class ViewURL { public ViewURL() {} public ViewURL(String strURL) { URL myURL = null; URLConnection urlCon = null; InputStream is = null; BufferedReader br = null; String data = null; String headerType = null; try { myURL = n.. 2020. 3. 18.
[JAVA] 스레드 기본상식, 데몬스레드 package book.chap15; /* 상황에 따라 분리된 스레드로 백그라운드 작업을 해야하는 경우가 있다. JVM안에 가비지 컬렉션과 같은 작업이 대표적이다. 이런 백그라운드 작업이 일반 스레드로 설정되어 있다면 전원이 종료되거나 사용자가 강제종료 하지 않는 한 애플리케이션은 영원히 정지 하지 않을 것이다. */ public class DaemonThreadTest { public static void main(String[] args) { Thread th = new Thread() { public void run() { try { while (true) { Thread.sleep(5000);//milisecond 5초 정지 System.out.println("INNER Thread종료"); } .. 2020. 3. 18.
[JAVA]StreamReader , BufferedReader package book.chap15; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Random; import javax.swing.JFrame; import javax.swing.JOptionPane; public class RandomGame extends JFrame{ public static void main(String[] args) { RandomGame rg = new RandomGame(); Random r = new Random(); int dap = r.nextInt(10); String user = "-1"; JOptionPane.showMessageDialog(rg, "0부터 9주에서.. 2020. 3. 18.
[SQL] 프로토콜에서 procedure 생성 Tord와 명령 프로토콜 창에서 실행가능하다 tord의 경우 접속되어있는 계정으로 실행하면되고 명령프로토콜의 경우 계정컨넥 해주어야한다. 컨넥하는방법은 sqlplus 계정이름/계정비번@ip주소:포트번호/오라클관리자이름 sqlplus yellow/tiger@???.???.???.???:1521/orcl11 도중에 conn 타계정이름/계정비번 을 작성하면 타계정으로 컨넥된다. SQL> conn scott/tiger 연결되었습니다. SQL> CREATE OR REPLACE procedure proc_deptList(p_rc OUT SYS_REFCURSOR) 2 IS 3 BEGIN 4 open p_rc5 for select deptno, dname from dept; 6 END; 7 /프로시저가 생성되었습니다... 2020. 3. 17.
[JAVA] 접근제어자 public > protected > default > private public = 공공의, 다른 패키지, 같은 패키지 모두 사용 가능함. protected = 다른 패키지인데 접근 불가함. 하지만 상속하는경우 또는 임포트하는 경우 둘다 사용이 가능하다. default = 다른 패키지인데 상속이여도 접근 불가함. private = 같은 패키지인데 상속이여도 사용 불가함. 어떤 변수가 private으로 접근제어자가 설정되어있는경우 직접 접근은 불가하나 메소드를 사용하여 접근은 가능하다.(메소드가 private로 되어있으면 이또한 접근 불가하다.) 1번 package hiding; public class Student{ int studentID; private String studentName; int g.. 2020. 2. 10.
[SQL]MySql - 2 고급 CREATE TABLE city2 AS SELECT * FROM city; = city2라는 데이터를 만들어줘 SELECT * FROM city로 SELECT * FROM city2; = 모든 정보를 보여줘 city2로부터 CREATA TABLE AS SELECT = city테이블과 똑같은 city2 테이블 생성 CREATE DATABASE suan CREATE DATBASE = CREATE DATABASE 문은 새로운 데이터베이스를 생성 USE suan = USE문으로 새 데이터베이스를 사용 GUI로 만드는 방법은 해당데이터베이스의 Tables 오른쪽버튼 Create Table CREATE TABLE test2 ( id INT NOT NULL PRIMARY KEY, = 고유의 키값부여, 인트이고 빈공간.. 2020. 1. 5.
[SQL]MySql - 1 초급 DML = Data Manipulation Language 데이터 조작 언어, 데이터를 조작(선택, 삽입, 수정, 삭제)하는데 사용되는 언어 DML 구문이 사용되는 대상은 테이블의 행 DML 사용하기 위해서는 꼭 이전에 테이블이 정의되어 있어야함 SQL문 중 SELECT, INSERT, UPDATE, DELETE가 이 구문에 해당 트랜잭션이 발생하는 SQL도 이 DML에 속함 -테이블의 데이터를 변경(입력/수정/삭제)할때 실제 테이블에 완전히 적용하지 않고, 임시로 적용시키는것 -취소가능 DDL = Data Definition Language 데이터 정의 언어 데이터 베이스, 테이블, 뷰, 인덱스 등의 데이터 베이스 개체를 생성/삭제/변경하는 역할 CREATE, DROP, ALTER구문 DDL은 트랜잭션.. 2020. 1. 5.
[Android] SQLite, SQL (SQLiteOpenHelper) SQLiteOpenHelper 을 이용하여 많아지는 데이터들을 저장한다. 데이터를 저장하여 유지하기때문에 앱을 꺼도 데이터가 지워지지않는다. (앱 삭제시는 지워진다.) package kr.co.hanbit.myapplication2; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androidx.annotation.Nullable; import java.util.ArrayList; public class SQLiteHelper { private static.. 2020. 1. 4.
반응형