LoginSignup
8
7

More than 3 years have passed since last update.

RStudio Cloud 入門

Last updated at Posted at 2020-05-30

目次


はじめに ~ RStudio Cloud とは? ~

RStudioは、プログラミング言語RIDE (統合開発環境) であり、多くのRユーザーが利用しています。RRStudioは、Pythonとは異なり導入や環境設定がそこまで難しくないですが、それでもクラウド環境で作業をしたい、という需要はある程度あります。
PythonJuliaなどのプログラミング言語においては、Google Colaboratoryとよばれる無料で使えるクラウド環境が提供されており、ローカルに環境を構築しなくとも、コードの共有や共同作業などが簡単にできるようになっています。
Google Colaboratoryでは残念ながらRはまだ提供されていませんが、RStudio Cloudとよばれるクラウド環境により無料で似たようなことができるようになっています。

このあと説明していきますが、RStudio Cloudでは、Mac, WindowsといったOSに依存せず、また自分のR環境を他人に共有できたりするので、特に教育用の目的に利用するには向いていると言えると思います。実際、このマニュアルも私の所属する生物測定学研究室の学生実験でRStudio Cloudを使うにあたって、作成したものです。


関連記事

RStudio Cloud の関連記事

RStudio Cloud自体が最近ベータ版になったこともあり、かなり記事の数自体が少なく、さらに、共同作業に関する記事はほとんどなかったように思います。

RStudio の関連記事

一番下の記事は、フランス人の友人が書いたものです(もちろん英語)。少しアドバンストな内容もありますが、RStudioに関する多くのTipsを紹介しており、一読の価値ありだと思います。


RStudio Cloud の導入

アカウントの作成

