R Language

그래픽 예제 뜯어보기

 

 

 

 

지난 포스팅을 나열해 드리겠습니다.

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1

[IT/R] - R언어 | Part_3 차근차근 그래픽 예제 뜯어보기 2

[IT/R] - R언어 | Part_4 차근차근 그래픽 예제 뜯어보기 3

 

 

 

 

 

 

 

인공지능

 

빅데이터

 

머신러닝

 

딥러닝

 

4차 산업혁명

 

 

 

꼬리표를 또 달고

 

R언어 포스팅을 시작하겠습니다.



 

 

 

 

 

 

 

 

이번에는 polygon을 사용하여

 

그래프를 그려 보겠습니다.



 

 

 

 

 

 

 

polygon은 다각형, 각진 도형을 의미합니다.

 

 

 

 

 

 

 

폴리곤

 

어디서 많이 들어봤는데요

 

 

 

 

 

 

 

 

폴리곤이라 불리는 이 친구도

 

입체 다각형들의 집합입니다.

 

 

 

 

 

다각형 모양의 그래프는

 

들의 연결으로 선이 생기는데

 

다른 두 종류의 선 사이를 칠하면

 

다각형의 모양이 나오게 됩니다.

 

 

 

 

 

 

이번에도 demo함수를 사용하여 

 

진행하겠습니다.

 

 

 

 

 

 

 

 

 

아래는 전체 소스코드 입니다.

 

 

par(bg="white") n <- 100 x <- c(0,cumsum(rnorm(n))) y <- c(0,cumsum(rnorm(n))) xx <- c(0:n, n:0) yy <- c(x, rev(y)) plot(xx, yy, type="n", xlab="Time", ylab="Distance") polygon(xx, yy, col="gray") title("Distance Between Brownian Motions")

 

이번에도 한줄씩 한줄씩

 

실행을 해 보시고

 

어떤 순서로 어떻게 생성되는지 

 

알아보시기 바랍니다.

 

 

 

 

 

 

 

 

 

 

par(bg="white")

 

 

먼저 배경색을 흰색으로 만들어 줍니다.

 

 

 

 

 

 

 

n <- 100

 

 

n에 100을 저장해 주고,

 

 

 

 

 

 

 

x <- c(0,cumsum(rnorm(n)))

 

