분류 전체보기 55

GO언어 기초 : 조건문(if / else)

● Go언어의 조건문의 조건식은 반드시 Boolean 형으로 표현돼야 한다. ● GO언어의 조건문에서는 괄호는 생략 가능 하지만 중괄호는 필수 이다. ● Go언어 에서 else와 중괄호는 같은 시작점에 있어야 한다. if num == 1 { fmt.printf("hello") } else if num == 2 { fmt.printf("hel") } else if num == 3 { fmt.printf("llo") } 7과 9의 배수 문제: 1이상 100미만의 정수 중에서 7의 배수와 9의 배수를 출력하는 프로그램을 작성해봅니다. 단 7의 배수이면서 동시에 9의 배수인 정수는 한 번만 출력해야합니다. package main import "fmt" func main() { for i := 1; i < 101..

GO 2021.07.03

GO언어 기초 : 반복문(for)

for문 기초 package main import "fmt" func main() { sum := 0 // for문은 초기식, 조건식, 조건 변화식 으로 구성되어있다. for i := 1; i 초기식 // i가 10보다 작거나 같을때까지 -> 조건식 // i를 1씩 계속 늘린다 -> 조건 변화식 //for문을 통해 반복할 명령은? => sum 에 i 값을 대입한다. //for문 계산과정 // i = 1일때 sum 1 // i = 2 일때 sum은 1이고 이때 새로 선언된 i=2값을 더한다 -> sum = 3 // i = 3 일때 sum은 3이고 이때 새로 선언된 i=3값을 더한다 -> sum = 6 // i = 4 일때 sum은 6이고 이때 새로 선언된 i=4값을 더한다 -> sum = 10 // i =..

GO 2021.07.03

GO언어 기초: 자료형의 변환 & 문자열의 표현

자료형의 종류 bool Go언어에서는 오로지 'true'와 'false'만 사용하여 할당 int 정수형(음수포함) uint 정수형(0, 양수) float [float32, float64] 실수 complex [complex64, complex128] 복소수 string 문자열 string으로 선언한 문자열 타입은 immutable 타입으로서 값을 수정할 수 없습니다. byte(uint8) 정수(0, 양수) rune(int32) 정수 자료형의 변환 package main import "fmt" func main() { var num int = 10 var changef float32 = float32(num) //int형을 float32형으로 변환 changei := int8(num) //int형을 int..

카테고리 없음 2021.07.03

GO언어 기초 : 콘솔 입력 & 출력 함수

콘솔 입력 함수 Scanln 공백으로 구분하여 입력 (숫자 세개를 모두 입력 받고 엔터를 입력) Scan 공백과 개행으로 구분하여 입력 (숫자를 입력할 때마다 엔터를 입력해서 받을수 있다.) Scanf 포멧 지정자를 이용하여 개발자가 원하는 형태로 입력 콘솔 출력 함수 문제 (정돈된 표) 문제: 이름 열은 전부 폭을 8로 지정하고 왼쪽 정렬을 합니다. 전공학과 열은 전부 폭을 14로 지정하고 왼쪽 정렬을 합니다. 학년 열은 전부 폭을 5로 지정하고 오른쪽 정렬을 합니다. 모든 값은 string 형입니다. package main import "fmt" func main() { fmt.Printf("%-8s%-14s%+5s\n", "이름", "전공학과", "학년") fmt.Printf("%-8s%-14s%+..

GO 2021.07.03

Go언어 기초: 데이터 타입

데이터 타입 package main import "fmt" func main() { fmt.Printf("5>6=%b\n", 5 > 6) fmt.Printf("15는 2진수로 %b\n", 15) fmt.Printf("저의 성은 %c 입니다\n", '김') fmt.Printf("19는 10진수로 %d입니다.\n", 19) fmt.Printf("19는 8진수로 %o입니다.\n", 19) fmt.Printf("19는 16진수로 %x입니다.\n", 19) fmt.Printf("19는 16진수로 %X입니다.\n", 19) fmt.Printf("19.1234는 고정 소수점으로 %f입니다.\n", 19.1234) fmt.Printf("19.1234는 고정 소수점으로 %F입니다.\n", 19.1234) fmt.Prin..

GO 2021.07.03

GO언어 기초 : 변수와 상수 & 콘솔 출력 함수

콘솔출력 함수 package main import "fmt" func main() { var num1 int = 1 var num2 int = 2 fmt.Print("Hello goorm!", num1, num2, "\n") fmt.Println("Hello goorm!", num1, num2) fmt.Printf("num1의 값은:%d num2의 값은:%d\n", num1, num2) } fmt => 기본적인 입력 과 출력포맷 관련한 기능을 제공 Print 데이터 출력후 개행 x Println 데이터 출력후 개행 o Printf 원하는 포맷으로 데이터를 채워서 출력 package main import "fmt" func main() { age, name := 24, "길동" fmt.Printf("안녕 ..

GO 2021.07.03

JSON(JavaScript Object Notation) 기초

[JSON] - JSON은 Javascript 객체 문법을 따르는 문자 기반의 구조화된 데이터 포맷 입니다. (javascript가 아니더라도 읽고 쓸수는 있다.) - 웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용합니다. (서버에서 클라이언트로 데이터를 전송하여 표현하려거나 반대의 경우) - 개별 JSON객체를 .json확장자를 가진 단순 텍스트 파일에 저장할 수 있습니다. 문자열에서 네이티브 객체로 변환하는 것은 파싱(Parsing)이라고 합니다. 네트워크를 통해 전달할 수 있게 객체를 문자열로 변환하는 과정은 문자열화(Stringification)이라고 합니다. 더보기 네이티브 객체 네이티브객체는 호스트 환경 아니라 ECMAScript의 스펙에 의해서 정의된 객체입니다. NOTE 표준 네이티..

JavaScript/JSON 2021.07.02

비 대화형 영지식 증명 - zk-SNARKs

[비 대화형 영지식 증명 개념] 기존의 영지식 증명 시스템은 검증 결과의 확률을 높이기 위해 메시지 교환을 여러번 해야합니다. 이처럼 메시지 교환을 증가시키면, 시스템 결과의 안전성 이 증가하지만, 증명자와 검증자의 메시지 교환이 많아져서 효율성이 떨어 지게 됩니다. ● 비대화형 영지식 증명 => 증명자가 검증자의 검증 결과의 안정성을 높이기 위해 대화형 영지식 증명처럼 메시지를 반복하여 교환할 필요가 없다. [zk-SNARKs] -> zk-SNARKs 는 대표적인 비대화형 영지식 증명 시스템이다. 1. zk-SNARKs에는 믿어야 하는 제 3자(Trusted Party)가 있는습니다. 2. Trusted Party는 증명자 가 증거를 만들고, 검증자가 증거를 검사할 때 필요한 정보를 제공합니다. 3. ..

BlockChain 2021.07.02

영지식 증명(Zero-Knowledge Proof)

[영지식 증명 개념] 정의 : 정보의 참, 거짓인 결과를 제외하고 그 이외 정보는 노출되지 않도록 하는 절차 ▶정보의 익명성을 제공하는 암호학 기술. 명제 증명자 검증자 증명 하려는 사실, 참 혹은 거짓 참 임을 증명하는 사람 (특정한 결과 값을 가지게 된다.) 참 임을 검증하는 사람 (요구(쿼리)를 한다) [알리바바 동굴 예제] ● 명제: 위에서 지칭한대로 2갈래의 길이 한 지점에서 모임 -> 그 지점은 잠겨 있음 증명자 => 페기 검증자 => 빅터 ● 증명자는 A,B 두 통로중 무작위로 선택 -> 검증자는 동굴입구에서 A,B중 무작위로 아무통로 나오라고 요구 ->증명자가 나오는 케이스는 2가지 (이때 증명자는 키소유 여부를 노출하지 않으면서 키가 있다는 사실을 동굴입구 검증자 에게 증명하려 한다.) ..

BlockChain 2021.07.02