まず、RStudio Cloudのホームページ (https://rstudio.cloud/) にアクセスしましょう。
すると、以下のような画面が出てくると思うので、アカウントを持っていない場合は "Get Started" というボタンを押してみましょう。

Fig1.png

"Get Started" というボタンを押すと、アカウント作成画面に移行します。

Fig2-2.png

メールアドレスとパスワード、名前を打ち込んでもアカウントが作れますが、Googleアカウントを持っている人は、それを利用してログインするといいでしょう。
ログインに成功すると、名前を決めるよう言われるので、名前を決めてアカウントを作成しましょう!
(なおこのとき確認メールが届くと思うので、メール内にあるリンクをクリックしておきましょう。)

ちなみに、普通のRStudioみたいな感じでデスクトップ版のアプリっぽく使いたいときは、Google Chromeをブラウザとして使っているなら、以下の画像のように、そのほかのツール > ショートカットを作成を押して、ウィンドウとして開くにチェックを入れることで、それっぽい感じで使えるのでオススメです。

Fig3.png

概要

アカウントの作成が終わると、以下のような画面に移行します。

Fig4.png

以降では、左側にある各タブ (画像の①)、つまりRStudio Cloudでできることについて簡単に説明していきます。

Spaces

Your Workspace

現在はYour Workspaceというタブにいるのがわかると思います。
このYour Workspaceというタブでは、自分専用のProjectを作ることができ、いわゆるローカル環境と同様の作業を行うことができます。詳細についてはで説明します。

New Space

New Workspaceタブを押すと、自分の好きな名前でWorkspaceを作ることができます。このようにして作ったWorkspace他人と共有することも可能です。詳細についてはで説明します。

Learn

Guide

RStudio Cloudの使い方に関することが全て書かれています。一読すれば、RStudio Cloudの使い方をほぼマスターできると思います。このマニュアルも、Guideタブに書いてあることの和訳を多く含みます。

What's New

RStudio Cloudに関する更新情報です。

Primers

PrimersではデータサイエンスのためのR言語の使い方の基本を網羅したチュートリアルにより、インタラクティブに学ぶことができます。R初学者の方は、ぜひPrimersタブを使って勉強してみましょう!

Cheat Sheets

Cheat SheetsタブではRに関するいろいろなチートシートをダウンロードすることができます。深層学習や時系列データなど、データ解析に関するチートシートもあるので、一見の価値ありです。

そのほかのタブ

フィードバックや利用規約に関するものなので、そこまで気にしなくていいでしょう。


RStudio Cloud の使い方

Your Workspace の使い方

Project の使い方

RStudio CloudにおけるWorkspaceとは、いくつかのProjectを含むことができる作業スペースとなっており、なかでもYour Workspace個人専用Workspaceとなっています。
では、Projectとはなんでしょうか?Projectは、RStudio Cloudの基本的な作業単位で、Rコード、パッケージ、データなどをカプセル化したものとなっており、Project同士は互いに独立したものとして使うことができます。ローカルのRStudioにおけるR Projectと同様のものなので、こちらを使ったことがある人はイメージしやすいでしょう。(RStudioを使ったことがない人は、RStudio の使い方を参考にしてみてください。)

では、早速以下の手順で新しいProjectを作ってみましょう。
と言っても簡単で、先ほどの画像の右上 (画像の②) にある、New Projectボタンを押すだけです。

すると、少し時間をかかりますが、自動でDeploying Project > Opening Project という表示が出たのち、以下の画像のようなRStudioと同様の画面が現れます。

Fig5.png

画像にもある通り、現在RStudio Cloudのバージョンは4.0.0とほぼ最新バージョンになっており (画像の①)、普段バージョン3.6.3以前のものを使っている人は、仕様上いくつか異なる点があるので、注意が必要です。

さてProjectを開いたら、まず画像の②の部分から、Project名を変更しましょう。

次に、画像の③のFiles > Uploadから解析に必要なデータなどをアップロードすることができます。複数ファイルやフォルダをいっぺんにアップロードすることもできるようです。

準備が整ったら、通常のRStudioと同様に、画像の④から新しいRスクリプトなどを開いて、通常のRStudioと同様にコーディングをはじめましょう!RStudioの使い方がわからない人は、RStudio の使い方を参考にしてみてください。

上の手順に沿って、データなどをアップロードすることで、以下のようなサンプルProjectmyExampleを作りました。ここでは、Rで基本的な統計解析について勉強できる、Introductory Statistics with R (ISwR) という本の第4章の一部を抜粋したコードを、以下のような形で書きました。

Fig6.png

ここで、画像の①のFilesでは、以下のようにフォルダを作成しファイルをアップロードしました。(フォルダは自分で作成)

  • .Rhistiry: 元からある履歴などを保存するファイル。
  • data: 読み込みたいデータを格納するフォルダ。
    • juul.csv: ISwRで用いるデータ。data(juul)でも読み込めるが、Uploadの機能をチェックするため、ローカルからアップロードした。
  • project.Rproj: 元からあるProjectの設定情報を含むファイル。
  • results: 結果を出力するフォルダ。はじめは中身は空だが、コード上でjuulNew.csvというファイルを書き出す。
  • scripts: スクリプトを含むフォルダ。
    • ISwR_Chapter4.1_modified.R: 今回用いたサンプルのコード。

また、画像の②を見ると、コードを実行するのに必要なISwRパッケージがインストールされていないことがわかります。そんな時は、②のInstallボタンや③のTools > Install Packages...からインストールしましょう。あるいは④のように

install_IsWR.R
### If you have not installed ISwR package yet, then install by:
if (!requireNamespace("ISwR", quietly = TRUE)) {
  install.packages("ISwR")
}    ### or you can install by `Tools > Install Packages...`

と言う感じで、スクリプト上からパッケージをインストールもできます。

パッケージのインストールができれば、あとはコードの上から順に Ctrl + Enter (Windows/Linux) または Cmd + Return (Mac) で実行していけば良いですね。

Project の共有・他人の Project へのアクセス

Your Workspaceでできることとして、自分の作ったProjectを他人に公開したり、他人の作ったProjectにアクセスすることができます。

自分の作ったProjectを他人に共有するには、まず下画像の①の設定マークを押し、②のAccessタブから、Who can view this projectYouからEveryoneに変更します。
(ちなみに画像の①の設定からは、Infoタブでプロジェクトの説明を書いたり、ResourcesタブからはProjectの計算に用いるメモリ・CPUの設定もできます。)

Fig7.png

その後、画像の③のように、ブラウザからProjectのURLをコピーして、他人と共有すればOKです。
あるいは、①の設定の隣にある④の...マークから、Share Project Linkを押せば、共有したい相手のメールアドレスを指定することで、他人にメールによりURLを教えることも可能です。

一方で、他人の作ったProjectにアクセスするのには、教えてもらったURLをブラウザで開けばOKです。
ブラウザで開くと、自動でDeploying Project > Opening Project という表示が出たのち、以下の画像のようにRStudio Cloudが立ち上がります。

Fig8.png

(わかりにくいですが、先ほどのHamazaki Kosukeのアカウントで作ったProjectKosuke Hamazakiというアカウントで開いています。)

まず画像の①からわかるように、他人の作ったProjectのURLをブラウザで開いています。
そして、②を見ると、でみたフォルダやファイルがそのままコピーされていることがわかります。
さらに、③のように、まだこのアカウントでは何もインストールなどしていないのに、ISwRパッケージがインストール済みであることがわかります。
このように、他人の作ったProjectが、データだけでなく、インストールされたパッケージなど環境そのものにアクセスできており、講義やワークショップなどで使う際などには非常に役立つと思われます。

このようにしてアクセスした他人のProjectを一時的に編集することは可能ですが、その変更は元のProjectに反映はされません(この時画像の④のようにTEMPORARY PROJECTという表示が出ています)。そのProjectを保存して、自分用にカスタマイズしたい場合には、画像の④のSave a Permanent Copyというボタンを押しましょう。すると、自分専用のProjectとしてYour Workspaceに保存することができます。なおこうして保存されたProjectは、元のProjectとは独立なものとなり、自分で行った変更は他人のProjectには反映されないことには注意が必要です。(つまり共同作業はできません。)

具体的な例として、先ほどので作ったProjectのURLを貼っておくので、自分のYour Workspaceに保存できるか是非試してみてください。

myExample: https://rstudio.cloud/project/1329034

なお、Your Workspaceに戻ってみると、下図のように、自分だけがアクセスできるmyLockedExampleには鍵マークがついているのに対し、先ほどリンクを共有したmyExampleには鍵がかかっていないことがわかります。

Fig9.png

RStudio Cloud による共同作業のやり方

メンバーの招待

共同作業をするためには、まず共同作業をするためのWorkspaceを作る必要があります。なおこのようなWorkspaceのことを、Private Spaceとよぶようです。
これには、左側のNew Space (下画像の①) を押してWorkspaceの名前を決めましょう (下画像の②)。

Fig10.png

しかし、これだけでは共同作業をすることはできません。
共同作業をするには、下画像の①のMembersタブを押し、②のAdd Memberから、共同作業したい相手のメールアドレスを打ち込み、Workspaceへの招待を行いましょう。

Fig11.png

ここで、招待を行う際には、以下の画像の①のように、招待する相手の役割を選択することができます。
役割はそれぞれ、権限を多く持つ順に

  • Admin: メンバーの管理を行える。また、スペース内のすべてのProjectを表示、編集、管理することができる。
  • Moderator: スペース内のすべてのProjectを表示、編集、管理することができる。
  • Contributor: 自分のProjectを作成、編集、管理することができる。デフォルト。
  • Viewer: スペース内の全員と共有しているProjectを閲覧できる。

の4つに分かれているので、相手に応じて適切な役割を設定した招待しましょう。

また、いちいちメールで招待を送るのが面倒な場合は、下画像の①のようにOptions > Accessの設定を、デフォルトのInvitation requiredからSharedに変える事で、Copy Sharing Linkから一斉共有用のリンクを取得できます。招待したい人がWorkspaceに参加したのを確認した後、Invitation requiredに設定を戻せば、それ以上外部の人間がWorkspaceに参加できなくなるので、講義などで共同作業をしたいときには便利な機能と言えるでしょう。

Project へのアクセス

共同作業用のWorkspaceでは、Contributor以上の権限をもつ人は、自由にProjectを作成できますが、このProjectを他人に公開するかどうかを決めることができます。デフォルトでは、非公開になっていますが、以下の画像の①で設定マークを押し、②のAccessタブで、Who can view this projectの設定をYouからEveryone in collaborationSpaceに変更することで、共同作業相手にProjectを見せることができます。(ちなみに非公開の場合、Projectの存在自体確認することができません。)

Fig12.png

ここでいうProjectを見せる、とは Project の共有・他人の Project へのアクセス で紹介したアクセスの仕方と同じになります。
ただし、どのような設定にしていても、AdminModeratorは全てのProjectの閲覧・編集が行えます

なお、現在は同時進行で共同編集はできないため、仮に、他人が作ったProjectを、AdminModeratorが閲覧・編集しようとすると、下図のように、先に作業していたユーザーがProjectに一時的にアクセスできなくなります

Fig13.png

ただ、再読み込みやReconnectボタンを押すなどしてもう一度そのProjectにアクセスすると、もう片方(あるいは他のすべて)のユーザーがR Session Disconnectedになります。

課題の作成

②のAccessタブで、Who can view this projectの設定をYouからEveryone in collaborationSpaceに変更する際に、Make this project an assignmentにチェックを入れると、このProjectを課題として扱うことができます。例えば、教職員が、必要なパッケージやデータ、コードを詰め込んだProjectを作ったのち、これを課題とすると、学生がこの課題にアクセスするだけで、自動でこの課題をPrivate Spaceに保存し、変更を加えることができるようになります。学生によって自動で作られたProjectは、Adminである教職員がすぐチェックできるようになります。(元のProjectの下にあるView n derived objectsで確認できます。)
なお、課題は教職員が元のProjectに変更を加えても、その変更は既に課題を始めた学生のProjectには反映されないので、注意が必要です。

Workspace の設定

共有しているPrivate Spaceのトップ画面まで戻ってきて、下画像の①の設定マークを押すと、②, ③からBase Projectを選択できます。Base ProjectとはそのWorkspaceにおけるデフォルトの設定などを定めたProjectを指します。例えば、下画像の③のadminExampleにパッケージやフォルダを入れておき、これをBase Projectとして指定しておくと、今後作られた新しいProject(既に作られているものには当てはまらない)は、パッケージやフォルダ構成が自動でadminExampleと同様のものになります。

Fig14.png

なお、このようにBase Projectとして指定するには、Workspace内の全員にProjectを公開している必要があります。そして、Base Projectに指定すると今後そのProjectは設定を変えるまで誰からもアクセスできなくなります。

班で共同作業をする場合

これはGuideには載っていなかったのですが、同時に共同編集できない現状の中、班で共同作業する方法を少し考えたので、ここではそれを紹介します。

  1. 班での共同作業用のPrivate Spaceを作り、班員全員を招待する。
  2. まず班員全員の役割をModerator以上にする。
  3. 下図①のようにそれぞれの班員が、1つずつ自分用のProjectを作る。(HKProjectKHProject

Fig15.png
4. 上図②のgroupProjectのように、班全体でのProjectを1つ作る
5. 各人は、普段は自分用のProjectでコードを書き、ある程度形になったらgroupProjectにコピペする。
6. 互いの進捗状況が気になっている時は、他人のProjectに一瞬お邪魔する。この時、元のユーザーはR Session Disconnectedになってしまうので、必ず一声かけてから見せてもらう。

こうして作業を進めていき、最後にgroupProjectを代表者が整えて、発表などに使いましょう。
なお、6.のように、他人のProjectに入ると、その人の解析を邪魔してしまうので、頻繁には見に行かないようにするほか、SNSなどの連絡手段を使って、連絡を密に取り合うようにすると良いと思います。
また、TAや教職員を班に入れておくことで、彼らが進捗状況を見回りつつ、アドバイスをすることもできるでしょう。


まとめ

いかがだったでしょうか。RStudio Cloudの主な使い方としては、こんなところです。少し詳しく説明し過ぎたところもありますが、ユーザーが学生か教職員か、などによって利用の仕方がかなり異なるので、ここでは両方含めた形で説明しました。
少し触ってみたところ、無料アカウントでは、1つのPrivate Space内に作れるProjectが25個までであったり、一人が作れるPrivate Spaceの数が1つまで(招待される分には何個でも大丈夫)など、いくつか制限はありますが、Your Workspaceを使う分には、何の不自由もないように思います。
ただ、まだ同時に共同編集ができなかったり、たまにProjectの読み込みが遅い時もあります(こういう時は一度ログアウトしてログインし直しましょう)。
このように少し不便に思うところもありますが、現状でも十分使うメリットがあるものだと思います。
逆に言えばまだまだ使いやすくなるポテンシャルを秘めているということですしね。

というわけで、このマニュアルを読んで少しでもRStudio Cloudを楽しんで使っていただければ幸いです。


RStudio の使い方

以下では、RStudio初心者の方のために、RStudioの使い方について簡単に説明していこうと思います。
なお、ここではRStudio Cloudでの使用を前提として、RStudio Cloudの画面で説明を進めていきます。
RStudioをローカルで使いたい時はここからダウンロードできます。

概要

RStudioは、以下の画像のように、4つの区画(ペイン)に分かれており、基本的にはそれらを同時に表示しながら使います。

Fig16.png

デフォルトでは、画像の①が、ソースコードRコードやコメントを含むもの)を表示するペイン、②が、コンソールRコードを実際に実行する場所)を表示するペイン、③が現在の環境(読み込んだデータや自分で作った変数など)を表示するペイン、④が作業している場所のファイル・フォルダを表示したり、Rで描画したプロットなどを表示するペインとなっています。他にもいろいろなペインがありますが、詳しくはRStudioの基本的な使い方・設定という記事を参考にしてみてください。

