Getting Started : Ubuntu 20.04 LTS on Ubuntu 20.04 LTS
윈도우에서 가상 OS 우분투 20.04 LTS 설치하기
- 원도우 10을 설치한 자신의 퍼스널 머신에서 가상 설치를 위해 BIOS에 들어가 Virtualization Technology Enable 하기로 합니다.
- 윈도우 10 기준으로 제어판 > 프로그램 및 기능에서 옵션 체크 합니다.
- 윈도우 10 위에서 설치된 웹 브라우저 창을 열어 www.virtualbox.org 를 입력합니다.
버추얼 6.1 버튼을 누릅니다.

- 32/64 비트 통합 윈도우 OS 지원용 플랫폼 패키지 (VirtualBox 6.1.26 platform packages) 를 받고 Windows hosts 링크를 누릅니다.

- 버추얼박스에서 제공하는 데스크탑과 랩탑을 지원하는 확장팩 (VirtualBox Extension Pack)을 받고자 All supported platforms 링크를 눌러 해당 파일을 받습니다.

- 버추얼 6.1.26 플랫폼 패키지 파일을 열어 설치를 시작합니다.

- 오라클 VM 버추얼박스 6.1 설치 환영 창에서 Next 버튼을 눌러 다음으로 진행합니다.

- 버추얼박스 설치 중 기본값으로 설치 경로를 선택하고자 Next 버튼을 누릅니다. 사용자가 경로를 변경하고자 한다면 Browse 버튼을 눌러 설치할 폴더를 선택하시기 바랍니다.

- 사용자로 하여금 네 가지 옵션 (시작메뉴 등록/ 바탕화면 바로가기 생성/빠른 생성 항목 추가/파일 연결)을 선택하도록 합니다. 여기서는 전체 선택을 하고 Next 버튼을 누릅니다.

- 버추얼 6.1 버전에 가상 네트워크 구성을 위해 네트워크를 잠시 리셋한다는 메서지 경고입니다. Yes 를 눌러 다음을 진행하세요.

- 가상 네트워크 구성을 완성한 뒤 Install 버튼을 눌러 버추얼박스를 설치하도록 합니다.

- 윈도우 운영체제 자체가 디바이스 수정에 변화를 감지하여 윈도우 사용자로 하여금 현재 어플리케이션을 허용할 것인지 묻는 질문에 Yes 버튼을 눌러 허용시키도록 합니다.

- 설치 완료 창에서 실행 여부 체크를 확인 후에 Finish 버튼을 클릭합니다.

- 현재 화면은 설치 완료 후 자동으로 오라클 VM 버추얼박스 매니저 창이 열린 상태 입니다. 확장판을 설치하고자 Preferences 버튼을 누릅니다.

- 왼쪽 메뉴 리스트 중 확장 (Extensions) 리스트를 클릭합니다.

- 확장 창에서 Add New Package 버튼 (
)을 눌러 확장팩 파일을 선택합니다.

- 확장 패키지 파일 선택 창에서 다운받았던 확장팩을 선택하시고 Open 버튼을 누릅니다.

- 버추얼박스 질문 창은 버추얼 확장 팩 명칭과 버전 그리고 자세한 설명을 디스플레이하고 있습니다. 내용을 확인하신 뒤 Install 버튼을 누르세요.

- 현재 창은 버추얼박스 라이센스 동의안 내용으로 사용자가 읽고 동의하도록 유도하고 있습니다. I Agree 버튼을 활성화하도록 오른쪽 바를 아래 끝까지 드래그합니다. 활성화된 I Agree 버튼을 누릅니다.

- I Agree 동의 버튼을 누름과 동시에 설치가 시작되며 다음과 같은 메시지에서 OK 버튼으로 확장팩 설치를 완료합니다.

- Oracle VM VirtualBox Extension Pack 확장팩이 연결된 것을 보았다면 정상적으로 버추얼박스 연결이 된 것입니다. OK 버튼을 눌러 우분투 20.04 LTS 설치를 시작합니다.

버추얼박스에서 가상 OS 우분투 설치하기
- 우분투 설치를 시작하고자 오라클 VM 버추얼박스 매니저 창에서 New 버튼을 누릅니다.

