Essa apresentação aconteceu no 12º Encontro do JUG. Nela falamos sobre os primeiros passos para quem gostaria de debugar com Java utilizando a IDE Eclipse.
O documento discute testes de aplicativos Flutter, incluindo testes unitários, testes de widgets e testes de interface do usuário. Ele explica porque testar é importante, como configurar os testes no Flutter e demonstra como escrever testes com códigos de exemplo.
[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...Juliana Chahoud
“Além de prints e breakpoints: truques para um Debug avançado”
Muitos desenvolvedores não exploram de fato as ferramentas de debug, que quando usadas corretamente podem aumentar consideravelmente a produtividade, tempo de desenvolvimento e correção de bugs. Breakpoints podem, por exemplo, ser usados para pular etapas de execução do código, injetar código ou mudar valores de variáveis em tempo de execução. Imagine por exemplo, quanto tempo você já gastou mudando seu código manualmente só para chegar em um determinado estado do app, ou o tempo que gastou adicionando e lendo diversos prints, recompilando o código diversas vezes. Esse tempo poderia ser melhor aproveitado se breakpoints customizados fossem utilizados.
Breakpoints são só a ponta do iceberg de uma coleção de ferramentas para debug. Nessa palestra serão apresentadas algumas dessas técnicas, que podem aumentar de maneira efetiva sua produtividade e te ajudar a resolver problemas de maneira mais fácil.
O documento descreve o SimNorma, um simulador para a máquina NORMA que permite criar, editar e testar programas para a máquina. O simulador inclui um editor de código e visualizadores em forma de fluxograma e instruções rotuladas. Ele também simula uma linguagem estendida chamada Monitè e fornece exemplos de programas e exercícios.
Este documento apresenta instruções básicas de saída em Visualg, incluindo escreva(), escreval() e limpatela(). A instrução escreva() imprime texto na tela, escreval() faz o mesmo e pula linha, e limpatela() limpa a tela. Exemplos de sintaxe e fluxogramas são fornecidos para cada instrução.
O documento discute como identificar e corrigir erros no JavaScript usando as ferramentas de desenvolvedor do navegador. Ele explica um erro comum de não usar parênteses em uma chamada de alert e como usar o console do Chrome para ver a mensagem de erro e identificar a linha problemática.
Livro Código Limpo: Tratamento de Erros - Cap 7Inael Rodrigues
O capítulo discute técnicas para tratar erros de forma limpa no código, como utilizar exceções ao invés de códigos de erro, implementar try-catch primeiro e definir classes de exceção.
1) O documento descreve o software Visualg 2.0, um editor e interpretador de algoritmos desenvolvido por Cláudio Morgado de Souza para auxiliar no ensino de programação.
2) A interface do Visualg possui menu, barras de ferramentas, editor de texto, visualizador de variáveis e simulador de saída para depurar programas passo a passo.
3) O software foi desenvolvido para oferecer um ambiente simples e didático para iniciantes em programação exercitarem conceitos básicos sem a complexidade de linguagens reais.
TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheir...Elias Souza
O documento discute a importância da refatoração de código para melhorar sua estrutura interna sem alterar seu comportamento externo. Ele explica que refatorar envolve modificações incrementais do código através de pequenos passos consistentes para torná-lo mais legível e de fácil manutenção. Além disso, destaca a necessidade de testes para permitir refatorações seguras e a responsabilidade do programador em deixar o código melhor do que encontrou.
1. A biblioteca Android-State permite reter o estado de objetos em atividades, fragmentos e visualizações em aplicativos Android de forma simples.
2. Ela funciona internamente utilizando o SaveInstanceState, mas de forma transparente ao desenvolvedor, evitando código boilerplate.
3. Há casos em que o ViewModel é mais apropriado, como quando se precisa reter listas grandes de objetos, devido às limitações do SaveInstanceState.
Este documento explica como fazer comentários em código Java usando // para comentários de uma linha e /* */ para comentários de múltiplas linhas, e fornece exemplos de como usar cada tipo de comentário.
O documento discute o tratamento de exceções em Java, explicando que exceções sinalizam falhas no código e como o controle de execução é transferido para tratá-las. Apresenta dois tipos de exceções em Java - checked e unchecked - e fornece exemplos de como tratar exceções em código Java.
2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...João Júnior
O documento discute a automação de testes web, incluindo iniciar o processo a partir de testes manuais já estabelecidos. Também fornece detalhes sobre o autor, como sua experiência e participação em projetos de teste. Finalmente, descreve alguns comandos importantes do Selenium IDE para criação de scripts de teste automatizados.
Leitor de Códigos no Android com Barcode Scanner API - ZXingVinícius Thiengo
➙ Conteúdo completo, texto e vídeo, em: https://www.thiengo.com.br/leitor-de-codigos-no-android-com-barcode-scanner-api-zxing
Neste conjunto de slides vamos, passo a passo, ao estudo completo da biblioteca Barcode Scanner API para assim utilizar de maneira simples, mas robusta, o projeto ZXing, em aplicativos Android, na leitura de simbologias de códigos de barras.
➙ Para receber o conteúdo do blog em primeira mão, assine a lista de emails em: http://www.thiengo.com.br
Abraço.
▶ Treinamento oficial:
➙ Prototipagem Profissional de Aplicativos Android:
↳ https://www.udemy.com/android-prototipagem-profissional-de-aplicativos/?couponCode=BAR_CODE_LEITOR&persist_locale&locale=pt_BR
▶ Livros oficiais:
➙ Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia:
↳ https://www.thiengo.com.br/livro-desenvolvedor-kotlin-android
➙ Receitas Para Desenvolvedores Android:
↳ https://www.thiengo.com.br/livro-receitas-para-desenvolvedores-android
➙ Refatorando Para Programas Limpos:
↳ https://www.thiengo.com.br/livro-refatorando-para-programas-limpos
▶ Redes:
➙ Udemy: https://www.udemy.com/user/vinicius-thiengo/?persist_locale&locale=pt_BR
➙ YouTube: https://www.youtube.com/user/thiengoCalopsita
➙ Facebook: https://www.facebook.com/thiengoCalopsita
➙ LinkedIn: https://www.linkedin.com/in/vin%C3%ADcius-thiengo-5179b180/
➙ GitHub: https://github.com/viniciusthiengo
➙ Twitter: https://twitter.com/thiengoCalops
➙ Google Plus: https://plus.google.com/+ThiengoCalopsita
▶ Blog App:
➙ https://play.google.com/store/apps/details?id=br.thiengocalopsita&hl=pt_BR
Ajuste de Texto com Autosizing TextView - Android JetpackVinícius Thiengo
➙ Conteúdo completo, texto e vídeo, em: https://www.thiengo.com.br/ajuste-de-texto-com-autosizing-textview-android-jetpack
Neste conjunto de slides vamos ao estudo completo de uma das novas APIs adicionadas ao Android junto ao release do Android 8, Oreo. Autosizing TextView, para expansão e contração de conteúdo em texto de forma dinâmica.
Vamos trabalhar direto com a API de suporte que diferente da API normal, dá suporte a partir do Android 4.0, Ice Cream Sandwich.
➙ Para receber o conteúdo do blog em primeira mão, assine a lista de emails em: http://www.thiengo.com.br
Abraço.
▶ Treinamento oficial:
➙ Prototipagem Profissional de Aplicativos Android:
↳ https://www.udemy.com/android-prototipagem-profissional-de-aplicativos/?persist_locale&locale=pt_BR
▶ Livros oficiais:
➙ Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia:
↳ https://www.thiengo.com.br/livro-desenvolvedor-kotlin-android
➙ Receitas Para Desenvolvedores Android:
↳ https://www.thiengo.com.br/livro-receitas-para-desenvolvedores-android
➙ Refatorando Para Programas Limpos:
↳ https://www.thiengo.com.br/livro-refatorando-para-programas-limpos
▶ Redes:
➙ Udemy: https://www.udemy.com/user/vinicius-thiengo/?persist_locale&locale=pt_BR
➙ YouTube: https://www.youtube.com/user/thiengoCalopsita
➙ Facebook: https://www.facebook.com/thiengoCalopsita
➙ LinkedIn: https://www.linkedin.com/in/vin%C3%ADcius-thiengo-5179b180/
➙ GitHub: https://github.com/viniciusthiengo
➙ Twitter: https://twitter.com/thiengoCalops
➙ Google Plus: https://plus.google.com/+ThiengoCalopsita
▶ Blog App:
➙ https://play.google.com/store/apps/details?id=br.thiengocalopsita&hl=pt_BR
O documento discute como o Selenium pode ser usado para automatizar testes de software e reduzir custos, fornecendo feedback rápido, qualidade e produtividade. Ele explica porque testar, as vantagens do Selenium, como utilizar ferramentas como o Selenium IDE e WebDriver, e fornece links para recursos adicionais.
Testes automatizados de software são essenciais para garantir a qualidade do software e evitar prejuízos. Testes manuais são difíceis, demorados e cobrem poucos casos, enquanto testes automatizados rodam rápido, cobrem muitos casos e ajudam na manutenção do código e documentação. É importante começar a automatizar testes desde o início do projeto, para garantir a testabilidade do código.
O documento discute elementos básicos do código Java, incluindo comentários de linha e bloco, instruções e blocos, identificadores e palavras-chave. É demonstrado como declarar e imprimir variáveis e como adicionar comentários para documentar e facilitar o entendimento do código.
O documento discute a programação defensiva, que envolve antecipar e prevenir erros no código através de técnicas como validação de dados de entrada, assertivas, tratamento de erros e exceções. Também aborda quando e onde aplicar tais técnicas de forma equilibrada para proteger partes críticas do sistema sem comprometer a performance.
O documento descreve o processo de montagem de programas em linguagem de montagem (Assembly). No processo, o montador primeiro cria tabelas de símbolos e códigos de operação, e então traduz cada procedimento em módulos objetos. Um linker junta os módulos objetos em um executável, que é carregado na memória para execução.
O documento apresenta boas práticas de programação defensiva em Java, como: documentar o código, seguir convenções de nomes, tratar erros com exceções, usar asserções para validar entradas, liberar recursos alocados, dividir métodos com muitos parâmetros e testar o código. Também discute sobre precisão versus robustez e como depurar erros no código.
QArentena do dia 22/08/2020
Diante de todas as fases que temos que testar, uma que muitas vezes deixamos de lado é a de Unit Testing. Ela é tão importante quanto as outras que já tem a aplicação integrada. Mas o que diferencia muito com relação as outras fases é que ela tem um feedback muito rápido que ajuda muito durante a fase de desenvolvimento.
Depurando Aplicacoes PHP com XDebug e FirePHP IIJefferson Girão
Este documento fornece uma introdução às ferramentas Xdebug e FirePHP para depuração de aplicações PHP. Explica como configurar e usar os recursos do Xdebug, como depuração remota, tracing e profiling. Também apresenta o FirePHP, um plugin para o Firebug que permite depuração de aplicações AJAX através de respostas JSON e XML.
O documento fornece diretrizes sobre como escrever códigos limpos e de alta qualidade, focando em tópicos como: uso de nomes significativos, comentários concisos, métodos pequenos que fazem uma única coisa, poucos parâmetros por método, boa formatação e estrutura do código. Além disso, aborda a importância de testes automatizados e métricas que medem a complexidade e qualidade do código.
O documento introduz os conceitos de teste de mesa, erros sintáticos e semânticos. Discute como o teste de mesa pode identificar erros passando pelos passos do algoritmo e verificando os valores das variáveis. Também explica que erros sintáticos impedem a execução do programa, ao contrário dos erros semânticos que produzem resultados inesperados.
O documento apresenta uma introdução aos testes de aplicações web com Selenium, incluindo o que são testes, por que são importantes, os tipos de testes e as ferramentas Selenium IDE, Selenium RC e Selenium Grid. O documento também discute como gravar, editar e executar testes com Selenium IDE.
A apresentação discute a importância da depuração para desenvolvedores, fornecendo um guia rápido em 8 etapas para depuração eficiente e como utilizar as ferramentas de depuração no Visual Studio Code.
1. O documento apresenta conceitos sobre linguagem de programação Java, incluindo tipos de programação, tradução de programas, compilação vs interpretação, e exercícios para praticar variáveis e controle de fluxo.
2. São discutidos tópicos como tipos primitivos em Java, declaração e atribuição de variáveis, operadores aritméticos, comentários, e controle de fluxo com estruturas if/else e laços for/while.
3. Exemplos de código são fornecidos para compilar e executar
1. O documento apresenta conceitos sobre linguagem de programação Java, incluindo tipos de programação, tradução de programas, compilação vs interpretação, e exercícios para praticar variáveis e controle de fluxo.
2. São discutidos tópicos como tipos primitivos em Java, declaração e atribuição de variáveis, operadores aritméticos, comentários, e controle de fluxo com estruturas if/else e laços for/while.
3. Exemplos de código são fornecidos para compilar e executar
1. A biblioteca Android-State permite reter o estado de objetos em atividades, fragmentos e visualizações em aplicativos Android de forma simples.
2. Ela funciona internamente utilizando o SaveInstanceState, mas de forma transparente ao desenvolvedor, evitando código boilerplate.
3. Há casos em que o ViewModel é mais apropriado, como quando se precisa reter listas grandes de objetos, devido às limitações do SaveInstanceState.
Este documento explica como fazer comentários em código Java usando // para comentários de uma linha e /* */ para comentários de múltiplas linhas, e fornece exemplos de como usar cada tipo de comentário.
O documento discute o tratamento de exceções em Java, explicando que exceções sinalizam falhas no código e como o controle de execução é transferido para tratá-las. Apresenta dois tipos de exceções em Java - checked e unchecked - e fornece exemplos de como tratar exceções em código Java.
2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...João Júnior
O documento discute a automação de testes web, incluindo iniciar o processo a partir de testes manuais já estabelecidos. Também fornece detalhes sobre o autor, como sua experiência e participação em projetos de teste. Finalmente, descreve alguns comandos importantes do Selenium IDE para criação de scripts de teste automatizados.
Leitor de Códigos no Android com Barcode Scanner API - ZXingVinícius Thiengo
➙ Conteúdo completo, texto e vídeo, em: https://www.thiengo.com.br/leitor-de-codigos-no-android-com-barcode-scanner-api-zxing
Neste conjunto de slides vamos, passo a passo, ao estudo completo da biblioteca Barcode Scanner API para assim utilizar de maneira simples, mas robusta, o projeto ZXing, em aplicativos Android, na leitura de simbologias de códigos de barras.
➙ Para receber o conteúdo do blog em primeira mão, assine a lista de emails em: http://www.thiengo.com.br
Abraço.
▶ Treinamento oficial:
➙ Prototipagem Profissional de Aplicativos Android:
↳ https://www.udemy.com/android-prototipagem-profissional-de-aplicativos/?couponCode=BAR_CODE_LEITOR&persist_locale&locale=pt_BR
▶ Livros oficiais:
➙ Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia:
↳ https://www.thiengo.com.br/livro-desenvolvedor-kotlin-android
➙ Receitas Para Desenvolvedores Android:
↳ https://www.thiengo.com.br/livro-receitas-para-desenvolvedores-android
➙ Refatorando Para Programas Limpos:
↳ https://www.thiengo.com.br/livro-refatorando-para-programas-limpos
▶ Redes:
➙ Udemy: https://www.udemy.com/user/vinicius-thiengo/?persist_locale&locale=pt_BR
➙ YouTube: https://www.youtube.com/user/thiengoCalopsita
➙ Facebook: https://www.facebook.com/thiengoCalopsita
➙ LinkedIn: https://www.linkedin.com/in/vin%C3%ADcius-thiengo-5179b180/
➙ GitHub: https://github.com/viniciusthiengo
➙ Twitter: https://twitter.com/thiengoCalops
➙ Google Plus: https://plus.google.com/+ThiengoCalopsita
▶ Blog App:
➙ https://play.google.com/store/apps/details?id=br.thiengocalopsita&hl=pt_BR
Ajuste de Texto com Autosizing TextView - Android JetpackVinícius Thiengo
➙ Conteúdo completo, texto e vídeo, em: https://www.thiengo.com.br/ajuste-de-texto-com-autosizing-textview-android-jetpack
Neste conjunto de slides vamos ao estudo completo de uma das novas APIs adicionadas ao Android junto ao release do Android 8, Oreo. Autosizing TextView, para expansão e contração de conteúdo em texto de forma dinâmica.
Vamos trabalhar direto com a API de suporte que diferente da API normal, dá suporte a partir do Android 4.0, Ice Cream Sandwich.
➙ Para receber o conteúdo do blog em primeira mão, assine a lista de emails em: http://www.thiengo.com.br
Abraço.
▶ Treinamento oficial:
➙ Prototipagem Profissional de Aplicativos Android:
↳ https://www.udemy.com/android-prototipagem-profissional-de-aplicativos/?persist_locale&locale=pt_BR
▶ Livros oficiais:
➙ Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia:
↳ https://www.thiengo.com.br/livro-desenvolvedor-kotlin-android
➙ Receitas Para Desenvolvedores Android:
↳ https://www.thiengo.com.br/livro-receitas-para-desenvolvedores-android
➙ Refatorando Para Programas Limpos:
↳ https://www.thiengo.com.br/livro-refatorando-para-programas-limpos
▶ Redes:
➙ Udemy: https://www.udemy.com/user/vinicius-thiengo/?persist_locale&locale=pt_BR
➙ YouTube: https://www.youtube.com/user/thiengoCalopsita
➙ Facebook: https://www.facebook.com/thiengoCalopsita
➙ LinkedIn: https://www.linkedin.com/in/vin%C3%ADcius-thiengo-5179b180/
➙ GitHub: https://github.com/viniciusthiengo
➙ Twitter: https://twitter.com/thiengoCalops
➙ Google Plus: https://plus.google.com/+ThiengoCalopsita
▶ Blog App:
➙ https://play.google.com/store/apps/details?id=br.thiengocalopsita&hl=pt_BR
O documento discute como o Selenium pode ser usado para automatizar testes de software e reduzir custos, fornecendo feedback rápido, qualidade e produtividade. Ele explica porque testar, as vantagens do Selenium, como utilizar ferramentas como o Selenium IDE e WebDriver, e fornece links para recursos adicionais.
Testes automatizados de software são essenciais para garantir a qualidade do software e evitar prejuízos. Testes manuais são difíceis, demorados e cobrem poucos casos, enquanto testes automatizados rodam rápido, cobrem muitos casos e ajudam na manutenção do código e documentação. É importante começar a automatizar testes desde o início do projeto, para garantir a testabilidade do código.
O documento discute elementos básicos do código Java, incluindo comentários de linha e bloco, instruções e blocos, identificadores e palavras-chave. É demonstrado como declarar e imprimir variáveis e como adicionar comentários para documentar e facilitar o entendimento do código.
O documento discute a programação defensiva, que envolve antecipar e prevenir erros no código através de técnicas como validação de dados de entrada, assertivas, tratamento de erros e exceções. Também aborda quando e onde aplicar tais técnicas de forma equilibrada para proteger partes críticas do sistema sem comprometer a performance.
O documento descreve o processo de montagem de programas em linguagem de montagem (Assembly). No processo, o montador primeiro cria tabelas de símbolos e códigos de operação, e então traduz cada procedimento em módulos objetos. Um linker junta os módulos objetos em um executável, que é carregado na memória para execução.
O documento apresenta boas práticas de programação defensiva em Java, como: documentar o código, seguir convenções de nomes, tratar erros com exceções, usar asserções para validar entradas, liberar recursos alocados, dividir métodos com muitos parâmetros e testar o código. Também discute sobre precisão versus robustez e como depurar erros no código.
QArentena do dia 22/08/2020
Diante de todas as fases que temos que testar, uma que muitas vezes deixamos de lado é a de Unit Testing. Ela é tão importante quanto as outras que já tem a aplicação integrada. Mas o que diferencia muito com relação as outras fases é que ela tem um feedback muito rápido que ajuda muito durante a fase de desenvolvimento.
Depurando Aplicacoes PHP com XDebug e FirePHP IIJefferson Girão
Este documento fornece uma introdução às ferramentas Xdebug e FirePHP para depuração de aplicações PHP. Explica como configurar e usar os recursos do Xdebug, como depuração remota, tracing e profiling. Também apresenta o FirePHP, um plugin para o Firebug que permite depuração de aplicações AJAX através de respostas JSON e XML.
O documento fornece diretrizes sobre como escrever códigos limpos e de alta qualidade, focando em tópicos como: uso de nomes significativos, comentários concisos, métodos pequenos que fazem uma única coisa, poucos parâmetros por método, boa formatação e estrutura do código. Além disso, aborda a importância de testes automatizados e métricas que medem a complexidade e qualidade do código.
O documento introduz os conceitos de teste de mesa, erros sintáticos e semânticos. Discute como o teste de mesa pode identificar erros passando pelos passos do algoritmo e verificando os valores das variáveis. Também explica que erros sintáticos impedem a execução do programa, ao contrário dos erros semânticos que produzem resultados inesperados.
O documento apresenta uma introdução aos testes de aplicações web com Selenium, incluindo o que são testes, por que são importantes, os tipos de testes e as ferramentas Selenium IDE, Selenium RC e Selenium Grid. O documento também discute como gravar, editar e executar testes com Selenium IDE.
A apresentação discute a importância da depuração para desenvolvedores, fornecendo um guia rápido em 8 etapas para depuração eficiente e como utilizar as ferramentas de depuração no Visual Studio Code.
1. O documento apresenta conceitos sobre linguagem de programação Java, incluindo tipos de programação, tradução de programas, compilação vs interpretação, e exercícios para praticar variáveis e controle de fluxo.
2. São discutidos tópicos como tipos primitivos em Java, declaração e atribuição de variáveis, operadores aritméticos, comentários, e controle de fluxo com estruturas if/else e laços for/while.
3. Exemplos de código são fornecidos para compilar e executar
1. O documento apresenta conceitos sobre linguagem de programação Java, incluindo tipos de programação, tradução de programas, compilação vs interpretação, e exercícios para praticar variáveis e controle de fluxo.
2. São discutidos tópicos como tipos primitivos em Java, declaração e atribuição de variáveis, operadores aritméticos, comentários, e controle de fluxo com estruturas if/else e laços for/while.
3. Exemplos de código são fornecidos para compilar e executar
Gravação (vídeo) da palestra: https://www.infoq.com/br/presentations/depurando-aplicacoes-php-like-a-boss
Palestra apresentada nos seguintes eventos:
- DrupalCamp Campinas, em 25/06/2016;
- The Developers Conference (TDC) São Paulo, em 09/07/2016;
- PHP Conference Brazil, em 09/12/2016;
- PHPSP + Locaweb #3, em 18/02/2017.
1. O documento apresenta um manual de operação do ROBOTEC, um controlador de braço robótico e editor de algoritmos em português.
2. O ROBOTEC tem o objetivo de auxiliar o aprendizado de programação de alunos iniciantes através da execução e visualização de algoritmos que movimentam um braço robótico.
3. O manual descreve a estrutura básica dos programas, palavras-chave, tipos de dados, operadores, comandos condicionais e de repetição da linguagem do ROBOTEC.
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com Visual Studio 2019. Mais informações podem ser obtidas em www.developeracademy.com.br ou www.developeracademy.dev.
O documento discute a implementação de uma funcionalidade de "gostar ou não gostar" em um site de namoro utilizando técnicas de BDD e API first. O autor descreve como modelou as camadas, APIs e casos de uso da funcionalidade através de testes executáveis para garantir uma arquitetura de qualidade e maleável.
O documento discute técnicas de produtividade e depuração no Eclipse IDE, incluindo autocompletar código, refatoração, navegação entre arquivos e classes, configuração de breakpoints, depuração passo a passo e depuração condicional.
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
Neste trabalho pretendo dar a conhecer a programação de Microprocessadores.
A tendência atual é a favor de uma programação mista, usando principalmente linguagens de mais alto nível (C em particular) e recorrendo à linguagem Assembly apenas em rotinas onde a eficiência do código seja o objetivo principal a atingir.
Disciplina: Arquitetura de Computadores
O documento discute conceitos básicos de algoritmos e programação, como:
- Definição de algoritmos, variáveis, tipos de dados, expressões e comandos;
- A linguagem Visualg para representação de algoritmos no ambiente de programação do mesmo nome;
- Operações básicas de entrada e saída de dados em Visualg.
O manual apresenta o toolkit LabINO, que permite a programação gráfica do Arduino através do software LabVIEW. O LabINO oferece suporte a diversos sensores, atuadores, displays e comunicação entre Arduinos. O documento explica a instalação do toolkit, introduz conceitos básicos do LabVIEW e apresenta a paleta LabINO com seus blocos de função.
O documento descreve: 1) O que é uma linguagem de programação e seus componentes; 2) Os tipos de linguagens de programação - de baixo e alto nível; 3) O que é um compilador e como ele traduz códigos de alto para baixo nível.
Um desafio prático dos testes de unidade é a dependência entre unidades. Quando uma unidade depende de outras, é necessário desenvolver stubs (unidades substitutas) para as unidades dependentes para que a unidade sob teste possa ser testada isoladamente. Isso requer esforço adicional de desenvolvimento que pode atrasar o processo de teste. Além disso, bugs nos stubs podem mascarar ou simular bugs na unidade real, comprometendo a efetividade dos testes. Gerenciar as dependências entre unidades para permitir testes isolados é um desafio na prática dos testes de
O documento introduz o teste unitário, definindo-o como um código que testa pequenas partes de um sistema para garantir seu correto funcionamento. Explica que existem duas principais abordagens para teste unitário: TDD, que desenvolve o teste antes do código, e TLD, que desenvolve o teste após o código. Finalmente, lista benefícios como aumento da qualidade e manutenibilidade do software.
Este documento fornece instruções sobre como criar e configurar um projeto de programação para um CLP Siemens S7300 usando o software STEP7. Ele aborda tópicos como criar um novo projeto, configurar o hardware, inserir um programa, usar símbolos, transferir o programa para o CLP e testá-lo.
[1] O documento discute a diferença entre programas paramétricos e macros, onde programas paramétricos definem valores para variáveis e macros definem uma estrutura lógica de variáveis que recebem valores durante a chamada.
[2] Fornece exemplos de cada um e explica que a principal diferença é como as variáveis são controladas e definidas.
[3] Discutem como escrever uma macro passo a passo, começando com identificar o problema, escolher argumentos, verificar argumentos, e estruturar a lógica do programa.
O documento descreve o programa VisuALG, que permite editar, interpretar e executar algoritmos escritos em pseudocódigo. O VisuALG possui uma interface gráfica simples com editor de texto e ferramentas para executar e depurar algoritmos. O documento também fornece exemplos básicos de algoritmos em Portugol, incluindo um programa "Olá Mundo" e explicações sobre elementos fundamentais como declarações, variáveis, constantes e operadores.
O documento apresenta o LiveOak, um projeto open source que permite criar aplicações sem programação no lado servidor. Ele fornece serviços prontos para uso como armazenamento e segurança. O documento explica como acessar a interface administrativa do LiveOak para criar aplicações, armazenamento e lógica de negócio e demonstra exemplos como um chat e um blog construídos com o LiveOak.
Conectando jBPM com o mundo - TDC 2014 SPjesuinoPower
Este documento discute o uso da API REST do jBPM para gerenciar processos de negócios de forma remota. Ele apresenta o que é BPM e jBPM, e como a API REST pode ser usada para executar comandos, listar tarefas e histórico de chamadas. Além disso, discute como integrar o jBPM com Java usando wrappers e demonstra uma aplicação JavaFX que se comunica com a API REST do jBPM.
JavaFX: Desktop para desenvolvedores WEBjesuinoPower
JavaFX é uma nova API Java para criação de aplicações gráficas que inclui recursos para interfaces com o usuário e animações. A apresentação mostra como desenvolvedores web podem usar suas habilidades em CSS, JavaScript e XML para criar aplicações desktop com JavaFX, e também como se comunicar com servidores. A conclusão é que JavaFX permite reaproveitar conhecimentos de web para aplicações desktop.
JavaFX 8, Collections e Lambdas
Este documento introduz as principais melhorias do Java 8: JavaFX 8, Streams e expressões lambda. Apresenta uma visão geral de como JavaFX 2 funcionava anteriormente e como JavaFX agora é parte integrante do Java. Demonstra como streams e lambdas tornam o trabalho com collections e programação funcional mais simples e conciso.
O documento discute como Java não é tão difícil quanto parece e fornece sete mandamentos para iniciantes começarem com Java. Ele também apresenta várias ferramentas e frameworks Java como JBoss, JSF, Spring e demonstra alguns exemplos de código.
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
O documento apresenta o desenvolvimento rápido de aplicações Java Enterprise Edition (JEE) utilizando JavaFX no cliente. Discute como JEE e JavaFX podem ser usados juntos para criar aplicações empresariais de forma ágil, mostrando ferramentas e conceitos como arquitetura, código de exemplo e conclusões sobre a alternativa proposta.
Este documento fornece um resumo sobre novidades da especificação JAX-RS 2.0 para criação de web services RESTful com Java. As principais atualizações incluem o suporte a uma API cliente para requisições, a capacidade de suspender requisições, e melhor integração com validações e filtros/interceptores para modificar requisições e respostas. O JAX-RS 2.0 trará melhorias significativas para desenvolvimento de web services RESTful com Java.
A apresentação introduz JavaFX 2, uma biblioteca Java para criação de aplicações ricas. Ela descreve o que é JavaFX 2, o que pode ser feito com ela, como ferramentas de desenvolvimento e exemplos de projetos. A apresentação também mostra um exemplo "Olá Mundo" em JavaFX 2 e discute tópicos atuais e futuros sobre a tecnologia.
O documento apresenta JavaFX 2, uma biblioteca Java para criação de aplicações ricas. Apresenta o que é JavaFX 2, o que pode ser feito com ela como criar interfaces gráficas, aplicar efeitos, animações, mostrar páginas HTML e gráficos. Demonstra ferramentas como Scene Builder e projetos como FXForm2 e ScalaFX, e mostra um exemplo simples de "Olá Mundo" em JavaFX 2.
Uma apresentação que mostra a nova API gáfica da plataforma Java: JavaFX.
É mostrado código para criação de aplicações JavaFX e uma aplicação inusitada usando essa tecnologia.
Este documento fornece uma introdução ao JavaFX e Visage. Resume o seguinte:
1) Apresenta William e sua experiência com JavaFX e ferramentas open source.
2) Explica o que é JavaFX e como ele permite criar aplicações ricas com Java de forma fácil.
3) Demonstra como criar uma aplicação básica em JavaFX e os principais elementos de interface.
4) Apresenta Visage como uma linguagem específica para criação de interfaces que roda no topo de plataformas como JavaFX.
O documento discute o desenvolvimento de APIs RESTful com Java. Aborda os principais conceitos de REST e como implementá-los usando JAX-RS, incluindo anotações para mapear URLs, verbos HTTP e formatos de dados. Também fornece um exemplo prático de CRUD de celulares usando essa abordagem.
AS FONTES DE ENERGIA QUE MUDARAM O MUNDO AO LONGO DA HISTÓRIA E O REQUERIDO F...Faga1939
Este artigo tem por objetivo apresentar as fontes de energia que mudaram o mundo ao longo da história e o sistema sustentável de energia requerido para o futuro.
2. Sobre
Eu debugo quase todo dia… sou um Software Maintenance Engineer
ou é pago para resolver problemas que ninguém mais gostaria de resolver em
ambientes complexos e de alto risco (troubleshoot e resolução de bugs de
aplicações em produção)
AMO (sem sarcasmo) meu trabalho!
3. O que é debugar
Técnicas para tirar bugs (problemas) da sua aplicação
A técnica mais famosa é acompanhar cada linha de código da aplicação, mas
antes disso precisamos ISOLAR o problema
Quando sai da máquina do computador (um ambiente controlado), temos
muitas variáveis que precisamos ser descartadas antes de chegarmos no
código - para isso temos muitas outras técnicas (aumentar nível de logging,
simular ambientes - DOCKER é um grande aliado), mas isso fica para outro
dia!
Hoje vamos focar em acompanhar a execução linha a linha de um programa
Java
4. Como debugamos um programa Java
Executamos o programa em modo debug e configuramos pontos de
parada(breakpoints - for ENGRISH lovers)
Durante essa arte maravilhosa também podemos ver como está cada variável
do escopo e variáveis que aquele escopo tem visibilidade
Para isso precisamos aprender a debugar com uma IDE ou utilizar o jdb
… errr vamos usar IDE mesmo
5. Como debugar usando o Eclipse
Se você tem seu código rodando no Eclipse é tudo muito mais simples, você
adiciona breakpoints e executa o programa com F11 ou clicando no bugzinho:
Durante o debug você pode ver e alterar valores de variáveis do programa!
Para adicionar breakpoints você faz um clique duplo na coluna esquerda do
código:
Ao adicionar um breakpoint você pode clicar com o botão direito e desabilitar
ele ou remover completamente.
6. Vendo e alterando variáveis durante a execução
Veja a aba variáveis, lá podemos alterar valores. Isso é disponível na perspectiva de debug, que é aberta
automaticamente quando a sessão de debug começa
7. Controlando a execução do debugger
Você pode usar os botões do painel
Ou controlar com botões com os seguintes comandos:
● F5: Ao iniciar o modo debug você pode avançar linha a linha do código e
entrar em cada chamada de método
● F6: Avança linha a linha, mas não entra em chamadas de métodos
● F7: Volta para o método que chamou o método atual
● F8: Continua a execução do programa até o próximo breakpoint
8. Indo além com o debugger
Com a ferramenta de debug do Eclipse é também possível:
● Observar pequenos pedaços de código que você escreve (Watch
Expression)
● Colocar um breakpoint no lançamento de exceção (o código só é parado
quando uma exceção é lançada)
● Debugar múltiplos servidores remotamente!
9. Debugando código de terceiros
Certifique-se que no debugger você adicionou o código de terceiro nas
configurações de debug ou de aplicações remotas. Dica: configure o maven
para baixar código, pois você poderá usar no debug depois
10. Como debugar meu código dentro de um servidor?
É possível debugar aplicações remota desde que você tenha o código e tenha
acesso a uma porta de debug!
Anexar o código das APIs é muito importante para o DEBUG.
Se o servidor for local você simplesmente deve iniciar ele em modo debug
também (como fizemos para a aplicação local Java)
12. E se tiver um problema e não tiver acesso?
Se você não tem acesso a um ambiente para debug uma das melhores forma
é utilizar Byteman! Com ele você escreve scripts que podem ler e modificar
variáveis em tempo de execução inclusive em ambiente de produção
Mas…. Outro dia falamos sobre Byteman!