とりあえずここで覚えておいて欲しいことは、
1. コードは必ず①に書き溜める
2. 書いたコードは、①で実行したい部分を選択、あるいは実行したい行にカーソルを合わせた状態で、Ctrl + Enter (Windows, Linux) / Cmd + Return (Mac) を押すと、②でコードを実行でき、結果が表示される。
3. ②においてコードが実行されると、外部からデータを読み込んだり新しい変数を自分で定義したりすると、その情報が③に表示されていく。
4. ②でファイルを書き出したり読み込んだりするときには、ファイルを表示するペインが便利であるほか、②でプロットを描画するコードを実行すると、結果が④に表示されていく。あとは関数のヘルプとかも④に表示される。

ということです。

ワーキングディレクトリ

ワーキングディレクトリとは、Rが実際にファイルからデータを読み込んだり、逆にファイルにデータを書き出したりする場所を指します。通常のRでは、ワーキングディレクトリはホームディレクトリ(Rの実行ファイルがある場所)となっているのですが、RStudio CloudではFilesペインではじめに表示されているディレクトリがワーキングディレクトリとなっています。ワーキングディレクトリを変更するには、上のメニューのSession > Set Working Directory > Choose Directory...から変更を行うこともできますが、以下の方法の方が個人的にはおすすめです。
例えば、myExampleというProjectで、dataというフォルダをワーキングディレクトリにしたいなら、以下の画像のように、Filesからdataフォルダの中に移行して、② More > Set As Working Directory で設定できます。

