[TÓPICO DEDICADO] O papo é Programação/Desenvolvimento e áreas de TI afins

Quem tiver interesse nos aspectos mais técnicos, saiu essa semana uma entrevista com o desenvolvedor do Ryujinx.

O mais interessante dessa entrevista é ver o quanto o C# é poderoso e permite criar apps com menos problemas, se comparado ao Yuzu que usa C++ e por isso exige mais do desenvolvedor, estando sujeito a falhas.

Achei legal essa entrevista, até pq semana passada decidi olhar melhor os emuladores de switch e testar no meu pc, mas não foi tão técnico assim, nem achei essa comparação com o cpp do Yuzu que vc citou.
Pessoalmente falando, achei o código fonte do riujinx bem mais complicado de entender e navegar que o yuzu, mas pode ser só viés meu por estar (bem) mais acostumado com cpp ao invés de c#.
 
Achei legal essa entrevista, até pq semana passada decidi olhar melhor os emuladores de switch e testar no meu pc, mas não foi tão técnico assim, nem achei essa comparação com o cpp do Yuzu que vc citou.
Pessoalmente falando, achei o código fonte do riujinx bem mais complicado de entender e navegar que o yuzu, mas pode ser só viés meu por estar (bem) mais acostumado com cpp ao invés de c#.

Não é bem uma comparação, mas foi o meu entendimento. É que ele disse que foi no Discord do Yuzu e viu que eles estavam bem atrás do que ele já tinha feito no Ryujinx. E também houve o caso onde o pessoal do Yuzu usou código do Ryujinx sem creditar. Fora também ele falando como o C# facilitou pra ele no desenvolvimento, a dificuldade que ele teve foi em entender o hardware da Nvidia.

Fora isso, se vc olha o Ryujinx, ele tem mais compatibilidade e mais recursos, enquanto o Yuzu é mais rápido, mas dá mais erros e até hoje não tem upscaling de imagem, coisa que o Ryujinx já tem há bastante tempo. Ele está até mais avançado na migração pro Vulkan, para dar um up na performance.
 
Última edição:
Não é bem uma comparação, mas foi o meu entendimento. É que ele disse que foi no Discord do Yuzu e viu que ele estavam bem atrás do que ele já tinha feito no Ryujinx. E também houve o caso onde o pessoal do Yuzu usou código do Ryujinx sem creditar. Fora também ele falando como o C# facilitou pra ele no desenvolvimento, a dificuldade que ele teve foi em entender o hardware da Nvidia.
Ah, mas isso é bem mais algo dele como pessoa, e não tem nada a ver necessariamente com linguagem. Mesmo se ele soubesse/preferisse java de antemão (aí o ryujinx provavelmente seria java), e o yuzu fosse escrito em python, provavelmente a história seria praticamente igual (só mudando o rolê do JIT).

Fora isso, se vc olha o Ryujinx, ele tem mais compatibilidade e mais recursos, enquanto o Yuzu é mais rápido, mas dá mais erros e até hoje não tem upscaling de imagem, coisa que o Ryujinx já tem há bastante tempo. Ele está até mais avançado na migração pro Vulkan, para dar um up na performance.
O yuzu já tem vulkan desde 2019, parece. Só sei que quando comecei a usar, já tinha kkk
Essa questão de features é mais dependente da comunidade e foco que eles dão, não tem muito a ver com linguagem. E até em questão de performance, como ambos são emuladores HLE, o desempenho no final das contas é quase igual pq vc relega toda a parte "pesada" de código pras APIs mais baixo nível (por ex, o vulkan), a diferença de desempenho se dá mais por conta de como cada projeto implementa certas coisas.

Indiquem uns podcasts de TI ae
 
vscode.dev (!)

20 de outubro de 2021 por Chris Dias, @chrisdias

Em 2019, quando o domínio .dev foi aberto, nós o pegamos vscode.dev e o estacionamos rapidamente, apontando para nosso site code.visualstudio.com (ou, se você for da área de Boston como eu, nós o "empacotamos"). Como muitas pessoas que compram um domínio .dev, não tínhamos ideia do que faríamos com ele. E certamente não previmos que isso acabaria sendo o cumprimento de uma missão em construção ao longo de uma década.

Trazendo o VS Code para o navegador

Avance até hoje. Agora, ao acessar https://vscode.dev, você verá uma versão leve do VS Code em execução integral no navegador. Abra uma pasta em sua máquina local e comece a codificar.

Não é necessário instalar.

vscode.dev em execução no navegador

Com a disponibilidade do vscode.dev, começamos finalmente a realizar nossa visão original de construir uma ferramenta de desenvolvimento que pode ser executada totalmente sem servidor no navegador. Para uma lição de história completa, confira a palestra de Erich Gamma sobre o VS Code Day "VS Code: An Overnight Success ... 10 Years in the Making".

Então, o que você pode fazer no VS Code para a Web? Bastante, na verdade ...

Desenvolvimento local com ferramentas em nuvem

Código-fonte do aplicativo The Cat disse Não em vscode.dev

Navegadores modernos que suportam a API de acesso ao sistema de arquivos (Edge e Chrome hoje) permitem que as páginas da web acessem o sistema de arquivos local (com sua permissão). Este gateway simples para a máquina local abre rapidamente alguns cenários interessantes para usar o VS Code para a Web como uma ferramenta de desenvolvimento local de instalação zero, como:

  • Visualização e edição de arquivos locais. Faça anotações rapidamente (e visualize!) no Markdown. Mesmo se você estiver em uma máquina restrita onde não pode instalar o VS Code completo, você ainda poderá usar o vscode.dev para visualizar e editar arquivos locais.
  • Crie aplicativos HTML, JavaScript e CSS do lado do cliente em conjunto com as ferramentas do navegador para depuração.
  • Edite seu código em máquinas de baixa potência, como Chromebooks, onde você não pode (facilmente) instalar o VS Code.
  • Desenvolva no seu iPad. Você pode fazer upload / download de arquivos (e até mesmo armazená-los na nuvem usando o aplicativo Arquivos), bem como abrir repositórios remotamente com a extensão integrada GitHub Repositories.