- 가상 OS 운영체제 머신 폴더와 타입을 설정하는 화면에서 Name 명칭 내에 “… Ubuntu” 라고 입력하면 아래 Type 과 Version이 자동으로 변경되는 것을 보게 됩니다. 현재 화면처럼 입력하신 뒤 Next 버튼을 누르세요.

- 현재 메모리 사이즈를 설정하는 창에서 2000 MB 정도 (2G- 4GB)로 메모리를 잡습니다. 그리고나서 Next 버튼을 누릅니다.

- 버추얼 하드 디스크를 새로 생성하겠다는 두 번째 레디오 박스를 선택합니다.

- 하드 디스크 파일 타입을 VDI 형식으로 선택하고 Next 버튼을 누릅니다.

- 물리적인 하드 디스크 저장 공간을 동적으로 할당하고자 Dynamically allocated 를 선택합니다.

[참고 사항] Dynamically allocated hard disk는 동적으로 사용자가 설정하고 난 뒤, 그 사이즈는 용량 내에서 사용한 만큼만 설정됩니다. 물론 사용 사이즈가 커지면서 용량이 최대 사이즈에 도달하면 더 이상 늘릴 수 없죠. 반면, Fixed size는 사용자가 미리 설정한 사이즈를 고정되게 사용하여 최대치를 사용하지 않아도 이미 설정한 사이즈 만큼을 잡아 먹게 됩니다.
- 하드 드라이브 파일 위치와 사이즈 (20GB – 50GB)를 할당하도록 돕는 화면에서 사이즈를 선택 후 Create 버튼을 누릅니다.

- 아래와 같이 Ubuntu 20.04 LTS 사용자 툴 리스트에 등록된 것을 볼 수 있으며 우분투 설치를 위해 우분투 20.04 LTS 사이트로 이동하여 다운받습니다.

- 윈도우 10에서 설치했던 웹 브라우저 (구글 크롬, 파이어폭스, IE) 다운로드 화면에서 폴더를 열어 다운 파일이 존재하는 파일 폴더를 확인합니다.


- 오라클 VM VirtualBox Manager로 돌아와 Start 버튼 (
)을 눌러 우분투 20.04 LTS 를 설치해봅니다.

- 물리적인 혹은 가상적인 광 드라이브 파일 (optical drive file)을 선택하는 질문에서 해당 머신 내에 설치하고자 하는 운영 시스템 시작을 설정하도록 유도하고 있습니다. 폴더 버튼 (
) 을 눌러 우분투 iso 파일을 찾아 연결시키고 Start 버튼을 누릅니다.

- 광 드라이브 디스크 선택 창에서 Add (
) 를 눌러 설치하고자 하는 우분투 iso 파일을 불러 연결시킵니다. 그리고 나서 Choose 버튼을 눌러 Optical Disk Selector 창을 빠져나가 우분투 설치를 진행합니다.


- 우분투 20.04 iso 파일이 설정이 되어 Optical Disk Selector 리스트에 등록되었다면 해당 파일을 클릭하여 다음 화면처럼 Select start-up disk 에서 선택하여 Start 버튼을 누릅니다.

- Ubuntu 2-0.04 LTS 설치가 시작되면서 아래와 같이 우분투 설치 시작화면이 작동하는 모습을 보게됩니다.

- 우분투 환영 창에서 Install Ubuntu 버튼으로 본격적으로 우분투 설치를 시작합니다.

- 가상 OS 우분투 설치를 시작하면서 키보드 레이아웃 설정을 키보드 레이아웃 English 로 선택합니다. 그 후 Continue 버튼을 눌러 다음으로 이동합니다.

- 업데이트와 기타 소프트웨어 설치 창에서 다음과 같이 (Install third-party software for graphics and Wi-Fi hardware and additional media formats 포함하여) 세 가지를 선택합니다.

- 우분투 설치하기 전, 인스톨 타입을 설정하도록 돕는 화면창에서 기본값을 선택한 뒤 Install Now 버튼을 눌러 설치를 시작합니다. ( Erase disk and install Ubuntu 를 선택하여 해당 하드 디스크 내부에 들어있는 운영체제가 가지고 있는 소프트웨어 전부를 지우고 새롭게 시작하도록 합니다.)