Fig17.png

他にもRのコード上でsetwd()関数を使ってワーキングディレクトリのPATHを指定する方法もありますが、上のやり方の方が簡単でやりやすいと思います。

RStudio の設定

RStudioの設定は、下画像の①のようにTools > Global Options...から変更できます。

Fig18.png

設定では、コードを書いている際のことから、外観まで色々と変更を行うことができます。
ここでは、コードの設定については割愛して、外観を変える話だけしようと思います。
RStudioのおすすめの設定に関しては、R Tips & Tricksという記事がかなり詳しく紹介してくれているので、ぜひそちらも見てみてください。

RStudio のレイアウトの変更

Tools > Global Options...を押すと、下の画像のように真ん中にOptionsが現れるので、まず①のようにPane Layoutタブを押してみてください。すると、各ペインを色々と動かせるようになっているのがわかると思います。
なお、全てを自由に動かせるわけではなく、SourceConsoleペインにはそれぞれ一つの区画が割り当てられ、残りの2つの区画をその他のペインで取り合う、という感じになっています。

Fig19.png

上の画像の② ~ ④は、オススメのPane Layoutを示しています。
まず、②のように右上にConsoleをおくことで、Sourceペインとの間の視点移動がしやすくなります。
また③のように左下にはそこまで使わないペインを集めておくことで、普段は下図のように、Sourceペインを広く使いながらコード書くことができます。そして、④のように残りの比較的よく使うペインを右下に集めておく、というわけです。

