자료의 종류

통계 2015. 7. 7. 09:23

1. 이산형 자료 (명목자료 , 질적 자료 )

자료값이 양적인 크기가 아닌 속성이나 그룹을 나타내는 자료 

예를 들어 성별 (남 , 여 )  종교 (불교 , 기독교 , 천주교 ) 

주로 그룹 분류시 이용된다 

변수가 성별 이면  관측치는  ( 남자 =1 , 여자 =2)

변수가 종교 이면  관측치는 (불교 =1  , 기독교 =2 , 천주교=3) 


2. 순서형 자료 

서열이나 순위를 나타내는 자료 

시험점수를 석차로 나타낸 자료 또는 키가 큰 순서대로 배열  , 몸무계가 많은 순으로 배열 등 

변수가  학점이면  관측치는 (A=2 , B=4, C =6 ) 


3. 연속형 자료 (양적 자료 ) 

양적인 의미를 가지는 크기를 갖는 대부분의 자료들은 연속형 자료에 속함 

예를 들어 집평수  , 시험점수 ,몸무계 키 등이 여기에 속함 

연속형 자료는 통계분석용으로 가장 적절하며  연속형 자료에 대한 통계분석 기법이 비교적 많이 개발 되어있음 

변수가 점수(SCORE) 이면 관측치는 ( 70 , 75 , 90 , 88) 



컬렴명이  변수이고  

변수의 측정값을  -- 변수값 또는 관측치라고 한다 



http://sasbigdata.com/entry/stats-correlation-analysis-covariance-pearson-spearman-kendall

참조사이트 

'통계' 카테고리의 다른 글

R + 상관 관계  (0) 2015.07.07
연관성 분석 , 척도  (0) 2015.07.07
상관분석 , 상관 계수  (0) 2015.07.07
Posted by 이상욱1
,

커미션(인센)이 없는 부서가 있기 때문에 이러한 결과가 나온다.


'DATABASE' 카테고리의 다른 글

MySQL 날짜 / 시간 데이터 타입  (0) 2015.11.17
mysql 테이블 수정 컬럼 추가  (0) 2015.08.26
별칭 ALIAS  (0) 2015.06.24
데이터베이스 0624  (0) 2015.06.24
DDL DML DCL CL 트랜잭션  (0) 2015.06.23
Posted by 이상욱1
,

별칭 ALIAS

DATABASE 2015. 6. 24. 17:41

별칭 ALIAS 


select sal, sal*10 as 연봉  from emp where ename='SMITH'; 

AS 는 ALIAS 의 약자이다   연봉이라는 가상의 컬럼을 만들어서   출력해준다 


select empno as 사원번호 ,job as 부서 from emp; 

'DATABASE' 카테고리의 다른 글

MySQL 날짜 / 시간 데이터 타입  (0) 2015.11.17
mysql 테이블 수정 컬럼 추가  (0) 2015.08.26
연산시 값이 없으면 null 로 들어간다  (0) 2015.06.24
데이터베이스 0624  (0) 2015.06.24
DDL DML DCL CL 트랜잭션  (0) 2015.06.23
Posted by 이상욱1
,

parseint (atoi)구현

Algorithm 2015. 6. 24. 17:16


public class Strparsei {


public static int atoi(String str) {

int radix = 10; // 이게 돌아가면서 원래 값에서 자리수 한자리를 늘여준다 

byte[] temp = str.getBytes();

int result = 0;

for(int i=0;i<temp.length;i++) {

if (temp[i] < '0' || temp[i] > '9') { // 0~9 넘어갈경우 (문자 방지)

throw new NumberFormatException();

}

result = (result*radix) + temp[i] - '0';

}

return result;

}

public static void main(String[] args) {

int a=0;

a=Strparsei.atoi("1234");

System.out.println(a);

}

}



참고사이트 http://globalbiz.tistory.com/m/post/82

'Algorithm' 카테고리의 다른 글

성능 체크  (0) 2016.09.01
length() 메소드 작성  (0) 2015.06.23
소인수 분해 구하기  (0) 2015.05.24
너비우선탐색 과 깊이우선탐색  (0) 2015.05.20
피보나치 동적계획법 소스  (0) 2015.05.20
Posted by 이상욱1
,



이번 강좌에서는 String 클래스를 좀더 깊숙히 알아보는 시간을 갖고자 합니다.

 

우선 String = "12"; 즉, 스트링 객체에 12 라는 문자열이 들어 있습니다.

 

