아무것도 모르는 원시인
무지한 원시인이 하나씩 배워나가는 성장형 블로그
전체 글 (8)
원시인의 평일

09:00 ~ 09:30 일어나서 정신 차리고 스트레칭 후 일과 시작 준비하기(29분까지 컴퓨터 앞에 앉기)

09:30 ~ 10:30 영어 공부하기

10:30 ~ 11:00 수학 공부하기

11:00 ~ 11:30 국어 공부하기

11:30 ~ 13:00 점심시간

13:00 ~ 14:30 알고리즘 공부하기

14:30 ~ 17:00 개발 공부하기(프로젝트)

17:00 ~ 18:00 IT관련 지식 습득하기(웹서핑 유튜브)

18:00 ~ 19:00 하루 동안 얼마만큼 진행했는지 내일은 어떻게 시작할 건지 정리하고 블로그에 글 올리기

19:00 ~ 저녁 먹고 부족했던 공부 더 하거나 미니프로젝트 진행(도자기쇼핑물) 그리고 휴식

 

처음 계획이라 많이 여유롭게 진행하지만 계속 변경될 예정

  Comments,     Trackbacks
계절학기

1학년 1학기에는 괜찮게 성적을 받고 끝났지만 2학기에 국비지원과 겹치고 시험날짜를 잘못 알아서(변명) 공부를 하지 못하였고 시험을 치러서 재수강을 해야 하는 과목들이 3개나 되었다.......

이번 계절학기를 통해 학점을 얻어야겠다

 

컴퓨터과학개론은 계절학기에 잘 안나온다고 한다 

학기중에 다시 수강하자

 

  Comments,     Trackbacks
원시인의 자료형 공부

자료형은 두가지로 나눌수 있습니다

 

첫번째 기본형 Primitive Type(원시 타입)

두번째 참조형 Reference Type 입니다

 

먼저 기본형 Primitive Type(원시 타입)들입니다.

 

정수를 나타내는 세가지 자료형들

short      int        long    입니다.

셋다 똑같이 정수를 나타낼때 사용하지만

사용하는 용도가 다릅니다.

 

short 는 말그대로 짧습니다

short ,int, long 셋중에 출력할수 있는 값이 제일 작습니다(-32768~32767)

 

int 는 가장 기본적으로 쓰이는 정수 자료형입니다

출력할수 있는 값의 범위는 (-2147483648 ~ 2147483647) 까지 입니다.

 

long은 말그대로 제일 깁니다(-9223372036854775808 ~ 9223372036854775807)

long을 쓸때 주의할점은

값을 입력하고 마지막에 대문자 L 을 꼭 붙여야 합니다

하지만 int 가 나타낼수 있는 값까지는 long을 쓰고

L을 붙이지 않아도 오류가 나지 않습니다.

 

왜 똑같이 정수를 나타내는 자료형 들인데 굳이 분리를 해둔거지? 라고 생각하실수도있는데

이유는 short, int, long 이 가지고 있는 데이터 크기가 다릅니다

한마디로 short는 출력할수 있는 값이 작은만큼

크기가 작아서 메모리가 16bit(2byte) 밖에 필요없습니다

하지만 int 는 32bit(3byte)  , long은 64bit(8byte) 입니다.

왠만하면 int를 쓰겠지만 필요할때는 구분해서 사용하면 되겠습니다.

 

근데 long이 표현할수 있는 범위도 (-9223372036854775808 ~ 9223372036854775807)

까지라서 더 큰 정수를 사용하고 싶을때는

BigInteger 에 대해서 검색 하시면 됩니다

근데 연산자는 사용 못하는걸로 알고있습니다

 

 

다음으로는 실수를 나타내는 자료형

float와    double입니다.

정수 자료형들과 같이 메모리의 크기가 다릅니다.

 

float 은 32bit(4byte)

double 은 64bit(8byte)

정수는 int를 주로 쓰지만

실수는 double 을 주로 씁니다

float 을 사용할때는 long처럼 값의 끝에다가 소문자f 를 붙여야 합니다

 

 

 

논리값 을 비교하는 자료형

boolean 입니다.

boolean은 true(참) / false(거짓) 이라는 두가지의 값밖에 표현하지 못합니다.

기본적으로 false 값을 가지고 있습니다.

메모리 크기는 8bit(1byte)입니다.

 

 

 

 

