jupyter notebook 에서 Js -> IJavascript, c++ -> xeus-cling

    

jupyter notebook 으로 js 파일 만들기.



npm install -g ijavascript

ijsinstall



`IJavascript`는 Jupyter Notebook에서 JavaScript와 Node.js 코드를 실행할 수 있도록 해주는 Jupyter 커널입니다. 이를 사용하면 Jupyter Notebook에서 JavaScript를 손쉽게 실행하고 테스트할 수 있습니다.


### IJavascript 설치 방법


1. **Node.js 설치**: 먼저, Node.js와 npm이 설치되어 있어야 합니다. Node.js는 JavaScript 런타임 환경이고, npm은 Node.js의 패키지 관리 도구입니다. Node.js와 npm이 설치되어 있지 않다면, [Node.js 공식 웹사이트](https://nodejs.org/)에서 설치할 수 있습니다.


2. **IJavascript 설치**:

   터미널이나 명령 프롬프트에서 다음 명령어를 실행하여 IJavascript를 설치합니다.


   ```bash

   npm install -g ijavascript

   ijsinstall

   ```


   `ijsinstall` 명령어는 Jupyter에 IJavascript 커널을 등록합니다.


### IJavascript 사용 방법


1. Jupyter Notebook을 시작합니다. `jupyter notebook` 명령어를 사용하여 Jupyter Notebook 인터페이스를 열 수 있습니다.


2. 새 노트를 만들 때, 언어 선택 옵션에서 `JavaScript (Node.js)` 또는 `IJavascript`를 선택합니다.


3. 이제 셀에서 JavaScript 코드를 실행할 수 있습니다. 예를 들어:


   ```javascript

   console.log("Hello, world!");

   ```


   또는


   ```javascript

   let x = 10;

   x * x;

   ```


   이러한 코드들을 실행하면 JavaScript의 결과가 Jupyter Notebook에 표시됩니다.


### 장점


- **즉시 실행 및 피드백**: Jupyter Notebook의 인터랙티브한 환경을 활용하여 JavaScript 코드를 실행하고 즉시 결과를 확인할 수 있습니다.

- **Node.js 기능 사용 가능**: Node.js 환경이기 때문에 파일 시스템, 네트워킹, 다양한 npm 패키지 등을 사용할 수 있습니다.

- **데이터 시각화 및 분석**: JavaScript와 함께 다양한 데이터 시각화 라이브러리를 사용할 수 있어, 데이터 분석 작업에도 유용합니다.


`IJavascript`는 Jupyter Notebook에서 JavaScript와 Node.js 생태계를 활용하고자 할 때 매우 유용한 도구입니다. 이를 통해 JavaScript 코드를 시험하고, 데이터를 분석하거나 시각화하며, 교육 목적으로도 사용할 수 있습니다.

---



c++ 사용은 다른 모듈이 있는데

가상 환경이 필요해서 귀찮아서 안했다.


`xeus-cling`는 Jupyter Notebook에서 C++ 코드를 실행할 수 있는 Jupyter 커널입니다. 이 커널은 `cling`이라는 C++ 인터프리터와 `xeus`라는 Jupyter 프로토콜의 네이티브 구현을 기반으로 하고 있습니다. 이를 통해 Jupyter Notebook 환경에서 C++ 코드를 손쉽게 작성하고 실행할 수 있습니다.


### 설치 방법


1. **권장 환경**: `xeus-cling`은 `mamba`나 `conda` 패키지 관리자를 통해 설치할 수 있으며, Linux와 macOS 플랫폼에서 지원됩니다. 현재 Windows 플랫폼에서는 공식적으로 지원하지 않습니다. 최적의 설치를 위해 `xeus-cling`을 새로운 환경에 설치하는 것이 권장되며, `miniforge`나 `miniconda`를 사용하는 것이 좋습니다. 이는 Anaconda의 `ZeroMQ` 라이브러리와의 충돌 문제를 피하기 위해서입니다.


2. **설치 명령**:

   ```bash

   mamba create -n cling

   mamba activate cling

   mamba install xeus-cling -c conda-forge

   ```

   또는

   ```bash

   conda create -n cling

   conda activate cling

   conda install xeus-cling -c conda-forge

   ```


3. **소스에서 설치**: 소스에서 직접 설치하려면 필요한 종속성을 설치한 후 빌드하고 설치해야 합니다. 이는 CMake와 기타 개발 도구가 필요합니다.


### 기능과 사용법


`xeus-cling`을 사용하면 Jupyter Notebook에서 C++17 등의 최신 C++ 표준을 지원하는 환경을 사용할 수 있습니다. 또한, C++ 표준 라이브러리에 대한 빠른 도움말과 탭 자동 완성 기능을 제공합니다. 복잡한 데이터 타입의 경우, `xwidgets` 패키지를 통해 인터랙티브한 위젯을 사용할 수 있습니다.


### 문제와 해결


일부 사용자들은 `ZeroMQ`와 관련된 충돌 문제를 보고했습니다. 이 문제를 해결하려면 특정 라이브러리 버전을 맞추거나, Miniconda를 사용하는 것이 좋습니다. 또한, 외부 라이브러리를 사용하려면 적절한 경로 설정이 필요합니다.


더 자세한 정보와 설치 가이드는 [xeus-cling GitHub 페이지](https://github.com/jupyter-xeus/xeus-cling)에서 확인할 수 있습니다.


만약 `mamba`나 `conda`가 설치되어 있지 않다면, `miniconda`를 설치하여 필요한 환경을 구성할 수 있습니다. `miniconda`는 `conda`와 같은 패키지 관리자 및 환경 관리자를 포함하지만, 더 가볍고 필요한 패키지만 설치할 수 있도록 해줍니다.


### Miniconda 설치 및 설정


1. **Miniconda 다운로드**: [Miniconda 다운로드 페이지](https://docs.conda.io/en/latest/miniconda.html)에서 운영체제에 맞는 설치 파일을 다운로드합니다.


2. **설치**:

   - **Windows**: 설치 파일을 실행하고 안내에 따라 설치합니다.

   - **macOS 및 Linux**: 다운로드한 `.sh` 파일을 터미널에서 실행하여 설치합니다. 예:

     ```bash

     bash Miniconda3-latest-Linux-x86_64.sh

     ```


3. **설치 확인**:

   설치가 완료되면 터미널 또는 명령 프롬프트에서 `conda` 명령어를 입력하여 설치가 잘 되었는지 확인합니다.

   ```bash

   conda --version

   ```


### xeus-cling 설치


Miniconda 설치 후, `xeus-cling`을 설치할 수 있습니다.


1. **새 환경 생성 및 활성화**:

   ```bash

   conda create -n cling

   conda activate cling

   ```


2. **xeus-cling 설치**:

   ```bash

   conda install xeus-cling -c conda-forge

   ```


이 과정을 통해 Jupyter Notebook에서 C++ 코드를 실행할 수 있는 환경을 설정할 수 있습니다. 설치 과정에서 문제가 발생하거나 더 자세한 정보가 필요하다면, [xeus-cling GitHub 페이지](https://github.com/jupyter-xeus/xeus-cling)를 참고하시기 바랍니다.


miniconda vs anaconda

  • Miniconda: 초기 설치 크기는 약 300MB~400MB 정도로 매우 가볍습니다. Miniconda는 기본적으로 필요한 최소한의 패키지 관리자와 Python 환경만 포함하고 있습니다.
  • Anaconda: Anaconda는 Miniconda에 비해 훨씬 많은 패키지를 포함하고 있으며, 설치 크기는 약 3GB 정도입니다. 다양한 데이터 과학, 머신러닝 라이브러리와 툴이 포함되어 있습니다.

  • ---


    ---


    검색하다가 이런 글을 봤는데 c++을 인터프리터 방식으로 사용하는 것에 회의를 느꼈다는 글이라서 흥미로웠다. 


    I already hate Jupyter Notebooks with enough of a passion that it never even occurred to me to inflict them on C++. Not only is this a thing you can do, but people want to? 


    Jupyter Notebook은 주로 Python과 같은 동적 언어를 위한 인터랙티브 컴퓨팅 환경으로 설계되었습니다. C++과 같은 정적 언어와는 몇 가지 면에서 차이가 있어, C++을 Jupyter에서 사용하는 것에 회의적인 시각이 존재할 수 있습니다.







    댓글

    이 블로그의 인기 게시물

    js 스트링에서 요소 갯수 세기

    STUDY

    javascript cheatsheet