The JetBrains Blog https://blog.jetbrains.com/pt-br Developer Tools for Professionals and Teams Thu, 15 Jun 2023 22:56:46 +0000 pt-BR hourly 1 https://blog.jetbrains.com/wp-content/uploads/2023/02/cropped-icon-512-32x32.png The JetBrains Blog https://blog.jetbrains.com/pt-br 32 32 O Compose Multiplatform para iOS está em Alpha https://blog.jetbrains.com/pt-br/kotlin/2023/06/o-compose-multiplatform-para-ios-esta-em-alpha/ Thu, 15 Jun 2023 22:56:42 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/06/compose-featured_blog_1280x720-2.png https://blog.jetbrains.com/?post_type=kotlin&p=363974 O Compose Multiplatform, o framework declarativo da JetBrains para criar interfaces de usuário multiplataforma com o Kotlin, agora pode ser usado no iOS! Isso significa que você pode usar o Compose Multiplatform para criar sua interface de usuário uma vez, 100% em Kotlin, e usá-la no Android, iOS e muito além.

Em resumo, aqui está o que você precisa saber sobre este lançamento:

  • A JetBrains lançou o Compose Multiplatform para iOS como Alfa, o que significa que ele está pronto para ser usado em experimentos e projetos de aprendizado. Experimente e ajude a moldar o futuro das interfaces de usuário móveis compartilhadas com o Kotlin!
  • O Compose Multiplatform usa APIs que já estão sendo usadas para desenvolvimento de UIs no Android. Isso torna muito fácil e rápido para os desenvolvedores com experiência em desenvolvimento em Android moderno começarem a usar o Compose Multiplatform para iOS. Ele também permite que os recém-chegados baseiem seu aprendizado em conceitos estabelecidos e práticas recomendadas.
  • Como versão Alfa, o Compose Multiplatform para iOS ainda possui muitas áreas que estão em andamento. Contamos com a comunidade para ajudar a embasar e moldar o futuro das interfaces de usuário Kotlin compartilhadas, então experimente a tecnologia e compartilhe seu feedback!

Comece a usar o Compose para iOS

A JetBrains anunciou pela primeira vez o Compose Multiplatform para iOS na KotlinConf 2023. Para uma visão detalhada do Compose Multiplatform para iOS em ação, assista à gravação da palestra de anúncio “Compose Multiplatform on iOS”, por Sebastian Aigner e Nikita Lipsky:

 

Levando o Kotlin Multiplatform além da lógica de negócios

Com o Kotlin Multiplatform, os desenvolvedores Kotlin já têm uma abordagem testada e comprovada para compartilhamento de código. Ele permite que você compartilhe a lógica de negócios entre diferentes plataformas sem ter que abrir mão do acesso a APIs e recursos específicos da plataforma: uma abordagem que foi validada por muitos aplicativos em produção, com mais e mais empresas aproveitando-a para se livrar da duplicação desnecessária de lógica em seus aplicativos.

Mas faltava uma parte da história do Kotlin Multiplatform: uma solução para quando você não deseja criar e manter interfaces de usuário separadas para cada plataforma de destino. Esse pode ser o seu caso por vários motivos: você pode não ter recursos ou pessoas para fornecer implementações feitas sob medida para cada plataforma de destino. Ou você pode se encontrar em uma situação em que precisa colocar seu aplicativo nas mãos dos usuários o mais rápido possível, com iterações rápidas, e não pode perder tempo mantendo manualmente duas ou mais implementações de UI sincronizadas.

O Compose Multiplatform resolve tudo isso. Ele oferece a opção de implementar sua interface de usuário uma única vez e, em seguida, compartilhá-la nas plataformas de destino (seja esse o caso móvel típico de compartilhamento entre Android e iOS) ou inclui outras plataformas, como desktop ou Web.

O Compose Multiplatform é uma camada opcional para aplicativos Kotlin Multiplatform que permite criar interfaces de usuário declarativas uma vez e usá-las para várias plataformas de destino.

Desenvolvido com base no Jetpack Compose

O Compose Multiplatform se baseia no Jetpack Compose do Google, o framework de UI recomendado para desenvolvimento moderno em Android, que é 100% Kotlin. A equipe da JetBrains que desenvolve o Compose Multiplatform colabora com o Google e atualiza regularmente as alterações nos repositórios do Jetpack Compose.

As APIs do Compose Multiplatform são as mesmas que já foram experimentadas e testadas no Jetpack Compose. Isso significa que os desenvolvedores que têm experiência em escrever interfaces de usuário Android modernas usando o Jetpack Compose podem transferir essas habilidades diretamente para escrever uma interface de usuário compartilhada com o Compose Multiplatform, para uso no iOS e além.

Para ilustrar o fato de que as APIs realmente são as mesmas, confira este exemplo de trecho de código do Compose Multiplatform que anima a visibilidade de uma imagem sempre que o usuário pressiona um botão:

@Composable
fun App() {
    MaterialTheme {
        var showImage by remember { mutableStateOf(false) }
        Column(Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) {
            Button(onClick = {
                showImage = !showImage
            }) {
                Text("Toggle image")
            }
            AnimatedVisibility(showImage) {
                Image(
                    painterResource("compose-multiplatform.xml"),
                    "Compose Multiplatform Logo"
                )
            }
        }
    }
}

Se você já trabalhou com o Jetpack Compose antes, a maior parte desse código deve ser familiar para você: o Compose Multiplatform permite que você use exatamente as mesmas APIs que usaria para o desenvolvimento moderno no Android, incluindo gerenciamento de estado, layout e até mesmo animações. Para tarefas específicas do sistema no Jetpack Compose, como carregar recursos, o Compose Multiplatform fornece alternativas convenientes que funcionam em todas as plataformas, como a função painterResource no snippet acima.

Como você pode ver, esse código é executado tanto no Android quanto no iOS, com resultados consistentes:

No iOS, as interfaces de usuário do Compose Multiplatform são renderizadas por meio de uma implementação de tela com base na biblioteca de gráficos Skiko. No Android, o Compose Multiplatform é o Jetpack Compose. Isso significa que, se você optar por mover seu aplicativo para UIs específicas da plataforma, poderá continuar usando seu aplicativo Compose Multiplatform no Android sem nenhuma desvantagem e sem ter que jogar fora o código que escreveu.

Desenvolvido no Kotlin Multiplatform

Os aplicativos criados com o Compose Multiplatform são aplicativos Kotlin Multiplatform, o que significa que podem usar os mesmos mecanismos estabelecidos para acessar as APIs da plataforma, como sensores, preferências, armazenamento de dados, criptografia e outros. Eles também podem usar o ecossistema cada vez maior de bibliotecas Kotlin Multiplatform que fornecem desde wrappers de banco de dados até wrappers multiplataformas para SDK. É claro, você também pode continuar a usar o Kotlin Multiplatform independentemente do Compose Multiplatform para compartilhar lógica de negócios, redes e outras abstrações.

Interoperabilidade com visualizações SwiftUI e UIKit

Os aplicativos do mundo real precisam de acesso a recursos específicos do dispositivo e, em muitos casos, a camada de interface do usuário não é uma exceção: seja incorporando um navegador ou reproduzindo um vídeo, você pode querer acessar a funcionalidade integrada que o iOS fornece para enriquecer a experiência dos seus usuários.

Para essas situações, a versão Alfa do Compose Multiplatform vem com um protótipo para interoperabilidade bidirecional na camada de UI. Ao usar o UIKitView, você pode incorporar widgets complexos específicos da plataforma, como mapas, exibições da Web, players de mídia e feeds de câmera na sua interface de usuário compartilhada. Na outra direção, via ComposeUIViewController, você pode incorporar telas do Compose Multiplatform em aplicativos SwiftUI, ajudando você a adotar gradualmente o Compose Multiplatform em aplicativos iOS.

O Compose Multiplatform no iOS permite interoperabilidade bidirecional com interfaces de usuário nativas: você pode incorporar exibições de UI complexas como o MKMapView do MapKit na sua interface do UI do Compose ou incorporar telas do Compose em um aplicativo SwiftUI.

Trabalhando com uma excelente experiência do usuário

O Compose Multiplatform para iOS está atualmente em Alfa, o que também significa que há várias áreas que ainda estão em andamento. Oferecer uma excelente experiência de usuário em várias plataformas é um assunto que requer muito cuidado, e toda a equipe quer garantir que todos os aspectos necessários sejam abordados para tornar os aplicativos Compose Multiplatform confortáveis e naturais, não importa onde sejam usados. Isso começa com as interações mais básicas, como gestos e física de rolagem, que definem a sensação fundamental de um aplicativo. Continua com princípios de navegação e transições, bem como interações complexas como seleção de texto, gerenciamento de entradas, menus de contexto e interações semelhantes.

Também reconhecemos como é importante que os aplicativos Compose Multiplatform forneçam integrações sólidas de acessibilidade e também respeitem as escolhas do usuário, e estamos comprometidos em fornecer integrações sólidas com os mecanismos subjacentes do iOS, integrando-se a tudo, desde a funcionalidade de conversão de texto em fala do sistema até as preferências de zoom e contraste que os usuários definiram em seus dispositivos.

Obviamente, este é um conjunto diversificado e amplo de áreas de foco. Queremos dar a todos eles o nível de cuidado necessário para garantir que o Compose Multiplatform no iOS forneça a melhor experiência possível para o usuário. Ao fazer isso, queremos ter certeza de que estamos colocando suas necessidades em primeiro lugar e agradecemos pelo seu feedback!

Também estamos cientes de que o desempenho absolutamente suave, mesmo em monitores com alta taxa de atualização, é um fator importante para proporcionar uma ótima experiência ao usuário. Assim, as equipes do Compose Multiplatform e do Kotlin/Native estão trabalhando juntas para melhorar o desempenho de interfaces de usuário compartilhadas no iOS.

Criação de temas do Compose Multiplataforma para iOS

Como o Compose Multiplatform no iOS usa renderização baseada em tela, aplicativos iOS e Android têm a mesma aparência por padrão. Atualmente, o Compose Multiplatform fornece os widgets Material e Material 3 prontos para uso em todas as plataformas. Esses são os mesmos widgets com os quais você já deve estar familiarizado nos aplicativos Android. Usando a funcionalidade de temas integrada, você pode ajustar a aparência desses widgets para refletir sua marca, consistentemente em todas as plataformas ou com temas personalizados específicos da plataforma.

Prontos para uso, os aplicativos móveis criados com o Compose Multiplatform atualmente vêm com os widgets Material. Você pode personalizar sua aparência, criar seus próprios componentes de interface e até mesmo aplicar temas específicos da plataforma.

Obviamente, uma questão-chave para um framework de UI multiplataforma é até que ponto os elementos devem imitar a aparência de suas plataformas de destino. No estágio atual, a equipe da JetBrains ainda não tomou nenhuma decisão sobre o fornecimento de elementos de UI ou de aparência comum. Como essa é uma parte fundamental da experiência do usuário do Compose Multiplatform, não queremos tomar decisões sobre isso sem primeiro receber feedback da comunidade de desenvolvimento, e convidamos você a compartilhar seus pensamentos e opiniões conosco.

Experimente você mesmo o Compose Multiplatform para iOS!

Esperamos que você esteja animado para experimentar o Compose Multiplatform para iOS! Como discutimos, há muitas coisas que ainda estão em andamento, mas também há muitas que já funcionam bem e estão prontas para você experimentar!

Oferecemos várias maneiras diferentes para você se familiarizar com a versão Alfa do Compose Multiplatform para iOS, incluindo aplicativos de exemplo e templates de projeto.

Comece com o template

A maneira mais fácil de começar a escrever seus próprios aplicativos para uso no Android e iOS com o Compose Multiplatform é usar o template do GitHub oficial, que vem com seu próprio tutorial para colocar seu primeiro aplicativo Compose Multiplatform em funcionamento.

Comece a usar o Compose para iOS

Explore o Compose para iOS com aplicativos de demonstração

Uma boa maneira de explorar como uma nova tecnologia é usada é olhar alguns exemplos. Preparamos vários exemplos de projetos que demonstram o Compose Multiplatform no iOS e seus outros destinos. Você pode encontrá-los no repositório do Compose Multiplatform.

Explorar exemplos de projetos