유니코드 문자를 비교하는 자료형

char 입니다

먼저 유니코드 문자란?

유니코드를 알기위해서는 먼저 아스키 코드를 알아야 한다고 생각합니다.

아스키 코드는 52개의 영문 알파벳 대소문자와, 10개의 숫자(0~9), 32개의 특수 문자, 그리고 하나의 공백 문자로 이루어져있고 그것들을 조합하여 표현하는 코드입니다

 

유니코드는 아스키 코드이 상위호환 이라고 생각하면 됩니다.

아스키 코드가 있는데도 불구하고 유니코드가 있는이유는 아스키 코드로 표현할수있는

값이 한정적이기 때문에 유니코드를 쓰는겁니다.

 

여기서 설명하기에는 너무 많기때문에 나중에 따로 아스키코드와 유니코드 에 대한 자료를

올리겠습니다.

메모리 크기는 16bit(2byte) 이며 표현할 수 있는 값의 범위는 0 ~ 216 입니다

그리고 String 이랑은 엄연히 다릅니다

String은 문자'열' 이고 char 은 문자 입니다

 

String 문자열 에 대해서는 따로 글을 올리겠습니다.

 

 

 

마지막으로 byte에 대해 설명하겠습니다.

byte 도 정수를 나타내는 자료형입니다.

근데 short,int,long 과 같이 쓰지 않은것은

까먹고 마지막에 생각나서 뒤늦게 쓰는것이 아닙니다.

네 진짜 아닙니다. 정말로요

byte은 정수 자료형중 가장 작은 값을 표현합니다(-128 ~ 127)

메모리 크기도 1byte(8bit)로 가장 작습니다.

 

 

 

정리해보면 기본형 Primitive Type 에는

 

byte

short

int

long

 

float

double

 

char

 

bloolean

 

이렇게 총 8가지가 있고

기본형 Primitive Type은 첫글자를 소문자로 사용함미다

 

 

 

다음은 참조형 Reference Type 입미다

 

참조형 타입이란 기본형 타입을 제외한 모든 타입을 일컫슴미다

 

Class Type, Interface Type, Array Type 모두 참조형 타입입니다

 

 

 

  Comments,     Trackbacks
원시인의 진법 공부

진법이란

진법이란 수를 표기하는 기수법(수를 시각적으로 나타내는 방법)의 하나로 임의의 숫자를

사용하여 수를 표현하는 방법입니다.

우리가 일반적으로 사용하는 1부터 9까지의 숫자를 사용하여 수를 나타내는 방법은 10진법이라고

부릅니다.

 

진법의 종류

 

2진법(binary notation)

2진법은 0과 1 두 개의 숫자만으로 수를 표현하는 방법입니다

2진수는 자릿값이 올라갈 때마다 크기가 2배씩 커지게 됩니다

컴퓨터에서는 2진수의 한 자리를 비트(bit)라는 용어를 사용하여 비트가 8 개 모여 1바이트(byte)입니다

 

 

 

8진수(octal notation)

8진법은 0부터7까지의 숫자로 수를 표현하는 방법입니다

8진수는 2진수를 3자리(3bit)씩 빠르게 묶어 표현할 수 있어 초창기 컴퓨터에서 많이 사용했습니다

 

 

 

10진법(decimal notation)

10진법은 0부터 9까지의 숫자로 수를 표현하는 방법으로, 우리가 일상생활에서

수를 나타낼 때 흔히 사용하는 방법입니다

 

 

 

16진법(hexadecimal notation)

16진수는 16이 되면 자리올림이 발생한다 그래서 15까지 이고

자릿수 하나로 0부터 15까지를 표현할 수 있습니다

0~9까지의 숫자와 A~F까지의 문자를 함께 사용하여 수를 표현합니다

16진수를 사용할 때는 앞에다가 0x를 표시해줘야 16진수라는 걸 알 수 있다

 

 

2진수를 16진수로 바꾸는 법은

2진수를 4bit씩 끊어서 계산하는데 2진수 1111이 15이기 때문이다

10110011(2)을 16진수로 표현하면 0xB3이다

 

 

10진법 2진법 8진법 16진법 10진법 2진법 8진법 16진법
0 0000 0 0 8 1000 10 8
1 0001 1 1 9 1001 11 9
2 0010 2 2 10 1010 12 A
3 0011 3 3 11 1011 13 B
4 0100 4 4 12 1100 14 C
5 0101 5 5 13 1101 15 D
6 0110 6 6 14 1110 16 E
7 0111 7 7 15 1111 17 F

 

  Comments,     Trackbacks
