Mostrando postagens com marcador informação. Mostrar todas as postagens
Mostrando postagens com marcador informação. Mostrar todas as postagens

quinta-feira, 17 de abril de 2014

quarta-feira, 16 de outubro de 2013

O primeiro Bug

É comum usarmos no nosso dia-a-dia as seguintes expressões: "meu computador tá com bug"; "esse site é cheio de bugs"; "só pode ser bug no programa"... Usamos tanto a palavra bug que parece ser normal, mas não é, primeiro por ser uma palavra da língua inglesa, e outra por não ter sentido nenhum com o significado que queremos dar quando falamos de bugs. Usamos a palavra bug para denominar um erro, uma falha, no computador, em algum site ou software, certo?


Pois então, traduzindo a palavra bug do inglês para o português, vemos que o sentido é totalmente outro, significa inseto.

Mas então por que usamos a palavra bug para denominar algum erro?

É aí que começa a postagem, vou explicar para você qual foi a origem deste termo e você irá se surpreender em saber quando esse termo foi usado pela primeira vez.

Algumas pessoas dizem que o termo foi usado pela primeira vez por Thomas Edison em 1878, quando um inseto causou um erro em uma de suas invenções chamada fonógrafo.

Mas foi Grace Hopper que usou o termo bug pela primeira vez semelhante à forma que usamos hoje, em computadores. Tudo foi em 1945, quando um dos primeiros e gigantes computadores Mark II teve um mau funcionamento, e após muitas pesquisas foi detectado que um inseto havia pousado em alguns contatos do computador, causando o mau funcionamento. Abaixo você verá uma foto que mostra a utilização do termo quando deu o erro no Mark II, a utilização da palavra, e o inseto colado na folha:

o erro no Mark II
Depois desse acontecimento, começaram a usar com mais frequência o termo, inclusive no primeiro computador digital completamente eletrônico, o ENIAC, que por ser movido a válvulas, atraía muitos insetos, causando vários maus funcionamentos, denominados bugs também.

E esse termo é utilizado até hoje por nós, depois de tanto avanço na nossa tecnologia continuamos usando este termo 'primitivo' tecnologicamente falando para denominar os erros que acontecem nos nossos softwares e computadores.

Você já sabia a origem da palavra bug, ou não sabia e gostou de saber? Comente aqui e deixe sua opinião!

Fonte: Internessante / 
http://skybott.blogspot.com.br/2012/04/como-surgiu-expressao-bug.html (Texto original)

quarta-feira, 7 de agosto de 2013

Complexidade ciclomática

Complexidade ciclomática (ou complexidade condicional) é uma métrica de software usada para indicar a complexidade de um programa de computador. Desenvolvida por Thomas J. McCabe em 1976, ela mede a quantidade de caminhos de execução independentes a partir de um código fonte.
Essa complexidade é computada através do grafo de fluxo de controle do programa: os nós do grafo correspondem a grupos indivisíveis de comandos, e uma aresta direcionada conecta dois nós se o segundo comando pode ser executado imediatamente após o primeiro. A complexidade ciclomática também pode ser aplicada a funções, módulos, métodos ou classes individuais dum programa.
Uma estratégia de teste de software formulada por McCabe é testar cada caminho independente dum programa, de forma que a quantidade de casos de teste será a complexidade ciclomática do programa.


A complexidade ciclomática de uma seção do código fonte é a quantidade de caminhos independentes pelo código. Por exemplo, se o código fonte não contém estruturas de controle senão sequenciais a complexidade é 1, já que há somente um caminho válido através do código. Se o código possui somente uma estrutura de seleção contendo somente uma condição, então há dois caminhos possíveis, aquele quando a condição é avaliada em verdadeiro, e aquele quando a condição é avaliada em falso.
Matematicamente, a complexidade ciclomática de um programa estruturado é definida com referência ao grafo direcionado que contém os blocos básicos do programa, com uma aresta entre dois blocos se o controle pode passar do primeiro para o segundo imediatamente, sem blocos intermediários. A complexidade então é definida como:
M = E - N + 2 \times P
Em que:
  • M – complexidade ciclomática
  • E – quantidade de setas
  • N – quantidade de nós
  • P – quantidade de componentes conectados