n(100)개의 정규분포 난수를 생성하여 (참조 :[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1)

누적합을 x에 넣어줍니다.

 

 

 

 

 

 

cumsum은 누적합을 구하는 함수입니다.

 

0이 들어가는 이유는

 

첫번째 인자부터 

 

더해진 값이 들어가기 때문에 넣습니다.

 

 

 

 

 

 

예를들어

 

아래 그림과 같이 qq에 1 2 3 4 5 를 넣고

 

cumsum (누적합)을 해 주시면

 

1 3 6 10 15의 값이 나온걸 확인하실 수 있습니다.

 

따라서 앞에 0을 넣어 0 1 3 6 10 15 순서로

 

배열을 넣어주었다 생각하시면 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

y <- c(0,cumsum(rnorm(n)))

 

이전과 똑같이 정규분포 난수의 누적합을 y에 넣어줍니다.

 

 

 

 

 

 

 

 

xx <- c(0:n, n:0)

 

xx에 0부터 n까지(100), 

 

그리고 n(100)부터 0까지의 배열을 

 

넣어줍니다.

 

 

 

 

 

 

 

 

 

 

 

yy <- c(x, rev(y))

 

y값 배열의 역순을 yy에 저장해 줍니다.

 

rev는 reverse의 약자라고 보시면 됩니다.

 

아래와 같이 배열의 순서가 역순으로 됩니다.

 

 

 

 

 

 

 

 

plot(xx, yy, type="n", xlab="Time", ylab="Distance")

 

x,y축으로 이루어진 그래프를 만듭니다.

type="n"이므로 좌표를 찍지 않고 (참고 :[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1)

 

x축과 y축의 제목을 넣어줍니다.

 

 

 

 

 

 

 

polygon(xx, yy, col="gray")

 

xx와 yy값의 좌표를 가지고 polygon. 즉 다각형의 그래프를 그립니다.

 

col처럼 여기도 다양한 옵션을 넣을 수 있습니다.

 

 

 

x, y -> 좌표

 

col -> 색상

 

lty -> 선 종류

 

lwd -> 선 굵기

 

density -> 선의 밀도

 

angle -> 선의 기울기

 

 

 

 

 

 

 

title("Distance Between Brownian Motions")

 

 

제목을 넣어줌으로 그래프를 완성합니다.

 

 

 

 

 

 

 

 

 

 

곧이어 다음 포스팅에서는 

 

가로 막대 그래프를 해보겠습니다.

 

 

 

 

 

 

 

감사합니다.



R Language

그래픽 예제 뜯어보기

 

 

 

 

 

 

지난 포스팅은 아래와 같습니다.

 

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1

[IT/R] - R언어 | Part_3 차근차근 그래픽 예제 뜯어보기 2

 

 

 

 

 

 

 

 

인공지능

 

빅데이터

 

머신러닝

 

딥러닝

 

4차 산업혁명

 

 

 

꼬리표를 또 달고

 

R언어 포스팅을 시작하겠습니다.

 

 

 

 

 

 

 

 

 

 

이번에는 Boxplot을 사용하여

 

그래프를 그려 보겠습니다.

 

 

 

 

 

 

 

 

 

 

 

boxplot의 뜻은 "상자 수염 그림" 이라고 합니다. (?)

 

... 네 그렇다고 합니다.

 

 

 

 

 

 

그림은 되게 단순한데

 

여기에는 데이터의 5가지나 되는

 

많은 정보를 얻을 수 있습니다.

 

 

 

1. 최솟값

2. 제 1사분위

3. 제 2사분위

4. 제 3사분위

5. 최댓값

 

 

 

 

 

 

 

 

바로 예제 진행하겠습니다.

 

이전 포스팅과 동일하게

 

demo를 사용하여

 

진행하겠습니다.

 

[IT/R] - R언어 | Part_3 차근차근 그래픽 예제 뜯어보기 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

전체 코드입니다.

 

 

 

 

par(bg="cornsilk") n <- 10 g <- gl(n, 100, n*100) x <- rnorm(n*100) + sqrt(as.numeric(g)) boxplot(split(x,g), col="lavender", notch=TRUE) title(main="Notched Boxplots", xlab="Group", font.main=4, font.lab=1)

 

 

 

 

 

 

바로 코드를 뜯어보겠습니다.

 

지금쯤이면 새로 보시는

 

sqrt, as.numeric, boxplot, split, notch 말고는 

 

다 아실것 같습니다.

 

 

 

 

 

par(bg="cornsilk")

 

 

cornsilk색으로 배경색을 지정해 줍니다.

 

 

 

 

 

 

 

 

 

n <- 10

 

 

n에 변수 10을 저장합니다.

 

 

 

 

 

 

 

 

 

g <- gl(n, 100, n*100)

 

g의 변수에 gl( )함수를 통한 값을 넣어줍니다.

 

 

 

 

 

gl( ) 함수는 요인 수열을 생성해 주는 함수입니다.

 

다 필요없고

 

예제를 보시면서 이해를 합시다.

 

gl(n, 100, n * 100) 이라고 되어 있습니다.

 

이에 따른 결과값으로는

 

 

위와같이 나오며

 

 

n의 값, 즉 10개의 레벨을 

 

* 따로 옵션값을 지정해 주지 않으면 

  숫자 1 ~ 카운팅 됩니다. 

 

각각 100번을 반복하고

 

총 갯수는 n * 100 즉, 1000개를 만든다

 

라고 보시면 됩니다.

 

 

 

 

추가적인 예제로

 

gl(2,3,labels=c("male","female"))

 

을 실행해 보시면

 

 

 

위와같은 화면을 보실 수 있으시고,

 

2개의 레벨을 가지고 

 

각 레벨당 3번의 반복 출력,

 

첫번째 예제와는 달리

 

그 레벨값은 male과 female로 지정해 주었습니다.

 

 

 

 

한번 직접 값을 몇개 넣어보시면 

 

와닿으실 겁니다.

 

 

 

 

 

 

 

 

 

 

x <- rnorm(n*100) + sqrt(as.numeric(g))

 

1000개의 정규분포 난수를 생성하여 (참조 :[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1)

 

g값에 들어가 있는 각각의 제곱근 값과 더해줍니다.

 

 

 

 

 

 

 

n * 100개, 1000개의 정규분포 난수를 생성하여

 

앞서 만든 g값 ( 1 1 1 1 --- 2 2 2 2 --- 3 3 3 3 --- 10 10 10 10 )에 

 

sqrt 즉, 제곱근을 구해서 각각의 값에 더해줍니다.

 

 

위와같은 값들의 행렬을 보실 수 있습니다.

 

그래프에 넣을 데이터들은

 

만들어졌고,

 

 

 

 

 

 

이제 boxplot 그래프를 만들어 봅시다.

 

 

 

 

 

 

 

 

 

boxplot(split(x,g), col="lavender", notch=TRUE)

 

10개의 그룹으로 분할된 데이터들을 boxplot으로 생성합니다.

 

 

 

 

 

notch는 옵션들 중 하나인데, 

 

옵션들을 살펴보겠습니다.

 

 

 

 

 

col - 색상 선택

 

range - 박스의 끝에서 수염까지의 길이를 지정 (default : 1.5 )

 

notch - true 시, 상자의 허리부분을 가늘게 표시

 

width - 박스의 폭 지정

 

horizontal, outline, plot, boxwex 등등 많은 옵션들이 존재합니다.

 

 

 

 

 

찾으시는 옵션이 있다면

 

찾아서 적용해 보시기 바랍니다.

 

 

 

 

 

 

title(main="Notched Boxplots", xlab="Group", font.main=4, font.lab=1)

 

 

이전 포스팅을 보셨다면 그냥 한글 읽듯이 이해 하실 수 있으실 겁니다.

 

 

 

 

 

 

이상으로 boxplot 그래프에 대한 예제

 

마무리하겠습니다.

 

 

 

 

다음 포스팅에는 다각형과 가로 막대그래프

 

만들어 보겠습니다.

 

 

 

 

 

 

감사합니다.

R Language

그래픽 예제 뜯어보기

 

 

 

 

 

 

 지난 포스팅은 아래와 같습니다.

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1

 

 

 

 

 

 

지난 포스팅에 이어

 

 

 

 

인공지능

 

빅데이터

 

머신러닝

 

딥러닝

 

4차 산업혁명

 

 

 

꼬리표를 또 달고

 

R언어 포스팅을 시작하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

이번에 보실 예제는 

 

pie( ) 함수가 주가 되어 

 

파이차트 , 원형차트를 사용해

 

실습을 진행하겠습니다.

 

 

 

 

 

 

 

 

 

 

저번 포스팅과 같이 데모를 사용하여

 

두번째 예제를 활용하여 진행하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

전체 코드입니다.

 

 

par(bg = "gray") pie(rep(1,24), col = rainbow(24), radius = 0.9) title(main = "A Sample Color Wheel", cex.main = 1.4, font.main = 3) title(xlab = "(Use this as a test of monitor linearity)", cex.lab = 0.8, font.lab = 3)

 

이번에도 

 

한줄씩 한줄씩 실행을 먼저 해 보시고

 

아래 코드를 보시면 될 것 같습니다.

 

 

 

 

 

 

 

 

 

 

 

par(bg = "gray")

 

 

배경색을 회색으로 하여 틀을 만들어 줍니다.

 

 

 

 

 

pie(rep(1,24), col = rainbow(24), radius = 0.9)

 

 

파이차트를 생성합니다.

 

 

 

 

 

 

pie( x , types ) 이렇게 사용 하는데,

 

rep(1,24) = c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) 처럼

 

 동일하다 생각하시면 됩니다.

 

 

 

 

 

즉, 이렇게 사용 하셔도 됩니다.

 

xvalue <- c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)

 

pie( xvalue, types )

 

 

 

 

 

 

 

 

 

여기엔 다양한 옵션들을 넣을 수 있는데,

 

col -> 색상

 

radius -> 파이차트 크기

 

density -> 밀집도 (수)

 

angle -> 각도

 

clockwise -> 방향 ( T = 시계방향(default값) , F = 반시계방향 )

 

등이 있습니다.

 

 

 

 

 

 

 

 

위 숫자를 좀 더 변형 시켜서

 

이렇게 실행을 한다면 아래와 같은 결과를 보실 수 있습니다.

 

 

pie(rep(1,200), col = rainbow(200), radius = 1.0)

 

 

 

 

 

 

 

 

 

title(main = "A Sample Color Wheel", cex.main = 1.4, font.main = 3)

 

 

A Sample Color Wheel 이라는 제목을 주고 도형 및 글자 크기를 설정합니다.

 

 

 

 

 

 

 

 

 

title(xlab = "(Use this as a test of monitor linearity)", cex.lab = 0.8, font.lab = 3)

 

 

마찬가지로 x축 제목 및 도형, 글자 크기를 설정해 줍니다.

 

 

 

 

 

 

 

 

 

다음 예제는 

 

다양한 값의 크기를 가진 데이터들과

 

그 데이터에 이름을 붙여 

 

전형적인 원형차트로 보실 수 있습니다.

 

다음 예제의 전체 코드입니다.

 

 

pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12) names(pie.sales) <- c("Blueberry", "Cherry", "Apple", "Boston Cream", "Other", "Vanilla Cream") pie(pie.sales, col = c("purple","violetred1","green3","cornsilk","cyan","white")) title(main = "January Pie Sales", cex.main = 1.8, font.main = 1) title(xlab = "(Don't try this at home kids)", cex.lab = 0.8, font.lab = 3)

 

 

 

 

 

 

 

 

 

 

 

pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12)

 

먼저 pie.sales라는 이름을 가진 벡터 변수를 생성해 줍니다.

 

 

 

 

 

 

 

 

 

 

names(pie.sales) <- c("Blueberry", "Cherry", "Apple", "Boston Cream", "Other", "Vanilla Cream")

 

각각의 벡터값에 이름을 붙여줍니다.

 

 

 

 

 

 

 

 

 

pie(pie.sales, col = c("purple","violetred1","green3","cornsilk","cyan","white"))

 

pie.sales를 사용하여 파이차트를 생성해 줍니다.

 

 

 

 

 

 

 

 

 

 

위의 RGB 예제에서는 

 

pie(x, types)의 x값에 모두 1이 들어가서

 

파이차트의 각각의 데이터 크기가 같았습니다.

 

이번에는 pie.sales의 다양한 값을 사용하여

 

각각 다른 크기의 데이터를 가진

 

파이차트를 만듭니다.

 

 

 

 

 

 

 

 

 

 

title(main = "January Pie Sales", cex.main = 1.8, font.main = 1)

 

January Pie Sales라는 제목을 주고 도형 및 글자의 크기를 설정해 줍니다.

 

 

 

 

 

 

 

 

 

 

 

title(xlab = "(Don't try this at home kids)", cex.lab = 0.8, font.lab = 3)

 

마지막으로 x축에도 이름을 주고 도형 및 글자 크기를 설정해 줍니다.

 

 

 

* 배경색은 따로 지정하지 않으셨다면 흰색으로 나타날 겁니다.

 

 

 

 

 

 

 

 

 

이로써 정말 간단한 몇줄

 

파이차트(원형차트)를 만들어 보았습니다.

 

다음 포스팅에서는 다양한 모양의 그래프를

 

만들어 보는 실습을 하며

 

추후 일차적인 목적은

 

지리정보공간시스템(GIS)을 

 

실습해 보는것으로 하겠습니다.

 

 

 

 

 

 

 

감사합니다.



 

R Language

그래픽 예제 뜯어보기

 

 

 

 

이전 포스팅은 아래와 같습니다. 

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

 

 

 

 

 

 

 

 

지난 포스팅에 이어

 

 

인공지능

 

빅데이터

 

머신러닝

 

딥러닝

 

4차 산업혁명

 

 

 

 

 

 

 

 

 

 

 

꼬리표를 달고

 

R언어 포스팅을 시작하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

아무리 수백만개의 정확하고 유용한 데이터가 있다 한들

 

이를 우측에 보이는 것처럼 

 

시각적으로 보기 쉽게 나타내지 않는다면

 

아래와 같이 보기 힘든 데이터들은 

 

그냥 한낱 글자에 불과할 겁니다.

 

 

 

 

 

 

 

 

 

 

 

 

만약 R을 설치하지 않으셨다면,

 

이전 포스팅을 보시고 

 

설치를 하시길 바랍니다.

 

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

 

R언어 | Part_1 R 다운로드 및 맛보기

통계 및 자료분석을 위한 R Language 인공지능 딥러닝 머신러닝 . . . 4차 산업 혁명이라는 키워드와 같이 최근 몇년간 큰 이슈가 되고 있는 전공자가 아니더라도 한번쯤은 들어봤거나 알 것 같은 �

pmgreviewer.tistory.com

 

 

 

 

 

 

 

 

 

 

* 들어가기에 앞서 R에서는 

 

  많은 샘플 데이터들을 들고 있습니다.

 

  data(package = .packages(all.available = TRUE))

 

  위 코드를 실행 하시면

 

 

 

 

 

 

  

 

 

 

  

 

 

  위와같이 뜰텐데, 

 

  여기서 aids를 사용하고 싶으시다면

 

  require(boot)를 하셔서

 

  위의 boot package를 추가하시고,

 

  head(aids) 혹은 (위의 6개 데이터만을 출력)

 

  {aids}를 실행하시면 (전체 데이터 출력)

 

  아래와 같은 해당 데이터 리스트들이 출력됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이제 차근차근

 

R 에서 제공해주는 소스를 가지고 

 

데이터를 어떻게 시각적으로 활용하는지 

 

graphics demo를 활용하여 

 

같이 공부해봅시다 !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

먼저 아래 그림과 같이 

 

demo(graphics)를 입력해 주시고

 

return을 친 뒤

 

우측에 뜨는 창을 한번 클릭해 주시면 

 

아래와 같은 화면을 보실 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

왼쪽에는 소스코드가 나타나고

 

오른쪽에는 그 소스코드로 실행되는

 

graphic 화면을 보실 수 있습니다.

 

 

 

 

 

 

 

 

 

 

첫번째 예제의 전체 소스코드 입니다.

 

 

require(datasets) require(grDevices); require(graphics) x <- stats::rnorm(50) opar <- par(bg = "white") plot(x, ann = FALSE, type = "n") abline(h = 0, col = gray(.90)) lines(x, col = "green4", lty = "dotted") points(x, bg = "limegreen", pch = 21) title(main = "Simple Use of Color In a Plot", xlab = "Just a Whisper of a Label", col.main = "blue", col.lab = gray(.8),cex.main = 1.2, cex.lab = 1.0, font.main = 4, font.lab = 3)

 

 

 

 

 

 

 

 

 

 

 

 

 위의 예제를 한줄씩 한줄씩 

 