- 시간설정 묻는 질문에 사용자가 거주하는 지역을 선택합니다. 현재 창에서 사용자 이름과 컴퓨터 이름, 유저명과 패스워드를 설정합니다. 추후 유저명과 패스워드는 우분투 로그인 용도로 사용하니 메모하시는 것이 좋습니다. 아래 Continue 버튼이 활성화되었다면 그 버튼을 클릭하세요.

- 우분투가 인스톨을 진행하고 있으며, 다양한 우분투가 가진 기능들과 사용 유틸리티들을 소개하고 있습니다.

- 우분투 설치가 완료된 화면에서 Restart Now 버튼을 눌러 로그인하여 첫 우분투 화면을 보게 될 겁니다.

- 우분투가 재부팅하여 첫 로그인 화면을 사용자는 보고 있습니다. 유저명과 함께 작성했던 암호를 입력하여 첫 화면을 보고자 합니다.

- 오라클 버추얼박스에서 Guest Additions (게스트 확장 추가요소) 추가하고자 버추얼박스 상단에 Devices > Insert Guest Additions CD Image.. 클릭합니다.

[참고 사항] 버추얼박스 게스트 확장 (VirtualBox Guest Additions)은 마우스 포인트 그리고 키보드와 함께 게스트 머신을 최적화하는 이미지를 제공하고 있습니다. 이 패키지는 시스템 성능 향상과 그래픽 화장을 개선하고자 하는 버추얼 비디오 드라이버를 설치하게 됩니다. 하드웨어 확장 (hardware acceleration), 멀티 모니터 지원 (multi-monitor support), seamless windows (뛰어난 호환성 그래픽 윈도우 상태)를 가지고 마치 호스트처럼 사용할 수 있는 환경을 제공하고 있습니다.
- 잠시 기다리시면 소프트웨어 VBox_GAs_6.1.8를 자동으로 설치하겠냐는 질문에 Run 버튼을 설치를 시작합니다.

- 우분투가 해당 소프트웨어를 설치하기 전, 수퍼 유저로서 실행하기 위해 암호를 입력합니다. 이는 우분투 설치시 입력했던 암호와 일치해야 합니다.
- 설치가 우분투 터미널 상에서 시작되면서 다음과 같은 Do you wish to continue? [yes or no] 설치 진행을 계속할 것인지에 대한 안내 디스플레이 라인에서 Yes를 입력한 뒤 엔티 키를 누릅니다.

- 버추얼박스 게스트 확장 설치가 마무리된 뒤 터미널 윈도우를 강제로 종료하겠냐는 질문이 나온다면 엔티 키를 치시고, 우분투를 재시작합니다.

- 재시작된 우분투 첫 화면에서 Skip 버튼을 누르거나 구글 계정을 등록 하시기 바랍니다.

- Online Accounts 온라인 계정을 선택할 수 있도록 보여주는 초기 화면에서 사용자가 가진 온라인 계정을 입력하거나 상단에 있는 Skip 버튼을 누릅니다.

- Ready to go 창에서 다음과 같이 code 소프트웨어 (
)를 다운받고자 Code 아이콘을 클릭합니다. 이 Code는 윈도우 스튜디오 코드 (,VS 코드) 소프트웨어로서 개발자들이 개발할 때 사용하는 IDE 툴 중에 하나입니다.

- code editing VS 코드 IDE 설치 화면에서 install 버튼을 눌러 우분투에서 사용가능하도록 설치합니다.

- 설치하기 전, 사용자 권한 요구사항에 neuavenue 유저명 암호를 묻는 질문에 입력하신 뒤 Authenticate 버튼을 클릭합니다.

- 설치된 뒤에 Ready to go 창으로 돌아와 오른쪽 화살표를 클릭하여 IDEA Community 아이콘을 찾아 클릭합니다.

- IDEA Community 아이콘을 눌러 인텔리제이 IDE 툴을 설치합니다.

- IDEA Community 인스톨 창에서 Install 버튼을 눌러 설치합니다.