E, se o seu navegador não suportar APIs de sistema de arquivos local, você ainda poderá abrir arquivos individuais fazendo upload e download deles através do navegador.

O acesso ao sistema de arquivos local é uma caixa de diálogo de mensagem não suportada


Uma experiência de peso leve

Como o VS Code for the Web é executado completamente no navegador, algumas experiências serão naturalmente mais restritas, quando comparadas ao que você pode fazer no aplicativo de desktop. Por exemplo, o terminal e o depurador não estão disponíveis, o que faz sentido, pois você não pode compilar, executar e depurar um aplicativo Rust ou Go na caixa de proteção do navegador (embora tecnologias emergentes como Pyodide e contêineres da web possam algum dia mudar isso).

Um pouco mais matizadas são as experiências de edição de código, navegação e navegação, que, no desktop, geralmente são alimentadas por serviços de linguagem e compiladores que esperam um sistema de arquivos, tempo de execução e ambiente de computação. No navegador, essas experiências são alimentadas por serviços de linguagem executados totalmente no navegador (sem sistema de arquivos, sem tempos de execução) que fornecem tokenização de código-fonte e colorização de sintaxe, completações e muitas operações de arquivo único.

Como resultado, quando no navegador, as experiências geralmente se enquadram nas seguintes categorias:

Bom: para a maioria das linguagens de programação, vscode.dev oferece colorização de sintaxe de código, completações baseadas em texto e colorização de par de colchetes. Usando uma árvore de sintaxe Tree-sitter , podemos fornecer experiências adicionais, como Outline / Go to Symbol e Symbol Search para linguagens populares como C/C++, C#, Java, PHP, Rust e Go.

Melhor: as experiências TypeScript, JavaScript e Python são todas alimentadas por serviços de linguagem que são executados nativamente no navegador. Com essas linguagens de programação, você obterá a experiência " Boa ", além de completações completas de arquivo único, realce semântico, erros de sintaxe e muito mais.

Melhor: para muitas linguagens "webby", como JSON, HTML, CSS e LESS, a experiência de codificação em vscode.dev é quase idêntica à da área de trabalho (incluindo visualização Markdown!).

Extensões

A maioria das extensões de personalização da UI, como temas, mapas principais e snippets, funcionam em vscode.dev e você pode até habilitar roaming entre o navegador, a área de trabalho e os Codespaces do GitHub por meio da sincronização de configurações.

As extensões que executam o código Node.js que usam módulos específicos do sistema operacional ou abrem para executáveis locais ainda aparecem nos resultados da pesquisa, mas são claramente marcadas como indisponíveis.

Notificação de que a extensão não está disponível no Visual Studio Code para a Web


Dito isso, há um número crescente de extensões que foram atualizadas para funcionar no navegador, com mais extensões chegando todos os dias.

Nota: Se você é um autor de extensão e deseja ter sua extensão disponível no navegador (nós fazemos!), verifique nosso guia de criação de extensões da web.
Por exemplo, a extensão Luna Paint - Image Editor permite editar imagens raster diretamente no VS Code. A extensão traz ferramentas de design ricas (por exemplo, ferramentas de camada e mistura) para o VS Code e, claro, você pode salvar imagens em seu disco local.

Luna Paint - extensão do Editor de imagens em execução em vscode.dev

A extensão GitHub Issue Notebooks traz a experiência do Notebook para GitHub Issues. Com isso, você pode intercalar consultas, resultados e até Markdown descrevendo o propósito das consultas, juntos em um único editor.

Extensão GitHub Issue Notebooks em execução em vscode.dev

GitHub

Muitas extensões para VS Code funcionam com código-fonte armazenado no GitHub. Por exemplo, a extensão CodeTour permite criar percursos guiados de uma base de código e a extensão WikiLens transforma o VS Code e seu repositório em uma ferramenta poderosa para fazer anotações (com link bidirecional). Para facilitar o acesso ao seu código no GitHub, o VS Code for the Web vem com os repositórios GitHub, Codespaces e extensões de solicitação de pull integrados. Você pode fazer edições rápidas, revisar PRs e continuar para um clone local ou ainda melhor, para um Codespace GitHub, se você deseja experiências de linguagem mais poderosas ou precisa construir, executar e testar as alterações antes de mesclar os commits.

Continue na lista suspensa mostrando Clonar Repositório Localmente ou Criar Novo Codespace


Uau, soa muito parecido com github.dev, não é? Eles são diferentes? O mesmo? Por que dois?? !!

Boa (s) pergunta (s)! github.dev é uma instância personalizada do VS Code para a Web que está profundamente integrada ao GitHub. O login é automático, o formato da URL segue o /organization/repomodelo do github.com para que você possa simplesmente mudar o .com para .dev para editar um repo e é personalizado para o GitHub com os temas claro e escuro.

Além dos repositórios no GitHub, o VS Code for the Web oferece suporte a Azure Repos (parte do Azure DevOps). Para trabalhar com ambos, o VS Code for the Web oferece suporte a duas rotas, vscode.dev/github e vscode.dev/azurerepos. Você não precisa se lembrar disso, simplesmente prefixe qualquer URL que você tenha com "vscode.dev".

Por exemplo, mude https://github.com/microsoft/vscodepara 'https://vscode.dev/github.com/Microsoft/vscode'.

Para Azure Repos, faça o mesmo. Mude https://dev.azure.com/…para 'https:// vscode.dev/dev.azure.com/…'.

Hoje, o suporte para Azure Repos está no modo de visualização para leitura de repositórios, mas estamos trabalhando muito para trazer recursos completos de leitura/gravação assim que possível.