실행해 보신 뒤, 코드를 보시면

 

코드들이 눈에 들어오면서 

 

아~ 이렇게 만들어 지는거구나 라고 하실겁니다.

 

 

 

 

 

 

 

 

 

 

 

이제 소스코드를 차근차근 보겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

> require(datasets); require(grDevices); require(graphics)

 

 

- 먼저 우리가 사용할 라이브러리를 가져옵니다. 

 

 

 

 

 

*그 전에 먼저 설치되어 있어야 합니다 . 

 위 라이브러리들은 기본적으로 포함되어 있으므로 가져오기만 하면 됩니다.

 

* library(datasets)를 사용해도 됩니다.

  require과 library의 차이점은 설치되어있지 않은 라이브러리를 호출 할 경우

  library를 오류를 발생하고, require은 경고 메시지를 보여줍니다.

 

 

 

 

 

 

 

 

 

 

 

> x <- stats::rnorm(50)

 

 

50개의 정규분포 난수를 생성합니다.

 

 

 

 

 

 

 

 

stats는 패키지 중 하나로

 

통계 계산이나 난수 생성 함수가 내장되어 있습니다.

 

norm() 함수는 정규분포를 나타내며

 

rnorm(50)은 50개의 정규분포 난수를 생성합니다.

 

* stats::rnorm(50) 대신 rnorm(50)을 사용해도 무방합니다.

 

 

 

 

 

 

 

 

 

 

 

> opar <- par(bg = "white")

 

 

배경색을 하얀색으로 하여 그래프의 틀을 설정합니다.

 

 

 

 

 

par()에는 다양한 옵션들이 존재합니다.

 

배경색, 전경색, 폰트, 글자크기, 

 

선의 모양, 좌표 눈금의 길이 설정까지 

 

다양한 종류의 옵션들을 설정할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

> plot(x, ann = FALSE, type = "n")

 

 

x,y축으로 이루어진 그래프를 만들수 있는 함수입니다.

 

 

 

 

뒤에 보이시는 type은 어떻게 그릴 것인지에 대한 옵션이며,

 

p -> 점

 

l -> 선

 

b -> 점과 선

 

s -> 계단모양 

 

n -> 좌표를 찍지 않음

 

등의 옵션이 존재합니다.

 

 

 

 

 

 

 

 

몇줄 안되는데 설명은 무쟈게 긴것 같네요

 

그리고 아직 위에 나온대로 그릴려면 한참 멀었습니다.

 

이제 틀만 만들었거든요

 

 

 

 

 

 

 

고로 이어서 진행하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

> abline(h = 0, col = gray(.90))

 

 

직선을 그려줍니다.

 

 

 

 

 

 

 

a -> 각각의 절편

 

b -> 기울기

 

h -> 수평선일 시, y값

 

v -> 수직선일 시, x값

 

lty -> 선의 모양

 

lwd -> 선의 굵기

 

col -> 색의 색상

 

main -> plot의 제목 (이름)

 

 

 

 

 

 

 

 

 

 

 

> lines(x, col = "green4", lty = "dotted")

 

 

좌표의 점들을 이어 선을 그립니다.

 

 

 

 

 

* plot함수의 type = l 과 비슷합니다.

 

여기서도 abline과 비슷한 옵션들을 가지고 있으며

 

xlim, ylim ( 좌표 범위 )

 

xlab, ylab ( 축의 이름)

 

등이 추가적으로 있습니다.

 

 

 

 

 

 

 

 

 

 

> points(x, bg = "limegreen", pch = 21)

 

 

점을 찍는 함수입니다.

 

 

 

 

 

x, y -> 좌표값

 

pch -> 점의 모양

 

type -> n, p, l, b, c, s 등의 옵션들이 있습니다.

 

 

 

 

 

 

 

 

 

 

> title(main = "Simple Use of Color In a Plot",                  

  + xlab = "Just a Whisper of a Label",                          

  + col.main = "blue", col.lab = gray(.8),                       

  + cex.main = 1.2, cex.lab = 1.0, font.main = 4, font.lab = 3)  

 

 

 

제목( 이름 )을 설정해줍니다.

 

 

 

 

 

 

 

main -> 주 제목

 

sub -> 부 제목

 

xlab -> x축 이름

 

ylab -> y축 이름

 

col. 을 통해 색상의 설정도 가능하며

 

cex. 및 font.를 통해 도형의 크기 및 글자 크기 설정도 가능합니다.

 

 

 

 

 

 

되게 짧은 코드

 

한... 중학생이 그린것 같은 그래프가 완성되었습니다.

 

 

 

 

 

 

 

 

 

몇개의 예제를 추가적으로 한 뒤,

 

나중에는 훨씬 멋진 그래픽도 만들어 보도록 

 

열심히 공부합시다.

 

 

 

 

 

다음은 RGB를 이용한 그래픽 예제로 

 

포스팅 하겠습니다.

 

 

 

 

 

 

감사합니다.

통계 및 자료분석을 위한

R Language

 

 

 

 

 

 

 

인공지능

 

딥러닝

 

머신러닝

 

.

.

.

 

 

 

4차 산업 혁명이라는 키워드와 같이

 

최근 몇년간 큰 이슈가 되고 있는

 

전공자가 아니더라도

 

한번쯤은 들어봤거나

 

알 것 같은 느낌의 (?) 단어들 입니다.

 

물론 저 기술들의 가운데엔 빅데이터가 있습니다.

 

 

 

 

 

 

 

 

 

 

이 무수한 양의 데이터들을 

 

파악하고 분석하고 

 

이를 토대로 의사 결정에 도움을 주는

 

정보를 찾아냅니다.

 

정보를 원하는 사람들에게 더 정확한 정보를 제공해 주기 위해

 

자료를 정확하게 분석하는 능력이 필요합니다.

 

 

 

 

 

 

 

 

 

이젠 자료를 단지 "저장"하는것에 한하지 않고

 

그 속에 있는 정보들의 유용한 상관관계를 파악해야합니다.

 

자료를 수집하고, 시각화하여 

 

이를 토대로 탐색하여 

 

통계기계학습 등의 방법을 적용해

 

원하는, 혹은 생각지도 못한 유용한 정보들을 추출해 냅니다.

 

 

 

 

 

 

 

 

 

