|
@@ -124,7 +124,7 @@ Se você quer ser um engenheiro de confiabilidade ou engenheiro de sistemas, est
|
|
|
- [van Emde Boas Trees](#van-emde-boas-trees)
|
|
|
- [Augmented Data Structures](#augmented-data-structures)
|
|
|
- [N-ary (K-ary, M-ary) trees](#n-ary-k-ary-m-ary-trees)
|
|
|
- - [Balanced search trees](#balanced-search-trees)
|
|
|
+ - [Árvores balanceadas de busca](#Árvores-balanceadas-de-busca)
|
|
|
- AVL trees
|
|
|
- Splay trees
|
|
|
- Red/black trees
|
|
@@ -532,7 +532,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
|
|
- [ ] [C Code (video)](https://www.youtube.com/watch?v=QN6FPiD0Gzo) (Código em C - vídeo)
|
|
|
- não o vídeo inteiro, apenas as partes sobre estrutura de nodes (nós) e alocação de memória.
|
|
|
- [ ] Listas Ligadas vs Arrays:
|
|
|
- - [Core Linked Lists Vs Arrays (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/rjBs9/core-linked-lists-vs-arrays) (Fundamental: Listas Ligadas vs Arrays - vídeo)
|
|
|
+ - [Core Linked Lists Vs Arrays (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/rjBs9/core-linked-lists-vs-arrays) (Fundamentos de Listas Ligadas vs Arrays - vídeo)
|
|
|
- [In The Real World Linked Lists Vs Arrays (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/QUaUd/in-the-real-world-lists-vs-arrays) (No Mundo Real: Listas Ligadas vs Arrays - vídeo)
|
|
|
- [ ] [why you should avoid linked lists (video)](https://www.youtube.com/watch?v=YQs6IC-vgmo) (por que você deve evitar listas ligadas - vídeo)
|
|
|
- [ ] Peguei vocês: você precisa de conhecimento de ponteiro para ponteiro:
|
|
@@ -598,7 +598,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
|
|
- [ ] [Using Hash Tables (video)](https://www.lynda.com/Developer-Programming-Foundations-tutorials/Using-hash-tables/149042/177127-4.html) (Usando Tabelas Hash - vídeo)
|
|
|
- [ ] [Supporting Hashing (video)](https://www.lynda.com/Developer-Programming-Foundations-tutorials/Supporting-hashing/149042/177128-4.html) (Hashing de Suporte - vídeo)
|
|
|
- [ ] [Language Support Hash Tables (video)](https://www.lynda.com/Developer-Programming-Foundations-tutorials/Language-support-hash-tables/149042/177129-4.html) (Tabelas Hash de Suporte de Linguagem - vídeo)
|
|
|
- - [ ] [Core Hash Tables (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/m7UuP/core-hash-tables) (Fundamental: Tabelas Hash - vídeo)
|
|
|
+ - [ ] [Core Hash Tables (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/m7UuP/core-hash-tables) (Fundamentos de Tabelas Hash - vídeo)
|
|
|
- [ ] [Data Structures (video)](https://www.coursera.org/learn/data-structures/home/week/3) (Estruturas de Dados - vídeo)
|
|
|
- [ ] [Phone Book Problem (video)](https://www.coursera.org/learn/data-structures/lecture/NYZZP/phone-book-problem) (Problema da Lista Telefônica (vídeo) )
|
|
|
- [ ] tabelas hash distribuídas:
|
|
@@ -652,7 +652,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
|
|
## Árvores
|
|
|
|
|
|
- ### Árvores - Anotações e Fundamentos
|
|
|
- - [ ] [Series: Core Trees (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/ovovP/core-trees) (Série: Árvores Fundamentais - vídeo)
|
|
|
+ - [ ] [Series: Core Trees (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/ovovP/core-trees) (Série: Fundamentos de Árvores - vídeo)
|
|
|
- [ ] [Series: Trees (video)](https://www.coursera.org/learn/data-structures/lecture/95qda/trees) (Série: Árvores - vídeo)
|
|
|
- contrução básica de árvore
|
|
|
- transversal
|
|
@@ -1298,7 +1298,7 @@ Você ganhará mais prática com grafos no livro do Skiena (veja a seção de li
|
|
|
- [ ] [06. Quicksort](https://www.youtube.com/watch?v=5M5A7qPWk84&list=PLe-ggMe31CTeE3x2-nF1-toca1QpuXwE1)
|
|
|
- [ ] [07. Priority Queues](https://www.youtube.com/watch?v=G9TMe0KC0w0&list=PLe-ggMe31CTducy9LDiGVkdSv0NfiRwn5) (Filas Prioritárias)
|
|
|
- [ ] [08. Elementary Symbol Tables](https://www.youtube.com/watch?v=up_nlilw3ac&list=PLe-ggMe31CTc3a8nKRDxFZZrWrBvkc9SG) (Tabelas de Símbolos Elementares)
|
|
|
- - [ ] [09. Balanced Search Trees](https://www.youtube.com/watch?v=qC1BLLPK_5w&list=PLe-ggMe31CTf7jHH_mFT50kayjCEA6Rhu) (Árvores de Busca Balanceada)
|
|
|
+ - [ ] [09. Balanced Search Trees](https://www.youtube.com/watch?v=qC1BLLPK_5w&list=PLe-ggMe31CTf7jHH_mFT50kayjCEA6Rhu) (Árvores Balanceadas de Busca)
|
|
|
- [ ] [10. Geometric Applications of BST](https://www.youtube.com/watch?v=Wl30aGAp6TY&list=PLe-ggMe31CTdBsRIw0hXln0hilRs-DqAx) (Aplicações Geométricas de Árvores de Busca Balanceada)
|
|
|
- [ ] [11. Hash Tables](https://www.youtube.com/watch?v=QA8fJGO-i9o&list=PLe-ggMe31CTcKxIRGqqThMts2eHtSrf11) (Tabelas Hash)
|
|
|
- [ ] [Sedgewick Videos - Algorithms II](https://www.youtube.com/user/algorithmscourses/playlists?flow=list&shelf_id=3&view=50) (Vídeos de Sedgewick - Algoritmos II)
|
|
@@ -1470,40 +1470,39 @@ O aprendizado nunca para.
|
|
|
- o livro de padrões de design canônico
|
|
|
- [ ] [UNIX and Linux System Administration Handbook, 4th Edition](https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/) (Manual de Administração de Sistema do UNIX e Linux, 4ª Edição)
|
|
|
|
|
|
-## Additional Learning
|
|
|
+## Aprendizado Adicional
|
|
|
|
|
|
-These topics will likely not come up in an interview, but I added them to help you become a well-rounded
|
|
|
-software engineer, and to be aware of certain technologies and algorithms, so you'll have a bigger toolbox.
|
|
|
+Esses tópicos provavelmente não aparecerão em uma entrevista, mas eu adicionei eles para ajudar você a se tornar um engenheiro de software mais completo, e para você ficar ciente de certas tecnologias e algoritmos, assim você terá mais ferramentas a disposição.
|
|
|
|
|
|
-- ### Compilers
|
|
|
- - [ ] [How a Compiler Works in ~1 minute (video)](https://www.youtube.com/watch?v=IhC7sdYe-Jg)
|
|
|
- - [ ] [Harvard CS50 - Compilers (video)](https://www.youtube.com/watch?v=CSZLNYF4Klo)
|
|
|
- - [ ] [C++ (video)](https://www.youtube.com/watch?v=twodd1KFfGk)
|
|
|
- - [ ] [Understanding Compiler Optimization (C++) (video)](https://www.youtube.com/watch?v=FnGCDLhaxKU)
|
|
|
+- ### Compiladores
|
|
|
+ - [ ] [How a Compiler Works in ~1 minute (video)](https://www.youtube.com/watch?v=IhC7sdYe-Jg) (Como um Compilador Funciona em ~1 minuto - vídeo)
|
|
|
+ - [ ] [Harvard CS50 - Compilers (video)](https://www.youtube.com/watch?v=CSZLNYF4Klo) (Harvard CS50 - Compiladores - vídeo)
|
|
|
+ - [ ] [C++ (vídeo)](https://www.youtube.com/watch?v=twodd1KFfGk)
|
|
|
+ - [ ] [Understanding Compiler Optimization (C++) (video)](https://www.youtube.com/watch?v=FnGCDLhaxKU) (Entendendo Otimização de Compilador (C++) - vídeo)
|
|
|
|
|
|
-- ### Emacs and vi(m)
|
|
|
- - Familiarize yourself with a unix-based code editor
|
|
|
+- ### Emacs e vi(m)
|
|
|
+ - Se familiarize com um editor de código baseado em unix
|
|
|
- vi(m):
|
|
|
- - [Editing With vim 01 - Installation, Setup, and The Modes (video)](https://www.youtube.com/watch?v=5givLEMcINQ&index=1&list=PL13bz4SHGmRxlZVmWQ9DvXo1fEg4UdGkr)
|
|
|
- - [VIM Adventures](http://vim-adventures.com/)
|
|
|
- - set of 4 videos:
|
|
|
- - [The vi/vim editor - Lesson 1](https://www.youtube.com/watch?v=SI8TeVMX8pk)
|
|
|
- - [The vi/vim editor - Lesson 2](https://www.youtube.com/watch?v=F3OO7ZIOaJE)
|
|
|
- - [The vi/vim editor - Lesson 3](https://www.youtube.com/watch?v=ZYEccA_nMaI)
|
|
|
- - [The vi/vim editor - Lesson 4](https://www.youtube.com/watch?v=1lYD5gwgZIA)
|
|
|
- - [Using Vi Instead of Emacs](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Using_Vi_instead_of_Emacs)
|
|
|
+ - [Editing With vim 01 - Installation, Setup, and The Modes (video)](https://www.youtube.com/watch?v=5givLEMcINQ&index=1&list=PL13bz4SHGmRxlZVmWQ9DvXo1fEg4UdGkr) (Editando Com vim 01 - Instalação, Setup, e Os Modos - vídeo)
|
|
|
+ - [VIM Adventures](http://vim-adventures.com/) (Aventuras em VIM)
|
|
|
+ - conjunto de 4 vídeos:
|
|
|
+ - [The vi/vim editor - Lesson 1](https://www.youtube.com/watch?v=SI8TeVMX8pk) (O editor vi/vim - Lição 1)
|
|
|
+ - [The vi/vim editor - Lesson 2](https://www.youtube.com/watch?v=F3OO7ZIOaJE) (O editor vi/vim - Lição 2)
|
|
|
+ - [The vi/vim editor - Lesson 3](https://www.youtube.com/watch?v=ZYEccA_nMaI) (O editor vi/vim - Lição 3)
|
|
|
+ - [The vi/vim editor - Lesson 4](https://www.youtube.com/watch?v=1lYD5gwgZIA) (O editor vi/vim - Lição 4)
|
|
|
+ - [Using Vi Instead of Emacs](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Using_Vi_instead_of_Emacs) (Usando Vi Ao Invés de Emacs)
|
|
|
- emacs:
|
|
|
- - [Basics Emacs Tutorial (video)](https://www.youtube.com/watch?v=hbmV1bnQ-i0)
|
|
|
- - set of 3 (videos):
|
|
|
- - [Emacs Tutorial (Beginners) -Part 1- File commands, cut/copy/paste, cursor commands](https://www.youtube.com/watch?v=ujODL7MD04Q)
|
|
|
- - [Emacs Tutorial (Beginners) -Part 2- Buffer management, search, M-x grep and rgrep modes](https://www.youtube.com/watch?v=XWpsRupJ4II)
|
|
|
- - [Emacs Tutorial (Beginners) -Part 3- Expressions, Statements, ~/.emacs file and packages](https://www.youtube.com/watch?v=paSgzPso-yc)
|
|
|
- - [Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs (video)](https://www.youtube.com/watch?v=JWD1Fpdd4Pc)
|
|
|
- - [Writing C Programs With Emacs](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Writing_C_programs_with_Emacs)
|
|
|
- - [(maybe) Org Mode In Depth: Managing Structure (video)](https://www.youtube.com/watch?v=nsGYet02bEk)
|
|
|
-
|
|
|
-- ### Unix command line tools
|
|
|
- - I filled in the list below from good tools.
|
|
|
+ - [Basics Emacs Tutorial (video)](https://www.youtube.com/watch?v=hbmV1bnQ-i0) (Tutorial Básico de Emas - vídeo)
|
|
|
+ - conjunto de 3 (vídeos):
|
|
|
+ - [Emacs Tutorial (Beginners) -Part 1- File commands, cut/copy/paste, cursor commands](https://www.youtube.com/watch?v=ujODL7MD04Q) (Tutorial de Emacs (Iniciantes) - Parte 1 - Comandos de Arquivo, cortar/copiar/colar, comandos de cursor)
|
|
|
+ - [Emacs Tutorial (Beginners) -Part 2- Buffer management, search, M-x grep and rgrep modes](https://www.youtube.com/watch?v=XWpsRupJ4II) (Tutorial de Emacs (Iniciantes) - Parte 2 - Gerenciamento de buffer, pesquisa, modos M-x grep e rgrep)
|
|
|
+ - [Emacs Tutorial (Beginners) -Part 3- Expressions, Statements, ~/.emacs file and packages](https://www.youtube.com/watch?v=paSgzPso-yc) (Tutorial de Emacs (Iniciantes) - Parte 3 - Expressões, Declarações, arquivo ~/. emacs e pacotes)
|
|
|
+ - [Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs (video)](https://www.youtube.com/watch?v=JWD1Fpdd4Pc) (Modo Evil: Ou, Como Eu Aprendi A Parar De Me Preocupar E Amar O Emacs - vídeo)
|
|
|
+ - [Writing C Programs With Emacs](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Writing_C_programs_with_Emacs) (Escrevendo Programas Em C Com Emacs)
|
|
|
+ - [(maybe) Org Mode In Depth: Managing Structure (video)](https://www.youtube.com/watch?v=nsGYet02bEk) ((talvez) Análise Profunda do Modo Org: Gerenciando Estrutura - vídeo)
|
|
|
+
|
|
|
+- ### Ferramentas da linha de comando do Unix
|
|
|
+ - Eu preenchi a lista abaixo com boas ferramentas.
|
|
|
- [ ] bash
|
|
|
- [ ] cat
|
|
|
- [ ] grep
|
|
@@ -1516,130 +1515,130 @@ software engineer, and to be aware of certain technologies and algorithms, so yo
|
|
|
- [ ] [strace](https://en.wikipedia.org/wiki/Strace)
|
|
|
- [ ] [tcpdump](https://danielmiessler.com/study/tcpdump/)
|
|
|
|
|
|
-- ### Information theory (videos)
|
|
|
+- ### Teoria da informação (vídeos)
|
|
|
- [ ] [Khan Academy](https://www.khanacademy.org/computing/computer-science/informationtheory)
|
|
|
- - [ ] more about Markov processes:
|
|
|
- - [ ] [Core Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/waxgx/core-markov-text-generation)
|
|
|
- - [ ] [Core Implementing Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/gZhiC/core-implementing-markov-text-generation)
|
|
|
- - [ ] [Project = Markov Text Generation Walk Through](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/EUjrq/project-markov-text-generation-walk-through)
|
|
|
- - See more in MIT 6.050J Information and Entropy series below.
|
|
|
-
|
|
|
-- ### Parity & Hamming Code (videos)
|
|
|
- - [ ] [Intro](https://www.youtube.com/watch?v=q-3BctoUpHE)
|
|
|
- - [ ] [Parity](https://www.youtube.com/watch?v=DdMcAUlxh1M)
|
|
|
- - [ ] Hamming Code:
|
|
|
- - [Error detection](https://www.youtube.com/watch?v=1A_NcXxdoCc)
|
|
|
- - [Error correction](https://www.youtube.com/watch?v=JAMLuxdHH8o)
|
|
|
- - [ ] [Error Checking](https://www.youtube.com/watch?v=wbH2VxzmoZk)
|
|
|
-
|
|
|
-- ### Entropy
|
|
|
- - also see videos below
|
|
|
- - make sure to watch information theory videos first
|
|
|
- - [ ] [Information Theory, Claude Shannon, Entropy, Redundancy, Data Compression & Bits (video)](https://youtu.be/JnJq3Py0dyM?t=176)
|
|
|
-
|
|
|
-- ### Cryptography
|
|
|
- - also see videos below
|
|
|
- - make sure to watch information theory videos first
|
|
|
- - [ ] [Khan Academy Series](https://www.khanacademy.org/computing/computer-science/cryptography)
|
|
|
- - [ ] [Cryptography: Hash Functions](https://www.youtube.com/watch?v=KqqOXndnvic&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=30)
|
|
|
- - [ ] [Cryptography: Encryption](https://www.youtube.com/watch?v=9TNI2wHmaeI&index=31&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
|
|
-
|
|
|
-- ### Compression
|
|
|
- - make sure to watch information theory videos first
|
|
|
- - [ ] Computerphile (videos):
|
|
|
- - [ ] [Compression](https://www.youtube.com/watch?v=Lto-ajuqW3w)
|
|
|
- - [ ] [Entropy in Compression](https://www.youtube.com/watch?v=M5c_RFKVkko)
|
|
|
- - [ ] [Upside Down Trees (Huffman Trees)](https://www.youtube.com/watch?v=umTbivyJoiI)
|
|
|
- - [ ] [EXTRA BITS/TRITS - Huffman Trees](https://www.youtube.com/watch?v=DV8efuB3h2g)
|
|
|
- - [ ] [Elegant Compression in Text (The LZ 77 Method)](https://www.youtube.com/watch?v=goOa3DGezUA)
|
|
|
- - [ ] [Text Compression Meets Probabilities](https://www.youtube.com/watch?v=cCDCfoHTsaU)
|
|
|
- - [ ] [Compressor Head videos](https://www.youtube.com/playlist?list=PLOU2XLYxmsIJGErt5rrCqaSGTMyyqNt2H)
|
|
|
- - [ ] [(optional) Google Developers Live: GZIP is not enough!](https://www.youtube.com/watch?v=whGwm0Lky2s)
|
|
|
-
|
|
|
-- ### Computer Security
|
|
|
- - [MIT (23 videos)](https://www.youtube.com/playlist?list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
- - [ ] [Introduction, Threat Models](https://www.youtube.com/watch?v=GqmQg-cszw4&index=1&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
- - [ ] [Control Hijacking Attacks](https://www.youtube.com/watch?v=6bwzNg5qQ0o&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=2)
|
|
|
- - [ ] [Buffer Overflow Exploits and Defenses](https://www.youtube.com/watch?v=drQyrzRoRiA&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=3)
|
|
|
- - [ ] [Privilege Separation](https://www.youtube.com/watch?v=6SIJmoE9L9g&index=4&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
- - [ ] [Capabilities](https://www.youtube.com/watch?v=8VqTSY-11F4&index=5&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
- - [ ] [Sandboxing Native Code](https://www.youtube.com/watch?v=VEV74hwASeU&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=6)
|
|
|
- - [ ] [Web Security Model](https://www.youtube.com/watch?v=chkFBigodIw&index=7&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
- - [ ] [Securing Web Applications](https://www.youtube.com/watch?v=EBQIGy1ROLY&index=8&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
- - [ ] [Symbolic Execution](https://www.youtube.com/watch?v=yRVZPvHYHzw&index=9&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
- - [ ] [Network Security](https://www.youtube.com/watch?v=SIEVvk3NVuk&index=11&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
- - [ ] [Network Protocols](https://www.youtube.com/watch?v=QOtA76ga_fY&index=12&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
- - [ ] [Side-Channel Attacks](https://www.youtube.com/watch?v=PuVMkSEcPiI&index=15&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
-
|
|
|
-- ### Garbage collection
|
|
|
- - [ ] [Garbage collection (Java); Augmenting data str (video)](https://www.youtube.com/watch?v=StdfeXaKGEc&list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&index=25)
|
|
|
- - [ ] [Compilers (video)](https://www.youtube.com/playlist?list=PLO9y7hOkmmSGTy5z6HZ-W4k2y8WXF7Bff)
|
|
|
- - [ ] [GC in Python (video)](https://www.youtube.com/watch?v=iHVs_HkjdmI)
|
|
|
- - [ ] [Deep Dive Java: Garbage Collection is Good!](https://www.infoq.com/presentations/garbage-collection-benefits)
|
|
|
- - [ ] [Deep Dive Python: Garbage Collection in CPython (video)](https://www.youtube.com/watch?v=P-8Z0-MhdQs&list=PLdzf4Clw0VbOEWOS_sLhT_9zaiQDrS5AR&index=3)
|
|
|
-
|
|
|
-- ### Parallel Programming
|
|
|
+ - [ ] mais sobre os processos de Markov:
|
|
|
+ - [ ] [Core Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/waxgx/core-markov-text-generation) (Fundamentos da Geração de Texto Markov)
|
|
|
+ - [ ] [Core Implementing Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/gZhiC/core-implementing-markov-text-generation) (Fundamentos da Implementação de Geração de Texto Markov)
|
|
|
+ - [ ] [Project = Markov Text Generation Walk Through](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/EUjrq/project-markov-text-generation-walk-through) (Projeto = Passo a Passo de Geração de Texto Markov)
|
|
|
+ - Veja mais em MIT 6.050J Série: Informação e Entropia abaixo.
|
|
|
+
|
|
|
+- ### Paridade e Código de Hamming
|
|
|
+ - [ ] [Introdução](https://www.youtube.com/watch?v=q-3BctoUpHE)
|
|
|
+ - [ ] [Paridade](https://www.youtube.com/watch?v=DdMcAUlxh1M)
|
|
|
+ - [ ] Código de Hamming:
|
|
|
+ - [Detecção de Erro](https://www.youtube.com/watch?v=1A_NcXxdoCc)
|
|
|
+ - [Correção de Erro](https://www.youtube.com/watch?v=JAMLuxdHH8o)
|
|
|
+ - [ ] [Verificação de Erro](https://www.youtube.com/watch?v=wbH2VxzmoZk)
|
|
|
+
|
|
|
+- ### Entropia
|
|
|
+ - veja também os vídeos abaixo
|
|
|
+ - certifique-se de assistir os vídeos de teoria da informação primeiro
|
|
|
+ - [ ] [Information Theory, Claude Shannon, Entropy, Redundancy, Data Compression & Bits (video)](https://youtu.be/JnJq3Py0dyM?t=176) (Teoria da Informação, Claude Shannon, Entropia, Redundância, Compressão de Dados e Bits - vídeo)
|
|
|
+
|
|
|
+- ### Criptografia
|
|
|
+ - veja também os vídeos abaixo
|
|
|
+ - certifique-se de assistir os vídeos de teoria da informação primeiro
|
|
|
+ - [ ] [Khan Academy Series](https://www.khanacademy.org/computing/computer-science/cryptography) (Série da Khan Academy)
|
|
|
+ - [ ] [Cryptography: Hash Functions](https://www.youtube.com/watch?v=KqqOXndnvic&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=30) (Criptografia: Funções Hash)
|
|
|
+ - [ ] [Cryptography: Encryption](https://www.youtube.com/watch?v=9TNI2wHmaeI&index=31&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp) (Criptografia: Encriptação)
|
|
|
+
|
|
|
+- ### Compressão
|
|
|
+ - certifique-se de assistir os vídeos de teoria da informação primeiro
|
|
|
+ - [ ] Computerphile (vídeos):
|
|
|
+ - [ ] [Compression](https://www.youtube.com/watch?v=Lto-ajuqW3w) (Compressão)
|
|
|
+ - [ ] [Entropy in Compression](https://www.youtube.com/watch?v=M5c_RFKVkko) (Entropia em Compressão)
|
|
|
+ - [ ] [Upside Down Trees (Huffman Trees)](https://www.youtube.com/watch?v=umTbivyJoiI) (Árvores de Cabeça para Baixo - Árvores Huffman)
|
|
|
+ - [ ] [EXTRA BITS/TRITS - Huffman Trees](https://www.youtube.com/watch?v=DV8efuB3h2g) (BITS/TRITS - Árvores Huffman)
|
|
|
+ - [ ] [Elegant Compression in Text (The LZ 77 Method)](https://www.youtube.com/watch?v=goOa3DGezUA) (Compressão Elegante em Texto - O Método LZ 77)
|
|
|
+ - [ ] [Text Compression Meets Probabilities](https://www.youtube.com/watch?v=cCDCfoHTsaU) (Compressão de Texto e Probabilidades)
|
|
|
+ - [ ] [Compressor Head videos](https://www.youtube.com/playlist?list=PLOU2XLYxmsIJGErt5rrCqaSGTMyyqNt2H) (Vídeos da Série Compressor Head)
|
|
|
+ - [ ] [(opcional) Google Developers Live: GZIP is not enough!](https://www.youtube.com/watch?v=whGwm0Lky2s) (Google Developers Ao Vivo: GZIP não é suficiente)
|
|
|
+
|
|
|
+- ### Segurança de Computador
|
|
|
+ - [MIT (23 vídeos)](https://www.youtube.com/playlist?list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
|
|
|
+ - [ ] [Introduction, Threat Models](https://www.youtube.com/watch?v=GqmQg-cszw4&index=1&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) (Introdução, Modelos de Risco)
|
|
|
+ - [ ] [Control Hijacking Attacks](https://www.youtube.com/watch?v=6bwzNg5qQ0o&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=2) (Ataques que Conseguem Tomar Controle
|
|
|
+ - [ ] [Buffer Overflow Exploits and Defenses](https://www.youtube.com/watch?v=drQyrzRoRiA&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=3) (Defesas e Exploits de Buffer Overflow)
|
|
|
+ - [ ] [Privilege Separation](https://www.youtube.com/watch?v=6SIJmoE9L9g&index=4&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) (Separação de Privilégio)
|
|
|
+ - [ ] [Capabilities](https://www.youtube.com/watch?v=8VqTSY-11F4&index=5&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) (Capacidades)
|
|
|
+ - [ ] [Sandboxing Native Code](https://www.youtube.com/watch?v=VEV74hwASeU&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=6) (Isolando Código Nativo)
|
|
|
+ - [ ] [Web Security Model](https://www.youtube.com/watch?v=chkFBigodIw&index=7&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) (Modelo de Segurança Web)
|
|
|
+ - [ ] [Securing Web Applications](https://www.youtube.com/watch?v=EBQIGy1ROLY&index=8&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) (Protegendo Aplicações Web)
|
|
|
+ - [ ] [Symbolic Execution](https://www.youtube.com/watch?v=yRVZPvHYHzw&index=9&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) (Execução Simbólica)
|
|
|
+ - [ ] [Network Security](https://www.youtube.com/watch?v=SIEVvk3NVuk&index=11&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) (Segurança de Rede)
|
|
|
+ - [ ] [Network Protocols](https://www.youtube.com/watch?v=QOtA76ga_fY&index=12&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) (Protocolos de Rede)
|
|
|
+ - [ ] [Side-Channel Attacks](https://www.youtube.com/watch?v=PuVMkSEcPiI&index=15&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) (Ataques Side-Channel)
|
|
|
+
|
|
|
+- ### Coleta de lixo
|
|
|
+ - [ ] [Garbage collection (Java); Augmenting data str (video)](https://www.youtube.com/watch?v=StdfeXaKGEc&list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&index=25) (Coleta de lixo - Java)
|
|
|
+ - [ ] [Compilers (video)](https://www.youtube.com/playlist?list=PLO9y7hOkmmSGTy5z6HZ-W4k2y8WXF7Bff) (Compiladores - vídeo)
|
|
|
+ - [ ] [GC in Python (video)](https://www.youtube.com/watch?v=iHVs_HkjdmI) (Coleta de lixo em Python - vídeo)
|
|
|
+ - [ ] [Deep Dive Java: Garbage Collection is Good!](https://www.infoq.com/presentations/garbage-collection-benefits) (Mergulhando Fundo em Java: Coleta de Lixo é Bom)
|
|
|
+ - [ ] [Deep Dive Python: Garbage Collection in CPython (video)](https://www.youtube.com/watch?v=P-8Z0-MhdQs&list=PLdzf4Clw0VbOEWOS_sLhT_9zaiQDrS5AR&index=3) (Mergulhando Fundo em Python: Coleta de Lixo em CPython - vídeo)
|
|
|
+
|
|
|
+- ### Programação Paralela
|
|
|
- [ ] [Coursera (Scala)](https://www.coursera.org/learn/parprog1/home/week/1)
|
|
|
- - [ ] [Efficient Python for High Performance Parallel Computing (video)](https://www.youtube.com/watch?v=uY85GkaYzBk)
|
|
|
+ - [ ] [Efficient Python for High Performance Parallel Computing (video)](https://www.youtube.com/watch?v=uY85GkaYzBk) (Python Eficiente para Computação Paralela de Alto Desempenho - vídeo)
|
|
|
|
|
|
- ### Envio de Mensagens, Serialização, e Sistemas de Enfileiramento
|
|
|
- [ ] [Thrift](https://thrift.apache.org/)
|
|
|
- [Tutorial](http://thrift-tutorial.readthedocs.io/en/latest/intro.html)
|
|
|
- - [ ] [Protocol Buffers](https://developers.google.com/protocol-buffers/)
|
|
|
- - [Tutorials](https://developers.google.com/protocol-buffers/docs/tutorials)
|
|
|
+ - [ ] [Protocol Buffers](https://developers.google.com/protocol-buffers/) (Buffers de Protocolo)
|
|
|
+ - [Tutoriais](https://developers.google.com/protocol-buffers/docs/tutorials)
|
|
|
- [ ] [gRPC](http://www.grpc.io/)
|
|
|
- [gRPC 101 for Java Developers (video)](https://www.youtube.com/watch?v=5tmPvSe7xXQ&list=PLcTqM9n_dieN0k1nSeN36Z_ppKnvMJoly&index=1)
|
|
|
- [ ] [Redis](http://redis.io/)
|
|
|
- [Tutorial](http://try.redis.io/)
|
|
|
- - [ ] [Amazon SQS (queue)](https://aws.amazon.com/sqs/)
|
|
|
+ - [ ] [Amazon SQS (fila)](https://aws.amazon.com/sqs/)
|
|
|
- [ ] [Amazon SNS (pub-sub)](https://aws.amazon.com/sns/)
|
|
|
- [ ] [RabbitMQ](https://www.rabbitmq.com/)
|
|
|
- - [Get Started](https://www.rabbitmq.com/getstarted.html)
|
|
|
+ - [Get Started](https://www.rabbitmq.com/getstarted.html) (Introdução)
|
|
|
- [ ] [Celery](http://www.celeryproject.org/)
|
|
|
- - [First Steps With Celery](http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html)
|
|
|
+ - [First Steps With Celery](http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html) (Primeiros Passos Com Celery)
|
|
|
- [ ] [ZeroMQ](http://zeromq.org/)
|
|
|
- - [Intro - Read The Manual](http://zeromq.org/intro:read-the-manual)
|
|
|
+ - [Intro - Read The Manual](http://zeromq.org/intro:read-the-manual) (Introdução - Leia O Manual)
|
|
|
- [ ] [ActiveMQ](http://activemq.apache.org/)
|
|
|
- [ ] [Kafka](http://kafka.apache.org/documentation.html#introduction)
|
|
|
- [ ] [MessagePack](http://msgpack.org/index.html)
|
|
|
- [ ] [Avro](https://avro.apache.org/)
|
|
|
|
|
|
- ### A*
|
|
|
- - [ ] [A Search Algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm)
|
|
|
- - [ ] [A* Pathfinding Tutorial (video)](https://www.youtube.com/watch?v=KNXfSOx4eEE)
|
|
|
- - [ ] [A* Pathfinding (E01: algorithm explanation) (video)](https://www.youtube.com/watch?v=-L-WgKMFuhE)
|
|
|
-
|
|
|
-- ### Fast Fourier Transform
|
|
|
- - [ ] [An Interactive Guide To The Fourier Transform](https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/)
|
|
|
- - [ ] [What is a Fourier transform? What is it used for?](http://www.askamathematician.com/2012/09/q-what-is-a-fourier-transform-what-is-it-used-for/)
|
|
|
- - [ ] [What is the Fourier Transform? (video)](https://www.youtube.com/watch?v=Xxut2PN-V8Q)
|
|
|
- - [ ] [Divide & Conquer: FFT (video)](https://www.youtube.com/watch?v=iTMn0Kt18tg&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=4)
|
|
|
- - [ ] [Understanding The FFT](http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/)
|
|
|
-
|
|
|
-- ### Bloom Filter
|
|
|
- - Given a Bloom filter with m bits and k hashing functions, both insertion and membership testing are O(k)
|
|
|
- - [Bloom Filters](https://www.youtube.com/watch?v=-SuTGoFYjZs)
|
|
|
- - [Bloom Filters | Mining of Massive Datasets | Stanford University](https://www.youtube.com/watch?v=qBTdukbzc78)
|
|
|
+ - [ ] [A Search Algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm) (Um Algoritmo de Busca)
|
|
|
+ - [ ] [A* Pathfinding Tutorial (video)](https://www.youtube.com/watch?v=KNXfSOx4eEE) (Tutorial de Busca de Caminho com A* - vídeo)
|
|
|
+ - [ ] [A* Pathfinding (E01: algorithm explanation) (video)](https://www.youtube.com/watch?v=-L-WgKMFuhE) (Busca de Caminho com A* (E01 - explicação do algoritmo) - vídeo)
|
|
|
+
|
|
|
+- ### Transformar de Fourier Rápida
|
|
|
+ - [ ] [An Interactive Guide To The Fourier Transform](https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/) (Uma Guia Interativa Para A Transformada de Fourier)
|
|
|
+ - [ ] [What is a Fourier transform? What is it used for?](http://www.askamathematician.com/2012/09/q-what-is-a-fourier-transform-what-is-it-used-for/) (O que é a Transformada de Fourier? Para o quê ela é usada?)
|
|
|
+ - [ ] [What is the Fourier Transform? (video)](https://www.youtube.com/watch?v=Xxut2PN-V8Q) (O que é a Transformada de Fourier? - vídeo)
|
|
|
+ - [ ] [Divide & Conquer: FFT (video)](https://www.youtube.com/watch?v=iTMn0Kt18tg&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=4) (Dividir e Conquistar: FFT (Transformada de Fourier Rápida) - vídeo)
|
|
|
+ - [ ] [Understanding The FFT](http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/) (Entendendo a Transformada de Fourier Rápida)
|
|
|
+
|
|
|
+- ### Filtro de Bloom
|
|
|
+ - Dado um filtro de Bloom com m bits e k funções de hash, tanto inserção quanto teste de associação são O(k)
|
|
|
+ - [Bloom Filters](https://www.youtube.com/watch?v=-SuTGoFYjZs) (Filtros de Bloom)
|
|
|
+ - [Bloom Filters | Mining of Massive Datasets | Stanford University](https://www.youtube.com/watch?v=qBTdukbzc78) (Filtros de Bloom | Mineração de Conjuntos de Dados Massivos | Universidade de Stanford)
|
|
|
- [Tutorial](http://billmill.org/bloomfilter-tutorial/)
|
|
|
- - [How To Write A Bloom Filter App](http://blog.michaelschmatz.com/2016/04/11/how-to-write-a-bloom-filter-cpp/)
|
|
|
+ - [How To Write A Bloom Filter App](http://blog.michaelschmatz.com/2016/04/11/how-to-write-a-bloom-filter-cpp/) (Como Escrever Um Aplicativo De Filtro De Bloom)
|
|
|
|
|
|
- ### HyperLogLog
|
|
|
- - [How To Count A Billion Distinct Objects Using Only 1.5KB Of Memory](http://highscalability.com/blog/2012/4/5/big-data-counting-how-to-count-a-billion-distinct-objects-us.html)
|
|
|
+ - [How To Count A Billion Distinct Objects Using Only 1.5KB Of Memory](http://highscalability.com/blog/2012/4/5/big-data-counting-how-to-count-a-billion-distinct-objects-us.html) (Como Contar Um Bilhão De Objetos Distintos Usando Apenas 1,5KB De Memória)
|
|
|
|
|
|
- ### Locality-Sensitive Hashing
|
|
|
- - used to determine the similarity of documents
|
|
|
- - the opposite of MD5 or SHA which are used to determine if 2 documents/strings are exactly the same.
|
|
|
- - [Simhashing (hopefully) made simple](http://ferd.ca/simhashing-hopefully-made-simple.html)
|
|
|
+ - usado para determinar a similaridade de documentos
|
|
|
+ - o oposto de MD5 ou SHA, os quais são usados para determinar se 2 documentos/strings são exatamente o mesmo.
|
|
|
+ - [Simhashing (hopefully) made simple](http://ferd.ca/simhashing-hopefully-made-simple.html) (Simhashing (supostamente) simplificado)
|
|
|
|
|
|
- ### van Emde Boas Trees
|
|
|
- - [ ] [Divide & Conquer: van Emde Boas Trees (video)](https://www.youtube.com/watch?v=hmReJCupbNU&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=6)
|
|
|
- - [ ] [MIT Lecture Notes](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012/lecture-notes/MIT6_046JS12_lec15.pdf)
|
|
|
+ - [ ] [Divide & Conquer: van Emde Boas Trees (video)](https://www.youtube.com/watch?v=hmReJCupbNU&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=6) (Dividir e Conquistar: Árvores van Emde Boas - vídeo)
|
|
|
+ - [ ] [MIT Lecture Notes](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012/lecture-notes/MIT6_046JS12_lec15.pdf) (Anotações de Aula do MIT)
|
|
|
|
|
|
-- ### Augmented Data Structures
|
|
|
- - [ ] [CS 61B Lecture 39: Augmenting Data Structures](https://youtu.be/zksIj9O8_jc?list=PL4BBB74C7D2A1049C&t=950)
|
|
|
+- ### Estruturas de Dados Incrementadas
|
|
|
+ - [ ] [CS 61B Lecture 39: Augmenting Data Structures](https://youtu.be/zksIj9O8_jc?list=PL4BBB74C7D2A1049C&t=950) (CS 61B Aula 39: Incrementando Estruturas de Dados)
|
|
|
|
|
|
-- ### Balanced search trees
|
|
|
- - Know least one type of balanced binary tree (and know how it's implemented):
|
|
|
+- ### Árvores balanceadas de busca
|
|
|
+ - Saiba pelo menos um tipo de árvore binária balanceada (e saiba como ela é implementada):
|
|
|
- "Among balanced search trees, AVL and 2/3 trees are now passé, and red-black trees seem to be more popular.
|
|
|
A particularly interesting self-organizing data structure is the splay tree, which uses rotations
|
|
|
to move any accessed key to the root." - Skiena
|