sexta-feira, 19 de maio de 2017

O QUE É STREAMING?

Streaming é uma tecnologia que envia informações multimídia, através da transferência de dados, utilizando redes de computadores, especialmente a Internet, e foi criada para tornar as conexões mais rápidas.
Um grande exemplo de streaming, é o site Youtube, que utiliza essa tecnologia para transmitir vídeos em tempo real.
Em inglês, a palavra stream significa córrego ou riacho, e por isso a palavra streaming remete para o fluxo, sendo que no âmbito da tecnologia, indica um fluxo de dados ou conteúdos multimídia. Muitas pessoas assistem filmes, seriados ou jogos de futebol em streaming.
live streaming permite que o utilizador veja um programa que está sendo transmitido ao vivo. Existem também a possibilidade de transmitir um evento através do live streaming, para que pessoas que estão longe possam assistir.
Quando a ligação de uma rede é banda larga, a velocidade de transmissão da informação é muito maior, dando a sensação ao usuário de que o áudio e o vídeo são transmitidos em tempo real.  Atualmente, emissoras de televisão, bem como rádios FM e AM, além de várias empresas que realizam eventos, utilizam esta tecnologia para interação digital com seus ouvintes e clientes.
O streaming possibilita que um usuário reproduza mídia, como vídeos, que são sempre protegidos por direitos autorais, de modo que não viole nenhum desses direitos, tornando-se bastante parecido com o rádio ou a televisão aberta. A tecnologia é também muito usada em jogos online, em sites que armazenam arquivos, ou em qualquer serviço onde o carregamento de arquivos é bastante rápido.

Até mais e até o próximo artigo.

O QUE É NODE.JS?

NODE.JS (Node Packege Managemente) é uma plataforma construída sobre o motor JavaScript do Google Chrome para facilmente construir aplicações de rede rápidas e escaláveis. Node.js usa um modelo de I/O direcionada a evento não bloqueante que o torna leve e eficiente, ideal para aplicações em tempo real com troca intensa de dados através de dispositivos distribuídos.
Na JSConf 2009 Européia, um programador jovem chamado Ryan Dahl, apresentou um projeto em que estava trabalhando. Este projeto era uma plataforma que combinava a máquina virtual JavaScript V8 da Google e um laço de eventos. O projeto apontava para uma direção diferente das outras plataformas em JavaScript que rodam no servidor: todos I/O primitivos são orientado a evento. Aproveitando o poder e a simplicidade do Javascript, isso tornou tarefas difíceis de escrever aplicações assíncronas em tarefas fáceis. Desde quando foi aplaudido de pé no final do seu discurso, o projeto de Dahl tem recebido uma popularidade e uma aprovação sem precedentes.

Que problema o Node pode resolver?

Node estabeleceu o objetivo número um que é “fornecer uma maneira fácil para construir programas de rede escaláveis”. Qual é o problema com os programas servidores atuais? Vamos fazer os cálculos. Em linguagens como Java™ e PHP, cada conexão cria uma nova thread que potencialmente tem anexado 2 MB de memória com ela. Em um sistema que tenha 8 GB de RAM, isso põe o número máximo teórico de conexões concorrentes a cerca de 4.000 usuários. E quando o número de usuários aumenta, se você quer que sua aplicação web suporte mais usuários, você tem que adicionar mais e mais servidores. Somado a estes custos também podem haver possíveis problemas técnicos: um usuário pode usar diferentes servidores para cada requisição, então cada recurso compartilhado deve ser compartilhado para todos os servidores. Por todas estas rações, o gargalho em toda a arquitetura de aplicações web (incluindo velocidade de tráfego, velocidade do processador e velocidade da memória) é o número de conexões concorrentes que o servidor pode manipular.
Node resolve esta questão trocando a maneira como a conexão é tratada no servidor. Ao invés de criar uma nova OS thread a cada conexão (e alocar a memória anexa a ela), cada conexão dispara um evento executado dentro da engine de processos do Node. Node afirma que nunca vai dar deadlock, já que não há bloqueios permitidos, e ele não bloqueia diretamente para chamadas de I/O. Node também alega que um servidor rodando ele pode suportar dezenas de milhares de conexões simultâneas.
Então, agora que você tem um programa que pode manipular dezenas de milhares de conexões simultâneas, o que você pode realmente fazer com o Node? Seria incrível se você tivesse uma aplicação web que necessitasse desta quantidade de conexões. Este é um daqueles tipos de problema: “se você tem um problema, não é mais um problema”.

