분류 전체보기(37)
-
Go의 구조체
Go에서는 구조체(Struct)의 인스턴스를 만들 때 Type{} 혹은 new(Type)을 사용한다.type Person struct { name string age int}func main() { // ① 값 타입 인스턴스 p1 := Person{name: "Alice", age: 30} // ② 포인터 타입 인스턴스 p2 := new(Person) p2.name = "Bob" p2.age = 40 fmt.Println(p1) // {Alice 30} fmt.Println(*p2) // {Bob 40}}- new(Person)은 *Person 타입을 반환한다 (포인터 인스턴스)- Person{}은 값 복사되며 구조체 ..
2025.06.08 -
PEM과 CSR
PEM 파일이란?PEM은 인증서, 공개키, 개인키 등을 텍스트 형식으로 저장하는 파일 포맷이다.내부 데이터는 Base64로 인코딩 되어있고, 사람이 읽을 수 있는 형태이다. -----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASC...(중간에 Base64로 인코딩된 암호화 키 데이터)...snip...-----END PRIVATE KEY----------BEGIN PRIVATE KEY----- 와 -----END PRIVATE KEY----- 사이에 바이너리 데이터를 Base64로 인코딩한 문자열이 들어간다. CSR 이란?CSR은 인증서 발급은 요청하는 파일이다. CSR 안에는 공개키와 조직정보(회사명, 도메인명), 그리고 서명이 포함되어 있다. 이 서..
2025.06.05 -
ASCII와 Base64
ASCII란?ASCII 는 컴퓨터가 문자를 숫자로 다룰 수 있게 만든 표준 문자 인코딩 방식이다. 문자 ASCII 코드(10진수) 이진수 (8비트)A6501000001a9701100001!3300100001 Base64란?Base64는 바이너리 데이터를 사람이 읽을 수 있는 ASCII 문자로 인코딩 하는 방식이다. 컴퓨터가 사용하는 0과 1의 바이너리 데이터를 전송이나 저장을 위해 텍스트로 바꾼다이메일, 웹, 인증서 등 많은 시스템이 순수한 바이너리 데이터를 직접 처리하지 못한다.Base64는 이름처럼 총 64개의 안전한 문자가 사용된다.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01..
2025.06.04 -
Java 실행 과정
Java는 플랫폼 독립적인 언어이다. 1. 자바 소스 코드 작성개발자는 자바로 프로그램을 만들기 위해 .java 확장자를 가진 소스 코드 파일을 작성한다. 예를 들어, Hello.java는 다음과 같은 코드다.public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); }} 2. 자바 컴파일러(javac)를 사용한 컴파일작성한 .java 파일은 자바 컴파일러인 javac 명령어를 통해 컴파일된다.javac Hello.java이 명령어를 실행하면, 자바 컴파일러가 문법 오류를 체크하고 소스코드를 바이트코드로 변환하여 Hello.class 파일을 생성한다. 바이트 코드란..
2025.06.03 -
Scan, Scanf, Scan 차이 정리
1. fmt.Scan- 입력 구분자: 공백 문자(스페이스, 탭, 개행 모두)- 입력 종료: 변수 개수만큼 입력받으면 종료- 버퍼 내 개행 문자 처리중간 개행(줄바꿈)은 구분자 역할로 자동 버려짐마지막 개행 문자는 버퍼에 남아있음n, err := fmt.Scan(&a, &b)입력:3 5 - 마지막 는 입력 버퍼에 남아있음 입력35- 중간 는 버려지고, 마지막 는 버퍼에 남음 2. fmt.Scanf- 입력 구분자: 형식 문자열에 따라 정확히 매칭- 입력 종료: 형식 문자열에 맞게 입력이 완료되어야 종료- 버퍼 내 개행 문자 처리:형식에 맞는 개행문자 \n 는 버퍼에서 제거(버려짐)예를들어 "%d %d\n" 에서 마지막 \n은 입력 버퍼에서 소비됨n, err := fmt.Scanf("%d %d\n", &a, ..
2025.06.03 -
Hello Go World 코드
ch3/ex3.1/ex3.1.gopackage mainimport "fmt" func main() { // Hello Go World 출력 fmt.Println("Hello Go World")} 1. package main- 모든 Go 코드는 패키지 선언으로 시작해야 한다.- main 패키지는 실행 가능한 프로그램을 의미한다.- 즉, Go 컴파일러는 package main을 만나면 "이 코드는 독립 실행 파일을 만든다"라고 인식한다.- main 패키지 내부에는 반드시 func main() 함수가 존재해야 실행 파일을 생성할 수 있다.- 실제 프로그램이 시작되고 끝나는 지점이 바로 main() 함수이다. 실행 가능한 프로그램 = 터미널에서 실행할 수 있는 파일(EXE 등)을 만들 수 있는..
2025.06.03