Outros projetos de exemplo, como o Kotlin Multiplatform Mobile Production Sample, agora apresentam uma ramificação que contém uma implementação de UI baseada no Compose Multiplatform, permitindo comparar diferenças e semelhanças entre compartilhar apenas a lógica de negócios entre aplicativos e compartilhar também a camada de UI do aplicativo.

Compartilhe seu feedback!

O Compose Multiplatform no iOS está em Alfa e queremos evoluir a tecnologia com base nas suas necessidades.

Ajude-nos a ajudar você, relatando problemas, informando-nos sobre as APIs que você acha que estão faltando e solicitando os recursos que você gostaria de ver. Você pode fazer tudo isso no rastreador de issues do projeto.

Se quiser conversar com a equipe por detrás do Compose Multiplatform ou outros desenvolvedores, também convidamos você a participar da discussão no Kotlin Slack. No canal #compose-ios, você encontra discussões sobre o Compose Multiplatform para iOS. Em #compose, você pode discutir tópicos gerais relacionados ao Compose Multiplatform e ao Jetpack Compose.

Estamos ansiosos para ver o que você vai criar com o Compose Multiplatform!

Veja também


Artigo original em inglês por:

Luiz Di Bella

Sebastian Aigner

]]>
https://blog.jetbrains.com/zh-hans/kotlin/2023/06/o-compose-multiplatform-para-ios-esta-em-alpha/ https://blog.jetbrains.com/ko/kotlin/2023/06/o-compose-multiplatform-para-ios-esta-em-alpha/ https://blog.jetbrains.com/ja/kotlin/2023/06/o-compose-multiplatform-para-ios-esta-em-alpha/ https://blog.jetbrains.com/fr/kotlin/2023/06/o-compose-multiplatform-para-ios-esta-em-alpha/ https://blog.jetbrains.com/es/kotlin/2023/06/o-compose-multiplatform-para-ios-esta-em-alpha/ https://blog.jetbrains.com/kotlin/2023/06/o-compose-multiplatform-para-ios-esta-em-alpha/ https://blog.jetbrains.com/de/kotlin/2023/06/o-compose-multiplatform-para-ios-esta-em-alpha/
Aumento de preço do TeamCity On-Premises https://blog.jetbrains.com/pt-br/teamcity/2023/06/aumento-de-preco-do-teamcity-on-premises/ Tue, 13 Jun 2023 19:58:15 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/06/tc-featured_blog_1280x720-3.png https://blog.jetbrains.com/?post_type=teamcity&p=362946 Desde o lançamento do TeamCity, em 2006, acrescentamos inúmeros novos recursos e expandimos muito o que o produto pode fazer. O preço do TeamCity não aumentou em 15 anos e somos uma das poucas empresas que oferecem uma solução de CI/CD executada localmente com 50% de desconto nas renovações.

Para sustentar o crescimento da nossa equipe, oferecer ciclos mais rápidos de lançamento, desenvolver e incorporar mais integrações e dar um suporte melhor e mais rápido a todos os nossos clientes, decidimos aumentar os preços tanto das novas licenças quanto das renovações do TeamCity On-Premises.

Esse aumento de preços afetará somente o TeamCity On-Premises, não o TeamCity Cloud, que segue um modelo diferente de licenciamento. Os novos preços do TeamCity On-Premises entrarão em vigor em 1º de setembro de 2023. Você encontra tanto os novos preços quanto os atuais na página de Preços do TeamCity.

Renove as licenças existentes ao preço atual

Normalmente, só permitimos renovar as licenças do TeamCity On-Premises com até um ano de antecedência. Isso significa que se o período de manutenção das suas licenças existentes do TeamCity Enterprise ou dos agentes de build do TeamCity for vencer em menos de um ano a partir de hoje, você pode renovar essas licenças por mais um ano.

Porém, para darmos mais tempo aos nossos clientes para eles se beneficiarem dos preços atuais de renovação, estamos lançando uma oferta temporária. Se as suas licenças do TeamCity Enterprise ou dos agentes de build do TeamCity tiverem uma janela de manutenção a vencer dentro de dois anos a partir de hoje, você poderá renovar essas licenças por mais um ano ao preço atual. Esta oferta aplica-se apenas a pedidos feitos até 31 de agosto de 2023.

Por exemplo, se o período de manutenção das suas licenças do TeamCity Enterprise ou dos TeamCity Build Agents valer até 30 de abril de 2024, você tem a opção de pagar a renovação das suas licenças agora pelo preço atual por mais dois anos (um ano através da renovação normal e mais um ano por esta oferta), até 30 de abril de 2026.

Apesar de esta oferta exigir um pagamento antecipado, ela permite que você renove suas licenças ao preço atual por mais um ano.

Sabemos que nenhum de nós gosta de um aumento de preços. Porém, continuaremos a fazer o máximo para evitar e reduzir esses aumentos.

Estaremos nos comunicando com todos os nossos clientes nas próximas semanas a respeito desse aumento.

Obrigado pelo seu apoio.

Artigo original em inglês por:

Luiz Di Bella

Yegor Naumov

]]>
https://blog.jetbrains.com/ko/teamcity/2023/06/aumento-de-preco-do-teamcity-on-premises/ https://blog.jetbrains.com/ja/teamcity/2023/06/aumento-de-preco-do-teamcity-on-premises/ https://blog.jetbrains.com/fr/teamcity/2023/06/aumento-de-preco-do-teamcity-on-premises/ https://blog.jetbrains.com/es/teamcity/2023/06/aumento-de-preco-do-teamcity-on-premises/ https://blog.jetbrains.com/teamcity/2023/06/aumento-de-preco-do-teamcity-on-premises/ https://blog.jetbrains.com/de/teamcity/2023/06/aumento-de-preco-do-teamcity-on-premises/
Fleet 1.19: recursos baseados em IA e configuração mais fácil para o rust-analyzer, interpretadores Python e npm https://blog.jetbrains.com/pt-br/fleet/2023/06/fleet-1-19-recursos-baseados-em-ia-e-configuracao-mais-facil-para-o-rust-analyzer-interpretadores-python-e-npm/ Mon, 12 Jun 2023 21:30:44 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/06/DSGN-16684-Featured-Blog-image-1280x720-2x.png https://blog.jetbrains.com/?post_type=fleet&p=362845 A atualização para o Fleet 1.19 já está disponível para baixar no seu Toolbox App. Esta atualização é especial, porque além das melhorias e alterações de sempre, ela traz uma grande adição.

Adicionamos a assistência baseada em IA ao Fleet! Esta implementação inicial contém vários novos recursos que funcionam com a ajuda de IA gerativa, através da API da OpenAI. O Fleet é um produto no qual fazemos muitas experiências, tanto na sua arquitetura quanto na experiência do usuário, e queremos ouvir o seu feedback.

Aqui estão os recursos iniciais com apoio de IA que você pode experimentar no Fleet 1.19:

  1. Prompt de IA in-line. Basta pressionar Cmd+./Ctrl+. ou invocar ‘Generate Code’ em qualquer lugar de qualquer arquivo de código e escrever o que você precisa. O Fleet AI irá inserir sua melhor tentativa no código apropriado, que você pode aceitar ou regerar.
    Fleet 1.19: Prompt de IA in-line
  2. Geração da mensagem de commit. Faça o Fleet AI descrever as alterações que você fez, revisá-las e fazer o commit delas. Deixe os seus colegas satisfeitos!
    Fleet 1.19: Geração da mensagem de commit
  3. Explicação do commit. Você viu um commit com algumas alterações significativas, sobre as quais você quer saber mais? O Fleet AI Assistant é bom para explicar.
    Fleet 1.19: Explicação do commit
  4. Geração de documentação. Sempre que você vir um trecho de código que precise de uma documentação melhor, adicione-a ou peça ajuda ao Fleet AI.
    Fleet 1.19: Geração da documentação
  5. Chat com IA. O Fleet AI Assistant prefere tópicos de programação e conhece bastante do assunto. Experimente! O Fleet adicionou o novo tipo de janela de ferramentas AI Chat e mantém registro dos seus chats, para que você possa voltar a eles mais tarde.
    Fleet 1.19: Chat com IA
  6. Explicação de código Às vezes, um código pode parecer complexo à primeira vista. O Fleet pode ajudar você a entendê-lo e você até pode aprender alguns truques. Selecione um trecho de código e acione ‘Explain Code’. O Fleet abrirá uma nova janela de chat e lhe dará uma explicação nela. Você pode fazer mais perguntas, se precisar, e o chat será salvo para referência futura.
    Fleet 1.19: Explicação do código
  7. Assistência no terminal. Você não lembra qual o comando de terminal para alguma coisa? Abra o terminal, tecle Cmd+./Ctrl+. e pergunte ao assistente. Não é preciso sair do IDE ou ler todo o --help.
    Fleet 1.19: Assistência no terminal
  8. Cópia para o terminal. Sempre que o Fleet AI Assistant fornecer um comando de Shell na sua resposta no chat, esse comando poderá ser copiado para o terminal com apenas um clique. Basta teclar Enter para executar o comando.
    Fleet 1.19: Cópia para o terminal

Haverá mais recursos em atualizações futuras!

Como funciona

Para facilitar ao máximo experimentar os novos recursos, estamos abrindo um acesso de demonstração ao novo serviço JetBrains AI. É uma fachada que, de forma transparente, conecta você, como usuário de um produto, a diferentes modelos grandes de linguagem (large language models, LLMs) e ativa recursos específicos baseados em IA dentro de muitos produtos da JetBrains. No momento, o serviço de JetBrains AI usa o OpenAI e alguns modelos criados pela própria JetBrains. Planejamos integrar outros modelos mais tarde. O suporte para IDEs baseadas no IntelliJ e ReSharper também estará disponível em breve.

Esta abordagem nos dá a flexibilidade de integrar outros modelos no futuro e dá aos nossos usuários o acesso às melhores opções e modelos disponíveis. As funções baseadas em IA aparecem dentro das ferramentas que você já usa e são integradas nativamente, permitindo que você poupe tempo e esforços, acessando os recursos conforme a necessidade. 

Observe que o serviço JetBrains AI pode não estar disponível para todos imediatamente. Vamos aceitar um certo número de usuários e quando a capacidade máxima for atingida, os restantes entrarão em uma fila de espera. Aos poucos, convidaremos mais pessoas a experimentarem o produto nas semanas seguintes.

Como tratamos o seu código e os seus dados

Compreendemos a importância da transparência ao tratarmos o seu código e os seus dados. A JetBrains não lê, nem armazena os seus dados. Também não os usamos para treinar nossos modelos. Funciona assim: o Fleet envia os dados para os modelos de LLM e provedores de serviço, como a OpenAI, para receber os resultados. Além dos prompts que você digitar, o Fleet poderá enviar detalhes adicionais, tais como trechos do seu código, tipos de arquivos, frameworks utilizados e qualquer outra informação que possa ser necessária para fornecer um contexto ao LLM. Para mais informações, leia os Termos de Uso do serviço JetBrains AI e/ou nossa Política de Privacidade.

Como experimentar a nova assistência baseada em IA

Após ser iniciado, o Fleet 1.19 abrirá uma janela de ferramentas dedicada para o Chat de IA. A partir dessa janela de ferramentas, você precisará fazer login no serviço JetBrains AI. Você pode entrar com a sua Conta da JetBrains ou criar facilmente uma nova conta. Depois de fazer o login, você terá acesso a todos os recursos mencionados acima.

Alguns recursos estão disponíveis no editor e outros em várias partes da interface de usuário, tais como o histórico do Git. Não esqueça que o Fleet permite que você encontre e execute muitas ações na sua paleta Actions. Você também encontrará ações apoiadas por IA, como “AI Chats History”. Ao explorar o Fleet, procure por estrelas ✨, que indicam recursos e ações na interface de usuário apoiados por IA.

Mas espere, tem mais!

Sabemos que provavelmente, você está ansioso para experimentar logo os recursos acima, mas gostaríamos de destacar algumas outras alterações importantes incluídas na versão 1.19.

Em resposta a um grande número de pedidos, adicionamos a opção de usar configurações de execução de npm e Node.js. Esta atualização simplifica significativamente o processo de compilar um projeto, executar testes e desempenhar outras tarefas necessárias. Ficou consideravelmente mais fácil configurar o npm ou o Node.js.

Fleet 1.19: configurações de execução de npm e Node.js