그리고 이 자료들을 분석하는데 있어 

 

효과적인 툴인 R을 사용해서 진행해보려 합니다.

 

오픈소스이기 때문에 무료로 사용이 가능하고

 

수많은 통계 라이브러리들이 있어 

 

손쉽고 간단하게 접근 및 사용이 가능합니다.

 

그리고 Interactive Mode 이기 떄문에

 

명령어를 입력하면 실행 결과를 바로바로 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

지금부터 설치 및 실행을 해 보도록 하겠습니다.

 

 

 

 

 

 

 

 

1. R 설치

우선 

 

https://cran.seoul.go.kr/

 

위 사이트에 접속을 하여 

 

 

 

자신의 OS에 맞게 선택하고

 

 

 

 

 

 

 

 

 

 

 

base를 선택해 주시고

 

 

 

 

 

 

 

 

 

 

 

 

download를 차례대로 눌러 

 

설치를 진행해 줍니다.

 

* 계속 다음 다음을 눌러 다운로드를 끝마쳐주시면 됩니다.

 

 

 

 

 

 

 

 

 

 

다운로드를 마치셨으면 

 

시작 메뉴에 R언어가 설치된 것을 보실 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

R x64 v이 있고

 

R i386 v이 있을겁니다

 

 블록체인 포스팅을 보신 분들은 아시겠지만

 

64는 64-bit,

 

i386은 32-bit를 의미합니다

 

어느것을 선택하던 상관은 없습니다.

 

 

 

 

 

 

 

 

 

 

 

실행을 하시면

 

아래와 같은 화면을 보실 수 있을 겁니다.

 

 

 

 

 

 

2. R 맛보기

 

R을 설치하면 기본으로 제공되는 자료가 있는데,

 

이를 보기위해 iris를 입력해 봅시다.

 

 

 

 

그럼 위와같이 150개의 자료들이 

 

나오는걸 확인하실 수 있을 겁니다.

 

 

 

 

 

 

 

 

 

 

 

 

이를 토대로 iris의 Sepal.Length 데이터의

 

평균과 표준편차를 구해보겠습니다.

 

 

위와같이 간단한 출력은 물론

 

 

 

 

 

히스토그램 또한 쉽게 나타낼 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

다음 포스팅 부터는

 

demo()를 활용하여 

 

데이터 시각화에 대한

 

코드 분석을 진행하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

감사합니다.

웹에서 Javascript | web3.JS를 사용하여 

블록체인에 접근하기

 

 

 

 

 

 

 

 

앞선 포스팅에서 WAMP를 설치 했었는데

 

이보다 더 간단하게 할 수 있는 방법을 찾아

 

다른 방법을 사용하려고 합니다!

 

 

 

 

 

 

제가 했던 소스들과 버전들이 몇달 전 것들이라

 

바껴서 실행이 안될 가능성이 있기 때문에

 

저 또한 처음부터 

 

하나하나 해 나가다가 

 

중간에 오류가 발생하

 

방향을, 소스를 고쳐가며 합니다.

 

 

 

제 생각에는 차근차근 따라 하신다면

 

무리없이 원활하게 잘 되리라 생각합니다.

 

 

 

 

 

 

 

우선

 

먼저 저희는 npm을 사용 할 것이기에

 

npm이 깔려 있는지부터 확인해줍니다.

 

 

 

 

 

 

 

만약 버전이 낮으신 분들은

 

npm update를 하셔서

 

진행하시면 됩니다.

 

 

 

 

 

 

 

 

 

깔려있지 않다면

 

아래에 접속하여 다운로드를 받으세요.

 

https://nodejs.org/en/

 

 

 

 

 

 

 

 

그다음

 

제가 WAMP대신 사용한다던 서버를 깝니다.

 

npm install live-server -g

 

http-server를 아시는 분들은 비슷하다고 생각하시면 됩니다.

 

만약 호스팅 중인 파일이 저장이 되면 

 

자동으로 리로드를 하여 번거로움을 없애줍니다.

 

 

 

 

 

 

 

 

 

이 서버를 실행하는 방법은 

 

원하는 폴더 루트에 들어가

 

cmd창에서 live-server를 입력해 주시면 

 

아래와 같이 간단히 실행이 됩니다.

 

 

 

Ready for chnages가 뜨고 가만히 있다면 

 

잘 실행 된 겁니다

 

아래의 Change detected ~~ 는 

 

파일을 저장 했을 시, 감지하여 이를 리로드 시켜줍니다.

 

 

 

 

 

 

그리고 bower을 설치해 줍니다.

 

npm install -g bower

 

 

 

 

 

여기서 git도 필요할겁니다 (아마?)

 

그러므로 git도 설치해 줍시다.

 

https://git-scm.com/

 

 

깃 설치 중에 이러한 창이 뜰텐데

 

가운데 옵션을 선택해 주시면 됩니다.

 

1. git을 설치하면 함께 설치되는 git bash에서만 git을 사용할 경우

2. git을 윈도우의 cmd창에서도 사용할 경우 - 자동으로 환경변수 추가

3. unix 명령어까지도 사용할 경우

 

나머지는 기본값으로 셋팅해 주시면 됩니다.

 

 

 

 

 

 

 

 

이제 저희가 html파일을 생성할 

 

폴더를 하나 만들어 그 위치에 들어가서

 

bower install web3를 터미널에 입력해

 

web3.js를 사용하기 위해 설치합니다.

 

파일경로\bower_components\web3\dist에 

 

web3.js파일이 존재합니다. ( 추후 재언급 )

 

 

 

 

 

* 원래 npm으로 npm install web3를 사용해 깔았었는데,

 

  자잘한 오류들이 너무 많이 떠 bower로 바꾸었습니다.

  

  bower_components 폴더 안에 보시면 

 

  example도 있으니 한번 훑어 보시기 바랍니다.

 

 

 

 

 

 

 

 

이제  기본적인 셋팅은 다 끝났습니다.

 

블록체인을 실행해 주셔야 접근이 가능하며

 

실행옵션을 아래와 같이 주시고 실행 해 주시기 바랍니다.

 

geth --datadir "블록체인 데이터 저장 디렉토리" --rpc --rpcaddr 127.0.0.1 --rpcport "8545" --networkid 15 --rpccorsdomain "*" console

 

* 접속이 안되시는 분들은 rpcaddr을 0.0.0.0으로 해주시면 됩니다.

 

 

 

 

 

 

 

 

