Se você é um desenvolvedor ou está entrando no mundo de DevOps, a escolha da distribuição Linux é crucial. Recomendo o Fedora como a melhor opção para desenvolvedores, graças aos seus recursos avançados, confiabilidade e suporte ativo da comunidade. Ele é poderoso, seguro e versátil, perfeito para desenvolvimento e DevOps.
Se o Fedora não for sua praia, você pode considerar o Ubuntu ou o Pop_OS, que também são excelentes alternativas, especialmente para quem trabalha com DevOps. Para começar, baixe a ISO do Fedora diretamente do site oficial e siga o guia de instalação disponível nos links da descrição.
Personalizando o Terminal com Zsh e Oh My Zsh
Um terminal bem configurado pode aumentar significativamente sua produtividade. Vamos começar instalando o Zsh, um shell mais poderoso e flexível que o Bash padrão. No Fedora, você pode instalá-lo com o seguinte comando:
sudo dnf install zsh
Após a instalação, defina o Zsh como seu shell padrão com o comando:
chsh -s $(which zsh)
Depois, saia e entre novamente na sessão para aplicar as mudanças. Agora, vamos turbinar o Zsh com o Oh My Zsh, um framework que adiciona temas e plugins incríveis. Primeiro, instale o Git (caso ainda não tenha):
sudo dnf install git
Em seguida, instale o Oh My Zsh com o comando abaixo (copiado do site oficial):
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Pronto! Agora seu terminal está mais poderoso e personalizável.
Configurando o Editor de Texto Vim
O Vim é um editor de texto altamente eficiente e customizável, perfeito para quem gosta de trabalhar com o teclado. Para instalá-lo no Fedora, use:
sudo dnf install vim
Depois, personalize o Vim criando ou editando o arquivo .vimrc no seu diretório home. Adicione as seguintes configurações para melhorar sua experiência:
syntax on " Habilita o realce de sintaxe
set number " Mostra números de linha
set relativenumber " Mostra números de linha relativos
set tabstop=4 " Define a largura da tabulação como 4 espaços
set shiftwidth=4 " Define a indentação como 4 espaços
set expandtab " Usa espaços em vez de tabulações
set cursorline " Destaca a linha atual
Essas configurações vão tornar o Vim mais amigável e produtivo para o seu dia a dia.
Controle de Versão com Git
O Git é essencial para gerenciar mudanças em seus projetos e colaborar com outras pessoas. Para instalá-lo, use:
sudo dnf install git
Configure seu nome e e-mail, que serão usados para identificar suas contribuições:
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
Para iniciar um repositório Git em um projeto, navegue até o diretório e execute:
git init
Adicione arquivos ao repositório com:
git add nome_do_arquivo
Ou adicione todos os arquivos de uma vez:
git add .
Salve as alterações com um commit:
git commit -m "Mensagem do commit"
Use git status para ver o estado do repositório e git log para visualizar o histórico de commits.
Configurando Chave SSH para Repositórios Remotos
Para interagir com repositórios remotos como GitHub ou GitLab de forma segura, você precisa configurar uma chave SSH. Comece gerando uma chave com:
ssh-keygen -t rsa -b 4096 -C "seu@email.com"
Pressione Enter para aceitar o local padrão e, se desejar, adicione uma senha para maior segurança. Depois, copie a chave pública com:
cat ~/.ssh/id_rsa.pub
Adicione essa chave nas configurações do GitHub ou GitLab. Agora, vincule seu repositório local a um remoto com:
git remote add origin URL_do_repositório
E envie as alterações com:
git push -u origin main
Introdução ao Docker
O Docker é uma ferramenta incrível para criar, implantar e executar aplicativos em ambientes isolados. Para instalá-lo no Fedora, siga estes passos:
- Adicione o repositório do Docker:
- Instale o Docker:
- Inicie o serviço Docker:
- Adicione seu usuário ao grupo Docker:
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo usermod -aG docker $USER
Teste a instalação com:
docker run hello-world
Agora você está pronto para usar comandos como docker pull, docker run, docker stop, docker ps e docker rm.
Utilizando o Tmux para Multitarefas
O Tmux é um multiplexador de terminal que permite gerenciar várias sessões em uma única janela. Instale-o com:
sudo dnf install tmux
Ele é perfeito para quem precisa trabalhar com várias tarefas ao mesmo tempo. Em vídeos futuros, vou mostrar dicas e truques para aproveitar ao máximo o Tmux.
Criando um Script de Automação
Para manter seu sistema sempre atualizado, crie um script de automação simples. Crie um arquivo chamado update.sh com o seguinte conteúdo:
#!/bin/bash
sudo dnf update -y
sudo dnf autoremove -y
Torne o script executável:
chmod +x update.sh
E execute-o sempre que precisar:
./update.sh
Conclusão
Neste guia, cobrimos desde a escolha da distribuição Linux até a configuração de ferramentas essenciais como Zsh, Vim, Git, Docker e Tmux. Agora você tem um ambiente de desenvolvimento poderoso e personalizado. Se gostou, inscreva-se no canal e deixe nos comentários sugestões para os próximos vídeos!
Links Úteis
Conecte-se!
- 📢 Tem perguntas? Deixe nos comentários abaixo!
- 🌟 Não se esqueça de curtir, se inscrever e ativar o sininho para mais dicas e tutoriais para desenvolvedores.
#python #tutorial #beginners
Python tutorial for beginners' full course 2024
*Learn Python in 1 HOUR* ⏱ : https://www.youtube.com/watch?v=8KCuHHeC_M0
*My original Python 12 Hour course* 🐍 : https://www.youtube.com/watch?v=XKHEtdqhLK8
*Full Python playlist* 📃: https://www.youtube.com/watch?v=Sg4GMVMdOPo&list=PLZPZq0r_RZOOkUQbat8LyQii36cJf2SWT
[⭐ = project]
#1 (00:00:00) python tutorial for beginners 🐍
#2 (00:05:49) variables ❎
#3 (00:16:05) type casting 💱
#4 (00:21:15) user input ⌨️
#5 (00:32:42) ⭐ madlibs game 📖
#6 (00:37:55) arithmetic & math 📐
#7 (00:51:46) if statements 🤔
#8 (01:00:06) ⭐ calculator program 🧮
#9 (01:05:59) ⭐ weight conversion program 🏋️
#10 (01:09:59) ⭐ temperature conversion program 🌡️
#11 (01:13:58) logical operators 🌦️
#12 (01:21:28) conditional expressions ❓
#13 (01:27:03) string methods 〰️
#14 (01:39:08) string indexing ✂️
#15 (01:46:35) format specifiers 💬
#16 (01:51:55) while loops ♾️
#17 (01:58:53) ⭐ compound interest calculator 💵
#18 (02:06:28) for loops 🔁
#19 (02:11:33) ⭐ countdown timer program ⌛
#20 (02:17:28) nested loops ➿
#21 (02:23:03) lists, sets, and tuples 🍎
#22 (02:38:08) ⭐ shopping cart program 🛒
#23 (02:45:21) 2D collections ⬜
#24 (02:53:59) ⭐ quiz game 💯
#25 (03:03:27) dictionaries 📙
#26 (03:11:33) ⭐ concession stand program 🍿
#27 (03:19:42) random numbers 🎲
#28 (03:24:16) ⭐ number guessing game 🔢
#29 (03:32:37) ⭐ rock, paper, scissors game 🗿
#30 (03:42:06) ⭐ dice roller program ⚂
#31 (03:52:12) functions 📞
#32 (04:02:50) default arguments 👍
#33 (04:08:56) keyword arguments 🗝️
#34 (04:15:40) *args & **kwargs 📦
#35 (04:30:33) iterables 🔂
#36 (04:37:04) membership operators 🔎
#37 (04:45:56) list comprehensions 📃
#38 (04:56:17) match-case statements 📆
#39 (05:02:13) modules 📨
#40 (05:08:51) scope resolution 🔬
#41 (05:14:22) if name == 'main': 📥
#42 (05:23:34) ⭐ banking program 💰
#43 (05:38:34) ⭐ slot machine 🎰
#44 (05:58:45) ⭐ encryption program 🔐
#45 (06:07:26) ⭐ hangman game 🕺
#46 (06:32:32) python object oriented programming 🚗
#47 (06:44:50) class variables 🎓
#48 (06:53:06) inheritance 👨👦👦
#49 (07:00:02) multiple inheritance 🐟
#50 (07:08:04) super() 🔴
#51 (07:21:10) polymorphism 🎭
#52 (07:29:15) duck typing 🦆
#53 (07:33:34) static methods ⚡
#54 (07:39:31) class methods 🏫
#55 (07:46:16) magic methods 🌟
#56 (07:59:51) @property ⚙️
#57 (08:07:33) decorators 🎊
#58 (08:14:57) exception handling 🚦
#59 (08:20:46) file detection 🕵️♂️
#60 (08:27:47) writing files ✍
#61 (08:41:33) reading files 🔍
#62 (08:48:29) dates & times 📅
#63 (08:54:46) ⭐ alarm clock ⏰
#64 (09:05:03) multithreading 🧵
#65 (09:13:45) request API data ↩️
#66 (09:22:19) PyQt5 GUI intro 🖥️
#67 (09:31:27) PyQt5 labels 🏷️
#68 (09:40:23) PyQt5 images 📷
#69 (09:46:28) PyQt5 layout managers 🧲
#70 (09:53:07) PyQt5 buttons 🛎️
#71 (10:00:12) PyQt5 checkboxes ✅
#72 (10:06:42) PyQt5 radio buttons 🔘
#73 (10:15:55) PyQt5 line edits 💬
#74 (10:21:55) PyQt5 CSS styles 🎨
#75 (10:32:48) ⭐ digital clock program 🕒
#76 (10:48:38) ⭐ stopwatch program ⏱
#77 (11:06:05) ⭐ weather API app ☀️
Python Interpreter: https://www.python.org/
PyCharm IDE: https://www.jetbrains.com/pycharm/
*Copyright Disclaimer*:
This video is the intellectual property of Bro Code. All rights reserved. No part of this video may be reproduced, distributed, or transmitted in any form or by any means, including but not limited to recording, uploading, or other electronic or mechanical methods, without my written permission, except in the case of brief quotations embodied in critical reviews and certain other noncommercial uses permitted by copyright law.
NÃO!: https://qrco.de/bdrec2
🚀🫶🎓 - • https://www.youtube.com/playlist?list=PLKXxjimG9Fo0dB0EqWDD4aZxHkkzeELL6
🚀🫶🎓- • https://www.youtube.com/playlist?list=PLKXxjimG9Fo02XXE1hGoYtvO-hq8YZ8lg
🔐 Conheça o Clube de membros! Tenha acesso a vídeos exclusivos e práticos sobre cibersegurança e mais, por menos que um pack de cerveja. Aprenda e cresça com um conteúdo vai te agregar.
Conheça o clube: https://www.youtube.com/channel/UCWUHN4UB7uryQtmlUARNILg/join
5 Dólares no TryHackMe: https://qrco.de/bfKG5X
- Video sobre Forense em Cibersegurança: https://www.youtube.com/watch?v=19I7zBWP3Hg
- Inicie em Cibersegurança ainda esse ano!: https://www.youtube.com/watch?v=zkTqj0hyM-c
- Aprenda a criar um Currículo - https://youtu.be/3MAUxZyEu3M
- Como é o dia a dia em Cibersegurança - https://youtu.be/hhF2MjMJBV8
- Veja como Encontramos Vulnerabilidades - https://youtu.be/wX87yZ3NoxQ
TREINAMENTOS QUE INDICO:
Introdução a computação em nuvem - https://imp.i384100.net/JzEDPQ
Certificado de Cibersegurança da Google: https://imp.i384100.net/jroYYZ
Introdução à Segurança Cibernética da NYU: https://imp.i384100.net/5g94rn
Introdução aos Ataques Cibernéticos pela NYU: https://imp.i384100.net/eKVmzg
Contramedidas de Ataques Cibernéticos pela NYU: https://imp.i384100.net/q4bPMO
Segurança Empresarial e de Infraestrutura pela NYU: https://imp.i384100.net/5g94rD
LIVROS QUE INDICO:
LGPD: https://amzn.to/47rcoQF
Cibersegurança: https://amzn.to/3KDotIA
Livro Introdução ao Pentest: https://amzn.to/42PEGCc
Livro Pentest em Aplicações Web: https://amzn.to/3wpg0ol
Livro Pentest em Redes sem Fio: https://amzn.to/3ww1pam
📢 Inscreva-se no canal e ative as notificações para não perder conteúdo! Estou animado para te ajudar a entrar na área de segurança da informação! 💰🔐
PARA MEMBROS:
Familia ISO 27000 - https://www.youtube.com/post/UgkxivIxhwaK5kxqnQuKbD0GJH07cJf4qehi
Curso - https://youtube.com/playlist?list=PLKXxjimG9Fo0dB0EqWDD4aZxHkkzeELL6&si=imlHv2VcsKHZ1ztI
EQUIPAMENTOS:
Meu mouse: https://amzn.to/3YDTTVs
Meu Gabinete: https://amzn.to/3KL5H1Z
Minha Webcam: https://amzn.to/40HUfgl
Minha placa de vídeo: https://amzn.to/4eohIX9
Meu processador: https://amzn.to/3OtfCuc
Minha placa mãe: https://amzn.to/40EYo4D
Minha Cadeira: https://amzn.to/47zyoc8
Meu Macbook: https://amzn.to/4ep4F7V
Notebook Dell: https://amzn.to/3qza0Xu
Mochila: https://amzn.to/45rrKmq
Antivírus + VPN que utilizo: https://amzn.to/45wnylp
GRAVAÇÃO:
Softbox: https://amzn.to/3QF18du
Lampada: https://amzn.to/3OVIyfE
Celular: https://amzn.to/44bUmiv
Linkedin: https://qrco.de/be7dhP
Instagram: https://qrco.de/be7dnQ
00:00 - Introdução
00:38 - O que é ser irrastreável?
02:06 - Porque é dificil ser irrastreável
05:18 - Ferramentas para se tornar Irrastreável
11:30 - 5, 9 e 14 Olhos
17:03 - Conclusão
Aviso: Todo o conteúdo expressa as ideias e pontos de vista de Douglas Lockshield, e não está associado ao empregador, a menos que seja expressamente mencionado.
To try everything Brilliant has to offer for free for a full 30 days, visit http://brilliant.org/ForrestKnight/ and get 20% off Brilliant’s annual premium subscription. Their "Thinking in Code" course is heavily applicable to what I go over in this video, with a lot of solid interactive lessons.
This video originally started out as 3 programming projects that'll help you take your coding knowledge beyond the basics; however, I really wanted to have y'all understand exactly how you shuold approach these projects because that's what's most important. And in doing so, I morphed this video into a lesson on how to properly learn to code beyond the basics, with using the first project as an example in that and the other two projects are for you to do on your own. I hope you enjoy this! It's more of a sit back, relax, and listen, because after this video, I hope you'll put full focus into building an interesting project yourself. Programming is A LOT of fun, and even more so once you actually get good.
0:00 this is how you really learn to code
4:32 how to approach building a project
6:44 Project #1
7:49 actually break the project down
10:54 use the coding basics
12:16 read the docs
13:04 how to properly use google
14:33 how to properly use ai (don't, unless...)
16:52 Project #2
18:46 Project #3
20:20 practice thinking in code
21:49 more projects
If you're a developer, sign up to my free newsletter Dev Notes 👉 https://www.devnotesdaily.com/
If you're a student, checkout my Notion template Studious: https://notionstudent.com
Don't know why you'd want to follow me on other socials. I don't even post. But here you go.
🐱🚀 GitHub: https://github.com/forrestknight
🐦 Twitter: https://www.twitter.com/forrestpknight
💼 LinkedIn: https://www.linkedin.com/in/forrestpknight
📸 Instagram: https://www.instagram.com/forrestpknight
👉 AI automation HOW-TOs + Community → https://www.skool.com/no-code-architects
👉 Easily distribute 100+ pieces content/week → https://kontentengine.io
-----------------
In this video I show you how to completely automate FACELESS videos using Make, Leonardo AI, Airtable, ChatGPT, ElevenLabs, and JSON2Video. I build everything from scratch!!
Here's a link to the prompts and JSONs used in the videos → https://www.skool.com/content-academy/build-100-automated-faceless-videos
-----------------
👥 FREE Content Academy → https://www.skool.com/content-academy
🤖 Automated & AI Content Systems → https://www.skool.com/content-academy/classroom/887aa4d1?md=24d41d6f6b52464292f8f947b51a5ab3