Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[AJUDA] O que preciso estudar e aprender para criar esse projeto pessoal?

Olá, Eu sempre fui do tipo que "aprende fazendo" então se eu fizer um curso só por fazer eu não consigo aplicar depois na prática. Por mais que tenha um projeto pré definido pra ser feito no curso.

Então, eu vou citar aqui o que eu gostaria de fazer, alguém poderia me dizer exatamente o que eu preciso aprender pra poder criar isso? Por exemplo, quero criar uma animação q faz XPTO em um site, ai vcs me falariam que eu preciso aprender html, javascript, tal framework pra fazer assim assim e assado. Ou algo do genero kkkk

  • Projeto -

Eu quero criar algum programa/bot/script/aplicação nao sei como posso chamar isso. Onde eu conecto com a API do Facebook, ele vai conectar as páginas que eu gerencio, e fazer 25(podendo ser alterado) postagens a cada 1hora. Contendo imagens e uma descrição

Na hora que eu iniciar a aplicacão, ele pergunta qual a página ou id da página q eu quero publicar, quantas publicaçoes e de quanto em quanto tempo, qual o texto que será usado e quantas vezes no total.

Por exemplo (em um linguagem humano, nao em código):ID: 5487, 15 publicaçoes a cada 1hora total de 600 publicaçoes. Descrição inical: Esse é um texto que inicia do 0001 até o 500 Imagem inicial: pasta XPTO

Ou seja,

a aplicação entrou na página, e vai criar uma publicaçao com a imagem e o texto inicial, e na publicação seguinte, irá fazer a mesma coisa PORÉM irá alterar a numeração, começou no 0001, vai pro 0002 e assim por diante.

Exemplo da sequencia de post: " texto que inicia do 0001 até o 500" texto que inicia do 0002 até o 500 texto que inicia do 0020 até o 500 texto que inicia do 0025 até o 500

Chegou na quantidade definida lá em cima, ele pausa pela hora definida e volta, no caso lá em cima, irá fazer 15 publicaçoes seguidas e depois pausar por 1hora. Alterando a numeração da descriçao, e irá fazer isso em um loop definido, no caso ali em cima 500 vezes.

Acredito que o loop máximo pode ser definido pela quantidade de imagens que irá ter na pasta que será usada. Ou eu posso setar manualmente, não sei oq é melhor.

Em relação as imagens: Ela estará em uma pasta X e pensei em 2 possibilidades(aceito outras), após ela finalizar o loop máximo definido, apaga todas as imagens da pasta, ou apaga uma por uma, publicou no facebook apaga da pasta, publicou apaga. Assim sempre que a aplicação terminar, eu posso colocar outras fotos com outra quantidade, sendo assim flexivel.

Assim eu sempre posso escolher a página q quero utilizar, definir o tempo e quantas fotos por hora e quantas publicaçoes no total

Alguém poderia me passar um guia de como eu posso criar isso? Eu não consigo estudar a esmo, entao poderiam me dar um passo a passo? Tipo, desde o que eu preciso aprender pra fazer tudo isso até uma sequencia em linguagem humana do que fazer

por exemplo: Quero atravessar a rua, como faço?

-Aprender a andar, Olhar para o lado esquerdo, olha para o lado direito, verificar se o farol para pedestre está aberto, verificar se o farol de carros está fechado, atravessar

Se ficou alguma duvida por favor me digam, eu quero muito entrar na área, e o que sempre me disseram é que se eu fizesse um projeto meu sozinho eu aprenderia na prática e nao ficaria só no conceito, sendo assim mais fácil de provar que experiencia etc. E esse seria meu primeiro projeto

Pode me sugerir o que vocês me acharem melhor, tanto para os programas, como da ideia em sí!!

PS: eu dei uma pesquisada no google, e achei esses 3 projetos no github, como não entendo muito se tem algo a ver, mas parece ser parecido com a ideia que eu gostaria de fazer, segue os links abaixo:

Ou até mesmo usar algum desses projetos pra não precisar reescrever a roda, e agilizar o projeto https://github.com/JoeyTawadrous/Facebook-Auto-Pilot

https://github.com/SuryaXanden/Facebook-Post-Bot

https://github.com/s1cp/fbpages-telegram-bot

[]s

4 respostas

Olá Nikolai, Tudo bem?

Certo, para o que você quer fazer existem vários caminhos, mas todos eles vão convergir em algumas necessidades, sendo elas:

  • Ler input do usuário
  • Interagir com a API do Facebook.
  • Ler documentos de um diretório do seu computador.
  • Fazer requisições HTTP para encaminhar os documentos ao Facebook.

Neste caso você pode fazer isso com a maior parte das linguagens ensinadas neste site, não sei qual seria o seu objetivo final (visto que o projeto é para aprender alguma linguagem), mas você poderia fazer uma das formações da Alura, como a formação .NET ou PHP.