Recebemos feedback de que era difícil encontrar textos correspondentes na pré-visualização ao navegar por resultados de pesquisa. Resolvemos esse problema adicionando um belo realce em cores vivas. Agora ficou muito mais fácil se concentrar nas informações mais relevantes.

Fleet 1.19: realce melhorado de resultados de pesquisa

A possibilidade de acrescentar configurações do rust-analyzer ao arquivo settings.json do Fleet foi implementada no Fleet 1.19. Adicione qualquer item descrito no manual do rust-analyzer ao seu início ou ao arquivo settings.json do projeto para personalizar o rust-analyzer.

Fleet 1.19: analisador para Rust

Agora, ações como renomear, criar pastas, copiar e outras alterações podem ser executadas em nós de diretório recolhidos na visualização de projeto. Esperamos que esta melhoria aumente a sua produtividade e otimize o seu fluxo de trabalho.

Fleet 1.19: ações em diretórios recolhidos

Adicionamos um novo recurso para melhorar a sua experiência de testes no Python. Com a última atualização, você pode definir um targetType com suporte a descritores de módulos e a caminhos. Agora também há suporte a alvos múltiplos, permitindo que você execute testes em arquivos ou pastas específicos de forma mais suave.

Fleet 1.19: melhorias em testes no Python

Liberamos uma atualização que torna fácil distinguir os interpretadores Python nas configurações. Com este aperfeiçoamento, você pode identificar rapidamente os seus interpretadores Python e gerenciá-los em um relance.

Fleet 1.19: os interpretadores Python agora podem ser distinguidos

Esta é uma grande atualização, com muitas melhorias importantes no Fleet. Esperamos que você goste! Consulte as notas completas de lançamento para ver uma lista completa das alterações.

Não deixe de relatar quaisquer problemas ao nosso rastreador de issues e fique ligado em futuros anúncios.

Para baixar a atualização, confira o seu Toolbox App e instale a versão 1.19.

P.S. O suporte a plug-ins e à API de plug-ins ainda não estão finalizados. Esperamos ter notícias para dar em breve.

FAQ do JetBrains AI

  1. Os recursos baseados em IA estarão disponíveis nos IDEs baseados no IntelliJ e no ReSharper?
    Sim. Fique atento para atualizações.
  2. Quanto custará o AI Assistant nos IDEs da JetBrains?
    O AI Assistant é gratuito durante a atual fase de demonstração. Informaremos o modelo de licenciamento e os preços em uma data posterior.
  3. Quais são exatament os LLMs usados no JetBrains AI?
    Todos os provedores externos de serviços e seus modelos estão listados nesta página dedicada. Além desses modelos, há outros criados pela JetBrains.
  4. Fui colocado em uma lista de espera. Quando terei acesso?
    Notificaremos você por e-mail assim que o JetBrains AI estiver disponível para você experimentá-lo. Queremos garantir que o serviço ofereça uma experiência sólida aos nossos usuários. Nos próximos meses, começaremos a convidar aos poucos as pessoas na lista de espera. Não podemos dar uma data exata para quando você ganhará acesso.


Faça parte do JetBrains Tech Insights Lab para participar de pesquisas, entrevistas e estudos sobre a experiência do usuário. Ajude-nos a melhorar o JetBrains Fleet!

Artigo original em inglês por:

Luiz Di Bella

Eugene Toporov

]]>
https://blog.jetbrains.com/ko/fleet/2023/06/fleet-1-19-recursos-baseados-em-ia-e-configuracao-mais-facil-para-o-rust-analyzer-interpretadores-python-e-npm/ https://blog.jetbrains.com/ja/fleet/2023/06/fleet-1-19-recursos-baseados-em-ia-e-configuracao-mais-facil-para-o-rust-analyzer-interpretadores-python-e-npm/ https://blog.jetbrains.com/fr/fleet/2023/06/fleet-1-19-recursos-baseados-em-ia-e-configuracao-mais-facil-para-o-rust-analyzer-interpretadores-python-e-npm/ https://blog.jetbrains.com/es/fleet/2023/06/fleet-1-19-recursos-baseados-em-ia-e-configuracao-mais-facil-para-o-rust-analyzer-interpretadores-python-e-npm/ https://blog.jetbrains.com/fleet/2023/06/fleet-1-19-recursos-baseados-em-ia-e-configuracao-mais-facil-para-o-rust-analyzer-interpretadores-python-e-npm/ https://blog.jetbrains.com/de/fleet/2023/06/fleet-1-19-recursos-baseados-em-ia-e-configuracao-mais-facil-para-o-rust-analyzer-interpretadores-python-e-npm/
Participe da pesquisa do Ecossistema de Desenvolvedores de 2023 https://blog.jetbrains.com/pt-br/blog/2023/06/12/participe-da-pesquisa-do-ecossistema-de-desenvolvedores-de-2023/ Mon, 12 Jun 2023 18:06:44 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/06/Featured_Blog_1280x720-6.png https://blog.jetbrains.com/?post_type=blog&p=362796 Desde 2017, a JetBrains realiza a pesquisa anual do ecossistema de desenvolvedores como parte da nossa busca por aprofundar a compreensão sobre a comunidade de desenvolvedores, melhorar nossos produtos e ferramentas para você e fornecer visões gerais anuais do setor. E este ano não será diferente!


A Pesquisa do Ecossistema de Desenvolvedores de 2023 já está disponível, e convidamos você a participar dela. Para realizar um estudo abrangente e independente do ecossistema de desenvolvimento de software, precisamos dos seus valiosos insights e comentários. Responda à pesquisa, que deve levar cerca de 30 minutos, e compartilhe conosco sua história de desenvolvedor.

A pesquisa está disponível em 10 idiomas e você terá a oportunidade de ganhar um dos seguintes prêmios:

  • MacBook Pro 16
  • Placa gráfica NVIDIA GeForce RTX 4090
  • iPhone 14 Pro
  • Vale-presente da Amazon no valor de US$ 300
  • JetBrains All Products Pack

Sua contribuição nos ajudará e à comunidade como um todo. Por isso, encorajamos você a responder à pesquisa e compartilhar suas opiniões. Clique no link abaixo para começar:

PARTICIPE DA PESQUISA DO ECOSSISTEMA DE DESENVOLVEDORES

Quanto mais desenvolvedores contribuírem para o estudo, mais representativo ele será da nossa comunidade. Compartilhe a pesquisa com seus amigos e colegas para concorrer em um sorteio de prêmios adicional. Você encontrará o link de indicação na última página da pesquisa.


Como sempre, compartilharemos infográficos detalhados com os resultados da pesquisa e informações sobre as últimas tendências de desenvolvimento de tecnologias e softwares. Além disso, forneceremos dados brutos anônimos para seus próprios fins de pesquisa. Por fim, prepararemos para todos os participantes infográficos personalizados que mostrarão exatamente como você se compara aos outros membros da comunidade.

Então vá em frente, responda à pesquisa e nos ajude a entender a natureza das coisas no ecossistema de desenvolvedores em 2023. Sua opinião é muito importante!

Atenciosamente,

A equipe da JetBrains Research

Artigo original em inglês por:

Luiz Di Bella

Anastassiya Sichkarenko

]]>
https://blog.jetbrains.com/zh-hans/blog/2023/06/12/participe-da-pesquisa-do-ecossistema-de-desenvolvedores-de-2023/ https://blog.jetbrains.com/ko/blog/2023/06/12/participe-da-pesquisa-do-ecossistema-de-desenvolvedores-de-2023/ https://blog.jetbrains.com/ja/blog/2023/06/12/participe-da-pesquisa-do-ecossistema-de-desenvolvedores-de-2023/ https://blog.jetbrains.com/fr/blog/2023/06/12/participe-da-pesquisa-do-ecossistema-de-desenvolvedores-de-2023/ https://blog.jetbrains.com/es/blog/2023/06/12/participe-da-pesquisa-do-ecossistema-de-desenvolvedores-de-2023/ https://blog.jetbrains.com/blog/2023/06/12/participe-da-pesquisa-do-ecossistema-de-desenvolvedores-de-2023/ https://blog.jetbrains.com/de/blog/2023/06/12/participe-da-pesquisa-do-ecossistema-de-desenvolvedores-de-2023/
Projetos de Helpdesk chegam ao YouTrack https://blog.jetbrains.com/pt-br/youtrack/2023/05/projetos-de-helpdesk-chegam-ao-youtrack/ Wed, 03 May 2023 12:15:57 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/05/blog_featured_br.png https://blog.jetbrains.com/?post_type=youtrack&p=347962

O YouTrack 2023.1 apresenta o YouTrack Helpdesk, que permite otimizar seus serviços de suporte para clientes externos e internos. Com o novo tipo de projeto de Helpdesk, melhorias significativas nos agentes de suporte e a capacidade de trabalhar com um número ilimitado de clientes e suas solicitações, o YouTrack oferece suporte experiente ao cliente para todos os projetos das suas equipes em uma única ferramenta fácil de usar.

Mas isso não é tudo o que há de novo no YouTrack 2023.1. Melhorias na Base de Conhecimento facilitam a criação de documentações públicas e perguntas frequentes. As integrações com o Zendesk e caixas de correio foram melhoradas para facilitar a migração do serviço de suporte ao cliente. Novas opções de conteúdo, como a capacidade de incorporar boards do Miro e vídeos do Google Drive nas suas tarefas e artigos, ajudarão você a enriquecer sua Base de Conhecimento, tickets e tarefas.

Resumo do YouTrack Helpdesk

A experiência do YouTrack Helpdesk começa com o novo tipo de projeto de Helpdesk dedicado. Criamos esses projetos pensando nos agentes de suporte e em outros membros da equipe, ajudando você a organizar seu sistema de suporte para clientes externos ou sua central de serviços para clientes internos. Você trabalha com esses projetos na mesma interface do YouTrack que já conhece e adora, juntamente com outros projetos gerenciados pelas suas equipes. As solicitações dos clientes podem ser coletadas por e-mail ou um formulário personalizável que pode ser criado em um site ou portal interno. Essas solicitações chegam ao projeto de Helpdesk como tickets.

Ao trabalharem com tickets, seus agentes de suporte têm acesso a vários instrumentos especificamente adaptados para cenários de suporte comuns, como comentários internos e externos, modelos de assinatura e resposta, recursos de gerenciamento de contratos de nível de serviço (SLA) e muito mais. As atualizações de tickets são entregues aos clientes por e-mail.

Você pode usar o YouTrack para se conectar mais de perto com seus clientes. Seguindo sua URL do YouTrack, os relatores terão acesso aos seus tickets e ao conteúdo público da Base de Conhecimento. A Base de Conhecimento armazena não só documentos visíveis para os membros da sua equipe, como também perguntas frequentes disponíveis publicamente, documentações e outros recursos valiosos para os relatores.

Nos projetos de Helpdesk você pode trabalhar com um número ilimitado de clientes e solicitações gratuitamente. Cada projeto de Helpdesk começa com três agentes de suporte que podem usar todas as funcionalidades gratuitamente, tanto no YouTrack Server quanto no YouTrack Cloud. Se a sua equipe de suporte crescer, você poderá mudar para uma assinatura paga para quatro ou mais agentes a qualquer momento. Para usuários de outras soluções de helpdesk, oferecemos 10 agentes de suporte por 1 ano gratuitamente no YouTrack Helpdesk Cloud. Para obter mais detalhes, confira a página de preços do YouTrack Helpdesk.

Projetos de helpdesk são projetados tendo em mente os agentes de suporte e outros membros da equipe

Fornecer suporte de alta qualidade é impensável sem um espaço de trabalho conveniente onde seus agentes de suporte possam se comunicar com os clientes. Ouvimos o feedback de várias equipes de suporte e trabalhamos para reunir uma coleção de recursos que os ajudará a lidar com tickets de maneira tranquila e eficiente.

O foco no cliente geralmente começa com o envolvimento de vários membros da equipe ao lidar com as solicitações de clientes. Com o YouTrack Helpdesk, é fácil para os membros de várias equipes colaborar em tickets de suporte e ajudar a resolver dúvidas. Com o mínimo de tempo perdido com a troca de contexto, os membros de outras equipes podem ajudar os agentes de suporte sem sacrificar sua própria produtividade.

Helpdesk para agentes de suporte

Colete as informações de que você precisa dos clientes