Se você não estiver no GitHub ou no Azure DevOps, o suporte para serviços adicionais de hospedagem de repositório pode ser fornecido por meio de extensões, assim como na área de trabalho. Essas extensões, conforme observado acima, precisarão ser totalmente compatíveis com a execução no navegador.

Por falar em URLs…

Como no desktop, você pode personalizar o VS Code para a Web por meio de um rico ecossistema de extensões que oferecem suporte a quase todos os back-end, linguagens e serviços. Ao contrário do desktop, é fácil para nós fornecer experiências personalizadas com extensões pré-instaladas por meio de URLs vscode.dev exclusivas (como vscode.dev/github e vscode.dev/azurerepos conforme mencionado acima).

Por exemplo, tente navegar para https://vscode.dev/theme/sdras.night-owl.

Tema de cores Night Owl em vscode.dev

Aqui você pode experimentar o popular tema de cor Night Owl de @sarah_edo "ao vivo", sem ter que passar pelo processo de download e instalação, apenas para ver se você gosta. Não é necessário instalar! Se você for um autor de temas, poderá até criar um emblema em seu README.md para permitir que os usuários testem seu tema diretamente do Marketplace (saiba mais no guia do usuário do VS Code para a Web).

Sinta-se à vontade para usar este URL para compartilhar seus temas favoritos com amigos. Pessoalmente, eu sou um grande fã do tema de @wesbos, Cobalt2, veja https://vscode.dev/theme/wesbos.theme-cobalt2. Observe que a URL do tema só funciona com temas totalmente declarativos (sem código).

Como você pode ver, as URLs vscode.dev são uma forma poderosa de oferecer experiências novas e leves. Outro exemplo é que as sessões de convidados do Live Share também estarão disponíveis no navegador por meio da https://vscode.dev/liveshareURL. O sessionId será passado para a extensão para tornar a adesão uma experiência perfeita.

Caixa de diálogo do Live Share com opção de entrar na sessão a partir do navegador


As possibilidades com as URLS vscode.dev são infinitas e temos muitas ideias que estamos ansiosos para compartilhar com você nos próximos meses.

O que vem em seguida?

Trazer o código VS para o navegador é a concretização da visão original do produto. É também o início de um completamente novo. Um editor efêmero que está disponível para qualquer pessoa com um navegador e uma conexão com a Internet é a base para um futuro onde podemos realmente editar qualquer coisa em qualquer lugar.

Fique ligado para mais ...

Happy Coding,

 
vscode.dev (!)

20 de outubro de 2021 por Chris Dias, @chrisdias

Em 2019, quando o domínio .dev foi aberto, nós o pegamos vscode.dev e o estacionamos rapidamente, apontando para nosso site code.visualstudio.com (ou, se você for da área de Boston como eu, nós o "empacotamos"). Como muitas pessoas que compram um domínio .dev, não tínhamos ideia do que faríamos com ele. E certamente não previmos que isso acabaria sendo o cumprimento de uma missão em construção ao longo de uma década.

Trazendo o VS Code para o navegador

Avance até hoje. Agora, ao acessar https://vscode.dev, você verá uma versão leve do VS Code em execução integral no navegador. Abra uma pasta em sua máquina local e comece a codificar.

Não é necessário instalar.

vscode.dev em execução no navegador

Com a disponibilidade do vscode.dev, começamos finalmente a realizar nossa visão original de construir uma ferramenta de desenvolvimento que pode ser executada totalmente sem servidor no navegador. Para uma lição de história completa, confira a palestra de Erich Gamma sobre o VS Code Day "VS Code: An Overnight Success ... 10 Years in the Making".

Então, o que você pode fazer no VS Code para a Web? Bastante, na verdade ...

Desenvolvimento local com ferramentas em nuvem

Código-fonte do aplicativo The Cat disse Não em vscode.dev

Navegadores modernos que suportam a API de acesso ao sistema de arquivos (Edge e Chrome hoje) permitem que as páginas da web acessem o sistema de arquivos local (com sua permissão). Este gateway simples para a máquina local abre rapidamente alguns cenários interessantes para usar o VS Code para a Web como uma ferramenta de desenvolvimento local de instalação zero, como:

  • Visualização e edição de arquivos locais. Faça anotações rapidamente (e visualize!) no Markdown. Mesmo se você estiver em uma máquina restrita onde não pode instalar o VS Code completo, você ainda poderá usar o vscode.dev para visualizar e editar arquivos locais.
  • Crie aplicativos HTML, JavaScript e CSS do lado do cliente em conjunto com as ferramentas do navegador para depuração.
  • Edite seu código em máquinas de baixa potência, como Chromebooks, onde você não pode (facilmente) instalar o VS Code.
  • Desenvolva no seu iPad. Você pode fazer upload / download de arquivos (e até mesmo armazená-los na nuvem usando o aplicativo Arquivos), bem como abrir repositórios remotamente com a extensão integrada GitHub Repositories.
E, se o seu navegador não suportar APIs de sistema de arquivos local, você ainda poderá abrir arquivos individuais fazendo upload e download deles através do navegador.

O acesso ao sistema de arquivos local é uma caixa de diálogo de mensagem não suportada


Uma experiência de peso leve

Como o VS Code for the Web é executado completamente no navegador, algumas experiências serão naturalmente mais restritas, quando comparadas ao que você pode fazer no aplicativo de desktop. Por exemplo, o terminal e o depurador não estão disponíveis, o que faz sentido, pois você não pode compilar, executar e depurar um aplicativo Rust ou Go na caixa de proteção do navegador (embora tecnologias emergentes como Pyodide e contêineres da web possam algum dia mudar isso).