Uma formulação alternativa é usar um grafo em que o ponto de saída é conectado ao ponto de entrada. Nesse caso, o grafo é dito fortemente conectado, e a complexidade ciclomática do programa é equivalente ao número ciclomático do grafo, definido como:
M = E - N + P
Isso pode ser visto como o cálculo da quantidade de ciclos independentes que existem no grafo, isto é, os ciclos que não contém outros ciclos embarcados. Notar que, tendo em vista que o ponto de saída é conectado ao ponto de entrada, há pelo menos um ciclo para cada ponto de saída.
Para um programa único, ou subrotina ou método, P é sempre igual a 1. Entretanto, a complexidade ciclomática pode ser aplicada a diversos programas ou subprogramas simultaneamente, de forma que P será a quantidade de programas em questão. Pode-se demonstrar que a complexidade ciclomática de qualquer programa estruturado com somente um ponto de entrada e um ponto de saída é igual a quantidade de pontos de decisão – como condicionais de estruturas de seleção ou uma iteração dos laços das estruturas de repetição – mais um.
A complexidade ciclomática também pode ser estendida para programas com múltiplas saídas, definida como:
\pi - s + 2
Em que:
  • \pi – quantidade de pontos de decisão do programa
  • s – quantidade de pontos de saída

segunda-feira, 29 de julho de 2013

Por que as letras do teclados não estão em ordem alfabética?


teclado


Q
WERTY
 é o layout de teclados atualmente mais utilizado em computadores e máquinas de escrever. O nome vem das primeiras 6 letras “QWERTY”.
A disposição das teclas foi patenteada por Christopher Sholes em 1868 e vendido à Remington em 1873, quando foi visto pela primeira vez em máquinas de escrever. Nota: Qwerty Uiop, seqüência de letras da primeira fileira, às vezes é confundido com o inventor, mas isso não passa de um mito.
datilografia
Nesse layout, os pares de letras utilizados com maior frequência na língua inglesa foram separados em metades opostas do teclado, numa tentativa de evitar o travamento do mecanismo das rudimentares máquinas do século XIX. Ao alternar o uso das teclas, o arranjo evitava o travamento de teclas nas antigas máquinas de escrever: enquanto uma mão acerta uma tecla, a outra localiza a tecla seguinte.
Outros padrões foram propostos, como o Dvorak (imagem a baixo), mas nunca atingiram a mesma popularidade do QWERTY.
800px-KB_United_States_Dvorak.svg
layout QWERTY é adotado com alterações em algumas línguas formando os teclados AZERTY e o QWERTZ, em que as letras Y e estão trocadas. Símbolos, diacríticos e caracteres acentuados estão em posições diferentes nas variações internacionais do QWERTY.
Curiosamente, a palavra “typewriter” (máquina de escrever, em inglês) pode ser escrita utilizando-se apenas as letras contidas na linha superior do teclado (QWERTYUIOP).

sexta-feira, 28 de junho de 2013

A Vodka - Buche de Belvedere Vodka

Em homenagem aos famosos prata bétulas emblemáticos da marca, Belvedere foi escolhido para "calafetar" em um deles e se transformar em balde de gelo para uma degustação perfeita.

Sob a casca de metal cromado esconde um coração de concurso vidoeiro, casa de uma garrafa de Belvedere Pure 70 cl.

Apresentado em uma base de acrílico transparente e elegante, a parte central do tronco nos bastidores e mostra a garrafa na seção oca.

Esta garrafa removido deixa espaço para um recipiente de gelo. O log é delgado, levando a folha de azevinho inseparável, enquanto a versão metálica.

Buche de Belvedere Vodka é limitada a apenas 25 peças, disponível exclusivamente na Colette por 250 €.



Fonte: http://www.legitlifestyle.com/repostitory/buche-de-belvedere-vodka-for-christmas-2011/
Tradução: Google Translate
Preço: Conversão 250 Euros para Real

quarta-feira, 15 de maio de 2013

terça-feira, 13 de novembro de 2012

Recuperar o ip externo



fonte http://meuip.datahouse.com.br/internas/ip.php

Para recuperar via terminal

$curl -s http://meuip.datahouse.com.br/internas/ip.php | egrep '<span class="titulo-ip">.*<\/span>' -o

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1671    0  1671    0     0   4981      0 --:--:-- --:--:-- --:--:--  6258
<span class="titulo-ip"> 189.19.180.248</span>


OU

$curl ifconfig.me





fonte : http://ip-api.com/json

segunda-feira, 5 de novembro de 2012

Teste de event Key Code Javascript






JavaScript Event KeyCode Test Page

JavaScript Event KeyCode Test Page

Input:
onKeyDown onKeyPress onKeyUp
event.keyCode
event.charCode
event.which

Notable Gotchas

  • Firefox and onKeyDown vs. onKeyPressed
  • Firefox and keyCode vs. charCode
  • Enter key and onKeyPress on Firefox vs. IE

fonte: http://www.asquare.net/javascript/tests/KeyCode.html


quarta-feira, 24 de outubro de 2012

sexta-feira, 5 de outubro de 2012

Enviar e-mail por linha de comando linux


$sendmail -t -F "Hello Word" seu@email.com < texto.txt

MAIL

