Exemplo para pegar valor do teclado no PHP

É possível buscar um valor do teclado pelo PHP executado como cliente com o exemplo abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
echo "Tem certeza que quer fazer isso? Digite 'sim' para continuar: ";
$handle = fopen ("php://stdin","r");
$line = fgets($handle);
if(trim($line) != 'sim'){
    echo "SAINDO!\n";
    exit;
}
fclose($handle);
echo "\n"; 
echo "Ok, feito!\n"
?>

Baseado no exemplo do link: http://stackoverflow.com/questions/15322371/php-wait-for-input-from-command-line

Publicado em php | Com a tag | Deixar um comentário

Atribuindo máscara de afinidade do processador

Nas versões mais recentes do IIS é possível atribuir processadores específicos para uma pool de aplicativo, alterando o valor do atributo Processor Affinity Mask. Para definir quais processadores a pool de aplicativo irá utilizar, podemos seguir a tabela abaixo:

tabelaCpu

Se quiser utilizar as CPUs 0 e 2, então some os valores do último campo, informe o valor 5, se quiser utilizar as CPUs 1, 2 e 3, informe o valor 14.

Mais detalhes explicando no link abaixo:

http://serverfault.com/questions/471105/formula-for-processor-affinity-mask-iis

Publicado em iis, Windows | Com a tag | Deixar um comentário

WSUS não lista computadores na interface gráfica

Pesquisei e tentei fazer várias coisas que encontrei, mas o que resolveu mesmo, no meu caso, que uso máquinas virtuais clonadas foi o seguinte:

Remover o valor SusClientId na chave de registro

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\

Reiniciar o serviço do Windows Update no computador cliente.

E executar os comandos abaixo para o servidor WSUS buscar os dados do cliente

wuauclt /resetauthorization /detectnow
wuauclt /reportnow

Como minhas máquinas eram clonadas, todas tinham o mesmo ID em SusClientId, então só uma máquina era listada, fazendo isso um novo ID é atribuído em SusClientId, daí ele é listado no WSUS.

Essa sequência por linha de comando fica:

reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientId /f
net stop wuauserv
net start wuauserv
wuauclt /resetauthorization /detectnow
wuauclt /reportnow

A luz veio no final do seguinte post http://www.petenetlive.com/KB/Article/0000591

 

Publicado em Windows | Com a tag , | Deixar um comentário

Substituir ponto para vírgula somente entre números

Tinha uma cabela com valores que eram o seguinte

teste.testando.net 732.790714 1015.813971 4040.766429 7655.756678
teste.testando.net 828.688462 1000.075683 4086.318462 6973.874025

Na minha tabela haviam trocentos valores, inviável alterar cada ponto entre os números na mão. No notepad++ dei o replace com preg match de

buscar por
(\d+)\.(\d+)

alterar por
$1,$2

Assim ele alterada os pontos por vírgulas somente entre os números.

Fonte: https://forums.adobe.com/thread/901976?start=0&tstart=0

 

Publicado em Uncategorized | Com a tag , | Deixar um comentário

Removendo linhas duplicadas no sql server

Tive um problema que foi assim:
tabela dados

ID DATAINICIO
A001 2011-01-01
A001 2011-01-01
A002 2011-01-01
A002 2011-01-01
A002 2011-01-01
A003 2011-01-01

Tinha várias tabelas com várias linhas duplicadas, como eram muitas, era inviável remover uma a uma na mão. Utilizei o script abaixo para remover os campos duplicados.

WITH cte AS (
  SELECT [%CAMPO1%], [%CAMPO2%], 
     row_number() OVER(PARTITION BY %CAMPO1%, %CAMPO2% ORDER BY %CAMPO1%) AS [rn]
  FROM [%TABELA%]
)
DELETE cte WHERE [rn] &gt; 1

 

No caso em questão, fica

WITH cte AS (
  SELECT [ID], [DATAINICIO], 
     row_number() OVER(PARTITION BY ID, DATAINICIO ORDER BY ID) AS [rn]
  FROM [dados]
)
DELETE cte WHERE [rn] &gt; 1

 