- 우분투 상단 세팅 메뉴 (
) 에서 마우스 오른쪽을 눌러 Settings 을 클릭합니다.

- 세팅 창 리스트 중 Screen Display 를 클릭하신 뒤, 해상도 (Resolution) 사이즈를 “2560 x 1600” 혹은 으로 바꾸고 상단 Apply 버튼을 누릅니다. 물론 사용자의 랩탑이나 컴퓨터 스크린 해상도에 맞춰 적용시켜야 합니다.

- 현재 화면은 해상도 조절한 뒤의 디스플레이입니다.

- Ready to go 창에서 Done 버튼을 눌러 우분투 환경 세팅을 마칩니다.
Prerequisites for Micronaut
이번 타스크들은 마이크로넛 어플리케이션 제작의 시작으로 마이크로넛 프로젝트 생성기 project generator for Micronaut를 구현할 예정입니다.[1] 이 중점을 둘 것입니다. 그 프로젝트 생성기는 두 가지 구현을 포함하고 있습니다. 그 중 하나의 구현방식은 커멘드 라인 어플리케이션 CLI Application 제작하는 과정과 또 하나는 HTTP 서버를 실행시키는 구현 과정처럼 사용하게 될 겁니다.
Project Generator for Micronaut
A Command Line (CLI)
An API that is able to be run as a HTTP server
마이크로넛 어플리케이션을 사용하게 될 HTTP 서버 구현 과정은 서브릿 컨테이너를 향하여 배치 디플로이 하거나 혹은 서버리스Serverless (곧 서버가 존재하지 않는 플랫폼 방식으로 서버레스 플랫폼Serverless platform 차세대 클라우드 방식의 컴퓨팅 기술) 플랫폼 바탕 위에 실행을 시키는 구현 방식이라고 말할 수 있습니다. Google Cloud Run, Google Cloud Function, Oracle Cloud Infrastruture, AWS Lambda or Azure Function 등을 말합니다.
마이크로넛 어플리케이션 제작에 앞서 사전 작업이 필요합니다.
- 비주얼 스튜디오 코드 설치
- 인텔리제이 설치
- GraalVM 21.2.0 with 자바 11 설치
- 마이크로넛 3.x 설치
비주얼 스튜디오 코드 및 인텔리전스 J 아이콘 등록을 시작하겠습니다.
Task 1 : Add to Favorites VS Code and Intellij on Ubuntu 20.04 LTS
- 우분투에서 제공하는 왼쪽에 있는 선호 바 (favorite) 맨 아래 어플리케이션 아이콘 (
) 을 클릭합니다. (Click the Ubuntu Application icon (
) left bar on the left side shows running on Ubuntu as “favorite” applications.)

- Visual Studio Code 를 찾고자 서치 바 (Search bar)에서 “vsual”이라고 입력하신 뒤, 화면처럼 Visual Studio Code 툴이 나타날 겁니다. 마우스 오른쪽을 눌러 팝업 메뉴들 중 Add to Favorites를 클릭하세요 (Click on the launcher button top left and type “Visual” in the search box to see Visual Studio Code application and then right-click to Visual Studio to click “Add to Favorites”).

- 우분투 왼쪽 바에 Intellij IDEA를 추가하고자 Add to Favorites 링크를 클릭하세요. ( Type “Intelli” to see Intellij IDEA and right-click its icon to see “Add to Favorites” and also click it.)

- 우분투 어플리케이션 화면을 빠져 나가고자 Activites 링크를 눌러보세요. (To exit, click the “Activities” from the top of the left pane.)

- 우분투에서 비주얼 스튜디오 코드 어플리케이션을 보고자 우분투 왼쪽 바에서 비주얼 스튜디오 코드 아이콘을 눌러보세요. (To see Visual Studio Code GUI, click the Intellij icon of Common Applications)

- 사용자는 처음으로 Visual Studio Code 첫 프로그램 페이지를 보시고 있습니다.
이는 사용자가 해당 폴더를 열어 그 하위 폴더를 한 눈에 볼 수 있으며 단지 클릭으로 텍스트 형태의 에디터 역할을 사용자 대신 소스를 열 수 있습니다.