그리고 아래 소스를 그대로  html파일로 복사 붙여넣기 하셔서

 

방금 만든 폴더 안에 만들어 줍니다.

 

 

 

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<!-- web3.js를 사용하기 위해 bower를 통해 설치한 web3.js 경로를 추가해 줍니다. -->

<script type="text/javascript" src="../bower_components/web3/dist/web3.js"></script>

<title>go-ethereum 블록체인 실습</title>

</head>

<body>

 

<!-- 저희가 만든 geth 블록체인의 데이터를 들고 오겠습니다. -->

<h1>Private Blockchain Network</h1>

<hr>

 

<!-- 계정목록을 들고 옵니다. -->

<div style="background-color:azure">

<h2>Accounts</h2>

<p id = "accounts"></p>

</div>

 

<!-- 채굴시 이더(wei)가 들어가는 이더(코인)베이스 계정입니다. -->

<div style="background-color:aquamarine">

<h2>Etherbase Account</h2>

<p id = "etherbase"></p>

</div>

 

<!-- 코인베이스의 이더량(wei)를 확인합니다. -->

<div style="background-color:bisque">

<h2>Balance of Coinbase Account</h2>

<p id = "getbal"></p>

</div>

 

<!-- 현재까지 채굴 된 블록의 갯수를 나타냅니다. -->

<div style="background-color:aliceblue">

<h2>Mined block Number</h2>

<p id = "mined"></p>

</div>



</body>

</html>

 

<script>

// 우선 web3를 사용하기위해 선언해줍니다.

var web3 = new Web3();

 

//geth 실행시, localhost / rpcport번호로 지정해 주었던 8545번으로 설정해 줍니다.

web3.setProvider(new Web3.providers.HttpProvider('http://localhost:8545'));



/* 명령어 창에서 eth.accounts[0] 이런식으로 사용했듯이

* web3를 앞에 붙여 web3.eth.accounts[0] 이렇게 간단히

* 사용 할 수 있으나, callback 함수는 추가적인 사용법이 필요합니다.

*/

 

// 모든 계정을 불러와 출력합니다.

for(i=0; i<web3.eth.accounts.length;i++){

document.getElementById("accounts").append( web3.eth.accounts[i] + "\n");

}

 

// 코인베이스 계정을 들고와 출력합니다.

document.getElementById("etherbase").append("coinbase Account : " + web3.eth.coinbase + "\n");

 

// 코인베이스의 이더량을 출력합니다.

document.getElementById("getbal").append("balance of coinbase : " + web3.eth.getBalance(web3.eth.coinbase) + "\n");

 

// 현재까지 채굴 된 블록의 갯수를 나타냅니다. 추가적인 사용법이 있습니다.

web3.eth.getBlockNumber(

function(a,blocknum){

document.getElementById("mined").append(blocknum);

}

);

// 또한 이렇게 사용 할 수도 있습니다.

// (async ()=> {await web3.eth.getBlockNumber(console.log) })()

 

 

// web3에 대한 무수히 많은 정보가 들어 있습니다.

// 개발자도구 ( 윈도우는 F12 )에 들어가셔서 콘솔창에서 확인 하실 수 있습니다.

 

console.log(web3);

</script>

 

 

 

 

 

 

주저리주저리 주석을 장황하게 달아 

 

길어 보이는데

 

정말 간단한 소스입니다.

 

 

 

 

 

 

 

 

주석을 자세히 달아놓아

 

따로 설명은 하지 않겠습니다.

 

 

 

 

 

 

 

 

 

 

위 파일과 같이

 

bower을 통해 web3.js를 다운받았고,

 

소스파일을 긁어 html파일에 넣었으며

 

제네시스 파일 및 geth 실행옵션 등등 잘 셋팅 하여

 

블록체인 네트워크를 실행중이고

 

live-server를 파일 경로에서 실행 하셨다면

 

아래와 같은 화면을 보실 수 있으실 겁니다.

 

 

 

 

Accounts

 

모든 계정 리스트

 

 

 

Etherbase Account 

 

이더베이스 계정

 

 

 

Balance of Coinbase Account

 

이더베이스의 이더량

 

 

 

Mined block Number

 

현재까지 채굴된 블록의 수 

 

 

 

 

 

 

 

만약 위 조건을 다 만족하여 실행을 하였는데도

 

위의 화면이 아닌 아래와 같은 화면만 뜬다면

 

 

 

개발자도구의 console창을 확인해 보시면

 

에러의 이유를 알 수 있습니다.

 

 

 

 

 

 

예를 들어

 

 

 

위와같은 화면은

 

web3.js파일을 찾을 수 없고,

 

그로인해 Web3를 정의 할 수 없다고 합니다.

 

 

 

 

 

 

따라서 경로 문제이기 때문에 

 

<head>태그 안의 

 

 

<script type="text/javascript" src="../bower_components/web3/dist/web3.js"></script>

 

 

web3.js 파일의 경로를 

 

아래와 같이 

 

절대경로로 설정해 주시면 됩니다.

 

 

<script type="text/javascript" src="C:\Users\taegyu\Desktop\ttttest\bower_components\web3\dist/web3.js">

</script>

 

 

 

 

 

 

 

 

이 외에도 자잘한 에러가 뜰 수 있는데,

 

구글링을 하시면 쉽게 해결 하실 수 있으실 겁니다.



웹에서 나의 블록체인에 접근하기 위한

WAMP 설치

 

 

 

 

 

 

 

 

 

 

 

 

 

이제까지 블록체인 네트워크를 

 

각자의 PC 혹은 VM위에 

 

구성하였습니다.

 

 

 

 

 

 

 

 

앞으로 포스팅 할 주제는

 

에서 블록체인에 접근하여

 

블록체인에 있는 정보

 

 띄우는 것 입니다.

 

 

 

 

 

 

먼저, 웹을 사용하기 위해

 

저희는 서버 설치하겠습니다.

 

 

 

 

 

 

 

 

 

우선 HTML, javascript, php 등을 사용하여

 

웹을 만들어 실행하기위해

 

웹 서버를 설치합니다.

 

 

 

 

 

 

Bitnami WAMP를 설치하겠습니다.

 

WAMP

 

Windows Apache Mysql Php의 약자로

 

윈도우에서 apache 서버, mysql DB, PHP를

 

모아놨다 라고 생각하시면 됩니다.

 

 

 

 

 

고로 WAMP말고도

 