O que Node definitivamente não é?

Sim, Node é um servidor de programas. Entretanto o produto base do Node definitivamente não é como o Apache ou o Tomcat. Estes servidores são basicamente servidores ready-to-install e estão prontos para instalar aplicativos instantâneamente. Você pode subir e rodar um servidor em um minuto com estes produtos. Node definitivamente não é isso. Parecido com como o Apache pode adicionar um módulo PHP para permitir desenvolvedores criarem páginas da web dinâmicas, e um módulo SSL para conexões seguras, Node tem o conceito de módulos que podem ser adicionados no núcleo do Node. Há literalmente centenas de módulos para rodarem com o Node, e a comunidade é bastante ativa em produzir, publicar e atualizar dezenas de módulos por dia.

Como o Node funciona

O Node roda em uma JavaScript V8 VM. Mas espere, JavaScript no servidor? Isso, você leu certo. JavaScript no lado do servidor pode ser um conceito novo para todos que trabalharam exclusivamente com o JavaScript no lado do cliente, mas a idéia em sí não é tão absurda – porque não usar a mesma linguagem de programação no cliente que você usa no servidor?
O que é V8? O motor JavaScript V8 é o motor que a Google usa com seu navegador Chrome. Poucas pessoas pensam sobre o que realmente acontece com o JavaScript no lado do cliente. Bem, a engine JavaScript realmente interpreta o código e o executa. Com o V8 a Google criou um ultra-rápido interpretador escrito em C++, com um outro aspecto único: você pode baixar a engine e incorporá-la em qualquer aplicação desejada. Isso não está restrito em rodar em um navegador. Então Node atualmente usa o motor JavaScript V8 escrito pela Google e propõe que seja usado no servidor. Perfeito! Para que criar uma nova linguagem quando há uma boa solução já disponível?

Programação orientada a Evento

Muitos programadores foram ensinados a acreditar que a programação orientada a objetos é um modelo de programação perfeito e a não usarem nada mais. Node utiliza o que é chamado modelo de programação orientada a evento.
Programação orientada a evento no lado do cliente com jQuery.

Espero ter ajudado e até o próximo artigo.

quarta-feira, 17 de maio de 2017

SIGNIFICADO DE WEBINAR

Webinar é um tipo de webconferência no qual a comunicação é de uma via apenas, ou seja, somente uma pessoa se expressa e as outras assistem. A interação entre os participantes é limitada apenas ao chat, de modo que eles podem conversar entre si ou enviar perguntas ao palestrante. O nome vem de uma abreviação de web-based seminar (em português, seminário baseado em rede).
webinar pode ocorrer tanto através de uma aplicação específica, instalada em cada um dos computadores participantes, quanto por meio de uma aplicação web que opera dentro do navegador, bastando digitar o endereço do site onde será o webinar, sendo, na maioria das vezes, necessário ainda um cadastro prévio.

Alguns Provedores de Serviços:
  • Online Meetings (IBM)
  • Appear.in
  • Adobe Acrobat Connect
  • AnyMeeting
  • BrightTALK
  • Cisco WebEx
  • GoToWebinar
  • Eventials
  • IBM Sametime
  • IOCOM
  • iMeet
  • LogMeIn
  • MaxinTV
  • ON24
  • Openmeetings
  • Skype
  • Join.me
  • Youtube Live!

Espero ter ajudado e até a próxima:
Wellington 
aspnetwf@gmail.com



terça-feira, 21 de fevereiro de 2017

Depurando JavaScript com Google Chrome