Fig20.png

ただあくまで、これは好みの問題も多く含むので、自分にとって適切だと思う配置にして、効率よく作業できる環境にしておきましょう。

RStudio の外観の変更

再び、Tools > Global Options...を押し、下画像の①のAppearanceタブを押すと、外観をいじることができます。

Fig21.png

②のRStudio themeからはペインの外の枠などの印象を変えることができます。例えば、ModernからSkyに変えると、後ろに写っているように水色がかった枠に変化します。③のEditor font sizeではその名の通りフォントサイズを変えられます。また、④のEditor themeでは、それぞれのペインの背景色や、コードの色などの変更が行えます。右側の例が示している通り、Editor themeによってガラッと印象が変わるので、自分の使いやすいものを選びましょう。特に、背景を明るいものにするか暗いものにするかというのは大事な選択ですね。
(ちなみに、ローカルのRStudioの場合、これらに加えてフォントの種類も選ぶことができます。)

さて、このように設定を変更すると、以下の画像のように外観が変化しました。
外観をいじるだけでこんなに印象が変わるので、自分の使いやすいものを納得いくまで選ぶといいでしょう。

Fig22.png

Fig23.png

Keyboard Shortcuts

最後にいくつかのKeyboard Shortcutsを紹介したいと思います。Keyboard Shortcutsを知っておくと、コードを書くスピードが圧倒的に速くなるので、よく使うものは覚えておくようにしましょう。
なお、Windows, LinuxMacの間で違うものは、

  • Ctrl + Z / Cmd + Z : 元に戻す

