Seja bem vindo ao beco.py
um espaço feito para quem quer deixar de lado o conforto de códigos prontos e iniciar uma longa trilha de pesquisa e desenvolvimento das próprias ferramentas.
Se você chegou até aqui, é por que decidiu sair da zona de conforto e assumiu o compromisso de se tornar um dos melhores, um dos que pensam à frente e constrói suas próprias armas de guerra.
O intúito do que será lhe passado daqui por diante, é te dar uma base, uma direção para seguir, mas será necessário que você mesmo decida
se irá seguir o caminho ou permanecer onde está.
A escolha é sua...
Python é uma linguagem muito simples e com uma sintaxe muito direta que permite fácil entendimento e menor curva de aprendizado para técnicas avançadas.
Por se tratar de uma linguagem generalista
e com inúmeras bibliotecas, Python pode ser utilizada em vários segmentos como:
- Desenvolvimento de aplicações/apps
- Front-end
- Back-end
- APIs
- Sistemas de diversos tipos...
E como não poderia ser diferente, uma vez que esta linguagem "constrói" tanta coisa, ela também é amplamente utilizada no HACKING
!
Muito se diz sobre qual conteúdo é melhor, ou por onde começar a aprender Python. Porém, o que ninguém diz por aí, é que não existe a tal melhor forma.
O que é preciso entender, é que o necessário para programar, é a estrutura da linguagem, e não co código em si.
É preciso caminhar a passos curtos antes de conseguir correr por aí.
A partir do momento em que a estrutura da linguagem foi aprendida é que começa a verdadeira batalha do aprendizado. Pois Python, é uma linguagem dotada de milhares
de bibliotecas, cada uma com sua finalidade, estrutura e sintaxe de uso.
Isto faz com que você precise LER DOCUMENTAÇÕES
toda vez que quiser aprender algo novo, pois cada biblioteca vai funcionar de um jeito, ter suas próprias funções
e classes
. E a partir daí, é preciso estudar e saber sobre o que de fato vai desenvolver.
E é exatamente por isso, que tudo que precisa é saber a estrutura da linguagem, pois a partir daí, seus limities começam a se quebrar.
A intenção deste conteúdo, é ser o máximo hands on
o possível, porém, precisaremos de algumas ferramentas principalmente no início, na parte conceitual.
Para que possamos organizar melhor os conteúdos, vamos criar Notebooks
com o Jupyter
.
Os Notebooks nos permitem executar comandos em Python, ao mesmo tempo em que conseguimos fazer nossas anotações.
Para que um Notebook possa ser visualizado, você pode utilizar um destes programas:
- VSCode
- Jupyter Lab (
pip install jupyterlab
) - Google Colab
Obviamente, não custa lembrar que você precisará do PYTHON3
para dar segmento.
As demais bibliotecas, instalaremos com o decorrer do aprendizado.
Com o seguimento do curso, todo o material será disponível no GitHub.
Ao longo das semanas, conheceremos os seguintes temas:
- Por que python?
- Não existe a melhor forma de aprender python
- Ferramentas utilizadas
- Hello World
- Operadores matemáticos
- Tipos de variáveis
- Integer
- float
- String
- Exercícios de leitura e pesquisa
- Strings
- Booleanos e operadores lógicos
- Exercícios de leitura e pesquisa
- Listas
- Tuplas
- Dicionários
- Estruturas condicionais
- Estruturas de repetição
- Exercícios de leitura e pesquisa
- Funções
- Classes
- Bibliotecas
- Instalando bibliotecas
- Importando bibliotecas
- Biblioteca OS
- Comandos do SO
- Descobrindo o home path do usuário
- removendo arquivos
- Trabalhando com argumentos em scripts
- Exercícios de leitura e pesquisa
- Biblioteca MySQL-Connector
- Conectando a um banco de dados
- Executando comandos no MySQL
- Extraindo informações do MySQL
- Criando um Brute Force de MySQL
- Exercícios de leitura e pesquisa
- Biblioteca Socket
- Criando um socket client
- Criando um socket server
- Comunicação via socket
- Criando um bruteforce de FTP
- Criando um Port Scanner
- Exercícios de leitura e pesquisa
- Introdução ao Flask
- Se vc sabe contruir, vc sabe desmontar
- Hello World em Flask
- Construindo uma API Rest em Flask com autenticação e token JWT (projeto)
- Exercícios de leitura e pesquisa
- Introdução ao Web Scraping
- Framework Scrapy
- Criando um Crawler em Scrapy
- Framework Selenium
- Automatizando um Crawler e um HTML parser com Selenium
- Exercícios de leitura e pesquisa