quarta-feira, 25 de novembro de 2020

DICAS 3191 -WEBDEV TUTORIAL 113 - 08-12-2020-08_00Hrs- Licao 10.3 Performance Profiler



https://youtu.be/njQ9Fbhn0Xk



Bom Dia Boa Tarde Boa Noite

Seja Membro do Canal

Esse Video Ao Vivo vai estrear as 08:00 do dia 08/12/2020-

DICAS 3191 -WEBDEV TUTORIAL 113 - 08-12-2020-08_00Hrs- Licao 10.3 Performance Profiler Parte A


ASSUNTOS

Performance profiler
visão global
O princípio é simples :
Iniciando o perfil de desempenho
Estudando o resultado
Summary
Criando um httprequest para dar erro 
arrumando o codigo httprequest

Proxima Licao  : Debugging a project

DICAS 3067 -WEBDEV TUTORIAL 1-Licao 1.1-14-09-2020 11hrs-DESCUBRA WEBDEV
DICAS 3068 -WEBDEV TUTORIAL 1-Licao 1.2-14-09-2020 15hrs-Web development and WEBDEV - PARTE A
DICAS 3069 -WEBDEV TUTORIAL 3-Licao 1.2-14-09-2020 16hrs-Web development and WEBDEV - PARTE B





PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 











Lição 10.3. Perfilador de desempenho
Esta lição vai te ensinar os seguintes conceitos
  • Visão global.
  • Iniciando o criador de perfil de desempenho.
  • Estudando o resultado.
Duração da aula

Tempo estimado: 15 min
Lição AnteriorÍndicePróxima lição
visão global
O Performance Profiler (também denominado Profiler) é uma ferramenta utilizada para verificar e otimizar o tempo de execução dos processos encontrados em seu site.
O princípio é simples :
  • Você executa o teste do seu site.
  • Durante este teste, o profiler de desempenho acompanha todas as ações realizadas e salva os tempos de execução de cada um dos processos executados.
No final do teste, o criador de perfil de desempenho exibe:
  • as 10 operações mais demoradas,
  • a duração e o número de chamadas para todos os processos executados.
O projeto "WW_Optimization" contém uma página específica usada para visualizar os resultados interessantes com o criador de perfil de desempenho.
Iniciando o perfil de desempenho
O profiler de desempenho pode ser iniciado:
  • no editor WEBDEV :
    Neste caso, o projeto é executado automaticamente em modo de teste. Você pode usar seu aplicativo e iniciar os processos de sua escolha.
    Para voltar ao editor WEBDEV, basta sair do seu site.
    Em seguida, o criador de perfil de desempenho exibe o resultado do monitoramento. Este resultado é salvo em um arquivo WPF.
  • de um de seus processos WLanguage , com as seguintes funções:
    ProfilerStartInicia a "coleta de dados" para o criador de perfil de desempenho.
    ProfilerEndPara a "coleta de dados" para o criador de perfil de desempenho.

    Nesse caso, apenas o código encontrado entre ProfilerStart e ProfilerEnd é estudado. O resultado é salvo em um arquivo WPF.
  • O primeiro método será usado em nosso exemplo. Para iniciar o profiler de desempenho no projeto "WW_Optimization":
    1. Na faixa de opções, na página "Projeto", grupo "Auditoria e desempenho", expanda "Analisar desempenho" e selecione "Analisar desempenho".

      Observação

      O perfil de desempenho também pode ser iniciado a partir do painel do projeto, por meio do widget "Desempenho". Simplesmente:
      • habilite o widget se necessário (clique no link "Clique aqui para reativar").
      • clique na seta e selecione "Analisar desempenho".
        Widget 'Performance' (painel do projeto)
    2. O teste do projeto é executado.
    3. Clique em "TEST PAGE OF PERFORMANCE PERFILER".
    4. Clique em "PROCESSAR PARA ANALISAR".
    5. Valide a janela de informações e pare o teste do projeto. A janela de relatório do profiler de desempenho é exibida.