위 String 객체에 담긴 12 라는 문자열은 내부적으로 어떻게 처리되어 저장될까요?

 

일단 좀더 깊숙히 들어가 봅시다.

 

첫번째, String 객체의 내부 비밀

 

String 객체는 final 한 클래스로서 상속(확장) 이 불가능 합니다.

또한, String 객체는 내부적으로 char 배열에 데이터를 저장하여 보관하고 있습니다.

 

 

 

 

<그림 1> String 클래스

 

 

 

 

<그림 2> String 생성자

 

 

 

 

 

실제 String str = new String("ABC") 한개의 String 객체를 생성할때

 

생성자 내부적으로 String 객체를 char 배열로 변환해서 저장합니다. (위 그림 참조)

 

즉, value 라는 char 배열에 문자열이 들어간것이 아니라,

 

char 배열안에 한문자 한문자 들어가 있게 되는 겁니다.

 

value[0] = 49;

value[1] = 50;

 

이런식으로 말이죠.

 

아니? 잠깐!! 왜 1,2 가 들어간게 아닐까요?

 

자 한번더 깊숙히 들어가 봅시다.

 

컴퓨터는 내부적으로 모든 데이터의 표현 및 연산을 2진수로 처리 합니다.

 

코드상에서 겉보기엔 문자를 처리하는것 처럼 보이지만,

 

내부적으로 숫자밖에 인식하지 못합니다.

 

그래서 미국표준협회(ANSI) 에서는 문자표현에 대한 표준을 아스키(ASCII) 코드를 탄생시키게 됩니다.

 

문자 a는 숫자 97, 문자 b 는 숫자 98...

 

이런식으로 약속한것이 아스키코드 입니다.

 

 

 

<그림 3> 아스키코드 표 

 

 

자 그럼 다시 올라가 봅시다.

 

String 객체에 "12" 가 있다면 내부적으로 char 배열에 아래와 같이 저장된다고 했습니다.

 

value[0] = 49;

value[1] = 50;

 

자 이해가 가시나요?

 

12 는 10진수로 저장된게 아닙니다.

 

이미 12는 문자로 인식하고 있기 때문에

 

문자 0 은 10진수 49

문자 1 은 10진수 50

 

이렇게 내부적으로 매핑하여 저장되어 있는겁니다.

 

위 아스키 코드표를 참고해보세요.

 

 

 

이렇게 char a 변수에 문자 a 를 넣고 1을 곱하는 연산이 가능한 이유가 바로 내부적으로

 

10진수로 저장하고 있기 때문에 가능 한겁니다.

 

위 코드를 출력하면 97이 나옵니다. 왜냐하면 10진수 97은 아스키코드 문자로 a 이기 때문 입니다.

(이래서 C를 꼭 먼저 접해 보라는 말이 나오는 이유 입니다.)

 

 

두번째, String 객체는 리터럴 방법으로 생성 하는것과 new 로 생성 한다면? (상수풀에 대한 이해)

 

String 객체는 리터럴("") 로 생성하는 경우 JVM 메모리에 있는 상수풀(Constant Pool)로 들어갑니다.

 

두번째 생성하는 String 객체 역시 처음 생성했던 객체와 동일한 문자열을 가지는 경우 같은 레퍼런스를 참조 하게 됩니다. 

 

String str1 = "ABC";

String str2 = "ABC";

 

즉 내부적으로 intern 을 호출하여 상수풀에 등록된 스트링의 레퍼런스를 가지게 됩니다.

 

intern 메소드는 무엇일까요?

 intern 메소드는 String이 상수풀(Constant Pool)에 등록된 경우 해당 스트링의 주소값을 반환하는 역할을 합니다.

 

그렇기 때문에 위 String 객체를 == 연산하는 경우 같은 주소를 가지는 이유 입니다.

 

 

하지만 new 로 생성되는 경우 어떻게 될까요?

 

String str3 = new String("ABC");

String str4 = new String("ABC");

 

위 str3 == str4 는 서로 false 즉 서로 다른 레퍼런스 입니다.

 

메모리 힙 영역에 서로 다른 객체로 자리매김 하고 있습니다.

 

자 그럼 리터럴로 생성된 String 처럼 str3 와 str4 를 같은 레퍼런스를 가지게 할 수 있을까요?

 

정답은 가능하다 입니다.

 

String str3 = new String("ABC").intern();

String str4 = new String("ABC").intern();

 

