...

Spin что это за программа

Saved searches

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

fermyon / spin Public

Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.

License

fermyon/spin

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

c4b9f65 Sep 19, 2023

…r-by-crook When `spin watch` terminates spin up, allow it to delete its temp dir

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time
November 29, 2021 19:12
April 24, 2023 10:31
September 14, 2023 12:30
May 11, 2023 08:19
September 11, 2023 12:02
March 23, 2023 15:59
September 14, 2023 09:45
September 11, 2023 08:31
September 11, 2023 08:31
September 19, 2023 13:35
June 12, 2023 11:50
September 13, 2023 14:05
September 14, 2023 10:28
April 3, 2023 22:38
September 4, 2023 17:08
February 3, 2023 18:54
May 11, 2023 08:44
May 12, 2022 19:07
January 6, 2023 00:59
September 19, 2023 13:35
September 19, 2023 13:35
March 30, 2022 12:46
August 31, 2023 10:30
September 12, 2023 13:43
August 28, 2023 13:53
September 4, 2023 23:02
May 23, 2023 14:43
September 4, 2023 23:02

README.md

Spin is a framework for building, deploying, and running fast, secure, and composable cloud microservices with WebAssembly.

Spin is an open source framework for building and running fast, secure, and composable cloud microservices with WebAssembly. It aims to be the easiest way to get started with WebAssembly microservices, and takes advantage of the latest developments in the WebAssembly component model and Wasmtime runtime.

Spin offers a simple CLI that helps you create, distribute, and execute applications, and in the next sections we will learn more about Spin applications and how to get started.

See the Install Spin page of the Spin documentation for a detailed guide on installing and configuring Spin, but in short run the following commands:

curl -fsSL https://developer.fermyon.com/downloads/install.sh | bash sudo mv ./spin /usr/local/bin/spin

To get started writing apps, follow the quickstart guide, and then follow the Rust, JavaScript, Python, or Go language guides, and the guide on writing Spin applications.

Below is an example of using the spin CLI to create a new Spin application. To run the example you will need to install the wasm32-wasi target for Rust.

$ rustup target add wasm32-wasi

First, run the spin new command to create a Spin application from a template.

# Create a new Spin application named 'hello-rust' based on the Rust http template, accepting all defaults $ spin new --accept-defaults http-rust hello-rust

Running the spin new command created a hello-rust directory with all the necessary files for your application. Change to the hello-rust directory and build the application with spin build , then run it locally with spin up :

# Compile to Wasm by executing the `build` command. $ spin build Executing the build command for component hello-rust: cargo build --target wasm32-wasi --release Finished release [optimized] target(s) in 0.03s Successfully ran the build command for the Spin components. # Run the application locally. $ spin up Logging component stdio to ".spin/logs/" Serving http://127.0.0.1:3000 Available Routes: hello-rust: http://127.0.0.1:3000 (wildcard)

That’s it! Now that the application is running, use your browser or cURL in another shell to try it out:

# Send a request to the application. $ curl -i 127.0.0.1:3000 HTTP/1.1 200 OK foo: bar content-length: 14 date: Thu, 13 Apr 2023 17:47:24 GMT Hello, Fermyon

You can make the app do more by editting the src/lib.rs file in the hello-rust directory using your favorite editor or IDE. To learn more about writing Spin applications see Writing Applications in the Spin documentation. To learn how to publish and distribute your application see the Publishing and Distribution guide in the Spin documentation.

For more information on the cli commands and subcommands see the CLI Reference.

Language Support for Spin Features

The table below summarizes the feature support in each of the language SDKs.

Feature Rust SDK Supported? TypeScript SDK Supported? Python SDK Supported? Tiny Go SDK Supported? C# SDK Supported?
Triggers
HTTP Supported Supported Supported Supported Supported
Redis Supported Not Supported Not Supported Supported Not Supported
APIs
Outbound HTTP Supported Supported Supported Supported Supported
Configuration Variables Supported Supported Supported Supported Supported
Key Value Storage Supported Supported Supported Supported Not Supported
Sqlite Storage Supported Supported Supported Supported Not Supported
MySQL Supported Not Supported Not Supported Not Supported Not Supported
PostgreSQL Supported Not Supported Not Supported Not Supported Supported
Outbound Redis Supported Supported Supported Supported Supported
Serverless AI Supported Supported Not Supported Not Supported Not Supported
Extensibility
Authoring Custom Triggers Supported Not Supported Not Supported Not Supported Not Supported

We are delighted that you are interested in making Spin better! Thank you! Please follow the contributing guide. And join our Discord server.

Follow us on Twitter: @spinframework

You can join the Spin community in our Discord server where you can ask questions, get help, and show off the cool things you are doing with Spin!

About

Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.

ON-THE-FLY, LTL MODEL CHECKING with SPIN

The Spin software is written in ANSI standard C, and is portable across all versions of the UNIX operating system. It can also be compiled to run on any standard PC running Linux, Windows95/98, or WindowsNT.

Downloading and installation instructions can be found in Spin’s Readme file.

Tool Documentation

  • README.html with the downloading and installation notes for Spin.
Manual.html (language and tool) Quick.html (by Rob Gerth, Eindhoven Univ./Intel) GettingStarted.html (mostly on xspin) Roadmap.html (mostly on spin) WhatsNew.html (mostly on promela) Exercises.html (routine use)

