-
Notifications
You must be signed in to change notification settings - Fork 0
/
python.html
595 lines (494 loc) · 24.6 KB
/
python.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br" xml:lang="pt-br">
<head>
<!-- 2024-09-01 dom 16:03 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Python</title>
<meta name="author" content="Jackson de Jesus" />
<meta name="description" content="Resumo dos conceitos de Python" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
</head>
<body>
<div id="content" class="content">
<h1 class="title">Python</h1>
<div id="table-of-contents" role="doc-toc">
<h2>Capítulos</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org08d462d">Capítulo 1</a></li>
<li><a href="#org8bf6aa3">Capítulo 2</a></li>
<li><a href="#orgf3a7597">Capítulo 3</a></li>
<li><a href="#orga5c88c1">Capítulo 4</a></li>
<li><a href="#org3dde4ab">Capítulo 5</a></li>
<li><a href="#orga76cf9e">Capítulo 6</a></li>
<li><a href="#org5d5e6bc">Observações…</a>
<ul>
<li><a href="#orgd12cc16">Como organizei o conteúdo desta página</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org0535e6e">Voltar para o início…</a></div>
</div>
<div id="outline-container-org08d462d" class="outline-3">
<h3 id="org08d462d">Capítulo 1</h3>
<div class="outline-text-3" id="text-org08d462d">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Conceito</th>
<th scope="col" class="org-left">Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><b><b>Linguagem de Programação</b></b></td>
<td class="org-left">Domínio dos conceitos básicos como variáveis, estruturas de seleção e repetição, bibliotecas e leitura de documentação facilita o aprendizado de novas linguagens.</td>
</tr>
<tr>
<td class="org-left"><b><b>Bibliotecas</b></b></td>
<td class="org-left">Conjuntos de módulos (agrupamentos de funções) que fornecem funcionalidades prontas para diversas tarefas, como geração de gráficos e manipulação de dados.</td>
</tr>
<tr>
<td class="org-left"><b><b>Vantagens das Bibliotecas</b></b></td>
<td class="org-left">Agilidade na adição de funcionalidades, possibilidade de testar diferentes implementações, fácil instalação e desinstalação.</td>
</tr>
<tr>
<td class="org-left"><b><b>Funções</b></b></td>
<td class="org-left">Blocos de código reutilizáveis que executam tarefas específicas, como a função `reajustar<sub>salario</sub>` que aplica um reajuste salarial a diferentes cargos.</td>
</tr>
<tr>
<td class="org-left"><b><b>Bibliotecas Gráficas em Python</b></b></td>
<td class="org-left">Matplotlib (robusta e complexa), Seaborn (simples e esteticamente agradável) e Plotly (interativo).</td>
</tr>
<tr>
<td class="org-left"><b><b>NumPy</b></b></td>
<td class="org-left">Biblioteca que oferece a estrutura de dados ndarray, similar a listas, mas com vantagens em funcionalidades, performance e consumo de memória, especialmente para grandes conjuntos de dados.</td>
</tr>
<tr>
<td class="org-left"><b><b>Pandas</b></b></td>
<td class="org-left">Biblioteca que usa o NumPy como base e introduz o DataFrame, uma estrutura de dados tabular poderosa para manipulação e análise de dados.</td>
</tr>
<tr>
<td class="org-left"><b><b>DataFrame</b></b></td>
<td class="org-left">Tipo de dado do Pandas que organiza dados em linhas e colunas, como uma tabela, facilitando a manipulação, análise e visualização de dados.</td>
</tr>
<tr>
<td class="org-left"><b><b>Correlação</b></b></td>
<td class="org-left">Medida estatística que indica a relação entre duas variáveis. Uma correlação próxima de 1 indica uma relação diretamente proporcional, enquanto uma correlação próxima de -1 indica uma relação inversamente proporcional.</td>
</tr>
<tr>
<td class="org-left"><b><b>Expressões Regulares (Regex)</b></b></td>
<td class="org-left">Sequências de caracteres que formam padrões de busca, úteis para encontrar, validar e manipular textos.</td>
</tr>
<tr>
<td class="org-left"><b><b>Aplicações de Regex</b></b></td>
<td class="org-left">Busca textual, validação de dados, web scraping e filtros em integrações.</td>
</tr>
<tr>
<td class="org-left"><b><b>Módulo `re`</b></b></td>
<td class="org-left">Módulo do Python dedicado a expressões regulares, com funções para busca, substituição e manipulação de strings usando regex.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org8bf6aa3" class="outline-3">
<h3 id="org8bf6aa3">Capítulo 2</h3>
<div class="outline-text-3" id="text-org8bf6aa3">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Conceito</th>
<th scope="col" class="org-left">Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><b><b>Inteligência Artificial (IA)</b></b></td>
<td class="org-left">Um campo amplo com diversas abordagens, muitas vezes confundido com outros termos como Machine Learning. Apesar do termo evocar ideias de superinteligências, a IA atual é mais focada em algoritmos que aprendem com dados.</td>
</tr>
<tr>
<td class="org-left"><b><b>Machine Learning (ML)</b></b></td>
<td class="org-left">Um subcampo da IA que se concentra em algoritmos que aprendem padrões a partir de dados. É a base da maioria das aplicações de IA em empresas atualmente.</td>
</tr>
<tr>
<td class="org-left"><b><b>Aprendizagem Supervisionada</b></b></td>
<td class="org-left">Tipo de ML em que o algoritmo aprende com dados rotulados, ou seja, com exemplos de entradas e saídas desejadas. Divide-se em classificação (prever um grupo) e regressão (prever um valor numérico).</td>
</tr>
<tr>
<td class="org-left"><b><b>Aprendizagem Não Supervisionada</b></b></td>
<td class="org-left">Tipo de ML em que o algoritmo aprende padrões em dados não rotulados, buscando por similaridades e estruturas ocultas. Exemplos: redução de dimensionalidade e agrupamento (clustering).</td>
</tr>
<tr>
<td class="org-left"><b><b>Aprendizagem Por Reforço</b></b></td>
<td class="org-left">Tipo de ML em que o algoritmo aprende por tentativa e erro, recebendo recompensas por ações que levam a um objetivo. Usado em áreas como logística e jogos.</td>
</tr>
<tr>
<td class="org-left"><b><b>Ciência de Dados</b></b></td>
<td class="org-left">Uma área multidisciplinar que utiliza IA, estatística e conhecimento específico de um domínio para extrair insights e valor de dados.</td>
</tr>
<tr>
<td class="org-left"><b><b>Etapas de um Projeto de Ciência de Dados</b></b></td>
<td class="org-left">1. Definição do problema; 2. Definição dos dados; 3. Preparação dos dados; 4. Desenvolvimento dos modelos; 5. Avaliação dos modelos; 6. Disponibilização dos modelos.</td>
</tr>
<tr>
<td class="org-left"><b><b>Preparação de Dados</b></b></td>
<td class="org-left">Fase crucial que pode consumir até 80% do tempo do projeto. Envolve entender, limpar, transformar e preparar os dados para serem usados pelos algoritmos de ML.</td>
</tr>
<tr>
<td class="org-left"><b><b>Bibliotecas em Python para ML</b></b></td>
<td class="org-left">Scikit-learn (versátil, com algoritmos de aprendizado supervisionado e não supervisionado), TensorFlow, Keras e PyTorch (redes neurais e deep learning), LightGBM e XGBoost (gradient boosting), Statsmodels (foco em estatística).</td>
</tr>
<tr>
<td class="org-left"><b><b>Matriz de Confusão</b></b></td>
<td class="org-left">Ferramenta para avaliar o desempenho de modelos de classificação, mostrando a quantidade de acertos e erros em cada classe.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-orgf3a7597" class="outline-3">
<h3 id="orgf3a7597">Capítulo 3</h3>
<div class="outline-text-3" id="text-orgf3a7597">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Conceito</th>
<th scope="col" class="org-left">Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><b><b>Agente de Resolução de Problemas</b></b></td>
<td class="org-left">Um tipo de agente inteligente que decide as próximas ações buscando atingir um estado desejado, como encontrar a rota mais curta entre cidades.</td>
</tr>
<tr>
<td class="org-left"><b><b>Formulação de Problemas</b></b></td>
<td class="org-left">Processo crucial na IA que define: 1) Estado inicial do agente; 2) Função sucessor: ações válidas em cada estado e os estados resultantes; 3) Teste de objetivo: verifica se um estado é o objetivo; 4) Função de custo: avalia o custo de cada caminho (sequência de ações).</td>
</tr>
<tr>
<td class="org-left"><b><b>Espaço de Estados</b></b></td>
<td class="org-left">Representação de todos os estados possíveis que podem ser alcançados a partir do estado inicial, geralmente ilustrado como um grafo.</td>
</tr>
<tr>
<td class="org-left"><b><b>Árvore de Busca</b></b></td>
<td class="org-left">Estrutura gerada durante a busca por uma solução. A raiz é o estado inicial, e os ramos são criados expandindo nós (estados) com suas ações e estados sucessores.</td>
</tr>
<tr>
<td class="org-left"><b><b>Estratégia de Busca</b></b></td>
<td class="org-left">Define a ordem de expansão dos nós na árvore de busca, impactando a eficiência na localização da solução.</td>
</tr>
<tr>
<td class="org-left"><b><b>Busca Sem Informação (Cega)</b></b></td>
<td class="org-left">Estratégias que exploram o espaço de estados sem conhecimento específico do problema, como busca em extensão (largura) e busca em profundidade.</td>
</tr>
<tr>
<td class="org-left"><b><b>Busca com Informação (Heurística)</b></b></td>
<td class="org-left">Estratégias que usam conhecimento do problema (heurísticas) para guiar a busca de forma mais eficiente, como a busca gulosa e o algoritmo A*.</td>
</tr>
<tr>
<td class="org-left"><b><b>Função Heurística (h(n))</b></b></td>
<td class="org-left">Função que estima o custo do caminho do nó atual (n) até o objetivo, fornecendo conhecimento específico do problema para a busca com informação.</td>
</tr>
<tr>
<td class="org-left"><b><b>Algoritmo A*</b></b></td>
<td class="org-left">Estratégia de busca heurística que combina o custo do caminho até o nó atual (g(n)) com a heurística (h(n)) para estimar o custo total, buscando o caminho de menor custo estimado.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-orga5c88c1" class="outline-3">
<h3 id="orga5c88c1">Capítulo 4</h3>
<div class="outline-text-3" id="text-orga5c88c1">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Conceito</th>
<th scope="col" class="org-left">Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><b><b>Algoritmos</b></b></td>
<td class="org-left">Servem para criar soluções, aplicações e plataformas que resolvem problemas específicos, como gerenciar vendas, oferecer serviços bancários ou proporcionar entretenimento.</td>
</tr>
<tr>
<td class="org-left"><b><b>Integração de Sistemas</b></b></td>
<td class="org-left">Sistemas diferentes, mesmo escritos em linguagens diversas e criados em momentos e locais distintos, precisam se comunicar para funcionar em conjunto.</td>
</tr>
<tr>
<td class="org-left"><b><b>Padrões de Comunicação</b></b></td>
<td class="org-left">Assim como idiomas comuns facilitam a comunicação entre pessoas de diferentes nacionalidades, arquivos com formatos padronizados como XML e JSON permitem a troca de dados entre sistemas.</td>
</tr>
<tr>
<td class="org-left"><b><b>XML (Extensible Markup Language)</b></b></td>
<td class="org-left">Formato de arquivo com estrutura hierárquica em árvore, semelhante ao HTML, usado para transportar dados entre sistemas, como documentos. Pode ser verboso para grandes volumes de dados.</td>
</tr>
<tr>
<td class="org-left"><b><b>JSON (JavaScript Object Notation)</b></b></td>
<td class="org-left">Alternativa mais leve ao XML, utiliza pares chave-valor para representar dados de forma estruturada. É mais conciso e fácil de ler para humanos e máquinas.</td>
</tr>
<tr>
<td class="org-left"><b><b>Encoding</b></b></td>
<td class="org-left">Padrão que define como caracteres são convertidos em bytes para armazenamento e processamento em computadores. UTF-8 é o padrão dominante atualmente, suportando uma vasta gama de caracteres.</td>
</tr>
<tr>
<td class="org-left"><b><b>CSV (Comma-Separated Values)</b></b></td>
<td class="org-left">Formato de arquivo simples em que cada linha representa uma linha de tabela e os valores são separados por vírgulas (ou outro delimitador). Útil para transferir dados entre sistemas.</td>
</tr>
<tr>
<td class="org-left"><b><b>Parquet</b></b></td>
<td class="org-left">Formato de arquivo colunar otimizado para Big Data, armazenando dados por coluna em vez de por linha, o que acelera consultas e economiza espaço.</td>
</tr>
<tr>
<td class="org-left"><b><b>SQLite</b></b></td>
<td class="org-left">Banco de dados relacional leve que opera localmente, sem a necessidade de um servidor separado. Útil para dispositivos com recursos limitados, desenvolvimento e prototipagem.</td>
</tr>
<tr>
<td class="org-left"><b><b>Persistência de Dados</b></b></td>
<td class="org-left">Armazenamento de dados de forma permanente para uso futuro, seja localmente (arquivos, bancos de dados locais) ou remotamente (APIs, serviços na nuvem).</td>
</tr>
<tr>
<td class="org-left"><b><b>Pickle</b></b></td>
<td class="org-left">Funcionalidade específica do Python para serializar e desserializar objetos Python, permitindo salvar e carregar variáveis complexas em arquivos.</td>
</tr>
<tr>
<td class="org-left"><b><b>APIs (Application Programming Interfaces)</b></b></td>
<td class="org-left">Interfaces que permitem a comunicação entre diferentes softwares, expondo funcionalidades e dados de forma estruturada. REST é um estilo arquitetural popular para APIs.</td>
</tr>
<tr>
<td class="org-left"><b><b>REST (Representational State Transfer)</b></b></td>
<td class="org-left">Estilo arquitetural para APIs que utiliza os métodos HTTP (GET, POST, etc.) para acessar e manipular recursos.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org3dde4ab" class="outline-3">
<h3 id="org3dde4ab">Capítulo 5</h3>
<div class="outline-text-3" id="text-org3dde4ab">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Conceito</th>
<th scope="col" class="org-left">Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><b><b>Iterações</b></b></td>
<td class="org-left">Repetições de ações, como percorrer os elementos de uma lista (string, array, etc.).</td>
</tr>
<tr>
<td class="org-left"><b><b>Iteradores</b></b></td>
<td class="org-left">Objetos que permitem percorrer elementos de uma sequência de dados. Em Python, podem ser usados com strings, listas, dicionários, tuplas, arrays NumPy, DataFrames pandas, etc..</td>
</tr>
<tr>
<td class="org-left"><b><b>`for` loop</b></b></td>
<td class="org-left">Estrutura de repetição que itera sobre uma sequência de dados, executando um bloco de código para cada elemento.</td>
</tr>
<tr>
<td class="org-left"><b><b>`while` loop</b></b></td>
<td class="org-left">Estrutura de repetição que executa um bloco de código enquanto uma condição for verdadeira.</td>
</tr>
<tr>
<td class="org-left"><b><b>Iteradores Infinitos</b></b></td>
<td class="org-left">Funções como `count`, `cycle` e `repeat` do módulo `itertools` que geram sequências infinitas de elementos.</td>
</tr>
<tr>
<td class="org-left"><b><b>`count(start, step)`</b></b></td>
<td class="org-left">Gera uma sequência numérica infinita a partir de `start`, incrementando a cada passo por `step`.</td>
</tr>
<tr>
<td class="org-left"><b><b>`cycle(iterable)`</b></b></td>
<td class="org-left">Gera uma sequência infinita repetindo os elementos de `iterable` na ordem original.</td>
</tr>
<tr>
<td class="org-left"><b><b>`repeat(object, times)`</b></b></td>
<td class="org-left">Gera uma sequência que repete `object` por `times` vezes. Se `times` não for especificado, a repetição é infinita.</td>
</tr>
<tr>
<td class="org-left"><b><b>Combinações</b></b></td>
<td class="org-left">Subconjuntos de elementos de um conjunto maior, onde a ordem dos elementos <b><b>não</b></b> importa. `combinations(iterable, r)` gera combinações de `r` elementos de `iterable` sem repetição.</td>
</tr>
<tr>
<td class="org-left"><b><b>Combinações com Repetição</b></b></td>
<td class="org-left">Subconjuntos de elementos onde a repetição de um mesmo elemento é permitida. `combinations<sub>with</sub><sub>replacement</sub>(iterable, r)` gera combinações de `r` elementos de `iterable` com repetição permitida.</td>
</tr>
<tr>
<td class="org-left"><b><b>Permutações</b></b></td>
<td class="org-left">Arranjos de elementos de um conjunto onde a ordem dos elementos <b><b>importa</b></b>. `permutations(iterable, r)` gera todas as permutações possíveis de `r` elementos de `iterable`.</td>
</tr>
<tr>
<td class="org-left"><b><b>Generators</b></b></td>
<td class="org-left">Funções especiais que retornam um iterador (lazy iterator) em vez de um valor. Usam a palavra-chave `yield` para retornar um valor de cada vez, economizando memória.</td>
</tr>
<tr>
<td class="org-left"><b><b>`yield` keyword</b></b></td>
<td class="org-left">Retorna um valor do generator e pausa a execução da função, preservando seu estado. Na próxima chamada, a função continua de onde parou.</td>
</tr>
<tr>
<td class="org-left"><b><b>Sobrecarga de Operadores</b></b></td>
<td class="org-left">Capacidade de definir o comportamento de operadores (+, -, *, etc.) para tipos de dados personalizados (classes).</td>
</tr>
<tr>
<td class="org-left"><b><b>Métodos especiais (dunder methods)</b></b></td>
<td class="org-left">Métodos com nomes predefinidos (como `_<sub>add</sub>__`, `_<sub>sub</sub>__`, etc.) que permitem sobrecarregar operadores em Python. `_<sub>add</sub>__` define o comportamento do operador `+` para a classe.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-orga76cf9e" class="outline-3">
<h3 id="orga76cf9e">Capítulo 6</h3>
<div class="outline-text-3" id="text-orga76cf9e">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Conceito</th>
<th scope="col" class="org-left">Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><b><b>Sustentabilidade em TI</b></b></td>
<td class="org-left">Vai além de questões ambientais e abrange a capacidade de um software se manter funcional e relevante ao longo do tempo.</td>
</tr>
<tr>
<td class="org-left"><b><b>Otimização</b></b></td>
<td class="org-left">Em software, significa melhorar a eficiência, seja do algoritmo (código) ou dos processos da organização.</td>
</tr>
<tr>
<td class="org-left"><b><b>Otimização de Processos</b></b></td>
<td class="org-left">Refere-se à melhoria da gestão e das práticas de desenvolvimento de software, incluindo governança de TI, segurança e boas práticas de codificação.</td>
</tr>
<tr>
<td class="org-left"><b><b>CMMI (Capability Maturity Model Integration)</b></b></td>
<td class="org-left">Modelo para avaliar a maturidade de uma organização em desenvolvimento de software, com níveis como "Inicial", "Gerenciado" e "Em Otimização".</td>
</tr>
<tr>
<td class="org-left"><b><b>Otimização de Algoritmos</b></b></td>
<td class="org-left">Visa tornar o código mais eficiente, analisando a quantidade de cálculos, uso de memória e tempo de execução, geralmente expressos pela notação Big O.</td>
</tr>
<tr>
<td class="org-left"><b><b>Big O (Notação Assintótica)</b></b></td>
<td class="org-left">Representação da performance de um algoritmo em relação ao crescimento do volume de dados processados, indicando se o tempo de execução cresce de forma constante, linear, quadrática, etc.</td>
</tr>
<tr>
<td class="org-left"><b><b>Complexidade Fatorial (O(n!))</b></b></td>
<td class="org-left">Representa algoritmos extremamente ineficientes, cujo tempo de execução cresce exponencialmente com o tamanho da entrada, como alguns algoritmos de força bruta.</td>
</tr>
<tr>
<td class="org-left"><b><b>Processos</b></b></td>
<td class="org-left">Espaços isolados na memória onde um algoritmo é executado, consumindo recursos e com tempo de criação e término.</td>
</tr>
<tr>
<td class="org-left"><b><b>Threads</b></b></td>
<td class="org-left">Pequenos trechos de um algoritmo que podem ser executados concorrentemente dentro de um mesmo processo, compartilhando recursos e sendo mais leves que processos.</td>
</tr>
<tr>
<td class="org-left"><b><b>Escalabilidade</b></b></td>
<td class="org-left">Capacidade de um sistema lidar com o aumento da demanda de forma eficiente, seja em termos de volume de dados, usuários ou complexidade.</td>
</tr>
<tr>
<td class="org-left"><b><b>CPython</b></b></td>
<td class="org-left">Implementação de referência do Python, escrita em C e Python, sendo a mais utilizada e com suporte prioritário para novas funcionalidades da linguagem.</td>
</tr>
<tr>
<td class="org-left"><b><b>Implementação de Linguagem</b></b></td>
<td class="org-left">Software que interpreta o código escrito em uma linguagem (como Python) e o executa, traduzindo as instruções em ações concretas.</td>
</tr>
<tr>
<td class="org-left"><b><b>Protocolos (Interfaces)</b></b></td>
<td class="org-left">Em Python, são como "contratos" que definem métodos que uma classe deve implementar, garantindo padronização e funcionalidade.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org5d5e6bc" class="outline-3">
<h3 id="org5d5e6bc">Observações…</h3>
<div class="outline-text-3" id="text-org5d5e6bc">
</div>
<div id="outline-container-orgd12cc16" class="outline-4">
<h4 id="orgd12cc16">Como organizei o conteúdo desta página</h4>
<div class="outline-text-4" id="text-orgd12cc16">
<p>
Esta página contém resumos dos principais conceitos de Python extraídos de arquivos no formato PDF com a ferramenta <a href="https://notebooklm.google.com">NotebookLM</a>.
</p>
<p>
De forma simples, enviei os arquivos para o NotebookLM e pedi os resumos com os seguintes comandos:
</p>
<p>
<b>Organize uma tabela com os principais conceitos do texto. Na primeira coluna, o nome do conceito e na segunda, o conceito em si.</b>
</p>
<p>
A partir do segundo pedido, usei o comando:
</p>
<p>
<b>Repita o processo anterior para este texto.</b>
</p>
<p>
No terceiro pedido, recebi a mensage de:
</p>
<p>
<b>O comando fornecido solicita que o processo anterior seja repetido. No entanto, não há processo anterior no histórico de conversas fornecido. [Me] Para obter uma resposta abrangente, forneça o processo anterior que você gostaria que fosse repetido.</b>
</p>
<p>
Desta forma, alternei entre o primeiro e segundo comando até o último arquivo, que veio com a formatação Markdown deformada. Então, pedi uma última revisão com o comando:
</p>
<p>
<b>Refaça a tabela para uma melhor formatação em Markdown.</b>
</p>
<p>
A publicação final continua uma exportação simples, do formato org mode para HTML, usando o Emacs.
</p>
</div>
</div>
</div>
<div id="outline-container-org0535e6e" class="outline-2">
<h2 id="org0535e6e"><a href="./index.html">Voltar para o início…</a></h2>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Jackson de Jesus</p>
<p class="date">Created: 2024-09-01 dom 16:03</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>