위 객체를 == 연산하는 경우 true 가 됩니다.

 

왜냐하면 처음 str3 객체가 생성됨과 동시에 상수풀에 등록이 되고,

str4 객체가 생성이 되면서 ABC 문자열과 동일한 String 객체가 상수풀에 있기 때문에 같은 레퍼런스를 가지게 됩니다.

 

 

 

세번째, String 객체는 바뀌지 않는 변할 수 없는 객체다.

 

많은 사람들이 String 객체를 사용시 변수처럼 사용하곤 합니다.

 

String str4 = "ABC";

str4 += "DEF";

 

간단한 문자열을 합치는 연산을 해봤습니다.

 

첫번째 str4과 두번째 str4 과연 같은 레퍼런스 일까요?

 

정답은, 서로 다른 레퍼런스 를 가지고 있습니다.

 

 

   

 

자 첫번째 그림은 첫번째 소스코드 ABC 문자열만 삽입 했을때 입니다.

그리고 두번째 그림은 DEF 를 합친 순간 입니다.

 

보시는 바와같이 레퍼런스가 변해버렸습니다.

 

결론은 String 객체로  = 연산으로 문자열을 삽입하거나 += 연산으로 문자열을 합치는 행위를 할때는

 

이전에 있던 객체(ABC)는 GC의 대상이되고 새로운 객체(ABCDEF)가 생성되어 집니다.

 

즉, 문자열이 합쳐지는게 아니라 새로운 객체가 생성된다고 보시면 됩니다.

 

왜 이런일이 발생하는 걸까요?

 

이는 앞서 설명해드렸습니다. String 객체는 내부적으로 데이터를 char 배열로 보관한다고 했습니다.

 

하지만 char 배열이 final 로 되어 있기 때문에 데이터를 변경할 수 없습니다.   

 

간단한 예제를 통해 이해해 봅시다.

 

 

final int data 에 100을 정의한 상태에서

 

data 변수에 100을 대입하면 무슨일이 발생할까요?

 

당연히 에러가 발생합니다. 이유는 final 로 변수를 선언해버렸기 때문에 데이터를 변경할 수 없는 상수가 되었기 때문입니다.

 

String 객체 역시 마찬가지 입니다.

 

append 할 수 없는 가장큰 이유가 바로 내부적으로 final 로 char 배열이 선언되어 데이터를 상수로 가지고 있기 때문입니다.

 

(참고로 이거까지 설명하는 자바책은 없더군요. 뭐 누구나 자바SDK 소스를 보시면 금방 눈치챌수 있습니다.)

 

 

반대로 StringBuffer, StringBuilder 은 왜 append 할수 있냐구요?

 

 

<그림> AbstractStringBuilder 추상클래스

 

 

StringBuffer, StringBuilder 클래스는 공통적으로 AbstractStringBuilder 추상클래스를 상속받아 구현되어진 클래스 입니다.

 

AbstractStringBuilder 추상클래스에는 char 배열이 final 로 되어있지 않습니다.

append 메서드 내부적으로 char 배열만 다시 생성해서 메모리공간을 늘리고 기존의 데이터를 복사해서

 

append 한 str 만큼 값을 추가하는 형태이지만,

 

String 객체는 자체를 new 하고 값을 다시 변경하지만,

 

StringBuffer, StringBuilder 객체는 안에 있는 char 배열 데이터만 변경하는 차이 인것 입니다.

 

이제 이해가 되시나요?

 

가장 좋은 방법은 다시 한번 SDK 를 직접 소스코드를 분석해보는것이 좋습니다 ^^

 

더 궁금한점은 답글 주시면 답변 드리겠습니다.


출처 :http://globalbiz.tistory.com/81

'java' 카테고리의 다른 글

이클립스 전체폴더 키워드 찾기  (0) 2015.07.10
이클립스 여러줄 제어 단축키  (0) 2015.07.09
final 키워드  (0) 2015.06.24
이클립스 에서 jdk 소스를 보도록 설정  (0) 2015.06.23
void return 함수  (0) 2015.05.27
Posted by 이상욱1
,

final 키워드

java 2015. 6. 24. 15:19

final 키워드는 주로 class 나 method 의 재정의(overriding)를 막기 위하여 사용되며, 맴버변수나 로컬변수 등에서 변수 초기화 이후 바꿀수 없는 변수를 만드는 용도로도 사용을 합니다.

'java' 카테고리의 다른 글