O YouTrack Helpdesk permite coletar tickets por e-mail e formulários personalizáveis. Usar um formulário para coletar tickets oferece flexibilidade para definir campos obrigatórios e opcionais. Quando você finalizar seu formulário e gostar da aparência dele no editor visual do YouTrack, basta copiar um bloco de código e incorporá-lo ao site onde seus clientes o usarão.

Visão geral dos tickets

Como agente de suporte, na hora de cuidar dos tickets recebidos, o melhor lugar para começar é na exibição dedicada do Helpdesk. Você pode obter uma visão geral de todos os tickets ou alternar facilmente entre pesquisas predefinidas, como “Todos os tickets”, “Tickets não resolvidos” e “Tickets atribuídos a você”, entre outros. Vários filtros e colunas personalizáveis permitem revisar os detalhes necessários, e você sempre pode salvar uma pesquisa filtrada para verificá-la mais tarde ou simplesmente compartilhá-la com seus colegas.

Discuta tickets com a equipe e publique suas respostas

Quando um agente de suporte comenta em um ticket, ele tem a opção de enviar a resposta diretamente ao cliente ou mantê-la interna. Neste último caso, outros membros da equipe ainda poderão participar da discussão, mas suas respostas serão visíveis apenas internamente. Quando uma solução estiver pronta, o agente de suporte poderá publicar uma resposta externa, que será enviada ao cliente por e-mail.

Se houver um erro de digitação ou um erro na mensagem, os agentes terão 60 segundos para cancelar a publicação de seus comentários.

Use assinaturas predefinidas e modelos de resposta

Se precisar digitar as mesmas respostas repetidamente, você pode economizar tempo com modelos de resposta e assinaturas automáticas. Você pode adicionar respostas comuns aos modelos nas configurações do projeto de Helpdesk e usá-las ao postar comentários. Assinaturas de agentes também podem ser predefinidas e adicionadas automaticamente em cada resposta dos agentes públicos.

Acompanhe tempos de resposta com SLAs

Projetos de Helpdesk tornam mais fácil para sua equipe gerenciar SLAs. Você pode especificar o tempo de resposta esperado para solicitações dependendo de vários critérios, como dias e horas de trabalho, tipo e prioridade, entre outros. O YouTrack automaticamente atualizará os tickets com a linha do tempo real do SLA.

Automatize seu suporte com workflows 

Os workflows do YouTrack reforçam o suporte que você pode fornecer, com várias opções para personalizar os processos de acordo com seus clientes e sua equipe. Alguns workflows predefinidos estão disponíveis imediatamente, incluindo aqueles que permitem mesclar tickets duplicados, fechar tickets pendentes automaticamente e muito mais.

Você sempre tem a opção de usar um construtor de workflow visual ou um editor de workflow JavaScript para criar automações mais poderosas para o seu processo de suporte. Por exemplo, workflows podem ser projetados para redirecionar solicitações para a equipe ou agente apropriado com base no tipo de solicitação, ou em outros critérios e muito mais.

Helpdesk sob a perspectiva de outras equipes

Quanto melhor sua equipe de suporte e o restante da empresa colaborarem nas solicitações, maiores serão as chances de os seus clientes receberem as respostas de que precisam. 

Garanta a segurança das comunicações

Os projetos de suporte propriamente ditos ficam visíveis para todos os relatores, enquanto os tickets dentro desses projetos ficam visíveis apenas para o relator que os criou e a equipe de suporte. Todas as informações de um ticket e a comunicação dentro dele são totalmente seguras e ficam acessíveis apenas à equipe do projeto de Helpdesk e ao relator. Os relatores visualizam apenas os tickets que enviaram, o que significa que os dados privados dos clientes não serão divulgados publicamente. No entanto, você sempre pode atualizar as configurações de visibilidade interna da sua equipe, escolhendo quem deve fazer parte de cada projeto de Helpdesk, seja colaborando como agentes de suporte ou simplesmente visualizando os dados e comentando internamente os tickets como membros do projeto.

Mesmo se você habilitar um projeto de Helpdesk no YouTrack e disponibilizá-lo para uma equipe específica, o restante da sua organização não poderá visualizar o YouTrack Helpdesk e seus tickets, a menos que façam parte desse projeto. 

Entre para ajudar com facilidade

Colegas não diretamente responsáveis por tarefas de suporte que são simplesmente convidados a discutir casos específicos podem alternar facilmente entre tickets e outras tarefas na tela Issues com as quais já estão acostumados. Todos os workflows comuns permanecerão intactos, e será fácil intervir para ajudar. Por exemplo, notificações para tickets são entregues da mesma forma que para tarefas.

Gerencie seu processo com uma visão geral concisa

Os relatórios do YouTrack fornecem informações sobre tickets. Relatórios que abrangem distribuição de tickets, tempo e transição de estado fornecem aos gerentes informações essenciais sobre o workflow de suporte.

Com base nesses relatórios, você também pode criar dashboards separados para obter diferentes visões gerais, por exemplo, para saber o quão ocupada está sua equipe de atendimento ao cliente num determinado dia.

Convide seus clientes para o YouTrack Helpdesk

Os clientes sempre receberão respostas às suas solicitações por e-mail. Mas, e se você quiser que eles tenham acesso a mais informações em um só lugar? Convide-os diretamente para o YouTrack!

Usando a mesma URL do YouTrack que os membros da sua equipe, seus clientes terão acesso a uma base de conhecimento pública a e uma lista de seus tickets com todas as atualizações públicas. Embora eles tenham acesso a essas informações públicas, a comunicação interna da sua equipe no ticket não ficará visível para eles.

Os clientes também poderão continuar a conversa com sua equipe nos comentários de tickets, fornecer informações adicionais anexando arquivos e muito mais.

Outras melhorias no YouTrack 2023.1

Use tags e a poderosa funcionalidade de pesquisa na sua Base de Conhecimento

A Base de Conhecimento no YouTrack é frequentemente usada para criar perguntas frequentes ou documentações de produtos. Com a introdução de projetos de Helpdesk e relatores ilimitados no YouTrack, é um ótimo momento para começar a construir uma Base de Conhecimento pública para os seus clientes. 

A abordagem de visibilidade granular do YouTrack ajudará a manter as informações direcionadas a públicos específicos. Como os artigos na Base de Conhecimento pertencem a um projeto específico, você pode criar um projeto de Helpdesk separado no qual publica todas as suas documentações externas e as disponibiliza para os relatores. Sua equipe de suporte também pode achar conveniente ter artigos internos na Base de Conhecimento. Se você optar por armazená-los no mesmo projeto, poderá usar as configurações de visibilidade do artigo para especificar qual conteúdo é acessível ao público e qual é apenas interno.

A capacidade de localizar informações relevantes com eficiência na Base de Conhecimento é importante tanto para seus clientes externos quanto para os membros da sua equipe. Para ajudar, adicionamos filtros para tornar a funcionalidade de pesquisa da Base de Conhecimento ainda mais poderosa. Além disso, os artigos da Base de Conhecimento agora oferecem suporte a tags para usuários internos.

Melhorias na integração com o Zendesk e caixas de correio

Atualização da integração com o Zendesk. Se você usa o Zendesk para lidar com solicitações de clientes, dê uma olhada na integração melhorada com o Zendesk. Ela pode ajudar a migrar o serviço de suporte para a nova ferramenta ou a executar ambos em paralelo. Com a integração com o Zendesk habilitada, você tem uma abordagem simplificada para todas as solicitações dos seus clientes. Quando um novo ticket aparece no Zendesk, a integração cria um novo ticket no YouTrack com um link para ele.

Melhoria na integração com caixas de correio. Melhoramos o desempenho e a confiabilidade ao trabalhar com e-mails, garantindo que suas integrações com caixas de correio e a comunicação com os clientes em projetos de Helpdesk sejam eficientes. Para os administradores do YouTrack, adicionamos uma visualização para verificar o status da integração com a caixa de correio e controlar o fluxo de e-mails processados.

Confira as Notas de lançamento para conhecer os detalhes técnicos completos e a lista de correções de bugs e melhorias neste lançamento. Para saber mais sobre como configurar os novos recursos, acesse a documentação.

Se você usar o YouTrack Cloud, seu YouTrack será atualizado automaticamente para a versão 2023.1, de acordo com nosso Calendário de manutenção. Se você tiver uma assinatura Server ativa, poderá baixar o YouTrack 2023.1 hoje mesmo. Se você ainda não tem uma licença, pode usar a avaliação gratuita para experimentar a nova versão antes de investir! Para obter mais informações sobre as opções de licenciamento disponíveis para o YouTrack e o YouTrack Helpdesk, visite nossa página de compra.

O YouTrack Helpdesk estará disponível para todos os clientes do YouTrack Server, bem como para todos os clientes do YouTrack Cloud com o plano gratuito ou uma assinatura comercial por usuário após o upgrade para a versão 2023.1. Os clientes do Cloud com as antigas assinaturas de pacote de usuários devem migrar para o novo modelo de assinatura por usuário para começar a usar o YouTrack Helpdesk. Entre em contato com nossa equipe de vendas para saber mais.

Seu feedback é sempre bem-vindo. Compartilhe conosco nos comentários abaixo e não hesite em entrar em contato com nossa equipe de suporte se tiver alguma dúvida. Estamos sempre aqui para ajudar!

Equipe do YouTrack

Artigo original em inglês por:

Luiz Di Bella

Elena Pishkova

]]>
https://blog.jetbrains.com/zh-hans/youtrack/2023/05/projetos-de-helpdesk-chegam-ao-youtrack/ https://blog.jetbrains.com/tr/youtrack/2023/05/projetos-de-helpdesk-chegam-ao-youtrack/ https://blog.jetbrains.com/ko/youtrack/2023/05/projetos-de-helpdesk-chegam-ao-youtrack/ https://blog.jetbrains.com/ja/youtrack/2023/05/projetos-de-helpdesk-chegam-ao-youtrack/ https://blog.jetbrains.com/fr/youtrack/2023/05/projetos-de-helpdesk-chegam-ao-youtrack/ https://blog.jetbrains.com/es/youtrack/2023/05/projetos-de-helpdesk-chegam-ao-youtrack/ https://blog.jetbrains.com/youtrack/2023/05/projetos-de-helpdesk-chegam-ao-youtrack/ https://blog.jetbrains.com/de/youtrack/2023/05/projetos-de-helpdesk-chegam-ao-youtrack/
Novos projetos e temas da JetBrains Academy: Atualização de abril https://blog.jetbrains.com/pt-br/education/2023/05/03/novos-projetos-e-temas-da-jetbrains-academy-atualizacao-de-abril/ Wed, 03 May 2023 10:36:59 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/04/Blog_Featured_image_1280x600-10.png https://blog.jetbrains.com/?post_type=education&p=347966 Na JetBrains Academy, acreditamos que o aprendizado pode ser educativo e divertido. Nossos projetos mais recentes permitem que você construa seu próprio semáforo, crie um sistema de agendamento de consultas hospitalares e até mesmo um projeto para hackear senhas, combinando aprendizado e diversão.

Este mês, lançamos 10 novos projetos e 36 temas em diversas áreas de programação, incluindo Java, Python, Flask, front-end e ciência de dados. Vejamos mais de perto as novidades do nosso repositório de projetos.

Java

🆕 Projeto: Traffic Light (Beta). Médio

Você sabe como funcionam os semáforos? Neste projeto, você terá a oportunidade de criar uma versão simplificada do seu próprio semáforo e aprender uma variedade de novas habilidades ao longo do processo. Ao final do projeto, você será capaz de trabalhar com multithreading, lidar com exceções, herdar classes e usar a estrutura de dados de fila circular.

🆕 Projeto: Hospital Appointment Booking System (Beta). Difícil

Neste projeto, você aprenderá a criar serviços REST com o Spring Boot e a trabalhar com bancos de dados, JSON e fundamentos da API REST. Usando suas novas habilidades, você desenvolverá um sistema de agendamento baseado em uma API REST que melhorará a administração de hospitais. Os pacientes poderão agendar consultas facilmente, o médico-chefe poderá monitorar as cargas de trabalho dos médicos, e os médicos poderão planejar melhor suas agendas.

🆕 Projeto: Password Hacker (Beta). Desafiador