https://code.visualstudio.com/docs/getstarted/introvideos 사이트로 가시면 코드 에디팅, 익스텐션, 디버깅, 버전 컨트롤까지 다양한 기능을 체험하도록 비디오 영상으로 미리 경험할 수 있도록 도와줍니다.[2]

[사용자 인터페이스 구조][3]
- 활성화 바 Activity Bar
- 사이드 바 Side Bar
- 에디터 그룹 창 Editor Groups
- 패널 창 Panel
Task 2 : Install Micronaut on Ubuntu 20.04 LTS
이번 시간에는 실전편 우분투에서 마이크로넛 3.1 버전을 설치해보도록 합니다.
- Introduction Micronaut[4]

마이크로넛 공식 사이트에서 제공하는 마이크로넛에 대한 정의는 모던 프레임워크이며 JVM 기반 프레임워크 또한 Full-Stack 프레임워크입니다. 더 나아가 서버레스 어플리케이션Serverless Application 을 빌드하거나 손쉽게 제작하는 테스트용 마이크로서비스나 모듈을 제작할 때 사용하게 됩니다.
- 사용자가 유닉스를 사용하고 있다면 SDKman를 사용하여 멀티 마이크로넛을 구현하거나 관리할 수 있으며, 리눅스나 맥OS 사용자는 Homebrew 홈페이지에서 Homebrew 패키지 관리자를 다운 받아 마이크로넛을 설치할 수도 있습니다. 그러나 여기서는 SDKman 툴을 사용하여 마이크로넛 설치해보도록 하겠습니다. 다음과 같은 명령어를 던져 SDKman 인스톨을 시작합니다.
$ curl -s https://get.sdkman.io | bash

- 만약 다음과 같은 메시지가 나타났다면 curl 명령어를 유분투에 설치합니다.
sudo apt install curl

- 다음 명령어로 SDKman 구성을 위한 SDKman 명령어를 던집니다.
Hyphen s colon forward slash back slash
curl -s https://get.sdkman.io | bash

- SDKman 설치 완료를 위해서 다음과 같은 명령어를 던져 초기화시킵니다.
source “$HOME/.sdkman/bin/sdkman-init.sh”
- 마이크로넛 최신버전을 받고자 다음과 같은 명령어를 던집니다.
sdk install micronaut

- 정상적인 마이크로넛 설치를 점검하기 위해 다음과 같이 마이크로넛 버전을 확인하는 명령어를 던집니다.
mn –version

Task 3 : Introduction GraalVM Enterprise Edition 21.2.0
리눅스용 그랄VM 엔터프라이즈 21.2.0 버전은 oracle JDK를 포함하여 다양한 툴과 유틸리티 그리고 런타임들을 포함합니다.[5] 어떤 것들이 수록되어 있는지 살펴보죠. 크게 툴/유틸리티와 런타임으로 나뉩니다. 하나씩 살펴보죠.
사전 개념
Task 3-1 Core Components
Runtimes
- Java HotSpot VM ( which is finding hotspots that is frequently executed parts of the code and heavily optimized those parts to make application run faster in the Oracle VM)
- JavaScript runtime
- LLVM runtime
Libraries (JAR files)
- GraalVM compiler – the top-tier JIT compiler which all compilations and interpretations are being done at the runtime so that application has started and running only code is writing by the compilation
- Polyglot API – the APIs for combining programming languages in a shared runtime
Utilities
- JavaScript REPL with the JavaScript interpreter
- lli tool to directly execute programs from LLVM bitcode
- GraalVM Updater to install additional functionalities
Task 3-2 Additional Functionalities
- Native Image – 네이티브 실행 내에서 application ahead-of-time (어플리케이션 사전) 컴파일을 지원하는 툴입니다. [7]
- LLVM toolchain – 툴들의 모음집 (a set of tools)을 말하며 네이티브 프로그램들을 컴파일 하기 위한 APIs도 함께 들어 있습니다. 이는 GraalVM Enterprise 위에서 실행될 수 있는 비트코드 (bitcode)를 위한 것입니다.

