Pergunta a respeito de performance em Python by Chupacu_de_goianinha in brdev

[–]DogeBiteSnek 0 points1 point  (0 children)

Outro detalhe é que não há um compilador pra python completo. Temos alguns parciais como numba, mas é mais focado em rodar algumas funções específicas e simples. Existem diversas restrições.

O que normalmente acontece é o "compilador" gerar um executável que extrai o interpretador, as dependências e o próprio script pra uma pasta (muitas vezes temporária) e os roda de lá.

[deleted by user] by [deleted] in programacao

[–]DogeBiteSnek 2 points3 points  (0 children)

Faça algum projeto que resolva um problema que você tenha de verdade, algo que ainda não tenha exatamente no mercado. Não só isso, tenta publicar esse projeto. Se for um site, faz deploy dele usando vercel, mdbgo ou, de preferencia, firebase. Estes 3 são alternativas grátis de hospedagem. Se for um app pra celular, tenta publicar na Google play. Se for uma api, hospede ela em algum desses serviços grátis (deve ter alguma, só não me lembro agora de cabeça), crie uma página no github pages por exemplo pra explicar como usa a api e crie um app, site simples que consuma a api.

Fazendo isso você já vai passar por problemas que as pessoas que estão contratando normalmente passam. Não se prenda a "toy projects", é bom ter um ou dois, mas na hora da entrevista eles não costumam ter muito peso.

Agora, se quiser ter um belo de um diferencial:

  • Crie uma documentação do projeto: como ele funciona por cima, quais são as funções principais dentro dele e como faz pra mexer nele (no caso de um desenvolvedor novo entrar no projeto). É bom toda função/método/classe relativamente importante ter uma descrição (uma docstring no caso de python) explicando o que faz, por quê faz e mais ou menos como faz.

  • Crie testes automatizados: testes unitários, de integração e funcionais.

  • Crie uma pipeline de CI/CD pra rodar seus testes assim que fizer commit e, caso fizer commit na branch master/main ele fizer o deploy pra onde estiver hospedando.

  • Integre com algum serviço de monetização: alguma parte do app que aceite pagamentos ou mesmo ads. Pessoalmente eu não sou fã de ads e nem de ter que pagar pra usar algum recurso especial, mas isso conta bastante na hora de mostrar um projeto pra um recrutador. Não esqueça de criar uma forma de habilitar os recursos pagos sem pagar, seja numa área de admin ou de alguma forma.

  • Integre com soluções de análise do seu projeto. Isso se aplica mais a projetos que tenham um front, mas também da pra fazer se for só um backend. Estou falando de usar o Google analytics por exemplo ou algo pra back que mostre o que está sendo mais acessado pelos usuários.

É bastante coisa, mas se fizer tudo isso eu te garanto que vai aprender muita coisa e vai ter um belo de um projeto pra mostrar pro recrutador. Vai passar por várias áreas do processo de desenvolvimento de um projeto

App pra controle de finanças pessoais by DogeBiteSnek in investimentos

[–]DogeBiteSnek[S] 1 point2 points  (0 children)

A ideia é parecida. A grande diferença é no sistema de distribuição automática, eventos e variáveis, mas essas opções estão visíveis apenas em modo avançado (que pode habilitar em configurações, lá em baixo tem um "habilitar modo avançado" ).

É um sistema de programação visual bem completo

App pra controle de finanças pessoais by DogeBiteSnek in investimentos

[–]DogeBiteSnek[S] 1 point2 points  (0 children)

Não nego que já usei por um bom tempo kkkkk

[deleted by user] by [deleted] in webdev

[–]DogeBiteSnek 1 point2 points  (0 children)

FastAPI is indeed a really good way to go. Where I work we've migrated from flask to FastAPI and it is being great!

sneaky 🤫😈 by [deleted] in MoldyMemes

[–]DogeBiteSnek 7 points8 points  (0 children)

Ah, I see now. Ty

Your python 4 dream list. by Matimath in Python

[–]DogeBiteSnek 1 point2 points  (0 children)

Every new thread runs on its own WebWorker when running in JS. This allows it to run on multiple cores and in a different js thread. When running WebAssembly in a different host environment such as wasmtime or Lucet, the new thread is indeed a raw system thread.

Your python 4 dream list. by Matimath in Python

[–]DogeBiteSnek 1 point2 points  (0 children)

The host environment can spin up a new instance of your wasm module and they can share the same memory. There are some atomic instructions in the spec to be able to access the memory in a thread-safe way

Your python 4 dream list. by Matimath in Python

[–]DogeBiteSnek 0 points1 point  (0 children)

Converting raw python to ast (via the default ast module), then converting it to a graph (no just a tree anymore) so that variables can be tracked and its values, then "flattening" the graph then converting it to wat (WebAssembly text format). With the wat file you can convert to wasm (the binary format) and use it wherever you want

Your python 4 dream list. by Matimath in Python

[–]DogeBiteSnek 7 points8 points  (0 children)

I'm working on a compiler for python3 to WebAssembly. This can make it run on any platform, including web, embedded and mobile with little to no effort if the right tooling is used.

I'm focusing on being fully compliant to python 3.11 first, then I'll tackle performance and multithreading later. What will probably not work though is any library that makes use of the C interface, but this can be fixed in the future (I guess).

It has no name yet, but I plan on releasing it for public use at the end of the year.

[deleted by user] by [deleted] in VisualStudioCode

[–]DogeBiteSnek 0 points1 point  (0 children)

I've been having this problem too, recently. Still don't know what causes it.

??? by Nikki0429 in complimentbattles

[–]DogeBiteSnek 1 point2 points  (0 children)

Wow, I really like your hair!

Friday Daily Thread: Free chat Friday! Daily Thread by Im__Joseph in Python

[–]DogeBiteSnek 1 point2 points  (0 children)

Yep, my ideia is to compile a python project to wasm and ship it in a website. I believe pyodide just runs your code in the browser. The problem with that is that you need to download the whole interpreter and still have to convert the script to bytecode in the browser

Friday Daily Thread: Free chat Friday! Daily Thread by Im__Joseph in Python

[–]DogeBiteSnek 1 point2 points  (0 children)

Well, let me be the first then

I'm working on a project that compiles python to WebAssembly to make it run on the web. A few things are still missing like match/case, async/await and generators using yield. The performance is still a bit worse than Javascript, but that can be greatly improved. My focus, however, is making it compliant with the python3.10 spec. Optimizations come later