updats, cheatsheet, installInstruc
This commit is contained in:
parent
af63f9f552
commit
3f696ac721
@ -19,7 +19,7 @@ website:
|
|||||||
contents:
|
contents:
|
||||||
- href: index.qmd
|
- href: index.qmd
|
||||||
text: "🏠 Home"
|
text: "🏠 Home"
|
||||||
- href: installation.qmd
|
- href: installation/julia.qmd
|
||||||
text: "Installation"
|
text: "Installation"
|
||||||
- href: schedule.qmd
|
- href: schedule.qmd
|
||||||
text: "📓 Schedule"
|
text: "📓 Schedule"
|
||||||
@ -83,7 +83,7 @@ website:
|
|||||||
background: primary
|
background: primary
|
||||||
page-footer:
|
page-footer:
|
||||||
background: light
|
background: light
|
||||||
left: "CC-By Benedikt Ehinger"
|
left: "CC-By Ehinger, Oesting, Uekerman"
|
||||||
resources:
|
resources:
|
||||||
- CNAME
|
- CNAME
|
||||||
|
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
## "meta"-tools
|
||||||
|
|
||||||
|
|
||||||
|
| | Julia | Python |
|
||||||
|
|------------------------|------------------------|------------------------|
|
||||||
|
| Documentation | `?obj` | `help(obj)` |
|
||||||
|
| Object content | `dump(obj)` | `print(repr(obj))` |
|
||||||
|
| Exported functions | `names(FooModule)` | `dir(foo_module)` |
|
||||||
|
| List function signatures with that name | `methods(myFun)` | |
|
||||||
|
| List functions for specific type | `methodswith(SomeType)` | `dir(SomeType)` |
|
||||||
|
| Where is ...? | `@which func` | `func.__module__` |
|
||||||
|
| What is ...? | `typeof(obj)` | `type(obj)` |
|
||||||
|
| Is it really a ...? | `isa(obj, SomeType)` | `isinstance(obj, SomeType)` |
|
||||||
|
|
||||||
|
## debugging
|
||||||
|
|||
|
||||||
|
|--|--|
|
||||||
|
`@run sum(5+1)`| run debugger, stop at error/breakpoints
|
||||||
|
`@enter sum(5+1)` | enter debugger, dont start code yet
|
||||||
|
`@show variable` | prints: variable = variablecontent
|
||||||
|
`@debug variable` | prints only to debugger, very convient in combination with `>ENV["JULIA_DEBUG"] = ToBeDebuggedModule` (could be `Main` as well)
|
||||||
|
|
@ -0,0 +1,21 @@
|
|||||||
|
# Installing Julia
|
||||||
|
|
||||||
|
The recommended way to install julia is [juliaup](https://github.com/JuliaLang/juliaup). It allows you toe.g. easily update Julia at a later point, but also test out alpha/beta versions etc.
|
||||||
|
|
||||||
|
TLDR; If you dont want to read the explicit instructions, just copy the following command
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
AppStore -> JuliaUp, or `winget install julia -s msstore` in CMD
|
||||||
|
|
||||||
|
### Mac & Linux
|
||||||
|
`curl -fsSL https://install.julialang.org | sh` in any shell
|
||||||
|
|
||||||
|
# VSCode
|
||||||
|
To install VSCode (the recommended IDE), go to [this link](https://code.visualstudio.com/download) and download + install the correct package.
|
||||||
|
|
||||||
|
Next, install the Julia extension
|
||||||
|
|
||||||
|
 (thanks to https://juliateachingctu.github.io for providing us with the nice graphics)
|
||||||
|
|
||||||
|
Finally press `Ctrl + Shift + P` to get VSCodes command palette, and type in `Julia: Start REPL`
|
||||||
|

|
@ -192,13 +192,14 @@ Following `semver` - three parts:
|
|||||||
`v2.7.5`
|
`v2.7.5`
|
||||||
|
|
||||||
means:
|
means:
|
||||||
|
|
||||||
- **Major** 2
|
- **Major** 2
|
||||||
- **Minor** 7
|
- **Minor** 7
|
||||||
- **Bugfix** 5
|
- **Bugfix** 5
|
||||||
|
|
||||||
Bump **Major** if you propose backward-breaking changes
|
- Bump **Major** if you propose backward-breaking changes
|
||||||
Bump **Minor** if you only introduce new features
|
- Bump **Minor** if you only introduce new features
|
||||||
Bump **Bugfix** if you, well, fix bugs
|
-Bump **Bugfix** if you, well, fix bugs
|
||||||
|
|
||||||
**Special case:**
|
**Special case:**
|
||||||
|
|
||||||
|
@ -152,6 +152,30 @@ And a nice sideeffect: By doing this, we get rid of any specialized "serialized"
|
|||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
||||||
|
## Linear Algebra
|
||||||
|
```julia
|
||||||
|
import LinearAlgebra # <1>
|
||||||
|
import LinearAlgebra: qr
|
||||||
|
using LinearAlgebra # <2>
|
||||||
|
|
||||||
|
```
|
||||||
|
1. Requires to write `LinearAlgebra.QR(...)` to access a function
|
||||||
|
2. `LinearAlgebra` is a `Base` package, and always available
|
||||||
|
|
||||||
|
:: callout
|
||||||
|
Julia typically recommends to use `using PackageNames`. Name-space polution is not a problem, as the package manager will never silently overwrite an already existing method - it will always as the user to specify in those cases (different to R: shows a warning, or Python: just does on with life as if nothing happened)
|
||||||
|
::
|
||||||
|
|
||||||
|
```julia
|
||||||
|
A = Matrix{Float64}(undef,11,22) # <1>
|
||||||
|
B = Array{Float64,2}(undef,22,33) # <2>
|
||||||
|
qr(A*B)
|
||||||
|
```
|
||||||
|
1. equivalent to `Array`, as `Matrix` is a convenience type-alias for `Array` with 2 dimensions. Same thing for `Vector`.
|
||||||
|
2. the `2` of `{Float64,2}` is not mandatory
|
||||||
|
|
||||||
|
|
||||||
|
Much more on wednesday in the lecture `LinearAlgebra`!
|
||||||
|
|
||||||
## Style-conventions
|
## Style-conventions
|
||||||
|
|
||||||
@ -389,28 +413,5 @@ Macros allow to programmers to edit the actual code **before** it is run. We wil
|
|||||||
a = "123"
|
a = "123"
|
||||||
@show a
|
@show a
|
||||||
```
|
```
|
||||||
# Cheatsheets
|
## Debugging
|
||||||
|
XXX
|
||||||
## meta-tools
|
|
||||||
|
|
||||||
<!-- maybe move to own file "cheatsheets?" -->
|
|
||||||
|
|
||||||
| | Julia | Python |
|
|
||||||
|------------------------|------------------------|------------------------|
|
|
||||||
| Documentation | `?obj` | `help(obj)` |
|
|
||||||
| Object content | `dump(obj)` | `print(repr(obj))` |
|
|
||||||
| Exported functions | `names(FooModule)` | `dir(foo_module)` |
|
|
||||||
| List function signatures with that name | `methods(myFun)` | |
|
|
||||||
| List functions for specific type | `methodswith(SomeType)` | `dir(SomeType)` |
|
|
||||||
| Where is ...? | `@which func` | `func.__module__` |
|
|
||||||
| What is ...? | `typeof(obj)` | `type(obj)` |
|
|
||||||
| Is it really a ...? | `isa(obj, SomeType)` | `isinstance(obj, SomeType)` |
|
|
||||||
|
|
||||||
## debugging
|
|
||||||
|||
|
|
||||||
|--|--|
|
|
||||||
`@run sum(5+1)`| run debugger, stop at error/breakpoints
|
|
||||||
`@enter sum(5+1)` | enter debugger, dont start code yet
|
|
||||||
`@show variable` | prints: variable = variablecontent
|
|
||||||
`@debug variable` | prints only to debugger, very convient in combination with `>ENV["JULIA_DEBUG"] = ToBeDebuggedModule` (could be `Main` as well)
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user