참고로 LLVM (Low Level Virtual Machine)은 컴파일러와 툴체인 테크놀로지 기술로서 다양한 언어들을 가지고 프론트 앤드와 백엔드 개발을 하기 위해 다른 개발 언어들을 컴파일하여 모듈러와 재사용을 돕습니다.[8]
- Java on Truffle – GraalVM Enterprise가 가지고 있는 튜라플 번역기 (Truffle Interpreter) 기반 위에 서 있는 자바 버추얼 머신 구현을 목적으로 향합니다.[9] 이는 자바가 멀티 언어 버추얼 머신 위에서 파이선과 루비 그리고 자바스크립트 언어들을 자바에서 사용하도록 번역하여 이들을 사용토록 한다는 말이죠.

[Java on Truffle place in the GraalVM architecture][10]
[참고 사항] What is Truffle?

[Truffle framework architecture]
튜라플 (Truffle) 은 분산된 (혹은 분할된 어플리케이션들 (decentralized applications)을 읽고, 컴파일하고, 테스트 및 디플로이하기 위한 프레임워크입니다. 분산 어플리케이션에 속하는 것은 분이더리움 블록체인 (Ethereum blockchains) 위에 존재하는 어플리케이션이라고 말하기도 합니다. 튜라플 환경 내에서 튜라플 개발자는 프론트 개발을 향한 자바스크립트를 작성할 수 있습니다. 또한 소마트 컨트렉 (Smart Contracts)을 지향하는 Solidity[11] 나 클라이언트를 향하여 다양한 블럭체인 네트워크를 연결하는 브릿지를 구현할 수 있는 웹 3.0 을 지원하고 있습니다.
- Node.js
- Python – 파이선 3.8.5 버전 지지
- Ruby – 루비 2.7.3 버전 지지
- R – GUN R 4.03 지지
- Wasm – WebAssembly (Wasm) 웹 어셈블리는 바이트코드 명세서로서 GraalVM Enterprise 버전 내용과 별도로 인스톨해야 하는 부분입니다.
Task 4 : Introduction GraalVM Enterprise Edition 21.2.0
- 오라클 그랄VM 엔터프라이즈 21.2.0 버전을 다운 받습니다. 사이트 (oracle.com/downloads/graalvm-downloads.html ) 에 들어가서 Release Version 21.2.0.1 Java Version 11, OS Linux, Architecture : x86 들을 선택합니다.

- 아래 리스트 중 Oracle GraalVM Enterprise Edition Core 링크를 클릭하여 다운로드 합니다.

- 다운 받은 화일을 확인하신 뒤, 압축 파일을 풀고자 하는 폴더 위치로 이동하셔서 압축을 다음과 같은 명령어와 함께 던집니다.

- 다음과 같은 명령어를 통해 압축을 풀고자 하는 폴더 (/home/neuavenue/)로 이동합니다.
cd /home/neuavenue/
ls -a
tar -xvzf ~/Downloads/graalvm-ee-java11-linux-amd64-21.2.0.1.tar.gz

- Oracle GraalVM 폴더가 열린 곳으로 이동하여 bin 폴더에서 다양한 실행 파일이 존재하는지 확인하시기 바랍니다.
ls -a
cd graalvm-ee-java11-21.2.0.1
cd bin
ls -a

- 유분투 터미널에서 런타임 환경 변수를 설정하고자 다음과 같이 명령어를 던져 해당 파일로 이동한 뒤, 마우스 맨 아래로 내려 환경 변수들을 추가합니다.
nano ~/.bashrc
export PATH=~/graalvm-ee-java11-21.2.0.1/bin:$PATH export JAVA_HOME=~/graalvm-ee-java11-21.2.0.1 |

- 유분투 런타임 환경변수 적용시키고자 다음과 같이 명령어를 던져 실행시켜 봅니다.
. ~/.bashrc

- 이제 자바 11 버전이 포함된 그랄VM 설치와 환경변수 세팅이 완료된 뒤에
자바 실행 명령어인 java 와 버전 디스플레이와 함께 그랄VM 명령어들이 실행이 되는지 자바 실행 파일을 구동시켜봅니다.
java -version

- 오라클 GraalVM 엔터프라이즈에서 제공하는 다양한 런처 곧 자바 스크립트 런처 명령어 js와 LLVM 비트코드 런처인 lli, 그랄VM 업데이터 툴인 gu 유틸리티 툴과 런타임을 실행시켜 봅니다.
js -version
lli –version
gu –version

[추가 요소]
Task 5 : Runtime for Different Languages
심화 학습 Learning GraalVM 강화[12]
Mini Project (1) : Java
자바 콘솔이라고 하는 Command Line 명령어를 이용하여 HelloWorld in Java 어플리케이션을 제작하여보겠습니다. 그랄VM 자바 런쳐는 그랄VM 엔터프라이즈의 기본 컴파일러와 함께 JVM을 실행시킵니다. 그 컴파일러는 그랄VM 컴파일러라고 통상 명칭합니다. 전형적인 HelloWorld 자바 어플리케이션 클래스를 제작한 뒤 그랄VM 컴파일러를 작동시켜봅니다.
Mini Project (2) : JavaScript and Node.js
그랄VM 엔터프라이즈는 자바 스크립트 코드를 실행시킬 수 있습니다. 동시에 REPL 모드 환경에서도 스크립트 파일을 직접 실행시킬수도 있죠.
실행 콘솔을 불러 사용하기 위해 그랄VM 엔터프라이즈에서 제공하는 js 실행 명령어를 사용해봅니다.
첫 미니 프로젝트는 1+2의 결과값을 화면에 디스플레이해봅니다. 3이라는 숫자가 나타난 것을 보게 됩니다.
두번째 미니 어플리케이션은 Hello World!라는 문장을 프린트해봅니다.
> var i = “It is a Javascript language!”;
> i.substring(2,10);
Is a Ja
>
그랄VM 엔터프라이즈는 당연히 Node.js 어플리케이션 실행을 지원하고 있습니다. 다음과 같은 명령어를 던져 노드JS를 실행해보죠.
gu install nodejs
$JAVA_HOME/bin/node -v
백만개 넘는 갯수의 npm 패키지들이 일반적으로 테스트되어가며 그릴VM 엔터프라이즈와 호환되고 있습니다. 그랄VM 엔터프라이즈 모듈은 express, react, async, request, browserify, grunt, mocha, and underscore 까지 모두 지원되고 있습니다.
노드JS 모듈들을 인스톨하고자 그랄VM 자바 홈/bin 폴더로부터 실행하여 노드와 함께 모든 것을 함께 받고자 다음과 같은 명령어를 던져봅니다.
mkdir ~/nodejs
cd nodejs
ls -l
$JAVA_HOME/bin/npm install –prefix ~/nodejs colors ansispan express
Node.js v14.x Usage and example[13]
Mini Project (4) : LLVM Languages
그랄VM 엔터프라이즈 LLVM 런타임은 C/C++, Rust,m 그리고 LLVM 비트코드 컴파일을 할 수 있는 다른 프로그램 언어들을 실행시킬 수 있습니다. 여기 LLVM 어셈블리 언어에 대한 어플리케이션을 제작할 수 있게 됩니다.
put c source code into a file named hello.c [14]
Mini Project (5) : Python
그랄VM 엔터프라이즈와 함께 사용자는 파이선 3 런타임 환경 내에서 파이썬 어플리케이션을 실행할 수 있게 됩니다. 물론 그랄VM 업데이트 툴을 사용하여 빠르게 추가할 수 있죠.
gu install python
graalpython
>>> 1+2
3
>>> 11-2
9
Mini Project (6) : Ruby
GraalVM 엔터프라이즈는 gem 커멘드를 포하함 Ruby 고성능 런타임 환경을 제공하고 있습니다. 그 Gem 커멘드는 사용자로 하여금 RubyGems, Ruby Bundler 등을 호환하도록 돕고 있습니다.
gu install Ruby
Ruby in Twenty Minutes[15]
Mini Project (7) : R
그랄VM 엔터프라이즈는 REPL 모드 상에서 혹은 R 프로그램에서 직접적으로 실행할 수 있는 GNU-호환 환경을 제공합니다. 그랄VM 엔터프라이즈은 R 언어를 기본 장착된 것은 아니지만 사용자는 gu 커멘드를 사용하여 설치가능하고 그 후 R 언어를 개발할 수 있죠.
gu install R
R environment setup[16]
Break Axis of Plot in R[17]
Option : Install SSH on Ubuntu 20.04 LTS
- 우분투에서 SSH 설치는 다음과 같은 순서로 절차는 시작됩니다. 터미널을 열어서 다음과 같은 명령어 (sudo apt update)를 입력합니다.

[설치 옵션]
- 패키지 업데이트를 위해서 다음과 같은 명령어를 던집니다.
apt list –upgradable

- 버추얼 박스 윈도우 사이즈 변경 (Windows resizing)과 클립보드 쉐어 (Shared clipboard) 등과 같은 유틸리티를 사용하고자 버추얼 박스 게스트 에디션 (VirtualBox Guest Additions) 을 설치합니다.
sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 virtualbox-guest-utils

- Do you want to continue? [Y/n] 라고 묻는 질문에 Y 키보드 Y 를 치고 엔터를 누릅니다.

다음과 같이 98vboxadd-xclient 설치를 묻는 질문에 기본값 N를 입력하시고 엔터키를 누르세요.

- 하둡 스크립트나 하둡 데몬들을 리모트 관리하고자 SSH는 설치되어야 하기에 다음과 같이 명령어를 던져 설치를 시작합니다. (To be running to use the Hadoop scripts and manage remote Hadoop demons, ssh must be installed and running sshd as the following command each line 🙂
sudo apt-get install ssh

- sudo 최상위 계정 사용자의 패스워드 입력후 엔터 키를 쳐서 설치를 시작합니다. (Type the password for the sudo user and then press Enter)
- Press Enter after typing ‘Y’ to continue with the SSH installation process.
- 우분투 운영 체제 위에 SSHD 설치를 시작합니다. (Install sshd on the Ubuntu operated system using the below command 🙂
sudo apt-get install pdsh

- Sudo 최상위 계정자의 패스워드 입력 후 엔터키를 치고 계속 SSHD 설치를 진행 합니다. (After entering the password for the sudo user, press Enter to continue with the installation sshd process.)

- 나노 에디터가 존재하지 않는다면 apt 명령어를 동원하여 추가 설치를 시작합니다. (If there is no Nano using the text editor, update the apt repositories with the following commands 🙂
sudo apt update
sudo apt install nano
sudo apt install vim
- Bashrc 파일을 열어서 다음과 같은 명령어를 던져 우분투 패스 환경 설정을 수정합니다. To open the .bashrc file in the nano editor, use the command :
cd /
ls /home/neuavenue/
ls -a
sudo chmod -R 777 home/neuavenue/.bashrc
nano .bashrc
- 지역적인 시스템 설정인 bash 파일을 수정하고자 다음과 같은 명령어 라인을 추가합니다. (Set ‘the PDSH_RCMD_TYPE=ssh’ environment variable to ssh at the end of the .bashrc file:)
export PDSH_RCMD_TYPE=ssh
- Ctrl X 키를 누른 뒤 키보드 Y키를 눌러 저장 후 빠져 나갑니다. (To save the changes, press Ctrl+X and then press ‘Y’ to exit nano.)
- 우분투에서 SSH 설정을 하고자 다음과 같은 명령어를 우분투 터미널에서 실행시켜봅니다. (To configure ssh, create a new key with the help of the following command:)
ssh-keygen -t rsa -P “”
- 다음과 같은 메시지가 화면에 디스플레이되면 그냥 엔터키를 누르세요. (Enter key after seeing “enter file in which to save the key ( … );” )

- 로그인 권한 키 벨류를 복사하여 SSH 터미널에서 권한을 부여받습니다. Copy the contents of the public key to authorized key value.
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

- SSH 터미널 연결을 시행하고자 다음과 같은 명령어로 테스트 합니다. To examine the SSH setup by connecting to the localhost , type the following command:
ssh localhost
Y 키를 눌러 연결을 계속 진행시킵니다. (To continue connecting, type ‘yes’ and then press Enter in user’s keyboard)

- 패스워드 연결 설정 권한을 부여 받는 것을 적용하고자 In order not to ask for the password, press following command for adding RSA to the list of known hosts:
exit
After that the user should close this terminal and restart it.