원시인의 데이터 단위 공부

비트(bit) : 컴퓨터는 2진수를 처리한다. 이를 줄여서 비트라고 한다.

 

바이트(byte) : 1바이트는 8비트다. (ex:11001011)

영문 한 글자가 1바이트이며 한글은 2바이트이다.

 

킬로바이트(KB) : 스마트폰, 태블릿, pc의 가장 작은 파일 저장 단위는 보통 4KB이다.

1KB는 1024바이트이다

 

메가바이트(MB) : 1024KB는 1MB이다

 

기가바이트(GB) : 1024MB는 1GB이다

 

테라바이트(TB) : 1024GB는 1TB이다

  Comments,     Trackbacks
원시인의 관계형 데이터베이스(RDBMS) 공부

관계형 데이터베이스란?

현재 가장 많이 사용되고 있는 데이터베이스의 한 종류입니다
테이블(table)로 이루어져 있으며 이 테이블은 키(key)와 값(value)의 관계를 나타냅니다.
이처럼 데이터의 종속성을 관계(relationship)로 표현하는것이 관계형 데이터베이스의 특징입니다

 

관계형 데이터베이스의 특징

1.데이터의 분류,정렬,탐색 속도가 빠릅니다.
2.오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장해 줍니다.
3.기존에 작성된 스키마를 수정하기가 어렵습니다.
4.데이터베이스의 부하를 분석하는 것이 어렵습니다.

 

용어

열(column)
각각의 열은 유일한 이름을 가지고 있으며 , 자신만의 타입을 가지고 있습니다.
이러한 열은 필드(field) 또는 속성(attribute)이라고도 불립니다.

행(row)
행은 관계된 데이터의 묶음을 의미합니다
한 테이블의 모든행은 같은 수의 열을 가지고 있습니다.
이러한 행은 튜플(tuple) 또는 레코드(record)라고도 불립니다.

값(value)
테이블은 각각의 행과 열에 대흥하는 값을 가지고 있습니다.
이러한 값은 열의 타입에 맞는 값이어야 합니다.

키(key)
테이블에서 행의 식별자로 이용되는 열을 키(key) 또는 기본 키(primary key)라고 합니다.
즉 테이블에 저장된 레코드를 고유하게 식별하는 후보 키(candidate key)중에서 
데이터베이스 설계자가 지정한 속성을 의미합니다.

관계(relationship)
테이블 간의 관계는 관계를 맺는 테이블의 수에 따라 다음과 같이 나눌 수 있습니다.
1.일대일(one-to-one)관계
2.일대다(one-to-many)관계
3.다대다(many-to-many)관계
관계형 데이터베이스에서는 이러한 관계를 나타내기 위해 외래 키(foreign key)라는 것을 사용합니다
외래 키는 한 테이블의 키 중에서 다른 테이블의 행(row)을 식별할 수 있는 키를 의미합니다.

스키마(schema)
스키마는 테이블을 디자인하기 위한 청사진이라고 할 수 있습니다
이러한 스키마는 테이블의 각 열에 대한 항목과 타입뿐만 아니라 기본 키와 외래 키도 나타내야 합니다
스키마는 개체-관계 다이어그램이나 문자열로 표현할 수 있습니다

 

'원시인의IT공부 > IT공부' 카테고리의 다른 글

원시인의 자료형 공부  (0) 2019.08.09
원시인의 진법 공부  (0) 2019.08.07
원시인의 데이터 단위 공부  (0) 2019.08.07
  Comments,     Trackbacks
원시인의 SQL 공부

SQL이란?



SQL은 Structured Query Language 의 줄임말이며 관계형 데이터베이스 관리 시스템(RDBMS)의
데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어입니다
관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리,데이터베이스 스키마 생성과 수정,
데이터 베이스 객체 접근 조정 관리를 위해 고안되었다.
많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다.

 

 

 

SQL로 할 수 있는 것들