Estudando o resultado
  • Vamos estudar a janela de relatório do criador de perfil de desempenho. Os resultados são exibidos em várias guias:
    • a guia "Resumo" apresenta os dez processos mais longos.
    • a aba "Mapeamento" apresenta uma visão gráfica dos principais processos.
    • a guia "Detalhes" apresenta todos os processos executados durante o teste do aplicativo (do mais lento ao mais rápido).
    • a guia "Chamadas" é usada para ver os detalhes das operações realizadas em um processo.
  • Vamos apresentar essas diferentes guias em nosso exemplo.
    • A guia "Resumo" apresenta os dez processos mais longos. Em nosso exemplo, você pode ver que o procedimento local denominado "UpdateProductStock" leva mais de 3 segundos para ser executado (este tempo pode mudar de acordo com a potência do seu computador).
      Perfilador de desempenho - guia 'Resumo'
    • A guia "Mapeamento" é usada para identificar visualmente o que demorou mais. No nosso caso, é uma chamada para HTTPRequest :
      Perfilador de desempenho - guia 'Mapeamento'
    • A guia "Detalhes" apresenta todos os processos ou eventos executados, do mais lento ao mais rápido.
      Perfilador de desempenho - guia 'Detalhes'
      As seguintes informações são exibidas para cada processo:
      • Função: Função, evento ou procedimento executado.
      • Tempo total: tempo de execução da função.
      • Tempo interno: tempo de execução devido ao motor.
      • Nb de chamadas: Quantidade de chamadas feitas à função (procedimento ou evento).
      • Tempo 1 chamada: tempo de execução de uma chamada à função (procedimento ou evento).
      • % De código: porcentagem de tempo gasto no processo de função ou procedimento (código do desenvolvedor que pode ser otimizado).
      • Pai: Elemento que contém o processo ou evento.
  • No nosso caso, a guia "Detalhes" indica que a chamada para HTTPRequest é um dos elementos que mais demoram .
    1. Selecione esta linha. Vamos verificar se essa desaceleração é causada por um problema específico.
    2. Clique no botão "Chamadas" para exibir os detalhes das chamadas para o procedimento UpdateProductStock . Selecione "HTTPRequest" e clique em "Código": a linha correspondente do código WLanguage é exibida no editor de código.
      Ligações feitas pelo procedimento local
    3. Feche o criador de perfil de desempenho.
    4. A seguinte linha de código WLanguage é executada:
      HTTPRequest ("fornecedor-addr")
      A lentidão é causada pelo fato de que o endereço especificado para HTTPRequest não está acessível.
  • Vamos verificar o modo de operação do aplicativo otimizando este código:
    1. Substitua a linha de código que contém HTTPRequest pela seguinte linha de código:
      // Verifica a acessibilidade do servidor do fornecedor
      HTTPRequest ("www.google.com")
    2. Salve o código (Ctrl + S).
  • Agora vamos reiniciar o criador de perfil de desempenho:
    1. No painel "Projeto", grupo "Auditoria e desempenho", expanda "Analisar desempenho" e selecione "Analisar desempenho".
    2. O teste do projeto é executado.
    3. Clique em "TEST PAGE OF PERFORMANCE PERFILER".
    4. Clique em "PROCESSAR PARA ANALISAR".
    5. Valide a janela de informações e pare o teste do projeto. A janela de relatório do profiler de desempenho é exibida.
    6. Na aba "Mapeamento", HTTPRequest não aparece com a mesma importância.
      Perfilador de desempenho - guia 'Mapeamento'
  • Feche a janela do relatório do criador de perfil de desempenho.

terça-feira, 24 de novembro de 2020

DICAS 3190 -WINDEV MOBILE TUTORIAL 11 - 07-12-2020-08_00Hrs- Lição 4.2. O básico do WLanguage - Variaveis - PARTE A



https://youtu.be/YmIMjnMbX64



Bom Dia Boa Tarde Boa Noite

Seja Membro do Canal

Esse Video Ao Vivo vai estrear as 08:00 do dia 07/12/2020-

DICAS 3190 -WINDEV MOBILE TUTORIAL 11 - 07-12-2020-08_00Hrs- Lição 4.2. O básico do WLanguage - Variaveis - PARTE A