のように、/ で区切った1つ目がWindows, Linux、2つ目がMac用のショートカットです。
また、個人的によく使うものを太字にしておきます。

一般的なショートカット

他のものと共通しているショートカットが多いです。

  • Ctrl + Z / Cmd + Z : 元に戻す
  • Ctrl + Shift + Z / Cmd + Shift + Z : やり直し
  • Ctrl + A / Cmd + A : 全選択
  • Ctrl + C / Cmd + C: コピー
  • Ctrl + V / Cmd + V: ペースト
  • Ctrl + S / Cmd + S : ファイルの保存
  • Ctrl + F / Cmd + F: 現在のファイル内での検索(Rの検索・置換はめっちゃ便利です)
  • Ctrl + Shit + F / Cmd + Shift + F: 複数ファイル間での検索
  • Ctrl + w / Cmd + W: 現在のタブを閉じる
  • Tab : インデント・自動補完
  • Ctrl + Shift + F10 / Cmd + Shift + 0 : RセッションのRestart。計算を初めからやり直す際などに行う必要がある。

コードの実行・エディタ操作に関するショートカット

  • Ctrl + Enter / Cmd + Return : 選択した行の実行。あるいはカーソルのある行を実行し、次の行へカーソル移動。
  • Alt + Enter / Alt + Return: カーソルのある行を実行し、その場にカーソルを留める。
  • Crtl + D / Cmd + D: その行を削除
  • Ctrl + Shift + D / Cmd + Shift + D: その行を複製
  • Alt + - : Rの代入記号 <- を挿入
  • Ctrl + Shift + C / Cmd + Shift + C : 選択した行をコメント(#+空白でコメントされている行はアンコメント)
  • Ctrl + I / Cmd + I : インデントを自動で整える。実は、Ctrl + A, Ctrl + C, Ctrl + Vのコンボでも同じことができる。
  • Ctrl + Shift + A / Cmd + Shift + A : 空白の調整などコードを自動で整える(ただし自分の望まないようになるケースもある)
  • Ctrl + P: 括弧の上で行うと、もう一方の対応する括弧へ移動(括弧関係のデバッグに使える)

他にも色々とありますが、R Tips & Tricks - 3.4 Keyboard shortcuts and useful command を参考にしてもらうといいと思います。具体例もついていてわかりやすいです。
あとは、Alt + Shift + Kのショートカット、また下画像の①, ②のようにTools > Keyboard Shortcuts Helpを押せば、Keyboard Shortcutsのヘルプを見ることができます。

Fig24.png

ヘルプは下画像のような感じで出てくるので、必要に応じて使ってみましょう。

Fig25.png


以上が、RStudioの簡単な使い方でした。まあ習うより慣れろという感じで、実際に使っていったらどんどん慣れていくと思います。今回はRStudio Cloudに関してピックアップしているので、説明が足りないところもありますが、わからないところがあったら、他の関連記事を見ていただいたり、自分で調べて見ていただければ幸いです。もちろん、コメントで質問していただければ、できるだけ答えて、場合によっては追記していきたいと思います。

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7