Linux에서 사용하는 LAMP

 

Mac에서 사용하는 MAMP 

 

등이 있습니다.

 

 

 

( 제가 설치한 버전은 bitnami-wampstack-7.1.24-1-windows-x64 입니다. )

 

설치 경로 -> https://bitnami.com/stack/wamp

 

 

 

 

Windows 64-bit를 설치합니다. ( 각자 컴퓨터에 맞게 )

 

 

 

간간히 오류가 뜨기도 하는데

 

그러면 google에 로그인 하여 

 

다운로드 하시면 잘 됩니다.

 

 

 

 

 

 

 

스크린샷을 첨부한 설정창 말고는

 

기본 셋팅값으로 해 주시면 됩니다.

 

 

 

여기서는 모두 사용하지 않으므로 

 

다 체크해제 해 주시면 됩니다.

 

 

 

 

 

 

 

 

 

위 화면은

 

mysql에 사용할 비밀번호를 설정하는건데

 

추후 제가 mysql을 사용 할 지는 모르겠습니다.

 

여튼 6글자 이상의 패스워드를 설정해 줍니다.

 

 

 

 

쭉쭉 진행 하셔서

 

아래와 같은 화면이 나오면 다 설치된 겁니다.

 

 

 

 

 

 

 

 

 

그리고 잘 설치 되었는지 확인하기 위해

 

주소창에 

 

localhost를 입력하시면,

 

 

 

위와 같은 화면을 보실 수 있습니다.

 

 

 

 

 

 

 

이 화면은 index.html화면인데,

 

Bitnami WAMP 설치시, 따로 경로 설정을 해 주지 않았으면 보통

 

C:\Bitnami\wampstack-7.1.24-1\apache2\htdocs

 

위 경로가 기본 루트이며, 위 경로에 있는

 

index.html파일이 위의 웹 페이지를 나타냅니다.

 

 

 

 

 

 

 

저흰 앞으로 여기서 HTML 및 PHP 파일을 만들어

 

블록체인에 접근하여 정보를 들고 올 것입니다.

 

 

 

 

 

 

 

 

몇일간 R언어를 포스팅 한다고 

 

블록체인 글을 이어 못 썻는데

 

빠르게 포스팅 하여 끝마치겠습니다.

 

 

 

 

 

 

 

감사합니다.

 

클릭밖에 모르는 사람들을 위한

윈도우에서 블록체인 네트워크 구성하기

 

 

 

 

 

 

 

 

 

윈도우 OS위에

 

Virtual box를 사용하여 

 

ubuntu 16.04를 설치해

 

그 위에서 geth를 설치 및 구동해 보았습니다.

 

 

 

 

 

 

 

보통 리눅스 서버에서 돌리기에

 

이렇게 해 보았는데,

 

윈도우에서도 

 

어떻게 설치하는지 

 

여쭈어 보시는 분들도 계셔서

 

따로 윈도우에서 블록체인 네트워크

 

구성하는 법을 포스팅 하려고 합니다.

 

 

 

 

 

 

 

윈도우에서 블록체인 네트워크를 구성하는것은

 

리눅스보다 쉽습니다 ! 

 

 

 

 

 

 

 

제가 올 해 초에 윈도우에서 해 보려고 했을때는

 

여기저기서 많은 오류가 있었는데

 

지금 다시 해 보니

 

정말 간단하고 빠르게 구동이 되더라구요

 

 

 

 

 

 

 

 

자, 이제부터 

 

윈도우에서 

 

geth 블록체인 네트워크 

 

설치, 구동을 시작합니다.

 

 

 

 

 

 

먼저 아래 사이트에서 

 

윈도우용 geth를 다운로드 해 줍니다.

 

https://geth.ethereum.org/downloads/

 

 

 

 

 

 

 

 

다운 후, 실행하여 

 

모두 기본 셋팅값으로 "다음"을 진행해 주시면 됩니다.

 

*추후 이더리움 블록체인 네트워크 삭제를 원하시는 분들은

 

설치중에 볼 수 있는 아래 화면에 보이는 

 

경로에 있는 Geth 폴더를 삭제해 주시면 됩니다.

 

 

 

 

 

 

 

 

 

원하시는 루트에 

 

블록체인 데이터들을 저장할 폴더 파일을 생성해 주시고

 

genesis.json파일도 생성해 줍니다.

 

 

 

genesis.json 파일의 생성 = https://pmgreviewer.tistory.com/7

 

geensis.json 파일의 옵션 = https://pmgreviewer.tistory.com/11

 

( 저는 바탕화면 ( ~/Desktop/ )에 private-blockchain이라는 폴더

 

  및 genesis.json파일을 생성해 주었습니다. )

 

 

 

 

 

 

 

 

 

그 뒤, cmd창을 열어 

 

(윈도우키 + S로 실행 창을 열어 cmd 입력하시면 됩니다. )

 

리눅스에서 했듯이 똑같이

 

geth --datadir "private-blockchain" init genesis.json

 

을 실행하여 제네시스 블록을 지정해 주고

 

geth --datadir "private-blockchain" --networkid 15 console

 

을 실행하여 블록체인 네트워크에 접속합니다.

 

 

네 정말 이게 끝입니다 !

 

 

 

 

 

 

 

 

이로써 윈도우에 geth 블록체인 네트워크를 구축하였습니다.

 

 

 

블록체인 네트워크 명령어를 

 

우분투와 동일하게 사용하시면 됩니다 !

 

명령어 사용하기 -> https://pmgreviewer.tistory.com/8 

 

 

 

 

 

 

바로 다음 포스팅에는

 

javascript를 사용해

 

제 컴퓨터 (윈도우 OS)에 설치한

 

블록체인 네트워크를 에서 접근하여

 

어떻게 사용하는지,

 

어떻게 블록체인 네트워크의 정보를 

 

들고 오는지 알아보겠습니다.

 

 

 

 

 

 

 

감사합니다.



제네시스 블록

블록체인의 시작

 

 

 

 

 

 

 

제네시스 블록

 

블록체인 네트워크의

 

"첫번째" 블록이며 

 

수많은 블록체인 네트워크들을 분별하는

 

하나의 "" 역할을 합니다.

 

 

 

 

 

 

그러므로,

 

같은 블록체인 네트워크를 연결하려면

 

이 파일은 "무조건" 같아야 하며

 

특히나 이 제네시스 파일의

 