Um pouco mais matizadas são as experiências de edição de código, navegação e navegação, que, no desktop, geralmente são alimentadas por serviços de linguagem e compiladores que esperam um sistema de arquivos, tempo de execução e ambiente de computação. No navegador, essas experiências são alimentadas por serviços de linguagem executados totalmente no navegador (sem sistema de arquivos, sem tempos de execução) que fornecem tokenização de código-fonte e colorização de sintaxe, completações e muitas operações de arquivo único.

Como resultado, quando no navegador, as experiências geralmente se enquadram nas seguintes categorias:

Bom: para a maioria das linguagens de programação, vscode.dev oferece colorização de sintaxe de código, completações baseadas em texto e colorização de par de colchetes. Usando uma árvore de sintaxe Tree-sitter , podemos fornecer experiências adicionais, como Outline / Go to Symbol e Symbol Search para linguagens populares como C/C++, C#, Java, PHP, Rust e Go.

Melhor: as experiências TypeScript, JavaScript e Python são todas alimentadas por serviços de linguagem que são executados nativamente no navegador. Com essas linguagens de programação, você obterá a experiência " Boa ", além de completações completas de arquivo único, realce semântico, erros de sintaxe e muito mais.

Melhor: para muitas linguagens "webby", como JSON, HTML, CSS e LESS, a experiência de codificação em vscode.dev é quase idêntica à da área de trabalho (incluindo visualização Markdown!).

Extensões

A maioria das extensões de personalização da UI, como temas, mapas principais e snippets, funcionam em vscode.dev e você pode até habilitar roaming entre o navegador, a área de trabalho e os Codespaces do GitHub por meio da sincronização de configurações.

As extensões que executam o código Node.js que usam módulos específicos do sistema operacional ou abrem para executáveis locais ainda aparecem nos resultados da pesquisa, mas são claramente marcadas como indisponíveis.

Notificação de que a extensão não está disponível no Visual Studio Code para a Web


Dito isso, há um número crescente de extensões que foram atualizadas para funcionar no navegador, com mais extensões chegando todos os dias.


Por exemplo, a extensão Luna Paint - Image Editor permite editar imagens raster diretamente no VS Code. A extensão traz ferramentas de design ricas (por exemplo, ferramentas de camada e mistura) para o VS Code e, claro, você pode salvar imagens em seu disco local.

Luna Paint - extensão do Editor de imagens em execução em vscode.dev

A extensão GitHub Issue Notebooks traz a experiência do Notebook para GitHub Issues. Com isso, você pode intercalar consultas, resultados e até Markdown descrevendo o propósito das consultas, juntos em um único editor.

Extensão GitHub Issue Notebooks em execução em vscode.dev

GitHub

Muitas extensões para VS Code funcionam com código-fonte armazenado no GitHub. Por exemplo, a extensão CodeTour permite criar percursos guiados de uma base de código e a extensão WikiLens transforma o VS Code e seu repositório em uma ferramenta poderosa para fazer anotações (com link bidirecional). Para facilitar o acesso ao seu código no GitHub, o VS Code for the Web vem com os repositórios GitHub, Codespaces e extensões de solicitação de pull integrados. Você pode fazer edições rápidas, revisar PRs e continuar para um clone local ou ainda melhor, para um Codespace GitHub, se você deseja experiências de linguagem mais poderosas ou precisa construir, executar e testar as alterações antes de mesclar os commits.

Continue na lista suspensa mostrando Clonar Repositório Localmente ou Criar Novo Codespace


Uau, soa muito parecido com github.dev, não é? Eles são diferentes? O mesmo? Por que dois?? !!

Boa (s) pergunta (s)! github.dev é uma instância personalizada do VS Code para a Web que está profundamente integrada ao GitHub. O login é automático, o formato da URL segue o /organization/repomodelo do github.com para que você possa simplesmente mudar o .com para .dev para editar um repo e é personalizado para o GitHub com os temas claro e escuro.

Além dos repositórios no GitHub, o VS Code for the Web oferece suporte a Azure Repos (parte do Azure DevOps). Para trabalhar com ambos, o VS Code for the Web oferece suporte a duas rotas, vscode.dev/github e vscode.dev/azurerepos. Você não precisa se lembrar disso, simplesmente prefixe qualquer URL que você tenha com "vscode.dev".

Por exemplo, mude https://github.com/microsoft/vscodepara 'https://vscode.dev/github.com/Microsoft/vscode'.

Para Azure Repos, faça o mesmo. Mude https://dev.azure.com/…para 'https:// vscode.dev/dev.azure.com/…'.

Hoje, o suporte para Azure Repos está no modo de visualização para leitura de repositórios, mas estamos trabalhando muito para trazer recursos completos de leitura/gravação assim que possível.

Se você não estiver no GitHub ou no Azure DevOps, o suporte para serviços adicionais de hospedagem de repositório pode ser fornecido por meio de extensões, assim como na área de trabalho. Essas extensões, conforme observado acima, precisarão ser totalmente compatíveis com a execução no navegador.

Por falar em URLs…

Como no desktop, você pode personalizar o VS Code para a Web por meio de um rico ecossistema de extensões que oferecem suporte a quase todos os back-end, linguagens e serviços. Ao contrário do desktop, é fácil para nós fornecer experiências personalizadas com extensões pré-instaladas por meio de URLs vscode.dev exclusivas (como vscode.dev/github e vscode.dev/azurerepos conforme mencionado acima).

Por exemplo, tente navegar para https://vscode.dev/theme/sdras.night-owl.

Tema de cores Night Owl em vscode.dev

Aqui você pode experimentar o popular tema de cor Night Owl de @sarah_edo "ao vivo", sem ter que passar pelo processo de download e instalação, apenas para ver se você gosta. Não é necessário instalar! Se você for um autor de temas, poderá até criar um emblema em seu README.md para permitir que os usuários testem seu tema diretamente do Marketplace (saiba mais no guia do usuário do VS Code para a Web).