É Certo que em algum momento você vai desejar depurar uma parte do código. Em linguagens que utilizam IDE como Visual Studio, NetBeans e outras isso é bem mais fácil. Mas o que dizer em depurar o código em linguagens Client-Side como o JavaScript, em outras palavras em linguagens que executam o código no lado do cliente e não no lado do servidor.
Não fique preocupado, isso é bem fácil. Veja o exemplo abaixo:
Primeiramente, vamos utilizar para este exemplo o navegador Chrome.
1 – Com o Google Chrome aberto na página do seu Sistema ou Site clique em F12 para abrir o console do navegador.

2 - Clique em console


Figura 1: Console do Google Chrome

Se você desejar fazer um breakpoint, clique sobre o arquico 2.html (ou no seu caso o arqui js) será aberta a janela Source.

Figura 2: Source do Google Chrome

Clica sobre a linha que deseja fazer o teste e pressione F11 para navegar entre o código. 
Para adicionar um watch para uma variável qualquer, basta selecionar a variável (em tempo de depuração, ou seja, enquanto o depurador estiver sendo executado), clicar com o botão direito do mouse depois “Add selected text to Watches”.

Figura 3: Add selected text to watches


Figura 4: Janela Watch do Google Chrome

Para navegar pressione F11.

terça-feira, 7 de fevereiro de 2017

EXCEL - REMOVER ACENTOS

CRIANDO A UDF

A UDF é uma macro (VBA) porém com características diferentes pois aparecerá como uma função normal do Excel, como um PROCV por exemplo.
  1. Aperte ALT + F11 para abrir o editor VBA
  2. No menu da esquerda clique com o botão direito do mouse crie um novo módulo
  3. Escreva o código a seguir no quadro que se abre a direita.
Function Acento(Caract As String)
 Dim A As String
 Dim B As String
 Dim i As Integer
 Const AccChars = "ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿ"
 Const RegChars = "SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyy"
 For i = 1 To Len(AccChars)
 A = Mid(AccChars, i, 1)
 B = Mid(RegChars, i, 1)
 Caract = Replace(Caract, A, B)
 Next
 Acento = Caract
End Function
Siga os passos conforme a imagem abaixo:
1
2
E é só isso, está pronto. Antes de irmos para o exemplo prático, vamos entender como funciona essa macro.

COMO ESTA MACRO FUNCIONA

Normalmente quando criamos uma macro ela começa com Sub ou Private Sub mas você deve ter notado que esta começa com Function pois se trata de uma UDF. Esta função foi nomeada de Acento e é assim que iremos nos referenciar a ela dentro do Excel, e possui apenas um argumento, chamado Caract que nada mais é do que o texto ou palavra com acento. Para fins comparativos, a função PROCV utiliza 4 argumentos, separados pelo ; (ponto e virgula), a função Acento, que acabamos de criar, possui apenas um.
Primeiro definimos 3 variáveis que serão utilizadas pela função, são elas as variáveis AB e i além de duas constantes chamadas de AccChars e  RegChars.
For i = 1 To Len(AccChars)
Significa que um certo código será repetido enquanto a variável i for menor que o número de caracteres presentes na constante AccChars.
A = Mid(AccChars, i, 1) e B = Mid(RegChars, i, 1)
Significam que a variável A será a letra que estiver na posição i da variável AccChars. Quando i for igual a 1 então A será igual a primeira letra de de AccChars, isso se repete até que acabem as letras de AccChars. O mesmo acontece bom B porém ao invés de ser uma letra em AccChars será ma letra presente em RegChars.
Caract = Replace(Caract, A, B)
Este trecho faz com que sempre que a palavra ou texto que se deseja remover os acentos, tiver uma letra presente em AccChars, está letra (com acento) é substituída pela mesma letra presente em RegChars (sem acento). Isso é repetido até que todas as letras presentes em ACCChars e RegChars sejam substituídas.
Acento = Caract
Faz com que o resultado da função Acento seja igual a Caract que teve todas suas letras com acentos substituídas por letras sem acento.

EXEMPLO PRÁTICO

A imagem abaixo mostra uma pequena lista de palavras com acento e o resultado obtido com a UDF Acento.
4


quarta-feira, 7 de dezembro de 2016

O QUE É XAMMP?

O que é o XAMPP?

XAMPP é o ambiente de desenvolvimento PHP mais popular. O XAMPP é completamente gratuito, fácil de instalar a distribuição Apache, contendo MySQL, PHP e Perl. 