chainId값을 가지고 구분한다 생각 하시면 됩니다.

 

 

 

 

 

아래는 geth 블록체인을 형성 시 필요한

 

genesis.json 파일의 내용이며

 

안의 값이 어떤 것을 의미하는지에 대한

 

설명을 추가적으로 적어 놓았습니다.

 

 

 

{ "config": { "chainId": 15, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "difficulty": "20", "gasLimit": "2100000", "alloc": { "bbc34675b938a3bc565e64a4a0050ebc1b2d1d827": { "balance": "3100000" }, "19abbcc9ae680c1aa7819bdfa47a623b7b77dade": { "balance": "2100000" } } }

 

 

 

“config”

 

블록체인 구성을 의미합니다.

 

 

 

 

 

 

 

“chainId”

 

권한이 없는 사용자의 유입을 막기 위한 

 

일종의 방 번호라고 생각하시면 됩니다. 

 

권한이 없는 "공격자"로부터의 

 

공격 (replay attack) 을 보호를 합니다. 

 

 

 

 

 

 

 

 

예를 들어 

 

chainId에 따라 달라지는 

 

특정 값을 일치시켜 작업을 검증하는 경우 

 

공격자는 다른 ID로 

 

동일한 값을 쉽게 얻을 수 없습니다.

 

 

 

 

 

 

그냥 chainId의 값이 다르면  (genesis.json파일이 다르면)

 

접근이 불가능하다 

 

라고 생각 하시면 됩니다

 

*chainId의 값은 고유한 값으로 설정하는게 좋습니다

 

예를들면 ab6da98c7bfd7b68876fd987c7ba8d6f786c 등과 같은 //

 

 

 

 

 

 

“homesteadBlock”

 

Homestead는 ethereum의 두번째 release입니다. 

 

* 첫번째 release는 Frontier 입니다.

 

 

 

 

 

 

 

 

 

homesteadBlock값이 0인 것은

 

이 release를 사용함을 의미합니다.

 

고로, 0으로 두시면 됩니다.

 

*참조 : https://github.com/ethereum/go-ethereum/blob/feeccdf4ec1084b38dac112ff4f86809efd7c0e5/params/config.go#L71

 

 

 

 

 

 

 

“difficulty”

 

마이닝(채굴)의 난이도 입니다.

 

블록을 채굴 하기위해 난이도를 조절하는데,

 

말 그대로 값을 낮게 잡아두면

 

빠르게 마이닝이 됩니다.

 

 

 

 

 

 

 

“gasLimit”

 

한 블록 당 gas 비용을 제한합니다.

 

 

 

 

 

 

보통, 저희처럼 테스트 할 때는

 

제한되지 않도록 하기 위해

 

이 값을 높게 잡아둡니다.

 

 

 

 

“alloc”

 

생성되어 있는 계정에 balance를 지정해줍니다.

 

즉, 계정에 "일정량의 돈을 미리 쥐어준다." 라고

 

제네시스 블록에 "셋팅" 해준다고 생각하시면 됩니다.

 

 

 

 

 

이 계정은 40자리의 16진수 문자열로 구성됩니다.

 

* 이 셋팅을 하기 전에 미리 계정을 생성 해 놓고 

 

그 계정을 여기 다시 적어주어야 합니다.

 

생성되지 않은 계정을 등록해 봤자 소용없습니다.

 

 

 

 

 

 

 

 

 

예)

 

-> geth --datadir private-blockchain init genesis.json console

 

으로 1차적으로 geth를 실행하여 

 

personal.newAccount()로 계정을 하나 생성해 줍니다.

 

 

 

 

 

그 계정을 복사 해 두어

 

geth 콘솔창을 나간 뒤

 

genesis.json파일을 편집해

 

방금 복사해 놓은 계정값을 

 

alloc에 추가하고

 

balance값을 적어 줌으로써

 

셋팅이 완료됩니다.

 

 

 

 

 

 

 

 

이로써 

 

블록체인의 "시작"인

 

제네시스 블록

 

genesis.json파일을 알아보았습니다.

 

 

 

 

 

제가 알고있는 한도 내의 

 

블록체인 잡지식이 떨어져 갑니다.

 

곧 끝날것 같습니다,,

 

 

 

 

 

조만간 웹에서 

 

블록체인 네트워크에 연결하여

 

데이터를 불러와 띄우는 작업을 

 

진행해 보겠습니다.

 

 

 

감사합니다.



Geth 

실행 옵션

 

 

 

 

 

 

geth를 실행 할 때 필요한 옵션의 종류에 어떤것들이 있는지

 

알아보도록 하겠습니다.

 

 

 

 

 

geth help를 치면,

 

아래와 같은 결과창을 볼 수 있습니다.

* 훨씬 더 많습니다.

 

 

 

 

그 중 자주 쓰이는 명령어 몇개만 소개 하도록 하겠습니다.

 

console 

     - 콘솔창으로 블록체인에 명령을 줄 수 있게 합니다.

 

init 

     - genesis.json파일을 등록하여 제네시스 블록을 설정해 줍니다.

 

--datadir

     - geth의 데이터베이스들과 키 스토어를 위한 데이터 디렉터리를 지정합니다.

 

--dev

     - 빠르고 손쉽게 블록체인 네트워크를 구성, 실습을 할 수 있는 옵션이라 생각하시면 됩니다.

       마이닝 하지 않아도 많은 양의 Balance값이 들어가 있습니다.

 

--rpc 

     - HTTP-RPC를 사용 가능하게 합니다.

 

--rpcaddr

     - RPC를 listen하는 IP address값을 지정해 줍니다.. (default : "localhost")

 

--rpcport

     - RPC를 listen하는 Port값을 지정해 줍니다. (default : 8545)

 

--rpcapi

     - rpc를 통해 사용 가능한 API들을 셋팅해 줍니다. (default : eth, db, net, web3

       추가적으로는 admin, mining, personal 등을 적어주면 추가적으로 사용 가능하다.

 

-- port 

     - Listen Port를 지정해 줍니다. (default : 30303)

 

--nodiscover

     - 자동으로 피어를 찾지 않게 만듭니다. 

 

--fast

     - syncing을 빠르게 만듭니다.

 

 

 

 

 

 

 

 

저같이 간단히 실행 정도만 해보고 싶은 분들에게는

 

이정도의 옵션으로 

 

충분히 구현이 가능합니다.

 

 

 

 

 

 

 

 

감사합니다.



+ Recent posts