-데이터베이스에 질의를 보낼 수 있다. 
-데이터베이스로부터 데이터를 가져올 수 있다. 
-데이터베이스에 새로운 레코드를 삽입할 수 있다. 
-이미 존재하는 레코드를 갱신할 수 있다. 
-레코드를 삭제할 수 있다. 
-새로운 데이터베이스를 생성할 수 있다. 
-데이터베이스에 새로운 테이블을 생성할 수 있다. 
-데이터베이스에 저장 프로시져(stored procedures)를 생성할 수 있다. 
-데이터베이스에 뷰를 생성할 수 있다. 
-테이블,프로시져,뷰에 권한을 설정할 수 있다. 

 

 

 

 

대표적인 SQL명령어

SELECT - 데이터베이스에서 데이터 추출 
INSERT INTO - 데이터베이스에 새로운 데이터 삽입 
UPDATE - 데이터베이스의 데이터 갱신 
DELETE - 데이터 삭제 
CREATE DATABASE- 새로운 데이터베이스 생성 
ALTER DATABASE - 데이터베이스 변경 
CREATE TABLE - 테이블 생성 
ALTER TABLE - 테이블 변경 
DROP TABLE - 테이블 삭제 
CREATE INDEX- 인덱스 생성 
DROP INDEX - 인덱스 삭제 

 

  Comments,     Trackbacks
원시인의 JAVA 공부 (JAVA에 대해서)

JAVA란 무엇인가?

일단 JAVA는 객체지향 프로그래밍 언어입니다.

먼저 프로그래밍 언어부터 알아보겠습니다.

Program의 사전적 의미는 진행 계획이나 순서  또는 그 목록이라고 나와있는데

컴퓨터에서 Program은 어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과

순서를 기술한 일련의 명령문의 집합체라고 생각하시면 되고 프로그래밍은 말 그대로 프로그램을 만드는 일입니다.

프로그램을 만들려면 컴퓨터가 이해할 수 있는 언어로 작성해야하는데

그 언어 중 하나가 JAVA입니다.

여러가지 언어가 있는데 왜 JAVA를 사용하는지에 대해서 알아보았습니다.

 

첫번째. JAVA는 객체지향 언어입니다

          객체지향이란 프로그램을 개발하는 기법중 하나인데 

          부품에 해당하는 객체들을 먼저 만들고나서 그것들을

          조립해서 완성시키는 기법을 사용하는게 객체지향 언어입니다

 

두번째. JAVA는 이식성이 높습니다

          JAVA만의 실행환경(JRE : Java Runtime Environment)을 가지고있기 때문에

          어떤 운영체제에서도  실행 가능합니다.

 

세번째. JAVA는 동적로딩을 지원합니다

          애플리케이션이 실행될 때 모든 객체가 생성되지 않고,

          객체가 필요한 시점에 클래스를 동적로딩해서 객체를 생성합니다.

          또한 개발완료후 유지보수가 발생하더라도 해당 클래스만 수정하면 되므로 전체 애플리케이션을

          다시 컴파일 할 필요가 없습니다. 즉, 유지보수를 쉽고 빠르게 진행할 수 있습니다.

 

네번째. JAVA는 멀티쓰레드를 쉽게 구현 가능합니다.

          자바는 쓰레드 생성 및 제어와 관련된 라이브러리 API를 제공하고있기 때문에

          실행되는 운영체제에 관계없이 멀티 쓰레드를 쉽게 구현 가능합니다.

다섯번째.JAVA는 자동으로 메모리 정리를 해주는 Garbage collector가 있습니다.

           객체 생성 시 자동적으로 메모리 영역을 찾아서 할당하고, 사용이 완료되면

           Garbage collector를 실행시켜 자동적으로 사용하지 않는 객체를 제거시켜준다.

 

여섯번째.JAVA는 함수적 스타일 코딩을 지원합니다.

           함수적 프로그래밍은 대용량 데이터의 병렬 처리 그리고 이벤트 지향 프로그래밍에 적합한데

           자바는 자바8부터 람다식을 지원합니다 람다식을 사용하면 컬렉션의 요소를 필터링,매핑,집계 처리하는데

           쉬워지고, 코드가 매우 간결해집니다.

 

일곱번째.JAVA는 오픈서스 라이브러리가 풍부합니다.

           자바는 오픈소스 언어이며 자바를 이용해서 만들어진 라이브러리가 굉장히 많습니다.

           라이브러리를 이용하여 시간비용을 줄이고 좋은 어플리케이션을 만들기 편합니다.

 

 

 

 

  Comments,     Trackbacks