Merge branch 'duo-launch' of github.com:urbit/developers.urbit.org into duo-launch

This commit is contained in:
Matilde Park 2022-06-29 14:59:08 -07:00
commit 8e1b9ccf7d
2 changed files with 22 additions and 88 deletions

View File

@ -1,6 +1,6 @@
+++
title = "App School Live"
weight = 3
weight = 6
+++
Periodically, the Urbit Foundation will offer synchronous cohort classes which
@ -27,90 +27,10 @@ docs](/guides/core/app-school).
## What will you learn?
### `lesson0`. A Simple Agent.
After this lesson, you should be able to:
- Produce a minimalist Gall agent.
- Employ the `default-agent` library.
- Employ the `%dbug` agent wrapper.
- Define entropy and its source.
- Utilize `eny` in a random number generator (`og`).
- Distinguish insecure hashing (`mug`) from secure hashing (`shax` and friends).
### `lesson1`. Arvo Services.
After this lesson, you should be able to:
- Explain Arvo as a state machine and event log.
- Explain Kelvin versioning and identify the system components that require this approach.
- Explain the services Ames provides to the system.
- Diagram the architecture of Ames as a network.
- Explain the services Behn provides to the system.
- Explain the services Clay provides to the system.
- Identify key Clay artifacts: desks, marks, etc.
- Explain the services Dill provides to the system.
- Explain the services Eyre provides to the system.
- Explain the services Gall provides to the system.
- Explain the services Iris provides to the system.
- Explain the services Jael provides to the system.
- Enumerate the secrets Jael tracks.
- Explain the services Khan provides to the system.
You will know the runes:
- `/?`
- `!?`
- `.^`
### `lesson2`. Agents.
After this lesson, you should be able to:
- Produce an advanced Gall agent without a front-end interface.
- Explain how subscriptions work and use them.
### `lesson3`. Passing Data.
After this lesson, you should be able to:
- Diagram how marks convert nouns.
- Explain the use of the `++grab`, `++grow`, and `++grad` arms.
- Produce a simple mark.
- Parse JSON input.
- Construct a JSON reparser.
- Convert JSON to other formats with a mark.
- Retrieve particular values from a JSON input.
You will know the runes:
- `/*`
- `;;`
### `lesson4`. React Front-End.
After this lesson, you should be able to:
- Interact with Urbit using the Javascript API.
- Produce an advanced agent with a front-end interface.
- Explain the role of a `%glob` and produce one.
We _are not_ teaching React and JavaScript. If you are not comfortable with
front-end platforms, you should still be able to follow along for this lesson,
then circle back around later with an outside tutorial.
### `lesson5`. Threads.
After this lesson, you should be able to:
- Use Spider to dispatch and manage threads.
### `lesson6`. Production Apps.
After this lesson, you should be able to:
- Instrument unit tests for a Gall agent.
- Produce a desk suitable for distribution (with a docket file).
- Explain elements of a docket file.
- Set up a continuous integration pipeline to test Gall agents and other published code.
- `lesson0`. A Simple Agent
- `lesson1`. Arvo Services
- `lesson2`. Agents
- `lesson3`. Passing Data
- `lesson4`. React Front-End
- `lesson5`. Threads
- `lesson6`. Production Apps

View File

@ -18,3 +18,17 @@ current time, we anticipate that we will next offer it in the fall after
Until then, feel free to work through the [Hoon School
docs](/guides/core/hoon-school).
## What will you learn?
- `basics-1`. Introduction to Computing (optional)
- `basics0`. Setting Up Urbit (optional)
- `lesson1`. Hoon Syntax
- `lesson2`. Hoon Conventions
- `lesson3`. Making Decisions
- `lesson4`. Repeating Yourself
- `lesson5`. Subject-Oriented Programming
- `lesson6`. Molding Values
- `lesson7`. The Standard Library
- `lesson8`. Managing State
- `lesson9`. Production Code