Postagens

Mostrando postagens de 2016

Impressões e dicas do PSM I

Recentemente, como meta de trabalho, eu tirei a certificação Professional Scrum Master I (PSM I). Hoje eu gostaria de passar algumas impressões e dicas que eu tive em relação à esse exame, bem como o material de estudo que eu usei, para as pessoas que estejam interessadas em estudar e encarar esta prova de certificação.
A certificação PSM I é a primeira no plano de carreira de um Scrum Master, dentro das disponíveis no Scrum.org. O Scrum.org é uma empresa de treinamento de Scrum fundada por Ken Schwaber, um dos dois criadores do Scrum. Não é a toa que esta é uma certificação bem reconhecida e aceita dentro do mercado e da comunidade, junto da CSM da Scrum Alliance.
Existem algumas diferenças entre estas duas certificações:
Para a CSM, é necessário fazer um curso com um instrutor associado e depois fazer uma prova. Na PSM, basta fazer uma prova online. Não fiz a CSM, mas pelo que li na Internet o nível de dificuldade dela é menor que o da PSM.Enquanto a prova da PSM custa US$ 150,00 (e…

.NET Core versus Chrome 54 - Invalid request line

Imagem
Com o recente lançamento de uma nova versão do .NET Core, a 1.1 (https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-net-core-1-1/), fui correndo atualizar um projeto que estou trabalhando para poder experimentar as novas funcionalidades.
Este é um projeto que expõe várias API (WebAPI), e por isso eu uso a ferramenta Postman (https://www.getpostman.com/), dentro do Chrome, para simular as requisições.
Entretanto, ao atualizar o projeto e suas respectivas bibliotecas e colocá-lo para rodar, ao acessá-lo tanto pelo Chrome (ele tem uma página inicial, não é só API) quanto pelo Postman, o erro abaixo começou a aparecer.
info: Microsoft.AspNetCore.Server.Kestrel[17] Connection id "0HL0J500CHGCA" bad request data: "Invalid request line: <0x16><0x03><0x01><0x00><0xB9><0x01><0x00><0x00><0xB5><0x03><0x03><0xD0><0x95>yq6<0x92><0xCA>6v<0xA9><0x0A>" Microsoft.AspNetC…

Publicando WebJobs no .NET Core no Azure com VSTS

Imagem
Dentro de uma Web App do Azure, WebJobs permitem que códigos sejam executados em segundo plano. Por exemplo, se a aplicação web tem um processo pesado, ao invés de rodá-lo no contexto da Web App, podemos incluir um pedido de execução em uma fila do Azure Storage e o WebJob, rodando de tempos em tempos, executaria essa rotina. Isso diminui a carga de trabalho e aumenta o tempo de resposta das requisições web.
Um WebJob pode rodar desde um script, como JavaScript ou Python, a uma aplicação do tipo console em .NET (um aplicativo do tipo linha de comando). Essa execução pode ser contínua, com este aplicativo rodando interruptamente; ou agendado, executando em um intervalo pré-configurado. Quando trabalhamos com nuvem, um aspecto importante é a agilidade em se implantar novas versões, e para conseguir isso a automação é um requisito essencial. Dentro da plataforma Microsoft, podemos utilizar as ferramentas de build e release do Visual Studio Team Services.
Um WebJob criado com .NET Core s…

Aplicação Android Xamarin compilada no VSTS não inicia no celular

Imagem
Estou estudando desenvolvimento mobile na plataforma Xamarin, e durante alguns testes meus, utilizando o Build do VSTS (Visual Studio Team Services), a minha aplicação Android compilada na nuvem simplesmente não funcionava quando instalada no celular.
Para depurar a inicialização dela, resolvi utilizar a ferramenta Android Device Monitor, que pelo Visual Studio pode ser acessada no menu Tools > Android > Android Device Monitor. Com o celular conectado na USB do meu PC e com a depuração ativada (no Android, em Settings > Developer Options > USB debbuging), eu consegui identificar o problema através do log.
A mensagem "You MUST run 'zipalign' on base.apk", logo depois de uma mensagem de erro do Mono, já disse tudo: faltou ativar o zipalign no momento em que o meu apk foi assinado.


Depois de ativar essa opção no Build que estou utilizando e efetuar nova compilação, a aplicação passou a abrir sem erros.

SharePoint: problema em consulta de termos via JavaScript

Imagem
O SharePoint tem um serviço de termos que pode ser usado tanto como navegação como classificação de itens (colocando tags em documentos, por exemplo).
Esse serviço de termos, chamado Managed Metadata Service, pode ser acessado através de uma API que pode ser consumida através de JavaScript.
Em uma funcionalidade na qual precisávamos acessar um conjunto de termos específico para popular um controle na tela, começamos a ter o erro abaixo quando a solução foi implantada no ambiente de testes.
Cannot read property 'toString' of null
O erro a princípio é simples de identificar, existe uma chamada do método toString em uma string que não recebeu nenhum valor. O problema é que esse erro dá dentro da biblioteca JavaScript do próprio SharePoint.
O código utilizado nessa chamada é o abaixo.
var termSetName = "NOME_TERMO"; var locale = 1046; //pt-BR var clientContext = SP.ClientContext.get_current(); var taxonomySession = SP.Taxonomy.TaxonomySession.getTaxonomySession(clientCont…

Criando modelos de HTML com Underscore.js

Imagem
Em aplicações web, os dados que são retornados de serviços, como um REST retornando um objeto JSON, precisam ser exibidos aos usuários. Ou seja, pegamos essas informações e as transformamos em elementos HTML (parágrafos, tabelas, listas, etc). Uma das maneiras de se fazer isso é a manipulação desses dados através de scripts de forma a montar cada elemento. Por exemplo, o código abaixo pega um objeto JSON e o transforma em um parágrafo, através da concatenação do valor com as tags "<p>" e "</p>". Isso a princípio parece ser algo simples, mas no final acabamos com um código de difícil manutenção. Imagine um JSON que tenha um array de objetos para ser montado em uma tabela, com cada linha precisando gerar todas as respectivas tags " <tr>", "<td>" e etc. Pior, imagina esquecer de fechar uma tag ou concatenar sem fechar uma aspas. A próxima pessoa que for dar manutenção vai gastar um bom tempo entendendo o que foi feito (e qu…