Skip to content

Commit

Permalink
Confirm merge from repo_sync_working_branch to live to sync with http…
Browse files Browse the repository at this point in the history
…s://github.com/microsoftdocs/live-share (branch master) (#185)

* Fixes typo on Technical Interviews page. (#3270)

* first commit (#3226)

Co-authored-by: Aya Tokura <aya.tokura@ibm.com>

* doc add to technical interviews + user profile

* Updating connectivity documents with more details

Co-authored-by: Troy Rosenberg <tmr08c@gmail.com>
Co-authored-by: Aya Tokura <ayatokura@users.noreply.github.com>
Co-authored-by: Aya Tokura <aya.tokura@ibm.com>
Co-authored-by: Filisha Shah <fishah@microsoft.com>
Co-authored-by: Jonathan Carter <joncart@microsoft.com>
  • Loading branch information
6 people authored Mar 26, 2020
1 parent bbfa50b commit b3d5fd1
Show file tree
Hide file tree
Showing 5 changed files with 173 additions and 18 deletions.
109 changes: 109 additions & 0 deletions README_jp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<!--
Copyright © Microsoft Corporation
All rights reserved.
Creative Commons Attribution 4.0 License (International): https://creativecommons.org/licenses/by/4.0/legalcode
-->

# Visual Studio Live Share Docs & Feedback

<table style="width: 100%; border-style: none;"><tr>
<td style="width: 140px; text-align: center;"><a href="https://aka.ms/vsls"><img width="128px" src="docs/media/vsls-icon.svg" alt="Visual Studio Live Share logo"/></a></td>
<td>
<strong>Visual Studio Live Share</strong><br />
<i>開発者が開発中にリアルタイムなコラボレーションを合理化することで、スピーディーに高い信頼性を確立できるように支援します。<br />
<strong><a href="https://aka.ms/vsls">詳しくはこちら!</a></strong></i>
</td>
</tr></table>

多くのVisual Studio Live機能は、多くの言語とプラットフォームで利用できます。 [現在サポートしているものについてはこちらをご覧ください。](https://aka.ms/vsls-docs/platform-support) また、今後さらに多くの機能が追加される予定です。

[![Twitter](docs/media/Twitter_Social_Icon_24x24.png)](https://aka.ms/vsls-twitter) [![Mail](docs/media/icon-mail-24x24.png)](mailto:vsls-feedback@microsoft.com)

>**ヒント:** 自分のコラボレーションセッションに参加できることをご存知ですか?これにより、Live Shareを自分で試用したり、VSまたはVS Codeのインスタンスを起動してリモートで接続したりできます!両方のインスタンスで同じIDを使用することもできます。試してみてください!
## クイックスタート

- [Share your first project](https://aka.ms/vsls-docs/share)
- [Join your first collaboration session](https://aka.ms/vsls-docs/join)

## 操作手順

- [Collaborate using Visual Studio Code](https://aka.ms/vsls-docs/vscode)
- [Collaborate using Visual Studio](https://aka.ms/vsls-docs/vs)

## 参考文献

- [Connectivity requirements](https://aka.ms/vsls-docs/connection-mode)
- [Security features](https://aka.ms/vsls-security)
- [Linux install details](https://aka.ms/vsls-linux)
- [Language and platform support](https://aka.ms/vsls-docs/platform-support)
- [Extension support](https://aka.ms/vsls-docs/extensions)
- [Common Use Cases](https://aka.ms/vsls-usecases)
- [Troubleshooting](https://aka.ms/vsls-troubleshooting)

## リソース

- [Provide feedback](https://aka.ms/vsls-support)
- [FAQ](https://aka.ms/vsls-faq)

## コミュニティによって制作されたコンテンツ

- [Remote pair programming with VS Live Share](https://m.youtube.com/watch?v=vq5FzSPmu-I&feature=youtu.be)
- [Getting Started with Live Coding in Visual Studio Code w/Live Share](https://scotch.io/tutorials/getting-started-with-live-coding-in-visual-studio-code-with-live-share)
- [Visual Studio Code: VS Live Share from Across the World](https://youtu.be/D7w0uGmQEc8)
- [Visual Studio Live Share - Two Developers Coding at Once](https://youtu.be/cg6pRv0D8pw)

## Visual Studio Live Shareのダウンロードとインストール

<table style="width: 100%; border:none;">
<tr>
<td width="128px" style="width: 128px; text-align: center; border:none;"><img src="docs/media/vs-code.svg" width="128px" alt="Visual Studio Code logo"/></td>
<td style="border:none;">
<strong>Visual Studio Code (1.22.0+)</strong><br />
1. <a href="https://code.visualstudio.com/">Visual Studio Code</a> の Windows版 (7、8.1、または10)、macOS版 <b>(Sierra+)</b>、または 64-bit Linux版をインストールする。 <b>(<a href="https://aka.ms/vsls-docs/vscode/install">詳細はこちら</a>)</b><br />
2. マーケットプレイスからVS Live Share拡張機能をダウンロードしてインストールする。 <br />
3. 再読み込みして、依存関係のダウンロードとインストールを待つ。(ステータスバーを参照)<br />
4. <strong>Linux</strong>: <a href="https://aka.ms/vsls-docs/linux-prerequisites">ライブラリのインストールが求められた場合</a>、クリックしてパスワードを入力し、完了したらVS Codeを再起動する。<br />
<a href="https://aka.ms/vsls-dl/vscode"><img src="docs/media/download.png" alt="Download button"></a>
</td>
</tr>
<tr style="border:none;">
<td width="128px" style="width: 128px; text-align: center; border:none;"><img src="docs/media/vs-ide-2019.svg" width="128px" alt="Visual Studio logo"/></td>
<td style="border:none;">
<strong>Visual Studio 2017 15.6 以降のバージョン</strong><br />
1. <a href="https://visualstudio.microsoft.com/vs/">VS 2017</a> (15.6+) の最新バージョンを Windows (7、8.1、もしくは 10)にインストールする。<br/>
2. <a href="https://aka.ms/vsls-docs/platform-support">サポートされている言語やコンポーネント</a>をインストールする。 (例えば、ASP.NET、.NET Core、C++、および/もしくはNode.js)<br />
3. マーケットプレイスからVS Live Share拡張機能をダウンロードしてインストールする。 <br />
<a href="https://aka.ms/vsls-dl/vs"><img style="padding: 0; spacing: 0;" src="docs/media/download.png" alt="Download button"></a><br />
</td>
</tr>
</table>

Visual Studio Live Shareをダウンロードして使用すると、[ライセンス条項](https://aka.ms/vsls-license)[プライバシーに関する声明](https://www.microsoft.com/en-us/privacystatement/EnterpriseDev/default.aspx)に同意したことになります。問題が発生した場合は、[トラブルシューティング](https://aka.ms/vsls-troubleshooting)をご覧ください。

## 貢献 & フィードバック

質問やフィードバックがありますか?貢献するには多くの方法があります。

- [機能への投票または新しい機能をリクエストをする](https://aka.ms/vsls-feature-requests)
- [既存のバグ](https://aka.ms/vsls-bugs) の検索や [問題の報告](CONTRIBUTING.md#file-a-problem-report)をする
- 提案や質問を [メール](mailto:vsls-feedback@microsoft.com) で送信する
- コミュニティの [Slack](https://aka.ms/vsls-slack) に参加してチャットする
- [#vsliveshare](https://aka.ms/vsls-twitter) Twitterハッシュタグを使って私たちを見つけてください!

このプロジェクトは、[Microsoftオープンソース行動規範](https://opensource.microsoft.com/codeofconduct/)を採用しています。詳細については、[行動規範に関するFAQ](https://opensource.microsoft.com/codeofconduct/faq/)を参照するか、[opencode@microsoft.com](mailto:opencode@microsoft.com)に追加の質問やコメントをお問い合わせください。

## ライセンス

Visual Studio Live Shareをダウンロードして使用すると、製品の[ライセンス条項]((https://aka.ms/vsls-license))[プライバシーに関する声明](https://www.microsoft.com/en-us/privacystatement/EnterpriseDev/default.aspx)に同意したことになります。

ドキュメントのライセンス:

Copyright © Microsoft Corporation
All rights reserved.
Creative Commons Attribution 4.0 License (International): https://creativecommons.org/licenses/by/4.0/legalcode

ドキュメントコードサンプルのライセンス:

The MIT License (MIT)
Copyright (c) Microsoft Corporation
19 changes: 19 additions & 0 deletions docs/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"workbench.colorCustomizations": {
"activityBar.background": "#88d7ea",
"activityBar.activeBackground": "#88d7ea",
"activityBar.activeBorder": "#de41bf",
"activityBar.foreground": "#15202b",
"activityBar.inactiveForeground": "#15202b99",
"activityBarBadge.background": "#de41bf",
"activityBarBadge.foreground": "#e7e7e7",
"titleBar.activeBackground": "#5dc8e2",
"titleBar.inactiveBackground": "#5dc8e299",
"titleBar.activeForeground": "#15202b",
"titleBar.inactiveForeground": "#15202b99",
"statusBar.background": "#5dc8e2",
"statusBarItem.hoverBackground": "#32b9da",
"statusBar.foreground": "#15202b"
},
"peacock.color": "#5dc8e2"
}
14 changes: 13 additions & 1 deletion docs/reference/security.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,22 @@ Collaboration sessions in Visual Studio Live Share are powerful in that they all

## Connectivity

All connections in Visual Studio Live Share are SSH or SSL encrypted and authenticated against a central service to ensure that only those in the collaboration session can gain access to its content. By default, Live Share attempts a direct connection and falls back on a cloud relay if a connection between the guest and the host cannot be established. Note that Live Share's cloud relay does not persist any traffic routed through it and does not "snoop" the traffic in any way. However, if you'd prefer not to use the relay you can change settings to always connect directly.
When initiating a session between peers, Live Share attempts to establish a peer-to-peer connection, and only if that isn't possible (e.g. due to firewalls/NATs), does it fall back to using a cloud relay. However, in both connection types (P2P or relay), all data transmitted between peers is end-to-end encrypted using the SSH protocol. In the case of a relay connection, the SSH encryption is layered on top of TLS-encrypted WebSockets. This means that Live Share doesn't depend on the cloud relay service for security. Even if the relay was compromised, it could not decrypt any of the Live Share communication.

The role of the Live Share service is limited to user authentication and session discovery. The service itself does not store or ever have access any of the content of a session. All user content in Live Share is transmitted over the SSH session. That includes code, terminals, shared servers, and any other collaboration features provided by Live Share or extensions that build on it.

To find out more about altering these behaviors and Live Share's connectivity requirements, see **[connectivity requirements for Live Share](connectivity.md)**.

### Wire Encryption

The SSH protocol uses a Diffie-Hellman key-exchange to establish a shared secret for the session, and derives from that a key for AES symmetric encryption. The encryption key is rotated periodically throughout the duration of the session. The shared session secret and all encryption keys are only maintained in-memory by both sides, and are only valid for the duration of the session. They are never written to disk or sent to any service (including Live Share).

### Peer Authentication

The SSH session is also two-way authenticated. The host (SSH server role) uses public/private key authentication as is standard for the SSH protocol. When a host shares a Live Share session, it generates a unique RSA public/private key-pair for the session. The host private key is kept only in memory in the host process; it is never written to disk or sent to any service including the Live Share service. The host public key is published to the Live Share service along with the session connection information (IP address and/or relay endpoint) where guests can access it via the invitation link. When a guest connects to the host's SSH session, the guest uses the SSH host authentication protocol to validate that the host holds the private key corresponding to the published public key (without the guest actually getting to see the private key).

The guest uses a Live Share token to authenticate itself with the host. The token is a signed JWT issued by the Live Share service that includes claims about the user identity (obtained via MSA, AAD, or GitHub sign-in). The token also has claims that indicate the guest is allowed to access that specific Live Share session (because they had the invitation link and/or they were specifically invited by the host). The host validates that token and checks the claims (and depending on options may prompt the host user) before allowing the guest to join the session.

## Invitations and join access

Each time you start a new collaboration session, Live Share generates a **new unique identifier** that is placed in the invitation link. These links provide a solid, secure foundation to invite those you trust since the identifier in the link is "non-guessable" and is _only valid for the duration of a single collaboration session_.
Expand Down
42 changes: 30 additions & 12 deletions docs/use/technical-interviews.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,41 +13,58 @@ ms.workload:
- "liveshare"
---
<!--
Copyright © Microsoft Corporation
Copyright &copy; Microsoft Corporation
All rights reserved.
Creative Commons Attribution 4.0 License (International): https://creativecommons.org/licenses/by/4.0/legalcode
-->

# How-to: Do Technical Interviews using Live Share

Before you begin using Live Share for Technical Interviews, you must complete one integral step: **Download Visual Studio Code and the Live Share extension pack from its marketplace** by following [these steps.](../use/vscode.md)
Using Live Share for interviews, allows the interviewer and candidate to have a fast and reliable interview session, with a full-fidelity IDE or editor.

Live Share provides you the ability to host Reusable Sessions! All this means is that you can schedule a Live Share session in advance for your technical interviews and not worry about the link expiring.

> [!TIP]
>A Reusable Session link is persistent and lasts for 30 days from its date of creation, or date of last use. While generating a Reusable Session link for your interview make sure that the interview is within 30 days of the date of the link's creation. If the link expires, just create a new Reusable Session. (There is a a way to ensure the link never expires, but this is just easier for interviews!)
#### Setup for interviewer
To interview a candidate with Live Share you must first either of the two desktop clients:

### **What to do as an Interviewer?**
Install [Visual Studio](../use/vs.md) which comes in-built with the Live Share extension

>[!TIP]
> Make sure you turn on Insiders for Live Share by going to *Tools> Options > Live Share > Advanced > Features*. This will enable you to use our in-built audio calling support for interviews.
As an interviewer you will act as the host of the Live Share session. If you are not familiar with Live Share, we suggest you refer to the [share a project](../use/vscode.md) section of our how-to guide.
Or install [Visual Studio Code](../.use/vscode.md) and download the [Live Share extension pack]() from the marketplace. The extension pack will provide you with our audio support for interviews.

Now to create a Live Share session for your technical interview, you will create a special “reusable session” instead of the regular collaboration session. This will allow you to have a Live Share session that can be scheduled in advance and then used at any time.
#### Scheduling an interview

To create a Reusable Session do the following:
**Live Share in VS Code** provides you the ability to create Live Share sessions in advance. You can use the following steps to create a session in advance:

1. Go to the `Command Palette` using `Ctrl+Shift+P`
1. Type "Live Sha..." and click the '**_Live Share: Create Reusable Session link_**' command.
1. Type "Live Sha..." and click the '_Live Share: Create Reusable Session link_' command.

![vscode-reusablesessioncmd](../media/vscode-cmdpalette-createreusablelink.png)

3. This will create a Reusable Session and a link to it will be copied to your clipboard. You will see a notification pop-up on the lower-right corner of your editor.

![vscode-reusablesessionnotif](../media/vscode-notification-resuablesession.png)

4. Your Reusable Session has been created! Share the link with your session mate and use it each time to access the session!
4.Send the link.

Once you have this link, just share it with the interviewee via email or your choice of scheduling mechanism. All they have to do is click on that link at the time of the interview and they will be in a Live Share session.
> [!TIP]
>A Reusable Session link is persistent and lasts for 30 days from its date of creation, or date of last use. While generating a Reusable Session link for your interview make sure that the interview is within 30 days of the date of the link's creation. If the link expires, just create a new Reusable Session. (There is a a way to ensure the link never expires, but this is just easier for interviews!)
**Note:** Currently, Live Share in Visual Studio does not have the ability to create sessions in advance. For interviews you conduct using Live Share in Visual Studio, you can follow our guide on how to start an instant Live Share session [here](../quickstart/share.md)



#### Setup for candidate
While a candidate can always install the either Visual Studio or Visual Studio Code to join the interview, they do not need to do so. **Live Share interview sessions can be joined by candidates without any prior setup.** They can click on the interview link at the time of the session and **join from the browser**. Learn more [here.](../quickstart/browser-join.md)



<!--
### **What to do as an Interviewer?**
As an interviewer you will act as the host of the Live Share session. If you are not familiar with Live Share, we suggest you refer to the [share a project](../use/vscode.md) section of our how-to guide
### **What to do as the Interviewee?**
If you are expecting to do a Technical Interview using Live Share, you are in luck! We want to make sure you are familiar with the basic Live Share features so you feel comfortable during your interview.
Expand All @@ -56,11 +73,12 @@ If you are expecting to do a Technical Interview using Live Share, you are in lu
1. You may want to install Visual Studio Code beforehand so that you are not waiting for the installation to complete once you start your interview
1. If you don't have the time, no worries. ALl you need to have a full interview is the link to a Live Share session your interviewer sends you while scheduling the interview. Just clicking on the link will automatically take you through all the steps needed.
1. If you don't have the time, no worries. All you need to have a full interview is the link to a Live Share session your interviewer sends you while scheduling the interview. Just clicking on the link will automatically take you through all the steps needed.
1. At the time of the interview, just click on the link and follow the steps it takes you through. If you are early or your interviewer is late to the interview, don't worry! You will just be in the 'lobby' waiting for your interviewer to join. No other steps are required, and once your interviewer joins the session will automatically start.
>[!NOTE]
>If you find that the session has disconnected before or after the interviewer joined, don't worry. Just exit out of that session if (it isn't already closed) and re-click on the same link!
You are now all set to go with using Live Share for your interview!
-->
Loading

0 comments on commit b3d5fd1

Please sign in to comment.