이클립스 여러줄 제어 단축키  (0) 2015.07.09
string 클래스 이해 하기  (0) 2015.06.24
이클립스 에서 jdk 소스를 보도록 설정  (0) 2015.06.23
void return 함수  (0) 2015.05.27
삼항연산자  (0) 2015.05.14
Posted by 이상욱1
,

데이터베이스 0624

DATABASE 2015. 6. 24. 11:30

디비안에 데이타는 공유데이타, 통합데이타 , 저장데이타 ,운영데이타  이다


I=P(D)

PROCESSOR -- 함수, 메서드 , 처리기 


처리하는 과정을 프로세싱이라고 부른다 



DATA --데이타 ANALIST


프로세서 - 개발자 


INFORMATION -- 정보 관리자 



데이터 베이스의 특징 

주소값으로 찾아가지 않고 내용으로 찾아간다 

실시간 접근성

지속적인 변환 

동시 공유 


데이터베이스 구조 

1.논리적구조 : 논리적데이터베이스 -> 사용자 입장

2.물리적 구조: 물리적데이터베이스 -> 실제 저장 구조 


DDL --객체(테이블, 뷰 , 시놈 , 사용자 , 트랜젝션)을 조작하는 언어 


ALTER

CREATE

DROP


RENAME 

TRUNCATE -걔와 연결된 객체까지 다 날릴때 사용 



DML- 데이터를 조작하는 언어 

INSERT

UPDATE

DELETE

SELECT(QL 포함)



DCL- 트랜잭션 관리를 위한 언어 

    -REVOKE 권한 준거를 다시 회수하는것

    -GRANT 

    



TCL-(트랜잭션 제어)

COMMIT

Rollback

SavePoint 


트랜잭션 -- 한번 실행된 명령어는 끝날때까지 수행되는 태스크() 

한번 시작한 작업(명령단위)운 반드시 실행 완료 


insert 시에 date 형식에 값 입력시  주의 할점 

insert into emp01 values(3 ,'신영수','2015-06-11',10000);  앞뒤에  ' '   표시 

insert into emp01 values(4 ,'고영영수',sysdate,10000);  insert 시에는 sysdate 를 써주는 경우 


sqlplus sys/change_on_install as sysdba;




grant 는 누군가에게 권한을 주는거니깐  to 이고 

revoke는 누군가로부터 권한을 뺏는거니깐 from 이다.

resource 롤 -- 사용자가 객체(테이블 , 뷰 , 인덱스 ) 를 생성할 수 있도록 시스템 권한을 묶어 놓았습니다.

리소스를 안주고 table 생성할려고 하면  권한이 없어서 생성이 안된다 .


모든 제약조건은 데이터사전에 들어가있다 .


unique(uk) -테이블의 모든 행을 유일하게 식별하는 값을 가진 열 

check(ck) - 참이어야 하는 조건을 지정함 이렇게 지정해놓으면 인서트시 내가 원하는 조건이 아니면 못넣는다 .


해당 테이블 제약 조건 보는것-SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME='EMP01'; 



틀린 부분 ****************************

튜플(row)의 개수는 cardinality 라고 한다 .

data를 자료라고 한다 .

*********************************


프라이머리키 를 넣어서 테이블 생성 할때 

create table emp3(

    no varchar2(10) primary key,

    irum varchar(20) not null

)



계정: student를 새로 생성하여

아래에 나열된 요구에 맞추어 쿼리문을 작성하시고

작업결과물을 캡쳐하여 답글로 제출하여 주세요.


1. student계정 생성 및 권한 부여


2.테이블 생성