Prepare-se para entrar no mundo dos hackers com nosso projeto Java! Como hacker, sua missão é se conectar a um servidor secreto sem saber a senha. Por meio desse projeto, você conhecerá as principais ferramentas e técnicas usadas no mundo dos hackers, incluindo iteradores, geradores e o módulo itertools em Java. Você também desenvolverá um aplicativo cliente, se conectará a um servidor usando o módulo socket e, ao mesmo tempo, terá uma compreensão mais profunda sobre JSON e o módulo time.

Além disso, o projeto Meal Planner saiu da fase Beta.

🆕 Temas:

Python

🆕 Projeto: Jeopardy! Question Answering Bot (Beta). Desafiador

Desafie-se com nosso projeto de perguntas e respostas ao estilo Jeopardy!, no qual você criará um bot capaz de responder a perguntas de diversas áreas de conhecimento. Será que você consegue superar o IBM Watson, famoso por vencer humanos neste jogo em 2011? Aprenda a usar algoritmos de incorporação de frases para separar as perguntas de usuários e ganhe insights sobre como preparar um corpus para criar um sistema de perguntas e respostas.

🆕 Projeto: Marathon Runners (Beta). Difícil

Entre no mundo do machine learning, implementando um dos algoritmos mais populares: o k-nearest neighbors (KNN). Nesse projeto, você usará ferramentas Python básicas para desenvolver o algoritmo KNN do zero e resolver problemas de classificação. Você aprenderá sobre os tipos básicos de dados, praticará o uso de funções Python e terá uma introdução à programação orientada a objetos. Além disso, você aprenderá a preparar e normalizar dados antes de os alimentar em um algoritmo de machine learning.

🆕 Projeto: Learning Progress Tracker (Beta). Difícil

Construa uma plataforma educacional para gerenciar matrículas, acompanhar o progresso do aprendizado e fornecer informações detalhadas para usuários e categorias. Você praticará o uso de loops, controles de fluxo, decomposição funcional e princípios SOLID. Saiba como processar strings e aproveitar a framework unittest para garantir um código sem erros. Coleções adequadas, como listas, serão usadas para classificar e filtrar dados.

Além disso, retiramos os projetos Simple Text Summarization, Sorting Tool e Video Game Database da fase Beta, com recursos e funcionalidades aprimorados para os alunos.

Flask

🆕 Projeto: Movie Database API (Beta). Desafiador

Os cinéfilos vão adorar esse novo projeto. Usando um banco de dados de filmes, você aprenderá a usar o SQLAlchemy para projetar e implementar mapeamentos de tabelas de banco de dados, inserir e recuperar dados e filtrar dados criando consultas SQL. Você também obterá uma experiência valiosa com a implementação de modelos de dados e relacionamentos em um esquema de banco de dados. Traga a pipoca e vamos começar!

Além disso, o projeto Memorization Tool saiu da fase Beta.

Front-end

🆕 Projeto: URL Shortener (Beta) Médio.

Neste projeto, você criará uma página Web para encurtar URLs de sites usando HTML e JavaScript. Você também praticará a manipulação do DOM (Document Object Model) para receber informações do usuário e exibir os resultados dinamicamente. Esta é uma ótima oportunidade para aplicar suas habilidades em HTML e JavaScript em um ambiente prático e ganhar experiência prática com desenvolvimento Web.

🆕 Projeto: Dog Glossary (Beta). Difícil

Quem não adora de ver fotos de cachorros fofos online? Crie sua página Web para exibir fotos aleatórias de cães e uma lista de raças usando uma API pública. Este projeto ajudará você a praticar o manuseio de APIs e a melhorar suas habilidades com HTML e JavaScript. Ao recuperar dados de uma API e exibi-los na página da Web, você aprenderá a trabalhar com promises e lidar com diferentes estruturas de dados.

🆕 Temas:

Ciência de dados

🆕 Projeto de Machine learning: Naive Bayes Classifier with Pen and Paper (Beta). Fácil

Nesse projeto, você conhecerá o processo de conversão de palavras em dados numéricos e descobrirá o funcionamento interno do classificador Naive Bayes. Ao trabalhar em um conjunto de dados simples, você se familiarizará com a resolução de problemas de classificação. Também aprenderá sobre identificação de linguagem, uma tarefa crucial no processamento de linguagem natural, e descobrirá como criar um classificador básico apenas com papel e caneta.

Além disso, os projetos Generating Randomness e Linear Regression from Scratch estão agora fora da fase Beta.

🆕 Temas:

Este mês, também lançamos uma nova trilha, Game Development with Unity, e atualizamos a trilha Introduction to Natural Language Processing. Veja se você as perdeu.

Kotlin

O projeto Contacts saiu da fase Beta.

🆕 Temas:

Bash (shell Unix)

O projeto Enigma já saiu da fase Beta.

Android

🆕 Tema: Parcel e Bundle

Fundamentos

🆕 Temas:

Observe que os projetos marcados como “beta” ainda estão nos estágios iniciais de teste. Se você tem interesse em experimentar projetos Beta na plataforma, verifique se o recurso de testador Beta está habilitado nas suas configurações de perfil.

Isso é tudo para este mês! Esperamos que você ache essas atualizações valiosas e que elas melhorem sua experiência de aprendizado. Como sempre, seus comentários e sugestões são muito bem-vindos, então não hesite em entrar em contato conosco em academy@jetbrains.com ou de compartilhar suas opiniões conosco no Twitter ou Facebook.

Divirta-se aprendendo!
A equipe da JetBrains Academy

Artigo original em inglês por:

Luiz Di Bella

Anastasiia Pogorelova

]]>
https://blog.jetbrains.com/ja/education/2023/05/03/novos-projetos-e-temas-da-jetbrains-academy-atualizacao-de-abril/ https://blog.jetbrains.com/es/education/2023/05/03/novos-projetos-e-temas-da-jetbrains-academy-atualizacao-de-abril/ https://blog.jetbrains.com/education/2023/05/03/novos-projetos-e-temas-da-jetbrains-academy-atualizacao-de-abril/
As ferramentas do seu JetBrains All Products Pack estão prontas para serem atualizadas para a versão 2023.1 https://blog.jetbrains.com/pt-br/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/ Tue, 18 Apr 2023 14:57:51 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/04/Blog_Featured_image_1280x600-2.png https://blog.jetbrains.com/?post_type=blog&p=343442 Lançamos a primeira atualização anual, 2023.1, para todos os IDEs e as ferramentas .NET da JetBrains.

IDEs baseados no IntelliJ

Você encontrará os seguintes novos recursos disponíveis na maioria dos IDEs:

  • A nova interface do usuário foi atualizada para oferecer a você uma experiência mais refinada e perfeita. Ele ainda está na versão beta e está disponível como uma configuração.
  • Vários novos recursos facilitam o trabalho com Git, GitHub e outros sistemas de controle de versão, incluindo um pop-up Branches melhorado, verificações de commit em segundo plano e mais.
  • As melhorias em desenvolvimento para a Web incluem o novo suporte ao framework Astro e aperfeiçoamentos para os usuários do Vue, React e Angular.
  • Incluímos suporte aos principais recursos do futuro TypeScript 5.0.
  • Novos recursos foram adicionados para facilitar o trabalho com o Docker, incluindo uma exibição de log combinada de todos os containers Docker Compose e suporte para o Azure Container Registry.

Há muito mais mudanças específicas de cada produto. Veja os resumos abaixo e vá fundo para saber mais sobre os produtos do seu interesse.

IntelliJ IDEA 2023.1 já está disponível com diversos novos recursos e melhorias. A nova interface do usuário foi atualizada para oferecer a você uma experiência mais refinada e perfeita. Os mais recentes aprimoramentos de desempenho resultaram em importações Maven mais rápidas e na disponibilidade antecipada de recursos do IDE ao abrir projetos, bem como um processo de commit simplificado graças às verificações de commit em segundo plano. O IntelliJ IDEA Ultimate agora oferece suporte à navegação para mapeamentos de solicitações e agentes de correspondência do Spring Security. Estas são só algumas das melhorias na v2023.1, projetadas para otimizar a sua experiência de programação e aumentar a sua produtividade.

O PyCharm 2023.1 traz o tão esperado suporte a notebooks remotos do Jupyter! Agora você pode se conectar a notebooks remotos, copiá-los, colá-los, modificá-los e depurá-los de dentro do IDE. A nova versão vem com fluxos de trabalho aperfeiçoados para revisão de código e melhor realce de sintaxe na Documentação Rápida.

O DataGrip 2023.1 é uma versão com foco na qualidade; ela não acrescenta nenhum novo recurso, mas corrige muitos bugs irritantes.

O Rider 2023.1 melhorou o suporte a C#, incluindo um conjunto de inspeções para otimizar e acelerar o seu trabalho com diferentes tipos de coleções e maneiras mais ajustáveis de incluir verificações de null no seu código. O desenvolvimento de jogos usando o Rider foi turbinado pela introdução do suporte ao Data Oriented Tech Stack (DOTS) do Unity e ao Unreal Engine 5.2, incluindo as atualizações recentes ao formato de arquivo Blueprints e suporte ao Godot 4. Há também algumas melhorias nas ferramentas de controle de versão e no trabalho com o Docker, além de vários aperfeiçoamentos na nova interface e experiência geral do usuário.

O RubyMine 2023.1 vem com suporte ao Rails 7 e o Ruby 3.2, novas atualizações na interface de usuário, complementação de código mais rápida, menor consumo de memória, melhorias na sincronização de gems no WSL, navegação mais fácil, trabalho com contextos e exemplos compartilhados no RSpec e melhor integração com o Docker.

O GoLand 2023.1 introduz o verificador de vulnerabilidades, melhor navegação em código gRPC e refatoração de Rename para receptores genéricos. Agora, você pode executar arquivos de rascunho com pacotes de bibliotecas fora do padrão e converter rapidamente literais de string brutos em literais com aspas duplas e vice-versa.

O CLion 2023.1 traz uma solução para gerenciamento de pacotes, leva sua experiência de depuração a um novo patamar, ajuda na programação QML e inclui uma série de melhorias na nova interface de usuário.

O PhpStorm 2023.1 é um grande lançamento que inclui atualizações na nova interface de usuário, integração com 3v4l.org, melhor desempenho, DFA no depurador, suporte a projetos com vários arquivos composer.json, melhorias em elementos genéricos no PHP e muito mais.

O WebStorm 2023.1 vem com suporte ao Astro, suporte a TypeScript em expressões de templates do Vue, configuração de CSS no Tailwind, zoom total do IDE, refinamentos na nova interface de usuário, integração com controle de versões e mais.

Ferramentas .NET e extensões VS

O ReSharper 2023.1 melhorou o suporte a C#, incluindo um conjunto de inspeções para otimizar e acelerar o seu trabalho com diferentes tipos de coleções e maneiras mais ajustáveis de incluir verificações de null no seu código.

Estas atualizações também chegaram ao Rider 2023.1, além de alguns aperfeiçoamentos nas ferramentas de controle de versões, recursos para trabalhar com o Docker, visualizadores de variáveis de string no depurador e diversas melhorias na experiência e na interface de usuário. O desenvolvimento de jogos usando o Rider foi turbinado pela introdução do suporte ao Data Oriented Tech Stack (DOTS) do Unity e ao Unreal Engine 5.2, incluindo as atualizações recentes ao formato de arquivo Blueprints e suporte ao Godot 4.

O ReSharper C++ 2023.1 vem com atualizações para recursos do C++ 20 e 23. Esta versão também introduz o Call tracking e a pré-visualização de substituições de macros nas dicas de ferramentas e nos pop-ups da Quick Documentation.

Agora a versão standalone do dotTrace também está disponível no Linux e no macOS.

E é isso, mas este artigo mal arranha a superfície desse novo lançamento gigante. Esperamos que essas atualizações tornem seu trabalho mais agradável e ajudem você a melhorar ainda mais sua produtividade.

Recomendamos atualizar suas ferramentas da JetBrains gratuitamente através do Toolbox App. Se você ainda não o tiver, baixe o aplicativo e gerencie facilmente as suas ferramentas de desenvolvimento!

A Equipe da JetBrains

Artigo original em inglês por:

Luiz Di Bella