Nestas aulas você irá aprender o básico da programação, como o ciclo de vida de aplicações, variáveis, controles de decisão, algumas bibliotecas nativas de cada linguagem para lhe auxiliar com a passagem do tempo por exemplo.

Se quer algo com uma porta de entrada mais simples o PHP é uma delas, ele é bem simples, já tem uma série de recursos nativos para interagir com a web e por ser fracamente tipado aceita algumas coisas que outras linguagens não, além de permitir execução da linha de comando.

O .NET (C#) assim como o JAVA já são linguagens mais "pesadas", no sentido de serem fortemente tipadas e exigirem que você aprenda e entenda conceitos como Threading e Streams para conseguir alcançar seu objetivo.

Na minha opinião pessoal eu recomendaria o C# na formação .net, o professor da Alura é muito bom, C# é uma lingua com demanda atual no mercado então você pode usar o que aprendeu para iniciar no mercado de trabalho, além de ser uma linguagem madura e moderna, sendo atualizada constantemente (PHP e JAVA também tem atualizações constantes neste ponto).

Hoje o .net pode ser usado fora de ambientes Windows caso deseje, além de possuir uma IDE muito boa gratis para determinados tipos de uso.

Opa Rafael,

Valeu pela resposta.

Escolhendo o .Net, qual caminho eu precisaria seguir? Fazer a formação toda?

Só com o C# eu já faço tudo isso ou preciso de algum framework etc?

Eu consigo fazer tudo isso localmente sem precisar hospedar?

E o Python, se encaixa ai? Vejo que ela cresce cada vez mais, tanto no mercado como em universidade e etc.

solução!

Oi Nikolai, Tudo bem? Em todos os casos independente da linguagem é possível fazer sem um framework específico, boa parte da interação com o facebook pode ser obtidas a partir de pacotes do próprio facebook como:

As formações vão lhe dar a base para você compreender a linguagem e entender o sistema de pacotes, o que vai lhe permitir interagir com estes pacotes.

Se você só quer realizar o projeto mencionado você provavelmente deve conseguir mais rápido com PHP ou Python, você pode claro, tentar este projeto em todas as linguagens mencionadas.

Mas eu de fato recomendo que você faça não só as formações, mas se seu objetivo for trabalhar com web que também faça os cursos sobre HTTP e sobre como funciona a internet, eles vão desmistificar parte da web e como ela funciona, ao aprender algumas linguagens você vai notar que a maior parte delas tem na maior parte do tempo as mesmas fundações, mudando uma coisa ou outra, como o ambiente e a forma como o ciclo de vida da aplicação se dá.

A formação de .NET (C#) acredito que seria necessário cursar até o curso 9 para ter uma base legal, como ler arquivos, como usar pacotes, como organizar seu código etc.

O de PHP você vai querer ir pelo menos até a parte 3 onde há o curso "PHP Composer: Dependências, Autoload e Publicação", além disso você talvez tenha que estudar como ler os arquivos para fazer o upload (depende de como a biblioteca do facebook para o PHP está organizada, talvez isso já esteja abstraído, ai entra a calhar o conhecimento da Orientação a Objeto).

Na formação Python os dois primeiros cursos já dão uma base para o que você quer fazer.

Na formação NodeJS na parte 2 você já aprende a usar o gerenciador de pacotes NPM, e a partir dai você já deve ser capaz de interagir com o facebook.

É importante notar que estudando até este ponto, inicialmente as aplicações seriam bem rudimentares, faltando persistência em banco e em alguns casos até interface gráfica, mas você já deverá ser capaz de criar aplicações de linha de comando.

Inicialmente você não precisa hospeda-las para usar, podendo rodar de seu próprio computador, e conforme aprende mais pode melhorar elas para poderem ficar em outro computador, interagir com bancos de dados e apresentarem interfaces.

Uma separação das camadas da sua aplicação deve auxiliar com isso, todas as linguagens permitem que você separe parte da sua lógica, desta forma é possível desacoplar a parte que tem as regras de negócio da camada de exibição ou mesmo de um ambiente específico, podendo desta forma reutilizar elas depois.

O C# por exemplo permite a criação de bibliotecas de classes, no PHP você pode organizar seu código de forma que ele fique desacoplado da aplicação (podendo inclusive publicar seu próprio pacote para instalar com o composer em aplicações futuras), assim como no Node e no Python.

Há ainda o JAVA e o Ruby, eles também tem os recursos que mencionei, como repositórios de pacotes e recursos para gerar código menos acoplado.

Obrigado pelas dicas. Vou tentar ver os 3, C# PHP e Python, o problema é que eu não sei por onde começar. Quando é solto assim eu faço os cursos e fico perdido depois kkkk Tipo finalizo os cursos e depois fico (hm ok e agora o que eu faço, por onde eu começo) kkk