O pacote de código aberto do XAMPP foi criado para ser extremamente fácil de instalar e de usar.

O objetivo do XAMPP é construir uma distribuição fácil de instalar para desenvolvedores entrarem no mundo do Apache. Para torná-lo conveniente para os desenvolvedores, o XAMPP é configurado com todos os recursos ativados. No caso de uso comercial, por favor dê uma olhada nas licenças de produtos; do ponto de vista do XAMPP, o uso comercial também é gratuito. Há atualmente distribuições para Windows, Linux e OS X.


Um forte abraço a todos e até a próxima.


Wellington Pereira
wdevtech@gmail.com


Maria DB

Talvez você já tenha ouvido falar sobre MariaDB. Mas o que é MariaDB?

MariaDB é um dos servidores de banco de dados mais populares do mundo. Ele desenvolvido pelos desenvolvedores originais do MySQL e garantido para permanecer open source. Gigantes de tecnologia tem usado ele como: Wikipedia, WordPress.com e Google.

O Servidor de banco de dados MariaDB transforma dados em informações estruturadas em uma ampla gama de aplicações, que vão desde bancos a sites.

É um substituto melhorado para o MySQL. MariaDB é usada porque é rápido, escalável e robusto, com um rico ecossistema de mecanismos de armazenamento, plugins e muitas outras ferramentas que o tornam muito versátil para uma ampla variedade de casos de uso.

MariaDB é desenvolvido como software de código aberto e como um banco de dados relacional que fornece uma interface SQL para acessar dados. As versões mais recentes do MariaDB também incluem recursos GIS e JSON.

Mais informações podem ser encontradas no MariaDB Knowledge Base , por exemplo:

Caso deseje mais informações acesse o site https://mariadb.org/

Um forte abraço a todos e até a próxima.

Wellington Pereira
wdevtech@gmail.com

terça-feira, 6 de dezembro de 2016

CARTILHA DE SEGURANÇA PARA INTERNET (CERT.BR)

Essa cartilha todos deveriam ler, pois a cada instantes somos bombardeados de todos os lados, por pessoas que tentam aplicar golpes utilizando e-mails, redes sociais ou outros métodos. 

Ela possui um conteúdo didático de simples compreenção ao mundo digial tão complexo.

A cartilha abaixo foi desenvolvida por empresas sérias no ramo de tecnologia.

Link para baixar a cartilha. download

Wellington Pereira
aspnetwf@gmail.com

terça-feira, 30 de agosto de 2016

VOCÊ SABE A DIFERENÇA ENTRE VÍRUS, TROJANS, SPYWARES E ETC.

Quem de nós, em alguma ocasião o computador não já foi infectado com algum tipo de vírus. Só mencionar essa palavra vírus para alguns já soa bem assustador.

O que é um vírus de computador
Vírus são os programas de computador que tem como objetivos mais comuns causar danos em arquivos, roubar informações, etc.
Os vírus se diferenciam dos malwares pela sua capacidade de infectar um sistema, fazer cópias de si mesmo e tentar se espalhar para outros computadores, da mesma maneira que um vírus biológico faz.
Vírus são típicos de arquivos anexos de emails. Isso acontece porque quase sempre é necessário que um vírus seja acionado através de uma ação do usuário.
Um dos vírus mais perigosos já registrados foi o “ILOVEYOU”, uma carta de amor que se espalhou por email e é considerada responsável pela perda de mais de cinco bilhões de dólares em diversas empresas.
Mas, hoje em dia é comum ouvirmos falar de trojan, spyware, adware, malware. Embora eles também sejam vírus perigosos, mas cada um tem sua particularidade.
É sobre isso que veremos agora. Veja:
Malware
Malware é a combinação das palavras inglesas malicious e software, ou seja, programas maliciosos. São programas e comandos feitos para diferentes propósitos:
·         Apenas infiltrar um computador ou sistema;
·         Causar danos e apagar dados;
·         Roubar informações;
·         Divulgar serviços e assim por diante.
Em resumo malware é a palavra que engloba programas perigosos, invasivos e mal intencionados que podem atingir um computador.
·         Os malwares se dividem em muitas outras categorias:
·         Worms;
·         Trojans;
·         Rootkits;
·         Spywares;
·         adwares e outros menos conhecidos.
·          