ASSUNTOS

Lição 4.2. O básico do WLanguage
As variáveis
Declaring and assigning a variable
Os tipos de variáveis
O escopo das variaveis
Global 
Local
Escopo
Operações simples nas variáveis
Exemplos
Operadores de comparacao 
dicas 
Proxima Licao : The conditional IF and SWITCH statements








PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 












Lição 4.2. O básico do WLanguage
Esta lição vai te ensinar os seguintes conceitos
  • Os diferentes tipos de variáveis.
  • Principais declarações WLanguage.
  • Os principais operadores WLanguage.
  • Procedimentos e funções.
  • Processamento de strings, valores numéricos e moedas.
Duração da aula

Tempo estimado: 1 hora
Lição AnteriorÍndicePróxima lição
As variáveis

O que é uma variável?

Em uma linguagem de programação, uma variável é usada para armazenar dados. Essas seções de memória contêm strings, números, etc.
As variáveis ​​são usadas para realizar cálculos, para realizar comparações ou para armazenar informações que serão usadas posteriormente.
Declarando e inicializando uma variável
Uma variável é representada por:
  • um nome: Nome dado à variável para que possa ser usada pelo idioma.
  • um tipo: Natureza dos dados armazenados na variável (consulte Os tipos de variáveis ).
  • um valor: informações armazenadas na variável.
  • um escopo: Limite para usar a variável no programa (ver O escopo das variáveis ). O escopo é definido principalmente pelo local onde a variável é declarada.

Declarando e atribuindo uma variável

A variável deve ser declarada (o que significa criada) antes que possa ser usada.
  • Exemplo de declaração simples:
    Price is currency
    • Preço representa o nome da variável.
    • é usado para declarar a variável. A linguagem cotidiana é usada em WLanguage.
    • moeda corresponde ao tipo de variável.
  • Exemplo de declaração múltipla:
    LastName, FirstName are strings
    • LastName, FirstName representam os nomes das variáveis.
    • are é usado para declarar um conjunto de variáveis.
    • strings representam o tipo de variáveis.
Quando a variável é declarada, você tem a capacidade de atribuí-la (ou atribuir um valor). Por exemplo:
// Atribuir uma variável de moeda
Price = 1256,67
// Atribuir uma variável de string
LastName = "Doe"
O operador = é usado para realizar esta atribuição.

Observação

Em WLanguage, o caractere "(aspas duplas) é o caractere usado para delimitar uma sequência de caracteres. No exemplo acima, as aspas duplas são usadas para atribuir o valor Doe à variável LastName.
O conteúdo da variável pode ser lido e manipulado: basta usar o nome dado à variável para acessá-la.
O exemplo a seguir é usado para ler e exibir o conteúdo da variável Price na tela:
Info ( preço )

Os tipos de variáveis

O tipo de variável é usado para especificar o tipo de informação que será armazenada na variável. Os tipos mais comuns são:
  • booleano (verdadeiro ou falso),
  • string ("Doe"),
  • inteiro (1234),
  • moeda (12,32),
  • real (7.766666),
  • etc.

Importante

Use o tipo correspondente às informações que devem ser armazenadas. Portanto, você otimizará a memória e evitará erros de cálculo ou processo ao usar variáveis ​​nas funções WLanguage.
A maioria desses tipos de variáveis ​​será usada neste tutorial.
Para mais detalhes, consulte a ajuda sobre o tipo desejado (ver Os diferentes tipos de variáveis ).

Observação

Outros tipos estão disponíveis, como matrizes, estruturas, datas, horas, ...
Variáveis ​​avançadas também estão disponíveis. Esses tipos avançados reúnem todas as características do elemento que está sendo usado em uma única variável.
Tipos avançados podem ser usados ​​para lidar com documentos XML, e-mails, arquivos XLS, ...

O escopo das variáveis

As variáveis ​​podem ser declaradas em qualquer lugar do código. Porém, de acordo com a posição de sua declaração, a variável não pode ser utilizada para realizar processos ou cálculos. Falamos de escopo variável.
Dois tipos de escopo estão disponíveis:
  • Global.
  • Local.
