Java != Javascript
Se exige conhecimento de Java e vc tá estudando Javascript, não faz muito sentido, são duas linguagens bem diferentes que só possuem nomes similares.
Pelo visto o seu projeto envolve um site, então Javascript é a melhor opção junto com HTML e CSS no começo, Python também é ótimo para backend, mas como vc procura fazer uma PoC, foca em Javascript que dá pra fazer tudo.
FreeCodeCamp é uma opção mt boa, mas ele presume que vc já tem uns básicos em computação, que você pode cobrir com CS50 e entender um pouco antes mesmo de chegar em escrever códigos, é importante entender o que é uma API, como funciona, como aplica, funcionamento de web e tudo mais.
Outra opção é o The Odin Project , que tem um pequeno overlap com FreeCodeCamp, mas acho que é mais completo pra WebDev.
Sim, é difícil, mas muito longe de ser impossível e é possivelmente uma das coisas que mais possui recursos gratuitos para aprender.
E como eu sempre digo para os novato que trombo, nunca tenha vergonha de aprender, de perguntar e principalmente de não saber, afinal é por isso que vc está aprendendo.
Antes de entender como funciona o Github sugiro que entenda um básico de Git. Estude os 2 primeiros capítulos deste livro (em inglês) e quando se sentir confiante procure a documentação do próprio Github. O que acho mais importante não é saber o que os comandos fazem mas sim quando usá-los.
> Vejo que muitos falam do leetcode, aqui no BR é assim ?
Muito raro, OP. Teve apenas duas empresas não gringas que me pediram questão de algoritmos(buser e luizalabs), e eram apenas bemmm triviais de manipular array ou strings.
Pra júnior não vão te pedir nada muito complexo eu acho, geralmente take home assigment ou quiz. A entrevista geralmente teórica e experiências.
Não se estresse com leetcode, até as questões "easy" são bem difíceis tem que ter conhecimento de algoritmos, estruturas de dados e acima de tudo praticar um pouco todo dia( eu: 42 easy, 21 medium, 0 hard).
>Esse livro cracking the code Interview é suficiente ou ele só mais do mesmo ?
Ele é excelente pra te dar uma base, se você tiver travando muito em alguma estrutura especifica(arvore, lista encadeada, grafo). Mas você ainda vai ter que praticar.
edit: https://leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions
O que você demora 6 horas em um livro, um super professor de uma super universidade te fala no Coursera em 15 minutos.
Eu acho q o vekstir matou a charada do pq o código n está compilando.
Uma dica q eu daria é para vc n se acostumar a usar var. Use const ou let ao invés disso.
Além disso, javascript tem métodos de loops e manipulação de arrays como o forEach() e o .map(). Que podem dar uma simplificada nesse teu código ai. Só que vc vai ter q trabalhar com callbacks, oq pode ser meio confuso para um iniciante.
Vai ser muito raro você escrever um for trabalhando com javascript por exemplo. Eu pessoalmente nem lembro qnd foi a última vez q eu escrevi um for husahusua.
N sei como vc está escrevendo código, mas usar até msm um https://stackblitz.com/ da vida para codar vanilla js vc poderia ter pegado esse errinho pq o stackblitz qnd eu salvei o teu código mudou na hora ali o ==! e vc teria visto que estaria errado.
Recomendo dar uma olhada no odin project se quiser uma trilha de projetos bem estruturada que no futuro você vai poder usar até para conseguir um estágio ou emprego como júnior.
Se quiser apenas exercícios, leia sobre leetcode - são exercícios que vão trabalhar a sua lógica de programação e resolução de problemas - coisas que você vai usar independente da stack que escolher trabalhar.
E outra, não caia na armadilha de comprar curso atrás de curso, tem MUITA informação de qualidade disponível na internet de forma gratuita.
Aprenda a usar o google e a pesquisar em sites de nicho - alguns dizem que essa é a habilidade mais importante de um programador.
Boa sorte :)
Para o backend voce pode usar o https://supabase.io/
Para o mobile eu recomendo ir direto para o React Native, dessa forma voce pode eventualmente pular para Swift/Objective C ou Joava/Kotlin quando precisar adicionar módulos customizados (spoiler: quase nunca vai precisar)
Como já conhece o node, recomendaria tentar aprofundar nele mesmo. Caso prefira vídeos, esse é o primeiro de uma série de aulas que considero razoavelmente boas para quem está começando. Entretanto, não fique muito preso em aulas. Ler materiais como livros e documentação pode parecer complicado/chato no começo, mas eventualmente você precisará do nível de detalhe que apresentam.
Quanto ao portfólio, você pode criar uma aplicação utilizando alguma linguagem back-end (Java, Python, C++ etc). É muito comum ver portfólios back-end mostrando sistemas de gerenciamento de estoque, lista de afazeres e outras coisas do dia a dia. Você também pode ( e eu recomendo esse caminho no seu caso, já que provavelmente fez isso no curso de Full Stack) criar um website que busque dados de uma API criada por você .
Em primeiro momento, não se preocupe em ter um portfólio com coisas mirabolantes. Foque em ter coisas que funcionam e, principalmente, em terminar os projetos que começar.
Também quero aprender C++ moderno, pois os projetos open source que eu acho mais interessantes são em C++!
EDIT: Agora que eu vi que tu já manja de C++ e só quer aprender a parte moderna, daí talvez o primer não seja o melhor livro.
Heroku é uma boa. Mas na verdade, o Pages suporta React sim. Só precisa de um pouco de configuração.
Uma alternativa a isso poderia ser uma action do Github que cria uma nova branch, roda o build nela e hosteia o site. O ponto é que o Pages consegue fazer muita coisa quando você usa os actions do Github.
por mais q eu tenha deixado de gostar e de recomendar linguagens de alta popularidade no mercado, para o seu caso em especifico abro uma exceção para recomendar o FreeCodeCamp.
FreeCodeCamp é um site em inglês que ensina programação do básico ao avançado em javaScript e Python, ele é totalmente em textos e vc pode dar zoom na tela e usar o tradutor do Chrome.
Não gosto de linguagens populares porque ao meu ver o mercado de trabalho delas está (temporáriamente) uma bolha, muitos programadores JS e de Python disputando pela mesma vaga.
Mas com sinceridade, é melhor estudar isso do que estudar nada, até porque caso vocẽ queira trocar de tecnologia no futuro o processo vai ser bem mais amigavel.
​
Webdev? Tu vai precisar da famosa trindade HTML + CSS + Javascript.
Um muito recomendado nisso é o The Odin Project. É bem o caminho de desenvolvimento web mesmo.
Javascript, o FreeCodeCamp é bem tranquilo pra parte base de JS.
Esses cursos são todos em inglês, caso vc procure recursos em PT-BR, o próprio grupo tem umas recomendações na lateral ali e o outro comentário aqui com dois links.
Reforçando o que já tão falando: Aprende linux.
Como você ainda não sabe pra qual caminho vai(arquitetura, frontend, banco de dados etc)
Te recomendo o que TODO programador precisa ter: Lógica de programação e algoritmos, estrutura de dados e inglês.
Linguagens boas pra começar: C, Javascript(pode ser no navegador ou node) e Python. Sugiro experimentar todas. Faça um "hello world", e jogos simples com variáveis
Quando tiver a vontade com alguma dessas, tu pode até dar uma brincada no codewars: https://www.codewars.com/
E outra muito boa é entrar em grupos relacionados a alguma tecnologia(pode ser das linguagens de programação em si), seja telegram, whatsapp etc. Se quiser pode até criar mais threads nesse sub que ta paradinho kkkkk
Você curte (ou tem) lógica boa?
Você jogaria Lightbot (https://play.google.com/store/apps/details?id=com.lightbot.lightbothoc&hl=en&gl=US) por bastante tempo?
você não é PÉSSIMO em matemática? (um ok significa que deve passar ,mas ter dificuldades em cálculo)
Você é de boa com pesquisar coisas no Google para resolver problemas que nunca viu antes? Sabe quando seu parente diz "meu pente elétrico parou de funcionar ,me ajuda" e aí você lê que o problema (baseado nas evidências) deve ser provavelmente um fusível queimado?
​
Se sim, tente TI. Não é garantia que funcione, mas qualquer resposta pras perguntas acima for "não", eu iria com cuidado.
Eventualmente computação vai se tornar chato pra você, você vai receber um salário (ou grana de clientes) pra resolver problemas, que tem que ser pensados em como resolver, e como escalar pra não dar dor de cabeça no futuro.
É divertido, mas às vezes você vai passar dois dias no Google tentando achar a resposta pra algo. Você provavelmente vai passar o resto da vida estudando sobre isso, aprendendo coisas novas, se aperfeiçoando.
Se você quer algo que você aprenda, ganhe muito dinheiro e nunca se incomode, computação não é pra você. Se você curte resolver problemas, lida bem com frustrações e tá de boa em assumir um compromisso pra vida de viver Googleando e aprendendo coisas, tenta.
Nada é certo que vá funcionar, mas são alguns indicadores
Fazendo exatamente isso que você fez aqui - perguntando, pedindo conselhos e indo atrás de informações.
A área de programação é muito ampla, tem milhares de caminhos para você seguir.
Antes de decidir uma stack, tecnologia ou carreira, o ideal é você brincar com um pouco de tudo, e isso inclui mexer em front-end, back-end, devops, testes, etc.
Faça bootcamps, cursos, projetos - mas não se comprometa com nada no início pois o ideal é você se adaptar e ir se encaminhando perante aquilo que você mais se atrai.
Sim, muitos. Se você pesquisar aqui no reddit vai encontrar muitas recomendações de livros, alguns que vão servir independente da área que escolher. Exemplo : Clean Code, O Programador Pragmático, etc.
Botando a mão na massa, o odin project é uma trilha de projetos que você pode seguir e eventualmente até usar como portfólio para conseguir um emprego.
Tenha paciência, vai ser difícil, todo mundo pena no início e todo mundo sofre uma curva de aprendizado.
Pesquise sobre síndrome de impostor - isso é muito comum na nossa área e demora um certo tempo até você ganhar confiança e sentir que sabe alguma coisa.
Não tenha medo de fazer entrevistas de estágio ou de júnior, empresas que buscam preencher essas vagas não estão a procura de experiência mas sim de pessoas bem intencionadas que sabem se portar em um ambiente profissional e tem grande potencial de crescimento.
E por último, se divirta no processo, não se cobre tanto e seja curioso :)
Boa sorte!
Tem o Lubuntu também que é baseado no Ubuntu, contudo com o window manager ou seja ambiente Lxde que é leve. Outro ambiente interessante é o I3wm que usa tilings e permite dividir a tela em vários retângulos. Você também pode instalar o Ubuntu standard e instalar o window manager que você quiser tal como o Lxde, Kde com:
sudo apt-get install lxde
Outra distribuição que achei interessante é o Arch Linux e seus derivados pelo sistema de pacotes e pela ArchWiki que é a melhor Wiki sobre o Linux que já encontrei.
Por via das dúvidas, algum dia acesse PortableApps.com/apps.
É um site de programas portáteis para Windows que podem ser instalados em & rodados a partir de um pendrive. Apesar de serem portáteis, em cada programa tem o link para o programa original, além de muitos serem de Fonte Aberta, e terem versões para Linux e tals.
Por exemplo: Krita, GIMP, Inkscape, Music Brainz, Firefox & Thunderbird (e uns 400 a mais)...
Por favor, não busque um algoritmo para desenvolver software. Se você encontrar, bastará implementar o algoritmo que eu e todos os outros developers perdem o emprego hahaha.
Brincadeiras à parte, muita gente que trabalha em áreas exatas acaba sendo contaminado com essa visão meio positivista das coisas. Eu acho que o processo de desenvolvimento é altamente criativo, e o que ajuda a ter ideias para resolver um problema é aumentar seu repertório (mesmo nas atividades que usam pouca criatividade).
Você tem que maximizar o seu contato com várias tecnologias, aí quando vc for precisar desenvolver algo que nunca trabalhou, vc já ouviu falar, sabe o conceito, leu alguma discussão. Tem tantos blogs, subreddits, twitters, listas de email, IRC, stackoverflow/quora, conferências de desenvolvimento (você pode comparecer ou assistir no youtube). E é claro, agregadores como HackerNews e Slashdot são recomendados também.
Quando você descobrir sobre algum assunto novo, terá uma oportunidade de aprender algo se tiver curiosidade (stay hungry, stay foolish). Se já chegou na hora de trabalhar com X e você nunca ouviu falar nada sobre X, prepare-se para pesquisar e ler bastante.
Sobre o exemplo que você deu. A primeira coisa é procurar soluções existentes, será que elas não te atendem? Por isso é importante que você já tenha tido contato com VNC, nx, X forwarding, Xpra, RDP. Mesmo que nenhuma dessas soluções te atendessem, conhecer alguma coisa sobre elas certamente te ajudaria a construir sua solução. Você poderia usar, por exemplo, o protocolo RFB e acessar o framebuffer ao invés de capturar bitmaps da tela.
O que eu não gosto é que o código em Java tendem a ser desnecessariamente longo e burocrático. O problema aqui é que muita gente insere boilerplate usando a IDE mesmo, coisas como getters e setters, sem pensar no tamanho do monstro.
Agora a JVM é show de bola. Tem uma linguagem na JVM que eu gosto muito, chamada Scala.
Sim, mas de uma forma (MUITO) gambiarrada
Acho q vc vai passar mais raiva do q aprender em si, porém há alguns apps q transformam o celular em servidor para vc testar suas páginas
ksweb é um deles com PHP e MySQL
Para criar suas páginas vc ainda precisa de um editor de arquivos de textos
Vc tb deve encontrar alguns tutoriais no YouTube sobre a configuração do ksweb
Link para Download (apenas Android): https://play.google.com/store/apps/details?id=com.mebena.android.agostinho
Feedbacks são bem-vindos!
Testei pelo celular e pelo PC e tá rolando... Tenta aqui:
O git book é bem bom para explicar quase tudo sobre o funcionamento do git: https://git-scm.com/book/pt-br/v2
Mas pode ser meio overkill para o uso do dia a dia. De qualquer forma, recomendo ler os primeiros capitulos
>**PS:**Git e versionamento de código não se trata apenas se fazer um commit, publicar a branch e fazer um pullRequest, todo o fluxo é interessante de ser estudado mais a fundo para evitar problemas.
O que seria necessário além disso? Ler o Pro Git até o final seria o suficiente?
Como já disseram aqui, é muito legal vc ter começado a programar, mas vale mais a pena vc já partir de uma linguagem de programação onde vc vai conseguir fazer mais aplicações. Uma das mais simples pra iniciar é o Python, de onde depois vc pode ou continuar no Python (se desejar ira pra área de dados) ou migrar pra outra dependendo do seu interesse. É muito fácil achar blogs e cursos de Python grátis por aí. Aqui tem um bom curso iniciante (em inglês, mas tenho quase certeza que tem legendas em pt-br).
Entre para o Tandem com esse código de convite: 2RPYVOCN
iOS: https://itunes.apple.com/app/apple-store/id959001619?pt=1069922&ct=new-invite&mt=8
Android: https://play.google.com/store/apps/details?id=net.tandem&referrer=utm_source%3Dnew-invite
Um é esse app e o outro é o HelloTalk. Ambos são gratuitos
Eu uso essa pra tudo que é lugar que vou, inclusive de avião, já levei 3 notebooks dentro e sobrou espaço, eu tinha pago 65 CAD na Amazon.ca ano passado, agora deu uma subida pela nota boa, se quiser procurar revendedor no BR acho que pega um preço bom.
Aprender HTML e CSS antes de JavaScript vai te ajudar bastante
Se sabe ler em inglês, boa fonte são os cursos do FreeCodeCamp https://www.freecodecamp.org/ (tanto pra HTML/CSS quanto JavaScript). Em português tem o Guanabara no YouTube, mas se não me engano o curso de HTML e CSS ainda tá em andamento
Aliás, você pode usar Python mais tarde em programação web, no back-end (parte de configuração do servidor)
Não querendo jogar um balde de água fria, mas já jogando, tem bastante problema no seu repositório.
Pontos técnicos: - Não tem convenção de commit. - As mensagens de commit não são informativas. - Seu código não é modularizado. - Não tem uma interface para entrada de comando. Não digo usar interface gráfica, mas usar uns case ... esac para montar as flags e passar os parâmetros pra rodar os scripts secundários conforme o valor da flag.
Pontos de documentação: - Vc não diz o que o seu código faz e pra que ele serve. - Não há exemplo de caso de uso. - Mistura de idiomas (parte da documentação/comentário é em inglês, outra parte é em português). - O que está no REARME.md deveria estar no README.md (aparentemente)
No mais, te recomendo esse livro sobre Shell que é mto bom.
Sim. Defino a lista de livros que quero ler durante o ano e sigo a lógica FIFO, mas se aparecer algo muito legal ou recomendação relevante eu faço um insertion sort.
No dia a dia é tentar ler pelo menos um pouquinho diariamente pra criar o hábito e conseguir finalizar a leitura planejada.
Pode considerar ler How to Read a Book.
P.S. Uso stick notes pra não estragar o livro.
https://www.amazon.com.br/Data-Warehouse-Toolkit-Definitive-Dimensional/dp/1118530802
A 3 edição nao tem em ptbr. Só a segunda ed.
https://www.holistics.io/blog/how-to-read-data-warehouse-toolkit/
Devido a isso recomendo a 3ª
Só esperando um milhão de pessoas comprarem meu livro de poesia pra largar a TI e viver da escrita. Quem quiser me ajudar a conquistar meu objetivo:
Sim. Não custa tentar :)
Recomendo esse: R$ 2.829,10 Notebook Lenovo Ultrafino IdeaPad 3 Ryzen 5 5500U 8GB 256GB SSD Prata 15.6" Linux https://www.amazon.com.br/Notebook-Lenovo-Ultrafino-IdeaPad-82MFS00100/dp/B09LVLN4L4
​
Esse processador possui 13164 de Benchmark, sendo um dos melhores custo-benefício até agora.
O próximo passo é você estudar algoritmos/estruturas de dados e engenharia de software.
Não importa que área ou linguagem você irá usar, é necessário desenvolver essas habilidades.
https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/ref=sr\_1\_2?crid=1WZDUJD1XVXOG&keywords=algorithm&qid=1663518539&s=books&sprefix=algorithm%2Cstripbooks-intl-ship%2C235&sr=1-2
https://www.amazon.com/Engenharia-Software-Moderna-Desenvolvimento-Produtividade-ebook/dp/B086K5QJ9V/ref=sr\_1\_1?keywords=engenharia+de+software&qid=1663518570&s=books&sr=1-1
Se você tem intenção de atuar na área de desenvolvimento web, pode começar a estudar HTML/CSS/Javascript em paralelo.
C/C++ não são linguagens populares para desenvolvimentos web porque o trabalho é muito maior que em outras linguagens, por isso acabam sendo inviáveis na maioria dos projetos.
Mas tem empresas que usam C++ no desenvolvimento back-end, mas é uma exceção.
A maioria das empresas requerem flexibilidade e produtividade, sem precisar se preocupar com detalhes de baixo nível e perdendo tempo com compilação do código-fonte.
Claro que isso não quer dizer que você não deva estudar essas linguagens.
Uma pessoa que sabe algoritmos e sabe C/C++ vai ter muito mais facilidade para aprender outras como Java e Python, e estará muito a frente daqueles candidatos que fizeram bootcamp da vida e mal conseguem fazer coisas simples como manipular arrays ou validar um email.
Ainda não vi alguém citando esse classico, então vou deixar aqui:
- Think Like a Programmer: Assista essa playlist
- Leia o livro do mesmo autor
Recomendo esse livro
Depende do que você está interessado. Mas aqui um exemplo que geralmente recomendo: https://www.amazon.com/Functional-Programming-Scala-Paul-Chiusano/dp/1617290653
Parece que uma segunda edição vai sair em dezembro.
>Algoritmos: Teoria e Prática" de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein.
esse ?
Não sei nenhum especifico de node, mas este livro é ótimo: https://www.amazon.com.br/Domain-Driven-Design-Eric-Evans/dp/8550800651/ref=asc\_df\_8550800651/?tag=googleshopp00-20&linkCode=df0&hvadid=379739109739&hvpos=&hvnetw=g&hvrand=15099998021478255750&hvpone=&hvptwo=&hvqm...
Bom andei dando uma pesquisada e achei uma que parece ser excelente e custo beneficio ainda por cima, segue o link abaixo:
Eu trabalhei na Amazon por 4 anos.
Eu sempre tive um base matemática e computação sólida, mas lembro que na época revisei assuntos de base e pratiquei por 2 meses aprx (eu utilizei o famoso livro verde).
Quando trabalhei lá conduzi várias entrevistas, a dica que dou é:
procure entender o problema que está atrás de resolver. como? questione! vá atrás de requisitos funcionais e requisitos não funcionais. isso vai te ajudar a definir o escopo de atuação e planejar os trade-offs da sua decisão.
isso tem ligação com a primeira dica: não assuma nada como verdade, sempre valide seu pensamento.
essa dica é complicada, mas é importante: pense em voz alta. vá conversando com a pessoa que esta conduzindo a entrevista. !!!sempre exponha os trade-offs em voz alta!!!
esteja com o machado afiado. suas skills técnicas precisam estar em dias. não necessariamente decorar uma sintaxe, mas a base precisa estar sólida.
uma dica pra saber se você está indo bem: quanto mais você conduzir a entrevista, sinal de que está indo bem (isso inclusive mostra sinais de um profissional mais senior). quanto mais o entrevistador te conduzir (chamamos de dar push), sinal de que você está deixando as coisas pra trás (aqui é o posto, mostra sinais de um profissional mais junior).
Acho que depende, pelo que vi 90% já seria uma temperatura a ponto de acontecer throttling e acho qeu 100 graus ele vai dar um shutdown no teu pc.
O problema é o cooler box stock da intel (deu i3 no caso) ele é uma bela de uma merda, recomendaria comprar uma pasta termica e um cooler novo, tem alguns que são bons e não são tão caros.
Uma vez eu usava este https://www.amazon.com.br/Cooler-para-Processador-Master-28627/dp/B076MQBZ2L/ref=asc\_df\_B076MQBZ2L/?tag=googleshopp00-20&linkCode=df0&hvadid=379728526006&hvpos=&hvnetw=g&hvrand=14634865015084333498&hvpone=&hvptwo=&... e serviu bem ao proposito, pois eu tinha um intell que esquentava muito também
Alguns livros introdutórios:
Se quiser tem o livro Clean Code que fala exatamente sobre isso, padronização, legibilidade e manutenibilidade do codigo. Ele descreve de forma bem detalhada e com exemplos como "deveria" ser uma boa formatação. Resumo.
na época q eu pesquisei, essa me parecia uma das melhores em questão de proteção:
Grokking Algorithms é uma primeira jornada bem bacana pra pessoas com pouca experiência e sem muita base matemática. após a leitura você deve sair com uma boa noção intuitiva sobre alguns tópicos que envolvem algoritmos.
e você realmente tem tudo isso de pontos de QI para perder? sorry, não resisti.
quanto ao seu questionamento: eu gosto de pensar que sempre temos oportunidades na maioria das situações que vivemos.
tem um livro bem interessante que li faz um tempo, se chama Working Effectively Legacy. é bem bacana. traz uma coleção de estratégia que olham pra refactors, manutenção, gestão, otimização, entre outros tópicos. lendo esse livro acredito que você consiga trazer alguma luz para o seu time e ainda fazer a diferença podendo se destacar na sua empresa.
esse aqui chefe?? nunca li, acha q devo comprar? to iniciando ainda aqui
Eu tinha comprado uma gamer tambem que é uma porcaria (DX Racer). Depois de muito pesquisar e evitando essas de preços absurdos (Herman Miller) comprei uma "Presidente Brizza Plaxmetal Autocompensador", que hoje tá uns 1,4k, que é 1000 vezes melhor que qualquer outra que já usei, tem ajuste de absolutamente tudo.
Pararam as dores nas costas na 1a semana.
Dá uma olhada nesse samsung : https://www.amazon.com.br/Notebook-Samsung-256GB-Windows-Chumbo/dp/B09MR1S8BH/ref=asc_df_B09MR1S8BH/?tag=googleshopp00-20&linkCode=df0&hvadid=379720653016&hvpos=&hvnetw=g&hvrand=548282469894247771&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1001566&hvtargid=pla-1629772481453&psc=1. Parece que a bateria dele é boa. Você vai precisar de colocar 8gb de ram depois. Só isso,
Tem a Pluralsight. Com o Github Student Pack, você consegue 1 mês de graça. As docs da Microsoft do C# são muito boas também. E tem esse livro também (https://www.amazon.com/Beginners-Hands-Project-Coding-Project-ebook/dp/B016Z18MLG/ref=sr\_1\_1?crid=1QU1L41Z1XYFC&keywords=learn+c%23&qid=1652011278&sprefix=learn+c+%2Caps%2C280&sr=8-1)
Disclaimer: sou dev iniciante, nem emprego tenho, mas roubei essa lista de um redditor alguns anos atrás e lentamente estou seguindo. Meu amigo dev senior deu uma olhada e falou que pelo menos os fundamentos prestam. Enfim, tá aí:
https://cryptpad.fr/pad/#/2/pad/view/ZZ+EZTxpPUz8hrWm8gYA9KTQq4ftBqGlNKYdVhkH4hw/embed/
cara, se você nunca estudou algoritmo e chegasse no leetcode destruindo e entendendo tudo, eu que passei anos estudando que ia me sentir burro.
tá tudo bem, algoritmos é uma parada muito abstrata, você precisa ver:
- estrutura de dados (lista, pilha, dicionário)
- grafos (acíclicos, cíclicos, árvore binária)
- ordenação (bubble sort, quick sort, merge sort)
- complexidade (BigO notation, complexidade 1, n, log2n e n**2)
- busca em profundidade, busca em largura
melhor livro sobre isso: https://www.amazon.com.br/Algoritmos-Teoria-Pr%C3%A1tica-Thomas-Cormen/dp/8535236996
vídeos você encontra um monte no youtube, busca por cada um separado ou procura alguma universidade que tenha postado o conteúdo.
Acabei de comprar uma Brizza da Plaxmetal para substituir a minha DXRacer, e é outra vida, a quantidade de ajustes que ela tem é incrivel para ajustar a qualquer pessoa.
​
Comprei esse modelo:
Não te faz programador, mas te bota no caminho e te da um mapa.
Eu não sou mto fã, a não ser que seja extremamente necessário porque sem o comentário o código fica muito confuso. No livro do O Código Limpo, um dos textos fala sobre isso (capítulo 4. Comentários) que comentários são desnecessários se o seu código for limpo e fácil de ser lido (nome adequado das variáveis, bem segmentado e organizado).
Eu recomendo esse livro https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113/ref=mp_s_a_1_1?crid=3B9HTSALQLXPC&keywords=C%2B%2B+Primer&qid=1645273047&sprefix=c%2B%2B+primer%2Caps, mas infelizmente o preco subiu mt.
Acho melhor procurar fontes alternativas.
ID é mais fácil de usar no javascript, porque pode chamar diretamente pela referência do elemento. Eu costumo usar ID pra tudo que for único, como menus, artigos, sessões, rodapé, assim o CSS fica melhor dividido.
Exemplo de como o id pode ser acessado no javascript: https://stackblitz.com/edit/web-platform-pxb6v2?file=index.html
Ele te ensina e você faz exercícios, depois você faz um projeto com oque aprendeu.
Segundo o top aprender a procurar as respostas e como fazer as perguntas é parte crucial do desenvolvimento web.
Mas ao invés de perguntar você pode testar, é de graça. https://www.theodinproject.com/
Talvez quando você se faz exatamente essa pergunta hehe
Tem um monte de tutoriais de React pela internet. Recomendo começar pela doc oficial do React, pq afinal tu vai ter que visitar ela ao longo dos anos pra ver alguma info sobre algum hook etc.
Isso se tu for pro React. Tem Angular e Vue também, e certamente tem uns outros menos conhecidos. Eu pessoalmente não curti esses outros dois, e hoje programo com React Native, que é em suma React pra mobile e também web.
Então, o curso é esse https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#basic-javascript você pode dar uma olhada ? A minha dúvida surge pois no origamid o JS é apresentado já no curso JS ES6, no freecode tem esse basic JS e um tópico dedicado ao ES6 além de demais tópicos. Sou bem iniciante nesse área, então não sei qual pode ser melhor, também não sou fluente em inglês, mas acredito que posso entender uns 80% dos textos. Estava pensando em seguir a linha HTML css básico, css avançado, css grid layout, css flexbox e depois me aprofundar no JS, ou você acha que é exagero ? Esse css avançado ensina o css puro de forma avançada.
Copiei a resposta porque é quase a mesma coisa. Voce tem alguma dica para POO, eu sei o básico de POO coisa de quando estudei python, mas senti dificuldade de abstrair mais
Então, o curso é esse https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#basic-javascript você pode dar uma olhada ? A minha dúvida surge pois no origamid o JS é apresentado já no curso JS ES6, no freecode tem esse basic JS e um tópico dedicado ao ES6 além de demais tópicos. Sou bem iniciante nesse área, então não sei qual pode ser melhor, também não sou fluente em inglês, mas acredito que posso entender uns 80% dos textos. Estava pensando em seguir a linha HTML css básico, css avançado, css grid layout, css flexbox e depois me aprofundar no JS, ou você acha que é exagero ? Esse css avançado ensina o css puro de forma avançada.
depende muito do que vc viu, se for tipo manipular a DOM na unha, eu particularmente acho horrivel, por isso tem frameworks front (mas vc nao se salva de eventualmente ter de meter um document.querySelect da vida). o node basicamente pegou a engine do google chrome e "adaptou" (existem termos melhores, e pessoas que entendem MUITO mais de JS que eu) para serem usadas em servidores..
Nas documentaçoes, voce pode ter uma noçao melhor do que tem no node que nao tem no JS puro.
​
Fui dar uma olhada nesse Obsidian e bicho.. o q é isso??
Essa UI toda é só pra organizar anotações? Eu nem costumo anotar as coisas mas só por esse gráfico já fiquei com vontade de usar
Oh, só complementando, hoje saiu de promoção esse monitor da LG na amazon
https://www.amazon.com.br/LG-Widescreen-24MP400-23-8-1920x1080-Inclina%C3%A7%C3%A3o/dp/B09HYTW34G
E hoje no zoom tem cashback de 10%, então ele vai sair por 700 reais mais ou menos, o preço tá otimo
Você está querendo publicar sua aplicação no GitHub Pages (https://pages.github.com/), ou subir o código para uma repositório no GitHub? Pelo que me recordo, o GitHub Pages só aceita páginas estáticas. Não é possível hospedar "server side" (node.js) lá.
Quase todos providers (AWS, AZURE, IBM, Oracle, Heroku, etc) tem algum "free tier" que você pode fazer o deploy de sua aplicação. Pelo que você disse, você deve precisar de uma ou duas VMs, dependendo de como quer fazer o deploy do banco de dados (na mesma VM ou em um servidor separado).
Provavelmente a configuração do banco será diferente caso for fazer o deploy do banco em um servidor próprio para isso (AWS RDS por exemplo).
Quantos bytes tem um inteiro na linguagem de programação que você mais usa?
Qual a diferença entre UML estático e dinâmico?
Quais os 5 endpoints REST?
Quais os 5 ritos da metodologia ágil?
Me fale de algoritmos de ordenação que você conhece.
Me fale sobre design patterns que você costuma usar.
O que é recursão?
Como vc imprimiria "Hello World" 50x sem usar um for(R: recursão)
Qual a diferença de DDL e DML?
Explique git merge, rebase e pull.
O que é index num banco de dados?
Várias e várias perguntas de algoritmos que vc encontra no leetcode.com (sudoku solver, sieve of erathostenes, roman to integer, etc.)
Várias perguntas específicas de linguagem e framework.
Ex: [] em Javascript é true ou false num if? E em Python? Por quê arrow functions foram implementadas no JS?
O que a tag html autofocus faz?
O que é uma Higher-Order Function?
Certo. É bem a mesma dificuldade que tenho. O que vc precisa procurar estudar é web design.
O Material.io anda me ajudando bem, recomendo totalmente.
Essa matéria do Webflow tbm me ajudou bem, o básico de design não deve ser subestimado, algumas pequenas coisas fazem uma boa diferença.
>Quais livros (não tem problema se for em inglês) e cursos da Udemy você me indica para estudar esses tópicos.
O Grokking já é ótimo, mas outro que gostei bastante pela didático foi A Common sense guide to data structures and algorithms.
No Udemy nunca fiz cursos sobre esse tema, mas sempre que procuro um curso lá eu escolho os com melhores avaliações e experimento as primeiras aulas pra ver se gosto da didática, e se os vídeos são de qualidade.
Já estudei através de alguns cursos no Coursera por serem de graça e feitos por professores de faculdades renomadas; basta procurar por algorithms lá que vc vai encontrar vários. Só uma observação, muitos dos cursos lá sobre esse tema podem ter uma abordagem mais acadêmica e algumas pessoas podem achar enfadonho e desistir do curso. Eu sugiro que vc use o material que não apenas te ensine, mas que te mantenha entretido tbm.
>Você fala por questão de número de vagas pedindo conhecimentos em PHP ou por causa de algum motivo técnico? E suponho que a linguagem esteja perdendo espaço, né?
Tem menos vagas que as outras linguagens que falei; é uma linguagem fácil de aprender e muito utilizada por quem tá começando, o que por si só não é um problema, mas por conta disso existe uma infinidade de materiais ruins que vão te ensinar coisas erradas e más práticas, e por vc estar começando ainda não deve ter conhecimento suficiente pra filtrar o que presta e o que não presta.
Como contraponto, da pra ganhar muito dinheiro com PHP sim, mas exige tempo e experiência da pessoa. Por ex, a empresa gringa Automattic contrata devs remotos pra trabalhar com a linguagem e paga uma nota alta. Porém pra quem tá começando, eu não recomendo PHP não - vc pode aprender mais tarde qnd tiver mais experiência e conhecimento nos fundamentos de engenharia de software.
> teoria de algoritmos & estrutura de dados
Quais livros (não tem problema se for em inglês) e cursos da Udemy você me indica para estudar esses tópicos.
Por enquanto estou lendo Grokking Algorithms
> sendo bem objetivo: evite PHP
Você fala por questão de número de vagas pedindo conhecimentos em PHP ou por causa de algum motivo técnico? E suponho que a linguagem esteja perdendo espaço, né?
> teoria de algoritmos & estrutura de dados
Quais livros (não tem problema se for em inglês) e cursos da Udemy você me indica para estudar esses tópicos.
Por enquanto estou lendo Grokking Algorithms
> sendo bem objetivo: evite PHP
Você fala por questão de número de vagas pedindo conhecimentos em PHP ou por causa de algum motivo técnico? E suponho que a linguagem esteja perdendo espaço, né?
Infelizmente não, se o aparelho não tá na lista nem tenta, senão vai brickar ):
O meu também não era suportado pelo Replicant, aí eu só fiz root e apaguei todo o bloatware, incluindo aplicativos do Google. Tenho vivido bem apenas com o F-Droid.
OP, dando uma lida rápida no seu código, me parece que vc quer fazer uma API que realiza operações CRUD (create, read, update e delete).
Eu recomendo a FastAPI. Django e Flask são bons, mas fazem muito mais do que você precisa e são, portanto, mais complicados.
Mas o que suspeito que será sua principal complicação é que você não está usando nenhum banco de dados. Sua aplicação como funciona hoje só manterá os dados durante sua execução, pois estão todos armazenados em variáveis.
Aqui tem um tutorial que pode te ajudar.
Eu estava ensinando java para um amigo e escrevemos um jogo de xadrez juntos usando processing. Inicialmente ele printava o tabuleiro no console a cada movimento, mas depois escrevemos a GUI também. O input esperado era em notação algébrica. Eu achei um bom exercício para praticar um pouco de algoritmos e principalmente programação orientada a objetos.
Está no limite do seu orçamento mas o Acer nitro 5 tem um dos melhores custo-beneficios que já vi, eu peguei o que tem i7 e recomendo:
Outro lugar onde você consegue rodar seu código de graça: https://vercel.com/dashboard
Você tendo uma conta no GitHub você já consegue trabalhar legal com Vercel, por exemplo.
Um framework Javascript tipo o Angular. A diferença sendo q svelte é um compilador, não um framework em si
E ele é muito mais "são" e se trabalhar com do q a maluquice do Angular
Dá uma olhada: https://svelte.dev/
Excelente resposta! 👏👏
Vou complementar com este link: https://reactnative.dev/showcase onde vc pode encontrar uma lista de diversas apps feitas com React Native. Muitas delas se encaixam nos exemplos que o OP citou. Alguns cases possuem um artigo explicando melhor. Acho que mata um pouco a curiosidade do OP.
Você pode aprender sozinho sim, pega um livro como o do Cormen (https://www.amazon.com.br/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844/ref=sr_1_1?dchild=1&keywords=cormen&qid=1635794876&s=books&sprefix=corme%2Cstripbooks%2C178&sr=1-1&ufe=app_do%3Aamzn1.fos.25548f35-0de7-44b3-b28e-0f56f3f96147) e estuda ele do começo ao fim que você fica craque em algoritmos
>Você fez usando alguma API disponibilizada pelo estado?
Sim, mas essa API não tem documentada (pelo menos eu não achei). O governo tem um site que vc pode olhar a localização em tempo real dos ônibus. O que eu fiz foi abrir o console e ver quais request o site fazia, para minha surpresa são endpoints abertos (ele ate retorna json). Ai o resto foi navegando no site pra ver os endpoints disponíveis e fazer a integração com meu backend.
​
>Funciona pra outros estados tb
Por enquanto só funciona pra minha cidade (Brasília).
Pra quem ficou interessado, o app está disponível pra Android e tem um site:
Google Play
Site
Eu comprei esse aqui: Apoio para Pés AP25 Preto MASTICMOL, Masticmol, Outros acessórios para notebooks https://www.amazon.com.br/dp/B075BJLBX9/ref=cm_sw_r_cp_api_glt_i_D9PCWVD0M9C32N9F85CK?_encoding=UTF8&psc=1
Que por sinal é um genérico da Amazon 😂 Já faz um ano que tenho ele! Ele não tem regulagem de altura, mas como os pés dele são redondos, você fica bem confortável em qualquer posição :) Ele é feito de um plástico bem reforçado, vai durar uns bons anos comigo ainda! Gostei bastante e indico ele!
Eu publiquei um app e um site, o app só esta na Google Play. O nome do app é Cadê Ônibus - Brasília
O objetivo e rastrear e criar listas de ônibus de Brasília.
Eu comecei o projeto com site para aprender angular. Depois de um tempo comecei um curso de flutter, ai pra fixar melhor o conhecimento eu implementei o Cadê Ônibus para o flutter. Estava decido em fazer o fluxo completo do app, por isso publiquei no Google Play.
Para mim é case de sucesso, já que fiz o projeto de hobby, hoje ele ta com 12.000 de instalações e 1.300 usuários ativos
Stack que utilizei: Flutter, Angular 7 e Nodejs (typescript + express + mongoose)
Obs: nao to ganhando nada com o projeto, ta com 0 ads.
Se for independente da stack, recomendo esse livro. Eu já conhecia boa parte da essência de testes automatizados e CI/CD porque trabalhava com isso numa empresa, mas ler o livro foi bom pra reafirmar alguns pontos que eu não entendi muito bem o motivo.