Sinta-se à vontade para usar este URL para compartilhar seus temas favoritos com amigos. Pessoalmente, eu sou um grande fã do tema de @wesbos, Cobalt2, veja https://vscode.dev/theme/wesbos.theme-cobalt2. Observe que a URL do tema só funciona com temas totalmente declarativos (sem código).

Como você pode ver, as URLs vscode.dev são uma forma poderosa de oferecer experiências novas e leves. Outro exemplo é que as sessões de convidados do Live Share também estarão disponíveis no navegador por meio da https://vscode.dev/liveshareURL. O sessionId será passado para a extensão para tornar a adesão uma experiência perfeita.

Caixa de diálogo do Live Share com opção de entrar na sessão a partir do navegador


As possibilidades com as URLS vscode.dev são infinitas e temos muitas ideias que estamos ansiosos para compartilhar com você nos próximos meses.

O que vem em seguida?

Trazer o código VS para o navegador é a concretização da visão original do produto. É também o início de um completamente novo. Um editor efêmero que está disponível para qualquer pessoa com um navegador e uma conexão com a Internet é a base para um futuro onde podemos realmente editar qualquer coisa em qualquer lugar.

Fique ligado para mais ...

Happy Coding,



Parece que a tendência é tudo ir pra web mesmo.

Hoje em dia meu desktop só serve pra estudos, pois o que faço de desenvolvimento já esta 100% online.

Mas nos ultimos meses estou usando o Jupyter notebook e o desktop serve só pra acessar a web mesmo.
 
Parece que a tendência é tudo ir pra web mesmo.

Hoje em dia meu desktop só serve pra estudos, pois o que faço de desenvolvimento já esta 100% online.

Mas nos ultimos meses estou usando o Jupyter notebook e o desktop serve só pra acessar a web mesmo.
dev desktop morreu?
 
dev desktop morreu?

Não sei se morreu, mas hoje em dia tudo que preciso esta na web.

Uso a nuvem da oracle, tenho servidor linux, banco de dados, e ferramenta de consulta e desenvolvimento tudo via web. Até ssh eu faço via browser caso precise.
 
dev desktop morreu?

sim e não, tem muito projeto rodando em desktop e que ainda recebe atualizações. um exemplo são esses sistemas de ERP mais comuns.
Mas é óbvio que a diferença entre vagas pra web x desktop é tipo 10 pra 1
 

--- Post duplo é unido automaticamente: ---

Python pode perder seu GIL e ganhar muita velocidade
Um novo projeto para alterar o tempo de execução do CPython para aumentar o desempenho multithread atraiu a atenção da equipe de desenvolvimento do Python.


Uma das fraquezas de longa data do Python, sua incapacidade de escalar bem em ambientes multithread, é o alvo de uma nova proposta entre os principais desenvolvedores da popular linguagem de programação.

Desenvolvedor Sam Gross tem proposto uma grande mudança para o Global Interpreter Lock, ou GIL-um componente chave em CPython, a implementação de referência do Python.

Se aceita, a proposta de Gross reescreveria a maneira como o Python serializa o acesso a objetos em seu tempo de execução a partir de vários threads e aumentaria significativamente o desempenho multithread.

O GIL tem sido visto como um obstáculo para um melhor desempenho multithread no CPython (e, portanto, Python em geral). Muitos esforços foram feitos para removê-lo ao longo dos anos, mas ao custo de prejudicar o desempenho single thread - em outras palavras, tornando a grande maioria dos aplicativos Python existentes mais lentos.

As metáforas atuais do Python para lidar com threading e multiprocessamento não tornam impossível atingir um alto paralelismo. Mas eles tornam isso difícil o suficiente para que os desenvolvedores muitas vezes recorram a módulos de terceiros, como o Dask, para fazer o trabalho.

A nova proposta faz alterações na maneira como a contagem de referência funciona para objetos Python, de modo que as referências do thread que possui um objeto sejam tratadas de forma diferente daquelas provenientes de outras threads.

O efeito geral dessa mudança, e uma série de outras com ela, na verdade aumenta ligeiramente o desempenho single thread - em cerca de 10%, de acordo com alguns benchmarks realizados em uma versão bifurcada do interpretador versus o interpretador CPython 3.9 da linha principal. O desempenho multithread, em alguns benchmarks, escala quase linearmente com cada novo thread no melhor caso - por exemplo, ao usar 20 threads, um aumento de velocidade de 18,1x em um benchmark e um aumento de velocidade de 19,8x em outro.

Essas mudanças são importantes o suficiente para que um bom número de bibliotecas Python existentes que funcionam diretamente com os componentes internos do Python (por exemplo, Cython) precisem ser reescritas. Mas a cadência do cronograma de lançamento do Python significa apenas que essas mudanças significativas precisariam ser feitas em um ponto de lançamento principal, em vez de em um menor.

 
Última edição:
Atualizações em nossos ícones e cores de status de issues # 289

Nossas cores dos ícones de issues atualmente são uma fonte de feedback constante do usuário, citando confusão com erros, confusão entre por que Open é verde e Closed é vermelho, questões de acessibilidade e o medo geral de ver vermelho na página de índice de issues quando um monte de issues fechados é geralmente uma coisa boa.

Além disso, os clientes também precisam de uma maneira de diferenciar rapidamente os issues que são encerrados porque não serão trabalhados em relação aos que são encerrados depois de serem resolvidos (seja por um PR sendo mesclado ou algum outro meio). No entanto, também temos mais de 500 milhões de issues fechados no GitHub que não podemos capturar retroativamente a intenção à medida que foram resolvidos.

Em um esforço para responder aos comentários acima, estamos planejando as seguintes atualizações:

Um issue terá três status principais (Draft, Open, Closed), cada um com um ícone distinto. O status de draft já está sendo introduzido nos novos issues do GitHub nos projetos e, no futuro, será possível criá-los na plataforma.
O ícone de issue fechado será atualizado de vermelho para roxo, abordando questões de acessibilidade, alinhando-se com outros ícones no GitHub e resolvendo a confusão que vemos hoje.
Forneceremos a capacidade de marcar a resolução de um issue para diferenciar entre o fechamento porque não vai ser trabalhado ou o fechamento porque está feito. Isso será implementado no final deste trimestre, quando iniciarmos uma conversa com os integradores e aplicativos do GitHub para ver como eles podem oferecer o melhor suporte a essa nova funcionalidade.
A imagem a seguir mostra o estado final descrito acima.

138879329-ba6ebfde-6965-438a-811d-eeb96c2e9ea4.png


 

10 Repositórios GitHub que todo desenvolvedor deve conhecer​


Top-10-Useful-Github-Repos-That-Every-Developer-Should-Follow.png


GitHub, Inc. é um provedor de hospedagem na Internet para desenvolvimento de software e controle de versão usando Git. Ele oferece a funcionalidade de controle de versão distribuída e gerenciamento de código-fonte (SCM) do Git, além de seus próprios recursos. Ele fornece controle de acesso e vários recursos de colaboração, como rastreamento de bugs, solicitações de recursos, gerenciamento de tarefas e integração contínua para cada projeto.

Além de ser o lar de alguns dos projetos de código aberto mais interessantes da Internet, o GitHub também é um ótimo lugar para compartilhar recursos de todos os tipos, de livros gratuitos a APIs, de roteiros a ideias de projetos e aos projetos.

O GitHub oferece seus serviços básicos gratuitamente. Seus serviços profissionais e empresariais mais avançados são comerciais. Contas gratuitas do GitHub são comumente usadas para hospedar projetos de código aberto.

Portanto, fiz a curadoria desta lista de dez repositórios fabulosos que fornecem um grande valor para todos os desenvolvedores da web e de software.

Todos eles irão agregar valor a você e ajudá-lo a se tornar um melhor desenvolvedor de web ou software, ou ambos.

1. Livros de programação gratuitos​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github

Oferecido em uma variedade de idiomas diferentes, os livros de programação gratuitos são, sem dúvida, um dos repositórios mais populares e marcados com estrelas no GitHub. Embora tenha "Livros" no nome, oferece muito mais do que isso. Ele contém seções de cursos online gratuitos, recursos de programação interativa, conjuntos de problemas e programação competitiva, playgrounds de programação e podcasts e folhas de dicas para quase todas as linguagens de programação.

Mas tem uma grande coleção de livros de programação que o torna uma coleção "Incrível".

https://github.com/EbookFoundation/free-programming-books


2. Roteiro do desenvolvedor​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github
Ficou sem rumo? Ou precisa de algum conselho para começar sua jornada de desenvolvedor? Então este repositório irá guiá-lo. Ele tem todas as tecnologias que você precisa saber se quiser se tornar um front-end, back-end ou devOps Engineer. Possui todas as tecnologias alternativas a partir das quais pode escolher o que se adapta às suas necessidades ou conforto.

https://github.com/kamranahmedse/developer-roadmap

3. OSSU Computer Science​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github
Se você não tem formação ou graduação em ciência da computação e deseja o mesmo conhecimento equivalente a um diploma em ciência da computação, este repositório é para você. É para aqueles que desejam uma base adequada e completa em conceitos fundamentais para todas as disciplinas de computação. Ele oferece todos os recursos para ajudá-lo a se tornar um equivalente autodidata da graduação em ciência da computação e tem uma comunidade mundial de alunos.

Ele é projetado de acordo com os requisitos de graduação de graduação em ciência da computação, menos os requisitos de educação geral (não-CS), uma vez que se presume que a maioria das pessoas que seguem este currículo já tenham formação fora da área de CS. Os próprios cursos estão entre os melhores do mundo, muitas vezes vindos de Harvard, Princeton, MIT, etc., mas especificamente escolhidos para atender aos seguintes critérios.

https://github.com/ossu/computer-science

Aqui tem uma versão BR:

4. Awesome​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github
Como o nome descreve, ele tem uma lista incrível de todos os tipos de tópicos interessantes, desde ciência da computação até mídia, de jogos a negócios, e a lista continua.

https://github.com/sindresorhus/awesome

5. Construa seu próprio X​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github
Se você é uma pessoa que acredita no princípio de "Aprender fazendo", este repositório tem o potencial de se tornar sua parada diária no GitHub. Possui links para recursos que o ajudam a construir sua própria criptomoeda, banco de dados, bots, clientes BitTorrent e muitos mais.

https://github.com/danistefanovic/build-your-own-x

6. Manual de Entrevista Técnica​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github
O Tech Interview Handbook contém todos os materiais de que você precisa para decifrar uma Tech Interview. Ele contém uma variedade de materiais sobre Como se preparar para a codificação de entrevistas, Boas perguntas para fazer ao seu entrevistador, Dicas úteis sobre currículo e muito mais.

https://github.com/yangshun/tech-interview-handbook

7. System Design Primer​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github

O System Design Primer é um ótimo repositório para engenheiros de software que o ajudará a aprender como projetar sistemas em grande escala. Isso o ajudará a se tornar um engenheiro melhor. O repo fornece uma coleção organizada de recursos para este amplo tópico.

Como o design do sistema geralmente é um componente necessário do processo de entrevista técnica em muitas empresas, este repositório também pode ajudá-lo a se preparar para essas entrevistas com um guia de estudo, conselhos sobre como abordar uma entrevista, perguntas da entrevista com soluções, conjuntos de flashcard Anki para aprendizagem interativa e desafios de codificação interativos.

https://github.com/donnemartin/system-design-primer

8. Coding Interview University​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github