Worms
Um worm (verme, em inglês) de computador é um programa malicioso que se utiliza de uma rede para se espalhar por vários computadores sem que nenhum usuário interfira neste processo.
Os worms são perigosos pois podem ser disparados, aplicados e espalhados em um processo totalmente automático e não precisar se anexar a nenhum arquivo para isso. Enquanto vírus buscam modificar e corromper arquivos, os worms, costumam consumir banda de uma rede.

Trojan
Trojan, forma abreviada de Trojan Horse (cavalo de tróia, em português), é um conjunto de funções desenvolvido para executar ações indesejadas e escondidas. Pode ser, por exemplo, um arquivo que você baixou como um protetor de telas, mas, depois da instalação, diversos outros programas ou comandos também foram executados.
Daí a relação com o cavalo de tróia, historicamente falando. Você recebe um conteúdo que acha ser uma coisa, mas ele se desenrola em outras coisas que você não esperava ou não foi alertado.

Rootkits
Os rootkits miram simplesmente no controle de um sistema operacional sem o consentimento do usuário e sem serem detectados.
O grande mérito do rootkit é sua capacidade de se esconder de quase todos os programas de antivírus através de um avançado código de programação. Mesmo que um arquivo rootkit seja encontrado, em alguns casos ele consegue impedir que você o apague.

Spywares
Spy, em inglês, significa espião, e foi com essa característica que os spywares surgiram. No começo, os spywares monitoravam páginas visitadas e outros hábitos de navegação para informar os autores. De posse dessas informações, tais autores podiam atingir os usuários com mais eficiência em propagandas, por exemplo.
Porém, com o tempo, os spywares também foram utilizados para roubo de informações pessoais (como logins e senhas) e também para a modificação de configurações do computador (como página home do seu navegador).

Adware
Normalmente ele não prejudica seu computador, mas te enche o saco, com certeza. Adwares são programas que exibem, executam ou baixam anúncios e propagandas automaticamente e sem que o usuário possa interferir.


Um forte abraço a todos,
Wellington 
aspnetwf@gmail.com

sábado, 27 de agosto de 2016

MEMÓRIA CACHE



A memória cache surgiu quando se percebeu que as memórias não eram mais capazes de acompanhar o processador em velocidade, fazendo com que muitas vezes ele tivesse que ficar "esperando" os dados serem liberados pela memória RAM para poder concluir suas tarefas. Por este motivo passou a ser adotado esse tipo de memória. O cache é uma memória de alta velocidade que faz a interface entre o processador e a memória do sistema.


Figura 1 – Memória Cache interface entre a CPU e a RAM

Como funciona:
Ela é uma memória embutida no processador que serve para armazenar os dados que são frequentemente mais utilizados pelo processador. Ela evita na maioria das vezes que seja necessário recorrer à memória RAM, muito mais lenta se comparada a cache. Se não fosse ela, o desempenho do sistema ficaria limitado à velocidade da memória, causando uma perda grande de performance.
Sempre que o processador precisar ler dados os procurará primeiro no cache L1. Caso a informação seja encontrada, o chip não perderá tempo, já que o cache primário funciona na mesma frequência que ele.
Se o dado não estive no cache L1, então o próximo a ser visto será o cache L2. Mesmo encontrando o que procura no cache secundário, o processador levaria algum tempo, mas não tanto quanto perderia caso precisasse acessar diretamente a memória RAM.

Tipos de cache
Até o momento da escrita desta matéria são conhecidos os seguintes tipos de cache:
·         Cache primário, ou cache L1 (level 1);
·         Cache secundário, ou cache L2 (level 2)
O cache secundário, ou cache L2 (level 2) é um pouco maior em termos de capacidade e passou a ser utilizado quando o cache L1 se mostrou insuficiente.

