프로그래밍 언어 12

[Go] 내맘대로 계산기 프로그램 만들기 [3] - testing package 적용 테스트

2024.10.05 - [프로그래밍 언어/Go] - [Go] Testing package를 이용한 Test 및 Benchmark [Go] Testing package를 이용한 Test 및 Benchmark내 맘대로 계산기 프로그램을 구현하던 중병렬 처리를 해보고 싶어병렬 처리의 기준을 세우기 위해 함수의 성능(소요 시간) 평가를 하는 코드를 직접 짜고 있었습니다. 이렇게 직접 구현한 모300-29-1.tistory.com

[Go] Testing package를 이용한 Test 및 Benchmark

내 맘대로 계산기 프로그램을 구현하던 중병렬 처리를 해보고 싶어병렬 처리의 기준을 세우기 위해 함수의 성능(소요 시간) 평가를 하는 코드를 직접 짜고 있었습니다. 이렇게 직접 구현한 모듈은 일단 유지보수하기도 어렵고,다른 프로젝트에도 편하게 사용할 수 없다고 생각했습니다. Go 언어에서 제공하는 표준 test 및 benchmark는 위의 단점을'표준'이라는 성격으로 상쇄한다고 생각해testing package의 test 및 benchmark를 찾아보게 되었습니다. 본 포스트는 Go의 test 와 benchmark에 대해 공부한 내용을 담고 있습니다.  ‘Testing’ packagego에서 자동화된 테스트 기능을 제공하는 패키지입니다.아래 ‘go test’ 명령으로 모든 테스트를 자동화하여 수행하도록 설..

[Go] 내 맘대로 계산기 프로그램 만들기 [2] - 사칙연산 및 소요시간 테스트

사칙연산이 가능해야 한다.예외처리가 확실해야 한다(Divide by Zero, Overflow, FPE, input 예외 처리).연산식에 대한 연산 시간을 임의의 기준으로 사전 평가하여 시간이 오래걸린다고 판단되면 백그라운드에서 진행하게끔 한다.    위 화면에서, 1 번을 누르면 정수에 대한 사칙연산이 가능한 화면으로 넘어갈 것이다.일단 정수에 대한 사칙연산만 생각해보자. 필요한 함수를 생각해보자. 1. 사칙연산에 필요한 연산식 입력받는 화면 출력 함수    1-1. 예외처리: 입력 형식 지키게끔 하기2. 연산식(string)을 중위 표기식에서 후위 표기식으로 변환해주는 함수(괄호도 처리 가능해야 한다)    2-1. 하나의 연산식에 대한 속도 평가 함수(추후 병렬처리 기준을 세울 결과를 산출)    ..

[Go] 내맘대로 계산기 프로그램 만들기 [1] - ASCII ART

프로그램 실행시 내 프로그램만의 아이덴티티를 보여주기 위해아스키 아트를 넣어보았다. Go 캐릭터의 아스키 아트는 아래 사이트에서. 아스키아트 변환 사이트텍스트 및 이미지(URL,파일첨부)를 아스키코드로 만드는 아스키아트 생성 사이트wepplication.github.io  Go-Calculator 텍스트의 아스키 아트는 아래 사이트에서 구현했습니다. ASCII Art ArchiveA large collection of ASCII art drawings and other related ASCII art pictures.www.asciiart.eu    맘에 드는 아스키 아트를 고르는 데 2시간 넘게 걸린건 비밀

[Go] 내맘대로 계산기 프로그램 만들기

Go 언어를 배운 기념으로 사칙연산기를 만들어보겠습니다.Go 언어에 익숙해지기 위한 프로젝트입니다.!     프로그램 대략적 요구사항1. 사칙연산이 가능해야 한다.2. 오래 걸리는 연산은 비동기적으로 진행하게끔 한다3. Command Line 인터페이스가 존재해야 한다.  프로그램 세부 요구사항1. 사칙연산이 가능해야 한다.1-1. 예외처리가 확실해야 한다. 1-1-1. Divide by Zero, Overflow, FPE, input 예외 처리. 2. 오래 걸리는 연산은 비동기적으로 진행하게끔 한다.2-1. 모든 연산은 goroutine으로 진행합니다. 연산 완료 시 stdout에 n 번째 연산 완료 및 완료값을 출력합니다.연산 속도 향상 및 goroutine 분기 기준을 세우기 위해 후위 표기식으로 ..

JVM, JRE, JDK

1. JVM Java Virtual Machine이다. 각기 다른 운영체제 위에서 자바 바이트코드를 실행하게 해주는 만능일꾼이다. 2. JRE Java Runtime Environment JVM을 실행하는데 필요한 환경을 의미한다. 요즘은 JDK랑 겹치는 부분이 많아 큰 구분이 없다. 예전에는 JRE만 따로 설치가 가능했었는데 최근에는 JRE를 포함한 JDK를 통째로 설치하게끔들 한다. 3. JDK Java Development Kit JVM, JRE 등을 담고 있으며 Java Compiler, Debugger, Jar도구, 프로파일러들이 포함되어있다.