A Coding Interview University tem um plano de estudos de vários meses para se tornar um engenheiro de software para uma grande empresa de tecnologia como Google, Amazon, Facebook, Apple ou qualquer outra empresa de software. Ele oferece conselhos sobre como estudar para se tornar um engenheiro de confiabilidade ou engenheiro de operações. Ele também tem links para os flashcards para atualizar rapidamente seu conhecimento e ficar atualizado originalmente criado pelo autor do repositório que conseguiu um emprego na Amazon. E há muito mais histórias de sucesso como essa.

https://github.com/jwasham/coding-interview-university

9. Recursos de design para desenvolvedores​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github
Este repositório tem uma lista com curadoria de design e recursos de UI de fotos de estoque, modelos da web, estruturas CSS, bibliotecas de UI, ferramentas e muito mais, disponíveis gratuitamente para uso em seus projetos e aplicativos. Ele oferece todo o material de modelo de que você precisa para iniciar seus projetos de desenvolvimento web.

https://github.com/bradtraversy/design-resources-for-developers

10. Public APIS​

repositórios github que todo desenvolvedor deve conhecer, códigos-fonte impressionantes que todo desenvolvedor deve ver, tecnologias que todo desenvolvedor deve conhecer, repositórios github que devem ser estrelados por todos os desenvolvedores da web, projetos de programação github, guia de carreira completo para desenvolvedores de software pdf github

Public APIs possui uma lista coletiva de todas as APIs gratuitas disponíveis na internet para uso em seus projetos pessoais ou profissionais. Ele oferece uma ampla gama de interfaces de programação de aplicativos (APIs), como negócios, anime, animais, notícias, finanças, jogos e muito mais.

https://github.com/public-apis/public-apis


 
dev desktop morreu?
Tem certas coisas que a aplicação web simples ainda não consegue usar do PC, como acesso a pasta de arquivos ( sem o comando manual do usuário) e etc.

Mas pra 95% dos usos ela atende plenamente, por isso tem muito mais demanda.
 
Alguém aqui já estou ou conhece alguém que estudou na FIAP? Estou pensando em fazer o bacharelado em Sistemas de informação EAD com eles, segundo alguns colegas de SP me falaram que das particulares é uma das melhores nos cursos de tecnologia, isso procede? Me recomendam alguma outra que seja EAD? Sou de Santa Catarina por isso estou procurando algo a distância e de qualidade.
 
Alguém aqui já estou ou conhece alguém que estudou na FIAP? Estou pensando em fazer o bacharelado em Sistemas de informação EAD com eles, segundo alguns colegas de SP me falaram que das particulares é uma das melhores nos cursos de tecnologia, isso procede? Me recomendam alguma outra que seja EAD? Sou de Santa Catarina por isso estou procurando algo a distância e de qualidade.
Em termos de faculdade de tecnologia, realmente sempre escuto falar bem da FIAP. Porém, o valor da mensalidade é 10x mais caro que outras universidades.
 
Tô começando a estudar agora (três meses == nada) e sinto em certas situações uma dificuldade para entender algumas coias. Estrutura de dados está sendo o pesadelo atual.

Devo dar uma atenção dobrada para estudar lógica e algoritmos? Minha base é muito fraca nisso (só o contato no ensino médio, em escola pública, 12 anos atrás).
 
Tô começando a estudar agora (três meses == nada) e sinto em certas situações uma dificuldade para entender algumas coias. Estrutura de dados está sendo o pesadelo atual.

Devo dar uma atenção dobrada para estudar lógica e algoritmos? Minha base é muito fraca nisso (só o contato no ensino médio, em escola pública, 12 anos atrás).

Isso vai servir de base pra tudo que tu for estudar, então não adianta seguir em frente enquanto não dominar esse assunto.
 
Tô começando a estudar agora (três meses == nada) e sinto em certas situações uma dificuldade para entender algumas coias. Estrutura de dados está sendo o pesadelo atual.

Devo dar uma atenção dobrada para estudar lógica e algoritmos? Minha base é muito fraca nisso (só o contato no ensino médio, em escola pública, 12 anos atrás).
IMO, estrutura de dados eh tudo sobre abstração. Eh olhar para uma classe/objeto e abstrair as palavras lah e soh enxergar ele enqto algo que interage com outros algos.
Lista, pilha, fila, grafo, arvore, etc sao otimas estruturas de dados pq a abstração que fazem eh MUITO semelhante as coisas do mundo real que possuem o mesmo nome. Uma pilha em Java possui exatamente o mesmo comportamento de uma pilha de roupas: voce pode colocar uma peca de roupa no topo e pode tirar uma peca do topo. Simples assim.
Estrutura de dados começa a ficar ruim qndo começam a faltar as boas abstrações. Variable naming eh algo que deve ser mais valorizado. Nunca caia no conto do vigario que a sua variavel tem um nome muito longo. Nao existe nome muito longo para variavel, mas sim uma ma abstração.

Sobre como melhorar nisso, soh a pratica vai te fazer enxergar as estruturas como coisas. Tambem te recomendo o livro do Cormen, simplesmente o melhor livro de algoritmos que jah tive o prazer de ler: https://edutechlearners.com/download/Introduction_to_algorithms-3rd Edition.pdf
--- Post duplo é unido automaticamente: ---

Alguem aqui estuda/trabalha com WebVR/A-Frame? https://aframe.io/
Tem alguma boa recomendação de leitura/site/twitter para acompanhar? Estou comecando um projeto de realidade virtual e esse me parece a melhor biblioteca para tal.
 
Boa tarde pessoal, tudo bem? Tenho uma dúvida que provavelmente vai ser bem boba para vocês, porém, gostaria de aprender um pouco mais.

Atualmente atuo na área de marketing em uma empresa de ERP, logo, trabalho com muitos desenvolvedores de perto.
Vejo que o mercado é bastante "quente", visto que o pessoal recebe proposta sempre, e com ótimos salários.