Nota: Alguns anos atrás, um tipo distinguia do outro pelo fato de a memória cache L1 estar localizada junto ao núcleo do processador, enquanto que a cache L2 ficava localizada na placa-mãe.
Atualmente, ambos os tipos ficam localizados dentro do chip do processador, sendo que, em muitos casos, a cache L1 é dividida por alguns fabricantes em duas partes: "L1 para dados" e "L1 para instruções". Existem processadores que trazem até um cache L3 (level 3).


Wellington Pereira
Consultor de Tecnologia e Analista de Sistemas




sábado, 28 de maio de 2016

APACHE - MUDAR PORTA 80

Este artigo vai demostrar de forma breve e direta como você pode mudar a porta padrão do Apache para iniciar o serviço.

Se você está usando XAMMP é bem fácil, basta seguir os passos da figura:




Esses passos abre o arquivo:
      Config/Apache(httpd.conf

E editar o arquivo httpd.conf, alterando a linha:

      Listen 80 para 8080

      Salva o arquivo e reinicie o Apache.


Você também pode ir no diretório:

C:\xampp\apache\conf

E editar o arquivo httpd.conf, alterando a linha:

      Listen 80 para 8080

Salva o arquivo e reinicie o Apache.

quarta-feira, 18 de maio de 2016

COMANDOS BÁSICOS EM SQL - INSERT, UPDATE, DELETE, SELECT

A linguagem SQL foi criada com o objetivo de padronizar os comandos de manipulação de dados em SGBD’s. Hoje em dia, apesar de a linguagem possuir uma quantidade considerável de extensões e implementações proprietárias, pode-se afirmar que a meta foi alcançada. Conhecendo bem a linguagem é possível acessar os recursos básicos de qualquer banco relacional, como OracleSQL Server ou MySQL, sem praticamente nenhuma mudança.


Nesse artigo irei falar de forma breve sobre: INSERT, UPDATE, DELETE e SELECT.


INSERINDO DADOS
O comando para inclusão de dados é o INSERT, que possui a seguinte estrutura:





INSERT INTO nome_tabela (lista-de-campos)
VALUES (lista_dados)

Exemplo: 
INSERT INTO CLIENTE (NOME, BAIRRO) VALUES ('Wellington', 'Centro')

  •     Nome_tabela: nome da tabela no qual será inserido os dados.
  • ·   Lista-de-campos: nome das colunas que receberão os valores.
  • ·   Lista-dados: valores que serão inseridos na tabela. Estes campos devem estar na mesma ordem descrita em lista-de-campos, todos separados por vírgula.



ATUALIZANDO DADOS
O comando para atualizar registros é UPDATE, que tem a seguinte sintaxe:


UPDATE nome_tabela
SET CAMPO = "novo_valor"
WHERE CONDIÇÃO

  • Nome_tabela: nome da tabela que será modificada
  • Campo: campo que terá seu valor alterado
  • Novo_valor: valor que substituirá o antigo dado cadastrado em campo
  • Where: Se não for informado, a tabela intera será atualizada
  • Condição: regra que impõe condição para execução do comando


Exemplo:




UPDATE DEPARTAMENTO
SET SALARIO = 1000
WHERE CODIGODEP = 1

No trecho acima, todos os colaboradores que fazem parte do departamento 1 terá o salário alterado para 1000.




APAGANDO REGISTROS
O comando utilizado para apagar dados é o DELETE.


DELETE FROM nome_tabela
WHERE condição

  •     Nome_tabela: nome da tabela que será modificada
  •     Where: cláusula que impõe uma condição sobre a execução do comando

Exemplo:

DELETE FROM EMPREGADOS
WHERE CODIGO = 125



SELECIONANDO REGISTROS
O comando para selecionar registros é o SELECT. Ele permite recuperar dados de um objeto de banco de dados

SELECT campos_tabela 
FROM nome-tabela
WHERE condição


  • Campo_tabela: campos da tabela que deseja consultar
  • Nome_tabela: nome da tabela que será consultada
  • Where: poderá informar ou não uma condição da pesquisa
  • Condição: regra que impõe condição para execução do comando

Exemplo:
SELECT CODIGO, NOME FROM CLIENTESSELECT * FROM CLIENTES




Até a próxima.

Dúvidas, mande seu email para:  aspnetwf@gmail.com