Escopo
global Global significa que a variável tem uma visibilidade estendida no código. A variável é visível fora do local onde foi declarada. Vários níveis estão disponíveis:
  • Projeto e conjunto de procedimentos,
  • Janela, janela móvel, página, relatório.
Uma variável declarada em nível de projeto tem maior visibilidade no programa. A variável é visível em qualquer lugar, em todos os processos do programa. No entanto, você não deve declarar muitas variáveis ​​com este escopo: na verdade, a memória ocupada pela variável é sempre reservada, mesmo se a variável não for usada. Usar um grande número de variáveis ​​globais não é recomendado na arquitetura do programa. Para passar variáveis ​​para um processo, recomendamos que você use parâmetros (consulte "Parâmetros de um procedimento" para obter mais detalhes).
Uma variável declarada em um conjunto de procedimentos e uma variável declarada no projeto têm a mesma visibilidade. A vantagem de declarar uma variável no nível de um Conjunto é agrupar (ou classificar) as variáveis ​​por tema (conjunto) para tornar o processo de inicialização do projeto mais legível.
Uma variável declarada em nível de Janela, Janela Móvel, Página ou Relatório limita o escopo da variável a todos os processos do elemento (Janela, Janela Móvel, Página ou Relatório) e seus controles. Isso permite encapsular e limitar os usos.
Escopo
local Local significa que a variável tem uma visibilidade limitada no código. A variável é visível no processo em que foi declarada. Isso torna possível restringir o uso de variável ao processo.
Diagrama de escopo resumido
Escopo de variáveis

Uma variável é global quando é declarada:
  • no código de inicialização do projeto (ou no código de declaração do conjunto de procedimentos). A variável é global para o projeto.
  • No código de declaração de variáveis ​​globais de janela, página ou relatório. A variável é global para o elemento (janela, página ou relatório) onde foi declarada.
Em todos os outros casos, uma variável é local para o processo em que é declarada.

Operações simples nas variáveis

Vários operadores matemáticos podem ser usados ​​para realizar cálculos nas variáveis:
  • + para realizar uma adição.
  • - para realizar uma subtração.
  • * para fazer uma multiplicação.
  • / para realizar uma divisão.
Outros operadores podem ser usados ​​para realizar cálculos:
  • ++ para incrementar de 1 (adicionar 1 à variável).
  • - - para diminuir de 1 (subtrair 1 da variável).
  • + = para atribuir adicionando um valor.
  • - = atribuir subtraindo um valor.
Exemplos:
// Declaration of variables
Cnt is int
V1 is int
Res is numeric
 
// Assignment
Cnt = 10
V1 = 3
 
// Use of operators
Cnt = Cnt + 3   // Cnt is equal to 13
Cnt ++ // Cnt is equal to 14
Cnt -= 8 // Cnt is equal to 6
Cnt = Cnt * V1 // Cnt is equal to 18
Res = Cnt / 5 // Res is equal to 3.6
Operadores de comparação também estão disponíveis:
  • <menos que
  • > maior que
  • <= menor ou igual a
  • > = maior ou igual a
  • <> diferente de
  • = igual a
Outros operadores estão disponíveis. Consulte Os diferentes tipos de operadores para obter mais detalhes.

Dicas

  • É muito conveniente nomear as variáveis ​​com nomes longos (e evitar nomes curtos como i, j, k, ...). Ao ler o programa novamente, você será capaz de lembrar facilmente o propósito da variável.
  • Para definir o nome das variáveis, todos os caracteres Unicode (incluindo os caracteres acentuados) são aceitos. Significa legibilidade melhorada! Cuidado: alguns caracteres não são permitidos: espaço, =, ponto, vírgula, ...
  • É muito importante dar o tipo adequado à variável de acordo com seu uso. Por exemplo, para armazenar vários dígitos, você pode ter que:
    • use uma variável numérica se esta variável deve ser usada para cálculos.
    • use uma variável de string se esta variável deve ser usada para armazenar dígitos sem realizar cálculos (para 

Teste

Teste
teste