Eu queria aprender um pouco mais sobre essa área, talvez até num futuro distante migrar, e por isso venho pedir algumas dicas.
Qual é a linguagem de programação mais "simples" para um leigo? Onde posso aprender?

Atualmente, eu trabalho em alguns projetos de UX, na parte de design. Penso que as vezes seria interessante até puxar algo mais para esse lado. O que vocês acham?

Muito obrigado!
 
Última edição:
Boa tarde pessoal, tudo bem? Tenho uma dúvida que provavelmente vai ser bem boba para vocês, porém, gostaria de aprender um pouco mais.

Atualmente atuo na área de marketing em uma empresa de ERP, logo, trabalho com muitos desenvolvedores de perto.
Vejo que o mercado é bastante "quente", visto que o pessoal recebe proposta sempre, e com ótimos salários.

Eu queria aprender um pouco mais sobre essa área, talvez até num futuro distante migrar, e por isso venho pedir algumas dicas.
Qual é a linguagem de programação mais "simples" para um leigo? Onde posso aprender?

Atualmente, eu trabalho em alguns projetos de UX, na parte de design. Penso que as vezes seria interessante até puxar algo mais para esse lado. O que vocês acham?

Muito obrigado!

Se você já trabalha com UX e gosta da área acredito que o mais interessante seria você estudar sobre front end que a grosso modo é a área que desenvolve a parte do cliente em uma aplicação, ou seja, aquilo que é visual e que vai ter a interação com o usuário.

Programação exige muita lógica então o ideal seria você começar a estudar sobre lógica de programação e estrutura de dados, estes dois assuntos você vai usar independente da linguagem que for programar.

Se você for seguir a área do front end o que você vai estudar basicamente é html, css e Javascript, posteriormente você pode a aprender bibliotecas como React ou Vue que são utilizadas em praticamente todos os projetos atuais.

Sobre onde aprender ai depende, hoje você encontra muito material grátis, aqui mesmo no tópico voltando as páginas vai ver vários sites que o pessoal recomendou, tem youtube, freecodecamp, coursera, rocketseat etc.

Se quiser gastar pouco e não precisar ficar caçando material na Udemy tem vários cursos baratos.

Outra forma bem legal também de aprender depois de ter uma base sobre html, css e javascript é começar a criar projetinhos simples e conforme as dúvidas forem surgindo ir pesquisando no google como resolver, essa é a melhor forma de aprender pois programação exige muita prática.
 
Boa tarde pessoal, tudo bem? Tenho uma dúvida que provavelmente vai ser bem boba para vocês, porém, gostaria de aprender um pouco mais.

Atualmente atuo na área de marketing em uma empresa de ERP, logo, trabalho com muitos desenvolvedores de perto.
Vejo que o mercado é bastante "quente", visto que o pessoal recebe proposta sempre, e com ótimos salários.

Eu queria aprender um pouco mais sobre essa área, talvez até num futuro distante migrar, e por isso venho pedir algumas dicas.
Qual é a linguagem de programação mais "simples" para um leigo? Onde posso aprender?

Atualmente, eu trabalho em alguns projetos de UX, na parte de design. Penso que as vezes seria interessante até puxar algo mais para esse lado. O que vocês acham?

Muito obrigado!

A questão não é aprender uma linguagem de programação, e sim aprender a programar. O dia que tu precisar vais poder migrar pra qualquer coisa pois já sabes como funciona.
 
Mas é óbvio que a diferença entre vagas pra web x desktop é tipo 10 pra 1
Quando vc fala de web x desktop é no sentido front x back?
Isso vai servir de base pra tudo que tu for estudar, então não adianta seguir em frente enquanto não dominar esse assunto.

IMO, estrutura de dados eh tudo sobre abstração. Eh olhar para uma classe/objeto e abstrair as palavras lah e soh enxergar ele enqto algo que interage com outros algos.
Lista, pilha, fila, grafo, arvore, etc sao otimas estruturas de dados pq a abstração que fazem eh MUITO semelhante as coisas do mundo real que possuem o mesmo nome. Uma pilha em Java possui exatamente o mesmo comportamento de uma pilha de roupas: voce pode colocar uma peca de roupa no topo e pode tirar uma peca do topo. Simples assim.
Estrutura de dados começa a ficar ruim qndo começam a faltar as boas abstrações. Variable naming eh algo que deve ser mais valorizado. Nunca caia no conto do vigario que a sua variavel tem um nome muito longo. Nao existe nome muito longo para variavel, mas sim uma ma abstração.

Sobre como melhorar nisso, soh a pratica vai te fazer enxergar as estruturas como coisas. Tambem te recomendo o livro do Cormen, simplesmente o melhor livro de algoritmos que jah tive o prazer de ler: https://edutechlearners.com/download/Introduction_to_algorithms-3rd Edition.pdf
--- Post duplo é unido automaticamente: ---

Alguem aqui estuda/trabalha com WebVR/A-Frame? https://aframe.io/
Tem alguma boa recomendação de leitura/site/twitter para acompanhar? Estou comecando um projeto de realidade virtual e esse me parece a melhor biblioteca para tal.
Vlw pelas dicas!!
 
Quando vc fala de web x desktop é no sentido front x back?
Creio que ele quis dizer sobre aplicações desktop mesmo, que não rodam no navegador.
Até muitas das desktop hj em dia são por cima do electron, então é html/css/js igual
 
Atualmente, eu trabalho em alguns projetos de UX, na parte de design. Penso que as vezes seria interessante até puxar algo mais para esse lado. O que vocês acham?
Também sou de UX e estudo Front End hoje. Quero sair um pouco da parte de research e ir para telas. Estudo bastante UI e Front mesmo. Javascript com algum framework já ajuda bastante.
 

Users who are viewing this thread

Voltar
Topo