Não precisa informar todos os campos da tabela, no exemplo foi colocado dois somente para ter certeza que mais de um campo tem o mesmo valor, é para ter certeza que a linha toda está realmente duplicada, é possível colocar mais campos também.

Links que me ajudaram:
http://stackoverflow.com/questions/18390574/how-to-delete-duplicate-rows-in-sql-server
http://www.codeproject.com/Articles/157977/Remove-Duplicate-Rows-from-a-Table-in-SQL-Server

Publicado em SQL, SQL server, Windows | Com a tag , | Deixar um comentário

Limpar banco tempdb do sql server

O banco tempdb estava consumindo um espaço absurdo do sql server. Pesquisando achei a seguinte solução.

-- write everything from your buffers to the disc!
CHECKPOINT; 
GO
-- Clean all buffers and caches
DBCC DROPCLEANBUFFERS; 
DBCC FREEPROCCACHE;
DBCC FREESYSTEMCACHE('ALL');
DBCC FREESESSIONCACHE;
GO
-- Clean tempdb
USE [tempdb]
GO
DBCC SHRINKFILE (N'tempdev' , 0, TRUNCATEONLY)
GO
Publicado em SQL, SQL server | Com a tag , , | Deixar um comentário

Transmitir vídeos do PC para o ChromeCast pelo Google Chrome

A extensão que faz o meio campo é o cast player, instala ele no chrome, marca a opção “Allow access to file URLs”

Reinicia o Chrome, clica no ícone no lado superior direito para habilitar o plug in, arrasta o vídeo para a tela e manda pro chromecast transmitir, até a legenda carrega 😀

Links para download da extensão:

http://castplayer.me/
https://chrome.google.com/webstore/detail/cast-player/dionggdmdobjjolppiiejleechniphok

Publicado em vídeos | Com a tag , , , , | Deixar um comentário

Can’t connect to MySQL server on ‘localhost’ (10048).

No windows esse erro acontece porque já existem muitas conexões abertas, então o range default de portas que ele usa, que é entre 1024 a 5000, já estão sendo utilizadas, então o erro acontece.

Para solucionar, é possível aumentar esse range, para que haja mais conexões, para isso adicione uma chave do registro em

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\

com o nome de MaxUserPort com valor 65534 e tipo DWORD, assim o novo limite para utilização das portas serão de 1024 a 65534 portas, se alterar o limite para 10000, será de 1024 a 10000.

OBS: é necessário reiniciar o servidor para que a configuração tenha efeito.
OBS 2: testei a configuração em um servidor Windows 2003 e funcionou.

Baseado nos links abaixo:
https://support.microsoft.com/en-us/kb/956188
https://support.microsoft.com/en-us/kb/196271
http://serverfault.com/questions/98505/cant-connect-to-mysql-server-on-localhost-10048

Publicado em iis, Windows | Com a tag , , | Deixar um comentário

Problema no upload de imagem no ASP

Especificamente utilizando o componente Scripting.Dictionary, com o método Item desse componente ocorre o erro

Microsoft VBScript runtime error ‘800a01a8’
Object required: ‘UploadRequest.Item(…)’

Pesquisando, vi que o problema ocorre depois da instalação do seguinte KB: KB3104002

A Microsoft já disponibilizou correção para ele. O link explicando o problema é https://support.microsoft.com/en-us/kb/3104002

Para download é https://support.microsoft.com/en-us/kb/3125446

Consegui me nortear através do link http://www.scriptbrasil.com.br/forum/topic/181611-erro-de-tempo-de-execu%C3%A7%C3%A3o-do-microsoft-vbscript-erro-800a01a8/

Publicado em asp, iis, Windows | Com a tag , , | Deixar um comentário

Importar certificado (.cer) por linha de comando no Windows

O comando é o seguinte

certutil -addstore -enterprise -f "CA" "C:\certificado.cer"

-addstore para adicionar um certificado
-enterprise para adicionar o certificado a nível de computador, e não somente ao usuário
-f para forçar substituição
“CA” para onde será importado o certificado, no caso é para Autirudades de certificação intermediárias. Poderia ser “My”, para importar em Pessoal
“C:\certificado.crt” é o caminho da onde está localizado o certificado.

Publicado em Windows | Com a tag , | 5 comentários