First run a quick test to make sure the “sendmail” application is installed and working correctly. Execute the following command, replacing “you@youremailid.com” with your e-mail address.
mail -s “Hello world” you@youremailid.com
Hit the return key and you will come to a new line. Enter the text “This is a test from my server”. Follow up the text by hitting the return key again. Then hit the key combination of Control+Dto continue. The command prompt will ask you if you want to mark a copy of the mail to any other address, hit Control+D again. Check your mailbox. This command will send out a mail to the email id mentioned with the subject, “Hello world”.
To add content to the body of the mail while running the command you can use the following options. If you want to add text on your own:
echo “This will go into the body of the mail.” | mail -s “Hello world” you@youremailid.com
And if you want mail to read the content from a file:
mail -s “Hello world” you@youremailid.com < /home/calvin/application.log
Some other useful options in the mail command are:
-s subject (The subject of the mail)
-c email-address (Mark a copy to this “email-address”, or CC)
-b email-address (Mark a blind carbon copy to this “email-address”, or BCC)
Here’s how you might use these options:
echo “Welcome to the world of Calvin n Hobbes” | mail -s “Hello world” calvin@cnh.com -c hobbes@cnh.com -b susie.derkins@cnh.com

MUTT

One of major drawbacks of using the mail command is that it does not support the sending of attachments. mutt, on the other hand, does support it. I’ve found this feature particularly useful for scripts that generate non-textual reports or backups which are relatively small in size which I’d like to backup elsewhere. Of course, mutt allows you to do a lot more than just send attachments. It is a much more complete command line mail client than the “mail” command. Right now we’ll just explore the basic stuff we might need often. Here’s how you would attach a file to a mail:
echo “Sending an attachment.” | mutt -a backup.zip -s “attachment” calvin@cnh.com
This command will send a mail to calvin@cnh.com with the subject (-s) “attachment”, the body text “Sending an attachment.”, containing the attachment (-a) backup.zip. Like with the mail command you can use the “-c” option to mark a copy to another mail id.

SENDING MAIL FROM A SHELL SCRIPT

Now, with the basics covered you can send mails from your shell scripts. Here’s a simple shell script that gives you a reading of the usage of space on your partitions and mails the data to you.
#!/bin/bash
df -h | mail -s “disk space report” calvin@cnh.com
Save these lines in a file on your Linux server and run it. You should receive a mail containing the results of the command. If, however, you need to send more data than just this you will need to write the data to a text file and enter it into the mail body while composing the mail. Here’s and example of a shell script that gets the disk usage as well as the memory usage, writes the data into a temporary file, and then enters it all into the body of the mail being sent out:
#!/bin/bash
df -h > /tmp/mail_report.log
free -m >> /tmp/mail_report.log
mail -s “disk and RAM report” calvin@cnh.com < /tmp/mail_report.log
Now here’s a more complicated problem. You have to take a backup of a few files and mail then out. First the directory to be mailed out is archived. Then it is sent as an email attachment using mutt. Here’s a script to do just that:
#!/bin/bash
tar -zcf /tmp/backup.tar.gz /home/calvin/files
echo | mutt -a /tmp/backup.tar.gz -s “daily backup of data” calvin@cnh.com
The echo at the start of the last line adds a blank into the body of the mail being set out.
This should get you started with sending mails form the Linux command line and from shell scripts. Read up the “man page” for both mail and mutt for more options.

quarta-feira, 3 de outubro de 2012

Recuperar o conteúdo do uma tag HTML com regex

Site Teste
http://regexpal.com/
http://www.regexplanet.com/advanced/java/index.html

Regex
<tag.*<\/tag>
ou
<tag>(?:[^\n]*(\n+|.*))+</tag>
ou
<\s*tag[^>]*>(.*?)<\s*/\s*tag>
ou
(?<=<\s*tag[^>]*>)(.*?)(?=<\s*/\s*tag\s*>)
ou
(?<=<root.*>\n*)(.*?)(?=\n*</root>)
ou
(?<=<tag.*>\n*)(.*?)(?=\n*</tag>)

String de teste

<root>
<tag id=rodrigo para seual >valor</tag>
</root>

<root>
<tag id="meu id">valor</tag>
</root>

<root><tag id="meu id">valor</tag></root>


(?<=% of )(.*)(?= at )



https://www.regexpal.com/96872
https://www.regexpal.com/27540


regex no java


String html="<root><tag>Medicamento</tag></root>"
String conteudo = null;
Pattern pattern = Pattern.compile("<tag.*<\\/tag>");
Matcher matcher = pattern.matcher(html);
if (matcher.find()) {
    conteudo = matcher.group(0).replace("<tag>", "").replace("</tag>", "").toUpperCase();
}