english translation started
This commit is contained in:
@@ -1,74 +1,72 @@
|
||||
# Entwicklungsumgebungen
|
||||
# Development Environments
|
||||
|
||||
Für diesen Kurs werden wir die webbasierte Entwicklungsumgebung [Jupyterhub](https://de.wikipedia.org/wiki/Project_Jupyter) verwenden. Sie steht allen Teilnehmerïnnen für die Dauer des Kurses zur Verfügung.
|
||||
For this course, we will use the web-based development environment [Jupyterhub](https://en.wikipedia.org/wiki/Project_Jupyter). It is available to all participants for the duration of the course.
|
||||
|
||||
Für langfristiges Arbeiten empfiehlt sich eine eigene Installation.
|
||||
For long-term work, a personal installation is recommended.
|
||||
|
||||
|
||||
## Installation auf eigenem Rechner (Linux/MacOS/MS Windows)
|
||||
## Installation on Personal Computer (Linux/MacOS/MS Windows)
|
||||
|
||||
1. Julia mit dem Installations- und Update-Manager **juliaup** installieren: <https://github.com/JuliaLang/juliaup/>
|
||||
2. als Editor/IDE **Visual Studio Code** installieren: <https://code.visualstudio.com/>
|
||||
3. im VS Code Editor die **Julia language extension** installieren: <https://www.julia-vscode.org/docs/stable/gettingstarted/>
|
||||
1. Install Julia with the installation and update manager **juliaup**: <https://github.com/JuliaLang/juliaup/>
|
||||
2. Install **Visual Studio Code** as editor/IDE: <https://code.visualstudio.com/>
|
||||
3. Install the **Julia language extension** in VS Code: <https://www.julia-vscode.org/docs/stable/gettingStarted/>
|
||||
|
||||
Einstieg:
|
||||
Entry point:
|
||||
|
||||
- In VS Code eine neue Datei mit der Endung `.jl` anlegen
|
||||
- Julia-Code schreiben
|
||||
- `Shift-Enter` oder `Ctrl-Enter` am Ende einer Anweisung oder eines Blocks startet eine Julia-REPL, Code wird in die REPL kopiert und ausgeführt
|
||||
- [Tastenbelegungen für VS Code](https://code.visualstudio.com/docs/getstarted/keybindings#_keyboard-shortcuts-reference)
|
||||
und [für Julia in VS Code](https://www.julia-vscode.org/docs/stable/userguide/keybindings/)
|
||||
- Create a new file with the extension `.jl` in VS Code
|
||||
- Write Julia code
|
||||
- `Shift-Enter` or `Ctrl-Enter` at the end of a statement or block starts a Julia-REPL, code is copied to the REPL and executed
|
||||
- [Key bindings for VS Code](https://code.visualstudio.com/docs/getstarted/keybindings#_keyboard-shortcuts-reference)
|
||||
and [for Julia in VS Code](https://www.julia-vscode.org/docs/stable/userguide/keybindings/)
|
||||
|
||||
|
||||
### Die Julia-REPL
|
||||
### The Julia-REPL
|
||||
|
||||
Wenn man Julia direkt startet, wird die [Julia-REPL](https://docs.julialang.org/en/v1/stdlib/REPL/) (*read-eval-print* Schleife) gestartet, in der man interaktiv mit Julia arbeiten kann.
|
||||
When Julia is started directly, the [Julia-REPL](https://docs.julialang.org/en/v1/stdlib/REPL/) (*read-eval-print* loop) starts, where one can work interactively with Julia.
|
||||
|
||||
|
||||
```default
|
||||
$ julia
|
||||
_
|
||||
_ _ _(_)_ | Documentation: https://docs.julialang.org
|
||||
(_) | (_) (_) |
|
||||
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
|
||||
| | | | | | |/ _` | |
|
||||
| | |_| | | | (_| | | Version 1.11.4 (2025-03-10)
|
||||
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|
||||
_
|
||||
_ _ _(_)_ | Documentation: https://docs.julialang.org
|
||||
(_) | (_) (_) |
|
||||
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
|
||||
| | | | | | |/ _` | |
|
||||
| | |_| | | | (_| | | Version 1.11.4 (2025-03-10)
|
||||
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|
||||
|__/ |
|
||||
|
||||
julia>
|
||||
```
|
||||
|
||||
## Arbeiten auf dem [Jupyterhub-Webserver](https://misun103.mathematik.uni-leipzig.de/)
|
||||
## Working on the [Jupyterhub Webserver](https://misun103.mathematik.uni-leipzig.de/)
|
||||
|
||||
### Jupyterhub & Jupyter
|
||||
|
||||
- [Jupyterhub](https://de.wikipedia.org/wiki/Project_Jupyter) ist ein Multi-User-Server für Jupyter.
|
||||
- Jupyter ist eine web-basierte interaktive Programmierumgebung, die
|
||||
- ursprünglich in und für Python geschrieben, inzwischen eine
|
||||
Vielzahl von Programmiersprachen nutzen kann.
|
||||
- In Jupyter bearbeitet man sogenannte *notebooks*. Das sind strukturiere Textdateien (JSON), erkennbar an der Dateiendung
|
||||
`*.ipynb`.
|
||||
- [Jupyterhub](https://de.wikipedia.org/wiki/Project_Jupyter) is a multi-user server for Jupyter.
|
||||
- Jupyter is a web-based interactive programming environment that
|
||||
- was originally written for and in Python, but now supports many programming languages
|
||||
- In Jupyter, one works with so-called *notebooks*. These are structured text files (JSON), recognizable by the file extension `*.ipynb`.
|
||||
|
||||
Unser Jupyterhub-Server: <https://misun103.mathematik.uni-leipzig.de/>
|
||||
Our Jupyterhub server: <https://misun103.mathematik.uni-leipzig.de/>
|
||||
|
||||
Nach dem Einloggen in Jupyterhub erscheint ein Dateimanager:
|
||||
After logging into Jupyterhub, a file manager appears:
|
||||
|
||||
::: {.content-visible when-format="html"}
|
||||

|
||||
:::
|
||||
|
||||
::: {.content-visible when-format="pdf"}
|
||||
{width=50%}
|
||||
{width=50%}
|
||||
:::
|
||||
|
||||
|
||||
Mit diesem kann man:
|
||||
This can be used to:
|
||||
|
||||
- vorhandene *notebooks* öffnen,
|
||||
- neue *notebooks* anlegen,
|
||||
- Dateien, z.B. *notebooks*, vom lokalen Rechner hochladen,
|
||||
- die Sitzung mit `Logout` beenden (bitte nicht vergessen!).
|
||||
- open existing *notebooks*,
|
||||
- create new *notebooks*,
|
||||
- upload files, e.g. *notebooks*, from the local computer,
|
||||
- end the session with `Logout` (please don't forget!).
|
||||
|
||||
### Jupyter notebooks
|
||||
|
||||
@@ -82,29 +80,29 @@ Mit diesem kann man:
|
||||
:::
|
||||
|
||||
|
||||
*Notebooks* bestehen aus Zellen. Zellen können
|
||||
*Notebooks* consist of cells. Cells can contain
|
||||
|
||||
- Code oder
|
||||
- Text/Dokumentation (Markdown)
|
||||
- code or
|
||||
- text/documentation (Markdown)
|
||||
|
||||
enthalten. In Textzellen kann die Auszeichnungssprache [Markdown](https://de.wikipedia.org/wiki/Markdown) zur Formatierung und LaTeX für mathematische Gleichungen verwendet werden.
|
||||
In text cells, the markup language [Markdown](https://en.wikipedia.org/wiki/Markdown) can be used for formatting and LaTeX for mathematical equations.
|
||||
|
||||
::: {.callout-tip }
|
||||
Bitte die Punkte `User Interface Tour` und `Keyboard Shortcuts` im `Help`-Menü anschauen!
|
||||
Please check the `User Interface Tour` and `Keyboard Shortcuts` points in the `Help` menu!
|
||||
:::
|
||||
|
||||
Die Zelle, die man gerade bearbeitet, kann im `command mode` oder `edit mode` sein.
|
||||
The cell currently being worked on can be in `command mode` or `edit mode`.
|
||||
|
||||
:::{.narrow}
|
||||
|
||||
| | *Command mode* | *Edit mode* |
|
||||
|:-------|:---------------:|:-----------:|
|
||||
| Mode aktivieren | `ESC` | Doppelklick oder `Enter` in Zelle |
|
||||
| neue Zelle | `b` | `Alt-Enter` |
|
||||
| Zelle löschen | `dd` | |
|
||||
| Notebook speichern | `s` | `Ctrl-s` |
|
||||
| Notebook umbenennen | `Menu -> File -> Rename` | `Menu -> File -> Rename` |
|
||||
| Notebook schließen | `Menu -> File -> Close & Halt` | `Menu -> File -> Close & Halt` |
|
||||
| Activate mode | `ESC` | Double-click or `Enter` in cell |
|
||||
| New cell | `b` | `Alt-Enter` |
|
||||
| Delete cell | `dd` | |
|
||||
| Save notebook | `s` | `Ctrl-s` |
|
||||
| Rename notebook | `Menu -> File -> Rename` | `Menu -> File -> Rename` |
|
||||
| Close notebook | `Menu -> File -> Close & Halt` | `Menu -> File -> Close & Halt` |
|
||||
| *run cell* | `Ctrl-Enter` | `Ctrl-Enter` |
|
||||
| *run cell, move to next cell* | `Shift-Enter` | `Shift-Enter` |
|
||||
| *run cell, insert new cell below* | `Alt-Enter` | `Alt-Enter` |
|
||||
@@ -118,29 +116,27 @@ Die Zelle, die man gerade bearbeitet, kann im `command mode` oder `edit mode` se
|
||||
:::
|
||||
|
||||
::: {.content-visible when-format="pdf"}
|
||||
{width=50%}
|
||||
{width=50%}
|
||||
:::
|
||||
|
||||
|
||||
When a cell is "working", its cell number becomes a `*` and
|
||||
the `kernel busy` indicator (solid black dot at the top right next to the
|
||||
Julia version) appears. If this takes too long (an *infinite loop*
|
||||
is quickly programmed), then
|
||||
|
||||
Wenn eine Zelle \"arbeitet\", wird ihre Zellen-Nummer zu einem `*` und
|
||||
die `kernel busy`-Anzeige (Voller schwarzer Punkt oben rechts neben der
|
||||
Julia-Version) erscheint. Falls das zu lange dauert (ein *infinite loop*
|
||||
ist schnell programmiert), dann
|
||||
|
||||
- `Menu -> Kernel -> Interrupt` anklicken; falls das wirkungslos ist,
|
||||
- `Menu -> Kernel -> Restart` anklicken.
|
||||
- click `Menu -> Kernel -> Interrupt`; if this is ineffective,
|
||||
- click `Menu -> Kernel -> Restart`.
|
||||
|
||||
|
||||
::: {.callout-important }
|
||||
Nach einem `kernel restart` müssen alle Zellen, die weiterhin benötigte Definitionen,
|
||||
`using`-Anweisungen etc enthalten, wieder ausgeführt werden.
|
||||
After a `kernel restart`, all cells containing required definitions,
|
||||
`using` statements, etc. must be executed again.
|
||||
|
||||
|
||||
**Am Ende der Arbeit bitte immer:**
|
||||
**At the end of work, please always:**
|
||||
|
||||
- `Menu -> File -> Save & Checkpoint`
|
||||
- `Menu -> File -> Close & Halt`
|
||||
- `Logout`
|
||||
- `Menu -> File -> Save & Checkpoint`
|
||||
- `Menu -> File -> Close & Halt`
|
||||
- `Logout`
|
||||
:::
|
||||
|
||||
|
||||
Reference in New Issue
Block a user