Eugene Toporov

]]>
https://blog.jetbrains.com/zh-hans/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/ https://blog.jetbrains.com/tr/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/ https://blog.jetbrains.com/ko/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/ https://blog.jetbrains.com/ja/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/ https://blog.jetbrains.com/fr/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/ https://blog.jetbrains.com/es/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/ https://blog.jetbrains.com/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/ https://blog.jetbrains.com/de/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/ https://blog.jetbrains.com/cs/blog/2023/04/18/as-ferramentas-do-seu-jetbrains-all-products-pack-estao-prontas-para-serem-atualizadas-para-a-versao-2023-1/
KotlinConf 2023: participe da transmissão ao vivo e tenha respostas às suas dúvidas! https://blog.jetbrains.com/pt-br/kotlin/2023/04/kotlinconf-2023-participe-da-transmissao-ao-vivo-e-tenha-respostas-as-suas-duvidas/ Tue, 11 Apr 2023 14:53:51 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/03/DSGN-16095-KotlinConf-Livestream-promotion_Blog-Featured-image-1280x600-1.png https://blog.jetbrains.com/?post_type=kotlin&p=342006 O KotlinConf 2023 está quase chegando! 

Pronto para participar da canferência? Estaremos transmitindo a KotlinConf’23 ao vivo no YouTube, de modo que você terá acesso total à conferência, mesmo que não possa comparecer pessoalmente! 

Participe da transmissão ao vivo

Estes são alguns destaques que você definitivamente não vai querer perder:

Keynote de abertura

Vamos começar nossa transmissão ao vivo com uma palestra de abertura de Roman Elizarov, Svetlana Isakova, Egor Tolstoy e Grace Kloba. Não deixe de acessar em 13 de abril às 09:00 no Horário de Verão da Europa Central (CEST) — 04:00 no Horário de Brasília ou 08:00 em Lisboa.

Cinco trilhas

A transmissão ao vivo continuará depois da keynote de abertura, com sessões em 13 e 14 de abril.

Confira a programação da KotlinConf’23 para as suas sessões favoritas e salve os horários na sua agenda. Os links para a transmissão de cada trilha e sessão estarão disponíveis em breve na programação da KotlinConf.

Painel de encerramento

Participe conosco do painel de encerramento com Hadi Hariri e outros palestrantes no dia 14 de abril às 17:15 CEST (12:15 em Brasília ou 16:15 em Lisboa). Esta será a oportunidade perfeita de fazer todas as perguntas sobre o Kotlin que você sempre quis fazer! Basta postá-las no Twitter, Facebook ou LinkedIn com a hashtag #kc23ask. Selecionaremos as perguntas mais interessantes para serem respondidas pelos participantes do painel de encerramento. 

Confira a programação

Gravações

Assistir à KotlinConf’23 ao vivo é, sem dúvida, a experiência de maior imersão. Mas se você não puder assistir ao vivo, as gravações de todas as sessões estarão disponíveis no nosso canal do YouTube em 1º de maio de 2023. Você também terá acesso às gravações das KotlinConfersations, um programa filmado no local, apresentando entrevistas com os palestrantes e participantes do congresso. O programa será apresentado por Huyen Tue Dao, palestrante da KotlinConf.

KotlinConf Global

Entre nessa com a KotlinConf Global e você poderá assistir ao congresso e discuti-lo juntamente com os membros da comunidade. Confira nosso mapa para ver se haverá algum evento da KotlinConf Global perto de você. 

Tenha uma ótima KotlinConf 2023!

Artigo original em inglês por:

Luiz Di Bella

Ksenia Shneyveys

]]>
https://blog.jetbrains.com/zh-hans/kotlin/2023/04/kotlinconf-2023-participe-da-transmissao-ao-vivo-e-tenha-respostas-as-suas-duvidas/ https://blog.jetbrains.com/ko/kotlin/2023/04/kotlinconf-2023-participe-da-transmissao-ao-vivo-e-tenha-respostas-as-suas-duvidas/ https://blog.jetbrains.com/ja/kotlin/2023/04/kotlinconf-2023-participe-da-transmissao-ao-vivo-e-tenha-respostas-as-suas-duvidas/ https://blog.jetbrains.com/fr/kotlin/2023/04/kotlinconf-2023-participe-da-transmissao-ao-vivo-e-tenha-respostas-as-suas-duvidas/ https://blog.jetbrains.com/es/kotlin/2023/04/kotlinconf-2023-participe-da-transmissao-ao-vivo-e-tenha-respostas-as-suas-duvidas/ https://blog.jetbrains.com/kotlin/2023/04/kotlinconf-2023-participe-da-transmissao-ao-vivo-e-tenha-respostas-as-suas-duvidas/ https://blog.jetbrains.com/de/kotlin/2023/04/kotlinconf-2023-participe-da-transmissao-ao-vivo-e-tenha-respostas-as-suas-duvidas/
Mantenha o Seu Código PHP Seguro com a Taint Analysis do Qodana https://blog.jetbrains.com/pt-br/qodana/2023/03/mantenha-o-seu-codigo-php-seguro-com-a-taint-analysis-do-qodana/ Fri, 31 Mar 2023 19:28:20 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/03/Blog_Featured_image_1280x600-17.png https://blog.jetbrains.com/?post_type=qodana&p=338175 Esta postagem do blog é um oferecimento do Qodana — uma plataforma de qualidade de código da JetBrains. Essa plataforma foi projetada para trazer análise estática pelo lado do servidor à sua ferramenta preferida de CI. Por usar as mesmas inspeções de código e os mesmos perfis que o PhpStorm e outros IDEs da JetBrains, o Qodana ajuda a garantir que haja verificações consistentes da qualidade do código tanto no seu IDE quanto no seu ambiente de CI.

Basta apenas um usuário para explorar uma vulnerabilidade no seu projeto e invadir o seu sistema. Para defender os programas contra entradas de dados maliciosas por usuários externos (conhecidas como “taints”), as equipes de desenvolvimento adicionam a verificação de taints às suas rotinas de análise estática. 

No primeiro lançamento deste ano, a equipe do Qodana incorporou a taint analysis para PHP na versão de acesso antecipado (EAP). Este recurso está disponível apenas no Qodana para PHP 2023.1 (jetbrains/qodana-php:2023.1-eap). O Qodana para PHP foi o primeiro linter que lançamos; então, decidimos deixar os desenvolvedores PHP também serem os primeiros a testarem nossas novas funções de segurança. Planejamos adicionar mais linguagens no futuro, depois de termos coletado feedback suficiente.

Continue lendo para saber mais sobre o que é taint analysis e como ela funciona no Qodana. 

COMEÇAR COM O QODANA

O que é taint analysis?

Um taint é qualquer valor que possa representar um risco de segurança quando modificado por um usuário externo. Se você tiver um taint no seu código e dados externos não verificados puderem ser distribuídos a partes do seu programa, hackers poderão executar esses fragmentos não verificados de código para provocar injeção de SQL, overflow aritmético, cross-site scripting, path traversal e outros ataques. Geralmente, eles exploram essas vulnerabilidades para destruir o sistema, obter credenciais e outros dados e alterar o comportamento do sistema.

Exemplo de um taint. São mostrados na tela dados arbitrários do parâmetro GET. Por exemplo, usuários mal-intencionados podem explorar essa vulnerabilidade para interferir no layout do seu programa.  

Como uma camada adicional de defesa contra dados de entrada mal-intencionados, as equipes de desenvolvimento executam uma taint analysis ao efetuarem uma auditoria de segurança na superfície de ataque do programa. 

A taint analysis é o processo de avaliar o fluxo de dados de entrada não confiáveis de usuário por todo o corpo de uma função ou método. Seu objetivo principal é determinar se algum dado de entrada não previsto pode afetar a execução do programa de forma mal-intencionada. 

Fontes de taints são locais onde um programa tem acesso a dados que podem potencialmente ser taints. Pontos-chave em um programa que podem ser suscetíveis a permitir a entrada de taints são chamados taint sinks. Esses dados podem ser propagados aos sinks através de chamadas a funções ou de atribuições.

Se você fizer uma taint analysis manual, deverá identificar todos os lugares onde você aceita dados de usuários externos e seguir cada um desses dados através do sistema — os dados com taints podem ser usados em dezenas de nós. Depois, para evitar a propagação dos taints, você deve fazer uma das duas abordagens descritas abaixo:

  1. Higienizar os dados, isto é, colocá-los em um estado seguro. No exemplo abaixo, removemos tags para resolver o taint. 
  1. Validar os dados, isto é, assegurar-se de que os dados adicionados seguem um padrão necessário. No exemplo abaixo, ativamos a validação da variável $email

Em outras palavras, a inspeção da taint analysis rastreia dados de usuário com taints desde a sua fonte até os seus sinks e dá o alarme quando você trabalha com esses dados sem higienizá-los ou validá-los. 

Como funciona a taint analysis no Qodana

A taint analysis é efetuada pelo Qodana para PHP a partir da versão 2023.1 EAP. Este recurso inclui uma inspeção que varre o código e realça o taint e a vulnerabilidade em potencial, tem a capacidade de abrir o problema no PhpStorm para resolvê-lo na mesma hora e inclui um grafo de fluxo de dados para visualizar o fluxo do taint. 

Exemplo nº 1. Injeção de SQL 

Vamos dar uma olhada em um exemplo de injeção de SQL e como o Qodana a detecta:

Aqui, o Qodana mostra os seguintes taints na função system_admin():

Marcadores 1-2: Dados de entrada do formulário do usuário são obtidos do array global $_POST, sem nenhuma higienização ou validação, e são atribuídos à variável $edit. Isto é um taint.

Marcador 3: A variável com taint $edit é passada como argumento à função system_save_settings sem nenhuma higienização adequada.

Marcador 4: Agora os dados da variável $edit estão no parâmetro $edit.

Marcador 5: A variável $edit é passada ao foreach com a chave $filename e o valor $status. As duas variáveis contêm os dados com taint da variável $edit concatenada à string. A chave $filename está concatenada a uma string de SQL com taint e irá propagar dados com taint para um argumento passado a db_query.

Marcador 6: A chave $filename contém os dados com taint da variável $edit concatenada à string.

Marcador 7: A chave $filename está concatenada a uma string de SQL com taint.

Marcador 8: A string de SQL com taint irá propagar dados com taint a um argumento passado a db_query.

Agora, vamos dar uma olhada em db_query:

Marcador 9: A string com taint estará localizada no parâmetro $query.

Marcador 10: Este parâmetro será um argumento da função _db_query.

Vamos prosseguir para a função _db_query:

Marcador 11: Os dados com taint estão localizados no primeiro parâmetro $query da função _db_query.

Marcador 12: Os dados do parâmetro são passados à função mysql_query, que é um sink.

Todo o fluxo de dados acima ilustra como os dados se movem de $_POST["edit"] até mysql_query($query) sem nenhuma higienização ou validação. Isso permite a um atacante manipular a consulta SQL que foi concatenada a uma chave de $_POST["edit"] e assim acionar a injeção de SQL

O Qodana identificará esses riscos na sua base de código, juntamente com todos os nós onde se usam dados com taint, para que você possa higienizar a tempo todos os dados com taint. 

 

Abrindo o problema no PhpStorm.

Exemplo nº 2. Problema de XSS

Na interface de usuário do Qodana, você poderá ver um grafo que mostra todo o fluxo do taint. É assim que o Qodana mostrará a vulnerabilidade de XSS, que contém 2 fontes que seriam reunidas no marcador 5.

Fonte 1

Marcadores 1-2: Serão lidos os dados do arquivo searchUpdate.pos e dados com taint serão atribuídos à variável $start.

Fonte 2

Marcadores 3-4: Serão lidos os dados dos arquivos cujos caminhos estiverem localizados em $posFile e dados com taint serão atribuídos à variável $start.

Marcador 5: Um estado com taint reunindo todos os ramos condicionais na variável $start será passado como argumento ao método doUpdateSearchIndex.

Vamos dar uma olhada dentro do método doUpdateSearchIndex():

Marcadores 6-8: O parâmetro $start conterá dados com taint nesta parte do fluxo de dados e será passado dentro de uma string concatenada como argumento para o método output.

Vamos dar uma olhada dentro do método output:

Marcador 9: Os dados com taint contidos dentro da string transmitida estarão localizados no parâmetro $out.

Marcador 10: Os dados do parâmetro $out serão transferidos à função print sem nenhuma higienização. Esta função é um sink e causa uma vulnerabilidade de XSS, que pode ser usada com más intenções.