EDUCATION 테이블 (

 PID  (PK ) 숫자 3
 학생이름
 학과명
 나이 
 과목ID);


 3. 데이터 입력:  (111,'서강미','컴공',20,' D12'); 
                    (222,'이유미','컴공',20,' D12'); 
                    (333,'지거미','컴공',20,' D12'); 
                    (444,'마개미','컴공',20',' D12');


4. 테이블 수정

 EDUCATION 테이블에 학과명 컬럼을 학과이름으로 수정하여 주십시오.

 EDUCATION 테이블에 과목이름 컬럼을 추가하여 수정하여 주십시오.

컬럼명은 한글이 아닌 논리적인 영문이름으로 지정하여 주십시오.



create user student identified by 123;

 grant connect,resource,create session to student;


create table education(

pid number(3) primary key,

edu_stu_name varchar2(20),

majo_name varchar2(10),

old number(3),

majo_id number(4)

);


insert into education values(111,'서강미' , '컴공' ,'20', 'D12');

insert into education values (222,'이유미','컴공','20','D12');

insert into education values(333,'지거미','컴공','20','D12'); 

 insert into education values(444,'마개미','컴공','20','D12');


alter table education modify (old varchar2(3));

alter table education modify (majo_id  varchar2(3));


alter table education add(e_name varchar2(15));

alter table education rename column majo_name to m_name;

'DATABASE' 카테고리의 다른 글

MySQL 날짜 / 시간 데이터 타입  (0) 2015.11.17
mysql 테이블 수정 컬럼 추가  (0) 2015.08.26
연산시 값이 없으면 null 로 들어간다  (0) 2015.06.24
별칭 ALIAS  (0) 2015.06.24
DDL DML DCL CL 트랜잭션  (0) 2015.06.23
Posted by 이상욱1
,

http://blog.naver.com/gooroobros/220385918814

 

먼저 하이브리드을 설명하려면 모바일과 모바일웹의 장단점을 알는 것이 중요해요.

 

모바일의 장/단점
장점

1. 최적화된 UI 제공
2. 빠른 반응속도 및 하드웨어 기능 활용 가능

단점
1. OS별, 기기별 제작에 따른 비용 증대
2. 유지보수의 불편함

 

모바일웹의 장/단점
장점

1. 저렴한 제작비용과 높은 호환성
2. 유지보수 용이

단점
1. 느린 반응속도
2. 획일화된 디자인

 

머리가 지끈지끈 아파오기 시작하죠?

 

결론: 하이브리드은 모바일과 모바일웹의 장단점을 보완해서 “모바일 웹을 으로 감싸놓은 방식”으로 생각하면 될 거에요.


'it 기본 상식들' 카테고리의 다른 글

윈도우 서비스 삭제 방법  (0) 2015.07.15
윈도우 작업표시줄 옵션  (0) 2015.07.10
윈도우 서비스 경로  (0) 2015.06.23
코드 리팩토링 관련 글  (0) 2015.05.27
컴퓨터 용량 단위  (0) 2015.05.07
Posted by 이상욱1
,


static int length(String a){

if (a.length() ==0 ) {

return 0;

}

char[] len=new char[a.length()];

int count=0;

for(int i=0; i<len.length; i++){

count++;

}

return count;

}

public static void main(String[] args) {

StrlenM a = new StrlenM();

int result=a.length("");

System.out.println(result);

}

}

'Algorithm' 카테고리의 다른 글

성능 체크  (0) 2016.09.01
parseint (atoi)구현  (0) 2015.06.24
소인수 분해 구하기  (0) 2015.05.24
너비우선탐색 과 깊이우선탐색  (0) 2015.05.20
피보나치 동적계획법 소스  (0) 2015.05.20
Posted by 이상욱1
,


3 Ways of JDK Source Code Attachment in Eclipse

You wanna look at a JVM class while you are coding and you cannot. Here is the solution.

First of all, download your related JDK source code files unless you already have it. In general, source code is included in the JavaSE bundle and located under the root directory of your installation (src.zip mostly).

1. Try to “Open Decleration (F3)” to any JVM class (i.e String class). You will take “Source Not Found” message and below it you will see Attach Source… button. Press it, select the source code file (External File…) and press OK.

Method 1

2. Go to Project > Properties > Java Build Path > Libraries and expand JRE System Library [your jre version] then, rt.jar. Select Source attachment, click Edit…. Select the source code file (External File…) and press OK.

Method 2

3. Go to Window > Preferences > Java > Installed JRES and click Edit… for your desired JRE. Expand rt.jar, select Source attachment and click Source Attachment…. Select the source code file (External File…) and press OK.

Method 3

You can use the above techniques for other libraries that you need to navigate/discover if their source codes are in your hand.

And you’re OK now. Happy coding. :D

P.S: Menu structure is taken from Eclipse 3.4.0 version.

참조사이트 :http://www.cavdar.net/2008/07/14/3-ways-of-jdk-source-code-attachment-in-eclipse/

'java' 카테고리의 다른 글

string 클래스 이해 하기  (0) 2015.06.24
final 키워드  (0) 2015.06.24
void return 함수  (0) 2015.05.27
삼항연산자  (0) 2015.05.14
증감 연산자 예제  (0) 2015.05.09
Posted by 이상욱1
,