Criar usuário no SQLEXPRESS

No prompt de comando digite:

SQLCMD -S.\SQLEXPRESS -E

sp_addLogin ‘username’, ‘pass’
GO
sp_addsrvrolemember ‘username’, ’sysadmin’
GO

Read Users' Comments (0)

Escrevendo uma expressão regular

O que é expressão regular?
Uma expressão regular é um padrão que pode combinar vários strings de texto, usado para validações.

Onde e quando usar a expressão regular?
Pode ser usado em linguagens de programação que suporta ou tem a classe de expressões regulares ou que aceite de terceiros que suporta bibliotecas de expressões regulares.

As expressões regulares podem ser usadas para diferentes tipos de dados, sem aumentar o código com as condições do caso. Sendo que uma série de condições, pode ser omitido, com uma única linha de verificação de expressão regular.

Benefícios de expressão regular:

Apenas alguns benefícios do uso de expressões regulares.
a) O código pode ser reduzido.
b) A velocidade de codificação.
c) Fácil manutenção (não é necessário alterar os critérios de validação se as alterações, basta verificar a seqüência de expressão regular).
d) Fácil de entender (você não precisa entender a lógica do programador se em grandes declarações e demonstrações de casos).

Elementos de expressão regular:


Aqui estão os elementos básicos de caracteres de expressão regular / literais, que pode ser usado para construir grandes expressões regulares:


^ ----> Inicio da sequência.
$ ----> Fim da sequência.
. ----> Qualquer caractere (exceto \n "nova linha")
{...} ----> Notação explícita de quantidade.
[...] ----> Conjunto de caracteres explícita com combinação.
(...) ----> Agrupamento lógico de uma parte de uma expressão.
* ----> 0 ou mais da expressão anterior.
+ ----> 1 ou mais da expressão anterior.
? ? ----> 0 ou 1 da expressão anterior, correspondência mínima quando uma expressão pode combinar várias strings dentro de uma seqüência de pesquisa.
\ ----> Colocando antes de algumas strings citadas acima, torna-se um literal em vez de um carácter especial. Precedendo uma combinação de caracteres especiais, veja abaixo.
\w ----> corresponde a qualquer carácter de palavra, equivalente a [a-zA-Z0-9]
\W ----> corresponde a qualquer caractere que não seja palavra, equivalente a [^ a-zA-Z0-9].
\s ----> corresponde a qualquer caractere espaço em branco, equivalente a [\f\n\r\v]
\S----> encontrados quaisquer caracteres não-espaço em branco, o que equivale a [^ \f\n\r\v]
\d ----> corresponde a qualquer dígitos decimais, equivalente a [0-9]
\D----> encontrados quaisquer caracteres não dígitos, equivalente a [^ 0-9]
\a ----> um Corresponde a um sino (alarme) \ u0007.
\b ----> Corresponde a um backspace \ u0008
\t ----> Corresponde a uma tabulação \u0009.
\r ----> Corresponde a um retorno \ u000D.
\v ----> Corresponde a uma tabulação vertical \ u000B.
\f ----> Corresponde a uma alimentação de formulário \ u000C.
\n ----> Resultados de uma nova linha \ u000A.
\e ----> Resultados e um escape \ u001B