Para se aproveitar dessa vulnerabilidade, um atacante pode, por exemplo, fazer o upload de um script de shell, em vez dos arquivos esperados nos marcadores 1 e 2, e pode colocar qualquer informação na página da Web, como resultado de uma função print não higienizada.

O Qodana irá alertar sobre esta vulnerabilidade e dará a ela uma prioridade alta, para que você possa resolvê-la o mais rapidamente possível e evitar o hack.  

Conclusão

A taint analysis ajuda a eliminar superfícies de ataque que possam ser usadas com más intenções. Portanto, é um método eficaz para reduzir riscos no seu software. Para saber mais detalhes sobre a taint analysis e o Qodana, explore a documentação do Qodana.

INTRODUÇÃO AO QODANA

Bom desenvolvimento e mantenha o seu código saudável!

Artigo original em inglês por:

Luiz Di Bella

Valerie Kuzmina

]]>
https://blog.jetbrains.com/zh-hans/qodana/2023/03/mantenha-o-seu-codigo-php-seguro-com-a-taint-analysis-do-qodana/ https://blog.jetbrains.com/ko/qodana/2023/03/mantenha-o-seu-codigo-php-seguro-com-a-taint-analysis-do-qodana/ https://blog.jetbrains.com/ja/qodana/2023/03/mantenha-o-seu-codigo-php-seguro-com-a-taint-analysis-do-qodana/ https://blog.jetbrains.com/es/qodana/2023/03/mantenha-o-seu-codigo-php-seguro-com-a-taint-analysis-do-qodana/ https://blog.jetbrains.com/qodana/2023/03/mantenha-o-seu-codigo-php-seguro-com-a-taint-analysis-do-qodana/ https://blog.jetbrains.com/de/qodana/2023/03/mantenha-o-seu-codigo-php-seguro-com-a-taint-analysis-do-qodana/
Aprenda Rust com os IDEs da JetBrains https://blog.jetbrains.com/pt-br/rust/2023/03/29/aprenda-rust-com-os-ides-da-jetbrains/ Wed, 29 Mar 2023 20:02:31 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/03/DSGN-15717_Blog_Featured_image_2560-1200_BRPT.png https://blog.jetbrains.com/?post_type=rust&p=336049 Não existe um caminho fácil para aprender uma linguagem de programação; cada um faz isso de um jeito. Alguns leem muito (livros, blogs, tutoriais, documentação, discussões no Reddit, respostas do StackOverflow, etc.), alguns fazem perguntas e olham exemplos; alguns escrevem seu próprio código e trabalham em projetos pessoais; outros resolvem problemas, outros exploram ecossistemas — o que funcionar melhor para cada um. Alguns até fazem tudo isso. As pessoas geralmente começam aprendendo os recursos da linguagem e as maneiras de combiná-los em programas. Em algum momento, elas aprendem abordagens diferentes à resolução de problemas. Mais cedo ou mais tarde, elas passam a usar bibliotecas externas em vez de componentes de bibliotecas-padrão e buscam explorar formas de testar, depurar, escrever logs, fazer profiling dos seus aplicativos, etc.

O Rust não é uma exceção. Nenhum recurso de aprendizado isoladamente é suficiente para ajudar você a dominar a linguagem. Mesmo assim, aqui na JetBrains temos uma sugestão — nosso curso gratuito Learn Rust, que cobre muitas das necessidades de quem está aprendendo, que acabamos de mencionar.

O curso usa textos de The Rust Programming Language, um livro de Steve Klabnik e Carol Nichols, com contribuições da comunidade do Rust. Embora o curso inclua a maioria dos exercícios do conhecido conjunto rustlings, nós elaboramos cerca de um quarto dos exercícios especificamente para este curso. Em vez de apenas reunir materiais já existentes, combinamos cuidadosamente os textos e exercícios, e os colocamos em formato de IDE, para criarmos uma nova maneira de aprender Rust.

Por que o Rust?

O Rust foi listado por sete anos seguidos como a linguagem de programação mais amada na pesquisa de desenvolvedores do StackOverflow, além de ser a mais desejada (empatada com Python).

Recentemente, o Rust entrou para a lista das linguagens com suporte para escrever os componentes do kernel do Linux (e é o segundo lugar nessa lista, logo depois do C!). Libcurl, uma das bibliotecas mais usadas para buscar dados através de redes, está mudando gradualmente para o Rust. O Google relata que a parcela de código em Rust na sua implementação do Android está aumentando a cada nova versão e isso ajuda a diminuir o risco de vulnerabilidades e aumentar a segurança. A Microsoft depende fortemente do Rust para implementar a segurança da memória em seus produtos, enquanto a Amazon usa o Rust para garantir a sustentabilidade da sua infraestrutura.

Desenvolvedores em outras linguagens de programação, como JavaScript ou Python, costumam recorrer ao Rust quando precisam atingir um desempenho melhor em ferramentas e bibliotecas.

Por último, mas não menos importante, o Rust tem uma comunidade muito receptiva, sempre disposta a ajudar e encorajar os iniciantes.

Dito tudo isso, os aprendizes em potencial devem ter consciência de que o Rust tem uma curva difícil de aprendizado e requer uma abordagem sistemática ao aprendizado. Oferecer essa abordagem é exatamente o nosso objetivo com o nosso curso “Learn Rust”.

Aprendendo Rust em um IDE

Nosso curso “Learn Rust” é baseado na plataforma de aprendizado fornecida pelo plug-in da JetBrains Academy. Esse plug-in está disponível em vários IDEs da JetBrains, incluindo o CLion, o GoLand e o IntelliJ IDEA Community Edition, dentre outros, e permite que você aprenda gratuitamente não apenas Rust, mas também várias outras linguagens de programação.

Cursos baseados em IDEs envolvem ler materiais didático, explorar exemplos de código e resolver problemas, tudo isso estruturado em lições e seções do curso. Cada lição inclui uma sequência de etapas curtas, sejam etapas teóricas, com um exemplo para ilustrá-las, ou etapas de problemas, que têm um problema a resolver. As etapas de problemas são uma maneira simples de verificar as suas soluções.

Ao trabalhar com qualquer curso baseado em IDE, você terá uma janela de IDE plenamente funcional, com 3 painéis: uma visualização do curso, um editor de código e uma descrição, como na captura de tela abaixo:

A vantagem adicional de fazer um curso em um IDE é que você ganha experiência em desenvolvimento de software ao mesmo tempo que aprende a linguagem. Enquanto faz os exercícios de aprendizado, você também escreve, verifica, corrige, executa, depura e testa código, da mesma forma que um programador real faria como parte da sua rotina diária de desenvolvimento de software. No final do curso, você não só terá conhecimentos sólidos da linguagem de programação, como também terá se familiarizado com uma ferramenta profissional de desenvolvimento e estará a caminho de se tornar um desenvolvedor de software.

Confira a página do IntelliJ IDEA for Education para saber mais sobre os benefícios de aprender programação em um IDE.

Detalhes do curso

O curso “Learn Rust”, assim como o livro no qual ele se baseou, presume que você tenha conhecimentos funcionais de alguma linguagem de programação. Em vez de oferecer uma introdução à programação, o curso ensina você a programar especificamente em Rust. Assim, ele pula a maioria dos tópicos básicos comuns em cursos de programação.

O curso segue a estrutura do livro The Rust Programming Language e contém as seguintes seções:

  • Introdução
  • Conceitos comuns de programação
  • Compreendendo o conceito de posse
  • Structs, métodos, enums e correspondência de padrões
  • Módulos
  • Coleções comuns
  • Tratamento de erros
  • Tipos genéricos, traits e tempo de vida
  • Escrevendo testes automatizados
  • Tipos de bibliotecas-padrão
  • Concorrência sem medo
  • Macros

“Learn Rust” contém ao todo 331 etapas, sendo 210 etapas teóricas e 121 etapas de problemas. Cada etapa do curso vem no formato de um pacote do Cargo, possibilitando demonstrar e ensinar não apenas os recursos básicos da linguagem Rust, como também módulos, crates, macros, testes em nível de pacotes, dependências externas, etc.

O trabalho em cada etapa envolve tanto ler textos quanto o trabalho com código. Se o código de uma etapa tiver a função “main”, ele poderá ser executado:

Na maioria das etapas de problemas, você é exposto a um único arquivo de código (como na captura de tela acima), mas às vezes, você tem acesso à estrutura de todo o pacote, para que você possa explorar todos os componentes relevantes, tais como os arquivos de descrição do projeto:

A partir daí, você pode chegar à documentação de um crate ou ficar conhecendo as versões disponíveis.

Naturalmente, ao discutirmos o teste de pacotes do Rust, expomos os arquivos de teste:

Antes de tentar verificar a sua solução, clicando no botão Check, você pode executar testes isolados ou todos os testes de uma vez.

Estes recursos têm o objetivo de apresentar as melhores práticas de desenvolvimento de software em IDEs o mais cedo possível. Acreditamos que usar ferramentas profissionais desde o início do seu aprendizado pode trazer enormes benefícios. Com o suporte de primeira que os IDEs da JetBrains têm para o Rust, agora você também pode fazer isso enquanto aprende Rust.

Aprenda Rust e conte para nós o que você acha!

Claramente, desenvolver conhecimentos sólidos de Rust exige mais que simplesmente fazer este curso, mas acreditamos que para muitos futuros desenvolvedores, este curso pode servir como uma iniciação perfeita ao mundo empolgante da programação em Rust. Esperamos que você goste de estudar Rust conosco! Fique à vontade para deixar o seu feedback na seção de comentários abaixo ou nos contactar em academy@jetbrains.com.

Artigo original em inglês por:

Luiz Di Bella

Vitaly Bragilevsky

]]>
https://blog.jetbrains.com/zh-hans/rust/2023/03/29/aprenda-rust-com-os-ides-da-jetbrains/ https://blog.jetbrains.com/ko/rust/2023/03/29/aprenda-rust-com-os-ides-da-jetbrains/ https://blog.jetbrains.com/fr/rust/2023/03/29/aprenda-rust-com-os-ides-da-jetbrains/ https://blog.jetbrains.com/es/rust/2023/03/29/aprenda-rust-com-os-ides-da-jetbrains/ https://blog.jetbrains.com/rust/2023/03/29/aprenda-rust-com-os-ides-da-jetbrains/
Onboarding do Kotlin: Introdução https://blog.jetbrains.com/pt-br/education/2023/03/24/onboarding-do-kotlin-introducao/ Fri, 24 Mar 2023 12:00:05 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/02/Blog_Featured_image_1280x600-7-1.png https://blog.jetbrains.com/?post_type=education&p=336030 O Kotlin é uma poderosa linguagem de programação multiplataformas que está rapidamente se tornando uma das opções mais populares para o desenvolvimento de software moderno. É uma linguagem de tipagem estática desenvolvida pela JetBrains e oficialmente suportada pelo Google para o desenvolvimento de aplicativos Android. Com sua sintaxe concisa, fácil interoperabilidade com Java e suporte para uma ampla variedade de plataformas e tecnologias, o Kotlin é uma excelente opção para desenvolvedores que desejam levar suas habilidades para o próximo nível.

Para ajudar você a começar a usar essa empolgante linguagem, temos o orgulho de anunciar o curso Kotlin Onboarding: Introduction (em inglês), a primeira parte da nossa nova série Kotlin Onboarding no JetBrains Marketplace. Esse curso foi desenvolvido para qualquer pessoa que queira aprender a escrever aplicativos de console simples em Kotlin.

INICIAR

Pré-requisitos e temas discutidos

Este curso é perfeito para alunos que já possuem um conhecimento básico de programação em qualquer linguagem e desejam se familiarizar com a sintaxe e os recursos do Kotlin. É importante observar que o curso não explica conceitos fundamentais como variáveis, funções ou loops em detalhes, mas oferece lembretes simples sobre suas definições e demonstra como eles podem ser usados no Kotlin.

Você fará o seguinte no curso Kotlin Onboarding: Introduction:

  • Fará uma reciclagem dos conceitos básicos, como variáveis, funções e loops.
  • Construirá strings multilinha e utilizará construtores de strings do Kotlin.
  • Saberá mais sobre o mecanismo de segurança null e coleções.
  • Poderá se familiarizar com expressões lambda no Kotlin.
  • Escreverá programas Kotlin e entenderá seus pontos de entrada.

