Skip to content

Commit 2c04c1a

Browse files
Merge pull request #35 from mayconblopes/revisão-curso-fullstack
Revisão part2a e ajustes part1d
2 parents 750748b + 68a9adc commit 2c04c1a

File tree

3 files changed

+72
-88
lines changed

3 files changed

+72
-88
lines changed

src/content/1/pt/part1d.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,7 +1023,7 @@ const App = (props) => {
10231023
Usar o componente <i>Botao</i> é simples, embora tenhamos que nos certificar de usar os nomes corretos de atributo ao passar props para o componente.
10241024

10251025
![captura de tela do código de nomes de atributos corretos](../../images/1/12e.png)
1026-
_Nota de tradução: ao longo do texto, apresentamos os códigos contendo termos traduzidos para o português, os quais não aparecem na imagem acima, pois esta traz o código escrito com os termos em inglês._
1026+
<i>Nota dos tradutores: ao longo do texto, apresentamos os códigos contendo termos traduzidos para o português, os quais não aparecem na imagem acima, pois esta traz o código escrito com os termos em inglês.</i>
10271027

10281028
### Não defina Componentes dentro de Componentes
10291029

@@ -1139,7 +1139,7 @@ Se e <i>quando</i> você encontrar uma mensagem de erro
11391139
11401140
lembre-se do que foi explicado [aqui](/ptbr/part1/introducao_a_biblioteca_react#nao-renderize-objetos).
11411141

1142-
_**Obs.:** o conteúdo dos exercícios foram deixados no idioma original da tradução (inglês) por questões de conveniência, visto a revisão que os mantenedores do curso devem fazer no código enviado ao sistema de avaliação da Universidade de Helsinque. Desta forma, escreva suas aplicações utilizando os mesmos termos usados nas variáveis, componentes, etc que estão em inglês._
1142+
<i>**Obs.:** o conteúdo dos exercícios foram deixados no idioma original da tradução (inglês) por questões de conveniência, visto a revisão que os mantenedores do curso devem fazer no código enviado ao sistema de avaliação da Universidade de Helsinque. Desta forma, escreva suas aplicações utilizando os mesmos termos usados nas variáveis, componentes, etc que estão em inglês.</i>
11431143

11441144
<h4> 1.6: unicafe — 1º passo</h4>
11451145

src/content/2/pt/part2a.md

Lines changed: 40 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ lang: ptbr
77

88
<div class="content">
99

10-
Antes de começar esta nova parte, vamos revisar alguns dos tópicos que, ano passado, provaram ser difíceis para alguns estudantes.
10+
Antes de começar esta nova parte, vamos revisar alguns dos tópicos que, ano passado, se provaram difíceis para alguns estudantes.
1111

1212
### console.log
1313

@@ -17,13 +17,13 @@ Paradoxalmente, isso parece ser verdade, mesmo que um programador iniciante prec
1717

1818
Quando algo não funciona, não tente adivinhar o que está errado. Em vez disso, faça o log ou use outra forma de depuração.
1919

20-
**N.B. (Nota Bene):** Como explicado na Parte 1, ao usar o comando _console.log_ para depuração, não concatene coisas "do jeito Java" com o sinal de adição (+). Em vez de escrever...
20+
**Obs.:** Como explicado na Parte 1, ao usar o comando _console.log_ para depuração, não concatene coisas "do jeito Java" com o sinal de adição (+). Em vez de escrever
2121

2222
```js
2323
console.log('valor de props é ' + props)
2424
```
2525

26-
... separe os valores a serem impressos com uma vírgula:
26+
separe os valores a serem impressos com uma vírgula:
2727

2828
```js
2929
console.log('valor de props é', props)
@@ -47,6 +47,7 @@ As instruções para criar atalhos podem ser encontradas [aqui](https://code.vis
4747
Atalhos úteis pré-prontos também podem ser encontrados como plugins do VS Code, no [marketplace](https://marketplace.visualstudio.com/items?itemName=dsznajder.es7-react-js-snippets).
4848

4949
O atalho mais importante é o do comando <em>console.log()</em>, por exemplo, <em>clog</em>. Ele pode ser criado assim:
50+
5051
```js
5152
{
5253
"console.log": {
@@ -69,19 +70,19 @@ Se operar arrays com operadores funcionais parecer estranho para você, vale a p
6970

7071
- [Funções de ordem superior](https://www.youtube.com/watch?v=BMUiFMZr7vk&list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84)
7172
- [Map](https://www.youtube.com/watch?v=bCqtb-Z5YGQ&list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84&index=2)
72-
- [Básicos do método Reduce](https://www.youtube.com/watch?v=Wl98eZpkp-c&t=31s)
73+
- [Básico do método Reduce](https://www.youtube.com/watch?v=Wl98eZpkp-c&t=31s)
7374

7475
### Revisão sobre Gerenciadores de Evento
7576

7677
Baseado no curso do ano passado, o gerenciamento de eventos provou ser algo difícil.
7778

78-
Vale a pena ler o capítulo de revisão no final da parte anterior — [Revisão sobre Gerência de Eventos](/ptbr/part1/um_estado_mais_complexo_e_depuracao_de_aplicacoes_react#revisao-sobre-gerencia-de-eventos) — caso ainda ache que precise estudar mais sobre o assunto.
79+
Vale a pena ler o capítulo de revisão no final da parte anterior — [Revisão sobre Gerenciamento de Eventos](/ptbr/part1/um_estado_mais_complexo_e_depuracao_de_aplicacoes_react#revisao-sobre-gerenciamento-de-eventos) — caso ainda ache que precise estudar mais sobre o assunto.
7980

8081
A passagem de gerenciadores de eventos para os componentes-filho do componente <i>App</i> levantou algumas questões. Uma pequena revisão sobre o tópico pode ser encontrada [aqui](/ptbr/part1/um_estado_mais_complexo_e_depuracao_de_aplicacoes_react#passando-gerenciadores-de-evento-para-componentes-filho).
8182

8283
### Renderização de Coleções
8384

84-
**N.B.:** A partir deste momento, os códigos utilizados como exemplo permanecerão no idioma original (inglês), visto que é disponibilizado ao final de cada sessão o repositório onde o código-exemplo pode ser encontrado na íntegra. É muito provável que o estudante se confunda caso os nomes de variáveis, funções, componentes, etc estejam em português, dado que estaria diferente do código disponibilizado no repositório do GitHub, que está em inglês. (nota do tradutor)
85+
<i>**Nota dos tradutores:** A partir deste momento, os códigos utilizados como exemplo permanecerão no idioma original (inglês), visto que é disponibilizado ao final de cada sessão o repositório onde o código-exemplo pode ser encontrado na íntegra. É muito provável que o estudante se confunda caso os nomes de variáveis, funções, componentes, etc estejam em português, dado que estaria diferente do código disponibilizado no repositório do GitHub, que está em inglês.</i>
8586

8687
Faremos neste momento a lógica da aplicação do lado do cliente (navegador), ou o "front-end", em React, para uma aplicação semelhante à aplicação de exemplo da [Parte 0](/ptbr/part0).
8788

@@ -91,9 +92,6 @@ Comecemos com o seguinte (arquivo <i>App.js</i>):
9192
const App = (props) => {
9293
const { notes } = props
9394

94-
// "notes" traduz-se como "notas"
95-
// "content" traduz-se como "conteúdo"
96-
9795
return (
9896
<div>
9997
<h1>Notes</h1>
@@ -119,7 +117,6 @@ import App from './App'
119117

120118
const notes = [
121119

122-
// "important" traduz-se como "importante"
123120

124121
{
125122
id: 1,
@@ -256,42 +253,41 @@ A aplicação contém um array chamado _notes_:
256253
const notes = [
257254
{
258255
id: 1,
259-
content: 'HTML é fácil',
256+
content: 'HTML is easy',
260257
important: true
261258
},
262259
{
263260
id: 2,
264-
content: 'O navegador só pode executar JavaScript',
261+
content: 'Browser can execute only JavaScript',
265262
important: false
266263
},
267264
{
268265
id: 3,
269-
content: 'GET e POST são os métodos mais importantes do protocolo HTTP',
266+
content: 'GET and POST are the most important methods of HTTP protocol',
270267
important: true
271268
}
272269
]
273270
```
274271

275272
Vamos parar por um momento e examinar como o _map_ funciona.
276273

277-
Se o código a seguir for adicionado, digamos, ao final do arquivo...
274+
Se o código a seguir for adicionado, digamos, ao final do arquivo:
278275

279276
```js
280-
// "result" traduz-se como "resultado"
281277
const result = notes.map(note => note.id)
282278
console.log(result)
283279
```
284280

285281
<i>[1, 2, 3]</i> será impresso no console.
286-
_map_ (mapear) sempre cria um array novo, cujos elementos foram criados a partir dos elementos do array original por meio do <i>mapping</i> (mapeamento): usa-se a função fornecida como um parâmetro para o método _map_.
282+
O método _map_ sempre cria um array novo, cujos elementos foram criados a partir dos elementos do array original por meio do <i>mapping</i> (mapeamento): usa-se a função fornecida como um parâmetro para o método _map_.
287283

288284
A função é esta:
289285

290286
```js
291287
note => note.id
292288
```
293289

294-
Que, neste caso, é uma função de seta escrita de forma compacta. A forma completa seria:
290+
Que, neste caso, é uma _arrow function_ escrita de forma compacta. A forma completa seria:
295291

296292
```js
297293
(note) => {
@@ -301,15 +297,15 @@ Que, neste caso, é uma função de seta escrita de forma compacta. A forma comp
301297

302298
A função recebe um objeto "note" como parâmetro e retorna o valor de seu campo <i>id</i>.
303299

304-
Se mudarmos a instrução para...
300+
Se mudarmos a instrução para:
305301

306302
```js
307303
const result = notes.map(note => note.content)
308304
```
309305

310-
... vem como resultado um array contendo o conteúdo das notas.
306+
o resultado será um array contendo as notas.
311307

312-
Essa forma está bem parecida com o código React que usamos...
308+
Essa forma está bem parecida com o código React que usamos:
313309

314310
```js
315311
notes.map(note =>
@@ -319,7 +315,7 @@ notes.map(note =>
319315
)
320316
```
321317

322-
... do qual gera uma tag <i>li</i> contendo o conteúdo da nota de cada objeto de nota.
318+
o qual gera uma tag <i>li</i> contendo o conteúdo da nota de cada objeto de nota.
323319

324320
Por conta do parâmetro da função passado para o método _map_
325321

@@ -341,7 +337,7 @@ notes.map((note, i) => ...)
341337

342338
Quando chamado desta forma, é atribuído ao _i_ o valor do índice da posição no array onde a nota reside.
343339

344-
Como tal, uma forma de definir a criação de linhas (row) sem gerar erros é esta:
340+
Como tal, uma forma de definir a criação de linhas (_row_) sem gerar erros é esta:
345341

346342
```js
347343
<ul>
@@ -409,17 +405,17 @@ const App = ({ notes }) => {
409405

410406
Note que o atributo <i>key</i> agora deve ser definido para os componentes <i>Note</i>, e não para as tags <i>li</i> como antes.
411407

412-
Uma aplicação React pode ser escrita inteiramente em um único arquivo, mesmo que fazer isso seja, obviamente, nada prático. A prática comum é declarar cada componente em seu próprio arquivo como um <i>módulo ES6</i>.
408+
Uma aplicação React pode ser escrita inteiramente em um único arquivo, embora fazer isso não seja muito prático. O ideal é declarar cada componente em seu próprio arquivo como um <i>módulo ES6</i>.
413409

414-
Estamos utilizando módulos o tempo todo. As primeiras linhas do arquivo <i>index.js</i>...
410+
Estamos utilizando módulos o tempo todo. As primeiras linhas do arquivo <i>index.js</i>:
415411

416412
```js
417413
import ReactDOM from "react-dom/client"
418414

419415
import App from "./App"
420416
```
421417

422-
... [importam](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) (import) dois módulos, habilitando-os a serem usados ​​nessa pasta. É importado o módulo <i>react-dom/client</i> para a variável _ReactDOM_ e o módulo que define o componente principal da aplicação é atribuído à variável _App_.
418+
[importam](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) dois módulos, habilitando-os a serem usados ​​nessa pasta. É importado o módulo <i>react-dom/client</i> para a variável _ReactDOM_ e o módulo que define o componente principal da aplicação é atribuído à variável _App_.
423419

424420
Vamos separar nosso componente <i>Note</i> em um módulo próprio.
425421

@@ -438,7 +434,7 @@ const Note = ({ note }) => {
438434
export default Note
439435
```
440436

441-
A última linha do módulo [exporta](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export) (exports) o módulo declarado, a variável <i>Note</i>.
437+
A última linha do código [exporta](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export) o módulo declarado, a variável <i>Note</i>.
442438

443439
Agora, o arquivo que está usando o componente — <i>App.js</i> — pode [importar](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) o módulo:
444440

@@ -464,7 +460,7 @@ Módulos têm muitas outras utilidades além de permitir que as declarações de
464460

465461
O código atual da aplicação pode ser encontrado [neste repositório GitHub](https://github.com/fullstack-hy2020/part2-notes/tree/part2-1).
466462

467-
Note que a branch (ramo ou ramificação) <i>main</i> do repositório contém o código para uma versão posterior da aplicação. O código atual está na branch [part2-1](https://github.com/fullstack-hy2020/part2-notes/tree/part2-1):
463+
Note que a branch <i>main</i> do repositório contém o código para uma versão posterior da aplicação. O código atual está na branch [part2-1](https://github.com/fullstack-hy2020/part2-notes/tree/part2-1):
468464

469465
![captura de tela da branch do GitHub](../../images/2/2e.png)
470466

@@ -512,7 +508,7 @@ const App = () => {
512508
// ...
513509
}
514510

515-
console.log('A aplicação está funcionando...') // highlight-line
511+
console.log('App works...') // highlight-line
516512

517513
return (
518514
// ..
@@ -570,6 +566,7 @@ Adicionei este capítulo ao material após a resposta do modelo da próxima perg
570566
Antes de fazer os exercícios, deixe-me lembrá-lo do que havia jurado no final da parte anterior.
571567

572568
Programar é difícil, e é por isso que eu usarei todos os meios possíveis para ser mais fácil:
569+
573570
- Eu manterei meu Console do navegador aberto o tempo todo;
574571
- Eu vou progredir aos poucos, passo a passo;
575572
- Eu escreverei muitas instruções _console.log_ para ter certeza de que estou entendendo como o código se comporta e para me ajudar a identificar os erros;
@@ -590,7 +587,7 @@ Lembre-se: envie **todos** os exercícios de uma parte **de uma única vez**; is
590587

591588
**AVISO**: "create-react-app" transformará automaticamente seu projeto em um repositório git, a menos que você crie sua aplicação dentro de um repositório git já existente. **Você muito provavelmente não quer que cada um de seus projetos seja um repositório separado**, então basta executar o comando _rm -rf .git_ na raiz de sua aplicação para aplicar as modificações.
592589

593-
**N.B.:** o conteúdo dos exercícios foram deixados no idioma original da tradução (inglês) por questões de conveniência, visto a revisão que os mantenedores do curso devem fazer no código enviado ao sistema de avaliação da Universidade de Helsinque. Desta forma, escreva suas aplicações utilizando os mesmos termos usados nas variáveis, componentes, etc que estão em inglês.
590+
**Obs.:** o conteúdo dos exercícios foram deixados no idioma original da tradução (inglês) por questões de conveniência, visto a revisão que os mantenedores do curso devem fazer no código enviado ao sistema de avaliação da Universidade de Helsinque. Desta forma, escreva suas aplicações utilizando os mesmos termos usados nas variáveis, componentes, etc que estão em inglês.
594591

595592
<h4>2.1: Course information — 6º passo</h4>
596593

@@ -604,20 +601,20 @@ Vamos modificar o componente <i>App</i> desta maneira:
604601
const App = () => {
605602
const course = {
606603
id: 1,
607-
name: 'Desenvolvimento de aplicação Half Stack',
604+
name: 'Half Stack application development',
608605
parts: [
609606
{
610-
name: 'Fundamentos do React',
607+
name: 'Fundamentals of React',
611608
exercises: 10,
612609
id: 1
613610
},
614611
{
615-
name: 'Usando props para passar dados',
612+
name: 'Using props to pass data',
616613
exercises: 7,
617614
id: 2
618615
},
619616
{
620-
name: 'Estado de um componente',
617+
name: 'State of a component',
621618
exercises: 14,
622619
id: 3
623620
}
@@ -648,7 +645,7 @@ Desta forma, o componente <i>Course</i> conterá os componentes definidos na par
648645

649646
O resultado da página pode ficar assim, por exemplo:
650647

651-
![half stack application screenshot](../../images/teht/8e.png)
648+
![captura de tela de um app chamado half stack application](../../images/teht/8e.png)
652649

653650
Você ainda não precisa da soma do número de exercícios.
654651

@@ -666,25 +663,25 @@ Mostre também a soma (ou total) dos exercícios do curso.
666663

667664
Se você ainda não o fez, calcule a soma dos exercícios com o método de array [reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce) (reduzir).
668665

669-
**Dica I:** quando seu código fica assim...
666+
**Dica I:** quando seu código fica assim:
670667

671668
```js
672669
const total =
673670
parts.reduce((s, p) => someMagicHere)
674671
```
675672

676-
... e ao mesmo tempo que não funciona, vale a pena usar o <i>console.log</i>, o que requer que a função de seta seja escrita em sua forma mais longa:
673+
e ao mesmo tempo que não funciona, vale a pena usar o <i>console.log</i>, o que requer que a função de seta seja escrita em sua forma mais longa:
677674

678675
```js
679676
const total = parts.reduce((s, p) => {
680-
console.log('o que está acontecendo', s, p)
677+
console.log('what is happening', s, p)
681678
return someMagicHere
682679
})
683680
```
684681

685682
**Não está funcionando? :** Pesquise na internet como `reduce` é usado em um **Array de Objetos**.
686683

687-
**Dica II:** Existe um [plugin para o VS Code](https://marketplace.visualstudio.com/items?itemName=cmstead.js-codeformer) que altera automaticamente as funções de seta da forma curta para sua forma mais longa e vice-versa.
684+
**Dica II:** Existe um [plugin para o VS Code](https://marketplace.visualstudio.com/items?itemName=cmstead.js-codeformer) que altera automaticamente as _arrow functions_ da forma curta para sua forma mais longa e vice-versa.
688685

689686
![vscode sample suggestion for arrow function](../../images/2/5b.png)
690687

@@ -696,21 +693,21 @@ Vamos estender nossa aplicação para que permita um número <i>arbitrário</i>
696693
const App = () => {
697694
const courses = [
698695
{
699-
name: 'Desenvolvimento de aplicação Half Stack',
696+
name: 'Half Stack application development',
700697
id: 1,
701698
parts: [
702699
{
703-
name: 'Fundamentos do React',
700+
name: 'Fundamentals of React',
704701
exercises: 10,
705702
id: 1
706703
},
707704
{
708-
name: 'Usando props para passar dados',
705+
name: 'Using props to pass data',
709706
exercises: 7,
710707
id: 2
711708
},
712709
{
713-
name: 'Estado de um componente',
710+
name: 'State of a component',
714711
exercises: 14,
715712
id: 3
716713
},
@@ -726,7 +723,7 @@ const App = () => {
726723
id: 2,
727724
parts: [
728725
{
729-
name: 'Roteamento',
726+
name: 'Routing',
730727
exercises: 3,
731728
id: 1
732729
},

0 commit comments

Comments
 (0)