$number ----> substitui a última subseqüência pareados por número de grupo (número decimal).
${name} ----> substitui a última subseqüência acompanhado por um (? ) group. ) Do grupo.
$$ ----> Substitui um único "$" literal.
$& ----> Substitui uma cópia.
$` ----> Substitui todo o texto da seqüência de entrada antes do processo.
$' ----> Substitui todo o texto da seqüência de entrada após o processo.
$+ ----> Substitui último grupo capturado.
$_ ----> Substitui da cadeia de entrada.
(?(expression)yes|no) ----> Condição de verdadeiro ou falso.


Exemplo simples:

Vamos começar com pequeno exemplo, valores inteiros, tendo:

Quando falamos de números, ele tem sempre tem uma série fixa, ou seja, 0 a 9 e, vamos utilizar esta regra para escrever essa expressão regular em etapas.

a) uma expressão regular começa com "^"
b) Como estamos usando o conjunto de caracteres para ser validado, nós podemos usar [].
c) Assim, a expressão é "^ [1234567890]
d) Como a série é continua, podemos colocar "-" o que nos dá para reduzir o comprimento da expressão. Ele se torna "^ [0-9]".
e) Isto irá funcionar apenas para um dígito e para torná-lo com n dígitos, podemos usar "*", a expressão agora se torna "^ [0-9] *"
f) Para finalizar a expressão deve colocar "$", assim a expressão final se torna "^ [0-9] * $"

Nota: As aspas não fazem parte da expressão, eu usei-o apenas para diferenciar entre as frases.

Uma maneira mais genérica para escrever:

Esta é uma da maneira que você pode escrever em função das necessidades e das competências pessoais, ela poderia ser comprimida, por exemplo, a expressão acima poderia ser reduzida.

a) Uma expressão regular começa com "^"
b) Como estamos verificando os números, há um carácter especial para verificar dígitos "\ d"
c) e para colocarmos vários dígitos, utilizamos "*"
d) Como expressão termina com "$", a expressão final será regular "^\d*$"

Dígitos pode ser validado com diferentes formas de expressões regulares:

1) ^[1234567890]*$ 1) ^ [1234567890] * $
2) ^[0-9]*$ 2) ^ [0-9] * $
3) ^\d*$ 3) ^ \ d * $

Qual escolher?
Cada uma das expressões acima irá funcionar da mesma forma, escolha a melhor para você, é sempre recomendável ter um menor e auto expressiva e compreensível.

Exemplo de excluir opções:
Há muitas situações que nos exige a excluir apenas determinada parcela ou determinados caracteres,
Ex.:
a) Pegar todas os alfanuméricos e símbolos especiais, exceto "&"

b) Pegar todos os dígitos, exceto "7"
Então não podemos preparar uma grande lista que inclui todos e excluir os caracteres/símbolos que precisam ser validados.
Ex.: "^ w \ [^&]*$" é a solução a tomar todas as alfa numérico e símbolos especiais, exceto" & ".

Outros exemplos:
a) O "1" não pode ser o primeiro dígito. "^[^1]\d*$" Isso vai excluir 1 como primeiro dígito.

b) Não pode conter "1". "^\d[^1]*$ " Isso vai excluir a 1, em qualquer lugar na seqüência.

Nota: Aqui ^ operador é usado não só para iniciar a seqüência, mas também usado para negar os valores.

A verificação on-line:
Use o link abaixo para teste on-line sua expressão

http://www.regexplib.com/RETester.aspx http://www.regexplib.com/RETester.aspx

MAIS INFORMAÇÕES:
Você pode encontrar mais informações sobre o assunto nos links abaixo:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconcharacterescapes.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconcharacterescapes.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconcharacterclasses.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconcharacterclasses.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpcongroupingconstructs.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpcongroupingconstructs.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconcharacterclasses.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconcharacterclasses.asp

Read Users' Comments (0)

Criando Sessão no C#

Session em C#
Abaixo, dicas de como trabalhar com Sessions em C#

Criando uma Session:

Session["nomeSession"] = "valorSession";



Lendo uma Session:

String strValorSession = Session["nomeSession"];



Imprimindo o Timeout da Session:

Response.Write(Session.Timeout.ToString());



Definindo o Timeout:

Session.Timeout = 5;



Removendo:

Session.Remove("nomeSession");

Read Users' Comments (0)

Montando servidor Subversion no Windows - Parte I


Meta


Criar um servidor de controle de versões para uso local e na internet.


O que vamos precisar



  1. Apache HTTP Server (download) *

  2. Subversion (download)

  3. TortoiseSVN (download)

  4. No-IP (download)


* Eu fiz a instalação com o 2.0, pois o 2.2 tive alguns problemas e ao perdi muito tempo com ele.

Instalação



  • Apache


A instalação do apache é bastante simples(next, next, finish). Onde pedir domínios e nome do servidor informe localhost. De preferência para instalá-lo como serviço para garantir que o subversion funcione mesmo sem usuário logado.

  • Subversion


Aqui há um detalhe muito importante! No final do assistente de instalação do subversion, onde ele pede para criar os atalhos a última opção é para ativar os módulos do svn no apache. Isso facilita bastante as coisas porque alguns módulos possuem dependência e configurar isso na mão pode não ser agradável. As outras instalações vamos deixar para mais tarde.



Configuração




Crie um diretório qualquer onde achar melhor para ser o local do seu repositório.
Ex.: "C:\Svn\NomeDoSeuProjeto" .
Vamos agora n
o prompt de comando do windows ("Iniciar > Executar > cmd") e vamos digitar:

svnadmin create C:\Svn\NomeDoSeuProjeto




Crie o documento de configuração "subversion.conf" na raiz do seu repositório.


Ex.: C:\Svn\subversion.conf



Abra o arquivo "subversion.conf" e adicione as seguintes linhas:



<location NomeDoSeuProjeto>


DAV svn


SVNPath
C:/Svn/
NomeDoSeuProjeto


AuthType Basic


AuthName "
NomeDoSeuProjeto"


AuthUserFile C:/Svn/svn-auth-file


Require valid-user


AuthzSVNAccesFile C:/Svn/svn-acl

</location>


Localize o arquivo de configurações do apache e insire a linha abaixo no final do arquivo Apache2\conf\httpd.conf:

Include "C:/Svn/subversion.conf"



Via prompt de comando vai até a pasta Apache2\bin e verifique se tem o arquivo htpasswd.exe . Utilizaremos o comando htpasswd para criar usuários e atribuir suas senhas.



Ex.: htpasswd -cm C:\Svn\svn-auth-file eltonjose
New password: *****
Re-type new password: *****
Adding password for user eltonjose

Para adicionar outros usuários o procedimento é o mesmo. A única mudança está no parâmetro -c que impõe a criação / substituição do arquivo svn-auth-file. Ou seja, após a primeira execução o comando passa a ser:


htpasswd -m C:\Svn\svn-auth-file jose


Crie um arquivo com o nome de svn-acl na raiz do seu repositório, C:\Svn, e adicione as seguintes linhas:


[NomeDoSeuProjeto:/]
eltonjose = rw
jose = r


Traduzindo estas três linhas: no repositório NomeDoSeuProjeto eltonjose lê e escreve, enquanto que jose apenas lê o repositório.

Fim da primeira parte, na segunda parte irei colocar como instalar o NO-IP e o TortoiseSVN.

Read Users' Comments (0)

Sejam bem vindos

Este está sendo o meu primeiro post no meu blog.
Neste blog quero colocar o pouco do conhecimento que detenho.
Serão postados informações sobre linguagem de programação, novidades na informática, problemas que consegui solucionar e os que eu não consegui também.

Além de colocar minha opnião sobre futebol e formula 1, que são meus esportes preferidos.

“Feliz aquele que transfere o que sabe e aprende o que ensina !”
(Cora Coralina)

Esta é uma das frases que tenho quardada para minha vida.

Read Users' Comments (0)