Os projetos que você construirá

Ao concluir este curso, você terá implementado seis aplicativos de console, fornecendo uma base sólida para a continuidade do seu aprendizado. Cada aula do curso é estruturada como um guia passo a passo através de pequenas tarefas, resultando em um projeto concluído. Depois de cada aula, você também receberá um projeto adicional que aborda os mesmos tópicos, mas sem a teoria acompanhante.

Os projetos foram projetados para serem divertidos e envolventes, permitindo que você coloque em ação os conceitos aprendidos. Vejamos alguns deles:

💬 Aplicativo de chat

Neste projeto, você criará um programa de chat simples que envolve o usuário em uma conversa interativa para aprender mais sobre ele. Com o uso de declarações de entrada e saída, você criará um chatbot capaz de fazer e responder perguntas, reagir adequadamente a diferentes entradas e manter a conversa em andamento.

Ao concluir este projeto, você desenvolverá suas habilidades de escrever e depurar código, implementar algoritmos básicos e criar interfaces de usuário para aplicativos de console.

custom_videos

🐮 Jogo Bulls and Cows (Mastermind)

Este projeto é uma variação do clássico jogo de adivinhação Bulls and Cows, também conhecido como Mastermind, no qual os jogadores tentam adivinhar uma palavra escolhida pelo oponente. O primeiro jogador a adivinhar a palavra secreta do oponente vence. O projeto está dividido em duas partes:

Primeiro, você criará um protótipo do jogo que permitirá ao usuário jogar, mas a palavra oculta será sempre a mesma.

Na segunda parte, você permitirá que o aplicativo gere aleatoriamente a palavra oculta, além de permitir que ele se comunique com segurança com o usuário, manipulando a entrada do usuário. Ao final desta lição, você terá um jogo funcional que pode gerar uma palavra oculta aleatória, pedirá ao usuário para adivinhá-la e fará comentários depois de cada palpite.

🖌 Console Photoshop

Neste projeto, você criará um aplicativo de console simples usando o Kotlin que aplica vários filtros a imagens de personagens, semelhante a uma versão básica do Photoshop.

Com este projeto, você aprenderá a trabalhar com strings multilinha e expressões when, tratamento básico de erros, construtores de strings de caracteres e segurança null. Ao final do projeto, você terá um aplicativo funcional básico capaz de manipular imagens de personagens e que pode ser usado como ponto de partida para projetos mais complexos.

Qual é o próximo passo

Para ajudar você a utilizar a linguagem de forma mais completa, publicaremos módulos adicionais que abrangem programação e coleções orientadas a objetos, bem como programação funcional. Incentivamos você a ficar de olho neles e experimentá-los.

Esses módulos terão uma estrutura semelhante, composta por diversos projetos da Web e apresentando jogos populares. Por exemplo, você poderá criar sua própria versão de Codenames.

custom_videos

Com sua sintaxe concisa e interoperabilidade com Java, o Kotlin oferece muitas oportunidades de carreira nas áreas de desenvolvimento de aplicativos móveis, back-end, full-stack e multiplataforma. Ao aprender o Kotlin, você estará se preparando para trabalhar em projetos de ponta para algumas das maiores empresas de tecnologia do mundo.

Empresas como a Amazon, a Uber e a Trello já adotaram o Kotlin, e espera-se que seu uso continue crescendo.

Esperamos que você goste de estudar conosco! Se tiver alguma dúvida ou quiser compartilhar seu feedback, sinta-se à vontade para deixar um comentário abaixo ou entrar em contato conosco em academy@jetbrains.com

Bom aprendizado!
A Equipe da JetBrains Academy

Artigo original em inglês por:

Luiz Di Bella

Anastasiia Pogorelova

]]>
https://blog.jetbrains.com/zh-hans/education/2023/03/24/onboarding-do-kotlin-introducao/ https://blog.jetbrains.com/ko/education/2023/03/24/onboarding-do-kotlin-introducao/ https://blog.jetbrains.com/fr/education/2023/03/24/onboarding-do-kotlin-introducao/ https://blog.jetbrains.com/es/education/2023/03/24/onboarding-do-kotlin-introducao/ https://blog.jetbrains.com/education/2023/03/24/onboarding-do-kotlin-introducao/
O compilador K2 será estável no Kotlin 2.0 https://blog.jetbrains.com/pt-br/kotlin/2023/03/o-compilador-k2-sera-estavel-no-kotlin-2-0/ Fri, 24 Mar 2023 11:51:27 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/02/DSGN-15525-Blog-Post-about-Kotlin-2.0_Blog-Featured-image-1280x600-1-1.png https://blog.jetbrains.com/?post_type=kotlin&p=336003 Já faz um bom tempo que estamos trabalhando em um novo front-end para o compilador Kotlin (codinome “K2”). Esse front-end é a parte do compilador que analisa seu código e executa a análise semântica, a análise de fluxo de dados, a resolução de chamadas e a inferência de tipos. Essa é a parte do compilador com a qual você, o desenvolvedor, mais interage. É também a parte do compilador que é executada continuamente dentro do seu IDE, relata todas as mensagens de erro e de advertência e ajuda você com tarefas como complementação automática, inspeções com reconhecimento semântico, intenções e refatorações. O novo front-end já está disponível para visualização. Estamos aprimorando-o e estabilizando-o continuamente e planejamos torná-lo o front-end do compilador padrão numa versão futura do Kotlin. Decidimos chamar essa versão futura de Kotlin 2.0. Continue lendo para saber mais sobre o roteiro de lançamento do Kotlin 2.0, nossa motivação e o que esperar dele.

Qual é o roteiro de lançamento do Kotlin 2.0?

Planejamos lançar mais uma versão no formato tradicional como Kotlin 1.9, que também incluirá atualizações do desenvolvimento contínuo do front-end do compilador K2 à medida que ele se aproxima da estabilização. Não haverá o Kotlin 1.10. A próxima versão principal depois do Kotlin 1.9 será o Kotlin 2.0.

Por que Kotlin 2.0?

O front-end é uma parte importante do compilador, e o front-end do compilador K2 não é apenas uma refatoração do antigo front-end de compilador, mas sim uma total reformulação do zero com base na nova arquitetura. Publicamos detalhes técnicos sobre as diferenças em vários blogs, vídeos e conferências. O artigo The Road to the K2 Compiler é um bom lugar para começar se você deseja obter mais informações. Resumindo, a nova arquitetura é mais rápida e mais extensível por design, soluciona problemas técnicos no antigo front-end do compilador, corrige bugs e casos complicados em vários lugares e abre caminho para futuras extensões da linguagem. 

Para linguagens de programação, a versão principal geralmente é incrementada quando recursos de grande porte ou alterações importantes são introduzidos. No entanto, para programas de software, uma versão principal pode ser incrementada sempre que algo é substancialmente reformulado a ponto de significar um grande retrabalho, mesmo que o conjunto de recursos permaneça basicamente o mesmo. Apesar de o Kotlin ser uma linguagem, decidimos seguir essa prática de software. Antes de mais nada, o compilador Kotlin é um grande software. A versão da linguagem Kotlin é definida pela versão de seu compilador. Fornecemos especificações Kotlin como uma referência à linguagem, mas não como sua definição. 

Isso vai quebrar meu código?

O Kotlin muda a cada atualização da versão da linguagem. Novos recursos de linguagem são introduzidos, e bugs antigos são corrigidos. Sempre tentamos minimizar o número e o impacto das alterações importantes e seguir o processo de evolução da linguagem Kotlin. O Kotlin 2.0 não será diferente nesse aspecto. 

Estamos evitando conscientemente introduzir novos recursos no Kotlin 2.0. Por si só, a reformulação do front-end do compilador Kotlin é uma mudança considerável e introduz uma série de melhorias. Por um lado, o novo algoritmo de análise de fluxo de dados é mais preciso e resulta em melhores conversões inteligentes do que antes. Confira estes issues com exemplos concretos. Isso transforma o código vermelho que não compila no Kotlin 1.9 no front-end antigo em código verde que compila no Kotlin 2.0. Tecnicamente, este é um aspecto definidor do novo recurso da linguagem Kotlin. No entanto, aqui ele é simplesmente um efeito colateral de uma nova arquitetura de compilador.

Além disso, vários bugs de longa data foram corrigidos e, inevitavelmente, algumas dessas correções podem quebrar o código que acidentalmente dependia do comportamento incorreto do compilador. Estamos estudando cuidadosamente o impacto de todas as alterações de comportamento entre o front-end antigo e o novo front-end K2 e fazendo esforços adicionais para replicar o comportamento antigo sempre que possível, mesmo quando isso não nos agrada, se esse comportamento for afetar um número considerável de usuários do Kotlin. 

Estamos empenhados em minimizar o impacto da migração do seu código do Kotlin 1.9 para o Kotlin 2.0. Manteremos você em dia sobre o processo de estabilização do Kotlin 2.0 e forneceremos tempo suficiente para você experimentar o Kotlin 2.0 em seus projetos com antecedência para poder relatar quaisquer regressões que possamos ter perdido em nossos testes. Nosso trabalho atual está focado em um lançamento de qualidade beta do front-end do compilador K2 ainda este ano, que você pode acompanhar neste issue do roadmap.

E quanto ao suporte do IDE para o Kotlin 2.0? 

O plug-in Kotlin IDE está incluído nas atualizações do IntelliJ IDEA e do Android Studio. Ele inclui uma cópia do front-end do compilador Kotlin para a análise semântica do seu código, mas essa não é a versão do compilador Kotlin que irá realmente compilar seu código: a versão real do compilador é determinada pelas configurações nos seus arquivos de build. Portanto, ao compilar seu código com a versão 2.0 da linguagem Kotlin, você usará o novo front-end do compilador e obterá todos os benefícios de desempenho da nova arquitetura do compilador. No entanto, o IDE ainda poderá estar usando o front-end antigo para inspecionar seu código. 

Para oferecer a você os benefícios de desempenho do novo front-end do compilador no seu IDE, estamos escrevendo uma versão completamente nova do plug-in Kotlin IDE, desenvolvida sobre o front-end do compilador K2. No momento, estamos trabalhando para ter uma versão prévia pública desse novo plug-in de IDE. Você pode acompanhar este issue para ficar a par das atualizações.

O que esperar depois do Kotlin 2.0?

A nova arquitetura do front-end do compilador Kotlin 2.0 permite a implementação limpa de muitos novos recursos interessantes. Alguns desses recursos, como os receptores de contexto KT-10468, já estão disponíveis para visualização no front-end do compilador antigo, mas não estarão ativados no Kotlin 2.0 por padrão. Em vez disso, eles permanecerão no estágio de versão prévia. A estabilização de novos recursos acontecerá em versões futuras do Kotlin 2.x, juntamente com a implementação de outras coisas novas que temos no nosso pipeline. Como de costume, compartilharemos atualizações regulares sobre nossos planos por meio do roadmap do Kotlin

Quando teremos o Kotlin 3.0? Ainda não sabemos. Estamos discutindo provisoriamente muitas grandes mudanças futuras na linguagem, especialmente as solicitações mais populares da nossa última Pesquisa sobre recursos do Kotlin. Certamente, é possível que algumas dessas mudanças sejam significativas o suficiente para justificar a próxima versão principal do Kotlin.

Como você pode ajudar?

Experimente o novo front-end do compilador e deixe seu feedback! A partir do Kotlin 1.8.20, você pode habilitar uma prévia da versão da linguagem Kotlin 2.0 através do sinalizador de versão da linguagem Kotlin.

Habilitar o compilador Kotlin K2

Saiba mais

 

Artigo original em inglês por:

Luiz Di Bella

Roman Elizarov

]]>
https://blog.jetbrains.com/zh-hans/kotlin/2023/03/o-compilador-k2-sera-estavel-no-kotlin-2-0/ https://blog.jetbrains.com/ko/kotlin/2023/03/o-compilador-k2-sera-estavel-no-kotlin-2-0/ https://blog.jetbrains.com/fr/kotlin/2023/03/o-compilador-k2-sera-estavel-no-kotlin-2-0/ https://blog.jetbrains.com/es/kotlin/2023/03/o-compilador-k2-sera-estavel-no-kotlin-2-0/ https://blog.jetbrains.com/kotlin/2023/03/o-compilador-k2-sera-estavel-no-kotlin-2-0/