diff --git a/material-sistemas-distribuidos/src/assets/img/14_vsc_vazio.png b/material-sistemas-distribuidos/src/assets/img/14_vsc_vazio.png new file mode 100644 index 0000000..eeca3fa Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/14_vsc_vazio.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/14_vsc_vazio.webp b/material-sistemas-distribuidos/src/assets/img/14_vsc_vazio.webp new file mode 100644 index 0000000..a5955be Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/14_vsc_vazio.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/15_vsc_explorer.png b/material-sistemas-distribuidos/src/assets/img/15_vsc_explorer.png new file mode 100644 index 0000000..978b49f Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/15_vsc_explorer.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/15_vsc_explorer.webp b/material-sistemas-distribuidos/src/assets/img/15_vsc_explorer.webp new file mode 100644 index 0000000..f7506ea Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/15_vsc_explorer.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/16_vsc_debugger.png b/material-sistemas-distribuidos/src/assets/img/16_vsc_debugger.png new file mode 100644 index 0000000..4523d1a Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/16_vsc_debugger.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/16_vsc_debugger.webp b/material-sistemas-distribuidos/src/assets/img/16_vsc_debugger.webp new file mode 100644 index 0000000..413d38d Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/16_vsc_debugger.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/17_vsc_extensions.png b/material-sistemas-distribuidos/src/assets/img/17_vsc_extensions.png new file mode 100644 index 0000000..7937180 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/17_vsc_extensions.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/17_vsc_extensions.webp b/material-sistemas-distribuidos/src/assets/img/17_vsc_extensions.webp new file mode 100644 index 0000000..fbaf92e Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/17_vsc_extensions.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/18_vsc_criando_nova_pasta.png b/material-sistemas-distribuidos/src/assets/img/18_vsc_criando_nova_pasta.png new file mode 100644 index 0000000..1c4b3e6 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/18_vsc_criando_nova_pasta.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/18_vsc_criando_nova_pasta.webp b/material-sistemas-distribuidos/src/assets/img/18_vsc_criando_nova_pasta.webp new file mode 100644 index 0000000..674461f Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/18_vsc_criando_nova_pasta.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/19_vsc_selecionando_pasta_vazia.png b/material-sistemas-distribuidos/src/assets/img/19_vsc_selecionando_pasta_vazia.png new file mode 100644 index 0000000..a0a5cae Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/19_vsc_selecionando_pasta_vazia.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/19_vsc_selecionando_pasta_vazia.webp b/material-sistemas-distribuidos/src/assets/img/19_vsc_selecionando_pasta_vazia.webp new file mode 100644 index 0000000..e36a400 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/19_vsc_selecionando_pasta_vazia.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/20_vsc_confia.png b/material-sistemas-distribuidos/src/assets/img/20_vsc_confia.png new file mode 100644 index 0000000..2377053 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/20_vsc_confia.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/20_vsc_confia.webp b/material-sistemas-distribuidos/src/assets/img/20_vsc_confia.webp new file mode 100644 index 0000000..2bf76e5 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/20_vsc_confia.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/21_vsc_pasta_aberta.png b/material-sistemas-distribuidos/src/assets/img/21_vsc_pasta_aberta.png new file mode 100644 index 0000000..bcd3abf Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/21_vsc_pasta_aberta.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/21_vsc_pasta_aberta.webp b/material-sistemas-distribuidos/src/assets/img/21_vsc_pasta_aberta.webp new file mode 100644 index 0000000..dc599a3 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/21_vsc_pasta_aberta.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/22_vsc_terminal.png b/material-sistemas-distribuidos/src/assets/img/22_vsc_terminal.png new file mode 100644 index 0000000..bf6eae0 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/22_vsc_terminal.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/22_vsc_terminal.webp b/material-sistemas-distribuidos/src/assets/img/22_vsc_terminal.webp new file mode 100644 index 0000000..9b22a6e Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/22_vsc_terminal.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/23_vsc_dotnet_version.png b/material-sistemas-distribuidos/src/assets/img/23_vsc_dotnet_version.png new file mode 100644 index 0000000..009fa84 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/23_vsc_dotnet_version.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/23_vsc_dotnet_version.webp b/material-sistemas-distribuidos/src/assets/img/23_vsc_dotnet_version.webp new file mode 100644 index 0000000..733dafe Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/23_vsc_dotnet_version.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/24_vsc_dotnet_new.png b/material-sistemas-distribuidos/src/assets/img/24_vsc_dotnet_new.png new file mode 100644 index 0000000..565ef37 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/24_vsc_dotnet_new.png differ diff --git a/material-sistemas-distribuidos/src/assets/img/24_vsc_dotnet_new.webp b/material-sistemas-distribuidos/src/assets/img/24_vsc_dotnet_new.webp new file mode 100644 index 0000000..69d096b Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/24_vsc_dotnet_new.webp differ diff --git a/material-sistemas-distribuidos/src/assets/img/25_vsc_dotnet_run.webp b/material-sistemas-distribuidos/src/assets/img/25_vsc_dotnet_run.webp new file mode 100644 index 0000000..0548b61 Binary files /dev/null and b/material-sistemas-distribuidos/src/assets/img/25_vsc_dotnet_run.webp differ diff --git a/material-sistemas-distribuidos/src/css/code.css b/material-sistemas-distribuidos/src/css/code.css new file mode 100644 index 0000000..7706b33 --- /dev/null +++ b/material-sistemas-distribuidos/src/css/code.css @@ -0,0 +1,30 @@ +kbd { + font-family: var(--font-mono); + font-size: 14px; + background-color: var(--color-kbd-bg); + color: var(--color-kbd-fg); + padding: 3px 6px; + border: 1px solid var(--color-kbd-border); + border-radius: 6px; + box-shadow: 2px 2px lightgray; +} + +code { + font-family: var(--font-mono); +} + +code:not(pre *) { + background-color: var(--color-code-bg); + color: var(--color-code-fg); + padding: 3px 6px; + border: 1px solid var(--color-code-border); + border-radius: 6px; +} + +pre:has(code) { + background-color: var(--color-codeblock-bg); + color: var(--color-codeblock-fg); + padding: 16px; + border: 1px solid var(--color-codeblock-border); + border-radius: 10px; +} \ No newline at end of file diff --git a/material-sistemas-distribuidos/src/css/vars.css b/material-sistemas-distribuidos/src/css/vars.css index 5b123cf..974a2d9 100644 --- a/material-sistemas-distribuidos/src/css/vars.css +++ b/material-sistemas-distribuidos/src/css/vars.css @@ -1,8 +1,22 @@ :root { + /* light theme */ /* --color-bg: #e0e0e0; */ --color-bg: #fff5ee; --color-fg: #1c1c1c; + --color-kbd-bg: beige; + --color-kbd-fg: var(--color-fg); + --color-kbd-border: lightgray; + + --color-codeblock-bg: beige; + --color-codeblock-fg: var(--color-fg); + --color-codeblock-border: lightgray; + + --color-code-bg: beige; + --color-code-fg: var(--color-fg); + --color-code-border: lightgray; + + /* dark theme */ /* --color-bg: #1c1c1c; --color-fg: #fff5ee; */ diff --git a/material-sistemas-distribuidos/src/keys.txt b/material-sistemas-distribuidos/src/keys.txt new file mode 100644 index 0000000..6f3ab7f --- /dev/null +++ b/material-sistemas-distribuidos/src/keys.txt @@ -0,0 +1,2 @@ +⌘ +⌥ \ No newline at end of file diff --git a/material-sistemas-distribuidos/src/routes/+layout.svelte b/material-sistemas-distribuidos/src/routes/+layout.svelte index 3275a18..2ee6069 100644 --- a/material-sistemas-distribuidos/src/routes/+layout.svelte +++ b/material-sistemas-distribuidos/src/routes/+layout.svelte @@ -6,6 +6,7 @@ import "../css/anchor.css"; import "../css/list.css"; import "../css/img.css"; + import "../css/code.css" let { children } = $props(); diff --git a/material-sistemas-distribuidos/src/routes/vscode/+page.svelte b/material-sistemas-distribuidos/src/routes/vscode/+page.svelte index e59002c..b8bccb4 100644 --- a/material-sistemas-distribuidos/src/routes/vscode/+page.svelte +++ b/material-sistemas-distribuidos/src/routes/vscode/+page.svelte @@ -1 +1,210 @@ -
em desenvolvimento
\ No newline at end of file + + ++ Uma nova janela do VSCode, sem nada aberto, se parecerá com isso: +
+ ++ Note a barra lateral à esquerda. Há cinco botões, onde cada um abre uma ferramenta diferente do editor. Elas são, respectivamente: +
+ ++ Clique no primeiro botão para abrir o explorador de arquivos. +
+ ++ Nesta aba serão mostrados os arquivos do diretório que está aberto no VSCode. Como ainda + não temos nenhum diretório aberto, o editor apresenta um botão para que possamos abrir um. Vamos fazer isso mais tarde. +
+ ++ Podemos ignorar a busca e o controle de versionamento por enquanto. Clique no quarto botão da barra lateral. + O depurador (ou debugger, em inglês) será exibido. +
+ ++ Assim como no explorador de arquivos, como não temos nenhum diretório aberto, o VSCode apresenta algumas opções padrão. O que precisamos + saber agora é que, quando criarmos o projeto da API, poderemos utilizar esta aba para depurar (ou debugar) o nosso código. Ou seja, executar nosso + código passo a passo e inspecionar as nossas variáveis. Esta é uma ferramenta valiosa para nos ajudar a entender e resolver bugs. +
+ ++ Por fim, clique no último botão da barra lateral. O gerenciador de extensões será exibido. +
+ ++ Nesta aba podemos instalar extensões ao VSCode. Quando iniciarmos o desenvolvimento da API, iremos instalar a extensão oficial para o desenvolvimento em C#. + Esta extensão irá adicionar ferramentas de inteligência de linguagem que disponibilizarão a + análise estática do código e o + LSP Omnisharp, além do depurador. + Em resumo, serão instaladas ferramentas que irão nos auxiliar no processo de desenvolvimento. +
+ ++ Agora, vamos criar um Hello World com C#, para testarmos se nossa instalação do SDK do .NET foi realmente bem sucedida. Volte no explorador de arquivos, e clique em "Abrir" para + abrir um diretório no VSCode. +
+ ++ O diálogo de seleção de arquivos do seu sistema será exibido. Crie uma pasta vazia em algum lugar de fácil acesso no seu computador, e a selecione para abrir. +
+ ++ Neste exemplo, criei uma pasta chamada "HelloWorld". +
+ ++ A pasta recém-criada está vazia e foi selecionada para ser aberta. Ao abrir, é possível que o VSCode pergunte + se você realmente confia neste diretório. +
+ ++ Como foi você mesmo que o criou, selecione a caixa para que o editor + confie neste diretório e em todos os arquivos dentro dele, e confirme. +
+ ++ Agora temos nossa pasta aberta no editor. Observe que a aba do explorador de arquivos está vazia agora, sem nada. Isto acontece + pois, como a pasta está vazia, não temos nenhum arquivo. Assim que eles foram criados, aparecerão aí. +
+ ++ Agora vamos criar um projeto simples que apenas irá exibir uma saudação. Para fazer isso, precisaremos executar alguns comandos no terminal. O VSCode + tem um terminal embutido. Para abrí-lo, aperte Ctrl+j (⌘+j no MacOS) +
+ ++ Observe que uma aba foi aberta na parte inferior da janela. Este é o terminal onde digitaremos alguns comandos para testar a instalação do dotnet, e criar um novo projeto. +
+ ++ Antes de tudo, digite o seguinte comando: +
+ +dotnet --version
+
+ + A saída do comando deve ser algo como +
+ +9.0.200
+
+ + Se a versão do SDK que você instalou foi exibida na saída do comando, então a instalação está correta. Vamos criar um projeto agora. Para isso, ainda no terminal, execute o comando: +
+ +dotnet new console
+
+ + Este comando irá criar um projeto simples em C# do tipo console. Observe na aba do explorador de arquivos + os novos arquivos criados. +
+ ++ A estrutura de diretórios agora está assim: +
+ +HelloWorld/obj/HelloWorld.csprojProgram.cs+ Nas próximas seções, iremos nos aprofundar na estrutura criada pelo .NET e o que cada um destes arquivos faz. +
+ ++ Agora, vamos executar este projeto. Ainda no terminal, execute: +
+ +dotnet run
+
+ + Como manda a tradição, a saída apresentará: +
+ +Hello, World!
+
+ + Se você vê esta mensagem no seu terminal, então estamos prontos para prosseguir. Vamos agora criar um novo projeto de API. +
+ + +