If you have Xspin working, start with GettingStarted If you have only plain spin working, start with Roadmap and Exercises In both cases proceed with Manual and then WhatsNew.html

Included in the Spin distribution are also these files:

Errata on the printed book: Doc/Book.Errata Answers to selected exercises: Doc/Book.answers More explanation on chapter 6: Doc/Book.Ch6.add Spin examples used in the book: Doc/Book.samples

Theoretical Background

    The on-the-fly verification algorithm used in Spin is described in

Design and Validation of Computer Protocols, Prentice Hall, New Jersey, 1991, ISBN 0-13-539925-4. A paperback edition of the book is available from www.amazon.com. The text of the book is also available online in PDF format, and in Postscript: Book91.html There is also a Japanese translation of the book.
An automata-theoretic approach to automatic program verification, by Moshe Y. Vardi, and Pierre Wolper, Proc. First IEEE Symp. on Logic in Computer Science, 1986, pp. 322-331.
Reliable hashing without collision detection, by Pierre Wolper and Dennis Leroy, Proc. 5th Int. Conference on Computer Aided Verification, 1993, Elounda, Greece, pp. 59-70.

NewsLetters

  • The Spin News Letters give updates on all changes, extensions, and revisions of the sources since the book was published. You can subscribe to the email distribution of these newsletters by sending a one-line message Subscribe to
[email protected] 

New releases of the Spin software are announced through these newsletters. Occassionally the newsletters also include answers to frequently asked questions, describe main new applications or projects with Spin. The newsletter serves mainly to establish contacts between people using the Spin software in different countries (there are users in over 40 different countries).

Annual Workshops

  • Spin95, Oct. 1995, Montreal, Canada
  • Spin96, Aug. 1996, Rutgers University, USA
  • Spin97, Apr. 1997, Twente University, The Netherlands
  • Spin98, Nov. 1998, ENST, Paris, France
  • Spin99, July 1999, Trento, Italy
[email protected] (Page Updated: 21 June 1999)

Saved searches

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

A super lightweight PHP WEB/REST Framework

License

Celarius/spin-framework

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

readme.md

SPIN - A super lightweight PHP UI/REST framework

SPIN is a application framework for making Web UI's and REST API's quickly and effectively with PHP. It uses PSR standards for most things, and allows for plugging in almost any PSR compatible component, such as loggers, HTTP libraries etc.

NOTE: This framework is in RC stage - Please contribute to make it complete
  • SPIN - A super lightweight PHP UI/REST framework
  • 1. Features
    • 1.1. PSR based integrations
    • 2.1. Using the spin-skeleton
    • 2.2. Testing
    • 3.1. Apache VHost configuration
    • PHP 8+
    • Platform agnostic. (Windows, *nix)
    • Routing engine, with route groups
    • Middleware
    • Containers
    • Composer driven in packages/extensions
    • PDO based DB connections (MySql,PostgreSql,Oracle,CockroachDb,Firebird,Sqlite . )
    • DAO base classes for DB Entity representation
    • Extendable with other frameworks (ORM, Templates etc.)

    1.1. PSR based integrations

    • Logger (PSR-3) Defaults to Monolog
    • HTTP Message (PSR-7). Defaults to Guzzle
    • Container (PSR-11). Defaults to The Leauge Container
    • SimpleCache (PSR-16). Defaults to APCu SimpleCache
    • HTTP Factories (PSR-17)

    Installing spin-framework as standalone with composer:

    composer require celarius/spin-framework

    2.1. Using the spin-skeleton

    To install and use the spin-framework it is highly recommended to start by cloning the spin-skeleton and running composer update -o in the folder. This will download all needed packages, and create a template skeleton project, containing example configs, routes, controllers and many other things.

    Having PHPUnit installed simply type

    phpunit

    At the command prompt and all tests will be executed.

    3. Technical Details

    3.1. Apache VHost configuration

    VHost for running the application under Apache with domain-name recognition.

    If Port number based applications are desired the needs to change to the corresponding port, and the domain.name removed from the config.

    *:80> Define domain.name mydomain.com Define alias.domain.name www.mydomain.com Define path_to_root C:/Path/Project Define environment DEV ServerName $ ServerAlias $ ServerAdmin webmaster@$ DocumentRoot "$\src\public" ErrorLog "logs/$.error.log" CustomLog "logs/$.access.log" common # Default caching headers for static content in /public $"> Header set Cache-Control "public, max-age=604800, must-revalidate" $\src\public"> Options -Indexes +FollowSymLinks AllowOverride All Order allow,deny Allow from all Require all granted # Set Variables SetEnv ENVIRONMENT $ # Load files in this order on "/" DirectoryIndex bootstrap.php index.php index.html # Disable appending a "/" and 301 redirection when a directory # matches the requested URL DirectorySlash Off # Set Rewrite Engine ON to direct all requests to # the `bootstrap.php` file RewriteEngine On RewriteCond % !-d RewriteCond % !-f RewriteRule ^ bootstrap.php [QSA,L] 

    About

    A super lightweight PHP WEB/REST Framework

    При подготовке материала использовались источники:
    https://github.com/fermyon/spin
    https://www.cse.msu.edu/~cse470/Public/Software/spin/whatispin.html
    https://github.com/Celarius/spin-framework

Оцените статью